From da4e47b8b67f5e653dec7341f5529debe8034290 Mon Sep 17 00:00:00 2001 From: Ross Date: Sun, 5 Dec 2021 20:12:16 +0000 Subject: [PATCH] update cornerstone --- dicomViewer.js | 8 +- index.html | 2 +- lib/cornerstone/cornerstone.min.js | 6 +- lib/cornerstone/cornerstoneMath.min.js | 6 +- lib/cornerstone/cornerstoneWADOImageLoader.js | 8080 +---------------- .../cornerstoneWADOImageLoader.min.js | 3 + lib/cornerstone/dicomParser.min.js | 20 +- 7 files changed, 17 insertions(+), 8108 deletions(-) create mode 100644 lib/cornerstone/cornerstoneWADOImageLoader.min.js diff --git a/dicomViewer.js b/dicomViewer.js index 15323c4..c618955 100644 --- a/dicomViewer.js +++ b/dicomViewer.js @@ -886,8 +886,7 @@ function loadCornerstoneMainImage(element, image, stack, db, load_as_stack) { }, }); - //cornerstoneTools.setToolEnabledForElement(element, "ArrowAnnotate"); - //cornerstoneTools.setToolEnabledForElement(element, ArrowAnnotateTool); + cornerstoneTools.setToolEnabledForElement(element, "ArrowAnnotate"); let available_tools = [ @@ -1180,17 +1179,12 @@ export function getNextAnnotationImage(element) { const image_ids = enabled_element.toolStateManager.toolState.stack.data[0].imageIds; const current_image = enabled_element.toolStateManager.toolState.stack.data[0].currentImageIdIndex; const annotated_images = Object.getOwnPropertyNames(cornerstoneTools.globalImageIdSpecificToolStateManager.toolState); - console.log("getNextAnnotationImage", image_ids, current_image, annotated_images); if (annotated_images.length > 0) { let offset = current_image; for( let i=0; i < image_ids.length; i++) { - console.log("i", i) let pointer = (i + offset) % image_ids.length; - console.log("pointer", pointer, image_ids[pointer]); - console.log(annotated_images); if (annotated_images.includes(image_ids[pointer])) { - console.log("load") loadStackIndex(pointer, element); } diff --git a/index.html b/index.html index 5aa44b0..c7d318f 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@ - + diff --git a/lib/cornerstone/cornerstone.min.js b/lib/cornerstone/cornerstone.min.js index 03e88da..620847e 100644 --- a/lib/cornerstone/cornerstone.min.js +++ b/lib/cornerstone/cornerstone.min.js @@ -1,3 +1,3 @@ -/*! cornerstone-core - 2.3.0 - 2019-07-03 | (c) 2016 Chris Hafey | https://github.com/cornerstonejs/cornerstone */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("cornerstone-core",[],t):"object"==typeof exports?exports["cornerstone-core"]=t():e.cornerstone=t()}(window,function(){return function(r){var a={};function n(e){if(a[e])return a[e].exports;var t=a[e]={i:e,l:!1,exports:{}};return r[e].call(t.exports,t,t.exports,n),t.l=!0,t.exports}return n.m=r,n.c=a,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)n.d(r,a,function(e){return t[e]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,r){"use strict";function n(e,t){for(var r=0;rthis.TableRange[1])return this.AboveRangeColor;return this.Table[t]}},{key:"getIndex",value:function(e){var t={Range:[]};if(t.MaxIndex=this.NumberOfColors-1,t.Shift=-this.TableRange[0],this.TableRange[1]<=this.TableRange[0]?t.Scale=Number.MAX_VALUE:t.Scale=t.MaxIndex/(this.TableRange[1]-this.TableRange[0]),t.Range[0]=this.TableRange[0],t.Range[1]=this.TableRange[1],isNaN(e))return-1;var r,a,n,i=(n=(r=e)<(a=t).Range[0]?a.MaxIndex+0+1.5:r>a.Range[1]?a.MaxIndex+1+1.5:(r+a.Shift)*a.Scale,Math.floor(n));return i===this.NumberOfColors+0?i=0:i===this.NumberOfColors+1&&(i=this.NumberOfColors-1),i}},{key:"setTableValue",value:function(e,t){if(5===arguments.length&&(t=Array.prototype.slice.call(arguments,1)),e<0)throw new Error("Can't set the table value for negative index (".concat(e,")"));e>=this.NumberOfColors&&new Error("Index ".concat(e," is greater than the number of colors ").concat(this.NumberOfColors)),this.Table[e]=t,0!==e&&e!==this.NumberOfColors-1||this.buildSpecialColors()}}])&&_(t.prototype,r),a&&_(t,a),e}(),O=[0,0,0,0],U={hotIron:{name:"Hot Iron",numOfColors:256,colors:[[0,0,0,255],[2,0,0,255],[4,0,0,255],[6,0,0,255],[8,0,0,255],[10,0,0,255],[12,0,0,255],[14,0,0,255],[16,0,0,255],[18,0,0,255],[20,0,0,255],[22,0,0,255],[24,0,0,255],[26,0,0,255],[28,0,0,255],[30,0,0,255],[32,0,0,255],[34,0,0,255],[36,0,0,255],[38,0,0,255],[40,0,0,255],[42,0,0,255],[44,0,0,255],[46,0,0,255],[48,0,0,255],[50,0,0,255],[52,0,0,255],[54,0,0,255],[56,0,0,255],[58,0,0,255],[60,0,0,255],[62,0,0,255],[64,0,0,255],[66,0,0,255],[68,0,0,255],[70,0,0,255],[72,0,0,255],[74,0,0,255],[76,0,0,255],[78,0,0,255],[80,0,0,255],[82,0,0,255],[84,0,0,255],[86,0,0,255],[88,0,0,255],[90,0,0,255],[92,0,0,255],[94,0,0,255],[96,0,0,255],[98,0,0,255],[100,0,0,255],[102,0,0,255],[104,0,0,255],[106,0,0,255],[108,0,0,255],[110,0,0,255],[112,0,0,255],[114,0,0,255],[116,0,0,255],[118,0,0,255],[120,0,0,255],[122,0,0,255],[124,0,0,255],[126,0,0,255],[128,0,0,255],[130,0,0,255],[132,0,0,255],[134,0,0,255],[136,0,0,255],[138,0,0,255],[140,0,0,255],[142,0,0,255],[144,0,0,255],[146,0,0,255],[148,0,0,255],[150,0,0,255],[152,0,0,255],[154,0,0,255],[156,0,0,255],[158,0,0,255],[160,0,0,255],[162,0,0,255],[164,0,0,255],[166,0,0,255],[168,0,0,255],[170,0,0,255],[172,0,0,255],[174,0,0,255],[176,0,0,255],[178,0,0,255],[180,0,0,255],[182,0,0,255],[184,0,0,255],[186,0,0,255],[188,0,0,255],[190,0,0,255],[192,0,0,255],[194,0,0,255],[196,0,0,255],[198,0,0,255],[200,0,0,255],[202,0,0,255],[204,0,0,255],[206,0,0,255],[208,0,0,255],[210,0,0,255],[212,0,0,255],[214,0,0,255],[216,0,0,255],[218,0,0,255],[220,0,0,255],[222,0,0,255],[224,0,0,255],[226,0,0,255],[228,0,0,255],[230,0,0,255],[232,0,0,255],[234,0,0,255],[236,0,0,255],[238,0,0,255],[240,0,0,255],[242,0,0,255],[244,0,0,255],[246,0,0,255],[248,0,0,255],[250,0,0,255],[252,0,0,255],[254,0,0,255],[255,0,0,255],[255,2,0,255],[255,4,0,255],[255,6,0,255],[255,8,0,255],[255,10,0,255],[255,12,0,255],[255,14,0,255],[255,16,0,255],[255,18,0,255],[255,20,0,255],[255,22,0,255],[255,24,0,255],[255,26,0,255],[255,28,0,255],[255,30,0,255],[255,32,0,255],[255,34,0,255],[255,36,0,255],[255,38,0,255],[255,40,0,255],[255,42,0,255],[255,44,0,255],[255,46,0,255],[255,48,0,255],[255,50,0,255],[255,52,0,255],[255,54,0,255],[255,56,0,255],[255,58,0,255],[255,60,0,255],[255,62,0,255],[255,64,0,255],[255,66,0,255],[255,68,0,255],[255,70,0,255],[255,72,0,255],[255,74,0,255],[255,76,0,255],[255,78,0,255],[255,80,0,255],[255,82,0,255],[255,84,0,255],[255,86,0,255],[255,88,0,255],[255,90,0,255],[255,92,0,255],[255,94,0,255],[255,96,0,255],[255,98,0,255],[255,100,0,255],[255,102,0,255],[255,104,0,255],[255,106,0,255],[255,108,0,255],[255,110,0,255],[255,112,0,255],[255,114,0,255],[255,116,0,255],[255,118,0,255],[255,120,0,255],[255,122,0,255],[255,124,0,255],[255,126,0,255],[255,128,4,255],[255,130,8,255],[255,132,12,255],[255,134,16,255],[255,136,20,255],[255,138,24,255],[255,140,28,255],[255,142,32,255],[255,144,36,255],[255,146,40,255],[255,148,44,255],[255,150,48,255],[255,152,52,255],[255,154,56,255],[255,156,60,255],[255,158,64,255],[255,160,68,255],[255,162,72,255],[255,164,76,255],[255,166,80,255],[255,168,84,255],[255,170,88,255],[255,172,92,255],[255,174,96,255],[255,176,100,255],[255,178,104,255],[255,180,108,255],[255,182,112,255],[255,184,116,255],[255,186,120,255],[255,188,124,255],[255,190,128,255],[255,192,132,255],[255,194,136,255],[255,196,140,255],[255,198,144,255],[255,200,148,255],[255,202,152,255],[255,204,156,255],[255,206,160,255],[255,208,164,255],[255,210,168,255],[255,212,172,255],[255,214,176,255],[255,216,180,255],[255,218,184,255],[255,220,188,255],[255,222,192,255],[255,224,196,255],[255,226,200,255],[255,228,204,255],[255,230,208,255],[255,232,212,255],[255,234,216,255],[255,236,220,255],[255,238,224,255],[255,240,228,255],[255,242,232,255],[255,244,236,255],[255,246,240,255],[255,248,244,255],[255,250,248,255],[255,252,252,255],[255,255,255,255]]},pet:{name:"PET",numColors:256,colors:[[0,0,0,255],[0,2,1,255],[0,4,3,255],[0,6,5,255],[0,8,7,255],[0,10,9,255],[0,12,11,255],[0,14,13,255],[0,16,15,255],[0,18,17,255],[0,20,19,255],[0,22,21,255],[0,24,23,255],[0,26,25,255],[0,28,27,255],[0,30,29,255],[0,32,31,255],[0,34,33,255],[0,36,35,255],[0,38,37,255],[0,40,39,255],[0,42,41,255],[0,44,43,255],[0,46,45,255],[0,48,47,255],[0,50,49,255],[0,52,51,255],[0,54,53,255],[0,56,55,255],[0,58,57,255],[0,60,59,255],[0,62,61,255],[0,65,63,255],[0,67,65,255],[0,69,67,255],[0,71,69,255],[0,73,71,255],[0,75,73,255],[0,77,75,255],[0,79,77,255],[0,81,79,255],[0,83,81,255],[0,85,83,255],[0,87,85,255],[0,89,87,255],[0,91,89,255],[0,93,91,255],[0,95,93,255],[0,97,95,255],[0,99,97,255],[0,101,99,255],[0,103,101,255],[0,105,103,255],[0,107,105,255],[0,109,107,255],[0,111,109,255],[0,113,111,255],[0,115,113,255],[0,117,115,255],[0,119,117,255],[0,121,119,255],[0,123,121,255],[0,125,123,255],[0,128,125,255],[1,126,127,255],[3,124,129,255],[5,122,131,255],[7,120,133,255],[9,118,135,255],[11,116,137,255],[13,114,139,255],[15,112,141,255],[17,110,143,255],[19,108,145,255],[21,106,147,255],[23,104,149,255],[25,102,151,255],[27,100,153,255],[29,98,155,255],[31,96,157,255],[33,94,159,255],[35,92,161,255],[37,90,163,255],[39,88,165,255],[41,86,167,255],[43,84,169,255],[45,82,171,255],[47,80,173,255],[49,78,175,255],[51,76,177,255],[53,74,179,255],[55,72,181,255],[57,70,183,255],[59,68,185,255],[61,66,187,255],[63,64,189,255],[65,63,191,255],[67,61,193,255],[69,59,195,255],[71,57,197,255],[73,55,199,255],[75,53,201,255],[77,51,203,255],[79,49,205,255],[81,47,207,255],[83,45,209,255],[85,43,211,255],[86,41,213,255],[88,39,215,255],[90,37,217,255],[92,35,219,255],[94,33,221,255],[96,31,223,255],[98,29,225,255],[100,27,227,255],[102,25,229,255],[104,23,231,255],[106,21,233,255],[108,19,235,255],[110,17,237,255],[112,15,239,255],[114,13,241,255],[116,11,243,255],[118,9,245,255],[120,7,247,255],[122,5,249,255],[124,3,251,255],[126,1,253,255],[128,0,255,255],[130,2,252,255],[132,4,248,255],[134,6,244,255],[136,8,240,255],[138,10,236,255],[140,12,232,255],[142,14,228,255],[144,16,224,255],[146,18,220,255],[148,20,216,255],[150,22,212,255],[152,24,208,255],[154,26,204,255],[156,28,200,255],[158,30,196,255],[160,32,192,255],[162,34,188,255],[164,36,184,255],[166,38,180,255],[168,40,176,255],[170,42,172,255],[171,44,168,255],[173,46,164,255],[175,48,160,255],[177,50,156,255],[179,52,152,255],[181,54,148,255],[183,56,144,255],[185,58,140,255],[187,60,136,255],[189,62,132,255],[191,64,128,255],[193,66,124,255],[195,68,120,255],[197,70,116,255],[199,72,112,255],[201,74,108,255],[203,76,104,255],[205,78,100,255],[207,80,96,255],[209,82,92,255],[211,84,88,255],[213,86,84,255],[215,88,80,255],[217,90,76,255],[219,92,72,255],[221,94,68,255],[223,96,64,255],[225,98,60,255],[227,100,56,255],[229,102,52,255],[231,104,48,255],[233,106,44,255],[235,108,40,255],[237,110,36,255],[239,112,32,255],[241,114,28,255],[243,116,24,255],[245,118,20,255],[247,120,16,255],[249,122,12,255],[251,124,8,255],[253,126,4,255],[255,128,0,255],[255,130,4,255],[255,132,8,255],[255,134,12,255],[255,136,16,255],[255,138,20,255],[255,140,24,255],[255,142,28,255],[255,144,32,255],[255,146,36,255],[255,148,40,255],[255,150,44,255],[255,152,48,255],[255,154,52,255],[255,156,56,255],[255,158,60,255],[255,160,64,255],[255,162,68,255],[255,164,72,255],[255,166,76,255],[255,168,80,255],[255,170,85,255],[255,172,89,255],[255,174,93,255],[255,176,97,255],[255,178,101,255],[255,180,105,255],[255,182,109,255],[255,184,113,255],[255,186,117,255],[255,188,121,255],[255,190,125,255],[255,192,129,255],[255,194,133,255],[255,196,137,255],[255,198,141,255],[255,200,145,255],[255,202,149,255],[255,204,153,255],[255,206,157,255],[255,208,161,255],[255,210,165,255],[255,212,170,255],[255,214,174,255],[255,216,178,255],[255,218,182,255],[255,220,186,255],[255,222,190,255],[255,224,194,255],[255,226,198,255],[255,228,202,255],[255,230,206,255],[255,232,210,255],[255,234,214,255],[255,236,218,255],[255,238,222,255],[255,240,226,255],[255,242,230,255],[255,244,234,255],[255,246,238,255],[255,248,242,255],[255,250,246,255],[255,252,250,255],[255,255,255,255]]},hotMetalBlue:{name:"Hot Metal Blue",numColors:256,colors:[[0,0,0,255],[0,0,2,255],[0,0,4,255],[0,0,6,255],[0,0,8,255],[0,0,10,255],[0,0,12,255],[0,0,14,255],[0,0,16,255],[0,0,17,255],[0,0,19,255],[0,0,21,255],[0,0,23,255],[0,0,25,255],[0,0,27,255],[0,0,29,255],[0,0,31,255],[0,0,33,255],[0,0,35,255],[0,0,37,255],[0,0,39,255],[0,0,41,255],[0,0,43,255],[0,0,45,255],[0,0,47,255],[0,0,49,255],[0,0,51,255],[0,0,53,255],[0,0,55,255],[0,0,57,255],[0,0,59,255],[0,0,61,255],[0,0,63,255],[0,0,65,255],[0,0,67,255],[0,0,69,255],[0,0,71,255],[0,0,73,255],[0,0,75,255],[0,0,77,255],[0,0,79,255],[0,0,81,255],[0,0,83,255],[0,0,84,255],[0,0,86,255],[0,0,88,255],[0,0,90,255],[0,0,92,255],[0,0,94,255],[0,0,96,255],[0,0,98,255],[0,0,100,255],[0,0,102,255],[0,0,104,255],[0,0,106,255],[0,0,108,255],[0,0,110,255],[0,0,112,255],[0,0,114,255],[0,0,116,255],[0,0,117,255],[0,0,119,255],[0,0,121,255],[0,0,123,255],[0,0,125,255],[0,0,127,255],[0,0,129,255],[0,0,131,255],[0,0,133,255],[0,0,135,255],[0,0,137,255],[0,0,139,255],[0,0,141,255],[0,0,143,255],[0,0,145,255],[0,0,147,255],[0,0,149,255],[0,0,151,255],[0,0,153,255],[0,0,155,255],[0,0,157,255],[0,0,159,255],[0,0,161,255],[0,0,163,255],[0,0,165,255],[0,0,167,255],[3,0,169,255],[6,0,171,255],[9,0,173,255],[12,0,175,255],[15,0,177,255],[18,0,179,255],[21,0,181,255],[24,0,183,255],[26,0,184,255],[29,0,186,255],[32,0,188,255],[35,0,190,255],[38,0,192,255],[41,0,194,255],[44,0,196,255],[47,0,198,255],[50,0,200,255],[52,0,197,255],[55,0,194,255],[57,0,191,255],[59,0,188,255],[62,0,185,255],[64,0,182,255],[66,0,179,255],[69,0,176,255],[71,0,174,255],[74,0,171,255],[76,0,168,255],[78,0,165,255],[81,0,162,255],[83,0,159,255],[85,0,156,255],[88,0,153,255],[90,0,150,255],[93,2,144,255],[96,4,138,255],[99,6,132,255],[102,8,126,255],[105,9,121,255],[108,11,115,255],[111,13,109,255],[114,15,103,255],[116,17,97,255],[119,19,91,255],[122,21,85,255],[125,23,79,255],[128,24,74,255],[131,26,68,255],[134,28,62,255],[137,30,56,255],[140,32,50,255],[143,34,47,255],[146,36,44,255],[149,38,41,255],[152,40,38,255],[155,41,35,255],[158,43,32,255],[161,45,29,255],[164,47,26,255],[166,49,24,255],[169,51,21,255],[172,53,18,255],[175,55,15,255],[178,56,12,255],[181,58,9,255],[184,60,6,255],[187,62,3,255],[190,64,0,255],[194,66,0,255],[198,68,0,255],[201,70,0,255],[205,72,0,255],[209,73,0,255],[213,75,0,255],[217,77,0,255],[221,79,0,255],[224,81,0,255],[228,83,0,255],[232,85,0,255],[236,87,0,255],[240,88,0,255],[244,90,0,255],[247,92,0,255],[251,94,0,255],[255,96,0,255],[255,98,3,255],[255,100,6,255],[255,102,9,255],[255,104,12,255],[255,105,15,255],[255,107,18,255],[255,109,21,255],[255,111,24,255],[255,113,26,255],[255,115,29,255],[255,117,32,255],[255,119,35,255],[255,120,38,255],[255,122,41,255],[255,124,44,255],[255,126,47,255],[255,128,50,255],[255,130,53,255],[255,132,56,255],[255,134,59,255],[255,136,62,255],[255,137,65,255],[255,139,68,255],[255,141,71,255],[255,143,74,255],[255,145,76,255],[255,147,79,255],[255,149,82,255],[255,151,85,255],[255,152,88,255],[255,154,91,255],[255,156,94,255],[255,158,97,255],[255,160,100,255],[255,162,103,255],[255,164,106,255],[255,166,109,255],[255,168,112,255],[255,169,115,255],[255,171,118,255],[255,173,121,255],[255,175,124,255],[255,177,126,255],[255,179,129,255],[255,181,132,255],[255,183,135,255],[255,184,138,255],[255,186,141,255],[255,188,144,255],[255,190,147,255],[255,192,150,255],[255,194,153,255],[255,196,156,255],[255,198,159,255],[255,200,162,255],[255,201,165,255],[255,203,168,255],[255,205,171,255],[255,207,174,255],[255,209,176,255],[255,211,179,255],[255,213,182,255],[255,215,185,255],[255,216,188,255],[255,218,191,255],[255,220,194,255],[255,222,197,255],[255,224,200,255],[255,226,203,255],[255,228,206,255],[255,229,210,255],[255,231,213,255],[255,233,216,255],[255,235,219,255],[255,237,223,255],[255,239,226,255],[255,240,229,255],[255,242,232,255],[255,244,236,255],[255,246,239,255],[255,248,242,255],[255,250,245,255],[255,251,249,255],[255,253,252,255],[255,255,255,255]]},pet20Step:{name:"PET 20 Step",numColors:256,colors:[[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255]]},gray:{name:"Gray",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[1,1,1]],green:[[0,0,0],[1,1,1]],blue:[[0,0,0],[1,1,1]]}},jet:{name:"Jet",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[.35,0,0],[.66,1,1],[.89,1,1],[1,.5,.5]],green:[[0,0,0],[.125,0,0],[.375,1,1],[.64,1,1],[.91,0,0],[1,0,0]],blue:[[0,.5,.5],[.11,1,1],[.34,1,1],[.65,0,0],[1,0,0]]}},hsv:{name:"HSV",numColors:256,gamma:1,segmentedData:{red:[[0,1,1],[.15873,1,1],[.174603,.96875,.96875],[.333333,.03125,.03125],[.349206,0,0],[.666667,0,0],[.68254,.03125,.03125],[.84127,.96875,.96875],[.857143,1,1],[1,1,1]],green:[[0,0,0],[.15873,.9375,.9375],[.174603,1,1],[.507937,1,1],[.666667,.0625,.0625],[.68254,0,0],[1,0,0]],blue:[[0,0,0],[.333333,0,0],[.349206,.0625,.0625],[.507937,1,1],[.84127,1,1],[.857143,.9375,.9375],[1,.09375,.09375]]}},hot:{name:"Hot",numColors:256,gamma:1,segmentedData:{red:[[0,.0416,.0416],[.365079,1,1],[1,1,1]],green:[[0,0,0],[.365079,0,0],[.746032,1,1],[1,1,1]],blue:[[0,0,0],[.746032,0,0],[1,1,1]]}},cool:{name:"Cool",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[1,1,1]],green:[[0,1,1],[1,0,0]],blue:[[0,1,1],[1,1,1]]}},spring:{name:"Spring",numColors:256,gamma:1,segmentedData:{red:[[0,1,1],[1,1,1]],green:[[0,0,0],[1,1,1]],blue:[[0,1,1],[1,0,0]]}},summer:{name:"Summer",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[1,1,1]],green:[[0,.5,.5],[1,1,1]],blue:[[0,.4,.4],[1,.4,.4]]}},autumn:{name:"Autumn",numColors:256,gamma:1,segmentedData:{red:[[0,1,1],[1,1,1]],green:[[0,0,0],[1,1,1]],blue:[[0,0,0],[1,0,0]]}},winter:{name:"Winter",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[1,0,0]],green:[[0,0,0],[1,1,1]],blue:[[0,1,1],[1,.5,.5]]}},bone:{name:"Bone",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[.746032,.652778,.652778],[1,1,1]],green:[[0,0,0],[.365079,.319444,.319444],[.746032,.777778,.777778],[1,1,1]],blue:[[0,0,0],[.365079,.444444,.444444],[1,1,1]]}},copper:{name:"Copper",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[.809524,1,1],[1,1,1]],green:[[0,0,0],[1,.7812,.7812]],blue:[[0,0,0],[1,.4975,.4975]]}},spectral:{name:"Spectral",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[.05,.4667,.4667],[.1,.5333,.5333],[.15,0,0],[.2,0,0],[.25,0,0],[.3,0,0],[.35,0,0],[.4,0,0],[.45,0,0],[.5,0,0],[.55,0,0],[.6,0,0],[.65,.7333,.7333],[.7,.9333,.9333],[.75,1,1],[.8,1,1],[.85,1,1],[.9,.8667,.8667],[.95,.8,.8],[1,.8,.8]],green:[[0,0,0],[.05,0,0],[.1,0,0],[.15,0,0],[.2,0,0],[.25,.4667,.4667],[.3,.6,.6],[.35,.6667,.6667],[.4,.6667,.6667],[.45,.6,.6],[.5,.7333,.7333],[.55,.8667,.8667],[.6,1,1],[.65,1,1],[.7,.9333,.9333],[.75,.8,.8],[.8,.6,.6],[.85,0,0],[.9,0,0],[.95,0,0],[1,.8,.8]],blue:[[0,0,0],[.05,.5333,.5333],[.1,.6,.6],[.15,.6667,.6667],[.2,.8667,.8667],[.25,.8667,.8667],[.3,.8667,.8667],[.35,.6667,.6667],[.4,.5333,.5333],[.45,0,0],[.5,0,0],[.55,0,0],[.6,0,0],[.65,0,0],[.7,0,0],[.75,0,0],[.8,0,0],[.85,0,0],[.9,0,0],[.95,0,0],[1,.8,.8]]}},coolwarm:{name:"CoolWarm",numColors:256,gamma:1,segmentedData:{red:[[0,.2298057,.2298057],[.03125,.26623388,.26623388],[.0625,.30386891,.30386891],[.09375,.342804478,.342804478],[.125,.38301334,.38301334],[.15625,.424369608,.424369608],[.1875,.46666708,.46666708],[.21875,.509635204,.509635204],[.25,.552953156,.552953156],[.28125,.596262162,.596262162],[.3125,.639176211,.639176211],[.34375,.681291281,.681291281],[.375,.722193294,.722193294],[.40625,.761464949,.761464949],[.4375,.798691636,.798691636],[.46875,.833466556,.833466556],[.5,.865395197,.865395197],[.53125,.897787179,.897787179],[.5625,.924127593,.924127593],[.59375,.944468518,.944468518],[.625,.958852946,.958852946],[.65625,.96732803,.96732803],[.6875,.969954137,.969954137],[.71875,.966811177,.966811177],[.75,.958003065,.958003065],[.78125,.943660866,.943660866],[.8125,.923944917,.923944917],[.84375,.89904617,.89904617],[.875,.869186849,.869186849],[.90625,.834620542,.834620542],[.9375,.795631745,.795631745],[.96875,.752534934,.752534934],[1,.705673158,.705673158]],green:[[0,.298717966,.298717966],[.03125,.353094838,.353094838],[.0625,.406535296,.406535296],[.09375,.458757618,.458757618],[.125,.50941904,.50941904],[.15625,.558148092,.558148092],[.1875,.604562568,.604562568],[.21875,.648280772,.648280772],[.25,.688929332,.688929332],[.28125,.726149107,.726149107],[.3125,.759599947,.759599947],[.34375,.788964712,.788964712],[.375,.813952739,.813952739],[.40625,.834302879,.834302879],[.4375,.849786142,.849786142],[.46875,.860207984,.860207984],[.5,.86541021,.86541021],[.53125,.848937047,.848937047],[.5625,.827384882,.827384882],[.59375,.800927443,.800927443],[.625,.769767752,.769767752],[.65625,.734132809,.734132809],[.6875,.694266682,.694266682],[.71875,.650421156,.650421156],[.75,.602842431,.602842431],[.78125,.551750968,.551750968],[.8125,.49730856,.49730856],[.84375,.439559467,.439559467],[.875,.378313092,.378313092],[.90625,.312874446,.312874446],[.9375,.24128379,.24128379],[.96875,.157246067,.157246067],[1,.01555616,.01555616]],blue:[[0,.753683153,.753683153],[.03125,.801466763,.801466763],[.0625,.84495867,.84495867],[.09375,.883725899,.883725899],[.125,.917387822,.917387822],[.15625,.945619588,.945619588],[.1875,.968154911,.968154911],[.21875,.98478814,.98478814],[.25,.995375608,.995375608],[.28125,.999836203,.999836203],[.3125,.998151185,.998151185],[.34375,.990363227,.990363227],[.375,.976574709,.976574709],[.40625,.956945269,.956945269],[.4375,.931688648,.931688648],[.46875,.901068838,.901068838],[.5,.865395561,.865395561],[.53125,.820880546,.820880546],[.5625,.774508472,.774508472],[.59375,.726736146,.726736146],[.625,.678007945,.678007945],[.65625,.628751763,.628751763],[.6875,.579375448,.579375448],[.71875,.530263762,.530263762],[.75,.481775914,.481775914],[.78125,.434243684,.434243684],[.8125,.387970225,.387970225],[.84375,.343229596,.343229596],[.875,.300267182,.300267182],[.90625,.259301199,.259301199],[.9375,.220525627,.220525627],[.96875,.184115123,.184115123],[1,.150232812,.150232812]]}},blues:{name:"Blues",numColors:256,gamma:1,segmentedData:{red:[[0,.9686274528503418,.9686274528503418],[.125,.8705882430076599,.8705882430076599],[.25,.7764706015586853,.7764706015586853],[.375,.6196078658103943,.6196078658103943],[.5,.41960784792900085,.41960784792900085],[.625,.25882354378700256,.25882354378700256],[.75,.12941177189350128,.12941177189350128],[.875,.0313725508749485,.0313725508749485],[1,.0313725508749485,.0313725508749485]],green:[[0,.9843137264251709,.9843137264251709],[.125,.9215686321258545,.9215686321258545],[.25,.8588235378265381,.8588235378265381],[.375,.7921568751335144,.7921568751335144],[.5,.6823529601097107,.6823529601097107],[.625,.572549045085907,.572549045085907],[.75,.4431372582912445,.4431372582912445],[.875,.3176470696926117,.3176470696926117],[1,.1882352977991104,.1882352977991104]],blue:[[0,1,1],[.125,.9686274528503418,.9686274528503418],[.25,.9372549057006836,.9372549057006836],[.375,.8823529481887817,.8823529481887817],[.5,.8392156958580017,.8392156958580017],[.625,.7764706015586853,.7764706015586853],[.75,.7098039388656616,.7098039388656616],[.875,.6117647290229797,.6117647290229797],[1,.41960784792900085,.41960784792900085]]}}};function N(e,t){for(var r=0,a=e.length-1;r<=a;){var n=r+Math.floor((a-r)/2),i=e[n];if(i===t)return n;tt.timeStamp?-1:e.timeStamp>8,r[a++]=t[n]<0?0:1}return r}};Te.frag="precision mediump float;uniform sampler2D u_image;uniform float ww;uniform float wc;uniform float slope;uniform float intercept;uniform int invert;varying vec2 v_texCoord;void main() {vec4 color = texture2D(u_image, v_texCoord);float intensity = color.r*256.0 + color.g*65536.0;if (color.b == 0.0)intensity = -intensity;intensity = intensity * slope + intercept;float center0 = wc - 0.5;float width0 = max(ww, 1.0);intensity = (intensity - center0) / width0 + 0.5;intensity = clamp(intensity, 0.0, 1.0);gl_FragColor = vec4(intensity, intensity, intensity, 1.0);if (invert == 1)gl_FragColor.rgb = 1.0 - gl_FragColor.rgb;}";var Ae={};var De={storedPixelDataToImageData:function(e){for(var t=e.getPixelData(),r=new Uint8Array(e.width*e.height*2),a=0,n=0;n>8}return r}};Re.frag="precision mediump float;uniform sampler2D u_image;uniform float ww;uniform float wc;uniform float slope;uniform float intercept;uniform int invert;varying vec2 v_texCoord;void main() {vec4 color = texture2D(u_image, v_texCoord);float intensity = color.r*256.0 + color.a*65536.0;intensity = intensity * slope + intercept;float center0 = wc - 0.5;float width0 = max(ww, 1.0);intensity = (intensity - center0) / width0 + 0.5;intensity = clamp(intensity, 0.0, 1.0);gl_FragColor = vec4(intensity, intensity, intensity, 1.0);if (invert == 1)gl_FragColor.rgb = 1.0 - gl_FragColor.rgb;}";var Me={};var Ve={storedPixelDataToImageData:function(e){return e.getPixelData()}};Me.frag="precision mediump float;uniform sampler2D u_image;uniform float ww;uniform float wc;uniform float slope;uniform float intercept;uniform int invert;varying vec2 v_texCoord;void main() {vec4 color = texture2D(u_image, v_texCoord);float intensity = color.r*256.0;intensity = intensity * slope + intercept;float center0 = wc - 0.5;float width0 = max(ww, 1.0);intensity = (intensity - center0) / width0 + 0.5;intensity = clamp(intensity, 0.0, 1.0);gl_FragColor = vec4(intensity, intensity, intensity, 1.0);if (invert == 1)gl_FragColor.rgb = 1.0 - gl_FragColor.rgb;}";var Oe={int16:Te,int8:Ae,rgb:Pe,uint16:Re,uint8:Me},Ue={int16:Le,int8:De,rgb:Se,uint16:_e,uint8:Ve},Ne="attribute vec2 a_position;attribute vec2 a_texCoord;uniform vec2 u_resolution;varying vec2 v_texCoord;void main() {vec2 zeroToOne = a_position / u_resolution;vec2 zeroToTwo = zeroToOne * 2.0;vec2 clipSpace = zeroToTwo - 1.0;gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);v_texCoord = a_texCoord;}",Be={},Fe=[],Ge=268435456,ze=0;function ke(){if(!(ze<=Ge)){for(Fe.sort(function(e,t){return e.timeStamp>t.timeStamp?-1:e.timeStamp>n,o=a.lut[a.lut.length-1]>>n,l=a.firstValueMapped+a.lut.length-1,function(e){return e>n}):(s=e,d=t,function(e){return 255*((e-d)/s+.5)});var a,n,i,o,l,s,d},ut=function(e,t,r,a,n,i){var o=e.maxPixelValue,l=e.minPixelValue,s=Math.min(l,0);if(void 0===e.cachedLut){var d=o-s+1;e.cachedLut={},e.cachedLut.lutArray=new Uint8ClampedArray(d)}var u=e.cachedLut.lutArray,m=lt(e.slope,e.intercept,n),c=dt(t,r,i);if(!0===a)for(var v=l;v<=o;v++)u[v+-s]=255-c(m(v));else for(var g=l;g<=o;g++)u[g+-s]=c(m(g));return u},mt=function(e,t,r){return void 0!==e.cachedLut&&e.cachedLut.windowCenter===t.voi.windowCenter&&e.cachedLut.windowWidth===t.voi.windowWidth&&ot(e.cachedLut.modalityLUT,t.modalityLUT)&&ot(e.cachedLut.voiLUT,t.voiLUT)&&e.cachedLut.invert===t.invert&&!0!==r||(it(t,e),ut(e,t.voi.windowWidth,t.voi.windowCenter,t.invert,t.modalityLUT,t.voiLUT),e.cachedLut.windowWidth=t.voi.windowWidth,e.cachedLut.windowCenter=t.voi.windowCenter,e.cachedLut.invert=t.invert,e.cachedLut.voiLUT=t.voiLUT,e.cachedLut.modalityLUT=t.modalityLUT),e.cachedLut.lutArray},ct=function(e,t){var r=e.renderingTools.lastRenderedImageId,a=e.renderingTools.lastRenderedViewport;return t.imageId!==r||!a||a.windowCenter!==e.viewport.voi.windowCenter||a.windowWidth!==e.viewport.voi.windowWidth||a.invert!==e.viewport.invert||a.rotation!==e.viewport.rotation||a.hflip!==e.viewport.hflip||a.vflip!==e.viewport.vflip||a.modalityLUT!==e.viewport.modalityLUT||a.voiLUT!==e.viewport.voiLUT||a.colormap!==e.viewport.colormap},vt=function(e,t){var r=e.renderingTools.renderCanvas;r.width=t.width,r.height=t.height;var a=r.getContext("2d");a.fillStyle="white",a.fillRect(0,0,r.width,r.height);var n=a.getImageData(0,0,t.width,t.height);e.renderingTools.renderCanvasContext=a,e.renderingTools.renderCanvasData=n},gt=function(e){var t=e.image.imageId,r=e.viewport,a=e.image.color;return e.renderingTools.lastRenderedImageId=t,e.renderingTools.lastRenderedIsColor=a,e.renderingTools.lastRenderedViewport={windowCenter:r.voi.windowCenter,windowWidth:r.voi.windowWidth,invert:r.invert,rotation:r.rotation,hflip:r.hflip,vflip:r.vflip,modalityLUT:r.modalityLUT,voiLUT:r.voiLUT,colormap:r.colormap},e.renderingTools};function ft(e,t,r){var a=!(3this.TableRange[1])return this.AboveRangeColor;return this.Table[t]}},{key:"getIndex",value:function(e){var t={Range:[]};if(t.MaxIndex=this.NumberOfColors-1,t.Shift=-this.TableRange[0],this.TableRange[1]<=this.TableRange[0]?t.Scale=Number.MAX_VALUE:t.Scale=t.MaxIndex/(this.TableRange[1]-this.TableRange[0]),t.Range[0]=this.TableRange[0],t.Range[1]=this.TableRange[1],isNaN(e))return-1;var r,n,a,i=(a=(r=e)<(n=t).Range[0]?n.MaxIndex+0+1.5:r>n.Range[1]?n.MaxIndex+1+1.5:(r+n.Shift)*n.Scale,Math.floor(a));return i===this.NumberOfColors+0?i=0:i===this.NumberOfColors+1&&(i=this.NumberOfColors-1),i}},{key:"setTableValue",value:function(e,t){if(5===arguments.length&&(t=Array.prototype.slice.call(arguments,1)),e<0)throw new Error("Can't set the table value for negative index (".concat(e,")"));e>=this.NumberOfColors&&new Error("Index ".concat(e," is greater than the number of colors ").concat(this.NumberOfColors)),this.Table[e]=t,0!==e&&e!==this.NumberOfColors-1||this.buildSpecialColors()}}])&&M(t.prototype,r),n&&M(t,n),e}(),U=[0,0,0,0],N={hotIron:{name:"Hot Iron",numOfColors:256,colors:[[0,0,0,255],[2,0,0,255],[4,0,0,255],[6,0,0,255],[8,0,0,255],[10,0,0,255],[12,0,0,255],[14,0,0,255],[16,0,0,255],[18,0,0,255],[20,0,0,255],[22,0,0,255],[24,0,0,255],[26,0,0,255],[28,0,0,255],[30,0,0,255],[32,0,0,255],[34,0,0,255],[36,0,0,255],[38,0,0,255],[40,0,0,255],[42,0,0,255],[44,0,0,255],[46,0,0,255],[48,0,0,255],[50,0,0,255],[52,0,0,255],[54,0,0,255],[56,0,0,255],[58,0,0,255],[60,0,0,255],[62,0,0,255],[64,0,0,255],[66,0,0,255],[68,0,0,255],[70,0,0,255],[72,0,0,255],[74,0,0,255],[76,0,0,255],[78,0,0,255],[80,0,0,255],[82,0,0,255],[84,0,0,255],[86,0,0,255],[88,0,0,255],[90,0,0,255],[92,0,0,255],[94,0,0,255],[96,0,0,255],[98,0,0,255],[100,0,0,255],[102,0,0,255],[104,0,0,255],[106,0,0,255],[108,0,0,255],[110,0,0,255],[112,0,0,255],[114,0,0,255],[116,0,0,255],[118,0,0,255],[120,0,0,255],[122,0,0,255],[124,0,0,255],[126,0,0,255],[128,0,0,255],[130,0,0,255],[132,0,0,255],[134,0,0,255],[136,0,0,255],[138,0,0,255],[140,0,0,255],[142,0,0,255],[144,0,0,255],[146,0,0,255],[148,0,0,255],[150,0,0,255],[152,0,0,255],[154,0,0,255],[156,0,0,255],[158,0,0,255],[160,0,0,255],[162,0,0,255],[164,0,0,255],[166,0,0,255],[168,0,0,255],[170,0,0,255],[172,0,0,255],[174,0,0,255],[176,0,0,255],[178,0,0,255],[180,0,0,255],[182,0,0,255],[184,0,0,255],[186,0,0,255],[188,0,0,255],[190,0,0,255],[192,0,0,255],[194,0,0,255],[196,0,0,255],[198,0,0,255],[200,0,0,255],[202,0,0,255],[204,0,0,255],[206,0,0,255],[208,0,0,255],[210,0,0,255],[212,0,0,255],[214,0,0,255],[216,0,0,255],[218,0,0,255],[220,0,0,255],[222,0,0,255],[224,0,0,255],[226,0,0,255],[228,0,0,255],[230,0,0,255],[232,0,0,255],[234,0,0,255],[236,0,0,255],[238,0,0,255],[240,0,0,255],[242,0,0,255],[244,0,0,255],[246,0,0,255],[248,0,0,255],[250,0,0,255],[252,0,0,255],[254,0,0,255],[255,0,0,255],[255,2,0,255],[255,4,0,255],[255,6,0,255],[255,8,0,255],[255,10,0,255],[255,12,0,255],[255,14,0,255],[255,16,0,255],[255,18,0,255],[255,20,0,255],[255,22,0,255],[255,24,0,255],[255,26,0,255],[255,28,0,255],[255,30,0,255],[255,32,0,255],[255,34,0,255],[255,36,0,255],[255,38,0,255],[255,40,0,255],[255,42,0,255],[255,44,0,255],[255,46,0,255],[255,48,0,255],[255,50,0,255],[255,52,0,255],[255,54,0,255],[255,56,0,255],[255,58,0,255],[255,60,0,255],[255,62,0,255],[255,64,0,255],[255,66,0,255],[255,68,0,255],[255,70,0,255],[255,72,0,255],[255,74,0,255],[255,76,0,255],[255,78,0,255],[255,80,0,255],[255,82,0,255],[255,84,0,255],[255,86,0,255],[255,88,0,255],[255,90,0,255],[255,92,0,255],[255,94,0,255],[255,96,0,255],[255,98,0,255],[255,100,0,255],[255,102,0,255],[255,104,0,255],[255,106,0,255],[255,108,0,255],[255,110,0,255],[255,112,0,255],[255,114,0,255],[255,116,0,255],[255,118,0,255],[255,120,0,255],[255,122,0,255],[255,124,0,255],[255,126,0,255],[255,128,4,255],[255,130,8,255],[255,132,12,255],[255,134,16,255],[255,136,20,255],[255,138,24,255],[255,140,28,255],[255,142,32,255],[255,144,36,255],[255,146,40,255],[255,148,44,255],[255,150,48,255],[255,152,52,255],[255,154,56,255],[255,156,60,255],[255,158,64,255],[255,160,68,255],[255,162,72,255],[255,164,76,255],[255,166,80,255],[255,168,84,255],[255,170,88,255],[255,172,92,255],[255,174,96,255],[255,176,100,255],[255,178,104,255],[255,180,108,255],[255,182,112,255],[255,184,116,255],[255,186,120,255],[255,188,124,255],[255,190,128,255],[255,192,132,255],[255,194,136,255],[255,196,140,255],[255,198,144,255],[255,200,148,255],[255,202,152,255],[255,204,156,255],[255,206,160,255],[255,208,164,255],[255,210,168,255],[255,212,172,255],[255,214,176,255],[255,216,180,255],[255,218,184,255],[255,220,188,255],[255,222,192,255],[255,224,196,255],[255,226,200,255],[255,228,204,255],[255,230,208,255],[255,232,212,255],[255,234,216,255],[255,236,220,255],[255,238,224,255],[255,240,228,255],[255,242,232,255],[255,244,236,255],[255,246,240,255],[255,248,244,255],[255,250,248,255],[255,252,252,255],[255,255,255,255]]},pet:{name:"PET",numColors:256,colors:[[0,0,0,255],[0,2,1,255],[0,4,3,255],[0,6,5,255],[0,8,7,255],[0,10,9,255],[0,12,11,255],[0,14,13,255],[0,16,15,255],[0,18,17,255],[0,20,19,255],[0,22,21,255],[0,24,23,255],[0,26,25,255],[0,28,27,255],[0,30,29,255],[0,32,31,255],[0,34,33,255],[0,36,35,255],[0,38,37,255],[0,40,39,255],[0,42,41,255],[0,44,43,255],[0,46,45,255],[0,48,47,255],[0,50,49,255],[0,52,51,255],[0,54,53,255],[0,56,55,255],[0,58,57,255],[0,60,59,255],[0,62,61,255],[0,65,63,255],[0,67,65,255],[0,69,67,255],[0,71,69,255],[0,73,71,255],[0,75,73,255],[0,77,75,255],[0,79,77,255],[0,81,79,255],[0,83,81,255],[0,85,83,255],[0,87,85,255],[0,89,87,255],[0,91,89,255],[0,93,91,255],[0,95,93,255],[0,97,95,255],[0,99,97,255],[0,101,99,255],[0,103,101,255],[0,105,103,255],[0,107,105,255],[0,109,107,255],[0,111,109,255],[0,113,111,255],[0,115,113,255],[0,117,115,255],[0,119,117,255],[0,121,119,255],[0,123,121,255],[0,125,123,255],[0,128,125,255],[1,126,127,255],[3,124,129,255],[5,122,131,255],[7,120,133,255],[9,118,135,255],[11,116,137,255],[13,114,139,255],[15,112,141,255],[17,110,143,255],[19,108,145,255],[21,106,147,255],[23,104,149,255],[25,102,151,255],[27,100,153,255],[29,98,155,255],[31,96,157,255],[33,94,159,255],[35,92,161,255],[37,90,163,255],[39,88,165,255],[41,86,167,255],[43,84,169,255],[45,82,171,255],[47,80,173,255],[49,78,175,255],[51,76,177,255],[53,74,179,255],[55,72,181,255],[57,70,183,255],[59,68,185,255],[61,66,187,255],[63,64,189,255],[65,63,191,255],[67,61,193,255],[69,59,195,255],[71,57,197,255],[73,55,199,255],[75,53,201,255],[77,51,203,255],[79,49,205,255],[81,47,207,255],[83,45,209,255],[85,43,211,255],[86,41,213,255],[88,39,215,255],[90,37,217,255],[92,35,219,255],[94,33,221,255],[96,31,223,255],[98,29,225,255],[100,27,227,255],[102,25,229,255],[104,23,231,255],[106,21,233,255],[108,19,235,255],[110,17,237,255],[112,15,239,255],[114,13,241,255],[116,11,243,255],[118,9,245,255],[120,7,247,255],[122,5,249,255],[124,3,251,255],[126,1,253,255],[128,0,255,255],[130,2,252,255],[132,4,248,255],[134,6,244,255],[136,8,240,255],[138,10,236,255],[140,12,232,255],[142,14,228,255],[144,16,224,255],[146,18,220,255],[148,20,216,255],[150,22,212,255],[152,24,208,255],[154,26,204,255],[156,28,200,255],[158,30,196,255],[160,32,192,255],[162,34,188,255],[164,36,184,255],[166,38,180,255],[168,40,176,255],[170,42,172,255],[171,44,168,255],[173,46,164,255],[175,48,160,255],[177,50,156,255],[179,52,152,255],[181,54,148,255],[183,56,144,255],[185,58,140,255],[187,60,136,255],[189,62,132,255],[191,64,128,255],[193,66,124,255],[195,68,120,255],[197,70,116,255],[199,72,112,255],[201,74,108,255],[203,76,104,255],[205,78,100,255],[207,80,96,255],[209,82,92,255],[211,84,88,255],[213,86,84,255],[215,88,80,255],[217,90,76,255],[219,92,72,255],[221,94,68,255],[223,96,64,255],[225,98,60,255],[227,100,56,255],[229,102,52,255],[231,104,48,255],[233,106,44,255],[235,108,40,255],[237,110,36,255],[239,112,32,255],[241,114,28,255],[243,116,24,255],[245,118,20,255],[247,120,16,255],[249,122,12,255],[251,124,8,255],[253,126,4,255],[255,128,0,255],[255,130,4,255],[255,132,8,255],[255,134,12,255],[255,136,16,255],[255,138,20,255],[255,140,24,255],[255,142,28,255],[255,144,32,255],[255,146,36,255],[255,148,40,255],[255,150,44,255],[255,152,48,255],[255,154,52,255],[255,156,56,255],[255,158,60,255],[255,160,64,255],[255,162,68,255],[255,164,72,255],[255,166,76,255],[255,168,80,255],[255,170,85,255],[255,172,89,255],[255,174,93,255],[255,176,97,255],[255,178,101,255],[255,180,105,255],[255,182,109,255],[255,184,113,255],[255,186,117,255],[255,188,121,255],[255,190,125,255],[255,192,129,255],[255,194,133,255],[255,196,137,255],[255,198,141,255],[255,200,145,255],[255,202,149,255],[255,204,153,255],[255,206,157,255],[255,208,161,255],[255,210,165,255],[255,212,170,255],[255,214,174,255],[255,216,178,255],[255,218,182,255],[255,220,186,255],[255,222,190,255],[255,224,194,255],[255,226,198,255],[255,228,202,255],[255,230,206,255],[255,232,210,255],[255,234,214,255],[255,236,218,255],[255,238,222,255],[255,240,226,255],[255,242,230,255],[255,244,234,255],[255,246,238,255],[255,248,242,255],[255,250,246,255],[255,252,250,255],[255,255,255,255]]},hotMetalBlue:{name:"Hot Metal Blue",numColors:256,colors:[[0,0,0,255],[0,0,2,255],[0,0,4,255],[0,0,6,255],[0,0,8,255],[0,0,10,255],[0,0,12,255],[0,0,14,255],[0,0,16,255],[0,0,17,255],[0,0,19,255],[0,0,21,255],[0,0,23,255],[0,0,25,255],[0,0,27,255],[0,0,29,255],[0,0,31,255],[0,0,33,255],[0,0,35,255],[0,0,37,255],[0,0,39,255],[0,0,41,255],[0,0,43,255],[0,0,45,255],[0,0,47,255],[0,0,49,255],[0,0,51,255],[0,0,53,255],[0,0,55,255],[0,0,57,255],[0,0,59,255],[0,0,61,255],[0,0,63,255],[0,0,65,255],[0,0,67,255],[0,0,69,255],[0,0,71,255],[0,0,73,255],[0,0,75,255],[0,0,77,255],[0,0,79,255],[0,0,81,255],[0,0,83,255],[0,0,84,255],[0,0,86,255],[0,0,88,255],[0,0,90,255],[0,0,92,255],[0,0,94,255],[0,0,96,255],[0,0,98,255],[0,0,100,255],[0,0,102,255],[0,0,104,255],[0,0,106,255],[0,0,108,255],[0,0,110,255],[0,0,112,255],[0,0,114,255],[0,0,116,255],[0,0,117,255],[0,0,119,255],[0,0,121,255],[0,0,123,255],[0,0,125,255],[0,0,127,255],[0,0,129,255],[0,0,131,255],[0,0,133,255],[0,0,135,255],[0,0,137,255],[0,0,139,255],[0,0,141,255],[0,0,143,255],[0,0,145,255],[0,0,147,255],[0,0,149,255],[0,0,151,255],[0,0,153,255],[0,0,155,255],[0,0,157,255],[0,0,159,255],[0,0,161,255],[0,0,163,255],[0,0,165,255],[0,0,167,255],[3,0,169,255],[6,0,171,255],[9,0,173,255],[12,0,175,255],[15,0,177,255],[18,0,179,255],[21,0,181,255],[24,0,183,255],[26,0,184,255],[29,0,186,255],[32,0,188,255],[35,0,190,255],[38,0,192,255],[41,0,194,255],[44,0,196,255],[47,0,198,255],[50,0,200,255],[52,0,197,255],[55,0,194,255],[57,0,191,255],[59,0,188,255],[62,0,185,255],[64,0,182,255],[66,0,179,255],[69,0,176,255],[71,0,174,255],[74,0,171,255],[76,0,168,255],[78,0,165,255],[81,0,162,255],[83,0,159,255],[85,0,156,255],[88,0,153,255],[90,0,150,255],[93,2,144,255],[96,4,138,255],[99,6,132,255],[102,8,126,255],[105,9,121,255],[108,11,115,255],[111,13,109,255],[114,15,103,255],[116,17,97,255],[119,19,91,255],[122,21,85,255],[125,23,79,255],[128,24,74,255],[131,26,68,255],[134,28,62,255],[137,30,56,255],[140,32,50,255],[143,34,47,255],[146,36,44,255],[149,38,41,255],[152,40,38,255],[155,41,35,255],[158,43,32,255],[161,45,29,255],[164,47,26,255],[166,49,24,255],[169,51,21,255],[172,53,18,255],[175,55,15,255],[178,56,12,255],[181,58,9,255],[184,60,6,255],[187,62,3,255],[190,64,0,255],[194,66,0,255],[198,68,0,255],[201,70,0,255],[205,72,0,255],[209,73,0,255],[213,75,0,255],[217,77,0,255],[221,79,0,255],[224,81,0,255],[228,83,0,255],[232,85,0,255],[236,87,0,255],[240,88,0,255],[244,90,0,255],[247,92,0,255],[251,94,0,255],[255,96,0,255],[255,98,3,255],[255,100,6,255],[255,102,9,255],[255,104,12,255],[255,105,15,255],[255,107,18,255],[255,109,21,255],[255,111,24,255],[255,113,26,255],[255,115,29,255],[255,117,32,255],[255,119,35,255],[255,120,38,255],[255,122,41,255],[255,124,44,255],[255,126,47,255],[255,128,50,255],[255,130,53,255],[255,132,56,255],[255,134,59,255],[255,136,62,255],[255,137,65,255],[255,139,68,255],[255,141,71,255],[255,143,74,255],[255,145,76,255],[255,147,79,255],[255,149,82,255],[255,151,85,255],[255,152,88,255],[255,154,91,255],[255,156,94,255],[255,158,97,255],[255,160,100,255],[255,162,103,255],[255,164,106,255],[255,166,109,255],[255,168,112,255],[255,169,115,255],[255,171,118,255],[255,173,121,255],[255,175,124,255],[255,177,126,255],[255,179,129,255],[255,181,132,255],[255,183,135,255],[255,184,138,255],[255,186,141,255],[255,188,144,255],[255,190,147,255],[255,192,150,255],[255,194,153,255],[255,196,156,255],[255,198,159,255],[255,200,162,255],[255,201,165,255],[255,203,168,255],[255,205,171,255],[255,207,174,255],[255,209,176,255],[255,211,179,255],[255,213,182,255],[255,215,185,255],[255,216,188,255],[255,218,191,255],[255,220,194,255],[255,222,197,255],[255,224,200,255],[255,226,203,255],[255,228,206,255],[255,229,210,255],[255,231,213,255],[255,233,216,255],[255,235,219,255],[255,237,223,255],[255,239,226,255],[255,240,229,255],[255,242,232,255],[255,244,236,255],[255,246,239,255],[255,248,242,255],[255,250,245,255],[255,251,249,255],[255,253,252,255],[255,255,255,255]]},pet20Step:{name:"PET 20 Step",numColors:256,colors:[[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[0,0,0,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[96,0,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,80,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[48,48,112,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[80,80,128,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[96,96,176,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[112,112,192,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[128,128,224,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,96,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[48,144,48,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[80,192,80,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[64,224,64,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[224,224,80,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,208,96,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,176,64,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[208,144,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[192,96,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[176,48,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,0,0,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255]]},gray:{name:"Gray",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[1,1,1]],green:[[0,0,0],[1,1,1]],blue:[[0,0,0],[1,1,1]]}},jet:{name:"Jet",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[.35,0,0],[.66,1,1],[.89,1,1],[1,.5,.5]],green:[[0,0,0],[.125,0,0],[.375,1,1],[.64,1,1],[.91,0,0],[1,0,0]],blue:[[0,.5,.5],[.11,1,1],[.34,1,1],[.65,0,0],[1,0,0]]}},hsv:{name:"HSV",numColors:256,gamma:1,segmentedData:{red:[[0,1,1],[.15873,1,1],[.174603,.96875,.96875],[.333333,.03125,.03125],[.349206,0,0],[.666667,0,0],[.68254,.03125,.03125],[.84127,.96875,.96875],[.857143,1,1],[1,1,1]],green:[[0,0,0],[.15873,.9375,.9375],[.174603,1,1],[.507937,1,1],[.666667,.0625,.0625],[.68254,0,0],[1,0,0]],blue:[[0,0,0],[.333333,0,0],[.349206,.0625,.0625],[.507937,1,1],[.84127,1,1],[.857143,.9375,.9375],[1,.09375,.09375]]}},hot:{name:"Hot",numColors:256,gamma:1,segmentedData:{red:[[0,.0416,.0416],[.365079,1,1],[1,1,1]],green:[[0,0,0],[.365079,0,0],[.746032,1,1],[1,1,1]],blue:[[0,0,0],[.746032,0,0],[1,1,1]]}},cool:{name:"Cool",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[1,1,1]],green:[[0,1,1],[1,0,0]],blue:[[0,1,1],[1,1,1]]}},spring:{name:"Spring",numColors:256,gamma:1,segmentedData:{red:[[0,1,1],[1,1,1]],green:[[0,0,0],[1,1,1]],blue:[[0,1,1],[1,0,0]]}},summer:{name:"Summer",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[1,1,1]],green:[[0,.5,.5],[1,1,1]],blue:[[0,.4,.4],[1,.4,.4]]}},autumn:{name:"Autumn",numColors:256,gamma:1,segmentedData:{red:[[0,1,1],[1,1,1]],green:[[0,0,0],[1,1,1]],blue:[[0,0,0],[1,0,0]]}},winter:{name:"Winter",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[1,0,0]],green:[[0,0,0],[1,1,1]],blue:[[0,1,1],[1,.5,.5]]}},bone:{name:"Bone",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[.746032,.652778,.652778],[1,1,1]],green:[[0,0,0],[.365079,.319444,.319444],[.746032,.777778,.777778],[1,1,1]],blue:[[0,0,0],[.365079,.444444,.444444],[1,1,1]]}},copper:{name:"Copper",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[.809524,1,1],[1,1,1]],green:[[0,0,0],[1,.7812,.7812]],blue:[[0,0,0],[1,.4975,.4975]]}},spectral:{name:"Spectral",numColors:256,gamma:1,segmentedData:{red:[[0,0,0],[.05,.4667,.4667],[.1,.5333,.5333],[.15,0,0],[.2,0,0],[.25,0,0],[.3,0,0],[.35,0,0],[.4,0,0],[.45,0,0],[.5,0,0],[.55,0,0],[.6,0,0],[.65,.7333,.7333],[.7,.9333,.9333],[.75,1,1],[.8,1,1],[.85,1,1],[.9,.8667,.8667],[.95,.8,.8],[1,.8,.8]],green:[[0,0,0],[.05,0,0],[.1,0,0],[.15,0,0],[.2,0,0],[.25,.4667,.4667],[.3,.6,.6],[.35,.6667,.6667],[.4,.6667,.6667],[.45,.6,.6],[.5,.7333,.7333],[.55,.8667,.8667],[.6,1,1],[.65,1,1],[.7,.9333,.9333],[.75,.8,.8],[.8,.6,.6],[.85,0,0],[.9,0,0],[.95,0,0],[1,.8,.8]],blue:[[0,0,0],[.05,.5333,.5333],[.1,.6,.6],[.15,.6667,.6667],[.2,.8667,.8667],[.25,.8667,.8667],[.3,.8667,.8667],[.35,.6667,.6667],[.4,.5333,.5333],[.45,0,0],[.5,0,0],[.55,0,0],[.6,0,0],[.65,0,0],[.7,0,0],[.75,0,0],[.8,0,0],[.85,0,0],[.9,0,0],[.95,0,0],[1,.8,.8]]}},coolwarm:{name:"CoolWarm",numColors:256,gamma:1,segmentedData:{red:[[0,.2298057,.2298057],[.03125,.26623388,.26623388],[.0625,.30386891,.30386891],[.09375,.342804478,.342804478],[.125,.38301334,.38301334],[.15625,.424369608,.424369608],[.1875,.46666708,.46666708],[.21875,.509635204,.509635204],[.25,.552953156,.552953156],[.28125,.596262162,.596262162],[.3125,.639176211,.639176211],[.34375,.681291281,.681291281],[.375,.722193294,.722193294],[.40625,.761464949,.761464949],[.4375,.798691636,.798691636],[.46875,.833466556,.833466556],[.5,.865395197,.865395197],[.53125,.897787179,.897787179],[.5625,.924127593,.924127593],[.59375,.944468518,.944468518],[.625,.958852946,.958852946],[.65625,.96732803,.96732803],[.6875,.969954137,.969954137],[.71875,.966811177,.966811177],[.75,.958003065,.958003065],[.78125,.943660866,.943660866],[.8125,.923944917,.923944917],[.84375,.89904617,.89904617],[.875,.869186849,.869186849],[.90625,.834620542,.834620542],[.9375,.795631745,.795631745],[.96875,.752534934,.752534934],[1,.705673158,.705673158]],green:[[0,.298717966,.298717966],[.03125,.353094838,.353094838],[.0625,.406535296,.406535296],[.09375,.458757618,.458757618],[.125,.50941904,.50941904],[.15625,.558148092,.558148092],[.1875,.604562568,.604562568],[.21875,.648280772,.648280772],[.25,.688929332,.688929332],[.28125,.726149107,.726149107],[.3125,.759599947,.759599947],[.34375,.788964712,.788964712],[.375,.813952739,.813952739],[.40625,.834302879,.834302879],[.4375,.849786142,.849786142],[.46875,.860207984,.860207984],[.5,.86541021,.86541021],[.53125,.848937047,.848937047],[.5625,.827384882,.827384882],[.59375,.800927443,.800927443],[.625,.769767752,.769767752],[.65625,.734132809,.734132809],[.6875,.694266682,.694266682],[.71875,.650421156,.650421156],[.75,.602842431,.602842431],[.78125,.551750968,.551750968],[.8125,.49730856,.49730856],[.84375,.439559467,.439559467],[.875,.378313092,.378313092],[.90625,.312874446,.312874446],[.9375,.24128379,.24128379],[.96875,.157246067,.157246067],[1,.01555616,.01555616]],blue:[[0,.753683153,.753683153],[.03125,.801466763,.801466763],[.0625,.84495867,.84495867],[.09375,.883725899,.883725899],[.125,.917387822,.917387822],[.15625,.945619588,.945619588],[.1875,.968154911,.968154911],[.21875,.98478814,.98478814],[.25,.995375608,.995375608],[.28125,.999836203,.999836203],[.3125,.998151185,.998151185],[.34375,.990363227,.990363227],[.375,.976574709,.976574709],[.40625,.956945269,.956945269],[.4375,.931688648,.931688648],[.46875,.901068838,.901068838],[.5,.865395561,.865395561],[.53125,.820880546,.820880546],[.5625,.774508472,.774508472],[.59375,.726736146,.726736146],[.625,.678007945,.678007945],[.65625,.628751763,.628751763],[.6875,.579375448,.579375448],[.71875,.530263762,.530263762],[.75,.481775914,.481775914],[.78125,.434243684,.434243684],[.8125,.387970225,.387970225],[.84375,.343229596,.343229596],[.875,.300267182,.300267182],[.90625,.259301199,.259301199],[.9375,.220525627,.220525627],[.96875,.184115123,.184115123],[1,.150232812,.150232812]]}},blues:{name:"Blues",numColors:256,gamma:1,segmentedData:{red:[[0,.9686274528503418,.9686274528503418],[.125,.8705882430076599,.8705882430076599],[.25,.7764706015586853,.7764706015586853],[.375,.6196078658103943,.6196078658103943],[.5,.41960784792900085,.41960784792900085],[.625,.25882354378700256,.25882354378700256],[.75,.12941177189350128,.12941177189350128],[.875,.0313725508749485,.0313725508749485],[1,.0313725508749485,.0313725508749485]],green:[[0,.9843137264251709,.9843137264251709],[.125,.9215686321258545,.9215686321258545],[.25,.8588235378265381,.8588235378265381],[.375,.7921568751335144,.7921568751335144],[.5,.6823529601097107,.6823529601097107],[.625,.572549045085907,.572549045085907],[.75,.4431372582912445,.4431372582912445],[.875,.3176470696926117,.3176470696926117],[1,.1882352977991104,.1882352977991104]],blue:[[0,1,1],[.125,.9686274528503418,.9686274528503418],[.25,.9372549057006836,.9372549057006836],[.375,.8823529481887817,.8823529481887817],[.5,.8392156958580017,.8392156958580017],[.625,.7764706015586853,.7764706015586853],[.75,.7098039388656616,.7098039388656616],[.875,.6117647290229797,.6117647290229797],[1,.41960784792900085,.41960784792900085]]}}};function B(e,t){for(var r=0,n=e.length-1;r<=n;){var a=r+Math.floor((n-r)/2),i=e[a];if(i===t)return a;tt.timeStamp?-1:e.timeStamp=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,l=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){l=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(l)throw i}}}}function ce(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r>8,r[n++]=t[a]<0?0:1}return r}};Ue.frag="precision mediump float;uniform sampler2D u_image;uniform float ww;uniform float wc;uniform float slope;uniform float intercept;uniform int invert;varying vec2 v_texCoord;void main() {vec4 color = texture2D(u_image, v_texCoord);float intensity = color.r*256.0 + color.g*65536.0;if (color.b == 0.0)intensity = -intensity;intensity = intensity * slope + intercept;float center0 = wc - 0.5;float width0 = max(ww, 1.0);intensity = (intensity - center0) / width0 + 0.5;intensity = clamp(intensity, 0.0, 1.0);gl_FragColor = vec4(intensity, intensity, intensity, 1.0);if (invert == 1)gl_FragColor.rgb = 1.0 - gl_FragColor.rgb;}";var Be={};var ke={storedPixelDataToImageData:function(e){for(var t=e.getPixelData(),r=new Uint8Array(e.width*e.height*2),n=0,a=0;a>8}return r}};ze.frag="precision mediump float;uniform sampler2D u_image;uniform float ww;uniform float wc;uniform float slope;uniform float intercept;uniform int invert;varying vec2 v_texCoord;void main() {vec4 color = texture2D(u_image, v_texCoord);float intensity = color.r*256.0 + color.a*65536.0;intensity = intensity * slope + intercept;float center0 = wc - 0.5;float width0 = max(ww, 1.0);intensity = (intensity - center0) / width0 + 0.5;intensity = clamp(intensity, 0.0, 1.0);gl_FragColor = vec4(intensity, intensity, intensity, 1.0);if (invert == 1)gl_FragColor.rgb = 1.0 - gl_FragColor.rgb;}";var We={};var je={storedPixelDataToImageData:function(e){return e.getPixelData()}};We.frag="precision mediump float;uniform sampler2D u_image;uniform float ww;uniform float wc;uniform float slope;uniform float intercept;uniform int invert;varying vec2 v_texCoord;void main() {vec4 color = texture2D(u_image, v_texCoord);float intensity = color.r*256.0;intensity = intensity * slope + intercept;float center0 = wc - 0.5;float width0 = max(ww, 1.0);intensity = (intensity - center0) / width0 + 0.5;intensity = clamp(intensity, 0.0, 1.0);gl_FragColor = vec4(intensity, intensity, intensity, 1.0);if (invert == 1)gl_FragColor.rgb = 1.0 - gl_FragColor.rgb;}";var He={int16:Ue,int8:Be,rgb:Fe,uint16:ze,uint8:We},Xe={int16:Ne,int8:ke,rgb:Ge,uint16:qe,uint8:je},Ye="attribute vec2 a_position;attribute vec2 a_texCoord;uniform vec2 u_resolution;varying vec2 v_texCoord;void main() {vec2 zeroToOne = a_position / u_resolution;vec2 zeroToTwo = zeroToOne * 2.0;vec2 clipSpace = zeroToTwo - 1.0;gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);v_texCoord = a_texCoord;}",Ke={},Ze=[],$e=268435456,Je=0;function Qe(){if(!(Je<=$e)){for(Ze.sort(function(e,t){return e.timeStamp>t.timeStamp?-1:e.timeStampe.length)&&(t=e.length);for(var r=0,n=new Array(t);r>o,s=a.lut[a.lut.length-1]>>o,u=a.firstValueMapped+a.lut.length-1,function(e){return e>o:a.lut[e-a.firstValueMapped]>>o}):(d=e,m=t,function(e){return 255*((e-m)/d+.5)});var a,i,o,l,s,u,d,m},Et=function(e,t,r,n,a,i){var o=e.maxPixelValue,l=e.minPixelValue,s=Math.min(l,0);if(void 0===e.cachedLut){var u=o-s+1;e.cachedLut={},e.cachedLut.lutArray=new Uint8ClampedArray(u)}var d=e.cachedLut.lutArray,m=Boolean(e.slope%1)||Boolean(e.intercept%1),c=wt(e.slope,e.intercept,a),f=xt(t,r,i,m);if(!0===n)for(var g=l;g<=o;g++)d[g+-s]=255-f(c(g));else for(var v=l;v<=o;v++)d[v+-s]=f(c(v));return d},It=function(e,t,r){return void 0!==e.cachedLut&&e.cachedLut.windowCenter===t.voi.windowCenter&&e.cachedLut.windowWidth===t.voi.windowWidth&&pt(e.cachedLut.modalityLUT,t.modalityLUT)&&pt(e.cachedLut.voiLUT,t.voiLUT)&&e.cachedLut.invert===t.invert&&!0!==r||(ht(t,e),Et(e,t.voi.windowWidth,t.voi.windowCenter,t.invert,t.modalityLUT,t.voiLUT),e.cachedLut.windowWidth=t.voi.windowWidth,e.cachedLut.windowCenter=t.voi.windowCenter,e.cachedLut.invert=t.invert,e.cachedLut.voiLUT=t.voiLUT,e.cachedLut.modalityLUT=t.modalityLUT),e.cachedLut.lutArray},Tt=function(e,t){var r=e.renderingTools.lastRenderedImageId,n=e.renderingTools.lastRenderedViewport;return t.imageId!==r||!n||n.windowCenter!==e.viewport.voi.windowCenter||n.windowWidth!==e.viewport.voi.windowWidth||n.invert!==e.viewport.invert||n.rotation!==e.viewport.rotation||n.hflip!==e.viewport.hflip||n.vflip!==e.viewport.vflip||n.modalityLUT!==e.viewport.modalityLUT||n.voiLUT!==e.viewport.voiLUT||n.colormap!==e.viewport.colormap},Ct=function(e,t){var r=e.renderingTools.renderCanvas;r.width=t.width,r.height=t.height;var n=r.getContext("2d",{desynchronized:!0});n.fillStyle="white",n.fillRect(0,0,r.width,r.height);var a=n.getImageData(0,0,t.width,t.height);e.renderingTools.renderCanvasContext=n,e.renderingTools.renderCanvasData=a},Lt=function(e){var t=e.image.imageId,r=e.viewport,n=e.image.color;return e.renderingTools.lastRenderedImageId=t,e.renderingTools.lastRenderedIsColor=n,e.renderingTools.lastRenderedViewport={windowCenter:r.voi.windowCenter,windowWidth:r.voi.windowWidth,invert:r.invert,rotation:r.rotation,hflip:r.hflip,vflip:r.vflip,modalityLUT:r.modalityLUT,voiLUT:r.voiLUT,colormap:r.colormap},e.renderingTools};function Pt(e,t,r){var n=!(3i?i:t},e.degToRad=function(t){return t*(Math.PI/180)},e.radToDeg=function(t){return t*(180/Math.PI)},e.sign=function(t){return"number"==typeof t?t?t<0?-1:1:t==t?0:NaN:NaN}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,o=i(3),s=(n=o)&&n.__esModule?n:{default:n},r=i(0);var a,h,u,c,l,f=function(t,e,i){this.x=t||0,this.y=e||0,this.z=i||0};f.prototype={constructor:f,set:function(t,e,i){return this.x=t,this.y=e,this.z=i,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setComponent:function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t)}},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},add:function(t,e){return void 0!==e?(console.warn("DEPRECATED: Vector3's .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)},addScalar:function(t){return this.x+=t,this.y+=t,this.z+=t,this},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this},sub:function(t,e){return void 0!==e?(console.warn("DEPRECATED: Vector3's .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},multiply:function(t,e){return void 0!==e?(console.warn("DEPRECATED: Vector3's .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(t,e)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)},multiplyScalar:function(t){return this.x*=t,this.y*=t,this.z*=t,this},multiplyVectors:function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this},applyAxisAngle:(l=void 0,function(t,e){return void 0===l&&(l=new s.default),this.applyQuaternion(l.setFromAxisAngle(t.normalize(),e)),this}),applyMatrix3:function(t){var e=this.x,i=this.y,n=this.z,o=t.elements;return this.x=o[0]*e+o[3]*i+o[6]*n,this.y=o[1]*e+o[4]*i+o[7]*n,this.z=o[2]*e+o[5]*i+o[8]*n,this},applyMatrix4:function(t){var e=this.x,i=this.y,n=this.z,o=t.elements;return this.x=o[0]*e+o[4]*i+o[8]*n+o[12],this.y=o[1]*e+o[5]*i+o[9]*n+o[13],this.z=o[2]*e+o[6]*i+o[10]*n+o[14],this},applyProjection:function(t){var e=this.x,i=this.y,n=this.z,o=t.elements,s=1/(o[3]*e+o[7]*i+o[11]*n+o[15]);return this.x=(o[0]*e+o[4]*i+o[8]*n+o[12])*s,this.y=(o[1]*e+o[5]*i+o[9]*n+o[13])*s,this.z=(o[2]*e+o[6]*i+o[10]*n+o[14])*s,this},applyQuaternion:function(t){var e=this.x,i=this.y,n=this.z,o=t.x,s=t.y,r=t.z,a=t.w,h=a*e+s*n-r*i,u=a*i+r*e-o*n,c=a*n+o*i-s*e,l=-o*e-s*i-r*n;return this.x=h*a+l*-o+u*-r-c*-s,this.y=u*a+l*-s+c*-o-h*-r,this.z=c*a+l*-r+h*-s-u*-o,this},transformDirection:function(t){var e=this.x,i=this.y,n=this.z,o=t.elements;return this.x=o[0]*e+o[4]*i+o[8]*n,this.y=o[1]*e+o[5]*i+o[9]*n,this.z=o[2]*e+o[6]*i+o[10]*n,this.normalize(),this},divide:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this},divideScalar:function(t){if(0!==t){var e=1/t;this.x*=e,this.y*=e,this.z*=e}else this.x=0,this.y=0,this.z=0;return this},min:function(t){return this.x>t.x&&(this.x=t.x),this.y>t.y&&(this.y=t.y),this.z>t.z&&(this.z=t.z),this},max:function(t){return this.xe.x&&(this.x=e.x),this.ye.y&&(this.y=e.y),this.ze.z&&(this.z=e.z),this},clampScalar:(u=void 0,c=void 0,function(t,e){return void 0===u&&(u=new f,c=new f),u.set(t,t,t),c.set(e,e,e),this.clamp(u,c)}),floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this},negate:function(){return this.multiplyScalar(-1)},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length())},setLength:function(t){var e=this.length();return 0!==e&&t!==e&&this.multiplyScalar(t/e),this},lerp:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this},cross:function(t,e){if(void 0!==e)return console.warn("DEPRECATED: Vector3's .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(t,e);var i=this.x,n=this.y,o=this.z;return this.x=n*t.z-o*t.y,this.y=o*t.x-i*t.z,this.z=i*t.y-n*t.x,this},crossVectors:function(t,e){var i=t.x,n=t.y,o=t.z,s=e.x,r=e.y,a=e.z;return this.x=n*a-o*r,this.y=o*s-i*a,this.z=i*r-n*s,this},projectOnVector:(a=void 0,h=void 0,function(t){return void 0===a&&(a=new f),a.copy(t).normalize(),h=this.dot(a),this.copy(a).multiplyScalar(h)}),projectOnPlane:function(){var t=void 0;return function(e){return void 0===t&&(t=new f),t.copy(this).projectOnVector(e),this.sub(t)}}(),reflect:function(){var t=void 0;return function(e){return void 0===t&&(t=new f),this.sub(t.copy(e).multiplyScalar(2*this.dot(e)))}}(),angleTo:function(t){var e=this.dot(t)/(this.length()*t.length());return Math.acos((0,r.clamp)(e,-1,1))},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var e=this.x-t.x,i=this.y-t.y,n=this.z-t.z;return e*e+i*i+n*n},setFromMatrixPosition:function(t){return this.x=t.elements[12],this.y=t.elements[13],this.z=t.elements[14],this},setFromMatrixScale:function(t){var e=this.set(t.elements[0],t.elements[1],t.elements[2]).length(),i=this.set(t.elements[4],t.elements[5],t.elements[6]).length(),n=this.set(t.elements[8],t.elements[9],t.elements[10]).length();return this.x=e,this.y=i,this.z=n,this},setFromMatrixColumn:function(t,e){var i=4*t,n=e.elements;return this.x=n[i],this.y=n[i+1],this.z=n[i+2],this},equals:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z},fromArray:function(t){return this.x=t[0],this.y=t[1],this.z=t[2],this},toArray:function(){return[this.x,this.y,this.z]},clone:function(){return new f(this.x,this.y,this.z)}},e.default=f},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0);function o(t){return t*t}function s(t,e){return o(t.x-e.x)+o(t.y-e.y)}var r={distanceToPoint:function(t,e){return Math.sqrt(function(t,e){var i=s(t.start,t.end);if(0===i)return s(e,t.start);var n=((e.x-t.start.x)*(t.end.x-t.start.x)+(e.y-t.start.y)*(t.end.y-t.start.y))/i;return s(e,n<0?t.start:n>1?t.end:{x:t.start.x+n*(t.end.x-t.start.x),y:t.start.y+n*(t.end.y-t.start.y)})}(t,e))},intersectLine:function(t,e){var i,o,s,r,a,h,u,c,l,f,y,d={},p=t.start.x,x=t.start.y,m=t.end.x,v=t.end.y,g=e.start.x,z=e.start.y,b=e.end.x,M=e.end.y,w=void 0;if(f=(i=v-x)*b+(s=p-m)*M+(a=m*x-p*v),(0===(l=i*g+s*z+a)||0===f||(0,n.sign)(l)!==(0,n.sign)(f))&&(c=(o=M-z)*m+(r=g-b)*v+(h=b*z-g*M),0===(u=o*p+r*x+h)||0===c||(0,n.sign)(u)!==(0,n.sign)(c))){y=i*r-o*s,w=s*h-r*a;var R=parseFloat(w/y);w=o*a-i*h;var P=parseFloat(w/y);return d.x=R,d.y=P,d}}};e.default=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t,e,i,n){this.x=t||0,this.y=e||0,this.z=i||0,this.w=void 0!==n?n:1};n.prototype.setFromAxisAngle=function(t,e){var i=e/2,n=Math.sin(i);return this.x=t.x*n,this.y=t.y*n,this.z=t.z*n,this.w=Math.cos(i),this},n.prototype.multiplyQuaternions=function(t,e){var i=t.x,n=t.y,o=t.z,s=t.w,r=e.x,a=e.y,h=e.z,u=e.w;return this.x=i*u+s*r+n*h-o*a,this.y=n*u+s*a+o*r-i*h,this.z=o*u+s*h+i*a-n*r,this.w=s*u-i*r-n*a-o*h,this},n.prototype.setFromRotationMatrix=function(t){var e=t.elements,i=e[0],n=e[4],o=e[8],s=e[1],r=e[5],a=e[9],h=e[2],u=e[6],c=e[10],l=i+r+c,f=void 0;return l>0?(f=.5/Math.sqrt(l+1),this.w=.25/f,this.x=(u-a)*f,this.y=(o-h)*f,this.z=(s-n)*f):i>r&&i>c?(f=2*Math.sqrt(1+i-r-c),this.w=(u-a)/f,this.x=.25*f,this.y=(n+s)/f,this.z=(o+h)/f):r>c?(f=2*Math.sqrt(1+r-i-c),this.w=(o-h)/f,this.x=(n+s)/f,this.y=.25*f,this.z=(a+u)/f):(f=2*Math.sqrt(1+c-i-r),this.w=(s-n)/f,this.x=(o+h)/f,this.y=(a+u)/f,this.z=.25*f),this},e.default=n},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,o=i(2),s=(n=o)&&n.__esModule?n:{default:n};function r(t){return{topLeft:{x:t.left,y:t.top},bottomRight:{x:t.left+t.width,y:t.top+t.height}}}var a={distanceToPoint:function(t,e){var i=655535;return function(t){return[{start:{x:t.left,y:t.top},end:{x:t.left+t.width,y:t.top}},{start:{x:t.left+t.width,y:t.top},end:{x:t.left+t.width,y:t.top+t.height}},{start:{x:t.left+t.width,y:t.top+t.height},end:{x:t.left,y:t.top+t.height}},{start:{x:t.left,y:t.top+t.height},end:{x:t.left,y:t.top}}]}(t).forEach(function(t){var n=s.default.distanceToPoint(t,e);n=0?e.width>=0?!(o.bottomRight.x<=s.topLeft.x||s.bottomRight.x<=o.topLeft.x):!(o.bottomRight.x<=s.bottomRight.x||s.topLeft.x<=o.topLeft.x):e.width>=0?!(o.topLeft.x<=s.topLeft.x||s.bottomRight.x<=o.bottomRight.x):!(o.topLeft.x<=s.bottomRight.x||s.topLeft.x<=o.bottomRight.x),n=t.height>=0?e.height>=0?!(o.bottomRight.y<=s.topLeft.y||s.bottomRight.y<=o.topLeft.y):!(o.bottomRight.y<=s.bottomRight.y||s.topLeft.y<=o.topLeft.y):e.height>=0?!(o.topLeft.y<=s.topLeft.y||s.bottomRight.y<=o.bottomRight.y):!(o.topLeft.y<=s.bottomRight.y||s.top<=o.bottomRight.y),i&&n}(t,e)){var n=r(t),o=r(e);return t.width>=0?e.width>=0?(i.topLeft.x=Math.max(n.topLeft.x,o.topLeft.x),i.bottomRight.x=Math.min(n.bottomRight.x,o.bottomRight.x)):(i.topLeft.x=Math.max(n.topLeft.x,o.bottomRight.x),i.bottomRight.x=Math.min(n.bottomRight.x,o.topLeft.x)):e.width>=0?(i.topLeft.x=Math.min(n.topLeft.x,o.bottomRight.x),i.bottomRight.x=Math.max(n.bottomRight.x,o.topLeft.x)):(i.topLeft.x=Math.min(n.topLeft.x,o.topLeft.x),i.bottomRight.x=Math.max(n.bottomRight.x,o.bottomRight.x)),t.height>=0?e.height>=0?(i.topLeft.y=Math.max(n.topLeft.y,o.topLeft.y),i.bottomRight.y=Math.min(n.bottomRight.y,o.bottomRight.y)):(i.topLeft.y=Math.max(n.topLeft.y,o.bottomRight.y),i.bottomRight.y=Math.min(n.bottomRight.y,o.topLeft.y)):e.height>=0?(i.topLeft.y=Math.min(n.topLeft.y,o.bottomRight.y),i.bottomRight.y=Math.max(n.bottomRight.y,o.topLeft.y)):(i.topLeft.y=Math.min(n.topLeft.y,o.topLeft.y),i.bottomRight.y=Math.max(n.bottomRight.y,o.bottomRight.y)),i}}};e.default=a},function(t,e,i){"use strict";function n(t,e){return{x:t.x-e.x,y:t.y-e.y}}function o(t,e){return Math.sqrt(s(t,e))}function s(t,e){var i=n(t,e);return i.x*i.x+i.y*i.y}Object.defineProperty(e,"__esModule",{value:!0});var r={subtract:n,copy:function(t){return{x:t.x,y:t.y}},pageToPoint:function(t){return{x:t.pageX,y:t.pageY}},distance:o,distanceSquared:s,insideRect:function(t,e){return!(t.xe.left+e.width||t.ye.top+e.height)},findClosestPoint:function(t,e){var i=[],n=void 0;return t.forEach(function(t,s){var r=o(t,e);i.push(r),n=0===s?r:Math.min(r,n)}),t[i.indexOf(n)]}};e.default=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,o=i(1),s=(n=o)&&n.__esModule?n:{default:n};var r,a,h=function(t,e){this.normal=void 0!==t?t:new s.default(1,0,0),this.constant=void 0!==e?e:0};h.prototype={constructor:h,set:function(t,e){return this.normal.copy(t),this.constant=e,this},setComponents:function(t,e,i,n){return this.normal.set(t,e,i),this.constant=n,this},setFromNormalAndCoplanarPoint:function(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this},setFromCoplanarPoints:(r=new s.default,a=new s.default,function(t,e,i){var n=r.subVectors(i,e).cross(a.subVectors(t,e)).normalize();return this.setFromNormalAndCoplanarPoint(n,t),this}),copy:function(t){return this.normal.copy(t.normal),this.constant=t.constant,this},normalize:function(){var t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this},negate:function(){return this.constant*=-1,this.normal.negate(),this},distanceToPoint:function(t){return this.normal.dot(t)+this.constant},distanceToSphere:function(t){return this.distanceToPoint(t.center)-t.radius},projectPoint:function(t,e){return this.orthoPoint(t,e).sub(t).negate()},orthoPoint:function(t,e){var i=this.distanceToPoint(t);return(e||new s.default).copy(this.normal).multiplyScalar(i)},isIntersectionLine:function(t){var e=this.distanceToPoint(t.start),i=this.distanceToPoint(t.end);return e<0&&i>0||i<0&&e>0},intersectLine:function(){var t=new s.default;return function(e,i){var n=i||new s.default,o=e.delta(t),r=this.normal.dot(o);if(0===r)return 0===this.distanceToPoint(e.start)?n.copy(e.start):void 0;var a=-(e.start.dot(this.normal)+this.constant)/r;return a<0||a>1?void 0:n.copy(o).multiplyScalar(a).add(e.start)}}(),intersectPlane:function(t){var e=this.normal.clone().cross(t.normal),i={origin:new s.default,direction:e};if(this.normal.clone().cross(t.normal).length<1e-10)return i.direction=new s.default,i;var n=this.constant,o=t.constant,r=this.normal.clone().dot(t.normal),a=-(n-o*r)/(1-r*r),h=-(o-n*r)/(1-r*r);return i.origin=this.normal.clone().multiplyScalar(a).add(t.normal.clone().multiplyScalar(h)),i},coplanarPoint:function(t){return(t||new s.default).copy(this.normal).multiplyScalar(-this.constant)},translate:function(t){return this.constant=this.constant-t.dot(this.normal),this},equals:function(t){return t.normal.equals(this.normal)&&t.constant===this.constant},clone:function(){return(new h).copy(this)}},e.default=h},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,o=i(1),s=(n=o)&&n.__esModule?n:{default:n};var r=function(t,e,i,n,o,s,r,a,h,u,c,l,f,y,d,p){this.elements=new Float32Array(16);var x=this.elements;x[0]=void 0!==t?t:1,x[4]=e||0,x[8]=i||0,x[12]=n||0,x[1]=o||0,x[5]=void 0!==s?s:1,x[9]=r||0,x[13]=a||0,x[2]=h||0,x[6]=u||0,x[10]=void 0!==c?c:1,x[14]=l||0,x[3]=f||0,x[7]=y||0,x[11]=d||0,x[15]=void 0!==p?p:1};r.prototype.makeRotationFromQuaternion=function(t){var e=this.elements,i=t.x,n=t.y,o=t.z,s=t.w,r=i+i,a=n+n,h=o+o,u=i*r,c=i*a,l=i*h,f=n*a,y=n*h,d=o*h,p=s*r,x=s*a,m=s*h;return e[0]=1-(f+d),e[4]=c-m,e[8]=l+x,e[1]=c+m,e[5]=1-(u+d),e[9]=y-p,e[2]=l-x,e[6]=y+p,e[10]=1-(u+f),e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this},r.prototype.multiplyMatrices=function(t,e){var i=t.elements,n=e.elements,o=this.elements,s=i[0],r=i[4],a=i[8],h=i[12],u=i[1],c=i[5],l=i[9],f=i[13],y=i[2],d=i[6],p=i[10],x=i[14],m=i[3],v=i[7],g=i[11],z=i[15],b=n[0],M=n[4],w=n[8],R=n[12],P=n[1],L=n[5],T=n[9],S=n[13],_=n[2],V=n[6],q=n[10],j=n[14],E=n[3],k=n[7],O=n[11],A=n[15];return o[0]=s*b+r*P+a*_+h*E,o[4]=s*M+r*L+a*V+h*k,o[8]=s*w+r*T+a*q+h*O,o[12]=s*R+r*S+a*j+h*A,o[1]=u*b+c*P+l*_+f*E,o[5]=u*M+c*L+l*V+f*k,o[9]=u*w+c*T+l*q+f*O,o[13]=u*R+c*S+l*j+f*A,o[2]=y*b+d*P+p*_+x*E,o[6]=y*M+d*L+p*V+x*k,o[10]=y*w+d*T+p*q+x*O,o[14]=y*R+d*S+p*j+x*A,o[3]=m*b+v*P+g*_+z*E,o[7]=m*M+v*L+g*V+z*k,o[11]=m*w+v*T+g*q+z*O,o[15]=m*R+v*S+g*j+z*A,this},r.prototype.multiply=function(t,e){return void 0!==e?(console.warn("DEPRECATED: Matrix4's .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(t,e)):this.multiplyMatrices(this,t)},r.prototype.getInverse=function(t,e){var i=this.elements,n=t.elements,o=n[0],s=n[4],r=n[8],a=n[12],h=n[1],u=n[5],c=n[9],l=n[13],f=n[2],y=n[6],d=n[10],p=n[14],x=n[3],m=n[7],v=n[11],g=n[15];i[0]=c*p*m-l*d*m+l*y*v-u*p*v-c*y*g+u*d*g,i[4]=a*d*m-r*p*m-a*y*v+s*p*v+r*y*g-s*d*g,i[8]=r*l*m-a*c*m+a*u*v-s*l*v-r*u*g+s*c*g,i[12]=a*c*y-r*l*y-a*u*d+s*l*d+r*u*p-s*c*p,i[1]=l*d*x-c*p*x-l*f*v+h*p*v+c*f*g-h*d*g,i[5]=r*p*x-a*d*x+a*f*v-o*p*v-r*f*g+o*d*g,i[9]=a*c*x-r*l*x-a*h*v+o*l*v+r*h*g-o*c*g,i[13]=r*l*f-a*c*f+a*h*d-o*l*d-r*h*p+o*c*p,i[2]=u*p*x-l*y*x+l*f*m-h*p*m-u*f*g+h*y*g,i[6]=a*y*x-s*p*x-a*f*m+o*p*m+s*f*g-o*y*g,i[10]=s*l*x-a*u*x+a*h*m-o*l*m-s*h*g+o*u*g,i[14]=a*u*f-s*l*f-a*h*y+o*l*y+s*h*p-o*u*p,i[3]=c*y*x-u*d*x-c*f*m+h*d*m+u*f*v-h*y*v,i[7]=s*d*x-r*y*x+r*f*m-o*d*m-s*f*v+o*y*v,i[11]=r*u*x-s*c*x-r*h*m+o*c*m+s*h*v-o*u*v,i[15]=s*c*f-r*u*f+r*h*y-o*c*y-s*h*d+o*u*d;var z=o*i[0]+h*i[4]+f*i[8]+x*i[12];if(0===z){var b="Matrix4.getInverse(): can't invert matrix, determinant is 0";if(e)throw new Error(b);return console.warn(b),this.identity(),this}return this.multiplyScalar(1/z),this},r.prototype.applyToVector3Array=function(){var t=new s.default;return function(e,i,n){void 0===i&&(i=0),void 0===n&&(n=e.length);for(var o=0,s=i;o1||isNaN(r))){var a=this.start.clone().add(e.clone().multiplyScalar(r));return a.clone().sub(t.start).lengthSq()+a.clone().sub(t.end).lengthSq()<=t.distanceSq()?a:void 0}}}}]),t}();e.default=h},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Vector3=e.rect=e.quaternion=e.point=e.Plane=e.Matrix4=e.sign=e.radToDeg=e.degToRad=e.clamp=e.lineSegment=e.Line3=void 0;var n=f(i(8)),o=f(i(2)),s=i(0),r=f(i(7)),a=f(i(6)),h=f(i(5)),u=f(i(3)),c=f(i(4)),l=f(i(1));function f(t){return t&&t.__esModule?t:{default:t}}var y={Line3:n.default,lineSegment:o.default,clamp:s.clamp,degToRad:s.degToRad,radToDeg:s.radToDeg,sign:s.sign,Matrix4:r.default,Plane:a.default,point:h.default,quaternion:u.default,rect:c.default,Vector3:l.default};e.Line3=n.default,e.lineSegment=o.default,e.clamp=s.clamp,e.degToRad=s.degToRad,e.radToDeg=s.radToDeg,e.sign=s.sign,e.Matrix4=r.default,e.Plane=a.default,e.point=h.default,e.quaternion=u.default,e.rect=c.default,e.Vector3=l.default,e.default=y}])}); -//# sourceMappingURL=cornerstoneMath.min.js.map \ No newline at end of file +/*! cornerstone-math - 0.1.9 - 2020-10-01 | (c) 2017 Chris Hafey | https://github.com/cornerstonejs/cornerstoneMath */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("cornerstone-math",[],e):"object"==typeof exports?exports["cornerstone-math"]=e():t.cornerstoneMath=e()}(window,function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=4)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;nt.x&&(this.x=t.x),this.y>t.y&&(this.y=t.y),this.z>t.z&&(this.z=t.z),this}},{key:"max",value:function(t){return this.xe.x&&(this.x=e.x),this.ye.y&&(this.y=e.y),this.ze.z&&(this.z=e.z),this}},{key:"floor",value:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}},{key:"ceil",value:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}},{key:"round",value:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}},{key:"roundToZero",value:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}},{key:"negate",value:function(){return this.multiplyScalar(-1)}},{key:"dot",value:function(t){return this.x*t.x+this.y*t.y+this.z*t.z}},{key:"lengthSq",value:function(){return this.x*this.x+this.y*this.y+this.z*this.z}},{key:"length",value:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}},{key:"lengthManhattan",value:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}},{key:"normalize",value:function(){return this.divideScalar(this.length())}},{key:"setLength",value:function(t){var e=this.length();return 0!==e&&t!==e&&this.multiplyScalar(t/e),this}},{key:"lerp",value:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}},{key:"cross",value:function(t,e){if(void 0!==e)return console.warn("DEPRECATED: Vector3's .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(t,e);var n=this.x,i=this.y,r=this.z;return this.x=i*t.z-r*t.y,this.y=r*t.x-n*t.z,this.z=n*t.y-i*t.x,this}},{key:"crossVectors",value:function(t,e){var n=t.x,i=t.y,r=t.z,o=e.x,s=e.y,a=e.z;return this.x=i*a-r*s,this.y=r*o-n*a,this.z=n*s-i*o,this}},{key:"angleTo",value:function(t){var e=this.dot(t)/(this.length()*t.length());return Math.acos((0,o.clamp)(e,-1,1))}},{key:"distanceTo",value:function(t){return Math.sqrt(this.distanceToSquared(t))}},{key:"distanceToSquared",value:function(t){var e=this.x-t.x,n=this.y-t.y,i=this.z-t.z;return e*e+n*n+i*i}},{key:"setFromMatrixPosition",value:function(t){return this.x=t.elements[12],this.y=t.elements[13],this.z=t.elements[14],this}},{key:"setFromMatrixScale",value:function(t){var e=this.set(t.elements[0],t.elements[1],t.elements[2]).length(),n=this.set(t.elements[4],t.elements[5],t.elements[6]).length(),i=this.set(t.elements[8],t.elements[9],t.elements[10]).length();return this.x=e,this.y=n,this.z=i,this}},{key:"setFromMatrixColumn",value:function(t,e){var n=4*t,i=e.elements;return this.x=i[n],this.y=i[n+1],this.z=i[n+2],this}},{key:"equals",value:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}},{key:"fromArray",value:function(t){return this.x=t[0],this.y=t[1],this.z=t[2],this}},{key:"toArray",value:function(){return[this.x,this.y,this.z]}},{key:"clone",value:function(){return new t(this.x,this.y,this.z)}}]),t}();s.prototype.projectOnVector=function(){var t=void 0,e=void 0;return function(n){return void 0===t&&(t=new s),t.copy(n).normalize(),e=this.dot(t),this.copy(t).multiplyScalar(e)}}(),s.prototype.projectOnPlane=function(){var t=void 0;return function(e){return void 0===t&&(t=new s),t.copy(this).projectOnVector(e),this.sub(t)}}(),s.prototype.reflect=function(){var t=void 0;return function(e){return void 0===t&&(t=new s),this.sub(t.copy(e).multiplyScalar(2*this.dot(e)))}}(),s.prototype.clampScalar=function(){var t=void 0,e=void 0;return function(n,i){return void 0===t&&(t=new s,e=new s),t.set(n,n,n),e.set(i,i,i),this.clamp(t,e)}}(),s.prototype.applyAxisAngle=function(){var t=void 0;return function(e,n){return void 0===t&&(t=new r.default),this.applyQuaternion(t.setFromAxisAngle(e.normalize(),n)),this}}(),e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=1e-4;e.clamp=function(t,e,n){return tn?n:t},e.degToRad=function(t){return t*(Math.PI/180)},e.approximatelyEquals=function(t,e,n){var r=n||i;return Math.abs(t-e)<=r*Math.max(1,Math.abs(t),Math.abs(e))},e.radToDeg=function(t){return t*(180/Math.PI)},e.sign=function(t){return"number"==typeof t?t?t<0?-1:1:t==t?0:NaN:NaN}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n0?(y=.5/Math.sqrt(c+1),this.w=.25/y,this.x=(h-a)*y,this.y=(r-u)*y,this.z=(o-i)*y):n>s&&n>l?(y=2*Math.sqrt(1+n-s-l),this.w=(h-a)/y,this.x=.25*y,this.y=(i+o)/y,this.z=(r+u)/y):s>l?(y=2*Math.sqrt(1+s-n-l),this.w=(r-u)/y,this.x=(i+o)/y,this.y=.25*y,this.z=(a+h)/y):(y=2*Math.sqrt(1+l-n-s),this.w=(o-i)/y,this.x=(r+u)/y,this.y=(a+h)/y,this.z=.25*y),this}}]),t}();e.default=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1);function r(t){return t*t}function o(t,e){return r(t.x-e.x)+r(t.y-e.y)}var s={distanceToPoint:function(t,e){return Math.sqrt(function(t,e){var n=o(t.start,t.end);if(0===n)return o(e,t.start);var i=((e.x-t.start.x)*(t.end.x-t.start.x)+(e.y-t.start.y)*(t.end.y-t.start.y))/n;return o(e,i<0?t.start:i>1?t.end:{x:t.start.x+i*(t.end.x-t.start.x),y:t.start.y+i*(t.end.y-t.start.y)})}(t,e))},intersectLine:function(t,e){var n,r,o,s,a,u,h,l,c,y,f,d={},v=t.start.x,p=t.start.y,x=t.end.x,m=t.end.y,g=e.start.x,b=e.start.y,z=e.end.x,k=e.end.y,M=void 0;if(y=(n=m-p)*z+(o=v-x)*k+(a=x*p-v*m),(0===(c=n*g+o*b+a)||0===y||(0,i.sign)(c)!==(0,i.sign)(y))&&(l=(r=k-b)*x+(s=g-z)*m+(u=z*b-g*k),0===(h=r*v+s*p+u)||0===l||(0,i.sign)(h)!==(0,i.sign)(l))){f=n*s-r*o,M=o*u-s*a;var w=parseFloat(M/f);M=r*a-n*u;var P=parseFloat(M/f);return d.x=w,d.y=P,d}}};e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Vector3=e.rect=e.quaternion=e.point=e.Plane=e.Matrix4=e.sign=e.radToDeg=e.degToRad=e.clamp=e.lineSegment=e.Line3=void 0;var i=y(n(5)),r=y(n(3)),o=n(1),s=y(n(6)),a=y(n(7)),u=y(n(8)),h=y(n(2)),l=y(n(9)),c=y(n(0));function y(t){return t&&t.__esModule?t:{default:t}}var f={Line3:i.default,lineSegment:r.default,clamp:o.clamp,degToRad:o.degToRad,radToDeg:o.radToDeg,sign:o.sign,Matrix4:s.default,Plane:a.default,point:u.default,quaternion:h.default,rect:l.default,Vector3:c.default};e.Line3=i.default,e.lineSegment=r.default,e.clamp=o.clamp,e.degToRad=o.degToRad,e.radToDeg=o.radToDeg,e.sign=o.sign,e.Matrix4=s.default,e.Plane=a.default,e.point=u.default,e.quaternion=h.default,e.rect=l.default,e.Vector3=c.default,e.default=f},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n1||isNaN(u))){var h=this.start.clone().add(e.clone().multiplyScalar(u));return h.clone().sub(t.start).lengthSq()+h.clone().sub(t.end).lengthSq()<=t.distanceSq()?h:void 0}}}}]),t}();e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n0||n<0&&e>0}},{key:"intersectPlane",value:function(t){var e=this.normal.clone().cross(t.normal),n={origin:new r.default,direction:e};if(this.normal.clone().cross(t.normal).length<1e-10)return n.direction=new r.default,n;var i=this.constant,o=t.constant,s=this.normal.clone().dot(t.normal),a=-(i-o*s)/(1-s*s),u=-(o-i*s)/(1-s*s);return n.origin=this.normal.clone().multiplyScalar(a).add(t.normal.clone().multiplyScalar(u)),n}},{key:"coplanarPoint",value:function(t){return(t||new r.default).copy(this.normal).multiplyScalar(-this.constant)}},{key:"translate",value:function(t){return this.constant=this.constant-t.dot(this.normal),this}},{key:"equals",value:function(t){return t.normal.equals(this.normal)&&t.constant===this.constant}},{key:"clone",value:function(){return(new t).copy(this)}}]),t}();o.prototype.setFromCoplanarPoints=function(){var t=new r.default,e=new r.default;return function(n,i,r){var o=t.subVectors(r,i).cross(e.subVectors(n,i)).normalize();return this.setFromNormalAndCoplanarPoint(o,n),this}}(),o.prototype.intersectLine=function(){var t=new r.default;return function(e,n){var i=n||new r.default,o=e.delta(t),s=this.normal.dot(o);if(0===s)return 0===this.distanceToPoint(e.start)?i.copy(e.start):void 0;var a=-(e.start.dot(this.normal)+this.constant)/s;return a<0||a>1?void 0:i.copy(o).multiplyScalar(a).add(e.start)}}(),e.default=o},function(t,e,n){"use strict";function i(t,e){return{x:t.x-e.x,y:t.y-e.y}}function r(t,e){return Math.sqrt(o(t,e))}function o(t,e){var n=i(t,e);return n.x*n.x+n.y*n.y}Object.defineProperty(e,"__esModule",{value:!0});var s={subtract:i,copy:function(t){return{x:t.x,y:t.y}},pageToPoint:function(t){return{x:t.pageX,y:t.pageY}},distance:r,distanceSquared:o,insideRect:function(t,e){return!(t.xe.left+e.width||t.ye.top+e.height)},findClosestPoint:function(t,e){var n=[],i=void 0;return t.forEach(function(t,o){var s=r(t,e);n.push(s),i=0===o?s:Math.min(s,i)}),t[n.indexOf(i)]}};e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(t){return t&&t.__esModule?t:{default:t}}(n(3));function r(t){return{topLeft:{x:t.left,y:t.top},bottomRight:{x:t.left+t.width,y:t.top+t.height}}}var o={distanceToPoint:function(t,e){var n=655535;return function(t){return[{start:{x:t.left,y:t.top},end:{x:t.left+t.width,y:t.top}},{start:{x:t.left+t.width,y:t.top},end:{x:t.left+t.width,y:t.top+t.height}},{start:{x:t.left+t.width,y:t.top+t.height},end:{x:t.left,y:t.top+t.height}},{start:{x:t.left,y:t.top+t.height},end:{x:t.left,y:t.top}}]}(t).forEach(function(t){var r=i.default.distanceToPoint(t,e);r=0?e.width>=0?!(o.bottomRight.x<=s.topLeft.x||s.bottomRight.x<=o.topLeft.x):!(o.bottomRight.x<=s.bottomRight.x||s.topLeft.x<=o.topLeft.x):e.width>=0?!(o.topLeft.x<=s.topLeft.x||s.bottomRight.x<=o.bottomRight.x):!(o.topLeft.x<=s.bottomRight.x||s.topLeft.x<=o.bottomRight.x),i=t.height>=0?e.height>=0?!(o.bottomRight.y<=s.topLeft.y||s.bottomRight.y<=o.topLeft.y):!(o.bottomRight.y<=s.bottomRight.y||s.topLeft.y<=o.topLeft.y):e.height>=0?!(o.topLeft.y<=s.topLeft.y||s.bottomRight.y<=o.bottomRight.y):!(o.topLeft.y<=s.bottomRight.y||s.top<=o.bottomRight.y),n&&i}(t,e)){var i=r(t),o=r(e);return t.width>=0?e.width>=0?(n.topLeft.x=Math.max(i.topLeft.x,o.topLeft.x),n.bottomRight.x=Math.min(i.bottomRight.x,o.bottomRight.x)):(n.topLeft.x=Math.max(i.topLeft.x,o.bottomRight.x),n.bottomRight.x=Math.min(i.bottomRight.x,o.topLeft.x)):e.width>=0?(n.topLeft.x=Math.min(i.topLeft.x,o.bottomRight.x),n.bottomRight.x=Math.max(i.bottomRight.x,o.topLeft.x)):(n.topLeft.x=Math.min(i.topLeft.x,o.topLeft.x),n.bottomRight.x=Math.max(i.bottomRight.x,o.bottomRight.x)),t.height>=0?e.height>=0?(n.topLeft.y=Math.max(i.topLeft.y,o.topLeft.y),n.bottomRight.y=Math.min(i.bottomRight.y,o.bottomRight.y)):(n.topLeft.y=Math.max(i.topLeft.y,o.bottomRight.y),n.bottomRight.y=Math.min(i.bottomRight.y,o.topLeft.y)):e.height>=0?(n.topLeft.y=Math.min(i.topLeft.y,o.bottomRight.y),n.bottomRight.y=Math.max(i.bottomRight.y,o.topLeft.y)):(n.topLeft.y=Math.min(i.topLeft.y,o.topLeft.y),n.bottomRight.y=Math.max(i.bottomRight.y,o.bottomRight.y)),n}}};e.default=o}])}); +//# sourceMappingURL=cornerstoneMath.min.js.map diff --git a/lib/cornerstone/cornerstoneWADOImageLoader.js b/lib/cornerstone/cornerstoneWADOImageLoader.js index b60bae4..9ed0034 100644 --- a/lib/cornerstone/cornerstoneWADOImageLoader.js +++ b/lib/cornerstone/cornerstoneWADOImageLoader.js @@ -1,8077 +1,3 @@ -/*! cornerstone-wado-image-loader - 3.0.6 - 2019-09-19 | (c) 2019 Chris Hafey | https://github.com/cornerstonejs/cornerstoneWADOImageLoader */ -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(); - else if(typeof define === 'function' && define.amd) - define("cornerstoneWADOImageLoader", [], factory); - else if(typeof exports === 'object') - exports["cornerstoneWADOImageLoader"] = factory(); - else - root["cornerstoneWADOImageLoader"] = factory(); -})(this, function() { -return /******/ (function(modules) { // webpackBootstrap -/******/ function hotDisposeChunk(chunkId) { -/******/ delete installedChunks[chunkId]; -/******/ } -/******/ var parentHotUpdateCallback = this["webpackHotUpdate_name_"]; -/******/ this["webpackHotUpdate_name_"] = // eslint-disable-next-line no-unused-vars -/******/ function webpackHotUpdateCallback(chunkId, moreModules) { -/******/ hotAddUpdateChunk(chunkId, moreModules); -/******/ if (parentHotUpdateCallback) parentHotUpdateCallback(chunkId, moreModules); -/******/ } ; -/******/ -/******/ // eslint-disable-next-line no-unused-vars -/******/ function hotDownloadUpdateChunk(chunkId) { -/******/ var script = document.createElement("script"); -/******/ script.charset = "utf-8"; -/******/ script.src = __webpack_require__.p + "" + chunkId + "." + hotCurrentHash + ".hot-update.js"; -/******/ if (null) script.crossOrigin = null; -/******/ document.head.appendChild(script); -/******/ } -/******/ -/******/ // eslint-disable-next-line no-unused-vars -/******/ function hotDownloadManifest(requestTimeout) { -/******/ requestTimeout = requestTimeout || 10000; -/******/ return new Promise(function(resolve, reject) { -/******/ if (typeof XMLHttpRequest === "undefined") { -/******/ return reject(new Error("No browser support")); -/******/ } -/******/ try { -/******/ var request = new XMLHttpRequest(); -/******/ var requestPath = __webpack_require__.p + "" + hotCurrentHash + ".hot-update.json"; -/******/ request.open("GET", requestPath, true); -/******/ request.timeout = requestTimeout; -/******/ request.send(null); -/******/ } catch (err) { -/******/ return reject(err); -/******/ } -/******/ request.onreadystatechange = function() { -/******/ if (request.readyState !== 4) return; -/******/ if (request.status === 0) { -/******/ // timeout -/******/ reject( -/******/ new Error("Manifest request to " + requestPath + " timed out.") -/******/ ); -/******/ } else if (request.status === 404) { -/******/ // no update available -/******/ resolve(); -/******/ } else if (request.status !== 200 && request.status !== 304) { -/******/ // other failure -/******/ reject(new Error("Manifest request to " + requestPath + " failed.")); -/******/ } else { -/******/ // success -/******/ try { -/******/ var update = JSON.parse(request.responseText); -/******/ } catch (e) { -/******/ reject(e); -/******/ return; -/******/ } -/******/ resolve(update); -/******/ } -/******/ }; -/******/ }); -/******/ } -/******/ -/******/ var hotApplyOnUpdate = true; -/******/ // eslint-disable-next-line no-unused-vars -/******/ var hotCurrentHash = "cf39fa673c8475821fda"; -/******/ var hotRequestTimeout = 10000; -/******/ var hotCurrentModuleData = {}; -/******/ var hotCurrentChildModule; -/******/ // eslint-disable-next-line no-unused-vars -/******/ var hotCurrentParents = []; -/******/ // eslint-disable-next-line no-unused-vars -/******/ var hotCurrentParentsTemp = []; -/******/ -/******/ // eslint-disable-next-line no-unused-vars -/******/ function hotCreateRequire(moduleId) { -/******/ var me = installedModules[moduleId]; -/******/ if (!me) return __webpack_require__; -/******/ var fn = function(request) { -/******/ if (me.hot.active) { -/******/ if (installedModules[request]) { -/******/ if (installedModules[request].parents.indexOf(moduleId) === -1) { -/******/ installedModules[request].parents.push(moduleId); -/******/ } -/******/ } else { -/******/ hotCurrentParents = [moduleId]; -/******/ hotCurrentChildModule = request; -/******/ } -/******/ if (me.children.indexOf(request) === -1) { -/******/ me.children.push(request); -/******/ } -/******/ } else { -/******/ console.warn( -/******/ "[HMR] unexpected require(" + -/******/ request + -/******/ ") from disposed module " + -/******/ moduleId -/******/ ); -/******/ hotCurrentParents = []; -/******/ } -/******/ return __webpack_require__(request); -/******/ }; -/******/ var ObjectFactory = function ObjectFactory(name) { -/******/ return { -/******/ configurable: true, -/******/ enumerable: true, -/******/ get: function() { -/******/ return __webpack_require__[name]; -/******/ }, -/******/ set: function(value) { -/******/ __webpack_require__[name] = value; -/******/ } -/******/ }; -/******/ }; -/******/ for (var name in __webpack_require__) { -/******/ if ( -/******/ Object.prototype.hasOwnProperty.call(__webpack_require__, name) && -/******/ name !== "e" && -/******/ name !== "t" -/******/ ) { -/******/ Object.defineProperty(fn, name, ObjectFactory(name)); -/******/ } -/******/ } -/******/ fn.e = function(chunkId) { -/******/ if (hotStatus === "ready") hotSetStatus("prepare"); -/******/ hotChunksLoading++; -/******/ return __webpack_require__.e(chunkId).then(finishChunkLoading, function(err) { -/******/ finishChunkLoading(); -/******/ throw err; -/******/ }); -/******/ -/******/ function finishChunkLoading() { -/******/ hotChunksLoading--; -/******/ if (hotStatus === "prepare") { -/******/ if (!hotWaitingFilesMap[chunkId]) { -/******/ hotEnsureUpdateChunk(chunkId); -/******/ } -/******/ if (hotChunksLoading === 0 && hotWaitingFiles === 0) { -/******/ hotUpdateDownloaded(); -/******/ } -/******/ } -/******/ } -/******/ }; -/******/ fn.t = function(value, mode) { -/******/ if (mode & 1) value = fn(value); -/******/ return __webpack_require__.t(value, mode & ~1); -/******/ }; -/******/ return fn; -/******/ } -/******/ -/******/ // eslint-disable-next-line no-unused-vars -/******/ function hotCreateModule(moduleId) { -/******/ var hot = { -/******/ // private stuff -/******/ _acceptedDependencies: {}, -/******/ _declinedDependencies: {}, -/******/ _selfAccepted: false, -/******/ _selfDeclined: false, -/******/ _disposeHandlers: [], -/******/ _main: hotCurrentChildModule !== moduleId, -/******/ -/******/ // Module API -/******/ active: true, -/******/ accept: function(dep, callback) { -/******/ if (dep === undefined) hot._selfAccepted = true; -/******/ else if (typeof dep === "function") hot._selfAccepted = dep; -/******/ else if (typeof dep === "object") -/******/ for (var i = 0; i < dep.length; i++) -/******/ hot._acceptedDependencies[dep[i]] = callback || function() {}; -/******/ else hot._acceptedDependencies[dep] = callback || function() {}; -/******/ }, -/******/ decline: function(dep) { -/******/ if (dep === undefined) hot._selfDeclined = true; -/******/ else if (typeof dep === "object") -/******/ for (var i = 0; i < dep.length; i++) -/******/ hot._declinedDependencies[dep[i]] = true; -/******/ else hot._declinedDependencies[dep] = true; -/******/ }, -/******/ dispose: function(callback) { -/******/ hot._disposeHandlers.push(callback); -/******/ }, -/******/ addDisposeHandler: function(callback) { -/******/ hot._disposeHandlers.push(callback); -/******/ }, -/******/ removeDisposeHandler: function(callback) { -/******/ var idx = hot._disposeHandlers.indexOf(callback); -/******/ if (idx >= 0) hot._disposeHandlers.splice(idx, 1); -/******/ }, -/******/ -/******/ // Management API -/******/ check: hotCheck, -/******/ apply: hotApply, -/******/ status: function(l) { -/******/ if (!l) return hotStatus; -/******/ hotStatusHandlers.push(l); -/******/ }, -/******/ addStatusHandler: function(l) { -/******/ hotStatusHandlers.push(l); -/******/ }, -/******/ removeStatusHandler: function(l) { -/******/ var idx = hotStatusHandlers.indexOf(l); -/******/ if (idx >= 0) hotStatusHandlers.splice(idx, 1); -/******/ }, -/******/ -/******/ //inherit from previous dispose call -/******/ data: hotCurrentModuleData[moduleId] -/******/ }; -/******/ hotCurrentChildModule = undefined; -/******/ return hot; -/******/ } -/******/ -/******/ var hotStatusHandlers = []; -/******/ var hotStatus = "idle"; -/******/ -/******/ function hotSetStatus(newStatus) { -/******/ hotStatus = newStatus; -/******/ for (var i = 0; i < hotStatusHandlers.length; i++) -/******/ hotStatusHandlers[i].call(null, newStatus); -/******/ } -/******/ -/******/ // while downloading -/******/ var hotWaitingFiles = 0; -/******/ var hotChunksLoading = 0; -/******/ var hotWaitingFilesMap = {}; -/******/ var hotRequestedFilesMap = {}; -/******/ var hotAvailableFilesMap = {}; -/******/ var hotDeferred; -/******/ -/******/ // The update info -/******/ var hotUpdate, hotUpdateNewHash; -/******/ -/******/ function toModuleId(id) { -/******/ var isNumber = +id + "" === id; -/******/ return isNumber ? +id : id; -/******/ } -/******/ -/******/ function hotCheck(apply) { -/******/ if (hotStatus !== "idle") { -/******/ throw new Error("check() is only allowed in idle status"); -/******/ } -/******/ hotApplyOnUpdate = apply; -/******/ hotSetStatus("check"); -/******/ return hotDownloadManifest(hotRequestTimeout).then(function(update) { -/******/ if (!update) { -/******/ hotSetStatus("idle"); -/******/ return null; -/******/ } -/******/ hotRequestedFilesMap = {}; -/******/ hotWaitingFilesMap = {}; -/******/ hotAvailableFilesMap = update.c; -/******/ hotUpdateNewHash = update.h; -/******/ -/******/ hotSetStatus("prepare"); -/******/ var promise = new Promise(function(resolve, reject) { -/******/ hotDeferred = { -/******/ resolve: resolve, -/******/ reject: reject -/******/ }; -/******/ }); -/******/ hotUpdate = {}; -/******/ var chunkId = "cornerstoneWADOImageLoader"; -/******/ // eslint-disable-next-line no-lone-blocks -/******/ { -/******/ /*globals chunkId */ -/******/ hotEnsureUpdateChunk(chunkId); -/******/ } -/******/ if ( -/******/ hotStatus === "prepare" && -/******/ hotChunksLoading === 0 && -/******/ hotWaitingFiles === 0 -/******/ ) { -/******/ hotUpdateDownloaded(); -/******/ } -/******/ return promise; -/******/ }); -/******/ } -/******/ -/******/ // eslint-disable-next-line no-unused-vars -/******/ function hotAddUpdateChunk(chunkId, moreModules) { -/******/ if (!hotAvailableFilesMap[chunkId] || !hotRequestedFilesMap[chunkId]) -/******/ return; -/******/ hotRequestedFilesMap[chunkId] = false; -/******/ for (var moduleId in moreModules) { -/******/ if (Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { -/******/ hotUpdate[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if (--hotWaitingFiles === 0 && hotChunksLoading === 0) { -/******/ hotUpdateDownloaded(); -/******/ } -/******/ } -/******/ -/******/ function hotEnsureUpdateChunk(chunkId) { -/******/ if (!hotAvailableFilesMap[chunkId]) { -/******/ hotWaitingFilesMap[chunkId] = true; -/******/ } else { -/******/ hotRequestedFilesMap[chunkId] = true; -/******/ hotWaitingFiles++; -/******/ hotDownloadUpdateChunk(chunkId); -/******/ } -/******/ } -/******/ -/******/ function hotUpdateDownloaded() { -/******/ hotSetStatus("ready"); -/******/ var deferred = hotDeferred; -/******/ hotDeferred = null; -/******/ if (!deferred) return; -/******/ if (hotApplyOnUpdate) { -/******/ // Wrap deferred object in Promise to mark it as a well-handled Promise to -/******/ // avoid triggering uncaught exception warning in Chrome. -/******/ // See https://bugs.chromium.org/p/chromium/issues/detail?id=465666 -/******/ Promise.resolve() -/******/ .then(function() { -/******/ return hotApply(hotApplyOnUpdate); -/******/ }) -/******/ .then( -/******/ function(result) { -/******/ deferred.resolve(result); -/******/ }, -/******/ function(err) { -/******/ deferred.reject(err); -/******/ } -/******/ ); -/******/ } else { -/******/ var outdatedModules = []; -/******/ for (var id in hotUpdate) { -/******/ if (Object.prototype.hasOwnProperty.call(hotUpdate, id)) { -/******/ outdatedModules.push(toModuleId(id)); -/******/ } -/******/ } -/******/ deferred.resolve(outdatedModules); -/******/ } -/******/ } -/******/ -/******/ function hotApply(options) { -/******/ if (hotStatus !== "ready") -/******/ throw new Error("apply() is only allowed in ready status"); -/******/ options = options || {}; -/******/ -/******/ var cb; -/******/ var i; -/******/ var j; -/******/ var module; -/******/ var moduleId; -/******/ -/******/ function getAffectedStuff(updateModuleId) { -/******/ var outdatedModules = [updateModuleId]; -/******/ var outdatedDependencies = {}; -/******/ -/******/ var queue = outdatedModules.map(function(id) { -/******/ return { -/******/ chain: [id], -/******/ id: id -/******/ }; -/******/ }); -/******/ while (queue.length > 0) { -/******/ var queueItem = queue.pop(); -/******/ var moduleId = queueItem.id; -/******/ var chain = queueItem.chain; -/******/ module = installedModules[moduleId]; -/******/ if (!module || module.hot._selfAccepted) continue; -/******/ if (module.hot._selfDeclined) { -/******/ return { -/******/ type: "self-declined", -/******/ chain: chain, -/******/ moduleId: moduleId -/******/ }; -/******/ } -/******/ if (module.hot._main) { -/******/ return { -/******/ type: "unaccepted", -/******/ chain: chain, -/******/ moduleId: moduleId -/******/ }; -/******/ } -/******/ for (var i = 0; i < module.parents.length; i++) { -/******/ var parentId = module.parents[i]; -/******/ var parent = installedModules[parentId]; -/******/ if (!parent) continue; -/******/ if (parent.hot._declinedDependencies[moduleId]) { -/******/ return { -/******/ type: "declined", -/******/ chain: chain.concat([parentId]), -/******/ moduleId: moduleId, -/******/ parentId: parentId -/******/ }; -/******/ } -/******/ if (outdatedModules.indexOf(parentId) !== -1) continue; -/******/ if (parent.hot._acceptedDependencies[moduleId]) { -/******/ if (!outdatedDependencies[parentId]) -/******/ outdatedDependencies[parentId] = []; -/******/ addAllToSet(outdatedDependencies[parentId], [moduleId]); -/******/ continue; -/******/ } -/******/ delete outdatedDependencies[parentId]; -/******/ outdatedModules.push(parentId); -/******/ queue.push({ -/******/ chain: chain.concat([parentId]), -/******/ id: parentId -/******/ }); -/******/ } -/******/ } -/******/ -/******/ return { -/******/ type: "accepted", -/******/ moduleId: updateModuleId, -/******/ outdatedModules: outdatedModules, -/******/ outdatedDependencies: outdatedDependencies -/******/ }; -/******/ } -/******/ -/******/ function addAllToSet(a, b) { -/******/ for (var i = 0; i < b.length; i++) { -/******/ var item = b[i]; -/******/ if (a.indexOf(item) === -1) a.push(item); -/******/ } -/******/ } -/******/ -/******/ // at begin all updates modules are outdated -/******/ // the "outdated" status can propagate to parents if they don't accept the children -/******/ var outdatedDependencies = {}; -/******/ var outdatedModules = []; -/******/ var appliedUpdate = {}; -/******/ -/******/ var warnUnexpectedRequire = function warnUnexpectedRequire() { -/******/ console.warn( -/******/ "[HMR] unexpected require(" + result.moduleId + ") to disposed module" -/******/ ); -/******/ }; -/******/ -/******/ for (var id in hotUpdate) { -/******/ if (Object.prototype.hasOwnProperty.call(hotUpdate, id)) { -/******/ moduleId = toModuleId(id); -/******/ /** @type {TODO} */ -/******/ var result; -/******/ if (hotUpdate[id]) { -/******/ result = getAffectedStuff(moduleId); -/******/ } else { -/******/ result = { -/******/ type: "disposed", -/******/ moduleId: id -/******/ }; -/******/ } -/******/ /** @type {Error|false} */ -/******/ var abortError = false; -/******/ var doApply = false; -/******/ var doDispose = false; -/******/ var chainInfo = ""; -/******/ if (result.chain) { -/******/ chainInfo = "\nUpdate propagation: " + result.chain.join(" -> "); -/******/ } -/******/ switch (result.type) { -/******/ case "self-declined": -/******/ if (options.onDeclined) options.onDeclined(result); -/******/ if (!options.ignoreDeclined) -/******/ abortError = new Error( -/******/ "Aborted because of self decline: " + -/******/ result.moduleId + -/******/ chainInfo -/******/ ); -/******/ break; -/******/ case "declined": -/******/ if (options.onDeclined) options.onDeclined(result); -/******/ if (!options.ignoreDeclined) -/******/ abortError = new Error( -/******/ "Aborted because of declined dependency: " + -/******/ result.moduleId + -/******/ " in " + -/******/ result.parentId + -/******/ chainInfo -/******/ ); -/******/ break; -/******/ case "unaccepted": -/******/ if (options.onUnaccepted) options.onUnaccepted(result); -/******/ if (!options.ignoreUnaccepted) -/******/ abortError = new Error( -/******/ "Aborted because " + moduleId + " is not accepted" + chainInfo -/******/ ); -/******/ break; -/******/ case "accepted": -/******/ if (options.onAccepted) options.onAccepted(result); -/******/ doApply = true; -/******/ break; -/******/ case "disposed": -/******/ if (options.onDisposed) options.onDisposed(result); -/******/ doDispose = true; -/******/ break; -/******/ default: -/******/ throw new Error("Unexception type " + result.type); -/******/ } -/******/ if (abortError) { -/******/ hotSetStatus("abort"); -/******/ return Promise.reject(abortError); -/******/ } -/******/ if (doApply) { -/******/ appliedUpdate[moduleId] = hotUpdate[moduleId]; -/******/ addAllToSet(outdatedModules, result.outdatedModules); -/******/ for (moduleId in result.outdatedDependencies) { -/******/ if ( -/******/ Object.prototype.hasOwnProperty.call( -/******/ result.outdatedDependencies, -/******/ moduleId -/******/ ) -/******/ ) { -/******/ if (!outdatedDependencies[moduleId]) -/******/ outdatedDependencies[moduleId] = []; -/******/ addAllToSet( -/******/ outdatedDependencies[moduleId], -/******/ result.outdatedDependencies[moduleId] -/******/ ); -/******/ } -/******/ } -/******/ } -/******/ if (doDispose) { -/******/ addAllToSet(outdatedModules, [result.moduleId]); -/******/ appliedUpdate[moduleId] = warnUnexpectedRequire; -/******/ } -/******/ } -/******/ } -/******/ -/******/ // Store self accepted outdated modules to require them later by the module system -/******/ var outdatedSelfAcceptedModules = []; -/******/ for (i = 0; i < outdatedModules.length; i++) { -/******/ moduleId = outdatedModules[i]; -/******/ if ( -/******/ installedModules[moduleId] && -/******/ installedModules[moduleId].hot._selfAccepted && -/******/ // removed self-accepted modules should not be required -/******/ appliedUpdate[moduleId] !== warnUnexpectedRequire -/******/ ) { -/******/ outdatedSelfAcceptedModules.push({ -/******/ module: moduleId, -/******/ errorHandler: installedModules[moduleId].hot._selfAccepted -/******/ }); -/******/ } -/******/ } -/******/ -/******/ // Now in "dispose" phase -/******/ hotSetStatus("dispose"); -/******/ Object.keys(hotAvailableFilesMap).forEach(function(chunkId) { -/******/ if (hotAvailableFilesMap[chunkId] === false) { -/******/ hotDisposeChunk(chunkId); -/******/ } -/******/ }); -/******/ -/******/ var idx; -/******/ var queue = outdatedModules.slice(); -/******/ while (queue.length > 0) { -/******/ moduleId = queue.pop(); -/******/ module = installedModules[moduleId]; -/******/ if (!module) continue; -/******/ -/******/ var data = {}; -/******/ -/******/ // Call dispose handlers -/******/ var disposeHandlers = module.hot._disposeHandlers; -/******/ for (j = 0; j < disposeHandlers.length; j++) { -/******/ cb = disposeHandlers[j]; -/******/ cb(data); -/******/ } -/******/ hotCurrentModuleData[moduleId] = data; -/******/ -/******/ // disable module (this disables requires from this module) -/******/ module.hot.active = false; -/******/ -/******/ // remove module from cache -/******/ delete installedModules[moduleId]; -/******/ -/******/ // when disposing there is no need to call dispose handler -/******/ delete outdatedDependencies[moduleId]; -/******/ -/******/ // remove "parents" references from all children -/******/ for (j = 0; j < module.children.length; j++) { -/******/ var child = installedModules[module.children[j]]; -/******/ if (!child) continue; -/******/ idx = child.parents.indexOf(moduleId); -/******/ if (idx >= 0) { -/******/ child.parents.splice(idx, 1); -/******/ } -/******/ } -/******/ } -/******/ -/******/ // remove outdated dependency from module children -/******/ var dependency; -/******/ var moduleOutdatedDependencies; -/******/ for (moduleId in outdatedDependencies) { -/******/ if ( -/******/ Object.prototype.hasOwnProperty.call(outdatedDependencies, moduleId) -/******/ ) { -/******/ module = installedModules[moduleId]; -/******/ if (module) { -/******/ moduleOutdatedDependencies = outdatedDependencies[moduleId]; -/******/ for (j = 0; j < moduleOutdatedDependencies.length; j++) { -/******/ dependency = moduleOutdatedDependencies[j]; -/******/ idx = module.children.indexOf(dependency); -/******/ if (idx >= 0) module.children.splice(idx, 1); -/******/ } -/******/ } -/******/ } -/******/ } -/******/ -/******/ // Now in "apply" phase -/******/ hotSetStatus("apply"); -/******/ -/******/ hotCurrentHash = hotUpdateNewHash; -/******/ -/******/ // insert new code -/******/ for (moduleId in appliedUpdate) { -/******/ if (Object.prototype.hasOwnProperty.call(appliedUpdate, moduleId)) { -/******/ modules[moduleId] = appliedUpdate[moduleId]; -/******/ } -/******/ } -/******/ -/******/ // call accept handlers -/******/ var error = null; -/******/ for (moduleId in outdatedDependencies) { -/******/ if ( -/******/ Object.prototype.hasOwnProperty.call(outdatedDependencies, moduleId) -/******/ ) { -/******/ module = installedModules[moduleId]; -/******/ if (module) { -/******/ moduleOutdatedDependencies = outdatedDependencies[moduleId]; -/******/ var callbacks = []; -/******/ for (i = 0; i < moduleOutdatedDependencies.length; i++) { -/******/ dependency = moduleOutdatedDependencies[i]; -/******/ cb = module.hot._acceptedDependencies[dependency]; -/******/ if (cb) { -/******/ if (callbacks.indexOf(cb) !== -1) continue; -/******/ callbacks.push(cb); -/******/ } -/******/ } -/******/ for (i = 0; i < callbacks.length; i++) { -/******/ cb = callbacks[i]; -/******/ try { -/******/ cb(moduleOutdatedDependencies); -/******/ } catch (err) { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "accept-errored", -/******/ moduleId: moduleId, -/******/ dependencyId: moduleOutdatedDependencies[i], -/******/ error: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ if (!error) error = err; -/******/ } -/******/ } -/******/ } -/******/ } -/******/ } -/******/ } -/******/ -/******/ // Load self accepted modules -/******/ for (i = 0; i < outdatedSelfAcceptedModules.length; i++) { -/******/ var item = outdatedSelfAcceptedModules[i]; -/******/ moduleId = item.module; -/******/ hotCurrentParents = [moduleId]; -/******/ try { -/******/ __webpack_require__(moduleId); -/******/ } catch (err) { -/******/ if (typeof item.errorHandler === "function") { -/******/ try { -/******/ item.errorHandler(err); -/******/ } catch (err2) { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "self-accept-error-handler-errored", -/******/ moduleId: moduleId, -/******/ error: err2, -/******/ originalError: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ if (!error) error = err2; -/******/ } -/******/ if (!error) error = err; -/******/ } -/******/ } else { -/******/ if (options.onErrored) { -/******/ options.onErrored({ -/******/ type: "self-accept-errored", -/******/ moduleId: moduleId, -/******/ error: err -/******/ }); -/******/ } -/******/ if (!options.ignoreErrored) { -/******/ if (!error) error = err; -/******/ } -/******/ } -/******/ } -/******/ } -/******/ -/******/ // handle errors in accept handlers and self accepted module load -/******/ if (error) { -/******/ hotSetStatus("fail"); -/******/ return Promise.reject(error); -/******/ } -/******/ -/******/ hotSetStatus("idle"); -/******/ return new Promise(function(resolve) { -/******/ resolve(outdatedModules); -/******/ }); -/******/ } -/******/ -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {}, -/******/ hot: hotCreateModule(moduleId), -/******/ parents: (hotCurrentParentsTemp = hotCurrentParents, hotCurrentParents = [], hotCurrentParentsTemp), -/******/ children: [] -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId)); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // __webpack_hash__ -/******/ __webpack_require__.h = function() { return hotCurrentHash; }; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return hotCreateRequire("./imageLoader/index.js")(__webpack_require__.s = "./imageLoader/index.js"); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "../codecs/charLS-FixedMemory-browser.js": -/*!***********************************************!*\ - !*** ../codecs/charLS-FixedMemory-browser.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -/*! CharLS.js - v2.0.1 - 2016-06-08 | (c) 2016 Chris Hafey | https://github.com/chafey/charls */ - -// Notes: -// - Had to patch parsejsfunc -var CharLS = function(Module) { - Module = Module || {}; - - var Module;if(!Module)Module=(typeof CharLS!=="undefined"?CharLS:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||4e8;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+59744;__ATINIT__.push({func:(function(){__GLOBAL__I_000101()})},{func:(function(){__GLOBAL__sub_I_jpegls_cpp()})},{func:(function(){__GLOBAL__sub_I_iostream_cpp()})});allocate([0,0,0,0,0,0,0,0,84,144,0,0,31,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,237,191,0,0,48,0,0,0,0,0,0,0,44,144,0,0,41,192,0,0,84,144,0,0,55,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,115,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,192,0,0,152,3,0,0,0,0,0,0,84,144,0,0,241,192,0,0,216,3,0,0,0,0,0,0,84,144,0,0,55,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,95,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,135,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,216,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,241,193,0,0,48,0,0,0,0,0,0,0,44,144,0,0,13,194,0,0,84,144,0,0,80,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,44,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,139,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,179,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,219,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,3,195,0,0,48,0,0,0,0,0,0,0,84,144,0,0,103,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,157,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,211,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,8,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,71,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,138,196,0,0,160,1,0,0,0,0,0,0,44,144,0,0,120,196,0,0,84,144,0,0,187,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,246,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,49,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,103,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,157,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,210,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,17,198,0,0,160,1,0,0,0,0,0,0,84,144,0,0,86,198,0,0,72,3,0,0,0,0,0,0,84,144,0,0,162,198,0,0,56,2,0,0,0,0,0,0,44,144,0,0,182,198,0,0,84,144,0,0,196,198,0,0,56,2,0,0,0,0,0,0,84,144,0,0,112,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,125,199,0,0,84,144,0,0,138,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,156,199,0,0,84,144,0,0,169,199,0,0,96,2,0,0,0,0,0,0,84,144,0,0,181,199,0,0,120,2,0,0,0,0,0,0,84,144,0,0,214,199,0,0,144,2,0,0,0,0,0,0,84,144,0,0,28,200,0,0,144,2,0,0,0,0,0,0,84,144,0,0,248,199,0,0,176,2,0,0,0,0,0,0,84,144,0,0,62,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,99,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,182,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,245,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,13,222,0,0,152,3,0,0,0,0,0,0,84,144,0,0,38,222,0,0,152,3,0,0,0,0,0,0,44,144,0,0,62,222,0,0,84,144,0,0,87,222,0,0,104,2,0,0,0,0,0,0,44,144,0,0,110,222,0,0,84,144,0,0,135,222,0,0,72,3,0,0,0,0,0,0,84,144,0,0,161,222,0,0,56,3,0,0,0,0,0,0,44,144,0,0,187,222,0,0,84,144,0,0,205,222,0,0,112,3,0,0,0,0,0,0,84,144,0,0,247,222,0,0,112,3,0,0,0,0,0,0,44,144,0,0,33,223,0,0,44,144,0,0,82,223,0,0,124,144,0,0,131,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,178,223,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,124,144,0,0,225,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,16,224,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,84,144,0,0,63,224,0,0,80,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,144,0,0,187,224,0,0,48,3,0,0,0,0,0,0,124,144,0,0,209,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,124,144,0,0,227,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,5,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,40,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,75,225,0,0,144,4,0,0,0,0,0,0,84,144,0,0,109,225,0,0,144,4,0,0,0,0,0,0,124,144,0,0,144,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,178,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,200,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,220,225,0,0,32,4,0,0,0,0,0,0,124,144,0,0,240,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,84,144,0,0,2,226,0,0,32,4,0,0,0,0,0,0,84,144,0,0,23,226,0,0,32,4,0,0,0,0,0,0,124,144,0,0,44,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,80,10,0,0,0,0,0,0,124,144,0,0,112,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,104,10,0,0,0,0,0,0,124,144,0,0,180,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,128,10,0,0,0,0,0,0,124,144,0,0,248,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,152,10,0,0,0,0,0,0,124,144,0,0,60,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,184,10,0,0,0,8,0,0,124,144,0,0,129,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,192,10,0,0,0,8,0,0,124,144,0,0,198,227,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,11,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,80,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,108,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,136,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,164,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,192,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,216,10,0,0,0,0,0,0,124,144,0,0,6,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,224,10,0,0,0,0,0,0,124,144,0,0,76,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,232,10,0,0,0,0,0,0,124,144,0,0,146,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,240,10,0,0,0,0,0,0,124,144,0,0,216,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,124,144,0,0,237,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,144,0,0,73,233,0,0,44,144,0,0,50,233,0,0,124,144,0,0,28,233,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,237,232,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,215,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,124,144,0,0,168,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,44,144,0,0,149,232,0,0,44,144,0,0,115,232,0,0,44,144,0,0,81,232,0,0,44,144,0,0,60,232,0,0,44,144,0,0,39,232,0,0,44,144,0,0,14,232,0,0,44,144,0,0,245,231,0,0,44,144,0,0,220,231,0,0,44,144,0,0,195,231,0,0,44,144,0,0,171,231,0,0,44,144,0,0,190,232,0,0,44,144,0,0,3,233],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([156,143,0,0,0,0,0,0,8,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,248,1,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,1,0,0,5,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,7,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,200,1,0,0,9,0,0,0,10,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,184,1,0,0,11,0,0,0,12,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,168,1,0,0,13,0,0,0,14,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,144,1,0,0,15,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,128,1,0,0,17,0,0,0,18,0,0,0,9,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,112,1,0,0,19,0,0,0,20,0,0,0,10,0,0,0,2,0,0,0,10,0,0,0,0,0,0,0,96,1,0,0,21,0,0,0,22,0,0,0,11,0,0,0,3,0,0,0,11,0,0,0,0,0,0,0,80,1,0,0,23,0,0,0,24,0,0,0,12,0,0,0,4,0,0,0,12,0,0,0,0,0,0,0,64,1,0,0,25,0,0,0,26,0,0,0,13,0,0,0,5,0,0,0,13,0,0,0,0,0,0,0,240,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,6,0,0,0,14,0,0,0,0,0,0,0,224,0,0,0,29,0,0,0,30,0,0,0,15,0,0,0,7,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,31,0,0,0,32,0,0,0,16,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,200,0,0,0,33,0,0,0,34,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,184,0,0,0,33,0,0,0,35,0,0,0,3,0,0,0,4,0,0,0,56,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,200,255,255,255,200,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,56,0,0,0,0,0,0,0,104,0,0,0,40,0,0,0,41,0,0,0,200,255,255,255,200,255,255,255,104,0,0,0,42,0,0,0,43,0,0,0,0,0,0,0,88,0,0,0,44,0,0,0,45,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,17,0,0,0,3,0,0,0,18,0,0,0,104,141,0,0,64,141,0,0,84,141,0,0,124,141,0,0,0,0,0,0,32,0,0,0,46,0,0,0,47,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,56,0,0,0,48,0,0,0,49,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,72,0,0,0,50,0,0,0,51,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,120,0,0,0,52,0,0,0,53,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,136,0,0,0,54,0,0,0,55,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,152,0,0,0,56,0,0,0,57,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,168,0,0,0,58,0,0,0,59,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,216,0,0,0,60,0,0,0,61,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,62,0,0,0,63,0,0,0,20,0,0,0,21,0,0,0,0,0,0,0,16,1,0,0,64,0,0,0,65,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,32,1,0,0,66,0,0,0,67,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,48,1,0,0,68,0,0,0,69,0,0,0,26,0,0,0,27,0,0,0,0,0,0,0,160,1,0,0,70,0,0,0,71,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,24,2,0,0,72,0,0,0,73,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,40,2,0,0,74,0,0,0,75,0,0,0,18,0,0,0,0,0,0,0,64,2,0,0,76,0,0,0,77,0,0,0,19,0,0,0,2,0,0,0,0,0,0,0,80,2,0,0,78,0,0,0,79,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,104,2,0,0,80,0,0,0,81,0,0,0,7,0,0,0,0,0,0,0,128,2,0,0,82,0,0,0,83,0,0,0,8,0,0,0,0,0,0,0,160,2,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,2,0,0,0,9,0,0,0,28,0,0,0,0,0,0,0,208,2,0,0,84,0,0,0,88,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,3,0,0,0,10,0,0,0,29,0,0,0,0,0,0,0,224,2,0,0,84,0,0,0,89,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,4,0,0,0,11,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,1,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,88,146,0,0,200,146,0,0,56,147,0,0,56,147,0,0,120,187,0,0,168,155,0,0,168,149,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,9,0,0,0,159,219,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,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,9,0,0,0,151,215,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,9,0,0,0,143,211,0,0,0,4,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,10,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+35640);allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+39844);allocate([240,2,0,0,90,0,0,0,91,0,0,0,20,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,14,0,0,0,20,0,0,0,0,0,0,0,0,3,0,0,90,0,0,0,92,0,0,0,21,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,16,0,0,0,21,0,0,0,15,0,0,0,22,0,0,0,0,0,0,0,16,3,0,0,93,0,0,0,94,0,0,0,22,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,32,3,0,0,93,0,0,0,95,0,0,0,23,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,19,0,0,0,20,0,0,0,25,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,56,3,0,0,96,0,0,0,97,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,3,0,0,93,0,0,0,98,0,0,0,17,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,160,3,0,0,90,0,0,0,99,0,0,0,24,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,15,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,168,3,0,0,100,0,0,0,101,0,0,0,248,255,255,255,248,255,255,255,168,3,0,0,102,0,0,0,103,0,0,0,8,0,0,0,0,0,0,0,192,3,0,0,104,0,0,0,105,0,0,0,248,255,255,255,248,255,255,255,192,3,0,0,106,0,0,0,107,0,0,0,4,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,252,255,255,255,252,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,4,0,0,0,0,0,0,0,240,3,0,0,108,0,0,0,109,0,0,0,252,255,255,255,252,255,255,255,240,3,0,0,110,0,0,0,111,0,0,0,0,0,0,0,96,3,0,0,112,0,0,0,113,0,0,0,7,0,0,0,0,0,0,0,112,3,0,0,114,0,0,0,115,0,0,0,0,0,0,0,8,4,0,0,72,0,0,0,116,0,0,0,21,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,117,0,0,0,118,0,0,0,119,0,0,0,1,0,0,0,33,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,5,0,0,120,0,0,0,121,0,0,0,119,0,0,0,2,0,0,0,34,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,5,0,0,122,0,0,0,123,0,0,0,119,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,5,0,0,124,0,0,0,125,0,0,0,119,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,5,0,0,126,0,0,0,127,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,5,0,0,128,0,0,0,129,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,26,0,0,0,3,0,0,0,4,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,5,0,0,130,0,0,0,131,0,0,0,119,0,0,0,22,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,248,255,255,255,224,5,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,0,0,132,0,0,0,133,0,0,0,119,0,0,0,30,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,2,0,0,0,248,255,255,255,8,6,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,6,0,0,134,0,0,0,135,0,0,0,119,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,6,0,0,136,0,0,0,137,0,0,0,119,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,6,0,0,138,0,0,0,139,0,0,0,119,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,40,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,6,0,0,140,0,0,0,141,0,0,0,119,0,0,0,41,0,0,0,42,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,43,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,6,0,0,142,0,0,0,143,0,0,0,119,0,0,0,44,0,0,0,45,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,46,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,6,0,0,144,0,0,0,145,0,0,0,119,0,0,0,47,0,0,0,48,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,49,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,6,0,0,146,0,0,0,147,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,0,0,148,0,0,0,149,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,7,0,0,150,0,0,0,151,0,0,0,119,0,0,0,1,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,7,0,0,152,0,0,0,153,0,0,0,119,0,0,0,2,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,0,0,154,0,0,0,155,0,0,0,119,0,0,0,19,0,0,0,7,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,7,0,0,156,0,0,0,157,0,0,0,119,0,0,0,20,0,0,0,8,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,4,0,0,158,0,0,0,159,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,5,0,0,160,0,0,0,161,0,0,0,119,0,0,0,27,0,0,0,21,0,0,0,28,0,0,0,22,0,0,0,29,0,0,0,9,0,0,0,23,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,4,0,0,162,0,0,0,163,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,12,0,0,0,50,0,0,0,51,0,0,0,13,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,5,0,0,164,0,0,0,165,0,0,0,119,0,0,0,53,0,0,0,54,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,80,5,0,0,166,0,0,0,167,0,0,0,119,0,0,0,55,0,0,0,56,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,0,0,0,0,32,4,0,0,168,0,0,0,169,0,0,0,119,0,0,0,0,0,0,0,48,4,0,0,168,0,0,0,170,0,0,0,119,0,0,0,24,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,30,0,0,0,25,0,0,0,31,0,0,0,26,0,0,0,32,0,0,0,13,0,0,0,27,0,0,0,14,0,0,0,0,0,0,0,80,4,0,0,168,0,0,0,171,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,15,0,0,0,57,0,0,0,58,0,0,0,16,0,0,0,59,0,0,0,0,0,0,0,112,4,0,0,168,0,0,0,172,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,17,0,0,0,60,0,0,0,61,0,0,0,18,0,0,0,62,0,0,0,0,0,0,0,144,4,0,0,168,0,0,0,173,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,176,4,0,0,168,0,0,0,174,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,192,4,0,0,168,0,0,0,175,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,32,2,32,2,32,2,32,2,32,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,96,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,213,8,213,8,213,8,213,8,213,8,213,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,4,192,4,192,4,192,4,192,4,192,4,192,8,214,8,214,8,214,8,214,8,214,8,214,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,4,192,4,192,4,192,4,192,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,119,83,116,114,101,97,109,32,111,114,32,114,97,119,68,97,116,97,32,110,101,101,100,115,32,116,111,32,114,101,102,101,114,101,110,99,101,32,116,111,32,115,111,109,101,116,104,105,110,103,0,119,105,100,116,104,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,104,101,105,103,104,116,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,98,105,116,115,112,101,114,115,97,109,112,108,101,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,50,44,32,49,54,93,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,110,101,101,100,115,32,116,111,32,98,101,32,115,101,116,32,116,111,32,97,32,118,97,108,117,101,32,111,102,32,123,78,111,110,101,44,32,83,97,109,112,108,101,44,32,76,105,110,101,125,0,99,111,109,112,111,110,101,110,116,115,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,50,53,53,93,0,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,119,105,116,104,32,116,104,101,32,111,116,104,101,114,32,112,97,114,97,109,101,116,101,114,115,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,110,111,116,32,98,101,32,115,101,116,32,116,111,32,83,97,109,112,108,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,52,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,32,111,110,108,121,32,98,101,32,115,101,116,32,116,111,32,78,111,110,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,49,0,67,111,108,111,114,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,0,78,111,32,109,111,114,101,32,98,121,116,101,115,32,97,118,97,105,108,97,98,108,101,32,105,110,32,105,110,112,117,116,32,98,117,102,102,101,114,44,32,115,116,105,108,108,32,110,101,101,100,101,100,105,110,103,32,0,65,110,32,111,100,100,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,40,0,41,32,99,97,110,110,111,116,32,98,101,32,115,119,97,112,112,101,100,46,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,69,0,49,49,80,114,111,99,101,115,115,76,105,110,101,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,105,110,103,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,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,49,49,57,98,97,115,105,99,95,111,115,116,114,105,110,103,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,116,69,69,0,50,50,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,83,116,114,101,97,109,0,50,53,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,67,111,109,112,111,110,101,110,116,0,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,104,69,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,67,104,97,114,76,83,32,101,114,114,111,114,0,99,104,97,114,108,115,0,49,53,99,104,97,114,108,115,95,99,97,116,101,103,111,114,121,0,112,97,114,97,109,115,46,88,116,104,117,109,98,110,97,105,108,32,105,115,32,62,32,48,32,98,117,116,32,112,97,114,97,109,115,46,116,104,117,109,98,110,97,105,108,32,61,61,32,110,117,108,108,95,112,116,114,0,49,55,74,112,101,103,77,97,114,107,101,114,83,101,103,109,101,110,116,0,49,49,74,112,101,103,83,101,103,109,101,110,116,0,50,48,74,112,101,103,73,109,97,103,101,68,97,116,97,83,101,103,109,101,110,116,0,69,120,112,101,99,116,101,100,32,74,80,69,71,32,77,97,114,107,101,114,32,115,116,97,114,116,32,98,121,116,101,32,48,120,70,70,32,98,117,116,32,116,104,101,32,98,121,116,101,32,118,97,108,117,101,32,119,97,115,32,48,120,0,74,80,69,71,32,101,110,99,111,100,105,110,103,32,119,105,116,104,32,109,97,114,107,101,114,32,0,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,0,85,110,107,110,111,119,110,32,74,80,69,71,32,109,97,114,107,101,114,32,0,32,101,110,99,111,117,110,116,101,114,101,100,46,0,109,114,102,120,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,83,116,57,116,121,112,101,95,105,110,102,111,0,83,116,56,98,97,100,95,99,97,115,116,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,101,120,99,101,112,116,105,111,110,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+42396);allocate([32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,80,79,83,73,88],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+52636);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,58,32,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,105,111,115,116,114,101,97,109,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,37,112,0,67,0,37,0,0,0,0,0,108,0,108,108,0,0,76,0,37,112,0,0,0,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,37,72,58,37,77,37,72,58,37,77,58,37,83,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,48,49,50,51,52,53,54,55,56,57,0,37,76,102,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,0,37,46,48,76,102,0,116,114,117,101,0,102,97,108,115,101,0,83,117,110,100,97,121,0,77,111,110,100,97,121,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,84,104,117,114,115,100,97,121,0,70,114,105,100,97,121,0,83,97,116,117,114,100,97,121,0,83,117,110,0,77,111,110,0,84,117,101,0,87,101,100,0,84,104,117,0,70,114,105,0,83,97,116,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,77,97,114,99,104,0,65,112,114,105,108,0,77,97,121,0,74,117,110,101,0,74,117,108,121,0,65,117,103,117,115,116,0,83,101,112,116,101,109,98,101,114,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,68,101,99,101,109,98,101,114,0,74,97,110,0,70,101,98,0,77,97,114,0,65,112,114,0,74,117,110,0,74,117,108,0,65,117,103,0,83,101,112,0,79,99,116,0,78,111,118,0,68,101,99,0,65,77,0,80,77,0,37,109,47,37,100,47,37,121,0,37,72,58,37,77,58,37,83,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,37,73,58,37,77,58,37,83,32,37,112,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+56215);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}Module["_memset"]=_memset;var _BDtoILow=true;var _emscripten_resume=true;function ___gxx_personality_v0(){}var _emscripten_landingpad=true;function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){return leadingNulls(date.tm_hour<13?date.tm_hour:date.tm_hour-12,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>0&&date.tm_hour<13){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _abort(){Module["abort"]()}function _free(){}Module["_free"]=_free;function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}function ___cxa_end_catch(){if(___cxa_end_catch.rethrown){___cxa_end_catch.rethrown=false;return}asm["setThrew"](0);var ptr=EXCEPTIONS.caught.pop();if(ptr){EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(ptr));EXCEPTIONS.last=0}}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}var _fabs=Math_abs;var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}var PATH=undefined;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter((function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}}));if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),xhrLoad:(function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)}),asyncLoad:(function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_i64Add"]=_i64Add;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_guard_release(){}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _llvm_eh_typeid_for(type){return type}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_mutex_lock(){}var _emscripten_postinvoke=true;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_bitshift64Shl"]=_bitshift64Shl;function ___cxa_guard_abort(){}Module["_memmove"]=_memmove;var _emscripten_preinvoke=true;var _BItoD=true;function _pthread_cond_wait(){return 0}function ___cxa_rethrow(){___cxa_end_catch.rethrown=true;var ptr=EXCEPTIONS.caught.pop();EXCEPTIONS.last=ptr;throw ptr}function _pthread_mutex_unlock(){}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer)___syscall146.buffer=[];var buffer=___syscall146.buffer;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function $b(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function ac(a){a=a|0;D=a}function bc(){return D|0}function cc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+128|0;p=w+44|0;s=w+8|0;l=w+4|0;n=w;q=e+4|0;r=e+8|0;o=0;Aa(35,c[e>>2]|0,c[q>>2]|0,c[r>>2]|0,f|0);m=o;o=0;if(!(m&1)){j=p;h=j+84|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(h|0));f=p+12|0;if((c[f>>2]|0)==0?(k=$(((c[p+8>>2]|0)+7|0)/8|0,c[p>>2]|0)|0,c[f>>2]=k,(c[p+24>>2]|0)!=0):0)c[f>>2]=$(c[p+16>>2]|0,k)|0;o=0;ha(176,s|0);m=o;o=0;if(!(m&1)){f=p+56|0;do if(c[f>>2]|0){o=0;f=ka(66,f|0)|0;m=o;o=0;if(!(m&1)){c[l>>2]=f;h=s+28|0;j=c[h>>2]|0;if(j>>>0<(c[s+32>>2]|0)>>>0){c[j>>2]=f;c[h>>2]=j+4;c[l>>2]=0;t=19;break}o=0;ia(57,s+24|0,l|0);m=o;o=0;if(m&1){h=Na(824,0)|0;f=D;j=c[l>>2]|0;c[l>>2]=0;if(!j)break;Bb[c[(c[j>>2]|0)+4>>2]&255](j);break}else{f=c[l>>2]|0;c[l>>2]=0;if(!f){t=19;break}Bb[c[(c[f>>2]|0)+4>>2]&255](f);t=19;break}}else t=15}else t=19;while(0);a:do if((t|0)==19){j=p+4|0;k=p+8|0;l=p+16|0;o=0;f=va(14,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;m=o;o=0;if(!(m&1)){c[n>>2]=f;m=s+28|0;h=c[m>>2]|0;do if(h>>>0>=(c[s+32>>2]|0)>>>0){o=0;ia(57,s+24|0,n|0);h=o;o=0;if(h&1){h=Na(824,0)|0;f=D;j=c[n>>2]|0;c[n>>2]=0;if(!j)break a;Bb[c[(c[j>>2]|0)+4>>2]&255](j);break a}else{f=c[n>>2]|0;c[n>>2]=0;if(!f)break;Bb[c[(c[f>>2]|0)+4>>2]&255](f);break}}else{c[h>>2]=f;c[m>>2]=h+4;c[n>>2]=0}while(0);f=c[p+28>>2]|0;if((f|0)!=0?(o=0,ia(58,s|0,f|0),t=o,o=0,t&1):0){t=15;break}b:do if(!(c[p+24>>2]|0)){f=$(c[j>>2]|0,c[p>>2]|0)|0;f=$(f,((c[k>>2]|0)+7|0)/8|0)|0;if((c[l>>2]|0)>0){j=0;while(1){o=0;wa(4,s|0,e|0,p|0);t=o;o=0;if(t&1)break;h=c[q>>2]|0;if(h){c[q>>2]=h+f;c[r>>2]=(c[r>>2]|0)-f}j=j+1|0;if((j|0)>=(c[l>>2]|0))break b}h=Na(824,0)|0;f=D;t=16;break a}}else{o=0;wa(4,s|0,e|0,p|0);t=o;o=0;if(t&1){t=15;break a}}while(0);o=0;ra(33,s|0,b|0)|0;t=o;o=0;if(!(t&1)){c[d>>2]=c[s+16>>2];if(g)a[g>>0]=0;j=s+24|0;f=c[j>>2]|0;if(f){h=c[m>>2]|0;if((h|0)!=(f|0)){do{g=h+-4|0;c[m>>2]=g;h=c[g>>2]|0;c[g>>2]=0;if(h)Bb[c[(c[h>>2]|0)+4>>2]&255](h);h=c[m>>2]|0}while((h|0)!=(f|0));f=c[j>>2]|0}cj(f)}g=0;i=w;return g|0}else t=15}else t=15}while(0);if((t|0)==15){h=Na(824,0)|0;f=D;t=16}m=s+24|0;j=c[m>>2]|0;if(j){l=s+28|0;k=c[l>>2]|0;if((k|0)!=(j|0)){do{s=k+-4|0;c[l>>2]=s;k=c[s>>2]|0;c[s>>2]=0;if(k)Bb[c[(c[k>>2]|0)+4>>2]&255](k);k=c[l>>2]|0}while((k|0)!=(j|0));j=c[m>>2]|0}cj(j)}}else t=5}else t=5;if((t|0)==5){h=Na(824,0)|0;f=D}s=(f|0)==(Ta(824)|0);k=Va(h|0)|0;f=(g|0)==0;if(!s){if(!f)a[g>>0]=0;Xa();g=14;i=w;return g|0}j=k+12|0;do if(!f){f=c[j>>2]|0;o=0;h=ua(1)|0;s=o;o=0;if(!(s&1))if((f|0)==(h|0)){ml(g,Eb[c[(c[k>>2]|0)+8>>2]&127](k)|0)|0;t=60;break}else{a[g>>0]=0;t=60;break}}else t=60;while(0);if((t|0)==60?(u=c[j>>2]|0,o=0,v=ua(1)|0,g=o,o=0,!(g&1)):0){g=(u|0)==(v|0)?c[k+8>>2]|0:13;Xa();i=w;return g|0}f=Na()|0;o=0;xa(3);w=o;o=0;if(w&1){w=Na(0)|0;ec(w)}else Ya(f|0);return 0}function dc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;l=i;i=i+112|0;g=l+96|0;k=l+84|0;m=l+72|0;n=l+60|0;p=l+48|0;q=l+36|0;r=l+24|0;s=l+12|0;t=l;j=(b|0)==0;if((a|0)==0&j){f=Ma(16)|0;o=0;wa(5,g|0,48504,52);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,g|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(g);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}h=c[e>>2]|0;if((h+-1|0)>>>0>65534){f=Ma(16)|0;o=0;wa(5,k|0,48557,41);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,k|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(k);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}g=c[e+4>>2]|0;if((g+-1|0)>>>0>65534){f=Ma(16)|0;o=0;wa(5,m|0,48599,42);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,m|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(m);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}f=c[e+8>>2]|0;if((f+-2|0)>>>0>14){f=Ma(16)|0;o=0;wa(5,n|0,48642,46);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,n|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(n);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}a=c[e+24>>2]|0;if(a>>>0>=3){f=Ma(16)|0;o=0;wa(5,p|0,48689,65);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,p|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(p);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}b=c[e+16>>2]|0;if((b+-1|0)>>>0>254){f=Ma(16)|0;o=0;wa(5,q|0,48755,44);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,q|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(q);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}if(!j?(q=$(g,h)|0,($($(q,(f|0)>8?2:1)|0,b)|0)>>>0>d>>>0):0){f=Ma(16)|0;o=0;wa(5,r|0,48800,58);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,r|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(r);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}switch(b|0){case 4:{if((a|0)!=2){i=l;return}f=Ma(16)|0;o=0;wa(5,s|0,48859,73);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,s|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(s);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}case 3:{i=l;return}default:{if(!a){i=l;return}f=Ma(16)|0;o=0;wa(5,t|0,48933,73);s=o;o=0;if(!(s&1)){o=0;b=ua(1)|0;s=o;o=0;if(!(s&1)?(o=0,Aa(36,f|0,1,b|0,t|0),s=o,o=0,!(s&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(t);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}}}function ec(a){a=a|0;Va(a|0)|0;jj()}function fc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;h=n+116|0;j=n;o=0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];ia(59,j|0,h|0);g=o;o=0;if(!(g&1)){if(e){g=j+16|0;d=g+84|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(d|0))}o=0;c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];ia(60,j|0,h|0);j=o;o=0;if(!(j&1)){if(f)a[f>>0]=0;m=0;i=n;return m|0}}b=Na(824,0)|0;j=D;j=(j|0)==(Ta(824)|0);b=Va(b|0)|0;d=(f|0)==0;if(!j){if(!d)a[f>>0]=0;Xa();m=14;i=n;return m|0}g=b+12|0;do if(!d){d=c[g>>2]|0;o=0;e=ua(1)|0;j=o;o=0;if(!(j&1))if((d|0)==(e|0)){ml(f,Eb[c[(c[b>>2]|0)+8>>2]&127](b)|0)|0;m=10;break}else{a[f>>0]=0;m=10;break}}else m=10;while(0);if((m|0)==10?(k=c[g>>2]|0,o=0,l=ua(1)|0,m=o,o=0,!(m&1)):0){m=(k|0)==(l|0)?c[b+8>>2]|0:13;Xa();i=n;return m|0}d=Na()|0;o=0;xa(3);n=o;o=0;if(n&1){n=Na(0)|0;ec(n)}else Ya(d|0);return 0}function gc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+128|0;g=l+116|0;f=l;o=0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];ia(59,f|0,g|0);g=o;o=0;if((!(g&1)?(o=0,ha(177,f|0),g=o,o=0,!(g&1)):0)?(o=0,ia(61,f|0,1),g=o,o=0,!(g&1)):0){b=f+16|0;f=d+84|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(f|0));if(e)a[e>>0]=0;e=0;i=l;return e|0}g=Na(824,0)|0;d=D;d=(d|0)==(Ta(824)|0);g=Va(g|0)|0;b=(e|0)==0;if(!d){if(!b)a[e>>0]=0;Xa();e=14;i=l;return e|0}d=g+12|0;do if(!b){b=c[d>>2]|0;o=0;f=ua(1)|0;m=o;o=0;if(!(m&1))if((b|0)==(f|0)){ml(e,Eb[c[(c[g>>2]|0)+8>>2]&127](g)|0)|0;k=13;break}else{a[e>>0]=0;k=13;break}}else k=13;while(0);if((k|0)==13?(h=c[d>>2]|0,o=0,j=ua(1)|0,m=o,o=0,!(m&1)):0){m=(h|0)==(j|0)?c[g+8>>2]|0:13;Xa();i=l;return m|0}b=Na()|0;o=0;xa(3);m=o;o=0;if(m&1){m=Na(0)|0;ec(m)}else Ya(b|0);return 0}function hc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;k=n+36|0;j=n+24|0;l=n+12|0;m=n;if(!((a|0)!=0&(d|0)!=0&(e|0)!=0&(g|0)!=0)){f=1;i=n;return f|0}c[l>>2]=0;c[l+4>>2]=a;c[l+8>>2]=b;c[m>>2]=0;c[m+4>>2]=e;c[m+8>>2]=f;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];f=cc(j,d,k,g,h)|0;i=n;return f|0}function ic(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f+12|0;h=f;j=h;c[j>>2]=0;c[j+4>>2]=0;c[h+4>>2]=a;c[h+8>>2]=b;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];d=gc(g,d,e)|0;i=f;return d|0}function jc(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,j=0,k=0,l=0,m=0;h=i;i=i+48|0;j=h+36|0;k=h+24|0;m=h+12|0;l=h;c[m>>2]=0;c[m+4>>2]=a;c[m+8>>2]=b;c[l>>2]=0;c[l+4>>2]=d;c[l+8>>2]=e;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];e=fc(k,j,f,g)|0;i=h;return e|0}function kc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+4|0;d=c[a>>2]|0;f=((c[k>>2]|0)-d>>2)+1|0;if(f>>>0>1073741823){$i(a);d=c[a>>2]|0}l=a+8|0;e=(c[l>>2]|0)-d|0;if(e>>2>>>0<536870911){e=e>>1;e=e>>>0>>0?f:e;d=(c[k>>2]|0)-d>>2;if(!e){g=0;h=0}else i=6}else{e=1073741823;d=(c[k>>2]|0)-d>>2;i=6}if((i|0)==6){g=e;h=bj(e<<2)|0}f=h+(d<<2)|0;e=f;j=h+(g<<2)|0;i=c[b>>2]|0;c[b>>2]=0;c[f>>2]=i;i=h+(d+1<<2)|0;h=c[a>>2]|0;d=c[k>>2]|0;if((d|0)==(h|0)){f=a;g=k}else{do{d=d+-4|0;b=c[d>>2]|0;c[d>>2]=0;c[f+-4>>2]=b;f=e+-4|0;e=f}while((d|0)!=(h|0));d=e;f=a;g=k;e=d;h=c[a>>2]|0;d=c[k>>2]|0}c[f>>2]=e;c[g>>2]=i;c[l>>2]=j;f=h;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;c[d>>2]=0;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e)}while((d|0)!=(f|0));if(!h)return;cj(h);return}function lc(){if(a[8]|0)return 35648;if(!(Ha(8)|0))return 35648;kb(72,35648,n|0)|0;Pa(8);return 35648}function mc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;Ei(l,(1<>2]|0;m=h+1|0;e=m<<1;c[b>>2]=0;j=b+4|0;c[j>>2]=0;c[b+8>>2]=0;a:do if(m){if(!((h|0)<-1?(o=0,ha(178,b|0),k=o,o=0,k&1):0))f=4;if((f|0)==4?(o=0,g=ka(67,e|0)|0,k=o,o=0,!(k&1)):0){c[j>>2]=g;c[b>>2]=g;c[b+8>>2]=g+e;d=g;while(1){a[d>>0]=0;d=(c[j>>2]|0)+1|0;c[j>>2]=d;e=e+-1|0;if(!e)break a}}e=Na()|0;d=c[b>>2]|0;if(!d)Ya(e|0);if((c[j>>2]|0)!=(d|0))c[j>>2]=d;cj(d);Ya(e|0)}while(0);d=~h;if((h|0)<(d|0)){i=n;return}j=l+12|0;k=l+8|0;h=l+4|0;g=d;do{d=c[j>>2]|0;if((g|0)>(0-d|0)){e=c[k>>2]|0;if((g|0)>(0-e|0)){f=c[h>>2]|0;if((g|0)>(0-f|0))if((g|0)>=0)if((g|0)>0)if((f|0)<=(g|0))if((e|0)>(g|0))d=2;else d=(d|0)>(g|0)?3:4;else d=1;else d=0;else d=-1;else d=-2}else d=-3}else d=-4;a[(c[b>>2]|0)+(g+m)>>0]=d;g=g+1|0}while((g|0)<(m|0));i=n;return}function nc(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=c[f+16>>2]|0;switch(q|0){case 64:case 0:{o=0;d=ra(34,d|0,e|0)|0;e=o;o=0;if(e&1)r=16;else g=d;break}default:{h=(1<>2])+-1|0;p=c[e+20>>2]|0;n=p<<1;n=((n+h|0)/(n|1|0)|0)+1|0;d=0;while(1)if((1<>2]|0;o=0;g=ka(67,4624)|0;m=o;o=0;if(m&1)r=16;else{i=((j|0)<8?8:j)+j<<1;k=g+4|0;l=e;m=k+84|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));k=g+88|0;m=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));c[g>>2]=35660;c[g+128>>2]=h;c[g+132>>2]=n;c[g+136>>2]=p;c[g+140>>2]=d;c[g+144>>2]=j;c[g+148>>2]=i;c[g+152>>2]=q;d=g+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+172>>2]=c[e>>2];c[g+176>>2]=0;c[g+180>>2]=0;c[g+184>>2]=0;d=g+4568|0;h=g+188|0;do{c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;b[h+10>>1]=1;h=h+12|0}while((h|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1}}}if((r|0)==16){r=Na()|0;Ya(r|0)}if(!g)return g|0;o=0;ia(c[(c[g>>2]|0)+12>>2]|0,g|0,f|0);r=o;o=0;if(!(r&1))return g|0;d=Na()|0;if(!g){r=d;Ya(r|0)}Bb[c[(c[g>>2]|0)+4>>2]&255](g);r=d;Ya(r|0);return 0}function oc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=(c[e+24>>2]|0)==2;if(f?(c[e+16>>2]|0)!=3:0){e=0;return e|0}n=c[e+20>>2]|0;d=c[e+8>>2]|0;a:do if(!n){if(f){if((d|0)!=8)break;g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35688;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}switch(d|0){case 8:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35716;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}case 12:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35744;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}case 16:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35772;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}default:break a}}while(0);m=(1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35800;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35660;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}}if((d|0)>=17){e=0;return e|0}i=n<<1;i=((i+m|0)/(i|1|0)|0)+1|0;if(f){d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35828;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35856;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}return 0}function pc(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=c[f+16>>2]|0;switch(q|0){case 64:case 0:{o=0;d=ra(35,d|0,e|0)|0;e=o;o=0;if(e&1)r=16;else g=d;break}default:{h=(1<>2])+-1|0;p=c[e+20>>2]|0;n=p<<1;n=((n+h|0)/(n|1|0)|0)+1|0;d=0;while(1)if((1<>2]|0;o=0;g=ka(67,4632)|0;m=o;o=0;if(m&1)r=16;else{i=((j|0)<8?8:j)+j<<1;c[g+4>>2]=0;k=g+8|0;l=e;m=k+84|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;m=g+116|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[g>>2]=35884;c[g+136>>2]=h;c[g+140>>2]=n;c[g+144>>2]=p;c[g+148>>2]=d;c[g+152>>2]=j;c[g+156>>2]=i;c[g+160>>2]=q;d=g+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+180>>2]=c[e>>2];c[g+184>>2]=0;c[g+188>>2]=0;c[g+192>>2]=0;d=g+4576|0;h=g+196|0;do{c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;b[h+10>>1]=1;h=h+12|0}while((h|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1}}}if((r|0)==16){r=Na()|0;Ya(r|0)}if(!g)return g|0;o=0;ia(c[(c[g>>2]|0)+8>>2]|0,g|0,f|0);r=o;o=0;if(!(r&1))return g|0;d=Na()|0;if(!g){r=d;Ya(r|0)}Bb[c[(c[g>>2]|0)+4>>2]&255](g);r=d;Ya(r|0);return 0}function qc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=(c[e+24>>2]|0)==2;if(f?(c[e+16>>2]|0)!=3:0){e=0;return e|0}n=c[e+20>>2]|0;d=c[e+8>>2]|0;a:do if(!n){if(f){if((d|0)!=8)break;g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;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[g>>2]=35912;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}switch(d|0){case 8:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;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[g>>2]=35940;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}case 12:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;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[g>>2]=35968;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}case 16:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;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[g>>2]=35996;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}default:break a}}while(0);m=(1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36024;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=35884;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}}if((d|0)>=17){e=0;return e|0}i=n<<1;i=((i+m|0)/(i|1|0)|0)+1|0;if(f){d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36052;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36080;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}return 0}function rc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=2832;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=4880);iw(2832,0,2048)|0;a=0;do{h=2832+(a+128<<3)|0;c[h>>2]=0;c[h+4>>2]=1;a=a+1|0}while((a|0)!=128);a=3088;c[a>>2]=1;c[a+4>>2]=3;a=3096;c[a>>2]=1;c[a+4>>2]=3;a=3104;c[a>>2]=1;c[a+4>>2]=3;a=3112;c[a>>2]=1;c[a+4>>2]=3;a=3120;c[a>>2]=1;c[a+4>>2]=3;a=3128;c[a>>2]=1;c[a+4>>2]=3;a=3136;c[a>>2]=1;c[a+4>>2]=3;a=3144;c[a>>2]=1;c[a+4>>2]=3;a=3152;c[a>>2]=1;c[a+4>>2]=3;a=3160;c[a>>2]=1;c[a+4>>2]=3;a=3168;c[a>>2]=1;c[a+4>>2]=3;a=3176;c[a>>2]=1;c[a+4>>2]=3;a=3184;c[a>>2]=1;c[a+4>>2]=3;a=3192;c[a>>2]=1;c[a+4>>2]=3;a=3200;c[a>>2]=1;c[a+4>>2]=3;a=3208;c[a>>2]=1;c[a+4>>2]=3;a=3216;c[a>>2]=1;c[a+4>>2]=3;a=3224;c[a>>2]=1;c[a+4>>2]=3;a=3232;c[a>>2]=1;c[a+4>>2]=3;a=3240;c[a>>2]=1;c[a+4>>2]=3;a=3248;c[a>>2]=1;c[a+4>>2]=3;a=3256;c[a>>2]=1;c[a+4>>2]=3;a=3264;c[a>>2]=1;c[a+4>>2]=3;a=3272;c[a>>2]=1;c[a+4>>2]=3;a=3280;c[a>>2]=1;c[a+4>>2]=3;a=3288;c[a>>2]=1;c[a+4>>2]=3;a=3296;c[a>>2]=1;c[a+4>>2]=3;a=3304;c[a>>2]=1;c[a+4>>2]=3;a=3312;c[a>>2]=1;c[a+4>>2]=3;a=3320;c[a>>2]=1;c[a+4>>2]=3;a=3328;c[a>>2]=1;c[a+4>>2]=3;a=3336;c[a>>2]=1;c[a+4>>2]=3;a=2896;c[a>>2]=2;c[a+4>>2]=5;a=2904;c[a>>2]=2;c[a+4>>2]=5;a=2912;c[a>>2]=2;c[a+4>>2]=5;a=2920;c[a>>2]=2;c[a+4>>2]=5;a=2928;c[a>>2]=2;c[a+4>>2]=5;a=2936;c[a>>2]=2;c[a+4>>2]=5;a=2944;c[a>>2]=2;c[a+4>>2]=5;a=2952;c[a>>2]=2;c[a+4>>2]=5;a=2848;c[a>>2]=3;c[a+4>>2]=7;a=2856;c[a>>2]=3;c[a+4>>2]=7;a=0;do{h=2832+(a+64<<3)|0;c[h>>2]=-1;c[h+4>>2]=2;a=a+1|0}while((a|0)!=64);a=2960;c[a>>2]=-2;c[a+4>>2]=4;a=2968;c[a>>2]=-2;c[a+4>>2]=4;a=2976;c[a>>2]=-2;c[a+4>>2]=4;a=2984;c[a>>2]=-2;c[a+4>>2]=4;a=2992;c[a>>2]=-2;c[a+4>>2]=4;a=3e3;c[a>>2]=-2;c[a+4>>2]=4;a=3008;c[a>>2]=-2;c[a+4>>2]=4;a=3016;c[a>>2]=-2;c[a+4>>2]=4;a=3024;c[a>>2]=-2;c[a+4>>2]=4;a=3032;c[a>>2]=-2;c[a+4>>2]=4;a=3040;c[a>>2]=-2;c[a+4>>2]=4;a=3048;c[a>>2]=-2;c[a+4>>2]=4;a=3056;c[a>>2]=-2;c[a+4>>2]=4;a=3064;c[a>>2]=-2;c[a+4>>2]=4;a=3072;c[a>>2]=-2;c[a+4>>2]=4;a=3080;c[a>>2]=-2;c[a+4>>2]=4;a=2864;c[a>>2]=-3;c[a+4>>2]=6;a=2872;c[a>>2]=-3;c[a+4>>2]=6;a=2880;c[a>>2]=-3;c[a+4>>2]=6;a=2888;c[a>>2]=-3;c[a+4>>2]=6;a=2840;c[a>>2]=-4;c[a+4>>2]=8;a=4880;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=6928);iw(4880,0,2048)|0;d=2;a=0;f=0;g=0;while(1){d=d<<16>>16;b=8-d|0;e=1<>2]=f;c[h+4>>2]=d;b=b+1|0}while((b|0)<(e|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==7){b=2;f=1;g=-1;h=-1;break}else{d=(a>>1)+2|0;f=b>>16}}while(1){d=b<<16>>16;a=8-d|0;e=1<>2]=g;c[f+4>>2]=d;b=b+1|0}while((b|0)<(e|0))}a=(h<<16)+-65536|0;f=a>>31^a>>15;b=(f>>1)+2|0;if((b|0)>8){a=6928;break}else{g=a>>16;h=h+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=8976);iw(6928,0,2048)|0;f=3;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==12){f=3;b=1;e=-1;g=-1;break}else{f=(a>>2)+3|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>2)+3|0;if((f|0)>8){a=8976;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=11024);iw(8976,0,2048)|0;f=4;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==20){f=4;b=1;e=-1;g=-1;break}else{f=(a>>3)+4|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>3)+4|0;if((f|0)>8){a=11024;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=13072);iw(11024,0,2048)|0;f=5;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==32){f=5;b=1;e=-1;g=-1;break}else{f=(a>>4)+5|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>4)+5|0;if((f|0)>8){a=13072;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=15120);iw(13072,0,2048)|0;f=6;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==48){f=6;b=1;e=-1;g=-1;break}else{f=(a>>5)+6|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>5)+6|0;if((f|0)>8){a=15120;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=17168);iw(15120,0,2048)|0;f=7;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==64){f=7;b=1;e=-1;g=-1;break}else{f=(a>>6)+7|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>6)+7|0;if((f|0)>8){a=17168;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=19216);iw(17168,0,2048)|0;f=8;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==64){g=8;e=1;f=-1;h=-1;break}else{f=(a>>7)+8|0;e=b>>16}}while(1){a=8-g|0;d=1<>2]=f;c[e+4>>2]=g;b=b+1|0}while((b|0)<(d|0))}b=(h<<16)+-65536|0;e=b>>31^b>>15;a=e>>7;if((a|0)>0){a=19216;break}else{g=a+8|0;f=b>>16;h=h+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=21264);iw(19216,0,2048)|0;a=21264;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=23312);iw(21264,0,2048)|0;a=23312;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=25360);iw(23312,0,2048)|0;a=25360;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=27408);iw(25360,0,2048)|0;a=27408;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=29456);iw(27408,0,2048)|0;a=29456;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=31504);iw(29456,0,2048)|0;a=31504;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=33552);iw(31504,0,2048)|0;a=33552;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=35600);iw(33552,0,2048)|0;mc(35600,8);kb(179,35600,n|0)|0;mc(35612,10);kb(179,35612,n|0)|0;mc(35624,12);kb(179,35624,n|0)|0;mc(35636,16);kb(179,35636,n|0)|0;return}function sc(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;a=a+4|0;if((c[a>>2]|0)!=(b|0))c[a>>2]=b;cj(b);return}function tc(a){a=a|0;var b=0,d=0;c[a>>2]=36080;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function uc(a){a=a|0;var b=0,d=0;c[a>>2]=36080;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function vc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;he(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function wc(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35856;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Yd(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Yd(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function xc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function yc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36460;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36436;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Ac(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36412;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Bc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36388;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+32|0;Jm(i,d)|0;h=b+44|0;c[h>>2]=0;j=b+48|0;g=c[j>>2]|0;if(g&8){d=a[i>>0]|0;if(!(d&1)){d=((d&255)>>>1)+(i+1)|0;c[h>>2]=d;e=i+1|0;f=i+1|0}else{d=(c[b+40>>2]|0)+(c[b+36>>2]|0)|0;c[h>>2]=d;f=c[b+40>>2]|0;e=f}c[b+8>>2]=e;c[b+12>>2]=f;c[b+16>>2]=d}if(!(g&16))return;d=a[i>>0]|0;if(!(d&1)){g=(d&255)>>>1;c[h>>2]=i+1+g;d=10;h=g}else{g=c[b+36>>2]|0;c[h>>2]=(c[b+40>>2]|0)+g;d=(c[i>>2]&-2)+-1|0;h=g}Mm(i,d,0);d=a[i>>0]|0;if(!(d&1)){g=i+1|0;f=(d&255)>>>1;e=i+1|0}else{e=c[b+40>>2]|0;g=e;f=c[b+36>>2]|0}d=b+24|0;c[d>>2]=e;c[b+20>>2]=e;c[b+28>>2]=g+f;if(!(c[j>>2]&3))return;c[d>>2]=e+h;return}function Dc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;j=q+16|0;p=q+8|0;k=q;o=0;ia(65,p|0,b|0);m=o;o=0;a:do if(m&1){e=Na(0)|0;f=b;g=b}else{do if(a[p>>0]|0){f=c[(c[b>>2]|0)+-12>>2]|0;c[k>>2]=c[b+(f+24)>>2];l=b+f|0;m=c[b+(f+4)>>2]|0;g=d+e|0;f=b+(f+76)|0;e=c[f>>2]|0;do if((e|0)==-1){o=0;e=ka(68,l|0)|0;r=o;o=0;if(r&1)n=13;else{c[j>>2]=e;o=0;e=ra(37,j|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(j);e=h<<24>>24;c[f>>2]=e;n=9;break}e=Na(0)|0;Gs(j)}}else n=9;while(0);if((n|0)==9){o=0;c[j>>2]=c[k>>2];e=ja(39,j|0,d|0,((m&176|0)==32?g:d)|0,g|0,l|0,e&255|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break;else n=13}else n=13}if((n|0)==13)e=Na(0)|0;ho(p);f=b;g=b;break a}while(0);ho(p);i=q;return b|0}while(0);Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();i=q;return b|0}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0);return 0}function Ec(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[d+48>>2]|0;if(e&16){e=d+44|0;f=c[e>>2]|0;g=c[d+24>>2]|0;if(f>>>0>>0)c[e>>2]=g;else g=f;f=c[d+20>>2]|0;h=g-f|0;if(h>>>0>4294967279)_i(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{d=h+16&-16;e=bj(d)|0;c[b+8>>2]=e;c[b>>2]=d|1;c[b+4>>2]=h}if((f|0)!=(g|0)){d=e;while(1){a[d>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(g|0))break;else d=d+1|0}e=e+h|0}a[e>>0]=0;return}if(!(e&8)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}f=c[d+8>>2]|0;d=c[d+16>>2]|0;h=d-f|0;if(h>>>0>4294967279)_i(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{g=h+16&-16;e=bj(g)|0;c[b+8>>2]=e;c[b>>2]=g|1;c[b+4>>2]=h}if((f|0)!=(d|0)){g=e;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(d|0))break;else g=g+1|0}e=e+h|0}a[e>>0]=0;return}function Fc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36364;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Gc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36340;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Hc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36316;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Ic(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36316;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Jc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36316;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Kc(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;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;Pc(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Pc(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;Mc(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Nc(a,f,b,d,e);return}}function Mc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=d+4|0;j=c[m>>2]|0;do if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{o=c[j>>2]|0;m=e[n+(f*6|0)+2>>1]<>1]<>1]<>1]=(m+49152+((d+i|0)>>>2)&65535)>>>o;b[g+(f*6|0)+2>>1]=d>>>o;b[g+(f*6|0)+4>>1]=i>>>o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{h=e[n+(f*6|0)+2>>1]<>1]<>1]<>1]=(h+49152+((d+o|0)>>>2)&65535)>>>j;b[g+(f+i<<1)>>1]=d>>>j;b[g+(f+l<<1)>>1]=o>>>j;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;m=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;p=e[n+(f<<3)+2>>1]<>1]<>1]<>1]=(p+49152+((h+d|0)>>>2)&65535)>>>j;b[g+(f+i<<1)>>1]=h>>>j;b[g+(f+l<<1)>>1]=d>>>j;b[g+(f+m<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}default:return}}function Nc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}while(0);t=h;fn(m);Ya(t|0)}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Mc(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Mc(b,t,e,f,g);i=q;return}function Oc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+176|0;e=g+152|0;l=g+16|0;j=g;if(!(d&1)){e=(d|0)/4|0;if((d|0)>3){f=0;do{l=b+(f<<2)|0;k=c[l>>2]|0;c[l>>2]=k>>>8&16711935|k<<8&-16711936;f=f+1|0}while((f|0)<(e|0))}if(!(d&3)){i=g;return}j=b+(d+-2)|0;l=b+(d+-1)|0;k=a[j>>0]|0;a[j>>0]=a[l>>0]|0;a[l>>0]=k;i=g;return}k=l+56|0;h=l+4|0;c[l>>2]=36160;c[k>>2]=36180;o=0;ia(62,l+56|0,h|0);g=o;o=0;if(g&1){l=Na()|0;fn(k);Ya(l|0)}c[l+128>>2]=0;c[l+132>>2]=-1;c[l>>2]=36200;c[l+56>>2]=36220;o=0;ha(180,h|0);g=o;o=0;do if(g&1)e=Na()|0;else{c[h>>2]=36236;g=l+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[l+52>>2]=16;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;o=0;ia(63,h|0,e|0);b=o;o=0;if(b&1){l=Na()|0;Im(e);Im(g);nn(h);e=l;break}Im(e);o=0;e=ma(28,l|0,49087,24)|0;b=o;o=0;if((!(b&1)?(o=0,f=ra(36,e|0,d|0)|0,d=o,o=0,!(d&1)):0)?(o=0,ma(28,f|0,49112,20)|0,d=o,o=0,!(d&1)):0){b=Ma(16)|0;o=0;ia(64,j|0,h|0);d=o;o=0;if(!(d&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,b|0,1,35648,j|0);d=o;o=0;if(d&1)f=1;else{o=0;wa(6,b|0,824,96);o=0;f=0}e=Na()|0;Im(j);if(!f){j=e;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}}else e=Na()|0;La(b|0);j=e;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}j=Na()|0;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}while(0);l=e;fn(k);Ya(l|0)}function Pc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=d+4|0;j=c[n>>2]|0;a:do switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{i=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>1]<>2)+16384|0;b[g+(d*6|0)>>1]=(k+32768+m&65535)>>>i;b[g+(d*6|0)+2>>1]=(m&65535)>>>i;b[g+(d*6|0)+4>>1]=(l+32768+m&65535)>>>i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{m=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>1]<>2)+16384|0;b[g+(d*6|0)>>1]=(q+32768+o&65535)>>>m;b[g+(d*6|0)+2>>1]=(o&65535)>>>m;b[g+(d*6|0)+4>>1]=(p+32768+o&65535)>>>m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{q=c[j>>2]|0;p=e[f+(k+i<<1)>>1]<>1]<>1]<>2)+16384|0;r=b[f+(k+d<<1)>>1]|0;t=mw((o&65535)>>>q&65535|0,0,16)|0;p=(p+32768+o&65535)>>>q|D;r=mw(r&65535|0,0,48)|0;r=t|(s+32768+o&65535)>>>q&65535|r;p=p&65535|D;q=g+(k<<3)|0;o=q;b[o>>1]=r;b[o+2>>1]=r>>>16;q=q+4|0;b[q>>1]=p;b[q+2>>1]=p>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){t=j+4|0;s=b[j>>1]|0;b[j>>1]=b[t>>1]|0;b[t>>1]=s;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function Qc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36340;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Rc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36340;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);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;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;Wc(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Wc(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Tc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;Uc(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Vc(a,f,b,d,e);return}}function Uc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=d+4|0;j=c[m>>2]|0;do if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{i=c[j>>2]|0;m=e[n+(f*6|0)>>1]<>1]<>1]<>>1)&65535)>>>i&65535;b[g+(f*6|0)>>1]=(m+32768-d&65535)>>>i;b[g+(f*6|0)+2>>1]=(d&65535)>>>i;b[g+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{h=e[n+(f*6|0)>>1]<>1]<>1]<>>1)&65535)>>>j&65535;b[g+(f<<1)>>1]=(h+32768-d&65535)>>>j;b[g+(f+i<<1)>>1]=(d&65535)>>>j;b[g+(f+l<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;m=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;p=e[n+(f<<3)>>1]<>1]<>1]<>>1)&65535)>>>j&65535;b[g+(f<<1)>>1]=(p+32768-h&65535)>>>j;b[g+(f+i<<1)>>1]=(h&65535)>>>j;b[g+(f+l<<1)>>1]=d;b[g+(f+m<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}default:return}}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,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}while(0);t=h;fn(m);Ya(t|0)}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Uc(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Uc(b,t,e,f,g);i=q;return}function Wc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=d+4|0;j=c[n>>2]|0;a:do switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{m=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>1]<>>1)&65535)>>>m&65535;b[g+(d*6|0)>>1]=k>>>m;b[g+(d*6|0)+2>>1]=l>>>m;b[g+(d*6|0)+4>>1]=i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{o=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>1]<>>1)&65535)>>>o&65535;b[g+(d*6|0)>>1]=q>>>o;b[g+(d*6|0)+2>>1]=p>>>o;b[g+(d*6|0)+4>>1]=m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{o=c[j>>2]|0;q=e[f+(k+i<<1)>>1]<>1]<>1]<>>1)&65535)>>>o;r=b[f+(k+d<<1)>>1]|0;q=mw(q>>>o&65535|0,0,16)|0;p=D|p;r=mw(r&65535|0,0,48)|0;r=s>>>o&65535|q|r;p=p&65535|D;q=g+(k<<3)|0;o=q;b[o>>1]=r;b[o+2>>1]=r>>>16;q=q+4|0;b[q>>1]=p;b[q+2>>1]=p>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){s=j+4|0;r=b[j>>1]|0;b[j>>1]=b[s>>1]|0;b[s>>1]=r;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function Xc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36364;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Yc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36364;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Zc(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;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;bd(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;bd(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function _c(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;$c(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{ad(a,f,b,d,e);return}}function $c(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;m=d+4|0;j=c[m>>2]|0;do if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{i=c[j>>2]|0;d=e[n+(f*6|0)+2>>1]<>1]<>>i&65535;b[g+(f*6|0)>>1]=((e[n+(f*6|0)>>1]<>>i;b[g+(f*6|0)+2>>1]=(d&65535)>>>i;b[g+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{d=e[n+(f*6|0)+2>>1]<>1]<>>j&65535;b[g+(f<<1)>>1]=((e[n+(f*6|0)>>1]<>>j;b[g+(f+i<<1)>>1]=(d&65535)>>>j;b[g+(f+l<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;l=(i|0)<(h|0)?i:h;if((l|0)<=0)return;m=i<<1;k=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;h=e[n+(f<<3)+2>>1]<>1]<>>j&65535;b[g+(f<<1)>>1]=((e[n+(f<<3)>>1]<>>j;b[g+(f+i<<1)>>1]=(h&65535)>>>j;b[g+(f+m<<1)>>1]=d;b[g+(f+k<<1)>>1]=o;f=f+1|0}while((f|0)!=(l|0));return}default:return}}function ad(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}while(0);t=h;fn(m);Ya(t|0)}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;$c(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;$c(b,t,e,f,g);i=q;return}function bd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=d+4|0;j=c[n>>2]|0;a:do switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{m=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>>m&65535;b[g+(d*6|0)>>1]=((e[f+(d*6|0)>>1]<>>m;b[g+(d*6|0)+2>>1]=(l&65535)>>>m;b[g+(d*6|0)+4>>1]=i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{o=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>>o&65535;b[g+(d*6|0)>>1]=((e[f+(d<<1)>>1]<>>o;b[g+(d*6|0)+2>>1]=(p&65535)>>>o;b[g+(d*6|0)+4>>1]=m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{q=c[j>>2]|0;s=e[f+(k+i<<1)>>1]<>1]<>>q;o=(s+32768+(e[f+(k+l<<1)>>1]<>>q;r=b[f+(k+d<<1)>>1]|0;q=mw((s&65535)>>>q&65535|0,0,16)|0;o=o|D;r=mw(r&65535|0,0,48)|0;r=q|p&65535|r;o=o&65535|D;p=g+(k<<3)|0;q=p;b[q>>1]=r;b[q+2>>1]=r>>>16;p=p+4|0;b[p>>1]=o;b[p+2>>1]=o>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){s=j+4|0;r=b[j>>1]|0;b[j>>1]=b[s>>1]|0;b[s>>1]=r;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function cd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0;p=i;i=i+16|0;m=p;n=c[b>>2]|0;if(!n){b=0;i=p;return b|0}q=d;k=f-q|0;l=g+12|0;j=c[l>>2]|0;k=(j|0)>(k|0)?j-k|0:0;j=e;g=j-q|0;if((g|0)>0?(Gb[c[(c[n>>2]|0)+48>>2]&63](n,d,g)|0)!=(g|0):0){c[b>>2]=0;q=0;i=p;return q|0}do if((k|0)>0){Hm(m,k,h);o=0;g=ma(c[(c[n>>2]|0)+48>>2]|0,n|0,((a[m>>0]&1)==0?m+1|0:c[m+8>>2]|0)|0,k|0)|0;q=o;o=0;if(q&1){q=Na()|0;Im(m);Ya(q|0)}if((g|0)==(k|0)){Im(m);break}c[b>>2]=0;Im(m);q=0;i=p;return q|0}while(0);f=f-j|0;if((f|0)>0?(Gb[c[(c[n>>2]|0)+48>>2]&63](n,e,f)|0)!=(f|0):0){c[b>>2]=0;q=0;i=p;return q|0}c[l>>2]=0;q=n;i=p;return q|0}function dd(a){a=a|0;c[a>>2]=36236;Im(a+32|0);nn(a);return}function ed(a){a=a|0;c[a>>2]=36236;Im(a+32|0);nn(a);cj(a);return}function fd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=d+44|0;j=c[i>>2]|0;l=d+24|0;m=c[l>>2]|0;if(j>>>0>>0){c[i>>2]=m;j=m}k=j;i=h&24;if(!i){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((g|0)==1&(i|0)==24){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}a:do switch(g|0){case 0:{i=0;g=0;break}case 1:if(!(h&8)){g=m-(c[d+20>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}else{g=(c[d+12>>2]|0)-(c[d+8>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}case 2:{i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;g=j-i|0;i=g;g=((g|0)<0)<<31>>31;break}default:{d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}while(0);g=jw(i|0,g|0,e|0,f|0)|0;e=D;if((e|0)>=0){i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;f=j-i|0;j=((f|0)<0)<<31>>31;if(!((j|0)<(e|0)|(j|0)==(e|0)&f>>>0>>0)){i=h&8;if(!((g|0)==0&(e|0)==0)){if((i|0)!=0?(c[d+12>>2]|0)==0:0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((h&16|0)!=0&(m|0)==0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}if(i){c[d+12>>2]=(c[d+8>>2]|0)+g;c[d+16>>2]=k}if(h&16)c[l>>2]=(c[d+20>>2]|0)+g;d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=g;c[d+4>>2]=e;return}}d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}function gd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=d+8|0;Ib[c[(c[b>>2]|0)+16>>2]&15](a,b,c[d>>2]|0,c[d+4>>2]|0,0,e);return}function hd(a){a=a|0;var b=0,e=0,f=0,g=0;b=a+44|0;e=c[b>>2]|0;f=c[a+24>>2]|0;if(e>>>0>>0){c[b>>2]=f;e=f}if(!(c[a+48>>2]&8)){a=-1;return a|0}g=a+16|0;b=c[g>>2]|0;f=a+12|0;if(b>>>0>>0){f=c[f>>2]|0;c[g>>2]=e;b=e}else f=c[f>>2]|0;if(f>>>0>=b>>>0){a=-1;return a|0}a=d[f>>0]|0;return a|0}function id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+44|0;e=c[f>>2]|0;g=c[b+24>>2]|0;if(e>>>0>>0){c[f>>2]=g;e=g}j=b+8|0;f=c[j>>2]|0;k=b+12|0;h=c[k>>2]|0;i=f;if(f>>>0>=h>>>0){b=-1;return b|0}if((d|0)==-1){c[j>>2]=f;c[k>>2]=h+-1;c[b+16>>2]=e;b=0;return b|0}if(!(c[b+48>>2]&16)){g=d&255;f=h+-1|0;if(g<<24>>24!=(a[f>>0]|0)){b=-1;return b|0}}else{g=d&255;f=h+-1|0}c[j>>2]=i;c[k>>2]=f;c[b+16>>2]=e;a[f>>0]=g;b=d;return b|0}function jd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+16|0;n=t;if((d|0)==-1){b=0;i=t;return b|0}p=b+12|0;q=b+8|0;r=(c[p>>2]|0)-(c[q>>2]|0)|0;s=b+24|0;e=c[s>>2]|0;m=b+28|0;f=c[m>>2]|0;do if((e|0)==(f|0)){k=b+48|0;if(!(c[k>>2]&16)){b=-1;i=t;return b|0}l=b+20|0;j=c[l>>2]|0;g=e-j|0;h=b+44|0;j=(c[h>>2]|0)-j|0;f=b+32|0;o=0;ia(67,f|0,0);e=o;o=0;if(!(e&1)){if(!(a[f>>0]&1))e=10;else e=(c[f>>2]&-2)+-1|0;o=0;wa(8,f|0,e|0,0);e=o;o=0;if(!(e&1)){e=a[f>>0]|0;if(!(e&1)){f=f+1|0;e=(e&255)>>>1}else{f=c[b+40>>2]|0;e=c[b+36>>2]|0}u=f+e|0;c[l>>2]=f;c[m>>2]=u;l=f+g|0;c[s>>2]=l;e=f+j|0;c[h>>2]=e;f=u;break}}u=Na(0)|0;Va(u|0)|0;Xa();u=-1;i=t;return u|0}else{u=b+44|0;k=b+48|0;h=u;l=e;e=c[u>>2]|0}while(0);j=l+1|0;c[n>>2]=j;g=c[(j>>>0>>0?h:n)>>2]|0;c[h>>2]=g;if(c[k>>2]&8){e=b+32|0;if(!(a[e>>0]&1))e=e+1|0;else e=c[b+40>>2]|0;c[q>>2]=e;c[p>>2]=e+r;c[b+16>>2]=g}if((l|0)==(f|0)){u=Lb[c[(c[b>>2]|0)+52>>2]&63](b,d&255)|0;i=t;return u|0}else{c[s>>2]=j;a[l>>0]=d;u=d&255;i=t;return u|0}return 0}function kd(a){a=a|0;var b=0,d=0;c[a>>2]=36200;b=a+56|0;c[b>>2]=36220;d=a+4|0;c[d>>2]=36236;Im(a+36|0);nn(d);fn(b);return}function ld(a){a=a|0;var b=0,d=0;c[a>>2]=36200;b=a+56|0;c[b>>2]=36220;d=a+4|0;c[d>>2]=36236;Im(a+36|0);nn(d);fn(b);cj(a);return}function md(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[(c[a>>2]|0)+-12>>2]|0;b=a+f|0;c[b>>2]=36200;d=a+(f+56)|0;c[d>>2]=36220;e=a+(f+4)|0;c[e>>2]=36236;Im(a+(f+36)|0);nn(e);fn(d);cj(b);return}function nd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36388;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function od(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36388;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function pd(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;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;td(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;td(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;rd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{sd(a,f,b,d,e);return}}function rd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;l=d+4|0;j=c[l>>2]|0;do if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{l=e[m+(j*6|0)+2>>1]|0;i=32768-l+(e[m+(j*6|0)+4>>1]|0)|0;n=(e[m+(j*6|0)>>1]|0)-l+32768|0;b[g+(j*6|0)>>1]=l+49152+(((i&65535)+(n&65535)|0)>>>2);b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{l=e[m+(f*6|0)+2>>1]|0;h=32768-l+(e[m+(f*6|0)+4>>1]|0)|0;n=(e[m+(f*6|0)>>1]|0)-l+32768|0;b[g+(f<<1)>>1]=l+49152+(((h&65535)+(n&65535)|0)>>>2);b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{n=b[m+(k<<3)+6>>1]|0;o=e[m+(k<<3)+2>>1]|0;l=32768-o+(e[m+(k<<3)+4>>1]|0)|0;h=(e[m+(k<<3)>>1]|0)-o+32768|0;b[g+(k<<1)>>1]=o+49152+(((l&65535)+(h&65535)|0)>>>2);b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function sd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}while(0);t=h;fn(m);Ya(t|0)}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;rd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;rd(b,t,e,f,g);i=q;return}function td(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=d+4|0;d=c[m>>2]|0;a:do switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=e[f+(d*6|0)+2>>1]|0;k=e[f+(d*6|0)+4>>1]|0;i=(e[f+(d*6|0)>>1]|0)-((k+l|0)>>>2)+16384|0;b[g+(d*6|0)>>1]=k+32768+i;b[g+(d*6|0)+2>>1]=i;b[g+(d*6|0)+4>>1]=l+32768+i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=e[f+(k+i<<1)>>1]|0;o=e[f+(k+j<<1)>>1]|0;l=(e[f+(k<<1)>>1]|0)-((o+n|0)>>>2)+16384|0;b[g+(k*6|0)>>1]=o+32768+l;b[g+(k*6|0)+2>>1]=l;b[g+(k*6|0)+4>>1]=n+32768+l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{n=e[f+(k+i<<1)>>1]|0;p=e[f+(k+d<<1)>>1]|0;o=(e[f+(k<<1)>>1]|0)-((p+n|0)>>>2)+16384|0;q=b[f+(k+j<<1)>>1]|0;r=mw(o&65535|0,0,16)|0;n=n+32768+o|D;q=mw(q&65535|0,0,48)|0;q=r|p+32768+o&65535|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){r=d+4|0;q=b[d>>1]|0;b[d>>1]=b[r>>1]|0;b[r>>1]=q;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function ud(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36412;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function vd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36412;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function wd(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;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Ad(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Ad(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;yd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{zd(a,f,b,d,e);return}}function yd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=d+4|0;j=c[l>>2]|0;do if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{k=e[m+(j*6|0)>>1]|0;i=b[m+(j*6|0)+2>>1]|0;l=i&65535;n=(e[m+(j*6|0)+4>>1]|0)+32768-((l+k|0)>>>1)&65535;b[g+(j*6|0)>>1]=k+32768-l;b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{h=b[m+(f*6|0)+2>>1]|0;k=e[m+(f*6|0)>>1]|0;l=h&65535;n=(e[m+(f*6|0)+4>>1]|0)+32768-((l+k|0)>>>1)&65535;b[g+(f<<1)>>1]=k+32768-l;b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{l=b[m+(k<<3)+2>>1]|0;n=b[m+(k<<3)+6>>1]|0;p=e[m+(k<<3)>>1]|0;o=l&65535;h=(e[m+(k<<3)+4>>1]|0)+32768-((o+p|0)>>>1)&65535;b[g+(k<<1)>>1]=p+32768-o;b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function zd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}while(0);t=h;fn(m);Ya(t|0)}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;yd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;yd(b,t,e,f,g);i=q;return}function Ad(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;i=l&65535;k=(e[f+(d*6|0)>>1]|0)+32768+i|0;i=(e[f+(d*6|0)+4>>1]|0)+32768+(((k&65535)+i|0)>>>1)&65535;b[g+(d*6|0)>>1]=k;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;l=n&65535;o=(e[f+(k<<1)>>1]|0)+32768+l|0;l=(e[f+(k+j<<1)>>1]|0)+32768+(((o&65535)+l|0)>>>1)&65535;b[g+(k*6|0)>>1]=o;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{o=b[f+(k+i<<1)>>1]|0;n=o&65535;p=(e[f+(k<<1)>>1]|0)+32768+n&65535;n=(e[f+(k+d<<1)>>1]|0)+32768+((p+n|0)>>>1)|0;q=b[f+(k+j<<1)>>1]|0;o=mw(o&65535|0,0,16)|0;n=D|n;q=mw(q&65535|0,0,48)|0;q=p|o|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Bd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36436;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Cd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36436;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Dd(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;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Hd(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Hd(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Ed(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Fd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Gd(a,f,b,d,e);return}}function Fd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;l=d+4|0;j=c[l>>2]|0;do if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{i=b[m+(j*6|0)+2>>1]|0;l=i&65535;n=32768-l+(e[m+(j*6|0)+4>>1]|0)&65535;b[g+(j*6|0)>>1]=(e[m+(j*6|0)>>1]|0)+32768-l;b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{h=b[m+(f*6|0)+2>>1]|0;l=h&65535;n=32768-l+(e[m+(f*6|0)+4>>1]|0)&65535;b[g+(f<<1)>>1]=(e[m+(f*6|0)>>1]|0)+32768-l;b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{l=b[m+(k<<3)+2>>1]|0;n=b[m+(k<<3)+6>>1]|0;o=l&65535;h=32768-o+(e[m+(k<<3)+4>>1]|0)&65535;b[g+(k<<1)>>1]=(e[m+(k<<3)>>1]|0)+32768-o;b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function Gd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}while(0);t=h;fn(m);Ya(t|0)}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Fd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Fd(b,t,e,f,g);i=q;return}function Hd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;k=l&65535;i=k+32768+(e[f+(d*6|0)+4>>1]|0)&65535;b[g+(d*6|0)>>1]=(e[f+(d*6|0)>>1]|0)+32768+k;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;o=n&65535;l=o+32768+(e[f+(k+j<<1)>>1]|0)&65535;b[g+(k*6|0)>>1]=(e[f+(k<<1)>>1]|0)+32768+o;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{o=b[f+(k+i<<1)>>1]|0;n=o&65535;p=(e[f+(k<<1)>>1]|0)+32768+n|0;n=n+32768+(e[f+(k+d<<1)>>1]|0)|0;q=b[f+(k+j<<1)>>1]|0;o=mw(o&65535|0,0,16)|0;n=D|n;q=mw(q&65535|0,0,48)|0;q=p&65535|o|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Id(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36460;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Jd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36460;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Kd(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;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Od(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Od(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Ld(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Md(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Nd(a,f,b,d,e);return}}function Md(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;k=d+4|0;i=c[k>>2]|0;do if(!(a[i+32>>0]|0))l=e;else{d=d+8|0;lw(c[d>>2]|0,e|0,g*6|0)|0;i=c[k>>2]|0;j=c[i+16>>2]|0;if((g|0)<=0){l=c[d>>2]|0;break}d=c[d>>2]|0;i=d;e=0;while(1){l=i+4|0;m=b[i>>1]|0;b[i>>1]=b[l>>1]|0;b[l>>1]=m;e=e+1|0;if((e|0)==(g|0))break;else i=i+(j<<1)|0}l=d;i=c[k>>2]|0}while(0);switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{h=b[l+(i*6|0)+2>>1]|0;m=b[l+(i*6|0)+4>>1]|0;b[f+(i*6|0)>>1]=b[l+(i*6|0)>>1]|0;b[f+(i*6|0)+2>>1]=h;b[f+(i*6|0)+4>>1]=m;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;d=h<<1;e=0;do{g=b[l+(e*6|0)+2>>1]|0;m=b[l+(e*6|0)+4>>1]|0;b[f+(e<<1)>>1]=b[l+(e*6|0)>>1]|0;b[f+(e+h<<1)>>1]=g;b[f+(e+d<<1)>>1]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;d=h<<1;e=h*3|0;j=0;do{k=b[l+(j<<3)+2>>1]|0;g=b[l+(j<<3)+4>>1]|0;m=b[l+(j<<3)+6>>1]|0;b[f+(j<<1)>>1]=b[l+(j<<3)>>1]|0;b[f+(j+h<<1)>>1]=k;b[f+(j+d<<1)>>1]=g;b[f+(j+e<<1)>>1]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Nd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}while(0);t=h;fn(m);Ya(t|0)}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Md(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Md(b,t,e,f,g);i=q;return}function Od(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;i=b[f+(d*6|0)+4>>1]|0;b[g+(d*6|0)>>1]=b[f+(d*6|0)>>1]|0;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;l=b[f+(k+j<<1)>>1]|0;b[g+(k*6|0)>>1]=b[f+(k<<1)>>1]|0;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{n=b[f+(k<<1)>>1]|0;q=b[f+(k+j<<1)>>1]|0;o=e[f+(k+d<<1)>>1]|0;p=mw(e[f+(k+i<<1)>>1]|0,0,16)|0;o=D|o;q=mw(q&65535|0,0,48)|0;q=p|n&65535|q;o=o&65535|D;n=g+(k<<3)|0;p=n;b[p>>1]=q;b[p+2>>1]=q>>>16;n=n+4|0;b[n>>1]=o;b[n+2>>1]=o>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Pd(a){a=a|0;return}function Qd(a){a=a|0;cj(a);return}function Rd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;e=$(c[b+8>>2]|0,e)|0;b=c[b+4>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,d,e)|0)==(e|0))return;f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,3,35648);b=o;o=0;if(b&1){b=Na()|0;La(f|0);Ya(b|0)}else lb(f|0,824,96)}function Sd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,p=0;p=i;i=i+16|0;m=p;l=b+8|0;g=c[l>>2]|0;f=$(g,e)|0;do if(f){j=b+4|0;h=f;while(1){g=c[j>>2]|0;g=Gb[c[(c[g>>2]|0)+32>>2]&63](g,d,h)|0;if(!g)break;f=h-g|0;if((h|0)==(g|0)){k=11;break}else h=f}if((k|0)==11){g=c[l>>2]|0;h=f;break}f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,3,35648);b=o;o=0;if(b&1){b=Na()|0;La(f|0);Ya(b|0)}else lb(f|0,824,96)}else h=0;while(0);if((g|0)==2){Oc(d,e<<1);g=c[l>>2]|0}f=c[b+12>>2]|0;if((f|0)<=($(g,e)|0)){i=p;return}b=c[b+4>>2]|0;Ib[c[(c[b>>2]|0)+16>>2]&15](m,b,f-h|0,0,1,24);i=p;return}function Td(a){a=a|0;cj(a);return}function Ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;lw(c[e>>2]|0,b|0,$(c[a+8>>2]|0,d)|0)|0;c[e>>2]=(c[e>>2]|0)+(c[a+12>>2]|0);return}function Vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;lw(b|0,c[e>>2]|0,$(c[a+8>>2]|0,d)|0)|0;c[e>>2]=(c[e>>2]|0)+(c[a+12>>2]|0);return}function Wd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c[b+112>>2]=0;c[b+108>>2]=0;l=c[d>>2]|0;g=l;do if(l){i=b+92|0;l=b+96|0;j=c[l>>2]|0;k=c[i>>2]|0;e=k;f=j-e|0;if(f>>>0>=4e4)if(f>>>0>4e4?(h=k+4e4|0,(j|0)!=(h|0)):0){c[l>>2]=h;h=e}else h=e;else{Xd(i,4e4-f|0);h=c[i>>2]|0;g=c[d>>2]|0}e=b+116|0;c[e>>2]=h;j=b+124|0;c[j>>2]=h;k=b+104|0;c[k>>2]=g;f=g;if(g){if((c[f+12>>2]|0)==(c[f+16>>2]|0)){d=(Eb[c[(c[g>>2]|0)+36>>2]&127](f)|0)==-1;f=c[j>>2]|0;if(d)break;g=c[e>>2]|0}else{f=h;g=h}i=f-g|0;if(i>>>0<=64){h=b+92|0;if((f|0)==(g|0))f=g;else{f=g;g=0;do{a[(c[h>>2]|0)+g>>0]=a[f+g>>0]|0;g=g+1|0;f=c[e>>2]|0}while(g>>>0>>0);g=c[j>>2]|0}h=c[h>>2]|0;d=h;m=d-f|0;c[e>>2]=h;f=g+m|0;c[j>>2]=f;h=b+120|0;c[h>>2]=(c[h>>2]|0)+m;k=c[k>>2]|0;f=Gb[c[(c[k>>2]|0)+32>>2]&63](k,f,(c[l>>2]|0)-(d+i)|0)|0;f=(c[j>>2]|0)+f|0;c[j>>2]=f}}else f=h}else{c[b+104>>2]=0;f=c[d+4>>2]|0;e=b+116|0;c[e>>2]=f;f=f+(c[d+8>>2]|0)|0;c[b+124>>2]=f}while(0);e=c[e>>2]|0;if(e>>>0>=f>>>0){l=e;m=b+120|0;c[m>>2]=l;ge(b);return}while(1){if((a[e>>0]|0)==-1){f=20;break}e=e+1|0;if(e>>>0>=f>>>0){f=20;break}}if((f|0)==20){m=b+120|0;c[m>>2]=e;ge(b);return}}function Xd(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;k=b+8|0;g=c[k>>2]|0;l=b+4|0;e=c[l>>2]|0;f=e;if((g-f|0)>>>0>=d>>>0){do{a[e>>0]=0;e=(c[l>>2]|0)+1|0;c[l>>2]=e;d=d+-1|0}while((d|0)!=0);return}e=c[b>>2]|0;h=f-e+d|0;if((h|0)<0){$i(b);g=c[k>>2]|0;e=c[b>>2]|0}f=g-e|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f;e=(c[l>>2]|0)-e|0;if(!f){g=0;i=0;h=e}else j=8}else{f=2147483647;e=(c[l>>2]|0)-e|0;j=8}if((j|0)==8){g=f;i=bj(f)|0;h=e}e=i+h|0;g=i+g|0;f=e;do{a[f>>0]=0;f=e+1|0;e=f;d=d+-1|0}while((d|0)!=0);d=c[b>>2]|0;f=(c[l>>2]|0)-d|0;j=i+(h-f)|0;lw(j|0,d|0,f|0)|0;c[b>>2]=j;c[l>>2]=e;c[k>>2]=g;if(!d)return;cj(d);return}function Yd(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+180|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((j|0)==18){h=a+12|0;a:do if((c[h>>2]|0)>0){j=a+4604|0;k=($(t,s)|0)+1|0;l=a+4608|0;m=a+92|0;n=(t|0)>0;p=a+4600|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(68,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40;while(0);do if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Zd(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4604|0;f=c[p>>2]|0;s=d+180|0;if((c[s>>2]|0)<=0)return;q=d+4608|0;r=d+4612|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(ce(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=be(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function _d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+104|0;if((c[g>>2]|0)>>>0<4)$d(b);h=b+100|0;i=b+112|0;j=b+96|0;k=b+108|0;l=b+116|0;d=c[h>>2]|0;f=0;do{e=a[i>>0]|0;if((d|0)>31)break;d=c[j>>2]|0;if(!(e<<24>>24)){a[c[k>>2]>>0]=d>>>24;c[j>>2]=c[j>>2]<<8;d=(c[h>>2]|0)+8|0}else{a[c[k>>2]>>0]=d>>>25;c[j>>2]=c[j>>2]<<7;d=(c[h>>2]|0)+7|0}c[h>>2]=d;m=c[k>>2]|0;e=(a[m>>0]|0)==-1&1;a[i>>0]=e;c[k>>2]=m+1;c[g>>2]=(c[g>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1;f=f+1|0}while((f|0)<4);if(!(e<<24>>24))ae(b,0,(d|0)%8|0);else ae(b,0,(d+-1|0)%8|0);if((c[g>>2]|0)>>>0<4)$d(b);d=c[h>>2]|0;e=0;do{if((d|0)>31)break;d=c[j>>2]|0;if(!(a[i>>0]|0)){a[c[k>>2]>>0]=d>>>24;c[j>>2]=c[j>>2]<<8;d=(c[h>>2]|0)+8|0}else{a[c[k>>2]>>0]=d>>>25;c[j>>2]=c[j>>2]<<7;d=(c[h>>2]|0)+7|0}c[h>>2]=d;m=c[k>>2]|0;a[i>>0]=(a[m>>0]|0)==-1&1;c[k>>2]=m+1;c[g>>2]=(c[g>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1;e=e+1|0}while((e|0)<4);if(!(c[b+132>>2]|0))return;$d(b);return}function $d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+132>>2]|0;if(!d){d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,4,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}e=b+108|0;f=b+120|0;h=c[f>>2]|0;g=(c[e>>2]|0)-h|0;if((Gb[c[(c[d>>2]|0)+48>>2]&63](d,h,g)|0)==(g|0)){h=c[f>>2]|0;c[e>>2]=h;c[b+104>>2]=(c[b+124>>2]|0)-h;return}d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,4,35648);h=o;o=0;if(!(h&1))lb(d|0,824,96);h=Na()|0;La(d|0);Ya(h|0)}function ae(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;l=b+100|0;e=(c[l>>2]|0)-e|0;c[l>>2]=e;if((e|0)>-1){m=b+96|0;c[m>>2]=c[m>>2]|d<>2]=c[m>>2]|d>>0-e;k=b+104|0;if((c[k>>2]|0)>>>0<4){$d(b);e=c[l>>2]|0}h=b+112|0;i=b+108|0;j=b+116|0;f=0;while(1){if((e|0)>31)break;e=c[m>>2]|0;if(!(a[h>>0]|0)){a[c[i>>2]>>0]=e>>>24;c[m>>2]=c[m>>2]<<8;e=(c[l>>2]|0)+8|0}else{a[c[i>>2]>>0]=e>>>25;c[m>>2]=c[m>>2]<<7;e=(c[l>>2]|0)+7|0}c[l>>2]=e;n=c[i>>2]|0;a[h>>0]=(a[n>>0]|0)==-1&1;c[i>>2]=n+1;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;f=f+1|0;if((f|0)>=4){g=11;break}}a:do if((g|0)==11)if((e|0)<0){c[m>>2]=c[m>>2]|d>>0-e;if((c[k>>2]|0)>>>0<4){$d(b);e=c[l>>2]|0;f=0}else f=0;do{if((e|0)>31)break a;e=c[m>>2]|0;if(!(a[h>>0]|0)){a[c[i>>2]>>0]=e>>>24;c[m>>2]=c[m>>2]<<8;e=(c[l>>2]|0)+8|0}else{a[c[i>>2]>>0]=e>>>25;c[m>>2]=c[m>>2]<<7;e=(c[l>>2]|0)+7|0}c[l>>2]=e;n=c[i>>2]|0;a[h>>0]=(a[n>>0]|0)==-1&1;c[i>>2]=n+1;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;f=f+1|0}while((f|0)<4)}while(0);c[m>>2]=c[m>>2]|d<>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;fe(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&65535;return r|0}r=g&~(d>>31);r=r&65535;return r|0}function ce(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=(c[a+180>>2]|0)-d|0;m=c[a+4608>>2]|0;n=c[a+4604>>2]|0;h=b[m+(d+-1<<1)>>1]|0;k=h&65535;f=c[a+144>>2]|0;i=0;while(1){g=m+(i+d<<1)|0;j=(e[g>>1]|0)-k|0;if((((j|0)>-1?j:0-j|0)|0)>(f|0))break;b[g>>1]=h;i=i+1|0;if((i|0)==(l|0)){i=l;break}}h=(i|0)==(l|0);j=a+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(a,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]=de(a,e[d>>1]|0,k,e[n+(l<<1)>>1]|0)|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;a=i+1|0;return a|0}if(!f){a=l;return a|0}ae(a,1,1);a=l;return a|0}function de(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;i=d-e|0;j=a+136|0;h=a+144|0;f=c[h>>2]|0;if((((i|0)>-1?i:0-i|0)|0)>(f|0)){g=e-d>>31|1;b=$(g,b-e|0)|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;d=((b|0)<0?f:0)+b|0;f=d-((d|0)<((f+1|0)/2|0|0)?0:f)|0;ee(a,a+4576|0,f);f=$(f,g)|0;g=c[h>>2]|0;h=g<<1|1;f=($(f,h)|0)+e|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&65535;return j|0}j=b&~(f>>31);j=j&65535;return j|0}else{b=b-d|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;g=((b|0)<0?f:0)+b|0;f=g-((g|0)<((f+1|0)/2|0|0)?0:f)|0;ee(a,a+4588|0,f);g=c[h>>2]|0;h=g<<1|1;f=($(h,f)|0)+d|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&65535;return j|0}j=b&~(f>>31);j=j&65535;return j|0}return 0}function ee(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;fe(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>2]|0;l=b+120|0;if(e>>>0<((c[l>>2]|0)+-3|0)>>>0){l=b+112|0;j=c[l>>2]|0;b=b+108|0;c[b>>2]=(d[e+1>>0]<<16|d[e>>0]<<24|d[e+2>>0]<<8|d[e+3>>0])>>>j|c[b>>2];b=32-j>>3;c[k>>2]=e+b;c[l>>2]=(b<<3)+j;return}j=b+104|0;f=c[j>>2]|0;do if(f){if((c[f+12>>2]|0)==(c[f+16>>2]|0)){if((Eb[c[(c[f>>2]|0)+36>>2]&127](f)|0)==-1)break;e=c[k>>2]|0}h=b+124|0;f=c[h>>2]|0;i=f-e|0;if(i>>>0<=64){g=b+92|0;if((f|0)==(e|0))f=e;else{f=0;do{a[(c[g>>2]|0)+f>>0]=a[e+f>>0]|0;f=f+1|0;e=c[k>>2]|0}while(f>>>0>>0);f=e;e=c[h>>2]|0}p=c[g>>2]|0;g=p;m=g-f|0;c[k>>2]=p;f=e+m|0;c[h>>2]=f;c[l>>2]=(c[l>>2]|0)+m;j=c[j>>2]|0;j=Gb[c[(c[j>>2]|0)+32>>2]&63](j,f,(c[b+96>>2]|0)-(g+i)|0)|0;c[h>>2]=(c[h>>2]|0)+j}}while(0);j=b+112|0;i=b+108|0;b=c[b+124>>2]|0;h=b+-1|0;e=c[k>>2]|0;while(1){if(e>>>0>=b>>>0){f=14;break}g=a[e>>0]|0;f=g&255;g=g<<24>>24==-1;if(g){if((e|0)==(h|0)){f=25;break}e=e+1|0;if((a[e>>0]|0)<0){f=25;break}}else e=e+1|0;p=c[j>>2]|0;c[i>>2]=f<<24-p|c[i>>2];c[k>>2]=e;p=p+(g?7:8)|0;c[j>>2]=p;if((p|0)>=24){f=33;break}}if((f|0)==14){if((c[j>>2]|0)>=1)return;e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);p=o;o=0;if(!(p&1))lb(e|0,824,96);p=Na()|0;La(e|0);Ya(p|0)}else if((f|0)==25){if((c[j>>2]|0)>=1)return;e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);p=o;o=0;if(!(p&1))lb(e|0,824,96);p=Na()|0;La(e|0);Ya(p|0)}else if((f|0)==33){a:do if(e>>>0>>0)do{if((a[e>>0]|0)==-1)break a;e=e+1|0}while(e>>>0>>0);while(0);c[l>>2]=e;return}}function he(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0;while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function ie(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;k=b+8|0;g=c[k>>2]|0;l=b+4|0;e=c[l>>2]|0;f=e;if((g-f|0)>>>0>=d>>>0){do{a[e>>0]=0;e=(c[l>>2]|0)+1|0;c[l>>2]=e;d=d+-1|0}while((d|0)!=0);return}e=c[b>>2]|0;h=f-e+d|0;if((h|0)<0){$i(b);g=c[k>>2]|0;e=c[b>>2]|0}f=g-e|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f;e=(c[l>>2]|0)-e|0;if(!f){g=0;i=0;h=e}else j=8}else{f=2147483647;e=(c[l>>2]|0)-e|0;j=8}if((j|0)==8){g=f;i=bj(f)|0;h=e}e=i+h|0;g=i+g|0;f=e;do{a[f>>0]=0;f=e+1|0;e=f;d=d+-1|0}while((d|0)!=0);d=c[b>>2]|0;f=(c[l>>2]|0)-d|0;j=i+(h-f)|0;lw(j|0,d|0,f|0)|0;c[b>>2]=j;c[l>>2]=e;c[k>>2]=g;if(!d)return;cj(d);return}function je(a){a=a|0;var b=0,d=0;c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function ke(a){a=a|0;var b=0,d=0;c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function le(a){a=a|0;var b=0,d=0;c[a>>2]=36052;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function me(a){a=a|0;var b=0,d=0;c[a>>2]=36052;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ne(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;xe(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function oe(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35828;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];qe(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;qe(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0} - function pe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function qe(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=a+180|0;r=(c[q>>2]|0)+4|0;if((c[a+32>>2]|0)==1)s=c[a+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;do if(d){if(!(d>>>0>715827882?(o=0,ha(178,w|0),v=o,o=0,v&1):0))j=6;if((j|0)==6?(o=0,e=ka(67,d*6|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;f=e+(d*6|0)|0;c[w+8>>2]=f;while(1){b[e>>1]=0;b[e+2>>1]=0;b[e+4>>1]=0;d=d+-1|0;if(!d)break;else e=e+6|0}c[x>>2]=f;break}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do if(!s)j=20;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))j=18;if((j|0)==18?(g=s<<2,o=0,h=ka(67,g|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=h;j=h+(s<<2)|0;c[t+8>>2]=j;iw(h|0,0,g|0)|0;c[v>>2]=j;j=20;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((j|0)==20){g=a+12|0;a:do if((c[g>>2]|0)>0){h=a+4604|0;j=($(s,r)|0)+1|0;k=a+4608|0;l=a+92|0;m=(s|0)>0;n=a+4600|0;p=0;b:while(1){e=c[w>>2]|0;d=e+6|0;c[h>>2]=d;e=e+(j*6|0)|0;c[k>>2]=e;if(!(p&1))d=e;else{c[h>>2]=e;c[k>>2]=d}f=c[l>>2]|0;o=0;Aa(c[(c[f>>2]|0)+12>>2]|0,f|0,d|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){j=30;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*6|0)|0;e=e+((y+-1|0)*6|0)|0;b[d>>1]=b[e>>1]|0;b[d+2>>1]=b[e+2>>1]|0;b[d+4>>1]=b[e+4>>1]|0;e=(c[k>>2]|0)+-6|0;d=c[h>>2]|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;b[e+4>>1]=b[d+4>>1]|0;o=0;ia(69,a|0,0);e=o;o=0;if(e&1){j=29;break b}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*6|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*6|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42;while(0);do if((j|0)==42){o=0;ha(182,a|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);i=u;return}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}function re(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;B=d+180|0;if((c[B>>2]|0)<=0)return;C=d+4608|0;D=d+4604|0;E=d+4612|0;A=0;while(1){x=A+-1|0;j=c[C>>2]|0;k=c[D>>2]|0;f=A+1|0;i=e[k+(A*6|0)>>1]|0;z=c[E>>2]|0;l=e[k+(x*6|0)>>1]|0;m=i-l|0;n=e[j+(x*6|0)>>1]|0;o=l-n|0;p=((((a[z+((e[k+(f*6|0)>>1]|0)-i)>>0]|0)*9|0)+(a[z+m>>0]|0)|0)*9|0)+(a[z+o>>0]|0)|0;h=e[k+(A*6|0)+2>>1]|0;q=e[k+(x*6|0)+2>>1]|0;r=h-q|0;s=e[j+(x*6|0)+2>>1]|0;t=q-s|0;u=((((a[z+((e[k+(f*6|0)+2>>1]|0)-h)>>0]|0)*9|0)+(a[z+r>>0]|0)|0)*9|0)+(a[z+t>>0]|0)|0;g=e[k+(A*6|0)+4>>1]|0;v=e[k+(x*6|0)+4>>1]|0;w=g-v|0;x=e[j+(x*6|0)+4>>1]|0;y=v-x|0;z=((((a[z+((e[k+(f*6|0)+4>>1]|0)-g)>>0]|0)*9|0)+(a[z+w>>0]|0)|0)*9|0)+(a[z+y>>0]|0)|0;if(!(u|p|z))f=(se(d,A,0)|0)+A|0;else{k=e[j+(A*6|0)>>1]|0;j=i-n>>31;if((j^o|0)>=0)if((j^m|0)<0)i=n;else i=n-l+i|0;k=te(d,p,k,i,0)|0;j=e[(c[C>>2]|0)+(A*6|0)+2>>1]|0;i=h-s>>31;if((i^t|0)>=0)if((i^r|0)<0)h=s;else h=s-q+h|0;i=te(d,u,j,h,0)|0;j=e[(c[C>>2]|0)+(A*6|0)+4>>1]|0;h=g-x>>31;if((h^y|0)>=0)if((h^w|0)<0)g=x;else g=x-v+g|0;y=te(d,z,j,g,0)|0;z=c[C>>2]|0;b[z+(A*6|0)>>1]=k;b[z+(A*6|0)+2>>1]=i;b[z+(A*6|0)+4>>1]=y}if((f|0)<(c[B>>2]|0))A=f;else break}return}function se(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=i;i=i+48|0;r=B+30|0;q=B+24|0;p=B+18|0;s=B+12|0;x=B+6|0;y=B;z=(c[a+180>>2]|0)-d|0;A=c[a+4608>>2]|0;t=c[a+4604>>2]|0;w=d+-1|0;u=b[A+(w*6|0)>>1]|0;v=b[A+(w*6|0)+2>>1]|0;w=b[A+(w*6|0)+4>>1]|0;f=u&65535;g=a+144|0;h=v&65535;j=w&65535;o=0;while(1){m=o+d|0;k=A+(m*6|0)|0;l=A+(m*6|0)+2|0;m=A+(m*6|0)+4|0;C=(e[k>>1]|0)-f|0;n=c[g>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(e[l>>1]|0)-h|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(e[m>>1]|0)-j|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;b[k>>1]=u;b[l>>1]=v;b[m>>1]=w;o=o+1|0;if((o|0)==(z|0)){o=z;break}}h=(o|0)==(z|0);j=a+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(o|0))f=o;else{f=o;do{ae(a,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]=b[C>>1]|0;b[x+2>>1]=b[C+2>>1]|0;b[x+4>>1]=b[C+4>>1]|0;b[y>>1]=u;b[y+2>>1]=v;b[y+4>>1]=w;d=t+(d*6|0)|0;b[p>>1]=b[x>>1]|0;b[p+2>>1]=b[x+2>>1]|0;b[p+4>>1]=b[x+4>>1]|0;b[q>>1]=b[y>>1]|0;b[q+2>>1]=b[y+2>>1]|0;b[q+4>>1]=b[y+4>>1]|0;b[r>>1]=b[d>>1]|0;b[r+2>>1]=b[d+2>>1]|0;b[r+4>>1]=b[d+4>>1]|0;ve(s,a,p,q,r);b[C>>1]=b[s>>1]|0;b[C+2>>1]=b[s+2>>1]|0;b[C+4>>1]=b[s+4>>1]|0;C=c[j>>2]|0;c[j>>2]=(C|0)<1?0:C+-1|0;C=o+1|0;i=B;return C|0}if(!f){C=z;i=B;return C|0}ae(a,1,1);C=z;i=B;return C|0}function te(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;ue(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&65535;return r|0}r=g&~(d>>31);r=r&65535;return r|0}function ue(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>1]|0;p=o-(e[g>>1]|0)>>31|1;i=$(p,(e[f>>1]|0)-o|0)|0;m=d+144|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;w=d+140|0;l=c[w>>2]|0;k=((i|0)<0?l:0)+i|0;l=k-((k|0)<((l+1|0)/2|0|0)?0:l)|0;k=d+4576|0;we(d,k,l);t=e[h+2>>1]|0;u=t-(e[g+2>>1]|0)>>31|1;i=$(u,(e[f+2>>1]|0)-t|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;q=c[w>>2]|0;v=((i|0)<0?q:0)+i|0;q=v-((v|0)<((q+1|0)/2|0|0)?0:q)|0;we(d,k,q);v=e[h+4>>1]|0;s=v-(e[g+4>>1]|0)>>31|1;i=$(s,(e[f+4>>1]|0)-v|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;n=c[w>>2]|0;i=((i|0)<0?n:0)+i|0;n=i-((i|0)<((n+1|0)/2|0|0)?0:n)|0;we(d,k,n);k=c[m>>2]|0;m=k<<1|1;i=($($(m,l)|0,p)|0)+o|0;f=0-k|0;if((i|0)>=(f|0)){j=c[r>>2]|0;if((j+k|0)<(i|0)){i=i-($(c[w>>2]|0,m)|0)|0;g=j}else g=j}else{i=($(c[w>>2]|0,m)|0)+i|0;g=c[r>>2]|0}if((i&g|0)!=(i|0))i=g&~(i>>31);h=i&65535;i=($($(m,q)|0,u)|0)+t|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)!=(i|0))i=g&~(i>>31);j=i&65535;i=($($(m,n)|0,s)|0)+v|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)==(i|0)){w=i;w=w&65535;b[a>>1]=h;v=a+2|0;b[v>>1]=j;a=a+4|0;b[a>>1]=w;return}w=g&~(i>>31);w=w&65535;b[a>>1]=h;v=a+2|0;b[v>>1]=j;a=a+4|0;b[a>>1]=w;return}function we(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;ue(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function xe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0;while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function ye(a){a=a|0;var b=0,d=0;c[a>>2]=36024;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function ze(a){a=a|0;var b=0,d=0;c[a>>2]=36024;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Ae(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;pf(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function Be(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35800;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Ce(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function De(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36712;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Ee(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36688;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Fe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36664;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Ge(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36640;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function He(a){a=a|0;var b=0,d=0;c[a>>2]=36640;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function Ie(a){a=a|0;var b=0,d=0;c[a>>2]=36640;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Je(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;Ne(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;Ne(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Le(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Me(a,f,b,d,e);return}}function Le(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{j=d[k+(i*3|0)+1>>0]|0;h=128-j+(d[k+(i*3|0)+2>>0]|0)|0;l=(d[k+(i*3|0)>>0]|0)-j+128|0;m=f+(i*3|0)|0;a[m>>0]=j+192+(((h&255)+(l&255)|0)>>>2);a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{g=d[k+(e*3|0)+1>>0]|0;l=128-g+(d[k+(e*3|0)+2>>0]|0)|0;m=(d[k+(e*3|0)>>0]|0)-g+128|0;a[f+e>>0]=g+192+(((l&255)+(m&255)|0)>>>2);a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{m=a[k+(j<<2)+3>>0]|0;n=d[k+(j<<2)+1>>0]|0;g=128-n+(d[k+(j<<2)+2>>0]|0)|0;l=(d[k+(j<<2)>>0]|0)-n+128|0;a[f+j>>0]=n+192+(((g&255)+(l&255)|0)>>>2);a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Me(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Le(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Le(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}while(0);s=h;fn(e);Ya(s|0)}function Ne(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=b+4|0;b=c[l>>2]|0;a:do switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=d[e+(b*3|0)+1>>0]|0;i=d[e+(b*3|0)+2>>0]|0;k=(d[e+(b*3|0)>>0]|0)-((i+j|0)>>>2)+64|0;h=f+(b*3|0)|0;a[h>>0]=i+128+k;a[h+1>>0]=k;a[h+2>>0]=j+128+k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=d[e+(j+h)>>0]|0;o=d[e+(j+i)>>0]|0;m=(d[e+j>>0]|0)-((o+n|0)>>>2)+64|0;k=f+(j*3|0)|0;a[k>>0]=o+128+m;a[k+1>>0]=m;a[k+2>>0]=n+128+m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{m=d[e+(j+h)>>0]|0;p=d[e+(j+b)>>0]|0;n=(d[e+j>>0]|0)-((p+m|0)>>>2)+64|0;o=f+(j<<2)|0;n=n<<8&65280|d[e+(j+i)>>0]<<24|p+128+n&255|m+128+n<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){p=b+2|0;o=a[b>>0]|0;a[b>>0]=a[p>>0]|0;a[p>>0]=o;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function Oe(a){a=a|0;var b=0,d=0;c[a>>2]=36664;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function Pe(a){a=a|0;var b=0,d=0;c[a>>2]=36664;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Qe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;Ue(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;Ue(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Se(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Te(a,f,b,d,e);return}}function Se(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{e=d[k+(i*3|0)>>0]|0;h=a[k+(i*3|0)+1>>0]|0;j=h&255;l=(d[k+(i*3|0)+2>>0]|0)+128-((j+e|0)>>>1)&255;m=f+(i*3|0)|0;a[m>>0]=e+128-j;a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{l=a[k+(e*3|0)+1>>0]|0;j=d[k+(e*3|0)>>0]|0;g=l&255;m=(d[k+(e*3|0)+2>>0]|0)+128-((g+j|0)>>>1)&255;a[f+e>>0]=j+128-g;a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{g=a[k+(j<<2)+1>>0]|0;m=a[k+(j<<2)+3>>0]|0;o=d[k+(j<<2)>>0]|0;n=g&255;l=(d[k+(j<<2)+2>>0]|0)+128-((n+o|0)>>>1)&255;a[f+j>>0]=o+128-n;a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Te(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Se(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Se(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}while(0);s=h;fn(e);Ya(s|0)}function Ue(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=b+4|0;b=c[l>>2]|0;a:do switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;k=j&255;i=(d[e+(b*3|0)>>0]|0)+128+k|0;k=(d[e+(b*3|0)+2>>0]|0)+128+(((i&255)+k|0)>>>1)&255;h=f+(b*3|0)|0;a[h>>0]=i;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;m=n&255;o=(d[e+j>>0]|0)+128+m|0;m=(d[e+(j+i)>>0]|0)+128+(((o&255)+m|0)>>>1)&255;k=f+(j*3|0)|0;a[k>>0]=o;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=d[e+(j+h)>>0]|0;m=(d[e+j>>0]|0)+128+n&255;o=f+(j<<2)|0;n=m|n<<8|d[e+(j+i)>>0]<<24|(d[e+(j+b)>>0]|0)+128+((m+n|0)>>>1)<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){o=b+2|0;n=a[b>>0]|0;a[b>>0]=a[o>>0]|0;a[o>>0]=n;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function Ve(a){a=a|0;var b=0,d=0;c[a>>2]=36688;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function We(a){a=a|0;var b=0,d=0;c[a>>2]=36688;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Xe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;$e(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;$e(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Ze(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{_e(a,f,b,d,e);return}}function Ze(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{h=a[k+(i*3|0)+1>>0]|0;j=h&255;l=128-j+(d[k+(i*3|0)+2>>0]|0)&255;m=f+(i*3|0)|0;a[m>>0]=(d[k+(i*3|0)>>0]|0)+128-j;a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{l=a[k+(e*3|0)+1>>0]|0;g=l&255;m=128-g+(d[k+(e*3|0)+2>>0]|0)&255;a[f+e>>0]=(d[k+(e*3|0)>>0]|0)+128-g;a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{g=a[k+(j<<2)+1>>0]|0;m=a[k+(j<<2)+3>>0]|0;n=g&255;l=128-n+(d[k+(j<<2)+2>>0]|0)&255;a[f+j>>0]=(d[k+(j<<2)>>0]|0)+128-n;a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function _e(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Ze(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Ze(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}while(0);s=h;fn(e);Ya(s|0)}function $e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=b+4|0;b=c[l>>2]|0;a:do switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;i=j&255;k=i+128+(d[e+(b*3|0)+2>>0]|0)&255;h=f+(b*3|0)|0;a[h>>0]=(d[e+(b*3|0)>>0]|0)+128+i;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;o=n&255;m=o+128+(d[e+(j+i)>>0]|0)&255;k=f+(j*3|0)|0;a[k>>0]=(d[e+j>>0]|0)+128+o;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=d[e+(j+h)>>0]|0;o=f+(j<<2)|0;n=(d[e+j>>0]|0)+128+n&255|n<<8|d[e+(j+i)>>0]<<24|n+128+(d[e+(j+b)>>0]|0)<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){o=b+2|0;n=a[b>>0]|0;a[b>>0]=a[o>>0]|0;a[o>>0]=n;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function af(a){a=a|0;var b=0,d=0;c[a>>2]=36712;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function bf(a){a=a|0;var b=0,d=0;c[a>>2]=36712;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function cf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;gf(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;gf(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;ef(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{ff(a,f,b,d,e);return}}function ef(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=b+4|0;h=c[j>>2]|0;if(!(a[h+32>>0]|0))j=d;else{i=b+8|0;lw(c[i>>2]|0,d|0,f*3|0)|0;h=c[j>>2]|0;d=c[h+16>>2]|0;if((f|0)>0){h=c[i>>2]|0;b=0;while(1){k=h+2|0;l=a[h>>0]|0;a[h>>0]=a[k>>0]|0;a[k>>0]=l;b=b+1|0;if((b|0)==(f|0))break;else h=h+d|0}h=c[j>>2]|0}j=c[i>>2]|0}switch(c[h+16>>2]|0){case 3:{if((c[h+24>>2]|0)==2){if((f|0)>0)h=0;else return;do{g=a[j+(h*3|0)+1>>0]|0;k=a[j+(h*3|0)+2>>0]|0;l=e+(h*3|0)|0;a[l>>0]=a[j+(h*3|0)>>0]|0;a[l+1>>0]=g;a[l+2>>0]=k;h=h+1|0}while((h|0)!=(f|0));return}h=(g|0)<(f|0)?g:f;if((h|0)<=0)return;b=g<<1;d=0;do{k=a[j+(d*3|0)+1>>0]|0;l=a[j+(d*3|0)+2>>0]|0;a[e+d>>0]=a[j+(d*3|0)>>0]|0;a[e+(d+g)>>0]=k;a[e+(d+b)>>0]=l;d=d+1|0}while((d|0)!=(h|0));return}case 4:{if((c[h+24>>2]|0)!=1)return;h=(g|0)<(f|0)?g:f;if((h|0)<=0)return;b=g<<1;d=g*3|0;i=0;do{f=a[j+(i<<2)+1>>0]|0;k=a[j+(i<<2)+2>>0]|0;l=a[j+(i<<2)+3>>0]|0;a[e+i>>0]=a[j+(i<<2)>>0]|0;a[e+(i+g)>>0]=f;a[e+(i+b)>>0]=k;a[e+(i+d)>>0]=l;i=i+1|0}while((i|0)!=(h|0));return}default:return}}function ff(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;ef(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){ef(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}while(0);s=h;fn(e);Ya(s|0)}function gf(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;b=c[l>>2]|0;a:do switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;k=a[e+(b*3|0)+2>>0]|0;h=f+(b*3|0)|0;a[h>>0]=a[e+(b*3|0)>>0]|0;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;m=a[e+(j+i)>>0]|0;k=f+(j*3|0)|0;a[k>>0]=a[e+j>>0]|0;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=f+(j<<2)|0;m=d[e+(j+h)>>0]<<8|d[e+j>>0]|d[e+(j+b)>>0]<<16|d[e+(j+i)>>0]<<24;a[n>>0]=m;a[n+1>>0]=m>>8;a[n+2>>0]=m>>16;a[n+3>>0]=m>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){n=b+2|0;m=a[b>>0]|0;a[b>>0]=a[n>>0]|0;a[n>>0]=m;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function hf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+180|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do if(d){if(!(d>>>0>1431655765?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[x>>2]|0)+3|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((h|0)==19){g=b+12|0;b:do if((c[g>>2]|0)>0){h=b+4604|0;j=($(s,r)|0)+1|0;k=b+4608|0;l=b+92|0;m=(s|0)>0;n=b+4600|0;p=0;c:while(1){f=c[w>>2]|0;d=f+3|0;c[h>>2]=d;e=f+(j*3|0)|0;c[k>>2]=e;if(!(p&1))d=j;else{c[h>>2]=e;c[k>>2]=d;d=1}e=c[l>>2]|0;o=0;Aa(c[(c[e>>2]|0)+12>>2]|0,e|0,f+(d*3|0)|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*3|0)|0;e=e+((y+-1|0)*3|0)|0;a[d>>0]=a[e>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;d=c[h>>2]|0;e=(c[k>>2]|0)+-3|0;a[e>>0]=a[d>>0]|0;a[e+1>>0]=a[d+1>>0]|0;a[e+2>>0]=a[d+2>>0]|0;o=0;ia(70,b|0,0);e=o;o=0;if(e&1){h=28;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*3|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*3|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){f=Na()|0;break}else if((h|0)==29){f=Na()|0;break}}else h=41;while(0);do if((h|0)==41){o=0;ha(182,b|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=u;return}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function jf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+180|0;if((c[A>>2]|0)<=0)return;B=b+4608|0;C=b+4604|0;D=b+4612|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=(kf(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=lf(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=lf(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=lf(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function kf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=i;i=i+32|0;A=B+15|0;q=B+12|0;p=B+9|0;r=B+6|0;w=B+3|0;x=B;y=(c[b+180>>2]|0)-e|0;z=c[b+4608>>2]|0;s=c[b+4604>>2]|0;v=z+((e+-1|0)*3|0)|0;t=a[v>>0]|0;u=a[v+1>>0]|0;v=a[v+2>>0]|0;f=t&255;g=b+144|0;h=u&255;j=v&255;o=0;while(1){k=z+((o+e|0)*3|0)|0;l=k+1|0;m=k+2|0;C=(d[k>>0]|0)-f|0;n=c[g>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(d[l>>0]|0)-h|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(d[m>>0]|0)-j|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;a[k>>0]=t;a[l>>0]=u;a[m>>0]=v;o=o+1|0;if((o|0)==(y|0)){o=y;break}}h=(o|0)==(y|0);j=b+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(o|0))f=o;else{f=o;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]=a[C>>0]|0;a[w+1>>0]=a[C+1>>0]|0;a[w+2>>0]=a[C+2>>0]|0;a[x>>0]=t;a[x+1>>0]=u;a[x+2>>0]=v;e=s+(e*3|0)|0;a[p>>0]=a[w>>0]|0;a[p+1>>0]=a[w+1>>0]|0;a[p+2>>0]=a[w+2>>0]|0;a[q>>0]=a[x>>0]|0;a[q+1>>0]=a[x+1>>0]|0;a[q+2>>0]=a[x+2>>0]|0;a[A>>0]=a[e>>0]|0;a[A+1>>0]=a[e+1>>0]|0;a[A+2>>0]=a[e+2>>0]|0;nf(r,b,p,q,A);a[C>>0]=a[r>>0]|0;a[C+1>>0]=a[r+1>>0]|0;a[C+2>>0]=a[r+2>>0]|0;C=c[j>>2]|0;c[j>>2]=(C|0)<1?0:C+-1|0;C=o+1|0;i=B;return C|0}if(!f){C=y;i=B;return C|0}ae(b,1,1);C=y;i=B;return C|0}function lf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;mf(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&255;return r|0}r=g&~(d>>31);r=r&255;return r|0}function mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>0]|0;p=o-(d[g>>0]|0)>>31|1;i=$(p,(d[f>>0]|0)-o|0)|0;m=e+144|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;w=e+140|0;l=c[w>>2]|0;k=((i|0)<0?l:0)+i|0;l=k-((k|0)<((l+1|0)/2|0|0)?0:l)|0;k=e+4576|0;of(e,k,l);t=d[h+1>>0]|0;u=t-(d[g+1>>0]|0)>>31|1;i=$(u,(d[f+1>>0]|0)-t|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;q=c[w>>2]|0;v=((i|0)<0?q:0)+i|0;q=v-((v|0)<((q+1|0)/2|0|0)?0:q)|0;of(e,k,q);v=d[h+2>>0]|0;s=v-(d[g+2>>0]|0)>>31|1;i=$(s,(d[f+2>>0]|0)-v|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;n=c[w>>2]|0;i=((i|0)<0?n:0)+i|0;n=i-((i|0)<((n+1|0)/2|0|0)?0:n)|0;of(e,k,n);k=c[m>>2]|0;m=k<<1|1;i=($($(m,l)|0,p)|0)+o|0;f=0-k|0;if((i|0)>=(f|0)){j=c[r>>2]|0;if((j+k|0)<(i|0)){i=i-($(c[w>>2]|0,m)|0)|0;g=j}else g=j}else{i=($(c[w>>2]|0,m)|0)+i|0;g=c[r>>2]|0}if((i&g|0)!=(i|0))i=g&~(i>>31);h=i&255;i=($($(m,q)|0,u)|0)+t|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)!=(i|0))i=g&~(i>>31);j=i&255;i=($($(m,n)|0,s)|0)+v|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)==(i|0)){w=i;w=w&255;a[b>>0]=h;v=b+1|0;a[v>>0]=j;b=b+2|0;a[b>>0]=w;return}w=g&~(i>>31);w=w&255;a[b>>0]=h;v=b+1|0;a[v>>0]=j;b=b+2|0;a[b>>0]=w;return}function of(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;mf(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function pf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0;while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function qf(a){a=a|0;var b=0,d=0;c[a>>2]=35996;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function rf(a){a=a|0;var b=0,d=0;c[a>>2]=35996;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function sf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,65535,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Bf(d);g=0;do{c[d+172+(g*12|0)>>2]=1024;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=1024;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=1024;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function tf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35772;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];vf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;vf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function uf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function vf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+156|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((j|0)==18){h=a+12|0;a:do if((c[h>>2]|0)>0){j=a+4580|0;k=($(t,s)|0)+1|0;l=a+4584|0;m=a+92|0;n=(t|0)>0;p=a+4576|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(71,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40;while(0);do if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function wf(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4580|0;f=c[p>>2]|0;s=d+156|0;if((c[s>>2]|0)<=0)return;q=d+4584|0;r=d+4588|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(yf(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=xf(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function xf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&65535|0)==(g|0))m=g;else m=g>>31&65535^65535;j=(e-m^q)-q<<16;l=j>>16;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;f=g^l;f=f>>30^f<<1;g=f>>h;if((g|0)<47){if((g|0)>30){i=(g|0)/2|0;ae(a,0,i);g=g-i|0}ae(a,1,g+1|0);ae(a,f&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-65536?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}function yf(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[a+156>>2]|0)-d|0;k=c[a+4584>>2]|0;m=c[a+4580>>2]|0;h=b[k+(d+-1<<1)>>1]|0;g=0;while(1){f=k+(g+d<<1)|0;if((b[f>>1]|0)!=h<<16>>16){n=g;break}b[f>>1]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&65535;h=(n|0)==(j|0);l=a+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(a,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]|0;f=e[m+(f<<1)>>1]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<16>>16;zf(a,a+4564|0,f);f=f+i|0}else{m=f-i>>31|1;d=($(g-f<<16,m)|0)>>16;zf(a,a+4552|0,d);f=($(d,m)|0)+f|0}b[h>>1]=f;a=c[l>>2]|0;c[l>>2]=(a|0)<1?0:a+-1|0;a=n+1|0;return a|0}function zf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Af(b,h,g,63-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Af(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-16|0;if((e|0)<(d+-17|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-47|0)}else ae(a,1,f);ae(a,c+65535&65535,16);return}function Bf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,65535,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8909]|0;c[b+4588>>2]=l+(((c[8910]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=131072){if(h>>>0>131072?(j=d+131072|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,131072-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+65536;j=b+168|0;g=b+164|0;h=-65536;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==65536)break}i=m;return}function Cf(a){a=a|0;var b=0,d=0;c[a>>2]=35968;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Df(a){a=a|0;var b=0,d=0;c[a>>2]=35968;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Ef(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,4095,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Nf(d);g=0;do{c[d+172+(g*12|0)>>2]=64;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=64;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=64;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function Ff(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35744;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Gf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Hf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+156|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((j|0)==18){h=a+12|0;a:do if((c[h>>2]|0)>0){j=a+4580|0;k=($(t,s)|0)+1|0;l=a+4584|0;m=a+92|0;n=(t|0)>0;p=a+4576|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(72,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40;while(0);do if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function If(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4580|0;f=c[p>>2]|0;s=d+156|0;if((c[s>>2]|0)<=0)return;q=d+4584|0;r=d+4588|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(Kf(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=Jf(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function Jf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&4095|0)==(g|0))m=g;else m=g>>31&4095^4095;j=(e-m^q)-q<<20;l=j>>20;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;f=g^l;f=f>>30^f<<1;g=f>>h;if((g|0)<35){if((g|0)>30){i=(g|0)/2|0;ae(a,0,i);g=g-i|0}ae(a,1,g+1|0);ae(a,f&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-1048576?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}function Kf(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[a+156>>2]|0)-d|0;k=c[a+4584>>2]|0;m=c[a+4580>>2]|0;h=b[k+(d+-1<<1)>>1]|0;g=0;while(1){f=k+(g+d<<1)|0;if((b[f>>1]|0)!=h<<16>>16){n=g;break}b[f>>1]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&65535;h=(n|0)==(j|0);l=a+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(a,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]|0;f=e[m+(f<<1)>>1]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<20>>20;Lf(a,a+4564|0,f);f=f+i|0}else{m=f-i>>31|1;d=($(g-f<<20,m)|0)>>20;Lf(a,a+4552|0,d);f=($(d,m)|0)+f|0}b[h>>1]=f&4095;a=c[l>>2]|0;c[l>>2]=(a|0)<1?0:a+-1|0;a=n+1|0;return a|0}function Lf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Mf(b,h,g,47-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Mf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-12|0;if((e|0)<(d+-13|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-43|0)}else ae(a,1,f);ae(a,c+4095&4095,12);return}function Nf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,4095,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8906]|0;c[b+4588>>2]=l+(((c[8907]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=8192){if(h>>>0>8192?(j=d+8192|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,8192-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+4096;j=b+168|0;g=b+164|0;h=-4096;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==4096)break}i=m;return}function Of(a){a=a|0;var b=0,d=0;c[a>>2]=35940;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Pf(a){a=a|0;var b=0,d=0;c[a>>2]=35940;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Qf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Zf(d);g=0;do{c[d+172+(g*12|0)>>2]=4;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=4;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=4;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function Rf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35716;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Tf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Tf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Sf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Tf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+156|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do if(d){if(!((d|0)<0?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[x>>2]|0)+1|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}e=Na()|0;d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}while(0);if((h|0)==19){g=b+12|0;b:do if((c[g>>2]|0)>0){h=b+4580|0;j=($(s,r)|0)+1|0;k=b+4584|0;l=b+92|0;m=(s|0)>0;n=b+4576|0;p=0;c:while(1){e=c[w>>2]|0;d=e+1|0;c[h>>2]=d;e=e+j|0;c[k>>2]=e;if(!(p&1))d=e;else{c[h>>2]=e;c[k>>2]=d}f=c[l>>2]|0;o=0;Aa(c[(c[f>>2]|0)+12>>2]|0,f|0,d|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[h>>2]|0;e=c[t>>2]|0;f=0;do{c[n>>2]=c[e+(f<<2)>>2];e=c[q>>2]|0;a[d+e>>0]=a[d+(e+-1)>>0]|0;a[(c[k>>2]|0)+-1>>0]=a[c[h>>2]>>0]|0;o=0;ia(73,b|0,0);e=o;o=0;if(e&1){h=28;break c}e=c[t>>2]|0;c[e+(f<<2)>>2]=c[n>>2];d=(c[h>>2]|0)+r|0;c[h>>2]=d;c[k>>2]=(c[k>>2]|0)+r;f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){e=Na()|0;break}else if((h|0)==29){e=Na()|0;break}}else h=41;while(0);do if((h|0)==41){o=0;ha(182,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return}while(0);d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}function Uf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4580|0;e=c[o>>2]|0;r=b+156|0;if((c[r>>2]|0)<=0)return;p=b+4584|0;q=b+4588|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(Wf(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=Vf(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function Vf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&255|0)==(g|0))m=g;else m=g>>31&255^255;j=(e-m^q)-q<<24;l=j>>24;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;g=g^l;g=g>>30^g<<1;f=g>>h;if((f|0)<23){ae(a,1,f+1|0);ae(a,g&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-16777216?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}function Wf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[b+156>>2]|0)-e|0;k=c[b+4584>>2]|0;m=c[b+4580>>2]|0;h=a[k+(e+-1)>>0]|0;g=0;while(1){f=k+(g+e)|0;if((a[f>>0]|0)!=h<<24>>24){n=g;break}a[f>>0]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&255;h=(n|0)==(j|0);l=b+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(b,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]|0;f=d[m+f>>0]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<24>>24;Xf(b,b+4564|0,f);f=f+i|0}else{m=f-i>>31|1;e=($(g-f<<24,m)|0)>>24;Xf(b,b+4552|0,e);f=($(e,m)|0)+f|0}a[h>>0]=f;b=c[l>>2]|0;c[l>>2]=(b|0)<1?0:b+-1|0;b=n+1|0;return b|0}function Xf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Yf(b,h,g,31-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-8|0;if((e|0)<(d+-9|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-39|0)}else ae(a,1,f);ae(a,c+255&255,8);return}function Zf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8900]|0;c[b+4588>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+256;j=b+168|0;g=b+164|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function _f(a){a=a|0;var b=0,d=0;c[a>>2]=35912;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function $f(a){a=a|0;var b=0,d=0;c[a>>2]=35912;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ag(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;jg(d);g=0;do{c[d+172+(g*12|0)>>2]=4;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=4;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=4;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function bg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35688;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];dg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;dg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function cg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function dg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+156|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do if(d){if(!(d>>>0>1431655765?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[x>>2]|0)+3|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((h|0)==19){g=b+12|0;b:do if((c[g>>2]|0)>0){h=b+4580|0;j=($(s,r)|0)+1|0;k=b+4584|0;l=b+92|0;m=(s|0)>0;n=b+4576|0;p=0;c:while(1){f=c[w>>2]|0;d=f+3|0;c[h>>2]=d;e=f+(j*3|0)|0;c[k>>2]=e;if(!(p&1))d=j;else{c[h>>2]=e;c[k>>2]=d;d=1}e=c[l>>2]|0;o=0;Aa(c[(c[e>>2]|0)+12>>2]|0,e|0,f+(d*3|0)|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*3|0)|0;e=e+((y+-1|0)*3|0)|0;a[d>>0]=a[e>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;d=c[h>>2]|0;e=(c[k>>2]|0)+-3|0;a[e>>0]=a[d>>0]|0;a[e+1>>0]=a[d+1>>0]|0;a[e+2>>0]=a[d+2>>0]|0;o=0;ia(74,b|0,0);e=o;o=0;if(e&1){h=28;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*3|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*3|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){f=Na()|0;break}else if((h|0)==29){f=Na()|0;break}}else h=41;while(0);do if((h|0)==41){o=0;ha(182,b|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=u;return}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function eg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+156|0;if((c[A>>2]|0)<=0)return;B=b+4584|0;C=b+4580|0;D=b+4588|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=(fg(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=gg(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=gg(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=gg(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function fg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=(c[b+156>>2]|0)-e|0;n=c[b+4584>>2]|0;o=c[b+4580>>2]|0;l=n+((e+-1|0)*3|0)|0;p=a[l>>0]|0;k=a[l+1>>0]|0;l=a[l+2>>0]|0;i=0;while(1){f=n+((i+e|0)*3|0)|0;g=f+1|0;h=f+2|0;if(!(((a[f>>0]|0)==p<<24>>24?(a[g>>0]|0)==k<<24>>24:0)&(a[h>>0]|0)==l<<24>>24))break;a[f>>0]=p;a[g>>0]=k;a[h>>0]=l;i=i+1|0;if((i|0)==(m|0)){i=m;break}}h=(i|0)==(m|0);j=b+4576|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]|0;e=m+2|0;f=a[e>>0]|0;o=o+(q*3|0)|0;q=a[o+1>>0]|0;t=a[o+2>>0]|0;o=d[o>>0]|0;h=o-(p&255)>>31|1;g=($((d[m>>0]|0)-o<<24,h)|0)>>24;s=b+4552|0;hg(b,s,g);p=q&255;q=p-(k&255)>>31|1;r=($((r&255)-p<<24,q)|0)>>24;hg(b,s,r);k=t&255;l=k-(l&255)>>31|1;f=($((f&255)-k<<24,l)|0)>>24;hg(b,s,f);p=($(r,q)|0)+p&255;b=($(f,l)|0)+k&255;a[m>>0]=($(g,h)|0)+o;a[n>>0]=p;a[e>>0]=b;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;b=i+1|0;return b|0}if(!f){t=m;return t|0}ae(b,1,1);t=m;return t|0}function gg(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&255|0)==(g|0))m=g;else m=g>>31&255^255;j=(e-m^q)-q<<24;l=j>>24;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;g=g^l;g=g>>30^g<<1;f=g>>h;if((f|0)<23){ae(a,1,f+1|0);ae(a,g&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-16777216?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}function hg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;ig(b,h,g,31-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function ig(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-8|0;if((e|0)<(d+-9|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-39|0)}else ae(a,1,f);ae(a,c+255&255,8);return}function jg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8900]|0;c[b+4588>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+256;j=b+168|0;g=b+164|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function kg(a){a=a|0;var b=0,d=0;c[a>>2]=35884;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function lg(a){a=a|0;var b=0,d=0;c[a>>2]=35884;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function mg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;wg(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function ng(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35660;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];pg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;pg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0} - function og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function pg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;u=i;i=i+32|0;w=u+12|0;t=u;r=b+180|0;s=(c[r>>2]|0)+4|0;if((c[b+32>>2]|0)==1)p=c[b+24>>2]|0;else p=1;d=$(p<<1,s)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do if(d){if(!((d|0)<0?(o=0,ha(178,w|0),v=o,o=0,v&1):0))q=6;if((q|0)==6?(o=0,e=ka(67,d|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[x>>2]|0)+1|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do if(!p)q=19;else{if(!(p>>>0>1073741823?(o=0,ha(178,t|0),n=o,o=0,n&1):0))q=17;if((q|0)==17?(f=p<<2,o=0,g=ka(67,f|0)|0,n=o,o=0,!(n&1)):0){c[t>>2]=g;q=g+(p<<2)|0;c[t+8>>2]=q;iw(g|0,0,f|0)|0;c[v>>2]=q;q=19;break}e=Na()|0;d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}while(0);if((q|0)==19){j=b+12|0;b:do if((c[j>>2]|0)>0){k=b+4604|0;l=($(p,s)|0)+1|0;m=b+4608|0;n=b+92|0;h=b+4600|0;if((p|0)>0)g=0;else{f=0;while(1){e=c[w>>2]|0;d=e+1|0;c[k>>2]=d;e=e+l|0;c[m>>2]=e;if(!(f&1))d=e;else{c[k>>2]=e;c[m>>2]=d}p=c[n>>2]|0;o=0;Aa(c[(c[p>>2]|0)+12>>2]|0,p|0,d|0,c[r>>2]|0,s|0);p=o;o=0;if(p&1)break;f=f+1|0;if((f|0)>=(c[j>>2]|0)){q=45;break b}}e=Na()|0;break}c:while(1){e=c[w>>2]|0;d=e+1|0;c[k>>2]=d;e=e+l|0;c[m>>2]=e;if(!(g&1))d=e;else{c[k>>2]=e;c[m>>2]=d}q=c[n>>2]|0;o=0;Aa(c[(c[q>>2]|0)+12>>2]|0,q|0,d|0,c[r>>2]|0,s|0);q=o;o=0;if(q&1){q=28;break}d=c[t>>2]|0;e=c[k>>2]|0;f=0;do{c[h>>2]=c[d+(f<<2)>>2];q=c[r>>2]|0;a[e+q>>0]=a[e+(q+-1)>>0]|0;a[(c[m>>2]|0)+-1>>0]=a[c[k>>2]>>0]|0;o=0;ia(75,b|0,0);q=o;o=0;if(q&1){q=36;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[h>>2];e=(c[k>>2]|0)+s|0;c[k>>2]=e;c[m>>2]=(c[m>>2]|0)+s;f=f+1|0}while((f|0)<(p|0));g=g+1|0;if((g|0)>=(c[j>>2]|0)){q=45;break b}}if((q|0)==28){e=Na()|0;break}else if((q|0)==36){e=Na()|0;break}}else q=45;while(0);do if((q|0)==45){o=0;ha(182,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return}while(0);d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}function qg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4604|0;e=c[o>>2]|0;r=b+180|0;if((c[r>>2]|0)<=0)return;p=b+4608|0;q=b+4612|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(sg(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=rg(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function rg(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;vg(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&255;return r|0}r=g&~(d>>31);r=r&255;return r|0}function sg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=(c[b+180>>2]|0)-e|0;m=c[b+4608>>2]|0;n=c[b+4604>>2]|0;h=a[m+(e+-1)>>0]|0;k=h&255;f=b+144|0;i=0;while(1){g=m+(i+e)|0;j=(d[g>>0]|0)-k|0;if((((j|0)>-1?j:0-j|0)|0)>(c[f>>2]|0))break;a[g>>0]=h;i=i+1|0;if((i|0)==(l|0)){i=l;break}}h=(i|0)==(l|0);j=b+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]=tg(b,d[e>>0]|0,k,d[n+l>>0]|0)|0;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;b=i+1|0;return b|0}if(!f){b=l;return b|0}ae(b,1,1);b=l;return b|0}function tg(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;i=d-e|0;j=a+136|0;h=a+144|0;f=c[h>>2]|0;if((((i|0)>-1?i:0-i|0)|0)>(f|0)){g=e-d>>31|1;b=$(g,b-e|0)|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;d=((b|0)<0?f:0)+b|0;f=d-((d|0)<((f+1|0)/2|0|0)?0:f)|0;ug(a,a+4576|0,f);f=$(f,g)|0;g=c[h>>2]|0;h=g<<1|1;f=($(f,h)|0)+e|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&255;return j|0}j=b&~(f>>31);j=j&255;return j|0}else{b=b-d|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;g=((b|0)<0?f:0)+b|0;f=g-((g|0)<((f+1|0)/2|0|0)?0:f)|0;ug(a,a+4588|0,f);g=c[h>>2]|0;h=g<<1|1;f=($(h,f)|0)+d|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&255;return j|0}j=b&~(f>>31);j=j&255;return j|0}return 0}function ug(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;vg(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0;while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function xg(a){a=a|0;var b=0,d=0;c[a>>2]=35856;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function yg(a){a=a|0;var b=0,d=0;c[a>>2]=35856;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function zg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Ag(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;Lg(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function Bg(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;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Cg(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Cg(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=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;A=i;i=i+32|0;C=A+12|0;z=A;w=a+172|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((j|0)==18){h=a+8|0;a:do if((c[h>>2]|0)>0){j=a+4596|0;k=$(y,x)|0;l=k+1|0;m=a+4600|0;n=(y|0)>0;p=a+160|0;q=a+168|0;r=a+164|0;s=a+156|0;t=a+88|0;u=a+4592|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(76,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42;while(0);do if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Dg(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=d+4596|0;g=c[q>>2]|0;u=d+172|0;f=c[u>>2]|0;if((f|0)<=0)return;r=d+4600|0;s=d+4604|0;t=d+4592|0;l=g;j=e[g+-2>>1]|0;g=e[g>>1]|0;p=0;while(1){n=c[r>>2]|0;k=b[n+(p+-1<<1)>>1]|0;o=k&65535;i=p+1|0;h=e[l+(i<<1)>>1]|0;m=c[s>>2]|0;l=g-j|0;j=j-o|0;m=((((a[m+(h-g)>>0]|0)*9|0)+(a[m+l>>0]|0)|0)*9|0)+(a[m+j>>0]|0)|0;n=n+(p<<1)|0;if(!m){f=Gg(d,k,n,f-p|0)|0;g=f+p|0;if((g|0)!=(c[u>>2]|0)){o=Hg(d,o,e[(c[q>>2]|0)+(g<<1)>>1]|0)|0;b[(c[r>>2]|0)+(g<<1)>>1]=o;o=c[t>>2]|0;c[t>>2]=(o|0)<1?0:o+-1|0;f=f+1|0}i=f+p|0;h=c[q>>2]|0;g=e[h+(i+-1<<1)>>1]|0;h=e[h+(i<<1)>>1]|0}else{f=g-o>>31;if((f^j|0)<0)f=g;else f=o+((f^l|0)<0?0:l)|0;o=Fg(d,m,e[n>>1]|0,f,0)|0;b[(c[r>>2]|0)+(p<<1)>>1]=o}f=c[u>>2]|0;if((f|0)<=(i|0))break;l=c[q>>2]|0;j=g;g=h;p=i}return}function Eg(b){b=b|0;var d=0,e=0,f=0,g=0;f=b+116|0;e=c[f>>2]|0;if((a[e>>0]|0)!=-1){g=b+112|0;d=c[g>>2]|0;if((d|0)<1){ge(b);d=c[g>>2]|0;e=c[f>>2]|0}b=b+108|0;f=c[b>>2]|0;c[g>>2]=d+-1;d=f<<1;c[b>>2]=d;if((a[e>>0]|0)!=-1){d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,6,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}}else d=c[b+108>>2]|0;if(!d)return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,6,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}function Fg(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&65535;return d|0}d=f&~(h>>31);d=d&65535;return d|0}function Gg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4592|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=b-d|0;h=a+128|0;e=a+136|0;if((((g|0)>-1?g:0-g|0)|0)>(c[e>>2]|0)){b=$(Ig(a,a+4568|0)|0,d-b>>31|1)|0;f=c[e>>2]|0;g=f<<1|1;b=($(b,g)|0)+d|0;if((b|0)>=(0-f|0)){e=c[h>>2]|0;if((e+f|0)<(b|0))b=b-($(c[a+132>>2]|0,g)|0)|0}else{b=($(c[a+132>>2]|0,g)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&65535;return a|0}a=e&~(b>>31);a=a&65535;return a|0}else{d=Ig(a,a+4580|0)|0;g=c[e>>2]|0;f=g<<1|1;b=($(f,d)|0)+b|0;if((b|0)>=(0-g|0)){e=c[h>>2]|0;if((e+g|0)<(b|0))b=b-($(c[a+132>>2]|0,f)|0)|0}else{b=($(c[a+132>>2]|0,f)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&65535;return a|0}a=e&~(b>>31);a=a&65535;return a|0}return 0}function Ig(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function Jg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=a+112|0;if((c[g>>2]|0)<16)ge(a);h=a+108|0;d=c[h>>2]|0;if((d|0)>=0)if(!(d&1073741824))if(!(d&536870912))if(!(d&268435456))if(!(d&134217728))if(!(d&67108864))if(!(d&33554432))if(!(d&16777216))if(!(d&8388608))if(!(d&4194304))if(!(d&2097152))if(!(d&1048576))if(!(d&524288))if(!(d&262144))if(!(d&131072)){f=d>>>12&16;b=f+-1|0;if(!f){b=(c[g>>2]|0)+-15|0;c[g>>2]=b;e=d<<15;c[h>>2]=e;d=b;b=15;while(1){if((d|0)<1){ge(a);f=c[h>>2]|0;d=c[g>>2]|0}else f=e;d=d+-1|0;c[g>>2]=d;e=f<<1;c[h>>2]=e;if((f|0)<0)break;else b=b+1|0}return b|0}}else b=14;else b=13;else b=12;else b=11;else b=10;else b=9;else b=8;else b=7;else b=6;else b=5;else b=4;else b=3;else b=2;else b=1;else b=0;a=b+1|0;c[g>>2]=(c[g>>2]|0)-a;c[h>>2]=d<>2]|0;if((e|0)<(d|0)){ge(b);e=c[f>>2]|0;if((e|0)<(d|0)){e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);b=o;o=0;if(b&1){b=Na()|0;La(e|0);Ya(b|0)}else lb(e|0,824,96)}}g=b+108|0;b=c[g>>2]|0;c[f>>2]=e-d;c[g>>2]=b<>>(32-d|0)|0}function Lg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0;while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function Mg(a){a=a|0;var b=0,d=0;c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Ng(a){a=a|0;var b=0,d=0;c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Og(a){a=a|0;var b=0,d=0;c[a>>2]=35828;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Pg(a){a=a|0;var b=0,d=0;c[a>>2]=35828;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Qg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Rg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;Zg(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function Sg(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;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Tg(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Tg(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=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;A=i;i=i+32|0;C=A+12|0;z=A;w=a+172|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do if(d){if(!(d>>>0>715827882?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(o=0,e=ka(67,d*6|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;f=e+(d*6|0)|0;c[C+8>>2]=f;while(1){b[e>>1]=0;b[e+2>>1]=0;b[e+4>>1]=0;d=d+-1|0;if(!d)break;else e=e+6|0}c[D>>2]=f;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do if(!y)j=20;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=18;if((j|0)==18?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=20;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((j|0)==20){h=a+8|0;a:do if((c[h>>2]|0)>0){j=a+4596|0;k=$(y,x)|0;l=k+1|0;m=a+4600|0;n=(y|0)>0;p=a+160|0;q=a+168|0;r=a+164|0;s=a+156|0;t=a+88|0;u=a+4592|0;v=0;b:while(1){f=c[C>>2]|0;e=f+6|0;c[j>>2]=e;f=f+(l*6|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*6|0)|0;e=e+((d+-1|0)*6|0)|0;b[g>>1]=b[e>>1]|0;b[g+2>>1]=b[e+2>>1]|0;b[g+4>>1]=b[e+4>>1]|0;g=(c[m>>2]|0)+-6|0;e=c[j>>2]|0;b[g>>1]=b[e>>1]|0;b[g+2>>1]=b[e+2>>1]|0;b[g+4>>1]=b[e+4>>1]|0;o=0;ia(77,a|0,0);g=o;o=0;if(g&1){j=31;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*6|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*6|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*6|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=32;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=44;break a}}if((j|0)==31){f=Na()|0;break}else if((j|0)==32){f=Na()|0;break}}else j=44;while(0);do if((j|0)==44){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);i=A;return}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}function Ug(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=i;i=i+32|0;D=N+24|0;M=N+18|0;L=N+12|0;E=N+6|0;F=N;G=d+172|0;f=c[G>>2]|0;if((f|0)<=0){i=N;return}H=d+4600|0;I=d+4596|0;J=d+4604|0;K=d+4592|0;C=0;while(1){h=C+-1|0;j=c[H>>2]|0;O=c[I>>2]|0;g=C+1|0;k=e[O+(C*6|0)>>1]|0;B=c[J>>2]|0;l=e[O+(h*6|0)>>1]|0;m=k-l|0;n=e[j+(h*6|0)>>1]|0;o=l-n|0;p=((((a[B+((e[O+(g*6|0)>>1]|0)-k)>>0]|0)*9|0)+(a[B+m>>0]|0)|0)*9|0)+(a[B+o>>0]|0)|0;q=e[O+(C*6|0)+2>>1]|0;r=e[O+(h*6|0)+2>>1]|0;s=q-r|0;t=e[j+(h*6|0)+2>>1]|0;u=r-t|0;v=((((a[B+((e[O+(g*6|0)+2>>1]|0)-q)>>0]|0)*9|0)+(a[B+s>>0]|0)|0)*9|0)+(a[B+u>>0]|0)|0;w=e[O+(C*6|0)+4>>1]|0;x=e[O+(h*6|0)+4>>1]|0;y=w-x|0;z=e[j+(h*6|0)+4>>1]|0;A=x-z|0;B=((((a[B+((e[O+(g*6|0)+4>>1]|0)-w)>>0]|0)*9|0)+(a[B+y>>0]|0)|0)*9|0)+(a[B+A>>0]|0)|0;if(!(v|p|B)){g=j+(h*6|0)|0;b[L>>1]=b[g>>1]|0;b[L+2>>1]=b[g+2>>1]|0;b[L+4>>1]=b[g+4>>1]|0;b[D>>1]=b[g>>1]|0;b[D+2>>1]=b[g+2>>1]|0;b[D+4>>1]=b[g+4>>1]|0;f=Vg(d,D,j+(C*6|0)|0,f-C|0)|0;g=f+C|0;if((g|0)!=(c[G>>2]|0)){O=(c[I>>2]|0)+(g*6|0)|0;b[F>>1]=b[O>>1]|0;b[F+2>>1]=b[O+2>>1]|0;b[F+4>>1]=b[O+4>>1]|0;O=(c[H>>2]|0)+(g*6|0)|0;b[M>>1]=b[L>>1]|0;b[M+2>>1]=b[L+2>>1]|0;b[M+4>>1]=b[L+4>>1]|0;b[D>>1]=b[F>>1]|0;b[D+2>>1]=b[F+2>>1]|0;b[D+4>>1]=b[F+4>>1]|0;Wg(E,d,M,D);b[O>>1]=b[E>>1]|0;b[O+2>>1]=b[E+2>>1]|0;b[O+4>>1]=b[E+4>>1]|0;O=c[K>>2]|0;c[K>>2]=(O|0)<1?0:O+-1|0;f=f+1|0}g=f+C|0}else{h=e[j+(C*6|0)>>1]|0;f=k-n>>31;if((f^o|0)>=0)if((f^m|0)<0)f=n;else f=n-l+k|0;else f=k;k=Xg(d,p,h,f,0)|0;h=e[(c[H>>2]|0)+(C*6|0)+2>>1]|0;f=q-t>>31;if((f^u|0)>=0)if((f^s|0)<0)f=t;else f=t-r+q|0;else f=q;h=Xg(d,v,h,f,0)|0;j=e[(c[H>>2]|0)+(C*6|0)+4>>1]|0;f=w-z>>31;if((f^A|0)>=0)if((f^y|0)<0)f=z;else f=z-x+w|0;else f=w;B=Xg(d,B,j,f,0)|0;O=c[H>>2]|0;b[O+(C*6|0)>>1]=k;b[O+(C*6|0)+2>>1]=h;b[O+(C*6|0)+4>>1]=B}f=c[G>>2]|0;if((g|0)>=(f|0))break;else C=g}i=N;return}function Vg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4592|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)<=0)return h|0;i=0;do{r=f+(i*6|0)|0;b[r>>1]=b[e>>1]|0;b[r+2>>1]=b[e+2>>1]|0;b[r+4>>1]=b[e+4>>1]|0;i=i+1|0}while((i|0)!=(h|0));return h|0}function Wg(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=d+4568|0;o=Yg(d,l)|0;j=Yg(d,l)|0;l=Yg(d,l)|0;i=d+128|0;h=e[g>>1]|0;m=c[d+136>>2]|0;n=m<<1|1;h=($($(n,o)|0,h-(e[f>>1]|0)>>31|1)|0)+h|0;o=0-m|0;if((h|0)>=(o|0)){i=c[i>>2]|0;if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else{h=($(c[d+132>>2]|0,n)|0)+h|0;i=c[i>>2]|0}if((h&i|0)!=(h|0))h=i&~(h>>31);k=h&65535;h=e[g+2>>1]|0;h=($($(n,j)|0,h-(e[f+2>>1]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else h=($(c[d+132>>2]|0,n)|0)+h|0;if((h&i|0)!=(h|0))h=i&~(h>>31);j=h&65535;h=e[g+4>>1]|0;h=($($(n,l)|0,h-(e[f+4>>1]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else h=($(c[d+132>>2]|0,n)|0)+h|0;if((h&i|0)==(h|0)){d=h;d=d&65535;b[a>>1]=k;o=a+2|0;b[o>>1]=j;a=a+4|0;b[a>>1]=d;return}d=i&~(h>>31);d=d&65535;b[a>>1]=k;o=a+2|0;b[o>>1]=j;a=a+4|0;b[a>>1]=d;return}function Xg(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&65535;return d|0}d=f&~(h>>31);d=d&65535;return d|0}function Yg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function Zg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0;while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function _g(a){a=a|0;var b=0,d=0;c[a>>2]=35800;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function $g(a){a=a|0;var b=0,d=0;c[a>>2]=35800;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ah(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function bh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;jh(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function ch(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;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);dh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function dh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,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;A=i;i=i+32|0;C=A+12|0;z=A;w=b+172|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do if(d){if(!(d>>>0>1431655765?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[D>>2]|0)+3|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((h|0)==19){h=b+8|0;b:do if((c[h>>2]|0)>0){j=b+4596|0;k=$(y,x)|0;l=k+1|0;m=b+4600|0;n=(y|0)>0;p=b+160|0;q=b+168|0;r=b+164|0;s=b+156|0;t=b+88|0;u=b+4592|0;v=0;c:while(1){f=c[C>>2]|0;e=f+3|0;c[j>>2]=e;f=f+(l*3|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*3|0)|0;e=e+((d+-1|0)*3|0)|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;e=c[j>>2]|0;g=(c[m>>2]|0)+-3|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;o=0;ia(78,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*3|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*3|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*3|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){f=Na()|0;break}else if((h|0)==31){f=Na()|0;break}}else h=43;while(0);do if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=A;return}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function eh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=i;i=i+16|0;C=M+12|0;L=M+9|0;K=M+6|0;D=M+3|0;E=M;F=b+172|0;e=c[F>>2]|0;if((e|0)<=0){i=M;return}G=b+4600|0;H=b+4596|0;I=b+4604|0;J=b+4592|0;B=0;while(1){y=B+-1|0;g=c[G>>2]|0;h=g+(y*3|0)|0;N=c[H>>2]|0;f=B+1|0;j=d[N+(B*3|0)>>0]|0;A=c[I>>2]|0;k=d[N+(y*3|0)>>0]|0;l=j-k|0;m=d[h>>0]|0;n=k-m|0;o=((((a[A+((d[N+(f*3|0)>>0]|0)-j)>>0]|0)*9|0)+(a[A+l>>0]|0)|0)*9|0)+(a[A+n>>0]|0)|0;p=d[N+(B*3|0)+1>>0]|0;q=d[N+(y*3|0)+1>>0]|0;r=p-q|0;s=d[g+(y*3|0)+1>>0]|0;t=q-s|0;u=((((a[A+((d[N+(f*3|0)+1>>0]|0)-p)>>0]|0)*9|0)+(a[A+r>>0]|0)|0)*9|0)+(a[A+t>>0]|0)|0;v=d[N+(B*3|0)+2>>0]|0;w=d[N+(y*3|0)+2>>0]|0;x=v-w|0;y=d[g+(y*3|0)+2>>0]|0;z=w-y|0;A=((((a[A+((d[N+(f*3|0)+2>>0]|0)-v)>>0]|0)*9|0)+(a[A+x>>0]|0)|0)*9|0)+(a[A+z>>0]|0)|0;if(!(u|o|A)){a[K>>0]=a[h>>0]|0;a[K+1>>0]=a[h+1>>0]|0;a[K+2>>0]=a[h+2>>0]|0;a[C>>0]=a[h>>0]|0;a[C+1>>0]=a[h+1>>0]|0;a[C+2>>0]=a[h+2>>0]|0;e=fh(b,C,g+(B*3|0)|0,e-B|0)|0;f=e+B|0;if((f|0)!=(c[F>>2]|0)){N=(c[H>>2]|0)+(f*3|0)|0;a[E>>0]=a[N>>0]|0;a[E+1>>0]=a[N+1>>0]|0;a[E+2>>0]=a[N+2>>0]|0;N=c[G>>2]|0;a[L>>0]=a[K>>0]|0;a[L+1>>0]=a[K+1>>0]|0;a[L+2>>0]=a[K+2>>0]|0;a[C>>0]=a[E>>0]|0;a[C+1>>0]=a[E+1>>0]|0;a[C+2>>0]=a[E+2>>0]|0;gh(D,b,L,C);N=N+(f*3|0)|0;a[N>>0]=a[D>>0]|0;a[N+1>>0]=a[D+1>>0]|0;a[N+2>>0]=a[D+2>>0]|0;N=c[J>>2]|0;c[J>>2]=(N|0)<1?0:N+-1|0;e=e+1|0}f=e+B|0}else{g=d[g+(B*3|0)>>0]|0;e=j-m>>31;if((e^n|0)>=0)if((e^l|0)<0)e=m;else e=m-k+j|0;else e=j;j=hh(b,o,g,e,0)|0;g=d[(c[G>>2]|0)+(B*3|0)+1>>0]|0;e=p-s>>31;if((e^t|0)>=0)if((e^r|0)<0)e=s;else e=s-q+p|0;else e=p;g=hh(b,u,g,e,0)|0;h=d[(c[G>>2]|0)+(B*3|0)+2>>0]|0;e=v-y>>31;if((e^z|0)>=0)if((e^x|0)<0)e=y;else e=y-w+v|0;else e=v;A=hh(b,A,h,e,0)|0;N=(c[G>>2]|0)+(B*3|0)|0;a[N>>0]=j;a[N+1>>0]=g;a[N+2>>0]=A}e=c[F>>2]|0;if((f|0)>=(e|0))break;else B=f}i=M;return}function fh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4592|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;h=0;do{q=e+(h*3|0)|0;a[q>>0]=a[d>>0]|0;a[q+1>>0]=a[d+1>>0]|0;a[q+2>>0]=a[d+2>>0]|0;h=h+1|0}while((h|0)!=(g|0));return g|0}function gh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=e+4568|0;o=ih(e,l)|0;j=ih(e,l)|0;l=ih(e,l)|0;i=e+128|0;h=d[g>>0]|0;m=c[e+136>>2]|0;n=m<<1|1;h=($($(n,o)|0,h-(d[f>>0]|0)>>31|1)|0)+h|0;o=0-m|0;if((h|0)>=(o|0)){i=c[i>>2]|0;if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else{h=($(c[e+132>>2]|0,n)|0)+h|0;i=c[i>>2]|0}if((h&i|0)!=(h|0))h=i&~(h>>31);k=h&255;h=d[g+1>>0]|0;h=($($(n,j)|0,h-(d[f+1>>0]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else h=($(c[e+132>>2]|0,n)|0)+h|0;if((h&i|0)!=(h|0))h=i&~(h>>31);j=h&255;h=d[g+2>>0]|0;h=($($(n,l)|0,h-(d[f+2>>0]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else h=($(c[e+132>>2]|0,n)|0)+h|0;if((h&i|0)==(h|0)){e=h;e=e&255;a[b>>0]=k;o=b+1|0;a[o>>0]=j;b=b+2|0;a[b>>0]=e;return}e=i&~(h>>31);e=e&255;a[b>>0]=k;o=b+1|0;a[o>>0]=j;b=b+2|0;a[b>>0]=e;return}function hh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&255;return d|0}d=f&~(h>>31);d=d&255;return d|0}function ih(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function jh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0;while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function kh(a){a=a|0;var b=0,d=0;c[a>>2]=35772;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function lh(a){a=a|0;var b=0,d=0;c[a>>2]=35772;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function mh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function nh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,65535,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;vh(d);g=0;do{c[d+164+(g*12|0)>>2]=1024;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=1024;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=1024;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function oh(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;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);ph(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function ph(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=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;A=i;i=i+32|0;C=A+12|0;z=A;w=a+148|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((j|0)==18){h=a+8|0;a:do if((c[h>>2]|0)>0){j=a+4572|0;k=$(y,x)|0;l=k+1|0;m=a+4576|0;n=(y|0)>0;p=a+136|0;q=a+144|0;r=a+140|0;s=a+132|0;t=a+88|0;u=a+4568|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(79,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42;while(0);do if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function qh(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4572|0;f=c[p>>2]|0;s=d+148|0;if((c[s>>2]|0)<=0)return;q=d+4576|0;r=d+4580|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(sh(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=rh(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function rh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&65535|0)!=(f|0))f=f>>31&65535^65535;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<47){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}function sh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4576|0;h=c[i>>2]|0;f=b[h+(d+-1<<1)>>1]|0;j=a+148|0;h=th(a,f,h+(d<<1)|0,(c[j>>2]|0)-d|0)|0;g=h+d|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&65535;d=e[(c[a+4572>>2]|0)+(g<<1)>>1]|0;j=f-d|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(uh(a,a+4556|0)|0)+f|0;else f=($(uh(a,a+4544|0)|0,d-f>>31|1)|0)+d|0;b[(c[i>>2]|0)+(g<<1)>>1]=f;j=a+4568|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;j=h+1|0;return j|0}function th(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4568|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function uh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do if((f|0)<(46-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,16)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function vh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,65535,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8909]|0;c[b+4580>>2]=l+(((c[8910]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=131072){if(h>>>0>131072?(j=d+131072|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,131072-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+65536;j=b+160|0;g=b+156|0;h=-65536;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==65536)break}i=m;return}function wh(a){a=a|0;var b=0,d=0;c[a>>2]=35744;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function xh(a){a=a|0;var b=0,d=0;c[a>>2]=35744;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function yh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function zh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,4095,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;Hh(d);g=0;do{c[d+164+(g*12|0)>>2]=64;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=64;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=64;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Ah(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;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Bh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Bh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=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;A=i;i=i+32|0;C=A+12|0;z=A;w=a+148|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((j|0)==18){h=a+8|0;a:do if((c[h>>2]|0)>0){j=a+4572|0;k=$(y,x)|0;l=k+1|0;m=a+4576|0;n=(y|0)>0;p=a+136|0;q=a+144|0;r=a+140|0;s=a+132|0;t=a+88|0;u=a+4568|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(80,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42;while(0);do if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Ch(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4572|0;f=c[p>>2]|0;s=d+148|0;if((c[s>>2]|0)<=0)return;q=d+4576|0;r=d+4580|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(Eh(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=Dh(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function Dh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&4095|0)!=(f|0))f=f>>31&4095^4095;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<35){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}function Eh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4576|0;h=c[i>>2]|0;f=b[h+(d+-1<<1)>>1]|0;j=a+148|0;h=Fh(a,f,h+(d<<1)|0,(c[j>>2]|0)-d|0)|0;g=h+d|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&65535;d=e[(c[a+4572>>2]|0)+(g<<1)>>1]|0;j=f-d|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(Gh(a,a+4556|0)|0)+f|0;else f=($(Gh(a,a+4544|0)|0,d-f>>31|1)|0)+d|0;b[(c[i>>2]|0)+(g<<1)>>1]=f&4095;j=a+4568|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;j=h+1|0;return j|0}function Fh(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4568|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function Gh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do if((f|0)<(34-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,12)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Hh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,4095,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8906]|0;c[b+4580>>2]=l+(((c[8907]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=8192){if(h>>>0>8192?(j=d+8192|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,8192-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+4096;j=b+160|0;g=b+156|0;h=-4096;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==4096)break}i=m;return}function Ih(a){a=a|0;var b=0,d=0;c[a>>2]=35716;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Jh(a){a=a|0;var b=0,d=0;c[a>>2]=35716;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Kh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Lh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;Th(d);g=0;do{c[d+164+(g*12|0)>>2]=4;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=4;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=4;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Mh(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;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Nh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Nh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,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;A=i;i=i+32|0;C=A+12|0;z=A;w=b+148|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[D>>2]|0)+1|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}e=Na()|0;d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}while(0);if((h|0)==19){h=b+8|0;b:do if((c[h>>2]|0)>0){j=b+4572|0;k=$(y,x)|0;l=k+1|0;m=b+4576|0;n=(y|0)>0;p=b+136|0;q=b+144|0;r=b+140|0;s=b+132|0;t=b+88|0;u=b+4568|0;v=0;c:while(1){f=c[C>>2]|0;e=f+1|0;c[j>>2]=e;f=f+l|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;a[e+g>>0]=a[e+(g+-1)>>0]|0;a[(c[m>>2]|0)+-1>>0]=a[c[j>>2]>>0]|0;o=0;ia(81,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+x|0;c[j>>2]=e;d=(c[m>>2]|0)+x|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){e=Na()|0;break}else if((h|0)==31){e=Na()|0;break}}else h=43;while(0);do if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);i=A;return}while(0);d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}function Oh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4572|0;e=c[o>>2]|0;r=b+148|0;if((c[r>>2]|0)<=0)return;p=b+4576|0;q=b+4580|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(Qh(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=Ph(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function Ph(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&255|0)!=(f|0))f=f>>31&255^255;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<23){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}function Qh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=b+4576|0;h=c[i>>2]|0;f=a[h+(e+-1)>>0]|0;j=b+148|0;h=Rh(b,f,h+e|0,(c[j>>2]|0)-e|0)|0;g=h+e|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&255;e=d[(c[b+4572>>2]|0)+g>>0]|0;j=f-e|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(Sh(b,b+4556|0)|0)+f|0;else f=($(Sh(b,b+4544|0)|0,e-f>>31|1)|0)+e|0;a[(c[i>>2]|0)+g>>0]=f;j=b+4568|0;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;j=h+1|0;return j|0}function Rh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4568|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;iw(e|0,d|0,g|0)|0;return g|0}function Sh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do if((f|0)<(22-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,8)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Th(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8900]|0;c[b+4580>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+256;j=b+160|0;g=b+156|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function Uh(a){a=a|0;var b=0,d=0;c[a>>2]=35688;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Vh(a){a=a|0;var b=0,d=0;c[a>>2]=35688;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Wh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Xh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;di(d);g=0;do{c[d+164+(g*12|0)>>2]=4;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=4;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=4;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Yh(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;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Zh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Zh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,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;A=i;i=i+32|0;C=A+12|0;z=A;w=b+148|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do if(d){if(!(d>>>0>1431655765?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[D>>2]|0)+3|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((h|0)==19){h=b+8|0;b:do if((c[h>>2]|0)>0){j=b+4572|0;k=$(y,x)|0;l=k+1|0;m=b+4576|0;n=(y|0)>0;p=b+136|0;q=b+144|0;r=b+140|0;s=b+132|0;t=b+88|0;u=b+4568|0;v=0;c:while(1){f=c[C>>2]|0;e=f+3|0;c[j>>2]=e;f=f+(l*3|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*3|0)|0;e=e+((d+-1|0)*3|0)|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;e=c[j>>2]|0;g=(c[m>>2]|0)+-3|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;o=0;ia(82,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*3|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*3|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*3|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){f=Na()|0;break}else if((h|0)==31){f=Na()|0;break}}else h=43;while(0);do if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=A;return}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function _h(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+148|0;if((c[A>>2]|0)<=0)return;B=b+4576|0;C=b+4572|0;D=b+4580|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=($h(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=ai(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=ai(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=ai(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function $h(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=i;i=i+16|0;n=l+3|0;o=l;h=b+4576|0;e=c[h>>2]|0;f=e+((d+-1|0)*3|0)|0;j=a[f>>0]|0;k=a[f+1>>0]|0;f=a[f+2>>0]|0;a[o>>0]=j;a[o+1>>0]=k;a[o+2>>0]=f;m=b+148|0;g=(c[m>>2]|0)-d|0;a[n>>0]=a[o>>0]|0;a[n+1>>0]=a[o+1>>0]|0;a[n+2>>0]=a[o+2>>0]|0;g=bi(b,n,e+(d*3|0)|0,g)|0;e=g+d|0;if((e|0)==(c[m>>2]|0)){o=g;i=l;return o|0}n=(c[b+4572>>2]|0)+(e*3|0)|0;d=a[n>>0]|0;m=a[n+1>>0]|0;n=a[n+2>>0]|0;o=c[h>>2]|0;p=b+4544|0;h=ci(b,p)|0;q=ci(b,p)|0;d=d&255;m=m&255;m=($(m-(k&255)>>31|1,q)|0)+m&255;n=n&255;n=($(n-(f&255)>>31|1,ci(b,p)|0)|0)+n&255;o=o+(e*3|0)|0;a[o>>0]=($(d-(j&255)>>31|1,h)|0)+d;a[o+1>>0]=m;a[o+2>>0]=n;o=b+4568|0;n=c[o>>2]|0;c[o>>2]=(n|0)<1?0:n+-1|0;o=g+1|0;i=l;return o|0}function ai(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&255|0)!=(f|0))f=f>>31&255^255;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<23){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}function bi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4568|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;h=0;do{q=e+(h*3|0)|0;a[q>>0]=a[d>>0]|0;a[q+1>>0]=a[d+1>>0]|0;a[q+2>>0]=a[d+2>>0]|0;h=h+1|0}while((h|0)!=(g|0));return g|0}function ci(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do if((f|0)<(22-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,8)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0} - function Lp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+128|0;h=n;q=n+116|0;r=n+104|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,0,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(3,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=Uu(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function Mp(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,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+240|0;h=n+8|0;a=n;q=n+204|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,0,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,23,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(3,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=Uu(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function Np(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=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;z=i;i=i+352|0;u=z+312|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+316|0;t=z+80|0;k=z+84|0;y=z+76|0;x=z+72|0;v=z+68|0;w=z+64|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58898,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,c[q>>2]=c[d+8>>2],h[q+8>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<3)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}while(0);do if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(4,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(40,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Op(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+16|0;z=y;x=Is(j,44212)|0;v=Is(j,44368)|0;Cb[c[(c[v>>2]|0)+20>>2]&127](z,v);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,j|0)|0;w=o;o=0;if(w&1)u=8;else{m=c[h>>2]|0;c[h>>2]=m+4;c[m>>2]=j;m=b+1|0;u=10}break}default:{m=b;u=10}}a:do if((u|0)==10){w=e;b:do if((w-m|0)>1?(a[m>>0]|0)==48:0){k=m+1|0;switch(a[k>>0]|0){case 88:case 120:break;default:{u=11;break b}}o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,48)|0;t=o;o=0;if(t&1){u=8;break a}t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=j;m=m+2|0;o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,a[k>>0]|0)|0;t=o;o=0;if(t&1){u=8;break a}t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=j;if(m>>>0>>0){j=m;while(1){k=a[j>>0]|0;o=0;l=ua(3)|0;t=o;o=0;if(t&1)break;o=0;k=ra(39,k<<24>>24|0,l|0)|0;t=o;o=0;if(t&1)break;if(!k){t=m;break b}j=j+1|0;if(j>>>0>=e>>>0){t=m;break b}}j=Na()|0;break a}else{t=m;j=m}}else u=11;while(0);c:do if((u|0)==11)if(m>>>0>>0){j=m;while(1){k=a[j>>0]|0;o=0;l=ua(3)|0;t=o;o=0;if(t&1)break;o=0;k=ra(40,k<<24>>24|0,l|0)|0;t=o;o=0;if(t&1)break;if(!k){t=m;break c}j=j+1|0;if(j>>>0>=e>>>0){t=m;break c}}j=Na()|0;break a}else{t=m;j=m}while(0);r=a[z>>0]|0;s=z+4|0;if(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0){if((t|0)!=(j|0)?(n=j+-1|0,t>>>0>>0):0){l=t;k=n;do{r=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=r;l=l+1|0;k=k+-1|0}while(l>>>0>>0)}o=0;n=ka(c[(c[v>>2]|0)+16>>2]|0,v|0)|0;r=o;o=0;if(r&1){u=8;break}p=z+8|0;q=z+1|0;d:do if(t>>>0>>0){k=0;l=0;r=t;while(1){m=a[((a[z>>0]&1)==0?q:c[p>>2]|0)+l>>0]|0;if(m<<24>>24>0&(k|0)==(m<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=n;k=a[z>>0]|0;m=0;l=(l>>>0<(((k&1)==0?(k&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+l|0}else m=k;o=0;k=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,a[r>>0]|0)|0;A=o;o=0;if(A&1)break;A=c[h>>2]|0;c[h>>2]=A+4;c[A>>2]=k;r=r+1|0;if(r>>>0>=j>>>0)break d;else k=m+1|0}j=Na()|0;break a}while(0);k=f+(t-b<<2)|0;m=c[h>>2]|0;if((k|0)!=(m|0)){l=m+-4|0;if(k>>>0>>0){do{A=c[k>>2]|0;c[k>>2]=c[l>>2];c[l>>2]=A;k=k+4|0;l=l+-4|0}while(k>>>0>>0);n=x;k=m}else{n=x;k=m}}else n=x}else{o=0;va(c[(c[x>>2]|0)+48>>2]|0,x|0,t|0,j|0,c[h>>2]|0)|0;A=o;o=0;if(A&1){u=8;break}k=(c[h>>2]|0)+(j-t<<2)|0;c[h>>2]=k;n=x}e:do if(j>>>0>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46){l=j;break}o=0;l=ra(c[(c[n>>2]|0)+44>>2]|0,x|0,k|0)|0;A=o;o=0;if(A&1){u=4;break}A=c[h>>2]|0;k=A+4|0;c[h>>2]=k;c[A>>2]=l;j=j+1|0;if(j>>>0>=e>>>0)break e}if((u|0)==4){j=Na()|0;break a}o=0;j=ka(c[(c[v>>2]|0)+12>>2]|0,v|0)|0;A=o;o=0;if(A&1){u=8;break a}A=c[h>>2]|0;k=A+4|0;c[h>>2]=k;c[A>>2]=j;j=l+1|0}while(0);o=0;va(c[(c[x>>2]|0)+48>>2]|0,x|0,j|0,e|0,k|0)|0;A=o;o=0;if(A&1)u=8;else{A=(c[h>>2]|0)+(w-j<<2)|0;c[h>>2]=A;c[g>>2]=(d|0)==(e|0)?A:f+(d-b<<2)|0;Im(z);i=y;return}}while(0);if((u|0)==8)j=Na()|0;Im(z);Ya(j|0)}function Pp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=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;z=i;i=i+352|0;u=z+304|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+308|0;t=z+72|0;k=z+76|0;y=z+68|0;x=z+64|0;v=z+60|0;w=z+56|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58899,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,h[q>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<3)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}while(0);do if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(4,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(40,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Qp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+192|0;l=q;b=q+180|0;n=q+160|0;p=q+12|0;k=q+8|0;m=q+4|0;a[b>>0]=a[58901]|0;a[b+1>>0]=a[58902]|0;a[b+2>>0]=a[58903]|0;a[b+3>>0]=a[58904]|0;a[b+4>>0]=a[58905]|0;a[b+5>>0]=a[58906]|0;h=Xo()|0;c[l>>2]=g;b=Su(n,20,h,b,l)|0;g=n+b|0;h=vp(n,g,e)|0;j=jn(e)|0;c[k>>2]=j;o=0;k=ra(37,k|0,44212)|0;r=o;o=0;if(r&1){r=Na()|0;pm(j)|0;Ya(r|0)}else{pm(j)|0;Pb[c[(c[k>>2]|0)+48>>2]&31](k,n,g,p)|0;r=p+(b<<2)|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];r=Uu(l,p,(h|0)==(g|0)?r:p+(h-n<<2)|0,r,e,f)|0;i=q;return r|0}return 0}function Rp(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,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;C=i;i=i+32|0;w=C+16|0;v=C+12|0;z=C+8|0;x=C+4|0;y=C;n=jn(h)|0;c[z>>2]=n;o=0;z=ra(37,z|0,44220)|0;u=o;o=0;if(u&1){C=Na()|0;pm(n)|0;Ya(C|0)}pm(n)|0;c[j>>2]=0;u=z+8|0;n=c[f>>2]|0;a:do if((l|0)!=(m|0)){b:while(1){p=n;if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0;p=0}}else n=0;s=(n|0)==0;r=c[g>>2]|0;q=r;do if(r){if((c[r+12>>2]|0)==(c[r+16>>2]|0)?(Eb[c[(c[r>>2]|0)+36>>2]&127](r)|0)==-1:0){c[g>>2]=0;q=0;B=12;break}if(!s){B=13;break b}}else B=12;while(0);if((B|0)==12){B=0;if(s){B=13;break}else r=0}c:do if((Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[l>>0]|0,0)|0)<<24>>24==37){r=l+1|0;if((r|0)==(m|0)){B=17;break b}t=Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[r>>0]|0,0)|0;switch(t<<24>>24){case 48:case 69:{s=l+2|0;if((s|0)==(m|0)){B=20;break b}l=r;r=Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[s>>0]|0,0)|0;n=t;break}default:{r=t;n=0}}t=c[(c[e>>2]|0)+36>>2]|0;c[x>>2]=p;c[y>>2]=q;c[v>>2]=c[x>>2];c[w>>2]=c[y>>2];c[f>>2]=Sb[t&15](e,v,w,h,j,k,r,n)|0;l=l+2|0}else{p=a[l>>0]|0;if(p<<24>>24>-1?(A=c[u>>2]|0,(b[A+(p<<24>>24<<1)>>1]&8192)!=0):0){do{l=l+1|0;if((l|0)==(m|0)){l=m;break}p=a[l>>0]|0;if(p<<24>>24<=-1)break}while((b[A+(p<<24>>24<<1)>>1]&8192)!=0);p=r;while(1){if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;q=(n|0)==0;do if(r){if((c[r+12>>2]|0)!=(c[r+16>>2]|0))if(q){t=p;break}else break c;if((Eb[c[(c[r>>2]|0)+36>>2]&127](r)|0)!=-1)if(q^(p|0)==0){t=p;r=p;break}else break c;else{c[g>>2]=0;p=0;B=39;break}}else B=39;while(0);if((B|0)==39){B=0;if(q)break c;else{t=p;r=0}}q=n+12|0;p=c[q>>2]|0;s=n+16|0;if((p|0)==(c[s>>2]|0))p=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else p=d[p>>0]|0;if((p&255)<<24>>24<=-1)break c;if(!(b[(c[u>>2]|0)+(p<<24>>24<<1)>>1]&8192))break c;p=c[q>>2]|0;if((p|0)==(c[s>>2]|0)){Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;p=t;continue}else{c[q>>2]=p+1;p=t;continue}}}q=n+12|0;p=c[q>>2]|0;r=n+16|0;if((p|0)==(c[r>>2]|0))p=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else p=d[p>>0]|0;t=Lb[c[(c[z>>2]|0)+12>>2]&63](z,p&255)|0;if(t<<24>>24!=(Lb[c[(c[z>>2]|0)+12>>2]&63](z,a[l>>0]|0)|0)<<24>>24){B=57;break b}p=c[q>>2]|0;if((p|0)==(c[r>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else c[q>>2]=p+1;l=l+1|0}while(0);n=c[f>>2]|0;if(!((l|0)!=(m|0)&(c[j>>2]|0)==0))break a}if((B|0)==13){c[j>>2]=4;break}else if((B|0)==17){c[j>>2]=4;break}else if((B|0)==20){c[j>>2]=4;break}else if((B|0)==57){c[j>>2]=4;n=c[f>>2]|0;break}}while(0);if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;l=(n|0)==0;p=c[g>>2]|0;do if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0)?(Eb[c[(c[p>>2]|0)+36>>2]&127](p)|0)==-1:0){c[g>>2]=0;B=67;break}if(!l)B=68}else B=67;while(0);if((B|0)==67?l:0)B=68;if((B|0)==68)c[j>>2]=c[j>>2]|2;i=C;return n|0}function Sp(a){a=a|0;return}function Tp(a){a=a|0;cj(a);return}function Up(a){a=a|0;return 2}function Vp(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Rp(a,k,j,e,f,g,58907,58915)|0;i=h;return a|0}function Wp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;o=b+8|0;o=Eb[c[(c[o>>2]|0)+20>>2]&127](o)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];e=a[o>>0]|0;p=(e&1)==0;d=p?o+1|0:c[o+8>>2]|0;e=d+(p?(e&255)>>>1:c[o+4>>2]|0)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=Rp(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function Xp(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,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];Yp(a,g+24|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function Yp(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,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[c[a>>2]>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(xu(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function Zp(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,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];_p(a,g+16|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function _p(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,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(xu(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function $p(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,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];aq(a,g+20|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function aq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function bq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;U=i;i=i+144|0;l=U+132|0;k=U+116|0;N=U+128|0;x=U+124|0;I=U+120|0;O=U+112|0;P=U+108|0;Q=U+104|0;R=U+100|0;S=U+96|0;T=U+92|0;m=U+88|0;n=U+84|0;p=U+80|0;q=U+76|0;r=U+72|0;s=U+68|0;t=U+64|0;u=U+60|0;v=U+56|0;w=U+52|0;y=U+48|0;z=U+44|0;A=U+40|0;B=U+36|0;C=U+32|0;D=U+28|0;E=U+24|0;F=U+20|0;G=U+16|0;H=U+12|0;J=U+8|0;K=U+4|0;L=U;c[g>>2]=0;M=jn(f)|0;c[N>>2]=M;o=0;N=ra(37,N|0,44220)|0;W=o;o=0;if(W&1){W=Na()|0;pm(M)|0;Ya(W|0)}pm(M)|0;do switch(j<<24>>24|0){case 65:case 97:{c[x>>2]=c[e>>2];c[l>>2]=c[x>>2];Yp(b,h+24|0,d,l,g,N);V=28;break}case 104:case 66:case 98:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];_p(b,h+16|0,d,l,g,N);V=28;break}case 99:{V=b+8|0;V=Eb[c[(c[V>>2]|0)+12>>2]&127](V)|0;c[O>>2]=c[d>>2];c[P>>2]=c[e>>2];j=a[V>>0]|0;e=(j&1)==0;W=e?V+1|0:c[V+8>>2]|0;V=W+(e?(j&255)>>>1:c[V+4>>2]|0)|0;c[k>>2]=c[O>>2];c[l>>2]=c[P>>2];c[d>>2]=Rp(b,k,l,f,g,h,W,V)|0;V=28;break}case 101:case 100:{c[Q>>2]=c[e>>2];c[l>>2]=c[Q>>2];cq(b,h+12|0,d,l,g,N);V=28;break}case 68:{c[R>>2]=c[d>>2];c[S>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[S>>2];c[d>>2]=Rp(b,k,l,f,g,h,58915,58923)|0;V=28;break}case 70:{c[T>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[T>>2];c[l>>2]=c[m>>2];c[d>>2]=Rp(b,k,l,f,g,h,58923,58931)|0;V=28;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];dq(b,h+8|0,d,l,g,N);V=28;break}case 73:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];eq(b,h+8|0,d,l,g,N);V=28;break}case 106:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];fq(b,h+28|0,d,l,g,N);V=28;break}case 109:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];gq(b,h+16|0,d,l,g,N);V=28;break}case 77:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];hq(b,h+4|0,d,l,g,N);V=28;break}case 116:case 110:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];iq(b,d,l,g,N);V=28;break}case 112:{c[u>>2]=c[e>>2];c[l>>2]=c[u>>2];jq(b,h+8|0,d,l,g,N);V=28;break}case 114:{c[v>>2]=c[d>>2];c[w>>2]=c[e>>2];c[k>>2]=c[v>>2];c[l>>2]=c[w>>2];c[d>>2]=Rp(b,k,l,f,g,h,58931,58942)|0;V=28;break}case 82:{c[y>>2]=c[d>>2];c[z>>2]=c[e>>2];c[k>>2]=c[y>>2];c[l>>2]=c[z>>2];c[d>>2]=Rp(b,k,l,f,g,h,58942,58947)|0;V=28;break}case 83:{c[A>>2]=c[e>>2];c[l>>2]=c[A>>2];kq(b,h,d,l,g,N);V=28;break}case 84:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[k>>2]=c[B>>2];c[l>>2]=c[C>>2];c[d>>2]=Rp(b,k,l,f,g,h,58947,58955)|0;V=28;break}case 119:{c[D>>2]=c[e>>2];c[l>>2]=c[D>>2];lq(b,h+24|0,d,l,g,N);V=28;break}case 120:{W=c[(c[b>>2]|0)+20>>2]|0;c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[k>>2]=c[E>>2];c[l>>2]=c[F>>2];k=Db[W&63](b,k,l,f,g,h)|0;break}case 88:{V=b+8|0;V=Eb[c[(c[V>>2]|0)+24>>2]&127](V)|0;c[G>>2]=c[d>>2];c[H>>2]=c[e>>2];j=a[V>>0]|0;e=(j&1)==0;W=e?V+1|0:c[V+8>>2]|0;V=W+(e?(j&255)>>>1:c[V+4>>2]|0)|0;c[k>>2]=c[G>>2];c[l>>2]=c[H>>2];c[d>>2]=Rp(b,k,l,f,g,h,W,V)|0;V=28;break}case 121:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];aq(b,h+20|0,d,l,g,N);V=28;break}case 89:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];mq(b,h+20|0,d,l,g,N);V=28;break}case 37:{c[L>>2]=c[e>>2];c[l>>2]=c[L>>2];nq(b,d,l,g,N);V=28;break}default:{c[g>>2]=c[g>>2]|4;V=28}}while(0);if((V|0)==28)k=c[d>>2]|0;i=U;return k|0}function cq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function dq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function eq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function fq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function gq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function hq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function iq(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){h=c[e>>2]|0;do if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0;while(0);h=(h|0)==0;a=c[f>>2]|0;do if(a){if((c[a+12>>2]|0)!=(c[a+16>>2]|0))if(h)break;else break a;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)!=-1)if(h)break;else break a;else{c[f>>2]=0;k=12;break}}else k=12;while(0);if((k|0)==12){k=0;if(h){a=0;break}else a=0}h=c[e>>2]|0;i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=d[i>>0]|0;if((h&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(h<<24>>24<<1)>>1]&8192))break;h=c[e>>2]|0;a=h+12|0;i=c[a>>2]|0;if((i|0)==(c[h+16>>2]|0)){Eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;continue}else{c[a>>2]=i+1;continue}}h=c[e>>2]|0;do if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0;while(0);h=(h|0)==0;do if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1:0){c[f>>2]=0;k=32;break}if(!h)k=33}else k=32;while(0);if((k|0)==32?h:0)k=33;if((k|0)==33)c[g>>2]=c[g>>2]|2;return}function jq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=Eb[c[(c[m>>2]|0)+8>>2]&127](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=xu(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4;while(0);i=n;return}function kq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function lq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function mq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function nq(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a=c[b>>2]|0;do if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}}else a=0;while(0);h=(a|0)==0;a=c[e>>2]|0;do if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1:0){c[e>>2]=0;j=11;break}if(h){i=a;j=13}else j=12}else j=11;while(0);if((j|0)==11)if(h)j=12;else{i=0;j=13}a:do if((j|0)==12)c[f>>2]=c[f>>2]|6;else if((j|0)==13){a=c[b>>2]|0;h=c[a+12>>2]|0;if((h|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=d[h>>0]|0;if((Gb[c[(c[g>>2]|0)+36>>2]&63](g,a&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}a=c[b>>2]|0;h=a+12|0;g=c[h>>2]|0;if((g|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;a=c[b>>2]|0;if(!a)a=0;else j=21}else{c[h>>2]=g+1;j=21}do if((j|0)==21)if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}while(0);a=(a|0)==0;do if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1:0){c[e>>2]=0;j=30;break}if(a)break a}else j=30;while(0);if((j|0)==30?!a:0)break;c[f>>2]=c[f>>2]|2}while(0);return}function oq(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+32|0;s=x+16|0;r=x+12|0;v=x+8|0;t=x+4|0;u=x;k=jn(e)|0;c[v>>2]=k;o=0;v=ra(37,v|0,44212)|0;q=o;o=0;if(q&1){x=Na()|0;pm(k)|0;Ya(x|0)}pm(k)|0;c[f>>2]=0;k=c[b>>2]|0;a:do if((h|0)!=(j|0)){b:while(1){m=k;if(k){l=c[k+12>>2]|0;if((l|0)==(c[k+16>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;if((l|0)==-1){c[b>>2]=0;k=0;p=1;q=0}else{p=0;q=m}}else{k=0;p=1;q=m}n=c[d>>2]|0;l=n;do if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0))m=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(p)break;else{w=17;break b}else{c[d>>2]=0;l=0;w=15;break}}else w=15;while(0);if((w|0)==15){w=0;if(p){w=17;break}else n=0}c:do if((Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[h>>2]|0,0)|0)<<24>>24==37){m=h+4|0;if((m|0)==(j|0)){w=21;break b}p=Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[m>>2]|0,0)|0;switch(p<<24>>24){case 48:case 69:{n=h+8|0;if((n|0)==(j|0)){w=24;break b}h=m;m=Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[n>>2]|0,0)|0;k=p;break}default:{m=p;k=0}}p=c[(c[a>>2]|0)+36>>2]|0;c[t>>2]=q;c[u>>2]=l;c[r>>2]=c[t>>2];c[s>>2]=c[u>>2];c[b>>2]=Sb[p&15](a,r,s,e,f,g,m,k)|0;h=h+8|0}else{if(!(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,c[h>>2]|0)|0)){m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;q=Lb[c[(c[v>>2]|0)+28>>2]&63](v,l)|0;if((q|0)!=(Lb[c[(c[v>>2]|0)+28>>2]&63](v,c[h>>2]|0)|0)){w=61;break b}l=c[m>>2]|0;if((l|0)==(c[n>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else c[m>>2]=l+4;h=h+4|0;break}do{h=h+4|0;if((h|0)==(j|0)){h=j;break}}while(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,c[h>>2]|0)|0);l=n;p=n;while(1){if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))m=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else m=c[m>>2]|0;if((m|0)==-1){c[b>>2]=0;n=1;k=0}else n=0}else{n=1;k=0}do if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))m=Eb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(n^(l|0)==0){q=l;p=l;break}else break c;else{c[d>>2]=0;l=0;w=44;break}}else w=44;while(0);if((w|0)==44){w=0;if(n)break c;else{q=l;p=0}}m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;if(!(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,l)|0))break c;l=c[m>>2]|0;if((l|0)==(c[n>>2]|0)){Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;l=q;continue}else{c[m>>2]=l+4;l=q;continue}}}while(0);k=c[b>>2]|0;if(!((h|0)!=(j|0)&(c[f>>2]|0)==0))break a}if((w|0)==17){c[f>>2]=4;break}else if((w|0)==21){c[f>>2]=4;break}else if((w|0)==24){c[f>>2]=4;break}else if((w|0)==61){c[f>>2]=4;k=c[b>>2]|0;break}}while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}h=c[d>>2]|0;do if(h){l=c[h+12>>2]|0;if((l|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=c[l>>2]|0;if((h|0)!=-1)if(m)break;else{w=76;break}else{c[d>>2]=0;w=74;break}}else w=74;while(0);if((w|0)==74?m:0)w=76;if((w|0)==76)c[f>>2]=c[f>>2]|2;i=x;return k|0}function pq(a){a=a|0;return}function qq(a){a=a|0;cj(a);return}function rq(a){a=a|0;return 2}function sq(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=oq(a,k,j,e,f,g,44788,44820)|0;i=h;return a|0}function tq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;q=b+8|0;q=Eb[c[(c[q>>2]|0)+20>>2]&127](q)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];o=a[q>>0]|0;p=(o&1)==0;e=q+4|0;d=p?e:c[q+8>>2]|0;e=d+((p?(o&255)>>>1:c[e>>2]|0)<<2)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=oq(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function uq(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,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];vq(a,g+24|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function vq(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,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[c[a>>2]>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Iu(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function wq(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,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];xq(a,g+16|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function xq(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,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Iu(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function yq(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,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];zq(a,g+20|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function zq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function Aq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;U=i;i=i+144|0;l=U+132|0;k=U+116|0;N=U+128|0;x=U+124|0;I=U+120|0;O=U+112|0;P=U+108|0;Q=U+104|0;R=U+100|0;S=U+96|0;T=U+92|0;m=U+88|0;n=U+84|0;p=U+80|0;q=U+76|0;r=U+72|0;s=U+68|0;t=U+64|0;u=U+60|0;v=U+56|0;w=U+52|0;y=U+48|0;z=U+44|0;A=U+40|0;B=U+36|0;C=U+32|0;D=U+28|0;E=U+24|0;F=U+20|0;G=U+16|0;H=U+12|0;J=U+8|0;K=U+4|0;L=U;c[g>>2]=0;M=jn(f)|0;c[N>>2]=M;o=0;N=ra(37,N|0,44212)|0;W=o;o=0;if(W&1){W=Na()|0;pm(M)|0;Ya(W|0)}pm(M)|0;do switch(j<<24>>24|0){case 65:case 97:{c[x>>2]=c[e>>2];c[l>>2]=c[x>>2];vq(b,h+24|0,d,l,g,N);V=28;break}case 104:case 66:case 98:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];xq(b,h+16|0,d,l,g,N);V=28;break}case 99:{W=b+8|0;W=Eb[c[(c[W>>2]|0)+12>>2]&127](W)|0;c[O>>2]=c[d>>2];c[P>>2]=c[e>>2];j=a[W>>0]|0;e=(j&1)==0;V=W+4|0;W=e?V:c[W+8>>2]|0;V=W+((e?(j&255)>>>1:c[V>>2]|0)<<2)|0;c[k>>2]=c[O>>2];c[l>>2]=c[P>>2];c[d>>2]=oq(b,k,l,f,g,h,W,V)|0;V=28;break}case 101:case 100:{c[Q>>2]=c[e>>2];c[l>>2]=c[Q>>2];Bq(b,h+12|0,d,l,g,N);V=28;break}case 68:{c[R>>2]=c[d>>2];c[S>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[S>>2];c[d>>2]=oq(b,k,l,f,g,h,44820,44852)|0;V=28;break}case 70:{c[T>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[T>>2];c[l>>2]=c[m>>2];c[d>>2]=oq(b,k,l,f,g,h,44852,44884)|0;V=28;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];Cq(b,h+8|0,d,l,g,N);V=28;break}case 73:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];Dq(b,h+8|0,d,l,g,N);V=28;break}case 106:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];Eq(b,h+28|0,d,l,g,N);V=28;break}case 109:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];Fq(b,h+16|0,d,l,g,N);V=28;break}case 77:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];Gq(b,h+4|0,d,l,g,N);V=28;break}case 116:case 110:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];Hq(b,d,l,g,N);V=28;break}case 112:{c[u>>2]=c[e>>2];c[l>>2]=c[u>>2];Iq(b,h+8|0,d,l,g,N);V=28;break}case 114:{c[v>>2]=c[d>>2];c[w>>2]=c[e>>2];c[k>>2]=c[v>>2];c[l>>2]=c[w>>2];c[d>>2]=oq(b,k,l,f,g,h,44884,44928)|0;V=28;break}case 82:{c[y>>2]=c[d>>2];c[z>>2]=c[e>>2];c[k>>2]=c[y>>2];c[l>>2]=c[z>>2];c[d>>2]=oq(b,k,l,f,g,h,44928,44948)|0;V=28;break}case 83:{c[A>>2]=c[e>>2];c[l>>2]=c[A>>2];Jq(b,h,d,l,g,N);V=28;break}case 84:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[k>>2]=c[B>>2];c[l>>2]=c[C>>2];c[d>>2]=oq(b,k,l,f,g,h,44948,44980)|0;V=28;break}case 119:{c[D>>2]=c[e>>2];c[l>>2]=c[D>>2];Kq(b,h+24|0,d,l,g,N);V=28;break}case 120:{W=c[(c[b>>2]|0)+20>>2]|0;c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[k>>2]=c[E>>2];c[l>>2]=c[F>>2];k=Db[W&63](b,k,l,f,g,h)|0;break}case 88:{W=b+8|0;W=Eb[c[(c[W>>2]|0)+24>>2]&127](W)|0;c[G>>2]=c[d>>2];c[H>>2]=c[e>>2];j=a[W>>0]|0;e=(j&1)==0;V=W+4|0;W=e?V:c[W+8>>2]|0;V=W+((e?(j&255)>>>1:c[V>>2]|0)<<2)|0;c[k>>2]=c[G>>2];c[l>>2]=c[H>>2];c[d>>2]=oq(b,k,l,f,g,h,W,V)|0;V=28;break}case 121:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];zq(b,h+20|0,d,l,g,N);V=28;break}case 89:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];Lq(b,h+20|0,d,l,g,N);V=28;break}case 37:{c[L>>2]=c[e>>2];c[l>>2]=c[L>>2];Mq(b,d,l,g,N);V=28;break}default:{c[g>>2]=c[g>>2]|4;V=28}}while(0);if((V|0)==28)k=c[d>>2]|0;i=U;return k|0}function Bq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Cq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Dq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Eq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Fq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function Gq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Hq(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;a:while(1){a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15;while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if(!(Gb[c[(c[f>>2]|0)+12>>2]&63](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;continue}else{c[g>>2]=h+4;continue}}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break;else{i=39;break}else{c[d>>2]=0;i=37;break}}else i=37;while(0);if((i|0)==37?g:0)i=39;if((i|0)==39)c[e>>2]=c[e>>2]|2;return}function Iq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=Eb[c[(c[m>>2]|0)+8>>2]&127](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=Iu(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4;while(0);i=n;return}function Jq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Kq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Lq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function Mq(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;a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14;while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((Gb[c[(c[f>>2]|0)+52>>2]&63](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;a=c[b>>2]|0;if(!a)g=1;else j=25}else{c[g>>2]=h+4;j=25}do if((j|0)==25){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}while(0);do if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break a;else break;else{c[d>>2]=0;j=37;break}}else j=37;while(0);if((j|0)==37?!g:0)break;c[e>>2]=c[e>>2]|2}while(0);return}function Nq(a){a=a|0;Oq(a+8|0);return}function Oq(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;o=0;d=ua(3)|0;e=o;o=0;do if(!(e&1)){if((b|0)!=(d|0)?(o=0,ha(188,c[a>>2]|0),e=o,o=0,e&1):0)break;return}while(0);e=Na(0)|0;ec(e)}function Pq(a){a=a|0;Oq(a+8|0);cj(a);return}function Qq(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;l=i;i=i+112|0;k=l+4|0;e=l;c[e>>2]=k+100;Rq(b+8|0,k,e,g,h,j);g=c[e>>2]|0;e=c[d>>2]|0;if((k|0)!=(g|0))do{j=a[k>>0]|0;do if(e){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){d=(Lb[c[(c[e>>2]|0)+52>>2]&63](e,j&255)|0)==-1;e=d?0:e;break}else{c[f>>2]=h+1;a[h>>0]=j;break}}else e=0;while(0);k=k+1|0}while((k|0)!=(g|0));i=l;return e|0}function Rq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;a[l>>0]=37;j=l+1|0;a[j>>0]=g;k=l+2|0;a[k>>0]=h;a[l+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}c[e>>2]=d+(Ra(d|0,(c[e>>2]|0)-d|0,l|0,f|0,c[b>>2]|0)|0);i=m;return}function Sq(a){a=a|0;Oq(a+8|0);return}function Tq(a){a=a|0;Oq(a+8|0);cj(a);return}function Uq(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0;j=i;i=i+416|0;e=j+8|0;d=j;c[d>>2]=e+400;Vq(a+8|0,e,d,f,g,h);a=c[d>>2]|0;d=c[b>>2]|0;if((e|0)!=(a|0)){f=e;do{e=c[f>>2]|0;if(!d)d=0;else{g=d+24|0;h=c[g>>2]|0;if((h|0)==(c[d+28>>2]|0))e=Lb[c[(c[d>>2]|0)+52>>2]&63](d,e)|0;else{c[g>>2]=h+4;c[h>>2]=e}d=(e|0)==-1?0:d}f=f+4|0}while((f|0)!=(a|0))}i=j;return d|0}function Vq(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,j=0,k=0,l=0,m=0;h=i;i=i+128|0;l=h+16|0;m=h+12|0;j=h;k=h+8|0;c[m>>2]=l+100;Rq(a,l,m,e,f,g);f=j;c[f>>2]=0;c[f+4>>2]=0;c[k>>2]=l;f=(c[d>>2]|0)-b>>2;g=qk(c[a>>2]|0)|0;o=0;f=va(18,b|0,k|0,f|0,j|0)|0;a=o;o=0;if(a&1){f=Na()|0;if((g|0)!=0?(o=0,ka(75,g|0)|0,m=o,o=0,m&1):0){m=Na(0)|0;ec(m)}Ya(f|0)}if((g|0)!=0?(o=0,ka(75,g|0)|0,m=o,o=0,m&1):0){m=Na(0)|0;ec(m)}if((f|0)==-1)Rr(58955);else{c[d>>2]=b+(f<<2);i=h;return}}function Wq(a){a=a|0;return}function Xq(a){a=a|0;cj(a);return}function Yq(a){a=a|0;return 127}function Zq(a){a=a|0;return 127}function _q(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function $q(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function ar(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function br(a,b){a=a|0;b=b|0;Hm(a,1,45);return}function cr(a){a=a|0;return 0}function dr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function er(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function fr(a){a=a|0;return}function gr(a){a=a|0;cj(a);return}function hr(a){a=a|0;return 127}function ir(a){a=a|0;return 127}function jr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function kr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function lr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function mr(a,b){a=a|0;b=b|0;Hm(a,1,45);return}function nr(a){a=a|0;return 0}function or(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function pr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function qr(a){a=a|0;return}function rr(a){a=a|0;cj(a);return}function sr(a){a=a|0;return 2147483647}function tr(a){a=a|0;return 2147483647}function ur(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function vr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function wr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function xr(a,b){a=a|0;b=b|0;Vm(a,1,45);return}function yr(a){a=a|0;return 0}function zr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Ar(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Br(a){a=a|0;return}function Cr(a){a=a|0;cj(a);return}function Dr(a){a=a|0;return 2147483647}function Er(a){a=a|0;return 2147483647}function Fr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Gr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Hr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Ir(a,b){a=a|0;b=b|0;Vm(a,1,45);return}function Jr(a){a=a|0;return 0}function Kr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Lr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Mr(a){a=a|0;return}function Nr(a){a=a|0;cj(a);return}function Or(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;B=i;i=i+240|0;z=B+24|0;A=B;b=B+136|0;D=B+16|0;y=B+12|0;C=B+8|0;p=B+134|0;l=B+4|0;x=B+124|0;c[D>>2]=b;E=D+4|0;c[E>>2]=189;m=b+100|0;o=0;k=ka(68,g|0)|0;w=o;o=0;if(!(w&1)){c[C>>2]=k;o=0;b=ra(37,C|0,44220)|0;w=o;o=0;a:do if(!(w&1)?(a[p>>0]=0,c[l>>2]=c[e>>2],n=c[g+4>>2]|0,o=0,c[z>>2]=c[l>>2],n=la(1,d|0,z|0,f|0,C|0,n|0,h|0,p|0,b|0,D|0,y|0,m|0)|0,w=o,o=0,!(w&1)):0){b:do if(n){o=0;va(c[(c[b>>2]|0)+32>>2]|0,b|0,58976,58986,x|0)|0;w=o;o=0;if(w&1){G=10;break a}l=c[y>>2]|0;m=c[D>>2]|0;b=l-m|0;if((b|0)>98){b=Fl(b+2|0)|0;k=b;if(!b){o=0;xa(6);w=o;o=0;if(!(w&1)){b=0;G=13}}else G=13}else{k=0;b=z;G=13}do if((G|0)==13){if(a[p>>0]|0){a[b>>0]=45;b=b+1|0}v=x+10|0;w=x;if(m>>>0>>0){n=x+1|0;f=n+1|0;g=f+1|0;p=g+1|0;q=p+1|0;r=q+1|0;s=r+1|0;t=s+1|0;u=t+1|0;do{l=a[m>>0]|0;do if((a[x>>0]|0)!=l<<24>>24)if((a[n>>0]|0)!=l<<24>>24)if((a[f>>0]|0)!=l<<24>>24)if((a[g>>0]|0)!=l<<24>>24)if((a[p>>0]|0)==l<<24>>24)l=p;else{if((a[q>>0]|0)==l<<24>>24){l=q;break}if((a[r>>0]|0)==l<<24>>24){l=r;break}if((a[s>>0]|0)==l<<24>>24){l=s;break}if((a[t>>0]|0)==l<<24>>24){l=t;break}l=(a[u>>0]|0)==l<<24>>24?u:v}else l=g;else l=f;else l=n;else l=x;while(0);a[b>>0]=a[58976+(l-w)>>0]|0;m=m+1|0;b=b+1|0}while(m>>>0<(c[y>>2]|0)>>>0)}a[b>>0]=0;c[A>>2]=j;if(($k(z,58987,A)|0)!=1?(o=0,ha(190,58991),j=o,o=0,j&1):0)break;if(k)Gl(k);break b}while(0);b=Na()|0;if(!k){l=b;k=D;break a}Gl(k);l=b;k=D;break a}while(0);b=c[d>>2]|0;do if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}if((b|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}}else b=0;while(0);k=(b|0)==0;b=c[e>>2]|0;do if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}if((b|0)==-1){c[e>>2]=0;G=37;break}}if(!k)G=38}else G=37;while(0);if((G|0)==37?k:0)G=38;if((G|0)==38)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(c[C>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if((b|0)!=0?(o=0,ha(c[E>>2]|0,b|0),G=o,o=0,G&1):0){G=Na(0)|0;ec(G)}i=B;return k|0}else G=10;while(0);if((G|0)==10){l=Na()|0;k=D}pm(c[C>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=0;if(!b)F=l;else{k=c[E>>2]|0;G=45}}else{l=Na()|0;c[D>>2]=0;k=189;G=45}if((G|0)==45){o=0;ha(k|0,b|0);G=o;o=0;if(G&1){G=Na(0)|0;ec(G)}else F=l}Ya(F|0);return 0}function Pr(a){a=a|0;return}function Qr(e,f,g,h,j,k,l,m,n,p,q){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;ba=i;i=i+512|0;P=ba+88|0;u=ba+96|0;da=ba+80|0;T=ba+72|0;S=ba+68|0;U=ba+500|0;Q=ba+497|0;V=ba+496|0;Y=ba+56|0;aa=ba+44|0;_=ba+32|0;Z=ba+20|0;$=ba+8|0;R=ba+4|0;X=ba;c[P>>2]=q;c[da>>2]=u;ca=da+4|0;c[ca>>2]=189;c[T>>2]=u;c[S>>2]=u+400;c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;o=0;qa(1,g|0,h|0,U|0,Q|0,V|0,Y|0,aa|0,_|0,Z|0,R|0);O=o;o=0;a:do if(O&1)m=Na()|0;else{c[p>>2]=c[n>>2];I=m+8|0;J=_+4|0;K=Z+4|0;L=Z+8|0;M=Z+1|0;N=_+8|0;O=_+1|0;z=(j&512|0)!=0;A=aa+8|0;B=aa+1|0;C=aa+4|0;D=$+4|0;E=$+8|0;F=$+1|0;G=U+3|0;H=Y+4|0;y=0;t=0;b:while(1){q=c[e>>2]|0;do if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0;while(0);q=(q|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(q){x=m;break}else{W=235;break b}o=0;g=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=24;break b}if((g|0)!=-1)if(q){x=m;break}else{W=235;break b}else{c[f>>2]=0;W=15;break}}else W=15;while(0);if((W|0)==15){W=0;if(q){W=235;break}else x=0}c:do switch(a[U+y>>0]|0){case 1:{if((y|0)!=3){q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=24;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24<=-1){W=40;break b}if(!(b[(c[I>>2]|0)+(q<<24>>24<<1)>>1]&8192)){W=40;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=24;break b}}else{c[m>>2]=g+1;q=d[g>>0]|0}o=0;ia(67,$|0,q&255|0);W=o;o=0;if(W&1){W=24;break b}else{q=x;h=x;W=42}}break}case 0:{if((y|0)!=3){q=x;h=x;W=42}break}case 3:{m=a[_>>0]|0;q=(m&1)==0?(m&255)>>>1:c[J>>2]|0;g=a[Z>>0]|0;h=(g&1)==0?(g&255)>>>1:c[K>>2]|0;if((q|0)!=(0-h|0)){if(!q){q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}m=a[Z>>0]|0}else{q=d[m>>0]|0;m=g}if((q&255)<<24>>24!=(a[((m&1)==0?M:c[L>>2]|0)>>0]|0))break c;q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;a[l>>0]=1;x=a[Z>>0]|0;t=((x&1)==0?(x&255)>>>1:c[K>>2]|0)>>>0>1?Z:t;break c}j=c[e>>2]|0;r=c[j+12>>2]|0;g=c[j+16>>2]|0;q=(r|0)==(g|0);if(!h){if(q){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}m=a[_>>0]|0}else q=d[r>>0]|0;if((q&255)<<24>>24!=(a[((m&1)==0?O:c[N>>2]|0)>>0]|0)){a[l>>0]=1;break c}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;x=a[_>>0]|0;t=((x&1)==0?(x&255)>>>1:c[J>>2]|0)>>>0>1?_:t;break c}if(q){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}g=c[e>>2]|0;m=a[_>>0]|0;j=g;r=c[g+12>>2]|0;g=c[g+16>>2]|0}else q=d[r>>0]|0;h=j+12|0;g=(r|0)==(g|0);if((q&255)<<24>>24==(a[((m&1)==0?O:c[N>>2]|0)>>0]|0)){if(g){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[h>>2]=r+1;x=a[_>>0]|0;t=((x&1)==0?(x&255)>>>1:c[J>>2]|0)>>>0>1?_:t;break c}if(g){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}}else q=d[r>>0]|0;if((q&255)<<24>>24!=(a[((a[Z>>0]&1)==0?M:c[L>>2]|0)>>0]|0)){W=104;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;a[l>>0]=1;x=a[Z>>0]|0;t=((x&1)==0?(x&255)>>>1:c[K>>2]|0)>>>0>1?Z:t}break}case 2:{if(!(y>>>0<2|(t|0)!=0)?!(z|(y|0)==2&(a[G>>0]|0)!=0):0){t=0;break c}v=a[aa>>0]|0;q=(v&1)==0;w=c[A>>2]|0;g=q?B:w;s=g;d:do if((y|0)!=0?(d[U+(y+-1)>>0]|0)<2:0){r=q?(v&255)>>>1:c[C>>2]|0;h=g+r|0;j=c[I>>2]|0;e:do if(!r)m=s;else{r=g;m=s;do{q=a[r>>0]|0;if(q<<24>>24<=-1)break e;if(!(b[j+(q<<24>>24<<1)>>1]&8192))break e;r=r+1|0;m=r}while((r|0)!=(h|0))}while(0);h=m-s|0;j=a[$>>0]|0;q=(j&1)==0;j=q?(j&255)>>>1:c[D>>2]|0;if(j>>>0>=h>>>0){q=q?F:c[E>>2]|0;r=q+j|0;if((m|0)!=(s|0)){q=q+(j-h)|0;while(1){if((a[q>>0]|0)!=(a[g>>0]|0)){m=s;break d}q=q+1|0;if((q|0)==(r|0))break;else g=g+1|0}}}else m=s}else m=s;while(0);q=(v&1)==0;q=(q?B:w)+(q?(v&255)>>>1:c[C>>2]|0)|0;f:do if((m|0)!=(q|0)){j=x;h=x;q=m;while(1){m=c[e>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=21;break b}if((m|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}}else m=0;while(0);g=(m|0)==0;do if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){m=j;r=h;break}else break f;o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=21;break b}if((m|0)!=-1)if(g^(j|0)==0){m=j;r=j;break}else break f;else{c[f>>2]=0;m=0;W=131;break}}else{m=j;W=131}while(0);if((W|0)==131){W=0;if(g)break f;else r=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=21;break b}}else g=d[h>>0]|0;if((g&255)<<24>>24!=(a[q>>0]|0))break f;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=21;break b}}else c[h>>2]=j+1;q=q+1|0;g=a[aa>>0]|0;x=(g&1)==0;g=(x?B:c[A>>2]|0)+(x?(g&255)>>>1:c[C>>2]|0)|0;if((q|0)==(g|0)){q=g;break}else{j=m;h=r}}}while(0);if(z?(x=a[aa>>0]|0,w=(x&1)==0,(q|0)!=((w?B:c[A>>2]|0)+(w?(x&255)>>>1:c[C>>2]|0)|0)):0){W=143;break b}break}case 4:{s=a[V>>0]|0;m=x;j=x;q=0;g:while(1){g=c[e>>2]|0;do if(g){if((c[g+12>>2]|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=23;break b}if((g|0)==-1){c[e>>2]=0;g=0;break}else{g=c[e>>2]|0;break}}}else g=0;while(0);h=(g|0)==0;do if(j){if((c[j+12>>2]|0)!=(c[j+16>>2]|0))if(h){r=m;break}else{h=m;break g}o=0;g=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=23;break b}if((g|0)!=-1)if(h^(m|0)==0){r=m;j=m;break}else{h=m;break g}else{c[f>>2]=0;m=0;W=156;break}}else W=156;while(0);if((W|0)==156){W=0;if(h){h=m;break}else{r=m;j=0}}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=23;break b}}else m=d[g>>0]|0;g=m&255;if(g<<24>>24>-1?(b[(c[I>>2]|0)+(m<<24>>24<<1)>>1]&2048)!=0:0){m=c[p>>2]|0;if((m|0)==(c[P>>2]|0)){o=0;wa(12,n|0,p|0,P|0);x=o;o=0;if(x&1){W=23;break b}m=c[p>>2]|0}c[p>>2]=m+1;a[m>>0]=g;q=q+1|0}else{x=a[Y>>0]|0;if(!(g<<24>>24==s<<24>>24&((q|0)!=0?(((x&1)==0?(x&255)>>>1:c[H>>2]|0)|0)!=0:0))){h=r;break}if((u|0)==(c[S>>2]|0)){o=0;wa(13,da|0,T|0,S|0);x=o;o=0;if(x&1){W=23;break b}u=c[T>>2]|0}x=u+4|0;c[T>>2]=x;c[u>>2]=q;u=x;q=0}m=c[e>>2]|0;g=m+12|0;h=c[g>>2]|0;if((h|0)==(c[m+16>>2]|0)){o=0;ka(c[(c[m>>2]|0)+40>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=23;break b}else{m=r;continue}}else{c[g>>2]=h+1;m=r;continue}}if((q|0)!=0?(c[da>>2]|0)!=(u|0):0){if((u|0)==(c[S>>2]|0)){o=0;wa(13,da|0,T|0,S|0);x=o;o=0;if(x&1){W=24;break b}u=c[T>>2]|0}x=u+4|0;c[T>>2]=x;c[u>>2]=q;u=x}r=c[R>>2]|0;if((r|0)>0){q=c[e>>2]|0;do if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0;while(0);q=(q|0)==0;do if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0)){o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=24;break b}if((m|0)==-1){c[f>>2]=0;W=193;break}}if(!q){W=198;break b}}else W=193;while(0);if((W|0)==193){W=0;if(q){W=198;break b}else h=0}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24!=(a[Q>>0]|0)){W=198;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;if((r|0)>0){j=h;g=h;s=r;while(1){q=c[e>>2]|0;do if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=22;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0;while(0);m=(q|0)==0;do if(g){if((c[g+12>>2]|0)!=(c[g+16>>2]|0))if(m){q=j;r=g;break}else{W=222;break b}o=0;q=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=22;break b}if((q|0)!=-1)if(m^(j|0)==0){q=j;r=j;break}else{W=222;break b}else{c[f>>2]=0;q=0;W=215;break}}else{q=j;W=215}while(0);if((W|0)==215){W=0;if(m){W=222;break b}else r=0}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=22;break b}}else m=d[g>>0]|0;if((m&255)<<24>>24<=-1){W=222;break b}if(!(b[(c[I>>2]|0)+(m<<24>>24<<1)>>1]&2048)){W=222;break b}if((c[p>>2]|0)==(c[P>>2]|0)?(o=0,wa(12,n|0,p|0,P|0),x=o,o=0,x&1):0){W=22;break b}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=22;break b}}else m=d[g>>0]|0;g=c[p>>2]|0;c[p>>2]=g+1;a[g>>0]=m;m=s;s=s+-1|0;c[R>>2]=s;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=22;break b}}else c[h>>2]=j+1;if((m|0)<=1)break;else{j=q;g=r}}}}if((c[p>>2]|0)==(c[n>>2]|0)){W=233;break b}break}default:{}}while(0);h:do if((W|0)==42)while(1){W=0;m=c[e>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=20;break b}if((m|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}}else m=0;while(0);g=(m|0)==0;do if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){j=q;break}else break h;o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=20;break b}if((m|0)!=-1)if(g^(q|0)==0){j=q;h=q;break}else break h;else{c[f>>2]=0;q=0;W=54;break}}else W=54;while(0);if((W|0)==54){W=0;if(g)break h;else{j=q;h=0}}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=20;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24<=-1)break h;if(!(b[(c[I>>2]|0)+(q<<24>>24<<1)>>1]&8192))break h;q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=20;break b}}else{c[m>>2]=g+1;q=d[g>>0]|0}o=0;ia(67,$|0,q&255|0);W=o;o=0;if(W&1){W=20;break b}else{q=j;W=42}}while(0);y=y+1|0;if(y>>>0>=4){W=235;break}}i:switch(W|0){case 20:{m=Na()|0;break a}case 21:{m=Na()|0;break a}case 22:{m=Na()|0;break a}case 23:{m=Na()|0;break a}case 24:{m=Na()|0;break a}case 40:{c[k>>2]=c[k>>2]|4;m=0;break}case 104:{c[k>>2]=c[k>>2]|4;m=0;break}case 143:{c[k>>2]=c[k>>2]|4;m=0;break}case 198:{c[k>>2]=c[k>>2]|4;m=0;break}case 222:{c[k>>2]=c[k>>2]|4;m=0;break}case 233:{c[k>>2]=c[k>>2]|4;m=0;break}case 235:{j:do if(t){j=t+1|0;r=t+8|0;s=t+4|0;g=1;k:while(1){q=a[t>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[s>>2]|0;if(g>>>0>=q>>>0)break j;q=c[e>>2]|0;do if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break k}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0;while(0);m=(q|0)==0;q=c[f>>2]|0;do if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break k}if((q|0)==-1){c[f>>2]=0;W=253;break}}if(!m){W=260;break k}}else W=253;while(0);if((W|0)==253?(W=0,m):0){W=260;break}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break}}else q=d[m>>0]|0;if(!(a[t>>0]&1))m=j;else m=c[r>>2]|0;if((q&255)<<24>>24!=(a[m+g>>0]|0)){W=260;break}q=g+1|0;m=c[e>>2]|0;g=m+12|0;h=c[g>>2]|0;if((h|0)==(c[m+16>>2]|0)){o=0;ka(c[(c[m>>2]|0)+40>>2]|0,m|0)|0;p=o;o=0;if(p&1){W=19;break}else{g=q;continue}}else{c[g>>2]=h+1;g=q;continue}}if((W|0)==19){m=Na()|0;break a}else if((W|0)==260){c[k>>2]=c[k>>2]|4;m=0;break i}}while(0);q=c[da>>2]|0;if((q|0)!=(u|0)?(c[X>>2]=0,Ur(Y,q,u,X),(c[X>>2]|0)!=0):0){c[k>>2]=c[k>>2]|4;m=0}else m=1;break}}Im($);Im(Z);Im(_);Im(aa);Im(Y);q=c[da>>2]|0;c[da>>2]=0;if((q|0)!=0?(o=0,ha(c[ca>>2]|0,q|0),da=o,o=0,da&1):0){da=Na(0)|0;ec(da)}i=ba;return m|0}while(0);Im($);Im(Z);Im(_);Im(aa);Im(Y);q=c[da>>2]|0;c[da>>2]=0;if((q|0)!=0?(o=0,ha(c[ca>>2]|0,q|0),da=o,o=0,da&1):0){da=Na(0)|0;ec(da)}Ya(m|0);return 0}function Rr(a){a=a|0;var b=0;b=Ma(8)|0;o=0;ia(90,b|0,a|0);a=o;o=0;if(a&1){a=Na()|0;La(b|0);Ya(a|0)}else lb(b|0,616,80)}function Sr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=i;i=i+144|0;k=w+24|0;b=w+32|0;x=w+16|0;s=w+8|0;p=w+4|0;q=w+28|0;l=w;c[x>>2]=b;A=x+4|0;c[A>>2]=189;m=b+100|0;o=0;v=ka(68,g|0)|0;n=o;o=0;if(!(n&1)){c[p>>2]=v;o=0;n=ra(37,p|0,44220)|0;b=o;o=0;a:do if(!(b&1)?(a[q>>0]=0,t=c[e>>2]|0,c[l>>2]=t,r=c[g+4>>2]|0,u=t,o=0,c[k>>2]=c[l>>2],r=la(1,d|0,k|0,f|0,p|0,r|0,h|0,q|0,n|0,x|0,s|0,m|0)|0,g=o,o=0,!(g&1)):0){if(r){if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}if(a[q>>0]|0){o=0;b=ra(c[(c[n>>2]|0)+28>>2]|0,n|0,45)|0;g=o;o=0;if(g&1)break;o=0;ia(67,j|0,b|0);g=o;o=0;if(g&1)break}o=0;l=ra(c[(c[n>>2]|0)+28>>2]|0,n|0,48)|0;g=o;o=0;if(g&1)break;b=c[x>>2]|0;m=c[s>>2]|0;k=m+-1|0;b:do if(b>>>0>>0)do{if((a[b>>0]|0)!=l<<24>>24)break b;b=b+1|0}while(b>>>0>>0);while(0);o=0;ma(32,j|0,b|0,m|0)|0;j=o;o=0;if(j&1)break}b=c[d>>2]|0;do if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1)break a;if((b|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}}else b=0;while(0);k=(b|0)==0;do if(t){if((c[u+12>>2]|0)==(c[u+16>>2]|0)){o=0;b=ka(c[(c[t>>2]|0)+36>>2]|0,u|0)|0;u=o;o=0;if(u&1)break a;if((b|0)==-1){c[e>>2]=0;z=29;break}}if(!k)z=30}else z=29;while(0);if((z|0)==29?k:0)z=30;if((z|0)==30)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(v)|0;b=c[x>>2]|0;c[x>>2]=0;if((b|0)!=0?(o=0,ha(c[A>>2]|0,b|0),A=o,o=0,A&1):0){A=Na(0)|0;ec(A)}i=w;return k|0}while(0);k=Na()|0;pm(v)|0;b=c[x>>2]|0;c[x>>2]=0;if(!b)y=k;else z=36}else{k=Na()|0;c[x>>2]=0;z=36}if((z|0)==36){o=0;ha(c[A>>2]|0,b|0);A=o;o=0;if(A&1){A=Na(0)|0;ec(A)}else y=k}Ya(y|0);return 0}function Tr(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+100|0;p=z+88|0;q=z+76|0;r=z+64|0;s=z+52|0;t=z+48|0;u=z+36|0;v=z+24|0;w=z+12|0;x=z;do if(b){b=Is(d,43828)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](n,b);x=c[n>>2]|0;a[e>>0]=x;a[e+1>>0]=x>>8;a[e+2>>0]=x>>16;a[e+3>>0]=x>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)};c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Im(p);Cb[c[(c[b>>2]|0)+28>>2]&127](q,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)};c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Im(q);a[f>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](r,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)};c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);Cb[c[(c[b>>2]|0)+24>>2]&127](s,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Im(s);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(d,43764)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](t,b);t=c[t>>2]|0;a[e>>0]=t;a[e+1>>0]=t>>8;a[e+2>>0]=t>>16;a[e+3>>0]=t>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](u,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)};c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Im(u);Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)};c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Im(v);a[f>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](w,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)};c[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[b>>2]|0)+24>>2]&127](x,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Im(x);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}while(0);c[m>>2]=y;i=z;return}function Ur(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=a[b>>0]|0;i=b+4|0;h=c[i>>2]|0;a:do if(((g&1)==0?(g&255)>>>1:h)|0){if((d|0)!=(e|0)){g=e+-4|0;if(g>>>0>d>>>0){h=d;do{j=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=j;h=h+4|0;g=g+-4|0}while(h>>>0>>0)}g=a[b>>0]|0;h=c[i>>2]|0}j=(g&1)==0;i=j?b+1|0:c[b+8>>2]|0;e=e+-4|0;b=i+(j?(g&255)>>>1:h)|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;b:do if(e>>>0>d>>>0){while(1){if(!g?(h<<24>>24|0)!=(c[d>>2]|0):0)break;i=(b-i|0)>1?i+1|0:i;d=d+4|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;if(d>>>0>=e>>>0)break b}c[f>>2]=4;break a}while(0);if(!g?((c[e>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}while(0);return}function Vr(a){a=a|0;return}function Wr(a){a=a|0;cj(a);return}function Xr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;B=i;i=i+576|0;x=B+424|0;A=B;b=B+24|0;D=B+16|0;y=B+12|0;C=B+8|0;p=B+464|0;l=B+4|0;z=B+468|0;c[D>>2]=b;F=D+4|0;c[F>>2]=189;m=b+400|0;o=0;k=ka(68,g|0)|0;w=o;o=0;if(!(w&1)){c[C>>2]=k;o=0;b=ra(37,C|0,44212)|0;w=o;o=0;a:do if(!(w&1)?(a[p>>0]=0,c[l>>2]=c[e>>2],n=c[g+4>>2]|0,o=0,c[x>>2]=c[l>>2],n=la(2,d|0,x|0,f|0,C|0,n|0,h|0,p|0,b|0,D|0,y|0,m|0)|0,w=o,o=0,!(w&1)):0){b:do if(n){o=0;va(c[(c[b>>2]|0)+48>>2]|0,b|0,59007,59017,x|0)|0;w=o;o=0;if(w&1){G=10;break a}l=c[y>>2]|0;m=c[D>>2]|0;b=l-m|0;if((b|0)>392){b=Fl((b>>2)+2|0)|0;k=b;if(!b){o=0;xa(6);w=o;o=0;if(!(w&1)){b=0;G=13}}else G=13}else{k=0;b=z;G=13}do if((G|0)==13){if(a[p>>0]|0){a[b>>0]=45;b=b+1|0}v=x+40|0;w=x;if(m>>>0>>0){n=x+4|0;f=n+4|0;g=f+4|0;p=g+4|0;q=p+4|0;r=q+4|0;s=r+4|0;t=s+4|0;u=t+4|0;do{l=c[m>>2]|0;do if((c[x>>2]|0)!=(l|0))if((c[n>>2]|0)!=(l|0))if((c[f>>2]|0)!=(l|0))if((c[g>>2]|0)!=(l|0))if((c[p>>2]|0)==(l|0))l=p;else{if((c[q>>2]|0)==(l|0)){l=q;break}if((c[r>>2]|0)==(l|0)){l=r;break}if((c[s>>2]|0)==(l|0)){l=s;break}if((c[t>>2]|0)==(l|0)){l=t;break}l=(c[u>>2]|0)==(l|0)?u:v}else l=g;else l=f;else l=n;else l=x;while(0);a[b>>0]=a[59007+(l-w>>2)>>0]|0;m=m+4|0;b=b+1|0}while(m>>>0<(c[y>>2]|0)>>>0)}a[b>>0]=0;c[A>>2]=j;if(($k(z,58987,A)|0)!=1?(o=0,ha(190,58991),j=o,o=0,j&1):0)break;if(k)Gl(k);break b}while(0);b=Na()|0;if(!k){l=b;k=D;break a}Gl(k);l=b;k=D;break a}while(0);b=c[d>>2]|0;do if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}}else b=c[k>>2]|0;if((b|0)==-1){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1;while(0);b=c[e>>2]|0;do if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}}else b=c[k>>2]|0;if((b|0)!=-1)if(l)break;else{G=40;break}else{c[e>>2]=0;G=38;break}}else G=38;while(0);if((G|0)==38?l:0)G=40;if((G|0)==40)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(c[C>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if((b|0)!=0?(o=0,ha(c[F>>2]|0,b|0),G=o,o=0,G&1):0){G=Na(0)|0;ec(G)}i=B;return k|0}else G=10;while(0);if((G|0)==10){l=Na()|0;k=D}pm(c[C>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=0;if(!b)E=l;else{k=c[F>>2]|0;G=47}}else{l=Na()|0;c[D>>2]=0;k=189;G=47}if((G|0)==47){o=0;ha(k|0,b|0);G=o;o=0;if(G&1){G=Na(0)|0;ec(G)}else E=l}Ya(E|0);return 0}function Yr(b,e,f,g,h,j,k,l,m,n,p){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;Y=i;i=i+512|0;K=Y+96|0;q=Y+104|0;_=Y+88|0;O=Y+80|0;N=Y+76|0;P=Y+504|0;L=Y+72|0;Q=Y+68|0;T=Y+56|0;X=Y+44|0;V=Y+32|0;U=Y+20|0;W=Y+8|0;M=Y+4|0;S=Y;c[K>>2]=p;c[_>>2]=q;Z=_+4|0;c[Z>>2]=189;c[O>>2]=q;c[N>>2]=q+400;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[X>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;o=0;qa(2,f|0,g|0,P|0,L|0,Q|0,T|0,X|0,V|0,U|0,M|0);J=o;o=0;a:do if(J&1)f=Na()|0;else{c[n>>2]=c[m>>2];G=V+4|0;H=U+4|0;I=U+8|0;J=V+8|0;z=(h&512|0)!=0;A=X+8|0;B=X+4|0;C=W+4|0;D=W+8|0;E=P+3|0;F=T+4|0;y=0;s=0;b:while(1){p=c[b>>2]|0;do if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[f>>2]|0;if((p|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);f=c[e>>2]|0;do if(f){p=c[f+12>>2]|0;if((p|0)==(c[f+16>>2]|0)){o=0;p=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[p>>2]|0;if((p|0)!=-1)if(g){x=f;break}else{t=q;R=244;break b}else{c[e>>2]=0;R=16;break}}else R=16;while(0);if((R|0)==16){R=0;if(g){t=q;R=244;break}else x=0}c:do switch(a[P+y>>0]|0){case 1:{if((y|0)!=3){p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=26;break b}}else p=c[f>>2]|0;o=0;p=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,p|0)|0;R=o;o=0;if(R&1){R=26;break b}if(!p){R=42;break b}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=26;break b}}else{c[f>>2]=g+4;p=c[g>>2]|0}o=0;ia(92,W|0,p|0);R=o;o=0;if(R&1){R=26;break b}else{p=x;h=x;R=44}}else p=q;break}case 0:{if((y|0)==3)p=q;else{p=x;h=x;R=44}break}case 3:{f=a[V>>0]|0;p=(f&1)==0?(f&255)>>>1:c[G>>2]|0;g=a[U>>0]|0;h=(g&1)==0?(g&255)>>>1:c[H>>2]|0;if((p|0)==(0-h|0))p=q;else{if(!p){p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}f=a[U>>0]|0}else{p=c[f>>2]|0;f=g}if((p|0)!=(c[((f&1)==0?H:c[I>>2]|0)>>2]|0)){p=q;break c}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;a[k>>0]=1;x=a[U>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[H>>2]|0)>>>0>1?U:s;break c}r=c[b>>2]|0;t=c[r+12>>2]|0;g=c[r+16>>2]|0;p=(t|0)==(g|0);if(!h){if(p){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}f=a[V>>0]|0}else p=c[t>>2]|0;if((p|0)!=(c[((f&1)==0?G:c[J>>2]|0)>>2]|0)){a[k>>0]=1;p=q;break c}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;x=a[V>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[G>>2]|0)>>>0>1?V:s;break c}if(p){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}g=c[b>>2]|0;f=a[V>>0]|0;r=g;t=c[g+12>>2]|0;g=c[g+16>>2]|0}else p=c[t>>2]|0;h=r+12|0;g=(t|0)==(g|0);if((p|0)==(c[((f&1)==0?G:c[J>>2]|0)>>2]|0)){if(g){o=0;ka(c[(c[r>>2]|0)+40>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[h>>2]=t+4;x=a[V>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[G>>2]|0)>>>0>1?V:s;break c}if(g){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[t>>2]|0;if((p|0)!=(c[((a[U>>0]&1)==0?H:c[I>>2]|0)>>2]|0)){R=107;break b}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;a[k>>0]=1;x=a[U>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[H>>2]|0)>>>0>1?U:s}break}case 2:{if(!(y>>>0<2|(s|0)!=0)?!(z|(y|0)==2&(a[E>>0]|0)!=0):0){p=q;s=0;break c}h=a[X>>0]|0;g=c[A>>2]|0;f=(h&1)==0?B:g;p=f;d:do if((y|0)!=0?(d[P+(y+-1)>>0]|0)<2:0){w=(h&1)==0;e:do if((f|0)!=((w?B:g)+((w?(h&255)>>>1:c[B>>2]|0)<<2)|0)){h=f;while(1){o=0;f=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,c[h>>2]|0)|0;w=o;o=0;if(w&1){R=23;break b}if(!f)break;h=h+4|0;p=h;f=a[X>>0]|0;g=c[A>>2]|0;w=(f&1)==0;if((h|0)==((w?B:g)+((w?(f&255)>>>1:c[B>>2]|0)<<2)|0)){h=f;break e}}h=a[X>>0]|0;g=c[A>>2]|0}while(0);t=(h&1)==0?B:g;f=t;u=p-f>>2;v=a[W>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:c[C>>2]|0;if(v>>>0>=u>>>0){r=r?C:c[D>>2]|0;w=r+(v<<2)|0;if(!u)f=p;else{r=r+(v-u<<2)|0;while(1){if((c[r>>2]|0)!=(c[t>>2]|0))break d;r=r+4|0;if((r|0)==(w|0)){f=p;break}else t=t+4|0}}}}else f=p;while(0);p=(h&1)==0;p=(p?B:g)+((p?(h&255)>>>1:c[B>>2]|0)<<2)|0;f:do if((f|0)!=(p|0)){r=x;h=x;p=f;while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=22;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=22;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(r|0)==0){f=r;t=r;break}else break f;else{c[e>>2]=0;f=0;R=136;break}}else{f=r;R=136}while(0);if((R|0)==136){R=0;if(g)break f;else t=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=22;break b}}else g=c[h>>2]|0;if((g|0)!=(c[p>>2]|0))break f;g=c[b>>2]|0;h=g+12|0;r=c[h>>2]|0;if((r|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=22;break b}}else c[h>>2]=r+4;p=p+4|0;g=a[X>>0]|0;x=(g&1)==0;g=(x?B:c[A>>2]|0)+((x?(g&255)>>>1:c[B>>2]|0)<<2)|0;if((p|0)==(g|0)){p=g;break}else{r=f;h=t}}}while(0);if(z?(x=a[X>>0]|0,w=(x&1)==0,(p|0)!=((w?B:c[A>>2]|0)+((w?(x&255)>>>1:c[B>>2]|0)<<2)|0)):0){R=148;break b}else p=q;break}case 4:{v=c[Q>>2]|0;u=x;r=x;p=q;f=0;g:while(1){g=c[b>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=25;break b}}else g=c[h>>2]|0;if((g|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);do if(r){g=c[r+12>>2]|0;if((g|0)==(c[r+16>>2]|0)){o=0;g=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=25;break b}}else g=c[g>>2]|0;if((g|0)!=-1)if(h^(u|0)==0){g=u;t=u;break}else{q=u;break g}else{c[e>>2]=0;g=0;R=162;break}}else{g=u;R=162}while(0);if((R|0)==162){R=0;if(h){q=g;break}else t=0}h=c[b>>2]|0;q=c[h+12>>2]|0;if((q|0)==(c[h+16>>2]|0)){o=0;h=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=25;break b}}else h=c[q>>2]|0;o=0;q=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,2048,h|0)|0;x=o;o=0;if(x&1){R=25;break b}if(q){q=c[n>>2]|0;if((q|0)==(c[K>>2]|0)){o=0;wa(14,m|0,n|0,K|0);x=o;o=0;if(x&1){R=25;break b}q=c[n>>2]|0}c[n>>2]=q+4;c[q>>2]=h;f=f+1|0}else{x=a[T>>0]|0;if(!((h|0)==(v|0)&((f|0)!=0?(((x&1)==0?(x&255)>>>1:c[F>>2]|0)|0)!=0:0))){q=g;break}if((p|0)==(c[N>>2]|0)){o=0;wa(13,_|0,O|0,N|0);x=o;o=0;if(x&1){R=25;break b}p=c[O>>2]|0}x=p+4|0;c[O>>2]=x;c[p>>2]=f;p=x;f=0}h=c[b>>2]|0;q=h+12|0;r=c[q>>2]|0;if((r|0)==(c[h+16>>2]|0)){o=0;ka(c[(c[h>>2]|0)+40>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=25;break b}else{u=g;r=t;continue}}else{c[q>>2]=r+4;u=g;r=t;continue}}if((f|0)!=0?(c[_>>2]|0)!=(p|0):0){if((p|0)==(c[N>>2]|0)){o=0;wa(13,_|0,O|0,N|0);x=o;o=0;if(x&1){R=26;break b}p=c[O>>2]|0}x=p+4|0;c[O>>2]=x;c[p>>2]=f;p=x}t=c[M>>2]|0;if((t|0)>0){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(q){f=c[q+12>>2]|0;if((f|0)==(c[q+16>>2]|0)){o=0;f=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g)break;else{R=206;break b}else{c[e>>2]=0;R=200;break}}else R=200;while(0);if((R|0)==200){R=0;if(g){R=206;break b}else q=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[g>>2]|0;if((f|0)!=(c[L>>2]|0)){R=206;break b}f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;if((h|0)==(c[f+16>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[g>>2]=h+4;if((t|0)>0){r=q;h=q;u=t;while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=24;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=24;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(r|0)==0){f=r;t=r;break}else{R=231;break b}else{c[e>>2]=0;f=0;R=224;break}}else{f=r;R=224}while(0);if((R|0)==224){R=0;if(g){R=231;break b}else t=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=24;break b}}else g=c[h>>2]|0;o=0;g=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,2048,g|0)|0;x=o;o=0;if(x&1){R=24;break b}if(!g){R=231;break b}if((c[n>>2]|0)==(c[K>>2]|0)?(o=0,wa(14,m|0,n|0,K|0),x=o,o=0,x&1):0){R=24;break b}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=24;break b}}else g=c[h>>2]|0;h=c[n>>2]|0;c[n>>2]=h+4;c[h>>2]=g;g=u;u=u+-1|0;c[M>>2]=u;h=c[b>>2]|0;q=h+12|0;r=c[q>>2]|0;if((r|0)==(c[h+16>>2]|0)){o=0;ka(c[(c[h>>2]|0)+40>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=24;break b}}else c[q>>2]=r+4;if((g|0)<=1)break;else{r=f;h=t}}}}if((c[n>>2]|0)==(c[m>>2]|0)){R=242;break b}break}default:p=q}while(0);h:do if((R|0)==44)while(1){R=0;f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=21;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=21;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(p|0)==0){r=p;h=p;break}else{p=q;break h}else{c[e>>2]=0;p=0;R=57;break}}else R=57;while(0);if((R|0)==57){R=0;if(g){p=q;break h}else{r=p;h=0}}p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=21;break b}}else p=c[f>>2]|0;o=0;p=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,p|0)|0;x=o;o=0;if(x&1){R=21;break b}if(!p){p=q;break h}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=21;break b}}else{c[f>>2]=g+4;p=c[g>>2]|0}o=0;ia(92,W|0,p|0);R=o;o=0;if(R&1){R=21;break b}else{p=r;R=44}}while(0);y=y+1|0;if(y>>>0>=4){t=p;R=244;break}else q=p}i:switch(R|0){case 21:{f=Na()|0;break a}case 22:{f=Na()|0;break a}case 23:{f=Na()|0;break a}case 24:{f=Na()|0;break a}case 25:{f=Na()|0;break a}case 26:{f=Na()|0;break a}case 42:{c[j>>2]=c[j>>2]|4;f=0;break}case 107:{c[j>>2]=c[j>>2]|4;f=0;break}case 148:{c[j>>2]=c[j>>2]|4;f=0;break}case 206:{c[j>>2]=c[j>>2]|4;f=0;break}case 231:{c[j>>2]=c[j>>2]|4;f=0;break}case 242:{c[j>>2]=c[j>>2]|4;f=0;break}case 244:{j:do if(s){q=s+4|0;r=s+8|0;h=1;k:while(1){p=a[s>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[q>>2]|0;if(h>>>0>=p>>>0)break j;p=c[b>>2]|0;do if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break k}}else p=c[f>>2]|0;if((p|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);p=c[e>>2]|0;do if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break k}}else p=c[f>>2]|0;if((p|0)!=-1)if(g)break;else{R=271;break k}else{c[e>>2]=0;R=263;break}}else R=263;while(0);if((R|0)==263?(R=0,g):0){R=271;break}p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break}}else p=c[f>>2]|0;if(!(a[s>>0]&1))f=q;else f=c[r>>2]|0;if((p|0)!=(c[f+(h<<2)>>2]|0)){R=271;break}p=h+1|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;if((h|0)==(c[f+16>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;n=o;o=0;if(n&1){R=20;break}else{h=p;continue}}else{c[g>>2]=h+4;h=p;continue}}if((R|0)==20){f=Na()|0;break a}else if((R|0)==271){c[j>>2]=c[j>>2]|4;f=0;break i}}while(0);p=c[_>>2]|0;if((p|0)!=(t|0)?(c[S>>2]=0,Ur(T,p,t,S),(c[S>>2]|0)!=0):0){c[j>>2]=c[j>>2]|4;f=0}else f=1;break}}Wm(W);Wm(U);Wm(V);Wm(X);Im(T);p=c[_>>2]|0;c[_>>2]=0;if((p|0)!=0?(o=0,ha(c[Z>>2]|0,p|0),_=o,o=0,_&1):0){_=Na(0)|0;ec(_)}i=Y;return f|0}while(0);Wm(W);Wm(U);Wm(V);Wm(X);Im(T);p=c[_>>2]|0;c[_>>2]=0;if((p|0)!=0?(o=0,ha(c[Z>>2]|0,p|0),_=o,o=0,_&1):0){_=Na(0)|0;ec(_)}Ya(f|0);return 0}function Zr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=i;i=i+432|0;k=w+424|0;b=w+24|0;y=w+16|0;s=w+8|0;p=w+4|0;q=w+428|0;l=w;c[y>>2]=b;A=y+4|0;c[A>>2]=189;m=b+400|0;o=0;v=ka(68,g|0)|0;n=o;o=0;if(!(n&1)){c[p>>2]=v;o=0;n=ra(37,p|0,44212)|0;b=o;o=0;a:do if(!(b&1)?(a[q>>0]=0,t=c[e>>2]|0,c[l>>2]=t,r=c[g+4>>2]|0,u=t,o=0,c[k>>2]=c[l>>2],r=la(2,d|0,k|0,f|0,p|0,r|0,h|0,q|0,n|0,y|0,s|0,m|0)|0,g=o,o=0,!(g&1)):0){if(r){if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;if(a[q>>0]|0){o=0;b=ra(c[(c[n>>2]|0)+44>>2]|0,n|0,45)|0;g=o;o=0;if(g&1)break;o=0;ia(92,j|0,b|0);g=o;o=0;if(g&1)break}o=0;l=ra(c[(c[n>>2]|0)+44>>2]|0,n|0,48)|0;g=o;o=0;if(g&1)break;b=c[y>>2]|0;m=c[s>>2]|0;k=m+-4|0;b:do if(b>>>0>>0)do{if((c[b>>2]|0)!=(l|0))break b;b=b+4|0}while(b>>>0>>0);while(0);o=0;ma(33,j|0,b|0,m|0)|0;j=o;o=0;if(j&1)break}b=c[d>>2]|0;do if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1)break a}else b=c[k>>2]|0;if((b|0)==-1){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);do if(t){b=c[u+12>>2]|0;if((b|0)==(c[u+16>>2]|0)){o=0;b=ka(c[(c[t>>2]|0)+36>>2]|0,u|0)|0;u=o;o=0;if(u&1)break a}else b=c[b>>2]|0;if((b|0)!=-1)if(k)break;else{z=32;break}else{c[e>>2]=0;z=30;break}}else z=30;while(0);if((z|0)==30?k:0)z=32;if((z|0)==32)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(v)|0;b=c[y>>2]|0;c[y>>2]=0;if((b|0)!=0?(o=0,ha(c[A>>2]|0,b|0),A=o,o=0,A&1):0){A=Na(0)|0;ec(A)}i=w;return k|0}while(0);k=Na()|0;pm(v)|0;b=c[y>>2]|0;c[y>>2]=0;if(!b)x=k;else z=38}else{k=Na()|0;c[y>>2]=0;z=38}if((z|0)==38){o=0;ha(c[A>>2]|0,b|0);A=o;o=0;if(A&1){A=Na(0)|0;ec(A)}else x=k}Ya(x|0);return 0}function _r(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+100|0;p=z+88|0;q=z+76|0;r=z+64|0;s=z+52|0;t=z+48|0;u=z+36|0;v=z+24|0;w=z+12|0;x=z;do if(b){b=Is(d,43956)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](n,b);x=c[n>>2]|0;a[e>>0]=x;a[e+1>>0]=x>>8;a[e+2>>0]=x>>16;a[e+3>>0]=x>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)};c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Wm(p);Cb[c[(c[b>>2]|0)+28>>2]&127](q,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)};c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Wm(q);c[f>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](r,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)};c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);Cb[c[(c[b>>2]|0)+24>>2]&127](s,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;o=0;ia(93,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Wm(s);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(d,43892)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](t,b);t=c[t>>2]|0;a[e>>0]=t;a[e+1>>0]=t>>8;a[e+2>>0]=t>>16;a[e+3>>0]=t>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](u,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)};c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Wm(u);Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)};c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Wm(v);c[f>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](w,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)};c[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[b>>2]|0)+24>>2]&127](x,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;o=0;ia(93,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Wm(x);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}while(0);c[m>>2]=y;i=z;return}function $r(a){a=a|0;return}function as(a){a=a|0;cj(a);return}function bs(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,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;D=i;i=i+384|0;v=D+8|0;k=D;m=D+284|0;n=D+72|0;l=D+184|0;F=D+68|0;A=D+80|0;x=D+77|0;B=D+76|0;G=D+56|0;I=D+44|0;H=D+32|0;p=D+28|0;u=D+84|0;z=D+24|0;y=D+20|0;w=D+16|0;c[n>>2]=m;h[v>>3]=j;m=_k(m,100,59018,v)|0;do if(m>>>0>99){o=0;b=ua(3)|0;C=o;o=0;if(!(C&1)?(o=0,h[k>>3]=j,s=va(17,n|0,b|0,59018,k|0)|0,C=o,o=0,!(C&1)):0){b=c[n>>2]|0;if(!b){o=0;xa(6);C=o;o=0;if(C&1){b=0;k=0;C=7;break}b=c[n>>2]|0}l=Fl(s)|0;k=l;if(!l){o=0;xa(6);C=o;o=0;if(C&1)C=7;else{t=0;C=10}}else{t=l;C=10}}else{b=0;k=0;C=7}}else{k=0;b=0;t=l;s=m;C=10}while(0);if((C|0)==10){o=0;l=ka(68,f|0)|0;r=o;o=0;if(r&1)C=7;else{c[F>>2]=l;o=0;r=ra(37,F|0,44220)|0;q=o;o=0;if(!(q&1)?(q=c[n>>2]|0,o=0,va(c[(c[r>>2]|0)+32>>2]|0,r|0,q|0,q+s|0,t|0)|0,q=o,o=0,!(q&1)):0){if(!s)q=0;else q=(a[c[n>>2]>>0]|0)==45;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;o=0;qa(3,e|0,q|0,F|0,A|0,x|0,B|0,G|0,I|0,H|0,p|0);e=o;o=0;if(!(e&1)){p=c[p>>2]|0;if((s|0)>(p|0)){e=a[H>>0]|0;m=a[I>>0]|0;m=(s-p<<1|1)+p+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}else{e=a[H>>0]|0;m=a[I>>0]|0;m=p+2+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}if(m>>>0>100){m=Fl(m)|0;n=m;if(!m){o=0;xa(6);u=o;o=0;if(!(u&1)){m=0;C=26}}else C=26}else{n=0;m=u;C=26}if((C|0)==26){o=0;na(1,m|0,z|0,y|0,c[f+4>>2]|0,t|0,t+s|0,r|0,q|0,A|0,a[x>>0]|0,a[B>>0]|0,G|0,I|0,H|0,p|0);B=o;o=0;if(!(B&1)?(c[w>>2]=c[d>>2],d=c[z>>2]|0,E=c[y>>2]|0,o=0,c[v>>2]=c[w>>2],E=ja(39,v|0,m|0,d|0,E|0,f|0,g|0)|0,d=o,o=0,!(d&1)):0){if(n){Gl(n);l=c[F>>2]|0}Im(H);Im(I);Im(G);pm(l)|0;if(k)Gl(k);if(b)Gl(b);i=D;return E|0}}m=Na()|0;if(n){Gl(n);l=c[F>>2]|0}}else m=Na()|0;Im(H);Im(I);Im(G)}else m=Na()|0;pm(l)|0}}if((C|0)==7)m=Na()|0;if(k)Gl(k);if(b)Gl(b);Ya(m|0);return 0}function cs(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,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;D=i;i=i+112|0;q=D+108|0;r=D+96|0;u=D+92|0;v=D+80|0;w=D+68|0;x=D+56|0;y=D+52|0;z=D+40|0;A=D+36|0;B=D+24|0;s=D+12|0;t=D;do if(b){b=Is(e,43828)|0;e=c[b>>2]|0;do if(d){Cb[c[e+44>>2]&127](q,b);d=c[q>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](r,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);p=b;break}}else{Cb[c[e+40>>2]&127](u,b);d=c[u>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[v>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Im(v);p=b;break}}while(0);a[g>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[h>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[p>>2]|0)+20>>2]&127](w,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)};c[j>>2]=c[w>>2];c[j+4>>2]=c[w+4>>2];c[j+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[p>>2]|0)+24>>2]&127](x,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[x>>2];c[k+4>>2]=c[x+4>>2];c[k+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Im(x);C=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(e,43764)|0;e=c[b>>2]|0;do if(d){Cb[c[e+44>>2]&127](y,b);d=c[y>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](z,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[z>>2];c[l+4>>2]=c[z+4>>2];c[l+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;Im(z);n=b;break}}else{Cb[c[e+40>>2]&127](A,b);d=c[A>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](B,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[B>>2];c[l+4>>2]=c[B+4>>2];c[l+8>>2]=c[B+8>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;Im(B);n=b;break}}while(0);a[g>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[h>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[n>>2]|0)+20>>2]&127](s,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)};c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Im(s);Cb[c[(c[n>>2]|0)+24>>2]&127](t,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[t>>2];c[k+4>>2]=c[t+4>>2];c[k+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Im(t);C=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}while(0);c[m>>2]=C;i=D;return}function ds(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;c[f>>2]=d;N=q+4|0;O=q+8|0;P=q+1|0;H=p+4|0;I=(g&512|0)==0;J=p+8|0;K=p+1|0;L=j+8|0;M=(r|0)>0;A=o+4|0;B=o+8|0;C=o+1|0;D=r+1|0;F=-2-r-((r|0)<0?~r:-1)|0;G=(r|0)>0;z=0;do{switch(a[l+z>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];x=Lb[c[(c[j>>2]|0)+28>>2]&63](j,32)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;break}case 3:{y=a[q>>0]|0;s=(y&1)==0;if((s?(y&255)>>>1:c[N>>2]|0)|0){x=a[(s?P:c[O>>2]|0)>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}break}case 2:{u=a[p>>0]|0;s=(u&1)==0;u=s?(u&255)>>>1:c[H>>2]|0;if(!(I|(u|0)==0)){t=s?K:c[J>>2]|0;v=t+u|0;s=c[f>>2]|0;if(u)do{a[s>>0]=a[t>>0]|0;t=t+1|0;s=s+1|0}while((t|0)!=(v|0));c[f>>2]=s}break}case 4:{s=c[f>>2]|0;h=k?h+1|0:h;w=h;v=c[L>>2]|0;a:do if(h>>>0>>0){t=h;do{u=a[t>>0]|0;if(u<<24>>24<=-1)break a;if(!(b[v+(u<<24>>24<<1)>>1]&2048))break a;t=t+1|0}while(t>>>0>>0)}else t=h;while(0);u=t;if(M){x=-2-u-~(u>>>0>w>>>0?w:u)|0;x=F>>>0>x>>>0?F:x;if(t>>>0>h>>>0&G){u=t;w=r;while(1){u=u+-1|0;y=a[u>>0]|0;v=c[f>>2]|0;c[f>>2]=v+1;a[v>>0]=y;v=(w|0)>1;if(!(u>>>0>h>>>0&v))break;else w=w+-1|0}}else v=G;y=D+x|0;u=t+(x+1)|0;if(v)w=Lb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;else w=0;t=c[f>>2]|0;c[f>>2]=t+1;if((y|0)>0){v=y;while(1){a[t>>0]=w;t=c[f>>2]|0;c[f>>2]=t+1;if((v|0)>1)v=v+-1|0;else break}}a[t>>0]=m}else u=t;if((u|0)!=(h|0)){y=a[o>>0]|0;t=(y&1)==0;if(!((t?(y&255)>>>1:c[A>>2]|0)|0))t=-1;else t=a[(t?C:c[B>>2]|0)>>0]|0;if((u|0)!=(h|0)){v=0;w=0;while(1){if((w|0)==(t|0)){y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=n;v=v+1|0;y=a[o>>0]|0;t=(y&1)==0;if(v>>>0<(t?(y&255)>>>1:c[A>>2]|0)>>>0){t=a[(t?C:c[B>>2]|0)+v>>0]|0;t=t<<24>>24==127?-1:t<<24>>24;w=0}else{t=w;w=0}}u=u+-1|0;x=a[u>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;if((u|0)==(h|0))break;else w=w+1|0}}}else{x=Lb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}t=c[f>>2]|0;if((s|0)!=(t|0)?(E=t+-1|0,s>>>0>>0):0){t=E;do{y=a[s>>0]|0;a[s>>0]=a[t>>0]|0;a[t>>0]=y;s=s+1|0;t=t+-1|0}while(s>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);t=a[q>>0]|0;h=(t&1)==0;t=h?(t&255)>>>1:c[N>>2]|0;if(t>>>0>1){s=h?P:c[O>>2]|0;u=s+t|0;h=c[f>>2]|0;if((t|0)!=1){s=s+1|0;do{a[h>>0]=a[s>>0]|0;h=h+1|0;s=s+1|0}while((s|0)!=(u|0))}c[f>>2]=h}switch(g&176|0){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function es(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,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;z=i;i=i+176|0;r=z+56|0;B=z+52|0;x=z+64|0;u=z+61|0;y=z+60|0;C=z+40|0;E=z+28|0;D=z+16|0;m=z+12|0;q=z+68|0;w=z+8|0;v=z+4|0;s=z;b=jn(f)|0;c[B>>2]=b;o=0;t=ra(37,B|0,44220)|0;p=o;o=0;do if(p&1)F=13;else{n=a[h>>0]|0;j=(n&1)==0;p=h+4|0;if(!((j?(n&255)>>>1:c[p>>2]|0)|0))n=0;else{j=a[(j?h+1|0:c[h+8>>2]|0)>>0]|0;o=0;k=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,45)|0;n=o;o=0;if(n&1){F=13;break}n=j<<24>>24==k<<24>>24}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;qa(3,e|0,n|0,B|0,x|0,u|0,y|0,C|0,E|0,D|0,m|0);l=o;o=0;if(!(l&1)){l=a[h>>0]|0;e=c[p>>2]|0;j=(l&1)==0?(l&255)>>>1:e;m=c[m>>2]|0;if((j|0)>(m|0)){G=a[D>>0]|0;k=a[E>>0]|0;j=(j-m<<1|1)+m+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{G=a[D>>0]|0;j=a[E>>0]|0;j=m+2+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[E+4>>2]|0)|0}if(j>>>0>100){j=Fl(j)|0;k=j;if(!j){o=0;xa(6);G=o;o=0;if(!(G&1)){l=a[h>>0]|0;e=c[p>>2]|0;j=0;F=17}}else F=17}else{k=0;j=q;F=17}if((F|0)==17){G=(l&1)==0;h=G?h+1|0:c[h+8>>2]|0;o=0;na(1,j|0,w|0,v|0,c[f+4>>2]|0,h|0,h+(G?(l&255)>>>1:e)|0,t|0,n|0,x|0,a[u>>0]|0,a[y>>0]|0,C|0,E|0,D|0,m|0);G=o;o=0;if(!(G&1)?(c[s>>2]=c[d>>2],G=c[w>>2]|0,A=c[v>>2]|0,o=0,c[r>>2]=c[s>>2],A=ja(39,r|0,j|0,G|0,A|0,f|0,g|0)|0,G=o,o=0,!(G&1)):0){if(k){Gl(k);b=c[B>>2]|0}Im(D);Im(E);Im(C);pm(b)|0;i=z;return A|0}}j=Na()|0;if(k){Gl(k);b=c[B>>2]|0}}else j=Na()|0;Im(D);Im(E);Im(C)}while(0);if((F|0)==13)j=Na()|0;pm(b)|0;Ya(j|0);return 0}function fs(a){a=a|0;return}function gs(a){a=a|0;cj(a);return}function hs(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,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;D=i;i=i+992|0;v=D+8|0;k=D;m=D+888|0;n=D+880|0;l=D+480|0;F=D+76|0;A=D+884|0;x=D+72|0;B=D+68|0;G=D+56|0;I=D+44|0;H=D+32|0;p=D+28|0;u=D+80|0;z=D+24|0;y=D+20|0;w=D+16|0;c[n>>2]=m;h[v>>3]=j;m=_k(m,100,59018,v)|0;do if(m>>>0>99){o=0;b=ua(3)|0;C=o;o=0;if(!(C&1)?(o=0,h[k>>3]=j,s=va(17,n|0,b|0,59018,k|0)|0,C=o,o=0,!(C&1)):0){b=c[n>>2]|0;if(!b){o=0;xa(6);C=o;o=0;if(C&1){b=0;k=0;C=7;break}b=c[n>>2]|0}l=Fl(s<<2)|0;k=l;if(!l){o=0;xa(6);C=o;o=0;if(C&1)C=7;else{t=0;C=10}}else{t=l;C=10}}else{b=0;k=0;C=7}}else{k=0;b=0;t=l;s=m;C=10}while(0);if((C|0)==10){o=0;l=ka(68,f|0)|0;r=o;o=0;if(r&1)C=7;else{c[F>>2]=l;o=0;r=ra(37,F|0,44212)|0;q=o;o=0;if(!(q&1)?(q=c[n>>2]|0,o=0,va(c[(c[r>>2]|0)+48>>2]|0,r|0,q|0,q+s|0,t|0)|0,q=o,o=0,!(q&1)):0){if(!s)q=0;else q=(a[c[n>>2]>>0]|0)==45;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;o=0;qa(4,e|0,q|0,F|0,A|0,x|0,B|0,G|0,I|0,H|0,p|0);e=o;o=0;if(!(e&1)){p=c[p>>2]|0;if((s|0)>(p|0)){e=a[H>>0]|0;m=a[I>>0]|0;m=(s-p<<1|1)+p+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}else{e=a[H>>0]|0;m=a[I>>0]|0;m=p+2+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}if(m>>>0>100){m=Fl(m<<2)|0;n=m;if(!m){o=0;xa(6);u=o;o=0;if(!(u&1)){m=0;C=26}}else C=26}else{n=0;m=u;C=26}if((C|0)==26){o=0;na(2,m|0,z|0,y|0,c[f+4>>2]|0,t|0,t+(s<<2)|0,r|0,q|0,A|0,c[x>>2]|0,c[B>>2]|0,G|0,I|0,H|0,p|0);B=o;o=0;if(!(B&1)?(c[w>>2]=c[d>>2],d=c[z>>2]|0,E=c[y>>2]|0,o=0,c[v>>2]=c[w>>2],E=ja(40,v|0,m|0,d|0,E|0,f|0,g|0)|0,d=o,o=0,!(d&1)):0){if(n){Gl(n);l=c[F>>2]|0}Wm(H);Wm(I);Im(G);pm(l)|0;if(k)Gl(k);if(b)Gl(b);i=D;return E|0}}m=Na()|0;if(n){Gl(n);l=c[F>>2]|0}}else m=Na()|0;Wm(H);Wm(I);Im(G)}else m=Na()|0;pm(l)|0}}if((C|0)==7)m=Na()|0;if(k)Gl(k);if(b)Gl(b);Ya(m|0);return 0}function is(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+112|0;n=B+108|0;p=B+96|0;s=B+92|0;t=B+80|0;u=B+68|0;v=B+56|0;w=B+52|0;x=B+40|0;y=B+36|0;z=B+24|0;q=B+12|0;r=B;do if(b){b=Is(e,43956)|0;e=c[b>>2]|0;do if(d){Cb[c[e+44>>2]&127](n,b);d=c[n>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Wm(p);break}}else{Cb[c[e+40>>2]&127](s,b);d=c[s>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](t,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[t>>2];c[l+4>>2]=c[t+4>>2];c[l+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Wm(t);break}}while(0);c[g>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](u,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)};c[j>>2]=c[u>>2];c[j+4>>2]=c[u+4>>2];c[j+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Im(u);Cb[c[(c[b>>2]|0)+24>>2]&127](v,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Wm(v);A=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(e,43892)|0;e=c[b>>2]|0;do if(d){Cb[c[e+44>>2]&127](w,b);d=c[w>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](x,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[x>>2];c[l+4>>2]=c[x+4>>2];c[l+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Wm(x);break}}else{Cb[c[e+40>>2]&127](y,b);d=c[y>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](z,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[z>>2];c[l+4>>2]=c[z+4>>2];c[l+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;Wm(z);break}}while(0);c[g>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](q,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)};c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Im(q);Cb[c[(c[b>>2]|0)+24>>2]&127](r,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[r>>2];c[k+4>>2]=c[r+4>>2];c[k+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Wm(r);A=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}while(0);c[m>>2]=A;i=B;return}function js(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;c[e>>2]=b;J=p+4|0;K=p+8|0;C=o+4|0;D=(f&512|0)==0;E=o+8|0;F=(q|0)>0;G=n+4|0;H=n+8|0;I=n+1|0;A=(q|0)>0;z=0;do{switch(a[k+z>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];x=Lb[c[(c[i>>2]|0)+44>>2]&63](i,32)|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x;break}case 3:{y=a[p>>0]|0;r=(y&1)==0;if((r?(y&255)>>>1:c[J>>2]|0)|0){x=c[(r?J:c[K>>2]|0)>>2]|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x}break}case 2:{v=a[o>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:c[C>>2]|0;if(!(D|(v|0)==0)){r=r?C:c[E>>2]|0;t=r+(v<<2)|0;u=c[e>>2]|0;if(v){s=u;while(1){c[s>>2]=c[r>>2];r=r+4|0;if((r|0)==(t|0))break;else s=s+4|0}}c[e>>2]=u+(v<<2)}break}case 4:{r=c[e>>2]|0;g=j?g+4|0:g;a:do if(g>>>0>>0){s=g;do{if(!(Gb[c[(c[i>>2]|0)+12>>2]&63](i,2048,c[s>>2]|0)|0))break a;s=s+4|0}while(s>>>0>>0)}else s=g;while(0);if(F){if(s>>>0>g>>>0&A){v=c[e>>2]|0;u=q;while(1){s=s+-4|0;t=v+4|0;c[v>>2]=c[s>>2];w=u+-1|0;u=(u|0)>1;if(s>>>0>g>>>0&u){v=t;u=w}else{v=w;break}}c[e>>2]=t;t=v}else{u=A;t=q}if(u)w=Lb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;else w=0;x=c[e>>2]|0;u=t+((t|0)<0?~t:-1)|0;if((t|0)>0){v=x;while(1){c[v>>2]=w;if((t|0)>1){v=v+4|0;t=t+-1|0}else break}}c[e>>2]=x+(u+2<<2);c[x+(u+1<<2)>>2]=l}if((s|0)==(g|0)){x=Lb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;y=c[e>>2]|0;s=y+4|0;c[e>>2]=s;c[y>>2]=x}else{x=a[n>>0]|0;t=(x&1)==0;y=c[G>>2]|0;if(!((t?(x&255)>>>1:y)|0))t=-1;else t=a[(t?I:c[H>>2]|0)>>0]|0;if((s|0)!=(g|0)){w=0;x=0;while(1){u=c[e>>2]|0;if((x|0)==(t|0)){v=u+4|0;c[e>>2]=v;c[u>>2]=m;w=w+1|0;u=a[n>>0]|0;t=(u&1)==0;if(w>>>0<(t?(u&255)>>>1:y)>>>0){t=a[(t?I:c[H>>2]|0)+w>>0]|0;u=v;t=t<<24>>24==127?-1:t<<24>>24;v=0}else{u=v;t=x;v=0}}else v=x;s=s+-4|0;x=c[s>>2]|0;c[e>>2]=u+4;c[u>>2]=x;if((s|0)==(g|0))break;else x=v+1|0}}s=c[e>>2]|0}if((r|0)!=(s|0)?(B=s+-4|0,r>>>0>>0):0){s=B;do{y=c[r>>2]|0;c[r>>2]=c[s>>2];c[s>>2]=y;r=r+4|0;s=s+-4|0}while(r>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);r=a[p>>0]|0;g=(r&1)==0;r=g?(r&255)>>>1:c[J>>2]|0;if(r>>>0>1){s=g?J:c[K>>2]|0;g=s+4|0;s=s+(r<<2)|0;t=c[e>>2]|0;u=s-g|0;if((r|0)!=1){r=t;while(1){c[r>>2]=c[g>>2];g=g+4|0;if((g|0)==(s|0))break;else r=r+4|0}}c[e>>2]=t+(u>>>2<<2)}switch(f&176|0){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function ks(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,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;z=i;i=i+480|0;q=z+468|0;B=z+464|0;x=z+472|0;u=z+56|0;y=z+52|0;C=z+40|0;E=z+28|0;D=z+16|0;m=z+12|0;p=z+64|0;w=z+8|0;v=z+4|0;r=z;b=jn(f)|0;c[B>>2]=b;o=0;s=ra(37,B|0,44212)|0;t=o;o=0;do if(t&1)F=13;else{n=a[h>>0]|0;j=(n&1)==0;t=h+4|0;if(!((j?(n&255)>>>1:c[t>>2]|0)|0))n=0;else{j=c[(j?t:c[h+8>>2]|0)>>2]|0;o=0;k=ra(c[(c[s>>2]|0)+44>>2]|0,s|0,45)|0;n=o;o=0;if(n&1){F=13;break}n=(j|0)==(k|0)}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;qa(4,e|0,n|0,B|0,x|0,u|0,y|0,C|0,E|0,D|0,m|0);l=o;o=0;if(!(l&1)){l=a[h>>0]|0;e=c[t>>2]|0;j=(l&1)==0?(l&255)>>>1:e;m=c[m>>2]|0;if((j|0)>(m|0)){G=a[D>>0]|0;k=a[E>>0]|0;j=(j-m<<1|1)+m+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{G=a[D>>0]|0;j=a[E>>0]|0;j=m+2+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[E+4>>2]|0)|0}if(j>>>0>100){j=Fl(j<<2)|0;k=j;if(!j){o=0;xa(6);G=o;o=0;if(!(G&1)){l=a[h>>0]|0;e=c[t>>2]|0;j=0;F=17}}else F=17}else{k=0;j=p;F=17}if((F|0)==17){G=(l&1)==0;h=G?t:c[h+8>>2]|0;o=0;na(2,j|0,w|0,v|0,c[f+4>>2]|0,h|0,h+((G?(l&255)>>>1:e)<<2)|0,s|0,n|0,x|0,c[u>>2]|0,c[y>>2]|0,C|0,E|0,D|0,m|0);G=o;o=0;if(!(G&1)?(c[r>>2]=c[d>>2],G=c[w>>2]|0,A=c[v>>2]|0,o=0,c[q>>2]=c[r>>2],A=ja(40,q|0,j|0,G|0,A|0,f|0,g|0)|0,G=o,o=0,!(G&1)):0){if(k){Gl(k);b=c[B>>2]|0}Wm(D);Wm(E);Im(C);pm(b)|0;i=z;return A|0}}j=Na()|0;if(k){Gl(k);b=c[B>>2]|0}}else j=Na()|0;Wm(D);Wm(E);Im(C)}while(0);if((F|0)==13)j=Na()|0;pm(b)|0;Ya(j|0);return 0}function ls(a){a=a|0;return}function ms(a){a=a|0;cj(a);return}function ns(b,d,e){b=b|0;d=d|0;e=e|0;b=lk((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function os(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;k=i;i=i+16|0;l=k;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;j=a[h>>0]|0;m=(j&1)==0;d=m?h+1|0:c[h+8>>2]|0;j=m?(j&255)>>>1:c[h+4>>2]|0;h=d+j|0;a:do if((j|0)>0){while(1){o=0;ia(67,l|0,a[d>>0]|0);m=o;o=0;if(m&1)break;d=d+1|0;if(d>>>0>=h>>>0){j=4;break a}}d=Na()|0;j=7}else j=4;while(0);b:do if((j|0)==4){o=0;d=va(19,((e|0)==-1?-1:e<<1)|0,f|0,g|0,((a[l>>0]&1)==0?l+1|0:c[l+8>>2]|0)|0)|0;m=o;o=0;if(m&1){d=Na()|0;j=7;break}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;m=nl(d)|0;h=d+m|0;c:do if((m|0)>0){while(1){o=0;ia(67,b|0,a[d>>0]|0);m=o;o=0;if(m&1)break;d=d+1|0;if(d>>>0>=h>>>0)break c}d=Na()|0;Im(b);break b}while(0);Im(l);i=k;return}while(0);Im(l);Ya(d|0)}function ps(a,b){a=a|0;b=b|0;return}function qs(a){a=a|0;return}function rs(a){a=a|0;cj(a);return}function ss(b,d,e){b=b|0;d=d|0;e=e|0;b=lk((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function ts(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=i;i=i+224|0;p=w+184|0;n=w+192|0;m=w+180|0;q=w+176|0;u=w+168|0;t=w+40|0;s=w+32|0;v=w+28|0;x=w+16|0;l=w+8|0;r=w;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[l+4>>2]=0;c[l>>2]=44696;k=a[h>>0]|0;y=(k&1)==0;j=h+4|0;d=y?j:c[h+8>>2]|0;h=y?(k&255)>>>1:c[j>>2]|0;j=d+(h<<2)|0;k=n+32|0;a:do if((h|0)>0){b:while(1){c[q>>2]=d;o=0;h=ya(c[(c[l>>2]|0)+12>>2]|0,l|0,p|0,d|0,j|0,q|0,n|0,k|0,m|0)|0;y=o;o=0;if(y&1){h=12;break}if((h|0)==2?1:(c[q>>2]|0)==(d|0)){h=5;break}if(n>>>0<(c[m>>2]|0)>>>0){d=n;do{o=0;ia(67,x|0,a[d>>0]|0);y=o;o=0;if(y&1){h=11;break b}d=d+1|0}while(d>>>0<(c[m>>2]|0)>>>0)}d=c[q>>2]|0;if(!((h|0)!=2&d>>>0>>0)){h=9;break a}}if((h|0)==5){o=0;ha(190,58955);o=0;d=Na()|0}else if((h|0)==11)d=Na()|0;else if((h|0)==12)d=Na()|0}else h=9;while(0);c:do if((h|0)==9){o=0;d=va(19,((e|0)==-1?-1:e<<1)|0,f|0,g|0,((a[x>>0]&1)==0?x+1|0:c[x+8>>2]|0)|0)|0;y=o;o=0;if(y&1){d=Na()|0;break}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[r+4>>2]=0;c[r>>2]=44744;y=nl(d)|0;j=d+y|0;k=j;l=t+128|0;d:do if((y|0)>0){e:while(1){c[v>>2]=d;o=0;h=ya(c[(c[r>>2]|0)+16>>2]|0,r|0,u|0,d|0,((k-d|0)>32?d+32|0:j)|0,v|0,t|0,l|0,s|0)|0;y=o;o=0;if(y&1){h=24;break}if((h|0)==2?1:(c[v>>2]|0)==(d|0)){h=18;break}if(t>>>0<(c[s>>2]|0)>>>0){d=t;do{o=0;ia(92,b|0,c[d>>2]|0);y=o;o=0;if(y&1){h=23;break e}d=d+4|0}while(d>>>0<(c[s>>2]|0)>>>0)}d=c[v>>2]|0;if(!((h|0)!=2&d>>>0>>0))break d}if((h|0)==18){o=0;ha(190,58955);o=0;d=Na()|0}else if((h|0)==23)d=Na()|0;else if((h|0)==24)d=Na()|0;Wm(b);break c}while(0);Im(x);i=w;return}while(0);Im(x);Ya(d|0)}function us(a,b){a=a|0;b=b|0;return}function vs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;c[b+4>>2]=d+-1;c[b>>2]=44196;h=b+8|0;o=0;ia(94,h|0,28);g=o;o=0;if(g&1)d=Na()|0;else{g=b+144|0;o=0;wa(5,g|0,58885,1);f=o;o=0;if(f&1)d=Na()|0;else{e=c[h>>2]|0;f=b+12|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do d=d+-4|0;while((d|0)!=(e|0));c[f>>2]=d}c[495]=0;c[494]=43124;o=0;ia(95,b|0,1976);f=o;o=0;do if(((((((((((((!(f&1)?(c[497]=0,c[496]=43164,o=0,ia(96,b|0,1984),f=o,o=0,!(f&1)):0)?(c[499]=0,c[498]=44236,c[500]=0,a[2004]=0,c[500]=Os()|0,o=0,ia(97,b|0,1992),f=o,o=0,!(f&1)):0)?(c[503]=0,c[502]=44484,o=0,ia(98,b|0,2008),f=o,o=0,!(f&1)):0)?(c[505]=0,c[504]=44552,o=0,ia(99,b|0,2016),f=o,o=0,!(f&1)):0)?(o=0,ia(100,2024,1),f=o,o=0,!(f&1)):0)?(o=0,ia(101,b|0,2024),f=o,o=0,!(f&1)):0)?(c[511]=0,c[510]=44600,o=0,ia(102,b|0,2040),f=o,o=0,!(f&1)):0)?(c[513]=0,c[512]=44648,o=0,ia(103,b|0,2048),f=o,o=0,!(f&1)):0)?(Tt(2056,1),o=0,ia(104,b|0,2056),f=o,o=0,!(f&1)):0)?(Ut(2080,1),o=0,ia(105,b|0,2080),f=o,o=0,!(f&1)):0)?(c[529]=0,c[528]=43204,o=0,ia(106,b|0,2112),f=o,o=0,!(f&1)):0)?(c[531]=0,c[530]=43276,o=0,ia(107,b|0,2120),f=o,o=0,!(f&1)):0)?(c[533]=0,c[532]=43348,o=0,ia(108,b|0,2128),f=o,o=0,!(f&1)):0){c[535]=0;c[534]=43408;o=0;ia(109,b|0,2136);f=o;o=0;if(f&1){i=42;break}c[537]=0;c[536]=43716;o=0;ia(110,b|0,2144);f=o;o=0;if(f&1){i=42;break}c[539]=0;c[538]=43780;o=0;ia(111,b|0,2152);f=o;o=0;if(f&1){i=42;break}c[541]=0;c[540]=43844;o=0;ia(112,b|0,2160);f=o;o=0;if(f&1){i=42;break}c[543]=0;c[542]=43908;o=0;ia(113,b|0,2168);f=o;o=0;if(f&1){i=42;break}c[545]=0;c[544]=43972;o=0;ia(114,b|0,2176);f=o;o=0;if(f&1){i=42;break}c[547]=0;c[546]=44008;o=0;ia(115,b|0,2184);f=o;o=0;if(f&1){i=42;break}c[549]=0;c[548]=44044;o=0;ia(116,b|0,2192);f=o;o=0;if(f&1){i=42;break}c[551]=0;c[550]=44080;o=0;ia(117,b|0,2200);f=o;o=0;if(f&1){i=42;break}c[553]=0;c[552]=43468;c[554]=43516;o=0;ia(118,b|0,2208);f=o;o=0;if(f&1){i=42;break}c[557]=0;c[556]=43560;c[558]=43608;o=0;ia(119,b|0,2224);f=o;o=0;if(f&1){i=42;break}c[561]=0;c[560]=44464;o=0;d=ua(3)|0;f=o;o=0;if(f&1){d=Na()|0;break}c[562]=d;c[560]=43652;o=0;ia(120,b|0,2240);f=o;o=0;if(f&1){i=42;break}c[565]=0;c[564]=44464;o=0;d=ua(3)|0;f=o;o=0;if(f&1){d=Na()|0;break}c[566]=d;c[564]=43684;o=0;ia(121,b|0,2256);i=o;o=0;if(i&1){i=42;break}c[569]=0;c[568]=44116;o=0;ia(122,b|0,2272);i=o;o=0;if(i&1){i=42;break}c[571]=0;c[570]=44156;o=0;ia(123,b|0,2280);i=o;o=0;if(i&1){i=42;break}return}else i=42;while(0);if((i|0)==42)d=Na()|0;Im(g)}Dv(h)}Ya(d|0)}function ws(){var b=0;do if((a[2288]|0)==0?(Ha(2288)|0)!=0:0){o=0;ua(4)|0;b=o;o=0;if(b&1){b=Na()|0;sb(2288);Ya(b|0)}else{c[11246]=44980;Pa(2288);break}}while(0);return c[11246]|0}function xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;om(b);f=a+8|0;e=c[f>>2]|0;do if((c[a+12>>2]|0)-e>>2>>>0<=d>>>0){o=0;ia(124,f|0,d+1|0);a=o;o=0;if(!(a&1)){e=c[f>>2]|0;break}e=Na()|0;if(b)pm(b)|0;Ya(e|0)}while(0);a=c[e+(d<<2)>>2]|0;if(a){pm(a)|0;e=c[f>>2]|0}c[e+(d<<2)>>2]=b;return}function ys(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=44196;e=a+8|0;f=a+12|0;b=c[e>>2]|0;if((c[f>>2]|0)!=(b|0)){d=0;do{b=c[b+(d<<2)>>2]|0;if(b)pm(b)|0;d=d+1|0;b=c[e>>2]|0}while(d>>>0<(c[f>>2]|0)-b>>2>>>0)}Im(a+144|0);Dv(e);return}function zs(a){a=a|0;ys(a);cj(a);return}function As(a,b){a=a|0;b=b|0;if(Fv(a,b)|0)return c[(c[a+8>>2]|0)+(b<<2)>>2]|0;else{a=Ma(4)|0;qj(a);lb(a|0,640,82)}return 0}function Bs(){vs(2296,1);c[11245]=2296;return 44980}function Cs(){var a=0;a=c[(ws()|0)>>2]|0;c[11247]=a;om(a);return 44988}function Ds(){var b=0;do if((a[2456]|0)==0?(Ha(2456)|0)!=0:0){o=0;ua(5)|0;b=o;o=0;if(b&1){b=Na()|0;sb(2456);Ya(b|0)}else{c[11248]=44988;Pa(2456);break}}while(0);return c[11248]|0}function Es(a){a=a|0;var b=0,d=0;o=0;b=ua(6)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}else{d=c[b>>2]|0;c[a>>2]=d;om(d);return}}function Fs(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;om(b);return}function Gs(a){a=a|0;pm(c[a>>2]|0)|0;return}function Hs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((c[a>>2]|0)!=-1){c[b>>2]=a;c[b+4>>2]=191;c[b+8>>2]=0;Em(a,b,192)}i=d;return (c[a+4>>2]|0)+-1|0}function Is(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return As(a,Hs(b)|0)|0}function Js(a){a=a|0;cj(a);return}function Ks(a){a=a|0;if(a)Bb[c[(c[a>>2]|0)+4>>2]&255](a);return}function Ls(a){a=a|0;var b=0;b=c[11052]|0;c[11052]=b+1;c[a+4>>2]=b+1;return}function Ms(a){a=a|0;cj(a);return}function Ns(a,c,d){a=a|0;c=c|0;d=d|0;if(d>>>0<128)d=(b[(Os()|0)+(d<<1)>>1]&c)<<16>>16!=0;else d=0;return d|0}function Os(){var a=0,b=0;o=0;a=ua(7)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Ps(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;i=(f-d|0)>>>2;if((d|0)!=(f|0)){h=d;while(1){a=c[h>>2]|0;if(a>>>0<128)a=e[(Os()|0)+(a<<1)>>1]|0;else a=0;b[g>>1]=a;h=h+4|0;if((h|0)==(f|0))break;else g=g+2|0}}return d+(i<<2)|0}function Qs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0<128?(b[(Os()|0)+(a<<1)>>1]&d)<<16>>16!=0:0)break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}while(0);return e|0}function Rs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0>=128)break a;if(!((b[(Os()|0)+(a<<1)>>1]&d)<<16>>16))break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}while(0);return e|0}function Ss(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(Ts()|0)+(b<<2)>>2]|0;return b|0}function Ts(){var a=0,b=0;o=0;a=ua(8)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(Ts()|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function Vs(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(Ws()|0)+(b<<2)>>2]|0;return b|0}function Ws(){var a=0,b=0;o=0;a=ua(9)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(Ws()|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function Ys(a,b){a=a|0;b=b|0;return b<<24>>24|0}function Zs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((d|0)!=(e|0))while(1){c[f>>2]=a[d>>0];d=d+1|0;if((d|0)==(e|0))break;else f=f+4|0}return e|0}function _s(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function $s(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;i=(e-d|0)>>>2;if((d|0)!=(e|0)){h=d;b=g;while(1){g=c[h>>2]|0;a[b>>0]=g>>>0<128?g&255:f;h=h+4|0;if((h|0)==(e|0))break;else b=b+1|0}}return d+(i<<2)|0}function at(b){b=b|0;var d=0;c[b>>2]=44236;d=c[b+8>>2]|0;if((d|0)!=0?(a[b+12>>0]|0)!=0:0)dj(d);return}function bt(a){a=a|0;at(a);cj(a);return}function ct(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(Ts()|0)+((b&255)<<2)>>2]&255;return b|0}function dt(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(Ts()|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function et(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(Ws()|0)+(b<<24>>24<<2)>>2]&255;return b|0}function ft(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(Ws()|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function gt(a,b){a=a|0;b=b|0;return b|0}function ht(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;if((c|0)!=(d|0))while(1){a[e>>0]=a[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else e=e+1|0}return d|0}function it(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function jt(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((c|0)!=(d|0))while(1){b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;c=c+1|0;if((c|0)==(d|0))break;else f=f+1|0}return d|0}function kt(a){a=a|0;cj(a);return}function lt(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function mt(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function nt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function ot(a){a=a|0;return 1}function pt(a){a=a|0;return 1}function qt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=d-c|0;return (a>>>0>>0?a:e)|0}function rt(a){a=a|0;return 1}function st(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=44304;o=0;b=ua(3)|0;d=o;o=0;if(d&1){d=Na()|0;Ya(d|0)}else{c[a+8>>2]=b;return}}function tt(a){a=a|0;wu(a);cj(a);return} - function xl(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;_=X;aa=_-Z|0;O=-2-Z|0;P=_+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(ck()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)Xk(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}while(0);do if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}while(0);e:do if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1;while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[56223+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}Cl(ba,s,g)}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=kw(o|0,p|0,3)|0;p=D}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=56703;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=56703;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=hw(0,0,n|0,o|0)|0;o=D;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=56703;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?56703:56705;L=76}else{p=1;s=56704;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=56703;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=56703;n=N;break}case 109:{n=dk(c[(ck()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:56713;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){El(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?56721:56726}else{G=1;H=56723}else{q=-q;G=1;H=56720}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+wk(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;C=u|32;if((C|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v;while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=Dl(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[56687+H>>0]|w;q=(q-+(H|0))*16.0;do if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;El(e,32,K,p,I);if(!(c[e>>2]&32))Xk(y,x,e)|0;El(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))Xk(da,n,e)|0;o=_-t|0;El(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))Xk(t,o,e)|0;El(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0>>0)r=s;else{o=0;do{B=mw(c[r>>2]|0,0,t|0)|0;B=jw(B|0,D|0,o|0,0)|0;o=D;A=vw(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=uw(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(C|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do if(w>>>0

>>0){o=(1<>>x;r=0;t=w;do{B=c[t>>2]|0;c[t>>2]=(B>>>x)+r;r=$(B&o,s)|0;t=t+4|0}while(t>>>0

>>0);o=(c[w>>2]|0)==0?w+4|0:w;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[w>>2]|0)==0?w+4|0:w;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[ea>>2]|0)+x|0;c[ea>>2]=o;if((o|0)>=0){w=r;break}else w=r}}else w=r;do if(w>>>0

>>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0;while(0);A=(C|0)==103;B=(n|0)!=0;r=n-((C|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}while(0);do if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}C=t+s|0;c[r>>2]=C;if(C>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}C=(c[s>>2]|0)+1|0;c[s>>2]=C;if(C>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}while(0);C=r+4|0;w=s;p=p>>>0>C>>>0?C:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;C=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;C=p;break}}do if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do if(z){p=c[C+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9;while(0);p=((C-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8;while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=Dl(r,((r|0)<0)<<31>>31,X)|0;if((_-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((_-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=_-E|0;u=E}y=G+1+n+s+o|0;El(e,32,K,y,I);if(!(c[e>>2]&32))Xk(H,G,e)|0;El(e,48,K,y,I^65536);do if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=Dl(c[o>>2]|0,0,R)|0;do if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}while(0);if(!(c[e>>2]&32))Xk(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(x){if(c[e>>2]&32)break;Xk(56755,1,e)|0}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=Dl(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))Xk(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}El(e,48,n+9|0,9,0)}else{t=z?C:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=Dl(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))Xk(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}Xk(56755,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}while(0);p=S-o|0;if(!(c[e>>2]&32))Xk(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}El(e,48,n+18|0,18,0);if(c[e>>2]&32)break;Xk(u,_-u|0,e)|0}while(0);El(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;El(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){Xk(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))Xk(s?(t?56747:56751):t?56739:56743,3,e)|0;El(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=56703;n=N}}while(0);g:do if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[56687+(o&15)>>0]|s;o=kw(o|0,p|0,4)|0;p=D}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=56703;L=77}else{o=t;t=2;s=56703+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=56703;L=77}}else if((L|0)==76){n=Dl(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=jl(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=56703;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Ik(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}El(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Ik(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))Xk(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}while(0);if((L|0)==98){L=0;El(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;El(e,32,n,r,p);if(!(c[e>>2]&32))Xk(u,t,e)|0;El(e,48,n,r,p^65536);El(e,48,o,s,0);if(!(c[e>>2]&32))Xk(w,s,e)|0;El(e,32,n,r,p^8192);w=J}h:do if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;Cl(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0;while(0);i=ha;return m|0}function yl(a,b,c){a=a|0;b=b|0;c=c|0;return Rk(a,b,c)|0}function zl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;gk(h,0);e=+ek(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b)c[b>>2]=(d|0)!=0?a+d|0:a;i=j;return +e}function Al(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;gk(j,0);e=fk(j,d,1,e,f)|0;if(b)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function Bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;lw(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Cl(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:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+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 Dl(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=vw(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=uw(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=D}else{b=e;break}}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 El(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;iw(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){Xk(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;Xk(h,f,a)|0}while(0);i=j;return}function Fl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[10218]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=40912+(e<<2)|0;e=40912+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[10222]|0)>>>0)Ga();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Ga()}else c[10218]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[10220]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=40912+(e<<2)|0;e=40912+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[10222]|0)>>>0)Ga();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[10220]|0;break}else Ga()}else{c[10218]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[10223]|0;d=k>>>3;b=d<<1;e=40912+(b<<2)|0;a=c[10218]|0;d=1<>2]|0;if(b>>>0<(c[10222]|0)>>>0)Ga();else{l=a;m=b}}else{c[10218]=a|d;l=40912+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[10220]=h;c[10223]=i;M=j;return M|0}a=c[10219]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[41176+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[10222]|0;if(e>>>0>>0)Ga();i=e+o|0;if(e>>>0>=i>>>0)Ga();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Ga();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Ga();b=f+12|0;if((c[b>>2]|0)!=(e|0))Ga();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Ga()}while(0);do if(h){b=c[e+28>>2]|0;a=41176+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[10222]|0;if(n>>>0>>0)Ga();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)Ga();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[10220]|0;if(b){g=c[10223]|0;d=b>>>3;b=d<<1;f=40912+(b<<2)|0;a=c[10218]|0;d=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{p=b;q=a}}else{c[10218]=a|d;p=40912+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[10220]=j;c[10223]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[10219]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[41176+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[41176+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[10220]|0)-m|0)>>>0:0){f=c[10222]|0;if(j>>>0>>0)Ga();h=j+m|0;if(j>>>0>=h>>>0)Ga();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Ga();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Ga();b=e+12|0;if((c[b>>2]|0)!=(j|0))Ga();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Ga()}while(0);do if(g){b=c[j+28>>2]|0;a=41176+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[10222]|0;if(o>>>0>>0)Ga();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)Ga();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{s=b;t=a}}else{c[10218]=d|b;s=40912+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=41176+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[10219]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[10222]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Ga()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[10220]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[10223]|0;if(b>>>0>15){c[10223]=a+q;c[10220]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[10220]=0;c[10223]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[10221]|0;if(a>>>0>q>>>0){L=a-q|0;c[10221]=L;M=c[10224]|0;c[10224]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[10336]|0)){a=_a(30)|0;if(!(a+-1&a)){c[10338]=a;c[10337]=a;c[10339]=-1;c[10340]=-1;c[10341]=0;c[10329]=0;c[10336]=(qb(0)|0)&-16^1431655768;break}else Ga()}while(0);j=q+48|0;i=c[10338]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[10328]|0;if((a|0)!=0?(t=c[10326]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[10329]&4)){a=c[10224]|0;e:do if(a){f=41320;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[10221]|0)&i;if(d>>>0<2147483647){f=Ua(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=Ua(0)|0;if((g|0)!=(-1|0)){a=g;d=c[10337]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[10326]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[10328]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=Ua(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[10338]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((Ua(u|0)|0)==(-1|0)){Ua(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[10329]=c[10329]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=Ua(l|0)|0,x=Ua(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[10326]|0)+p|0;c[10326]=a;if(a>>>0>(c[10327]|0)>>>0)c[10327]=a;h=c[10224]|0;g:do if(h){g=41320;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[10221]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[10224]=h+L;c[10221]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[10225]=c[10340];break}a=c[10222]|0;if(w>>>0>>0){c[10222]=w;a=w}d=w+p|0;g=41320;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=41320;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[10223]|0)){M=(c[10220]|0)+l|0;c[10220]=M;c[10223]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Ga();a=f+12|0;if((c[a>>2]|0)!=(b|0))Ga();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Ga()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=41176+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[10222]|0)>>>0)Ga();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[10219]=c[10219]&~(1<>>0>>0)Ga();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Ga();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=40912+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)Ga();if((c[e+12>>2]|0)==(b|0))break;Ga()}while(0);if((f|0)==(e|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Ga()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0>=(c[10222]|0)>>>0){K=b;L=a;break}Ga()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=41176+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[10219]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[10222]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Ga()}else{M=(c[10221]|0)+l|0;c[10221]=M;c[10224]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=41320;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[10224]=w+d;c[10221]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[10225]=c[10340];d=a+4|0;c[d>>2]=27;c[b>>2]=c[10330];c[b+4>>2]=c[10331];c[b+8>>2]=c[10332];c[b+12>>2]=c[10333];c[10330]=w;c[10331]=p;c[10333]=0;c[10332]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{G=b;H=a}}else{c[10218]=d|b;G=40912+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=41176+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[10219]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[10222]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Ga()}}else{M=c[10222]|0;if((M|0)==0|w>>>0>>0)c[10222]=w;c[10330]=w;c[10331]=p;c[10333]=0;c[10227]=c[10336];c[10226]=-1;b=0;do{M=b<<1;L=40912+(M<<2)|0;c[40912+(M+3<<2)>>2]=L;c[40912+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[10224]=w+M;c[10221]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[10225]=c[10340]}while(0);b=c[10221]|0;if(b>>>0>q>>>0){L=b-q|0;c[10221]=L;M=c[10224]|0;c[10224]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(ck()|0)>>2]=12;M=0;return M|0}function Gl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[10222]|0;if(b>>>0>>0)Ga();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Ga();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Ga();if((l|0)==(c[10223]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[10220]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=40912+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Ga();if((c[e+12>>2]|0)!=(l|0))Ga()}if((d|0)==(e|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Ga()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Ga();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ga();b=f+12|0;if((c[b>>2]|0)!=(l|0))Ga();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Ga()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=41176+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[10222]|0;if(k>>>0>>0)Ga();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)Ga();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Ga();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Ga();if(!(d&2)){if((q|0)==(c[10224]|0)){t=(c[10221]|0)+g|0;c[10221]=t;c[10224]=u;c[u+4>>2]=t|1;if((u|0)!=(c[10223]|0))return;c[10223]=0;c[10220]=0;return}if((q|0)==(c[10223]|0)){t=(c[10220]|0)+g|0;c[10220]=t;c[10223]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[10222]|0)>>>0)Ga();e=d+12|0;if((c[e>>2]|0)!=(q|0))Ga();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Ga()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=41176+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[10222]|0;if(p>>>0>>0)Ga();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Ga();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=40912+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[10222]|0)>>>0)Ga();if((c[e+12>>2]|0)!=(q|0))Ga()}if((d|0)==(e|0)){c[10218]=c[10218]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Ga()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[10223]|0)){c[10220]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=40912+(d<<2)|0;e=c[10218]|0;b=1<>2]|0;if(d>>>0<(c[10222]|0)>>>0)Ga();else{r=b;s=d}}else{c[10218]=e|b;r=40912+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=41176+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[10219]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[10222]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Ga()}else{c[10219]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[10226]|0)+-1|0;c[10226]=u;if(!u)b=41328;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[10226]=-1;return}function Hl(a,b){a=a|0;b=b|0;var d=0;if(a){d=$(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Fl(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;iw(b|0,0,d|0)|0;return b|0}function Il(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Fl(b)|0;return a|0}if(b>>>0>4294967231){c[(ck()|0)>>2]=12;a=0;return a|0}d=Jl(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Fl(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;lw(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Gl(a);a=d;return a|0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[10222]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Ga();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Ga();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[10338]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Kl(a+b|0,d);return a|0}if((l|0)==(c[10224]|0)){d=(c[10221]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[10224]=a+b;c[10221]=n;return a|0}if((l|0)==(c[10223]|0)){e=(c[10220]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[10220]=d;c[10223]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ga();d=f+12|0;if((c[d>>2]|0)!=(l|0))Ga();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Ga()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=41176+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[10222]|0;if(k>>>0>>0)Ga();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)Ga();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(l|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ga()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Kl(a+b|0,n);return a|0}return 0}function Kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[10222]|0;if(n>>>0>>0)Ga();if((n|0)==(c[10223]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[10220]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(n|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Ga()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Ga();d=g+12|0;if((c[d>>2]|0)!=(n|0))Ga();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Ga()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=41176+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[10222]|0;if(l>>>0>>0)Ga();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)Ga();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[10222]|0;if(q>>>0>>0)Ga();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[10224]|0)){s=(c[10221]|0)+h|0;c[10221]=s;c[10224]=t;c[t+4>>2]=s|1;if((t|0)!=(c[10223]|0))return;c[10223]=0;c[10220]=0;return}if((q|0)==(c[10223]|0)){s=(c[10220]|0)+h|0;c[10220]=s;c[10223]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Ga();d=g+12|0;if((c[d>>2]|0)!=(q|0))Ga();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Ga()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=41176+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[10222]|0;if(p>>>0>>0)Ga();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)Ga();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(q|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Ga()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[10223]|0)){c[10220]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=40912+(e<<2)|0;f=c[10218]|0;d=1<>2]|0;if(e>>>0<(c[10222]|0)>>>0)Ga();else{r=d;s=e}}else{c[10218]=f|d;r=40912+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=41176+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[10219]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[10222]|0)>>>0)Ga();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[10222]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Ga();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function Ll(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[9321]|0;Pl(42048,e,42104);c[10342]=42892;c[10344]=42912;c[10343]=0;a=c[10720]|0;o=0;ia(62,41368+a|0,42048);g=o;o=0;if(g&1){g=Na()|0;fn(41376);Ya(g|0)}c[41368+(a+72)>>2]=0;c[41368+(a+76)>>2]=-1;f=c[9322]|0;Ql(42152,f,42112);c[10364]=42972;c[10365]=42992;d=c[10740]|0;o=0;ia(62,41456+d|0,42152);g=o;o=0;if(g&1){g=Na()|0;fn(41460);Ya(g|0)}a=d+72|0;c[41456+a>>2]=0;b=d+76|0;c[41456+b>>2]=-1;g=c[9320]|0;Ql(42200,g,42120);c[10385]=42972;c[10386]=42992;o=0;ia(62,41540+d|0,42200);h=o;o=0;if(h&1){h=Na()|0;fn(41544);Ya(h|0)}c[41540+a>>2]=0;c[41540+b>>2]=-1;h=c[41540+((c[(c[10385]|0)+-12>>2]|0)+24)>>2]|0;c[10406]=42972;c[10407]=42992;o=0;ia(62,41624+d|0,h|0);h=o;o=0;if(h&1){h=Na()|0;fn(41628);Ya(h|0)}c[41624+a>>2]=0;c[41624+b>>2]=-1;c[41368+((c[(c[10342]|0)+-12>>2]|0)+72)>>2]=41456;a=41540+((c[(c[10385]|0)+-12>>2]|0)+4)|0;c[a>>2]=c[a>>2]|8192;c[41540+((c[(c[10385]|0)+-12>>2]|0)+72)>>2]=41456;Rl(42248,e,42128);c[10427]=42932;c[10429]=42952;c[10428]=0;a=c[10730]|0;o=0;ia(62,41708+a|0,42248);h=o;o=0;if(h&1){h=Na()|0;ln(41716);Ya(h|0)}c[41708+(a+72)>>2]=0;c[41708+(a+76)>>2]=-1;Sl(42304,f,42136);c[10449]=43012;c[10450]=43032;d=c[10750]|0;o=0;ia(62,41796+d|0,42304);h=o;o=0;if(h&1){h=Na()|0;ln(41800);Ya(h|0)}a=d+72|0;c[41796+a>>2]=0;b=d+76|0;c[41796+b>>2]=-1;Sl(42352,g,42144);c[10470]=43012;c[10471]=43032;o=0;ia(62,41880+d|0,42352);h=o;o=0;if(h&1){h=Na()|0;ln(41884);Ya(h|0)}c[41880+a>>2]=0;c[41880+b>>2]=-1;h=c[41880+((c[(c[10470]|0)+-12>>2]|0)+24)>>2]|0;c[10491]=43012;c[10492]=43032;o=0;ia(62,41964+d|0,h|0);h=o;o=0;if(h&1){h=Na()|0;ln(41968);Ya(h|0)}else{c[41964+a>>2]=0;c[41964+b>>2]=-1;c[41708+((c[(c[10427]|0)+-12>>2]|0)+72)>>2]=41796;h=41880+((c[(c[10470]|0)+-12>>2]|0)+4)|0;c[h>>2]=c[h>>2]|8192;c[41880+((c[(c[10470]|0)+-12>>2]|0)+72)>>2]=41796;return}}function Ml(a){a=a|0;o=0;ka(70,41456)|0;a=o;o=0;if(((!(a&1)?(o=0,ka(70,41624)|0,a=o,o=0,!(a&1)):0)?(o=0,ka(71,41796)|0,a=o,o=0,!(a&1)):0)?(o=0,ka(71,41964)|0,a=o,o=0,!(a&1)):0)return;a=Na(0)|0;ec(a)}function Nl(){Ll(0);kb(187,56757,n|0)|0;return}function Ol(){return}function Pl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;pn(b);c[b>>2]=42600;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;ia(23,b|0,f|0);e=o;o=0;if(e&1){h=Na()|0;Gs(f);nn(b);Ya(h|0)}else{Gs(f);i=g;return}}function Ql(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;pn(b);c[b>>2]=42536;c[b+32>>2]=d;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;d=ra(37,f|0,44280)|0;h=o;o=0;if(h&1){h=Na()|0;Gs(f);nn(b);Ya(h|0)}else{Gs(f);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=g;return}}function Rl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;En(b);c[b>>2]=42472;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;ia(21,b|0,f|0);e=o;o=0;if(e&1){h=Na()|0;Gs(f);Cn(b);Ya(h|0)}else{Gs(f);i=g;return}}function Sl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;En(b);c[b>>2]=42408;c[b+32>>2]=d;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;d=ra(37,f|0,44288)|0;h=o;o=0;if(h&1){h=Na()|0;Gs(f);Cn(b);Ya(h|0)}else{Gs(f);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=g;return}}function Tl(a){a=a|0;Cn(a);cj(a);return}function Ul(b,d){b=b|0;d=d|0;Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=Is(d,44288)|0;c[b+36>>2]=d;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function Vl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Yk(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((Vk(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function Wl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(!(a[b+44>>0]|0))if((e|0)>0){f=d;d=0;while(1){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,c[f>>2]|0)|0)==-1)break a;d=d+1|0;if((d|0)<(e|0))f=f+4|0;else break}}else d=0;else d=Yk(d,4,e,c[b+32>>2]|0)|0;while(0);return d|0}function Xl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do if(!q){c[e>>2]=d;if(a[b+44>>0]|0)if((Yk(e,4,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;l=e+4|0;m=b+36|0;g=b+40|0;h=p+8|0;j=p;k=b+32|0;while(1){b=c[m>>2]|0;b=Sb[c[(c[b>>2]|0)+12>>2]&15](b,c[g>>2]|0,e,l,n,p,h,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-j|0;if((Yk(p,1,b,c[k>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Yk(e,1,1,c[k>>2]|0)|0)!=1)e=-1;else r=11}else r=11;while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function Yl(b,d){b=b|0;d=d|0;var e=0,f=0;f=Is(d,44288)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)Rr(56783);return}function Zl(a){a=a|0;Cn(a);cj(a);return}function _l(a){a=a|0;return bm(a,0)|0}function $l(a){a=a|0;return bm(a,1)|0}function am(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+8|0;f=m+4|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do if(e){c[f>>2]=c[j>>2];e=c[b+36>>2]|0;switch(Sb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if((al(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}while(0);c[j>>2]=d;a[h>>0]=1}while(0);i=m;return d|0}function bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+32|0;q=r+16|0;p=r+8|0;m=r+4|0;n=r;g=b+52|0;a:do if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=-1;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;if((e|0)>0){g=0;do{f=Zk(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[q+g>>0]=f;g=g+1|0}while((g|0)<(e|0))}b:do if(!(a[b+53>>0]|0)){j=b+40|0;k=b+36|0;l=p+4|0;c:while(1){s=c[j>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[k>>2]|0;h=q+e|0;switch(Sb[c[(c[t>>2]|0)+16>>2]&15](t,s,q,h,m,p,l,n)|0){case 2:{e=-1;break a}case 3:break c;case 1:break;default:break b}t=c[j>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){e=-1;break a}f=Zk(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[h>>0]=f;e=e+1|0}c[p>>2]=a[q>>0]}else c[p>>2]=a[q>>0];while(0);if(d){e=c[p>>2]|0;c[b+48>>2]=e;break}while(1){if((e|0)<=0)break;e=e+-1|0;if((al(a[q+e>>0]|0,c[o>>2]|0)|0)==-1){e=-1;break a}}e=c[p>>2]|0}while(0);i=r;return e|0}function cm(a){a=a|0;nn(a);cj(a);return}function dm(b,d){b=b|0;d=d|0;Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=Is(d,44280)|0;c[b+36>>2]=d;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function em(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Yk(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((Vk(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function fm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;a:do if(!(a[b+44>>0]|0))if((f|0)>0){g=e;e=0;while(1){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,d[g>>0]|0)|0)==-1)break a;e=e+1|0;if((e|0)<(f|0))g=g+1|0;else break}}else e=0;else e=Yk(e,1,f,c[b+32>>2]|0)|0;while(0);return e|0}function gm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do if(!q){a[e>>0]=d;if(a[b+44>>0]|0)if((Yk(e,1,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;m=e+1|0;g=b+36|0;h=b+40|0;j=p+8|0;k=p;l=b+32|0;while(1){b=c[g>>2]|0;b=Sb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,e,m,n,p,j,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-k|0;if((Yk(p,1,b,c[l>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Yk(e,1,1,c[l>>2]|0)|0)!=1)e=-1;else r=11}else r=11;while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function hm(b,d){b=b|0;d=d|0;var e=0,f=0;f=Is(d,44280)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)Rr(56783);return}function im(a){a=a|0;nn(a);cj(a);return}function jm(a){a=a|0;return mm(a,0)|0}function km(a){a=a|0;return mm(a,1)|0}function lm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+4|0;f=m+8|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do if(e){a[f>>0]=c[j>>2];e=c[b+36>>2]|0;switch(Sb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if((al(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}while(0);c[j>>2]=d;a[h>>0]=1}while(0);i=m;return d|0}function mm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+32|0;r=s+16|0;q=s+8|0;n=s+4|0;o=s;h=b+52|0;a:do if(a[h>>0]|0){g=b+48|0;f=c[g>>2]|0;if(e){c[g>>2]=-1;a[h>>0]=0}}else{f=c[b+44>>2]|0;f=(f|0)>1?f:1;p=b+32|0;if((f|0)>0){h=0;do{g=Zk(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[r+h>>0]=g;h=h+1|0}while((h|0)<(f|0))}b:do if(!(a[b+53>>0]|0)){k=b+40|0;l=b+36|0;m=q+1|0;c:while(1){t=c[k>>2]|0;h=t;g=c[h>>2]|0;h=c[h+4>>2]|0;u=c[l>>2]|0;j=r+f|0;switch(Sb[c[(c[u>>2]|0)+16>>2]&15](u,t,r,j,n,q,m,o)|0){case 2:{f=-1;break a}case 3:break c;case 1:break;default:break b}u=c[k>>2]|0;c[u>>2]=g;c[u+4>>2]=h;if((f|0)==8){f=-1;break a}g=Zk(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[j>>0]=g;f=f+1|0}a[q>>0]=a[r>>0]|0}else a[q>>0]=a[r>>0]|0;while(0);if(e){f=a[q>>0]|0;c[b+48>>2]=f&255}else{while(1){if((f|0)<=0)break;f=f+-1|0;if((al(d[r+f>>0]|0,c[p>>2]|0)|0)==-1){f=-1;break a}}f=a[q>>0]|0}f=f&255}while(0);i=s;return f|0}function nm(a){a=a|0;return}function om(a){a=a|0;a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function pm(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b){Bb[c[(c[a>>2]|0)+8>>2]&255](a);a=1}else a=0;return a|0}function qm(b,d){b=b|0;d=d|0;c[b>>2]=36868;o=0;ia(86,b+4|0,((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0)|0);b=o;o=0;if(b&1){b=Na()|0;Ya(b|0)}else return}function rm(a,b){a=a|0;b=b|0;c[a>>2]=36868;o=0;ia(86,a+4|0,b|0);a=o;o=0;if(a&1){a=Na()|0;Ya(a|0)}else return}function sm(a,b){a=a|0;b=b|0;var d=0,e=0;e=nl(b)|0;d=bj(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=d+12|0;lw(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function tm(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=d;c[a+4>>2]=b;return}function um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;Qb[c[(c[a>>2]|0)+12>>2]&15](e,a,b);if((c[e+4>>2]|0)==(c[d+4>>2]|0))e=(c[e>>2]|0)==(c[d>>2]|0);else e=0;i=f;return e|0}function vm(a,b,d){a=a|0;b=b|0;d=d|0;return ((c[b>>2]|0)==(d|0)?(c[b+4>>2]|0)==(a|0):0)|0}function wm(a,b,c){a=a|0;b=b|0;c=c|0;b=dk(c)|0;Gm(a,b,nl(b)|0);return}function xm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=c[d>>2]|0;do if(f){g=a[e>>0]|0;if(!(g&1))g=(g&255)>>>1;else g=c[e+4>>2]|0;if(g){Pm(e,56990)|0;f=c[d>>2]|0}d=c[d+4>>2]|0;Qb[c[(c[d>>2]|0)+24>>2]&15](h,d,f);d=a[h>>0]|0;g=(d&1)==0;o=0;ma(30,e|0,(g?h+1|0:c[h+8>>2]|0)|0,(g?(d&255)>>>1:c[h+4>>2]|0)|0)|0;d=o;o=0;if(d&1){j=Na()|0;Im(h);Ya(j|0)}else{Im(h);break}}while(0);c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;i=j;return}function ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;e=f+12|0;g=f;Gm(g,d,nl(d)|0);o=0;wa(10,e|0,b|0,g|0);d=o;o=0;do if(!(d&1)){o=0;ia(87,a|0,e|0);d=o;o=0;if(d&1){f=Na()|0;Im(e);e=f;break}else{Im(e);Im(g);c[a>>2]=42664;d=c[b+4>>2]|0;g=a+8|0;c[g>>2]=c[b>>2];c[g+4>>2]=d;i=f;return}}else e=Na()|0;while(0);Im(g);Ya(e|0)}function zm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+48|0;f=g+24|0;j=g+16|0;h=g;c[j>>2]=b;c[j+4>>2]=d;Fm(h,e);o=0;wa(10,f|0,j|0,h|0);e=o;o=0;do if(!(e&1)){o=0;ia(87,a|0,f|0);j=o;o=0;if(j&1){j=Na()|0;Im(f);f=j;break}else{Im(f);Im(h);c[a>>2]=42664;c[a+8>>2]=b;c[a+12>>2]=d;i=g;return}}else f=Na()|0;while(0);Im(h);Ya(f|0)}function Am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+48|0;e=f+24|0;h=f+16|0;g=f;c[h>>2]=b;c[h+4>>2]=d;Gm(g,58898,0);o=0;wa(10,e|0,h|0,g|0);h=o;o=0;do if(!(h&1)){o=0;ia(87,a|0,e|0);h=o;o=0;if(h&1){h=Na()|0;Im(e);e=h;break}else{Im(e);Im(g);c[a>>2]=42664;c[a+8>>2]=b;c[a+12>>2]=d;i=f;return}}else e=Na()|0;while(0);Im(g);Ya(e|0)}function Bm(a){a=a|0;mj(a);return}function Cm(a){a=a|0;mj(a);cj(a);return}function Dm(a){a=a|0;return}function Em(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;rb(42676)|0;if((c[a>>2]|0)==1)do Da(42704,42676)|0;while((c[a>>2]|0)==1);do if(!(c[a>>2]|0)){c[a>>2]=1;o=0;ka(72,42676)|0;e=o;o=0;if((((!(e&1)?(o=0,ha(d|0,b|0),e=o,o=0,!(e&1)):0)?(o=0,ka(73,42676)|0,e=o,o=0,!(e&1)):0)?(c[a>>2]=-1,o=0,ka(72,42676)|0,e=o,o=0,!(e&1)):0)?(o=0,ka(74,42704)|0,e=o,o=0,!(e&1)):0)break;e=Na(0)|0;Va(e|0)|0;o=0;ka(73,42676)|0;e=o;o=0;if((!(e&1)?(c[a>>2]=0,o=0,ka(72,42676)|0,e=o,o=0,!(e&1)):0)?(o=0,ka(74,42704)|0,e=o,o=0,!(e&1)):0){o=0;xa(5);o=0}b=Na()|0;o=0;xa(3);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}else Ya(b|0)}else cb(42676)|0;while(0);return}function Fm(b,d){b=b|0;d=d|0;if(!(a[d>>0]&1)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}else Gm(b,c[d+8>>2]|0,c[d+4>>2]|0);return}function Gm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>4294967279)_i(b);if(e>>>0<11){a[b>>0]=e<<1;b=b+1|0}else{g=e+16&-16;f=bj(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}lw(b|0,d|0,e|0)|0;a[b+e>>0]=0;return}function Hm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>4294967279)_i(b);if(d>>>0<11){a[b>>0]=d<<1;b=b+1|0}else{g=d+16&-16;f=bj(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}iw(b|0,e|0,d|0)|0;a[b+d>>0]=0;return}function Im(b){b=b|0;if(a[b>>0]&1)cj(c[b+8>>2]|0);return}function Jm(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d>>0]|0;f=(e&1)==0;Lm(b,f?d+1|0:c[d+8>>2]|0,f?(e&255)>>>1:c[d+4>>2]|0)|0}return b|0}function Km(a,b){a=a|0;b=b|0;return Lm(a,b,nl(b)|0)|0}function Lm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=10;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do if(h>>>0>=e>>>0){if(g)f=b+1|0;else f=c[b+8>>2]|0;nw(f|0,d|0,e|0)|0;a[f+e>>0]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;Sm(b,h,e-h|0,f,0,f,e,d)}while(0);return b|0}function Mm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a[b>>0]|0;g=(f&1)==0;if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;do if(f>>>0>=d>>>0)if(g){a[b+1+d>>0]=0;a[b>>0]=d<<1;break}else{a[(c[b+8>>2]|0)+d>>0]=0;c[b+4>>2]=d;break}else Nm(b,d-f|0,e)|0;while(0);return}function Nm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(d){f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>>0){Tm(b,g,d-g+h|0,h,h,0,0);f=a[b>>0]|0}if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;iw(g+h|0,e|0,d|0)|0;f=h+d|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}return b|0}function Om(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>4294967279)_i(b);e=a[b>>0]|0;if(!(e&1))f=10;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<11)i=10;else i=(d+16&-16)+-1|0;a:do if((i|0)!=(f|0)){do if((i|0)!=10){d=i+1|0;if(i>>>0<=f>>>0){o=0;d=ka(67,d|0)|0;h=o;o=0;if(h&1){b=Na(0)|0;Va(b|0)|0;Xa();break a}}else d=bj(d)|0;if(!(e&1)){f=1;g=b+1|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+1|0;f=0;g=c[b+8>>2]|0;h=1}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;lw(d|0,g|0,e+1|0)|0;if(h)cj(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}while(0);return}function Pm(a,b){a=a|0;b=b|0;return Rm(a,b,nl(b)|0)|0}function Qm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=10;h=(e&255)>>>1}if((h|0)==(g|0)){Tm(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+1|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}a[e+h>>0]=d;a[e+f>>0]=0;return}function Rm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>=e>>>0){if(e){if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;lw(g+h|0,d|0,e|0)|0;f=h+e|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}}else Sm(b,g,e-g+h|0,h,h,0,e,d);return b|0}function Sm(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((-18-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))m=b+1|0;else m=c[b+8>>2]|0;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=bj(k)|0;if(g)lw(l|0,m|0,g|0)|0;if(i)lw(l+g|0,j|0,i|0)|0;e=f-h|0;if((e|0)!=(g|0))lw(l+(i+g)|0,m+(h+g)|0,e-g|0)|0;if((d|0)!=10)cj(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;a[l+d>>0]=0;return}function Tm(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))l=b+1|0;else l=c[b+8>>2]|0;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=bj(j)|0;if(g)lw(k|0,l|0,g|0)|0;e=f-h|0;if((e|0)!=(g|0))lw(k+(i+g)|0,l+(h+g)|0,e-g|0)|0;if((d|0)!=10)cj(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function Um(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>1073741807)_i(b);if(e>>>0<2){a[b>>0]=e<<1;b=b+4|0}else{g=e+4&-4;f=bj(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}ql(b,d,e)|0;c[b+(e<<2)>>2]=0;return}function Vm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>1073741807)_i(b);if(d>>>0<2){a[b>>0]=d<<1;b=b+4|0}else{g=d+4&-4;f=bj(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}sl(b,e,d)|0;c[b+(d<<2)>>2]=0;return}function Wm(b){b=b|0;if(a[b>>0]&1)cj(c[b+8>>2]|0);return}function Xm(a,b){a=a|0;b=b|0;return Ym(a,b,pl(b)|0)|0}function Ym(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=1;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do if(h>>>0>=e>>>0){if(g)f=b+4|0;else f=c[b+8>>2]|0;rl(f,d,e)|0;c[f+(e<<2)>>2]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;$m(b,h,e-h|0,f,0,f,e,d)}while(0);return b|0}function Zm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>1073741807)_i(b);e=a[b>>0]|0;if(!(e&1))f=1;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<2)i=1;else i=(d+4&-4)+-1|0;a:do if((i|0)!=(f|0)){do if((i|0)!=1){d=(i<<2)+4|0;if(i>>>0<=f>>>0){o=0;d=ka(67,d|0)|0;h=o;o=0;if(h&1){b=Na(0)|0;Va(b|0)|0;Xa();break a}}else d=bj(d)|0;if(!(e&1)){f=1;g=b+4|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+4|0;f=0;g=c[b+8>>2]|0;h=1}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;ql(d,g,e+1|0)|0;if(h)cj(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}while(0);return}function _m(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=1;h=(e&255)>>>1}if((h|0)==(g|0)){an(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+4|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}c[e+(h<<2)>>2]=d;c[e+(f<<2)>>2]=0;return}function $m(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((1073741806-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))m=b+4|0;else m=c[b+8>>2]|0;if(d>>>0<536870887){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<2?2:k+4&-4}else k=1073741807;l=bj(k<<2)|0;if(g)ql(l,m,g)|0;if(i)ql(l+(g<<2)|0,j,i)|0;e=f-h|0;if((e|0)!=(g|0))ql(l+(i+g<<2)|0,m+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)cj(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;c[l+(d<<2)>>2]=0;return}function an(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((1073741807-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))l=b+4|0;else l=c[b+8>>2]|0;if(d>>>0<536870887){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<2?2:j+4&-4}else j=1073741807;k=bj(j<<2)|0;if(g)ql(k,l,g)|0;e=f-h|0;if((e|0)!=(g|0))ql(k+(i+g<<2)|0,l+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)cj(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function bn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=d;f=e-g|0;if(f>>>0>4294967279)_i(b);if(f>>>0<11){a[b>>0]=f<<1;h=b+1|0}else{i=f+16&-16;h=bj(i)|0;c[b+8>>2]=h;c[b>>2]=i|1;c[b+4>>2]=f}b=e-g|0;if((d|0)!=(e|0)){f=h;while(1){a[f>>0]=a[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else f=f+1|0}}a[h+b>>0]=0;return}function cn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d;f=e-h|0;g=f>>2;if(g>>>0>1073741807)_i(b);if(g>>>0<2){a[b>>0]=f>>>1;b=b+4|0}else{i=g+4&-4;f=bj(i<<2)|0;c[b+8>>2]=f;c[b>>2]=i|1;c[b+4>>2]=g;b=f}g=(e-h|0)>>>2;if((d|0)!=(e|0)){f=b;while(1){c[f>>2]=c[d>>2];d=d+4|0;if((d|0)==(e|0))break;else f=f+4|0}}c[b+(g<<2)>>2]=0;return}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=(c[a+24>>2]|0)==0;c[a+16>>2]=f&1|b;if(!((f&1|b)&c[a+20>>2])){i=d;return}b=Ma(16)|0;so()|0;c[e>>2]=1;c[e+4>>2]=43112;o=0;wa(11,b|0,57437,e|0);f=o;o=0;if(f&1){f=Na()|0;La(b|0);Ya(f|0)}else lb(b|0,864,112)}function en(a){a=a|0;var b=0;c[a>>2]=43068;o=0;ia(88,a|0,0);b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else{Gs(a+28|0);Gl(c[a+32>>2]|0);Gl(c[a+36>>2]|0);Gl(c[a+48>>2]|0);Gl(c[a+60>>2]|0);return}}function fn(a){a=a|0;en(a);return}function gn(a){a=a|0;en(a);cj(a);return}function hn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+40>>2]|0;e=a+32|0;f=a+36|0;if(d)do{d=d+-1|0;Qb[c[(c[e>>2]|0)+(d<<2)>>2]&15](b,a,c[(c[f>>2]|0)+(d<<2)>>2]|0)}while((d|0)!=0);return}function jn(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;Fs(b,a+28|0);i=d;return c[b>>2]|0}function kn(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));Es(d);return}function ln(a){a=a|0;en(a);return}function mn(a){a=a|0;en(a);cj(a);return}function nn(a){a=a|0;c[a>>2]=42760;Gs(a+4|0);return}function on(a){a=a|0;c[a>>2]=42760;Gs(a+4|0);cj(a);return}function pn(a){a=a|0;c[a>>2]=42760;Es(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function qn(a,b){a=a|0;b=b|0;return}function rn(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function sn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function tn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function un(a){a=a|0;return 0}function vn(a){a=a|0;return 0}function wn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+12|0;i=b+16|0;a:do if((e|0)>0){g=d;d=0;while(1){f=c[h>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[h>>2]=f+1;f=a[f>>0]|0}else{f=Eb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((f|0)==-1)break a;f=f&255}a[g>>0]=f;d=d+1|0;if((d|0)<(e|0))g=g+1|0;else break}}else d=0;while(0);return d|0}function xn(a){a=a|0;return -1}function yn(a){a=a|0;var b=0;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+1;a=d[a>>0]|0}return a|0}function zn(a,b){a=a|0;b=b|0;return -1}function An(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=b+24|0;j=b+28|0;a:do if((f|0)>0){h=e;e=0;while(1){g=c[i>>2]|0;if(g>>>0>=(c[j>>2]|0)>>>0){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,d[h>>0]|0)|0)==-1)break a}else{k=a[h>>0]|0;c[i>>2]=g+1;a[g>>0]=k}e=e+1|0;if((e|0)<(f|0))h=h+1|0;else break}}else e=0;while(0);return e|0}function Bn(a,b){a=a|0;b=b|0;return -1}function Cn(a){a=a|0;c[a>>2]=42824;Gs(a+4|0);return}function Dn(a){a=a|0;c[a>>2]=42824;Gs(a+4|0);cj(a);return}function En(a){a=a|0;c[a>>2]=42824;Es(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function Fn(a,b){a=a|0;b=b|0;return}function Gn(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function Hn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function In(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function Jn(a){a=a|0;return 0}function Kn(a){a=a|0;return 0}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+12|0;h=a+16|0;a:do if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){e=Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((e|0)==-1)break a}else{c[g>>2]=e+4;e=c[e>>2]|0}c[f>>2]=e;b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0;while(0);return b|0}function Mn(a){a=a|0;return -1}function Nn(a){a=a|0;var b=0;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=c[a>>2]|0}return a|0}function On(a,b){a=a|0;b=b|0;return -1}function Pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+24|0;h=a+28|0;a:do if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){if((Lb[c[(c[a>>2]|0)+52>>2]&63](a,c[f>>2]|0)|0)==-1)break a}else{i=c[f>>2]|0;c[g>>2]=e+4;c[e>>2]=i}b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0;while(0);return b|0}function Qn(a,b){a=a|0;b=b|0;return -1}function Rn(a){a=a|0;en(a+8|0);return}function Sn(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function Tn(a){a=a|0;en(a+8|0);cj(a);return}function Un(a){a=a|0;Tn(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Vn(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;a:do if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){o=0;ia(65,e|0,b|0);d=o;o=0;b:do if(d&1)d=Na(0)|0;else{do if(a[e>>0]|0){d=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;d=ka(c[(c[d>>2]|0)+24>>2]|0,d|0)|0;g=o;o=0;if(!(g&1)){if((d|0)!=-1)break;g=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+g|0,c[b+(g+16)>>2]|1|0);g=o;o=0;if(!(g&1))break}d=Na(0)|0;ho(e);break b}while(0);ho(e);break a}while(0);Va(d|0)|0;o=0;ha(181,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=o;o=0;if(!(g&1)){Xa();break}d=Na()|0;o=0;xa(3);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else Ya(d|0)}while(0);i=f;return b|0}function Wn(a){a=a|0;var b=0;b=a+16|0;c[b>>2]=c[b>>2]|1;if(!(c[a+20>>2]&1))return;else mb()}function Xn(a){a=a|0;en(a+8|0);return}function Yn(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function Zn(a){a=a|0;en(a+8|0);cj(a);return}function _n(a){a=a|0;Zn(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function $n(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;a:do if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){o=0;ia(89,e|0,b|0);d=o;o=0;b:do if(d&1)d=Na(0)|0;else{do if(a[e>>0]|0){d=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;d=ka(c[(c[d>>2]|0)+24>>2]|0,d|0)|0;g=o;o=0;if(!(g&1)){if((d|0)!=-1)break;g=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+g|0,c[b+(g+16)>>2]|1|0);g=o;o=0;if(!(g&1))break}d=Na(0)|0;po(e);break b}while(0);po(e);break a}while(0);Va(d|0)|0;o=0;ha(181,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=o;o=0;if(!(g&1)){Xa();break}d=Na()|0;o=0;xa(3);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else Ya(d|0)}while(0);i=f;return b|0}function ao(a,b){a=a|0;b=b|0;return}function bo(a){a=a|0;en(a+4|0);return}function co(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function eo(a){a=a|0;en(a+4|0);cj(a);return}function fo(a){a=a|0;eo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function go(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)Vn(e)|0;a[b>>0]=1}return}function ho(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;do if((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Za()|0):0){b=c[a>>2]|0;b=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;b=ka(c[(c[b>>2]|0)+24>>2]|0,b|0)|0;d=o;o=0;if(!(d&1)){if((b|0)!=-1)break;b=c[a>>2]|0;d=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+d|0,c[b+(d+16)>>2]|1|0);d=o;o=0;if(!(d&1))break}d=Na(0)|0;Va(d|0)|0;o=0;xa(3);d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}}while(0);return}function io(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+20|0;l=q+16|0;n=q+8|0;e=q;o=0;ia(65,n|0,b|0);m=o;o=0;a:do if(m&1){e=Na(0)|0;f=b;g=b;p=19}else{do if(a[n>>0]|0){c[e>>2]=jn(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;o=0;m=ra(37,e|0,43392)|0;j=o;o=0;if(j&1){p=Na(0)|0;Gs(e);e=p}else{Gs(e);g=c[(c[b>>2]|0)+-12>>2]|0;j=c[b+(g+24)>>2]|0;f=b+g|0;g=b+(g+76)|0;e=c[g>>2]|0;do if((e|0)==-1){c[k>>2]=jn(f)|0;o=0;e=ra(37,k|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(k);e=h<<24>>24;c[g>>2]=e;p=10;break}e=Na(0)|0;Gs(k)}else p=10;while(0);if((p|0)==10){r=c[(c[m>>2]|0)+16>>2]|0;c[l>>2]=j;o=0;c[k>>2]=c[l>>2];e=sa(r|0,m|0,k|0,f|0,e&255|0,d|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break}e=Na(0)|0}}ho(n);f=b;g=b;p=19;break a}while(0);ho(n)}while(0);do if((p|0)==19){Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();break}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0)}while(0);i=q;return b|0}function jo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+20|0;l=q+16|0;n=q+8|0;e=q;o=0;ia(65,n|0,b|0);m=o;o=0;a:do if(m&1){e=Na(0)|0;f=b;g=b;p=19}else{do if(a[n>>0]|0){c[e>>2]=jn(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;o=0;m=ra(37,e|0,43392)|0;j=o;o=0;if(j&1){p=Na(0)|0;Gs(e);e=p}else{Gs(e);g=c[(c[b>>2]|0)+-12>>2]|0;j=c[b+(g+24)>>2]|0;f=b+g|0;g=b+(g+76)|0;e=c[g>>2]|0;do if((e|0)==-1){c[k>>2]=jn(f)|0;o=0;e=ra(37,k|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(k);e=h<<24>>24;c[g>>2]=e;p=10;break}e=Na(0)|0;Gs(k)}else p=10;while(0);if((p|0)==10){r=c[(c[m>>2]|0)+24>>2]|0;c[l>>2]=j;o=0;c[k>>2]=c[l>>2];e=sa(r|0,m|0,k|0,f|0,e&255|0,d|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break}e=Na(0)|0}}ho(n);f=b;g=b;p=19;break a}while(0);ho(n)}while(0);do if((p|0)==19){Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();break}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0)}while(0);i=q;return b|0}function ko(a){a=a|0;en(a+4|0);return}function lo(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function mo(a){a=a|0;en(a+4|0);cj(a);return}function no(a){a=a|0;mo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function oo(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)$n(e)|0;a[b>>0]=1}return}function po(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;do if((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Za()|0):0){b=c[a>>2]|0;b=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;b=ka(c[(c[b>>2]|0)+24>>2]|0,b|0)|0;d=o;o=0;if(!(d&1)){if((b|0)!=-1)break;b=c[a>>2]|0;d=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+d|0,c[b+(d+16)>>2]|1|0);d=o;o=0;if(!(d&1))break}d=Na(0)|0;Va(d|0)|0;o=0;xa(3);d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}}while(0);return}function qo(a){a=a|0;return 57453}function ro(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)!=1&(c|0)<257)wm(a,b,c);else Gm(a,57462,35);return}function so(){if((a[1048]|0)==0?(Ha(1048)|0)!=0:0){c[10778]=43084;kb(72,43112,n|0)|0;Pa(1048)}return 43112}function to(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+8|0;g=e;j=d;h=c[j+4>>2]|0;d=g;c[d>>2]=c[j>>2];c[d+4>>2]=h;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];ym(a,f,b);c[a>>2]=43048;i=e;return}function uo(a){a=a|0;Bm(a);return}function vo(a){a=a|0;Bm(a);cj(a);return}function wo(a){a=a|0;en(a);cj(a);return}function xo(a){a=a|0;cj(a);return}function yo(a){a=a|0;return}function zo(a){a=a|0;return}function Ao(a){a=a|0;cj(a);return}function Bo(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((e|0)==(f|0))h=6;else while(1){if((c|0)==(d|0)){c=-1;break a}b=a[c>>0]|0;g=a[e>>0]|0;if(b<<24>>24>24){c=-1;break a}if(g<<24>>24>24){c=1;break a}c=c+1|0;e=e+1|0;if((e|0)==(f|0)){h=6;break}}while(0);if((h|0)==6)c=(c|0)!=(d|0)&1;return c|0}function Co(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bn(a,c,d);return}function Do(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)==(d|0))b=0;else{b=0;do{b=(a[c>>0]|0)+(b<<4)|0;e=b&-268435456;b=(e>>>24|e)^b;c=c+1|0}while((c|0)!=(d|0))}return b|0}function Eo(a){a=a|0;return}function Fo(a){a=a|0;cj(a);return}function Go(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;a:do if((e|0)==(f|0))h=6;else while(1){if((b|0)==(d|0)){b=-1;break a}a=c[b>>2]|0;g=c[e>>2]|0;if((a|0)<(g|0)){b=-1;break a}if((g|0)<(a|0)){b=1;break a}b=b+4|0;e=e+4|0;if((e|0)==(f|0)){h=6;break}}while(0);if((h|0)==6)b=(b|0)!=(d|0)&1;return b|0}function Ho(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;cn(a,c,d);return}function Io(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))a=0;else{a=0;do{a=(c[b>>2]|0)+(a<<4)|0;e=a&-268435456;a=(e>>>24|e)^a;b=b+4|0}while((b|0)!=(d|0))}return a|0}function Jo(a){a=a|0;return}function Ko(a){a=a|0;cj(a);return}function Lo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;q=s+56|0;j=s+52|0;n=s+48|0;k=s+44|0;l=s+40|0;m=s+36|0;p=s+32|0;t=s+8|0;r=s;a:do if(!(c[f+4>>2]&1)){c[n>>2]=-1;t=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[j>>2]=c[k>>2];c[q>>2]=c[l>>2];j=Db[t&63](b,j,q,f,g,n)|0;c[d>>2]=j;switch(c[n>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{j=jn(f)|0;c[m>>2]=j;o=0;b=ra(37,m|0,44220)|0;n=o;o=0;do if(!(n&1)){pm(j)|0;j=jn(f)|0;c[p>>2]=j;o=0;l=ra(37,p|0,44360)|0;p=o;o=0;if(p&1){t=Na()|0;pm(j)|0;j=t;break}pm(j)|0;o=0;ia(c[(c[l>>2]|0)+24>>2]|0,t|0,l|0);p=o;o=0;if(!(p&1)){k=t+12|0;o=0;ia(c[(c[l>>2]|0)+28>>2]|0,k|0,l|0);p=o;o=0;if(!(p&1)){c[r>>2]=c[e>>2];o=0;c[q>>2]=c[r>>2];j=ea(7,d|0,q|0,t|0,t+24|0,b|0,g|0,1)|0;g=o;o=0;if(g&1){j=Na()|0;Im(t+12|0);Im(t);break}else{a[h>>0]=(j|0)==(t|0)&1;j=c[d>>2]|0;Im(t+12|0);Im(t);break a}}}else k=t;j=Na()|0;l=D;if((t|0)!=(k|0))do{k=k+-12|0;Im(k)}while((k|0)!=(t|0))}else{t=Na()|0;pm(j)|0;j=t}while(0);Ya(j|0)}while(0);i=s;return j|0}function Mo(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=yu(a,k,j,e,f,g)|0;i=h;return a|0}function No(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=zu(a,k,j,e,f,g)|0;i=h;return a|0}function Oo(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Au(a,k,j,e,f,g)|0;i=h;return a|0}function Po(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Bu(a,k,j,e,f,g)|0;i=h;return a|0}function Qo(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Cu(a,k,j,e,f,g)|0;i=h;return a|0}function Ro(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Du(a,k,j,e,f,g)|0;i=h;return a|0}function So(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Eu(a,k,j,e,f,g)|0;i=h;return a|0}function To(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Fu(a,k,j,e,f,g)|0;i=h;return a|0}function Uo(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Gu(a,k,j,e,f,g)|0;i=h;return a|0}function Vo(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;C=i;i=i+240|0;x=C;s=C+208|0;E=C+32|0;b=C+28|0;D=C+16|0;w=C+12|0;u=C+48|0;v=C+8|0;t=C+4|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;o=0;g=ka(68,g|0)|0;r=o;o=0;do if(r&1)b=Na()|0;else{c[b>>2]=g;o=0;b=ra(37,b|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,va(c[(c[b>>2]|0)+32>>2]|0,b|0,57498,57524,s|0)|0,r=o,o=0,!(r&1)):0){pm(g)|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;if(!(a[D>>0]&1))b=10;else b=(c[D>>2]&-2)+-1|0;o=0;wa(8,D|0,b|0,0);r=o;o=0;a:do if(!(r&1)){q=D+8|0;r=D+1|0;g=(a[D>>0]&1)==0?r:c[q>>2]|0;c[w>>2]=g;c[v>>2]=u;c[t>>2]=0;p=D+4|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){F=29;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){F=29;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;F=19;break}}else F=19;while(0);if((F|0)==19){F=0;if(l){k=0;break}else k=0}l=a[D>>0]|0;l=(l&1)==0?(l&255)>>>1:c[p>>2]|0;if((c[w>>2]|0)==(g+l|0)){o=0;wa(8,D|0,l<<1|0,0);n=o;o=0;if(n&1){F=29;break}if(!(a[D>>0]&1))g=10;else g=(c[D>>2]&-2)+-1|0;o=0;wa(8,D|0,g|0,0);n=o;o=0;if(n&1){F=29;break}g=(a[D>>0]&1)==0?r:c[q>>2]|0;c[w>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=29;break}}else l=d[l>>0]|0;if(Wo(l&255,16,g,w,t,0,E,u,v,s)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=29;break}else continue}else{c[m>>2]=k+1;continue}}if((F|0)==29){b=Na()|0;break}o=0;wa(8,D|0,(c[w>>2]|0)-g|0,0);G=o;o=0;if((!(G&1)?(y=a[D>>0]|0,z=c[q>>2]|0,o=0,A=ua(3)|0,G=o,o=0,!(G&1)):0)?(o=0,c[x>>2]=j,B=va(16,((y&1)==0?r:z)|0,A|0,58882,x|0)|0,G=o,o=0,!(G&1)):0){if((B|0)!=1)c[h>>2]=4;if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=30;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;G=o;o=0;if(G&1){F=30;break a}if((b|0)==-1){c[f>>2]=0;F=55;break}}if(!g)F=56}else F=55;while(0);if((F|0)==55?g:0)F=56;if((F|0)==56)c[h>>2]=c[h>>2]|2;G=c[e>>2]|0;Im(D);Im(E);i=C;return G|0}else F=30}else F=30;while(0);if((F|0)==30)b=Na()|0;Im(D);break}b=Na()|0;pm(g)|0}while(0);Im(E);Ya(b|0);return 0}function Wo(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i>>0]|0;if(b<<24>>24==h<<24>>24?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+26|0;m=l;while(1){if((a[m>>0]|0)==b<<24>>24)break;m=m+1|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[57498+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[57498+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function Xo(){var b=0,d=0;do if((a[1968]|0)==0?(Ha(1968)|0)!=0:0){o=0;b=ma(31,2147483647,58885,0)|0;d=o;o=0;if(d&1){d=Na()|0;sb(1968);Ya(d|0)}else{c[11196]=b;Pa(1968);break}}while(0);return c[11196]|0}function Yo(a){a=a|0;return}function Zo(a){a=a|0;cj(a);return}function _o(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;q=s+56|0;j=s+52|0;n=s+48|0;k=s+44|0;l=s+40|0;m=s+36|0;p=s+32|0;t=s+8|0;r=s;a:do if(!(c[f+4>>2]&1)){c[n>>2]=-1;t=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[j>>2]=c[k>>2];c[q>>2]=c[l>>2];j=Db[t&63](b,j,q,f,g,n)|0;c[d>>2]=j;switch(c[n>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{j=jn(f)|0;c[m>>2]=j;o=0;b=ra(37,m|0,44212)|0;n=o;o=0;do if(!(n&1)){pm(j)|0;j=jn(f)|0;c[p>>2]=j;o=0;l=ra(37,p|0,44368)|0;p=o;o=0;if(p&1){t=Na()|0;pm(j)|0;j=t;break}pm(j)|0;o=0;ia(c[(c[l>>2]|0)+24>>2]|0,t|0,l|0);p=o;o=0;if(!(p&1)){k=t+12|0;o=0;ia(c[(c[l>>2]|0)+28>>2]|0,k|0,l|0);p=o;o=0;if(!(p&1)){c[r>>2]=c[e>>2];o=0;c[q>>2]=c[r>>2];j=ea(8,d|0,q|0,t|0,t+24|0,b|0,g|0,1)|0;g=o;o=0;if(g&1){j=Na()|0;Wm(t+12|0);Wm(t);break}else{a[h>>0]=(j|0)==(t|0)&1;j=c[d>>2]|0;Wm(t+12|0);Wm(t);break a}}}else k=t;j=Na()|0;l=D;if((t|0)!=(k|0))do{k=k+-12|0;Wm(k)}while((k|0)!=(t|0))}else{t=Na()|0;pm(j)|0;j=t}while(0);Ya(j|0)}while(0);i=s;return j|0}function $o(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ju(a,k,j,e,f,g)|0;i=h;return a|0}function ap(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ku(a,k,j,e,f,g)|0;i=h;return a|0}function bp(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Lu(a,k,j,e,f,g)|0;i=h;return a|0}function cp(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Mu(a,k,j,e,f,g)|0;i=h;return a|0}function dp(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Nu(a,k,j,e,f,g)|0;i=h;return a|0}function ep(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ou(a,k,j,e,f,g)|0;i=h;return a|0}function fp(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Pu(a,k,j,e,f,g)|0;i=h;return a|0}function gp(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Qu(a,k,j,e,f,g)|0;i=h;return a|0}function hp(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ru(a,k,j,e,f,g)|0;i=h;return a|0}function ip(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,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;B=i;i=i+320|0;w=B;r=B+208|0;D=B+32|0;b=B+28|0;C=B+16|0;v=B+12|0;t=B+48|0;u=B+8|0;s=B+4|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;f=ka(68,f|0)|0;q=o;o=0;do if(q&1)b=Na()|0;else{c[b>>2]=f;o=0;b=ra(37,b|0,44212)|0;q=o;o=0;if(!(q&1)?(o=0,va(c[(c[b>>2]|0)+48>>2]|0,b|0,57498,57524,r|0)|0,q=o,o=0,!(q&1)):0){pm(f)|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;if(!(a[C>>0]&1))b=10;else b=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,b|0,0);q=o;o=0;a:do if(!(q&1)){p=C+8|0;q=C+1|0;b=(a[C>>0]&1)==0?q:c[p>>2]|0;c[v>>2]=b;c[u>>2]=t;c[s>>2]=0;n=C+4|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){E=30;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){E=30;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k){j=l;break}else{j=l;break b}else{c[e>>2]=0;E=20;break}}else E=20;while(0);if((E|0)==20){E=0;if(k){j=0;break}else j=0}k=a[C>>0]|0;k=(k&1)==0?(k&255)>>>1:c[n>>2]|0;if((c[v>>2]|0)==(b+k|0)){o=0;wa(8,C|0,k<<1|0,0);m=o;o=0;if(m&1){E=30;break}if(!(a[C>>0]&1))b=10;else b=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,b|0,0);m=o;o=0;if(m&1){E=30;break}b=(a[C>>0]&1)==0?q:c[p>>2]|0;c[v>>2]=b+k}l=f+12|0;k=c[l>>2]|0;m=f+16|0;if((k|0)==(c[m>>2]|0)){o=0;k=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=30;break}}else k=c[k>>2]|0;if(jp(k,16,b,v,s,0,D,t,u,r)|0)break;j=c[l>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=30;break}else{j=f;continue}}else{c[l>>2]=j+4;j=f;continue}}if((E|0)==30){b=Na()|0;break}o=0;wa(8,C|0,(c[v>>2]|0)-b|0,0);F=o;o=0;if((!(F&1)?(x=a[C>>0]|0,y=c[p>>2]|0,o=0,z=ua(3)|0,F=o,o=0,!(F&1)):0)?(o=0,c[w>>2]=h,A=va(16,((x&1)==0?q:y)|0,z|0,58882,w|0)|0,F=o,o=0,!(F&1)):0){if((A|0)!=1)c[g>>2]=4;if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=31;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;F=o;o=0;if(F&1){E=31;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{E=59;break}else{c[e>>2]=0;E=57;break}}else E=57;while(0);if((E|0)==57?f:0)E=59;if((E|0)==59)c[g>>2]=c[g>>2]|2;F=c[d>>2]|0;Im(C);Im(D);i=B;return F|0}else E=31}else E=31;while(0);if((E|0)==31)b=Na()|0;Im(C);break}b=Na()|0;pm(f)|0}while(0);Im(D);Ya(b|0);return 0}function jp(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i>>0]|0;if((b|0)==(h|0)?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+104|0;m=l;while(1){if((c[m>>2]|0)==(b|0))break;m=m+4|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;i=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((i|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[57498+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[57498+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function kp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;k=l;d=jn(d)|0;c[k>>2]=d;o=0;g=ra(37,k|0,44220)|0;m=o;o=0;if((((!(m&1)?(o=0,va(c[(c[g>>2]|0)+32>>2]|0,g|0,57498,57524,e|0)|0,m=o,o=0,!(m&1)):0)?(o=0,j=ra(37,k|0,44360)|0,m=o,o=0,!(m&1)):0)?(o=0,h=ka(c[(c[j>>2]|0)+16>>2]|0,j|0)|0,m=o,o=0,!(m&1)):0)?(a[f>>0]=h,o=0,ia(c[(c[j>>2]|0)+20>>2]|0,b|0,j|0),m=o,o=0,!(m&1)):0){pm(d)|0;i=l;return}m=Na()|0;pm(d)|0;Ya(m|0)}function lp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0;n=i;i=i+16|0;m=n;d=jn(d)|0;c[m>>2]=d;o=0;h=ra(37,m|0,44220)|0;p=o;o=0;if(((((!(p&1)?(o=0,va(c[(c[h>>2]|0)+32>>2]|0,h|0,57498,57530,e|0)|0,p=o,o=0,!(p&1)):0)?(o=0,l=ra(37,m|0,44360)|0,p=o,o=0,!(p&1)):0)?(o=0,j=ka(c[(c[l>>2]|0)+12>>2]|0,l|0)|0,p=o,o=0,!(p&1)):0)?(a[f>>0]=j,o=0,k=ka(c[(c[l>>2]|0)+16>>2]|0,l|0)|0,p=o,o=0,!(p&1)):0)?(a[g>>0]=k,o=0,ia(c[(c[l>>2]|0)+20>>2]|0,b|0,l|0),p=o,o=0,!(p&1)):0){pm(d)|0;i=n;return}p=Na()|0;pm(d)|0;Ya(p|0)}function mp(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do if(b<<24>>24==i<<24>>24)if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if(b<<24>>24==j<<24>>24?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+32|0;p=o;while(1){if((a[p>>0]|0)==b<<24>>24)break;p=p+1|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;if((i|0)>31)p=-1;else{j=a[57498+i>>0]|0;switch(i|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=j;p=0;break a}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>21){p=0;break a}c[n>>2]=(c[n>>2]|0)+1;p=0;break a}}}}while(0);return p|0}function np(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;j=k;b=jn(b)|0;c[j>>2]=b;o=0;f=ra(37,j|0,44212)|0;l=o;o=0;if((((!(l&1)?(o=0,va(c[(c[f>>2]|0)+48>>2]|0,f|0,57498,57524,d|0)|0,l=o,o=0,!(l&1)):0)?(o=0,h=ra(37,j|0,44368)|0,l=o,o=0,!(l&1)):0)?(o=0,g=ka(c[(c[h>>2]|0)+16>>2]|0,h|0)|0,l=o,o=0,!(l&1)):0)?(c[e>>2]=g,o=0,ia(c[(c[h>>2]|0)+20>>2]|0,a|0,h|0),l=o,o=0,!(l&1)):0){pm(b)|0;i=k;return}l=Na()|0;pm(b)|0;Ya(l|0)}function op(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;l=m;b=jn(b)|0;c[l>>2]=b;o=0;g=ra(37,l|0,44212)|0;n=o;o=0;if(((((!(n&1)?(o=0,va(c[(c[g>>2]|0)+48>>2]|0,g|0,57498,57530,d|0)|0,n=o,o=0,!(n&1)):0)?(o=0,k=ra(37,l|0,44368)|0,n=o,o=0,!(n&1)):0)?(o=0,h=ka(c[(c[k>>2]|0)+12>>2]|0,k|0)|0,n=o,o=0,!(n&1)):0)?(c[e>>2]=h,o=0,j=ka(c[(c[k>>2]|0)+16>>2]|0,k|0)|0,n=o,o=0,!(n&1)):0)?(c[f>>2]=j,o=0,ia(c[(c[k>>2]|0)+20>>2]|0,a|0,k|0),n=o,o=0,!(n&1)):0){pm(b)|0;i=m;return}n=Na()|0;pm(b)|0;Ya(n|0)}function pp(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do if((b|0)==(i|0))if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if((b|0)==(j|0)?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+128|0;p=o;while(1){if((c[p>>2]|0)==(b|0))break;p=p+4|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;p=i>>2;if((i|0)<=124){j=a[57498+p>>0]|0;switch(p|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;break}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}}}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>84)p=0;else{c[n>>2]=(c[n>>2]|0)+1;p=0}}else p=-1}while(0);return p|0}function qp(a){a=a|0;return}function rp(a){a=a|0;cj(a);return}function sp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n;a:do if(!(c[e+4>>2]&1)){m=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Mb[m&31](b,h,e,f,g&1)|0}else{h=jn(e)|0;c[k>>2]=h;o=0;j=ra(37,k|0,44360)|0;l=o;o=0;b:do if(l&1){n=Na()|0;pm(h)|0;h=n}else{pm(h)|0;h=c[j>>2]|0;if(g)Cb[c[h+24>>2]&127](m,j);else Cb[c[h+28>>2]&127](m,j);b=a[m>>0]|0;l=(b&1)==0;h=m+1|0;g=m+8|0;k=l?h:m+1|0;h=l?h:c[m+8>>2]|0;l=m+4|0;e=(b&1)==0;c:do if((h|0)!=((e?k:c[g>>2]|0)+(e?(b&255)>>>1:c[l>>2]|0)|0)){d:while(1){j=a[h>>0]|0;f=c[d>>2]|0;do if(f){e=f+24|0;b=c[e>>2]|0;if((b|0)!=(c[f+28>>2]|0)){c[e>>2]=b+1;a[b>>0]=j;break}o=0;j=ra(c[(c[f>>2]|0)+52>>2]|0,f|0,j&255|0)|0;b=o;o=0;if(b&1)break d;if((j|0)==-1)c[d>>2]=0}while(0);h=h+1|0;b=a[m>>0]|0;e=(b&1)==0;if((h|0)==((e?k:c[g>>2]|0)+(e?(b&255)>>>1:c[l>>2]|0)|0))break c}h=Na()|0;Im(m);break b}while(0);h=c[d>>2]|0;Im(m);break a}while(0);Ya(h|0)}while(0);i=n;return h|0}function tp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+64|0;h=n;q=n+56|0;r=n+44|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,1,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(1,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=cd(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function up(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=a[c>>0]|0;if(f<<24>>24){g=c;while(1){g=g+1|0;c=b+1|0;a[b>>0]=f;f=a[g>>0]|0;if(!(f<<24>>24)){b=c;break}else b=c}}a:do switch(e&74|0){case 64:{a[b>>0]=111;break}case 8:if(!(e&16384)){a[b>>0]=120;break a}else{a[b>>0]=88;break a}default:if(d){a[b>>0]=100;break a}else{a[b>>0]=117;break a}}while(0);return}function vp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do switch(c[e+4>>2]&176|0){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}while(0);return b|0}function wp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;t=Is(j,44220)|0;m=Is(j,44360)|0;Cb[c[(c[m>>2]|0)+20>>2]&127](w,m);r=a[w>>0]|0;s=w+4|0;a:do if(!(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0)){o=0;va(c[(c[t>>2]|0)+32>>2]|0,t|0,b|0,e|0,f|0)|0;u=o;o=0;if(u&1)u=5;else{j=f+(e-b)|0;c[h>>2]=j;u=29}}else{c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,j|0)|0;r=o;o=0;if(r&1){u=5;break a}l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=j;l=b+1|0;break}default:l=b}b:do if((e-l|0)>1?(a[l>>0]|0)==48:0){j=l+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break b}o=0;k=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,48)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+1;a[r>>0]=k;o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,a[j>>0]|0)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+1;a[r>>0]=j;l=l+2|0}while(0);if((l|0)!=(e|0)?(n=e+-1|0,l>>>0>>0):0){k=l;j=n;do{r=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=r;k=k+1|0;j=j+-1|0}while(k>>>0>>0)}o=0;n=ka(c[(c[m>>2]|0)+16>>2]|0,m|0)|0;r=o;o=0;if(!(r&1)){p=w+8|0;q=w+1|0;c:do if(l>>>0>>0){j=0;k=0;r=l;while(1){m=a[((a[w>>0]&1)==0?q:c[p>>2]|0)+k>>0]|0;if(m<<24>>24!=0&(j|0)==(m<<24>>24|0)){j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=n;j=a[w>>0]|0;m=0;k=(k>>>0<(((j&1)==0?(j&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+k|0}else m=j;o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,a[r>>0]|0)|0;x=o;o=0;if(x&1)break;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=j;r=r+1|0;if(r>>>0>=e>>>0)break c;else j=m+1|0}j=Na()|0;break a}while(0);k=b;j=f+(l-k)|0;b=c[h>>2]|0;if((j|0)==(b|0)){b=k;u=29}else{b=b+-1|0;if(j>>>0>>0)do{x=a[j>>0]|0;a[j>>0]=a[b>>0]|0;a[b>>0]=x;j=j+1|0;b=b+-1|0}while(j>>>0>>0);b=k;j=c[h>>2]|0;u=29}}else u=5}while(0);if((u|0)==5)j=Na()|0;else if((u|0)==29){c[g>>2]=(d|0)==(e|0)?j:f+(d-b)|0;Im(w);i=v;return}Im(w);Ya(j|0)}function xp(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,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+96|0;h=n+8|0;a=n;q=n+74|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,1,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,22,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(1,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=cd(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function yp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+64|0;h=n;q=n+56|0;r=n+44|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,0,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(1,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=cd(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function zp(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,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+112|0;h=n+8|0;a=n;q=n+75|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,0,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,23,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(1,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=cd(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function Ap(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=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;z=i;i=i+176|0;u=z+84|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+88|0;t=z+80|0;k=z+118|0;y=z+76|0;x=z+72|0;v=z+68|0;w=z+64|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58898,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,c[q>>2]=c[d+8>>2],h[q+8>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<1)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}while(0);do if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(2,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(39,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Bp(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}h=d&260;f=d>>>14;i=(h|0)==260;if(i)g=0;else{a[b>>0]=46;a[b+1>>0]=42;b=b+2|0;g=1}d=a[c>>0]|0;if(d<<24>>24){e=b;while(1){c=c+1|0;b=e+1|0;a[e>>0]=d;d=a[c>>0]|0;if(!(d<<24>>24))break;else e=b}}a:do switch(h|0){case 4:if(!(f&1)){a[b>>0]=102;break a}else{a[b>>0]=70;break a}case 256:if(!(f&1)){a[b>>0]=101;break a}else{a[b>>0]=69;break a}default:{d=(f&1|0)!=0;if(i)if(d){a[b>>0]=65;break a}else{a[b>>0]=97;break a}else if(d){a[b>>0]=71;break a}else{a[b>>0]=103;break a}}}while(0);return g|0}function Cp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;z=i;i=i+16|0;A=z;y=Is(j,44220)|0;w=Is(j,44360)|0;Cb[c[(c[w>>2]|0)+20>>2]&127](A,w);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,j|0)|0;x=o;o=0;if(x&1)v=8;else{n=c[h>>2]|0;c[h>>2]=n+1;a[n>>0]=j;n=b+1|0;v=10}break}default:{n=b;v=10}}a:do if((v|0)==10){x=e;b:do if((x-n|0)>1?(a[n>>0]|0)==48:0){l=n+1|0;switch(a[l>>0]|0){case 88:case 120:break;default:{v=11;break b}}o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,48)|0;u=o;o=0;if(u&1){v=8;break a}u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=j;n=n+2|0;o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,a[l>>0]|0)|0;u=o;o=0;if(u&1){v=8;break a}u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=j;if(n>>>0>>0){j=n;while(1){l=a[j>>0]|0;o=0;m=ua(3)|0;u=o;o=0;if(u&1)break;o=0;l=ra(39,l<<24>>24|0,m|0)|0;u=o;o=0;if(u&1)break;if(!l){u=n;break b}j=j+1|0;if(j>>>0>=e>>>0){u=n;break b}}j=Na()|0;break a}else{u=n;j=n}}else v=11;while(0);c:do if((v|0)==11)if(n>>>0>>0){j=n;while(1){l=a[j>>0]|0;o=0;m=ua(3)|0;u=o;o=0;if(u&1)break;o=0;l=ra(40,l<<24>>24|0,m|0)|0;u=o;o=0;if(u&1)break;if(!l){u=n;break c}j=j+1|0;if(j>>>0>=e>>>0){u=n;break c}}j=Na()|0;break a}else{u=n;j=n}while(0);s=a[A>>0]|0;t=A+4|0;if(((s&1)==0?(s&255)>>>1:c[t>>2]|0)|0){if((u|0)!=(j|0)?(p=j+-1|0,u>>>0

>>0):0){m=u;l=p;do{s=a[m>>0]|0;a[m>>0]=a[l>>0]|0;a[l>>0]=s;m=m+1|0;l=l+-1|0}while(m>>>0>>0)}o=0;p=ka(c[(c[w>>2]|0)+16>>2]|0,w|0)|0;s=o;o=0;if(s&1){v=8;break}q=A+8|0;r=A+1|0;d:do if(u>>>0>>0){l=0;m=0;s=u;while(1){n=a[((a[A>>0]&1)==0?r:c[q>>2]|0)+m>>0]|0;if(n<<24>>24>0&(l|0)==(n<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=p;l=a[A>>0]|0;n=0;m=(m>>>0<(((l&1)==0?(l&255)>>>1:c[t>>2]|0)+-1|0)>>>0&1)+m|0}else n=l;o=0;l=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,a[s>>0]|0)|0;B=o;o=0;if(B&1)break;B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=l;s=s+1|0;if(s>>>0>=j>>>0)break d;else l=n+1|0}j=Na()|0;break a}while(0);l=f+(u-b)|0;m=c[h>>2]|0;if((l|0)!=(m|0)?(k=m+-1|0,l>>>0>>0):0){do{B=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=B;l=l+1|0;k=k+-1|0}while(l>>>0>>0);l=y}else l=y}else{o=0;va(c[(c[y>>2]|0)+32>>2]|0,y|0,u|0,j|0,c[h>>2]|0)|0;B=o;o=0;if(B&1){v=8;break}c[h>>2]=(c[h>>2]|0)+(j-u);l=y}e:do if(j>>>0>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46)break;o=0;k=ra(c[(c[l>>2]|0)+28>>2]|0,y|0,k|0)|0;B=o;o=0;if(B&1){v=4;break}B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=k;j=j+1|0;if(j>>>0>=e>>>0)break e}if((v|0)==4){j=Na()|0;break a}o=0;k=ka(c[(c[w>>2]|0)+12>>2]|0,w|0)|0;B=o;o=0;if(B&1){v=8;break a}B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=k;j=j+1|0}while(0);o=0;va(c[(c[y>>2]|0)+32>>2]|0,y|0,j|0,e|0,c[h>>2]|0)|0;B=o;o=0;if(B&1)v=8;else{B=(c[h>>2]|0)+(x-j)|0;c[h>>2]=B;c[g>>2]=(d|0)==(e|0)?B:f+(d-b)|0;Im(A);i=z;return}}while(0);if((v|0)==8)j=Na()|0;Im(A);Ya(j|0)}function Dp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=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;z=i;i=i+176|0;u=z+76|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+80|0;t=z+72|0;k=z+110|0;y=z+68|0;x=z+64|0;v=z+60|0;w=z+56|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58899,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,h[q>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<1)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}while(0);do if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(2,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(39,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Ep(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+80|0;l=q;b=q+70|0;n=q+12|0;p=q+32|0;k=q+8|0;m=q+4|0;a[b>>0]=a[58901]|0;a[b+1>>0]=a[58902]|0;a[b+2>>0]=a[58903]|0;a[b+3>>0]=a[58904]|0;a[b+4>>0]=a[58905]|0;a[b+5>>0]=a[58906]|0;h=Xo()|0;c[l>>2]=g;b=Su(n,20,h,b,l)|0;g=n+b|0;h=vp(n,g,e)|0;j=jn(e)|0;c[k>>2]=j;o=0;k=ra(37,k|0,44220)|0;r=o;o=0;if(r&1){r=Na()|0;pm(j)|0;Ya(r|0)}else{pm(j)|0;Pb[c[(c[k>>2]|0)+32>>2]&31](k,n,g,p)|0;r=p+b|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];r=cd(l,p,(h|0)==(g|0)?r:p+(h-n)|0,r,e,f)|0;i=q;return r|0}return 0}function Fp(a){a=a|0;return}function Gp(a){a=a|0;cj(a);return}function Hp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+20|0;j=m+16|0;k=m+12|0;l=m;a:do if(!(c[e+4>>2]&1)){l=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Mb[l&31](b,h,e,f,g&1)|0}else{h=jn(e)|0;c[k>>2]=h;o=0;j=ra(37,k|0,44368)|0;k=o;o=0;b:do if(k&1){m=Na()|0;pm(h)|0;h=m}else{pm(h)|0;h=c[j>>2]|0;if(g)Cb[c[h+24>>2]&127](l,j);else Cb[c[h+28>>2]&127](l,j);b=a[l>>0]|0;e=(b&1)==0;h=l+4|0;g=l+8|0;k=e?h:l+4|0;h=e?h:c[l+8>>2]|0;e=(b&1)==0;c:do if((h|0)!=((e?k:c[g>>2]|0)+((e?(b&255)>>>1:c[k>>2]|0)<<2)|0)){while(1){j=c[h>>2]|0;f=c[d>>2]|0;if(f){e=f+24|0;b=c[e>>2]|0;if((b|0)==(c[f+28>>2]|0)){o=0;j=ra(c[(c[f>>2]|0)+52>>2]|0,f|0,j|0)|0;b=o;o=0;if(b&1)break}else{c[e>>2]=b+4;c[b>>2]=j}if((j|0)==-1)c[d>>2]=0}h=h+4|0;b=a[l>>0]|0;e=(b&1)==0;if((h|0)==((e?k:c[g>>2]|0)+((e?(b&255)>>>1:c[k>>2]|0)<<2)|0))break c}h=Na()|0;Wm(l);break b}while(0);h=c[d>>2]|0;Wm(l);break a}while(0);Ya(h|0)}while(0);i=m;return h|0}function Ip(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+128|0;h=n;q=n+116|0;r=n+104|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,1,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(3,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=Uu(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function Jp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;t=Is(j,44212)|0;m=Is(j,44368)|0;Cb[c[(c[m>>2]|0)+20>>2]&127](w,m);r=a[w>>0]|0;s=w+4|0;a:do if(!(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0)){o=0;va(c[(c[t>>2]|0)+48>>2]|0,t|0,b|0,e|0,f|0)|0;u=o;o=0;if(u&1)u=5;else{j=f+(e-b<<2)|0;c[h>>2]=j;u=28}}else{c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,j|0)|0;r=o;o=0;if(r&1){u=5;break a}l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=j;l=b+1|0;break}default:l=b}b:do if((e-l|0)>1?(a[l>>0]|0)==48:0){j=l+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{r=l;break b}}o=0;k=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,48)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+4;c[r>>2]=k;o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,a[j>>0]|0)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+4;c[r>>2]=j;r=l+2|0}else r=l;while(0);if((r|0)!=(e|0)?(n=e+-1|0,r>>>0>>0):0){k=r;j=n;do{q=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=q;k=k+1|0;j=j+-1|0}while(k>>>0>>0)}o=0;m=ka(c[(c[m>>2]|0)+16>>2]|0,m|0)|0;q=o;o=0;if(!(q&1)){n=w+8|0;p=w+1|0;c:do if(r>>>0>>0){j=0;k=0;q=r;while(1){l=a[((a[w>>0]&1)==0?p:c[n>>2]|0)+k>>0]|0;if(l<<24>>24!=0&(j|0)==(l<<24>>24|0)){j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=m;j=a[w>>0]|0;l=0;k=(k>>>0<(((j&1)==0?(j&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+k|0}else l=j;o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,a[q>>0]|0)|0;x=o;o=0;if(x&1)break;x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=j;q=q+1|0;if(q>>>0>=e>>>0)break c;else j=l+1|0}j=Na()|0;break a}while(0);l=b;j=f+(r-l<<2)|0;k=c[h>>2]|0;if((j|0)!=(k|0)){b=k+-4|0;if(j>>>0>>0){do{x=c[j>>2]|0;c[j>>2]=c[b>>2];c[b>>2]=x;j=j+4|0;b=b+-4|0}while(j>>>0>>0);b=l;j=k;u=28}else{b=l;j=k;u=28}}else{b=l;u=28}}else u=5}while(0);if((u|0)==5)j=Na()|0;else if((u|0)==28){c[g>>2]=(d|0)==(e|0)?j:f+(d-b<<2)|0;Im(w);i=v;return}Im(w);Ya(j|0)}function Kp(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,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+224|0;h=n+8|0;a=n;q=n+196|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,1,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,22,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(3,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=Uu(h,k,r,s,d,e)|0;i=n;return s|0}return 0} - function ut(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+16|0;s=u;q=u+8|0;a:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break a;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}while(0);c[k>>2]=h;c[g>>2]=e;n=j;r=b+8|0;b:do if(!((h|0)==(j|0)|(e|0)==(f|0))){b=h;m=l;c:while(1){w=d;h=c[w+4>>2]|0;l=s;c[l>>2]=c[w>>2];c[l+4>>2]=h;l=qk(c[r>>2]|0)|0;o=0;h=sa(21,b|0,g|0,m-e>>2|0,n-b|0,d|0)|0;w=o;o=0;if(w&1){v=9;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=8;break}switch(h|0){case 0:{p=1;break b}case -1:{l=b;v=14;break c}default:{}}l=(c[k>>2]|0)+h|0;c[k>>2]=l;if((l|0)==(j|0)){v=27;break}if((m|0)==(f|0)){e=c[g>>2]|0;b=l;l=f}else{l=qk(c[r>>2]|0)|0;o=0;e=ma(34,q|0,0,d|0)|0;w=o;o=0;if(w&1){v=35;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=34;break}if((e|0)==-1){p=2;break b}if(e>>>0>(n-(c[k>>2]|0)|0)>>>0){p=1;break b}if(e){l=q;while(1){m=a[l>>0]|0;w=c[k>>2]|0;c[k>>2]=w+1;a[w>>0]=m;e=e+-1|0;if(!e)break;else l=l+1|0}}e=(c[g>>2]|0)+4|0;c[g>>2]=e;d:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break d;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}while(0);b=c[k>>2]|0}if((b|0)==(j|0)|(e|0)==(f|0)){v=47;break b}else m=l}if((v|0)==8){w=Na(0)|0;ec(w)}else if((v|0)==9){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==14){c[k>>2]=l;e:do if((e|0)!=(c[g>>2]|0)){while(1){w=c[e>>2]|0;b=qk(c[r>>2]|0)|0;o=0;l=ma(34,l|0,w|0,s|0)|0;w=o;o=0;if(w&1){t=b;break}if((b|0)!=0?(o=0,ka(75,b|0)|0,w=o,o=0,w&1):0){v=18;break}if((l|0)==-1)break e;l=(c[k>>2]|0)+l|0;c[k>>2]=l;e=e+4|0;if((e|0)==(c[g>>2]|0))break e}if((v|0)==18){w=Na(0)|0;ec(w)}e=Na()|0;if((t|0)!=0?(o=0,ka(75,t|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}while(0);c[g>>2]=e;p=2;break}else if((v|0)==27){e=c[g>>2]|0;v=47;break}else if((v|0)==34){w=Na(0)|0;ec(w)}else if((v|0)==35){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}else v=47;while(0);if((v|0)==47)p=(e|0)!=(f|0)&1;i=u;return p|0}function vt(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+16|0;t=u;a:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break a;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}while(0);c[k>>2]=h;c[g>>2]=e;p=j;r=b+8|0;b:do if(!((h|0)==(j|0)|(e|0)==(f|0))){b=h;n=l;c:while(1){m=d;l=c[m+4>>2]|0;h=t;c[h>>2]=c[m>>2];c[h+4>>2]=l;h=n;l=qk(c[r>>2]|0)|0;o=0;m=sa(22,b|0,g|0,h-e|0,p-b>>2|0,d|0)|0;w=o;o=0;if(w&1){v=9;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=8;break}switch(m|0){case 0:{q=2;break b}case -1:{l=b;v=14;break c}default:{}}b=(c[k>>2]|0)+(m<<2)|0;c[k>>2]=b;if((b|0)==(j|0)){v=31;break}e=c[g>>2]|0;if((n|0)==(f|0))l=f;else{l=qk(c[r>>2]|0)|0;o=0;e=va(20,b|0,e|0,1,d|0)|0;w=o;o=0;if(w&1){v=38;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=37;break}if(e){q=2;break b}c[k>>2]=(c[k>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;d:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break d;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}while(0);b=c[k>>2]|0}if((b|0)==(j|0)|(e|0)==(f|0)){v=47;break b}else n=l}if((v|0)==8){w=Na(0)|0;ec(w)}else if((v|0)==9){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==14){c[k>>2]=l;e:do if((e|0)!=(c[g>>2]|0)){b=l;f:while(1){l=qk(c[r>>2]|0)|0;o=0;b=va(20,b|0,e|0,h-e|0,t|0)|0;w=o;o=0;if(w&1){v=19;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=18;break}switch(b|0){case -1:{v=25;break f}case -2:{v=26;break f}case 0:{e=e+1|0;break}default:e=e+b|0}b=(c[k>>2]|0)+4|0;c[k>>2]=b;if((e|0)==(c[g>>2]|0)){s=e;break e}}if((v|0)==18){w=Na(0)|0;ec(w)}else if((v|0)==19){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==25){c[g>>2]=e;q=2;break b}else if((v|0)==26){c[g>>2]=e;q=1;break b}}else s=e;while(0);c[g>>2]=s;q=(s|0)!=(f|0)&1;break}else if((v|0)==31){e=c[g>>2]|0;v=47;break}else if((v|0)==37){w=Na(0)|0;ec(w)}else if((v|0)==38){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}else v=47;while(0);if((v|0)==47)q=(e|0)!=(f|0)&1;i=u;return q|0}function wt(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;j=i;i=i+16|0;h=j;c[g>>2]=e;e=qk(c[b+8>>2]|0)|0;o=0;b=ma(34,h|0,0,d|0)|0;d=o;o=0;if(d&1){h=Na()|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,j=o,o=0,j&1):0){j=Na(0)|0;ec(j)}Ya(h|0)}if((e|0)!=0?(o=0,ka(75,e|0)|0,d=o,o=0,d&1):0){d=Na(0)|0;ec(d)}switch(b|0){case 0:case -1:{h=2;break}default:{b=b+-1|0;if(b>>>0<=(f-(c[g>>2]|0)|0)>>>0)if(!b)h=0;else while(1){d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;b=b+-1|0;if(!b){h=0;break}else h=h+1|0}else h=1}}i=j;return h|0}function xt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+8|0;o=0;d=ka(75,c[b>>2]|0)|0;e=o;o=0;do if(e&1)f=16;else{o=0;e=ma(35,0,0,4)|0;a=o;o=0;if(a&1){a=Na(0)|0;if(!d)break;o=0;ka(75,d|0)|0;h=o;o=0;if(!(h&1))break;h=Na(0)|0;ec(h)}if((d|0)!=0?(o=0,ka(75,d|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}if(!e){a=c[b>>2]|0;if(a){o=0;a=ka(75,a|0)|0;h=o;o=0;if(h&1){f=16;break}if((a|0)!=0?(o=0,ka(75,a|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}else g=0}else g=1}else g=-1;return g|0}while(0);if((f|0)==16)a=Na(0)|0;ec(a);return 0}function yt(a){a=a|0;return 0}function zt(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;k=e;j=a+8|0;a:do if((d|0)==(e|0)|(f|0)==0)a=0;else{a=0;i=0;while(1){h=qk(c[j>>2]|0)|0;o=0;g=ma(36,d|0,k-d|0,b|0)|0;n=o;o=0;if(n&1){m=h;break}if((h|0)!=0?(o=0,ka(75,h|0)|0,n=o,o=0,n&1):0){l=5;break}switch(g|0){case -2:case -1:break a;case 0:{d=d+1|0;g=1;break}default:d=d+g|0}a=g+a|0;i=i+1|0;if((d|0)==(e|0)|i>>>0>=f>>>0)break a}if((l|0)==5){n=Na(0)|0;ec(n)}a=Na()|0;if((m|0)!=0?(o=0,ka(75,m|0)|0,n=o,o=0,n&1):0){n=Na(0)|0;ec(n)}Ya(a|0)}while(0);return a|0}function At(a){a=a|0;var b=0,d=0;a=c[a+8>>2]|0;if(a){o=0;a=ka(75,a|0)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}if((a|0)!=0?(o=0,ka(75,a|0)|0,d=o,o=0,d&1):0){d=Na(0)|0;ec(d)}else b=4}else b=1;return b|0}function Bt(a){a=a|0;cj(a);return}function Ct(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Hv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Dt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Iv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Et(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Ft(a){a=a|0;return 0}function Gt(a){a=a|0;return 0}function Ht(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Jv(c,d,e,1114111,0)|0}function It(a){a=a|0;return 4}function Jt(a){a=a|0;cj(a);return}function Kt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Kv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Lt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Lv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Mt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Nt(a){a=a|0;return 0}function Ot(a){a=a|0;return 0}function Pt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Mv(c,d,e,1114111,0)|0}function Qt(a){a=a|0;return 4}function Rt(a){a=a|0;cj(a);return}function St(a){a=a|0;cj(a);return}function Tt(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=44384;a[b+8>>0]=46;a[b+9>>0]=44;b=b+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Ut(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=44424;c[a+8>>2]=46;c[a+12>>2]=44;a=a+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Vt(a){a=a|0;c[a>>2]=44384;Im(a+12|0);return}function Wt(a){a=a|0;Vt(a);cj(a);return}function Xt(a){a=a|0;c[a>>2]=44424;Im(a+16|0);return}function Yt(a){a=a|0;Xt(a);cj(a);return}function Zt(b){b=b|0;return a[b+8>>0]|0}function _t(a){a=a|0;return c[a+8>>2]|0}function $t(b){b=b|0;return a[b+9>>0]|0}function au(a){a=a|0;return c[a+12>>2]|0}function bu(a,b){a=a|0;b=b|0;Fm(a,b+12|0);return}function cu(a,b){a=a|0;b=b|0;Fm(a,b+16|0);return}function du(a,b){a=a|0;b=b|0;Gm(a,59024,4);return}function eu(a,b){a=a|0;b=b|0;Um(a,44996,pl(44996)|0);return}function fu(a,b){a=a|0;b=b|0;Gm(a,59029,5);return}function gu(a,b){a=a|0;b=b|0;Um(a,45016,pl(45016)|0);return}function hu(a){a=a|0;switch(c[a+4>>2]&74|0){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function iu(b){b=b|0;do if((a[2464]|0)==0?(Ha(2464)|0)!=0:0){if((a[2472]|0)==0?(Ha(2472)|0)!=0:0){b=45040;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=45208);kb(193,0,n|0)|0;Pa(2472)}o=0;ra(41,45040,59035)|0;b=o;o=0;if(((((((((((((!(b&1)?(o=0,ra(41,45052,59042)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45064,59049)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45076,59057)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45088,59067)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45100,59076)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45112,59083)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45124,59092)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45136,59096)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45148,59100)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45160,59104)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45172,59108)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45184,59112)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45196,59116)|0,b=o,o=0,!(b&1)):0){c[11302]=45040;Pa(2464);break}b=Na()|0;sb(2464);Ya(b|0)}while(0);return c[11302]|0}function ju(b){b=b|0;do if((a[2480]|0)==0?(Ha(2480)|0)!=0:0){if((a[2488]|0)==0?(Ha(2488)|0)!=0:0){b=45212;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=45380);kb(194,0,n|0)|0;Pa(2488)}o=0;ra(42,45212,45380)|0;b=o;o=0;if(((((((((((((!(b&1)?(o=0,ra(42,45224,45408)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45236,45436)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45248,45468)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45260,45508)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45272,45544)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45284,45572)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45296,45608)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45308,45624)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45320,45640)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45332,45656)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45344,45672)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45356,45688)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45368,45704)|0,b=o,o=0,!(b&1)):0){c[11430]=45212;Pa(2480);break}b=Na()|0;sb(2480);Ya(b|0)}while(0);return c[11430]|0}function ku(b){b=b|0;a:do if((a[2496]|0)==0?(Ha(2496)|0)!=0:0){if((a[2504]|0)==0?(Ha(2504)|0)!=0:0){b=45724;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=46012);kb(195,0,n|0)|0;Pa(2504)}o=0;ra(41,45724,59120)|0;b=o;o=0;do if((((((((((((((!(b&1)?(o=0,ra(41,45736,59128)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45748,59137)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45760,59143)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45772,59149)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45784,59153)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45796,59158)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45808,59163)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45820,59170)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45832,59180)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45844,59188)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45856,59197)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45868,59206)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45880,59210)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45892,59214)|0,b=o,o=0,!(b&1)):0){o=0;ra(41,45904,59218)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45916,59149)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45928,59222)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45940,59226)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45952,59230)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45964,59234)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45976,59238)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45988,59242)|0;b=o;o=0;if(b&1)break;o=0;ra(41,46e3,59246)|0;b=o;o=0;if(b&1)break;c[11503]=45724;Pa(2496);break a}while(0);b=Na()|0;sb(2496);Ya(b|0)}while(0);return c[11503]|0}function lu(b){b=b|0;a:do if((a[2512]|0)==0?(Ha(2512)|0)!=0:0){if((a[2520]|0)==0?(Ha(2520)|0)!=0:0){b=46016;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=46304);kb(196,0,n|0)|0;Pa(2520)}o=0;ra(42,46016,46304)|0;b=o;o=0;do if((((((((((((((!(b&1)?(o=0,ra(42,46028,46336)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46040,46372)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46052,46396)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46064,46420)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46076,46436)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46088,46456)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46100,46476)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46112,46504)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46124,46544)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46136,46576)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46148,46612)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46160,46648)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46172,46664)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46184,46680)|0,b=o,o=0,!(b&1)):0){o=0;ra(42,46196,46696)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46208,46420)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46220,46712)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46232,46728)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46244,46744)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46256,46760)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46268,46776)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46280,46792)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46292,46808)|0;b=o;o=0;if(b&1)break;c[11706]=46016;Pa(2512);break a}while(0);b=Na()|0;sb(2512);Ya(b|0)}while(0);return c[11706]|0}function mu(b){b=b|0;do if((a[2528]|0)==0?(Ha(2528)|0)!=0:0){if((a[2536]|0)==0?(Ha(2536)|0)!=0:0){b=46828;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=47116);kb(197,0,n|0)|0;Pa(2536)}o=0;ra(41,46828,59250)|0;b=o;o=0;if(!(b&1)?(o=0,ra(41,46840,59253)|0,b=o,o=0,!(b&1)):0){c[11779]=46828;Pa(2528);break}b=Na()|0;sb(2528);Ya(b|0)}while(0);return c[11779]|0}function nu(b){b=b|0;do if((a[2544]|0)==0?(Ha(2544)|0)!=0:0){if((a[2552]|0)==0?(Ha(2552)|0)!=0:0){b=47120;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=47408);kb(198,0,n|0)|0;Pa(2552)}o=0;ra(42,47120,47408)|0;b=o;o=0;if(!(b&1)?(o=0,ra(42,47132,47420)|0,b=o,o=0,!(b&1)):0){c[11858]=47120;Pa(2544);break}b=Na()|0;sb(2544);Ya(b|0)}while(0);return c[11858]|0}function ou(b){b=b|0;do if((a[2560]|0)==0?(Ha(2560)|0)!=0:0){o=0;wa(5,47436,59256,8);b=o;o=0;if(b&1){b=Na()|0;sb(2560);Ya(b|0)}else{kb(199,47436,n|0)|0;Pa(2560);break}}while(0);return 47436}function pu(b){b=b|0;var c=0;do if((a[2568]|0)==0?(Ha(2568)|0)!=0:0){o=0;b=ka(76,47448)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47484,47448,b|0),c=o,o=0,!(c&1)):0){kb(200,47484,n|0)|0;Pa(2568);break}c=Na()|0;sb(2568);Ya(c|0)}while(0);return 47484}function qu(b){b=b|0;do if((a[2576]|0)==0?(Ha(2576)|0)!=0:0){o=0;wa(5,47496,59265,8);b=o;o=0;if(b&1){b=Na()|0;sb(2576);Ya(b|0)}else{kb(199,47496,n|0)|0;Pa(2576);break}}while(0);return 47496}function ru(b){b=b|0;var c=0;do if((a[2584]|0)==0?(Ha(2584)|0)!=0:0){o=0;b=ka(76,47508)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47544,47508,b|0),c=o,o=0,!(c&1)):0){kb(200,47544,n|0)|0;Pa(2584);break}c=Na()|0;sb(2584);Ya(c|0)}while(0);return 47544}function su(b){b=b|0;do if((a[2592]|0)==0?(Ha(2592)|0)!=0:0){o=0;wa(5,47556,59274,20);b=o;o=0;if(b&1){b=Na()|0;sb(2592);Ya(b|0)}else{kb(199,47556,n|0)|0;Pa(2592);break}}while(0);return 47556}function tu(b){b=b|0;var c=0;do if((a[2600]|0)==0?(Ha(2600)|0)!=0:0){o=0;b=ka(76,47568)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47652,47568,b|0),c=o,o=0,!(c&1)):0){kb(200,47652,n|0)|0;Pa(2600);break}c=Na()|0;sb(2600);Ya(c|0)}while(0);return 47652}function uu(b){b=b|0;do if((a[2608]|0)==0?(Ha(2608)|0)!=0:0){o=0;wa(5,47664,59295,11);b=o;o=0;if(b&1){b=Na()|0;sb(2608);Ya(b|0)}else{kb(199,47664,n|0)|0;Pa(2608);break}}while(0);return 47664}function vu(b){b=b|0;var c=0;do if((a[2616]|0)==0?(Ha(2616)|0)!=0:0){o=0;b=ka(76,47676)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47724,47676,b|0),c=o,o=0,!(c&1)):0){kb(200,47724,n|0)|0;Pa(2616);break}c=Na()|0;sb(2616);Ya(c|0)}while(0);return 47724}function wu(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=44304;a=a+8|0;b=c[a>>2]|0;o=0;d=ua(3)|0;e=o;o=0;do if(!(e&1)){if((b|0)!=(d|0)?(o=0,ha(188,c[a>>2]|0),e=o,o=0,e&1):0)break;return}while(0);e=Na(0)|0;ec(e)}function xu(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+112|0;m=z;p=(g-f|0)/12|0;do if(p>>>0>100){m=Fl(p)|0;if((m|0)==0?(o=0,xa(6),y=o,o=0,y&1):0){l=0;s=6;break}l=m;s=11}else{l=0;s=11}while(0);a:do if((s|0)==11){if((f|0)==(g|0))n=0;else{s=f;q=0;r=m;while(1){n=a[s>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[s+4>>2]|0;if(!n){a[r>>0]=2;n=q+1|0;p=p+-1|0}else{a[r>>0]=1;n=q}s=s+12|0;if((s|0)==(g|0))break;else{q=n;r=r+1|0}}}x=(f|0)==(g|0);y=(f|0)==(g|0);w=0;t=n;b:while(1){n=c[b>>2]|0;do if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;v=o;o=0;if(v&1){s=5;break b}if((n|0)==-1){c[b>>2]=0;n=0;break}else{n=c[b>>2]|0;break}}}else n=0;while(0);s=(n|0)==0;q=c[e>>2]|0;if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;n=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;v=o;o=0;if(v&1){s=5;break}if((n|0)==-1){c[e>>2]=0;q=0}}}else q=0;r=(q|0)==0;n=c[b>>2]|0;if(!((p|0)!=0&(s^r))){s=64;break}q=c[n+12>>2]|0;if((q|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;v=o;o=0;if(v&1){s=5;break}}else n=d[q>>0]|0;n=n&255;if(!k){o=0;n=ra(c[(c[h>>2]|0)+12>>2]|0,h|0,n|0)|0;v=o;o=0;if(v&1){s=5;break}}v=w+1|0;if(x){n=0;s=t}else{r=0;u=f;s=t;t=m;while(1){do if((a[t>>0]|0)==1){if(!(a[u>>0]&1))q=u+1|0;else q=c[u+8>>2]|0;q=a[q+w>>0]|0;if(!k){o=0;q=ra(c[(c[h>>2]|0)+12>>2]|0,h|0,q|0)|0;A=o;o=0;if(A&1){s=4;break b}}if(n<<24>>24!=q<<24>>24){a[t>>0]=0;q=r;p=p+-1|0;break}q=a[u>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[u+4>>2]|0;if((q|0)==(v|0)){a[t>>0]=2;q=1;s=s+1|0;p=p+-1|0}else q=1}else q=r;while(0);u=u+12|0;if((u|0)==(g|0)){n=q;break}else{r=q;t=t+1|0}}}if(!n){w=v;t=s;continue}n=c[b>>2]|0;q=n+12|0;r=c[q>>2]|0;if((r|0)==(c[n+16>>2]|0)){o=0;ka(c[(c[n>>2]|0)+40>>2]|0,n|0)|0;A=o;o=0;if(A&1){s=5;break}}else c[q>>2]=r+1;if((s+p|0)>>>0<2|y){w=v;t=s;continue}else{n=f;r=s;s=m}while(1){if((a[s>>0]|0)==2){q=a[n>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[n+4>>2]|0;if((q|0)!=(v|0)){a[s>>0]=0;r=r+-1|0}}n=n+12|0;if((n|0)==(g|0)){w=v;t=r;continue b}else s=s+1|0}}if((s|0)==4){f=Na()|0;break}else if((s|0)==5){f=Na()|0;break}else if((s|0)==64){do if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;A=o;o=0;if(A&1){s=6;break a}if((n|0)==-1){c[b>>2]=0;n=0;break}else{n=c[b>>2]|0;break}}}else n=0;while(0);p=(n|0)==0;do if(!r){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;n=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;A=o;o=0;if(A&1){s=6;break a}if((n|0)==-1){c[e>>2]=0;s=76;break}}if(!p)s=77}else s=76;while(0);if((s|0)==76?p:0)s=77;if((s|0)==77)c[j>>2]=c[j>>2]|2;c:do if((f|0)==(g|0))s=81;else while(1){if((a[m>>0]|0)==2)break c;f=f+12|0;if((f|0)==(g|0)){s=81;break}else m=m+1|0}while(0);if((s|0)==81){c[j>>2]=c[j>>2]|4;f=g}if(l)Gl(l);i=z;return f|0}}while(0);if((s|0)==6)f=Na()|0;if(l)Gl(l);Ya(f|0);return 0}function yu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(21,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49;while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25;while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function zu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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,E=0,F=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){E=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;k=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(k)break;else break b;o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;n=o;o=0;if(n&1){E=24;break b}if((m|0)!=-1)if(k)break;else break b;else{c[f>>2]=0;E=16;break}}else E=16;while(0);if((E|0)==16){E=0;if(k){l=0;break}else l=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){E=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){E=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+k}m=b+12|0;k=c[m>>2]|0;n=b+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}}else k=d[k>>0]|0;if(Wo(k&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[m>>2]=k+1;continue}}if((E|0)==24){b=Na()|0;break}F=a[C>>0]|0;if((((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){F=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=F}o=0;g=va(22,g|0,c[v>>2]|0,h|0,u|0)|0;k=D;F=o;o=0;if(!(F&1)){F=j;c[F>>2]=g;c[F+4>>2]=k;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((b|0)==-1){c[f>>2]=0;E=49;break}}if(!g)E=50}else E=49;while(0);if((E|0)==49?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;F=c[e>>2]|0;Im(B);Im(C);i=A;return F|0}else E=25}else E=25;while(0);if((E|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Au(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,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;B=i;i=i+240|0;u=B+202|0;l=B+200|0;D=B+24|0;C=B+12|0;w=B+8|0;z=B+40|0;A=B+4|0;x=B;v=hu(h)|0;kp(D,h,u,l);c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;if(!(a[C>>0]&1))e=10;else e=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,e|0,0);t=o;o=0;a:do if(!(t&1)){r=C+8|0;s=C+1|0;h=(a[C>>0]&1)==0?s:c[r>>2]|0;c[w>>2]=h;c[A>>2]=z;c[x>>2]=0;t=C+4|0;q=a[l>>0]|0;e=c[f>>2]|0;b:while(1){if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)){o=0;l=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;p=o;o=0;if(p&1){E=24;break}if((l|0)==-1){c[f>>2]=0;e=0}}}else e=0;m=(e|0)==0;l=c[g>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(m)break;else break b;o=0;n=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){E=24;break b}if((n|0)!=-1)if(m)break;else break b;else{c[g>>2]=0;E=16;break}}else E=16;while(0);if((E|0)==16){E=0;if(m){l=0;break}else l=0}m=a[C>>0]|0;m=(m&1)==0?(m&255)>>>1:c[t>>2]|0;if((c[w>>2]|0)==(h+m|0)){o=0;wa(8,C|0,m<<1|0,0);p=o;o=0;if(p&1){E=24;break}if(!(a[C>>0]&1))h=10;else h=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,h|0,0);p=o;o=0;if(p&1){E=24;break}h=(a[C>>0]&1)==0?s:c[r>>2]|0;c[w>>2]=h+m}n=e+12|0;m=c[n>>2]|0;p=e+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=24;break}}else m=d[m>>0]|0;if(Wo(m&255,v,h,w,x,q,D,z,A,u)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[e>>2]|0)+40>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[n>>2]=l+1;continue}}if((E|0)==24){e=Na()|0;break}F=a[D>>0]|0;if((((F&1)==0?(F&255)>>>1:c[D+4>>2]|0)|0)!=0?(y=c[A>>2]|0,(y-z|0)<160):0){F=c[x>>2]|0;c[A>>2]=y+4;c[y>>2]=F}o=0;h=va(23,h|0,c[w>>2]|0,j|0,v|0)|0;F=o;o=0;if(!(F&1)){b[k>>1]=h;Ur(D,z,c[A>>2]|0,j);if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)){o=0;h=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=25;break}if((h|0)==-1){c[f>>2]=0;e=0}}}else e=0;h=(e|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;e=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((e|0)==-1){c[g>>2]=0;E=49;break}}if(!h)E=50}else E=49;while(0);if((E|0)==49?h:0)E=50;if((E|0)==50)c[j>>2]=c[j>>2]|2;F=c[f>>2]|0;Im(C);Im(D);i=B;return F|0}else E=25}else E=25;while(0);if((E|0)==25)e=Na()|0;Im(C);Im(D);Ya(e|0);return 0}function Bu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(24,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49;while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25;while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Cu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(25,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49;while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25;while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Du(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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,E=0,F=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){E=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;k=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(k)break;else break b;o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;n=o;o=0;if(n&1){E=24;break b}if((m|0)!=-1)if(k)break;else break b;else{c[f>>2]=0;E=16;break}}else E=16;while(0);if((E|0)==16){E=0;if(k){l=0;break}else l=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){E=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){E=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+k}m=b+12|0;k=c[m>>2]|0;n=b+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}}else k=d[k>>0]|0;if(Wo(k&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[m>>2]=k+1;continue}}if((E|0)==24){b=Na()|0;break}F=a[C>>0]|0;if((((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){F=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=F}o=0;g=va(26,g|0,c[v>>2]|0,h|0,u|0)|0;k=D;F=o;o=0;if(!(F&1)){F=j;c[F>>2]=g;c[F+4>>2]=k;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((b|0)==-1){c[f>>2]=0;E=49;break}}if(!g)E=50}else E=49;while(0);if((E|0)==49?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;F=c[e>>2]|0;Im(B);Im(C);i=A;return F|0}else E=25}else E=25;while(0);if((E|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Eu(b,e,f,h,j,k){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0.0,m=0,n=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;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,h,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do if(!(v&1)){t=F+8|0;u=F+1|0;h=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=h;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16;while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(h+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))h=10;else h=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,h|0,0);q=o;o=0;if(q&1){H=24;break}h=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=h+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,h,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(1,h|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){g[k>>2]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;h=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((h|0)==-1){c[e>>2]=0;b=0}}}else b=0;h=(b|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!h)H=50}else H=49;while(0);if((H|0)==49?h:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25;while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Fu(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0.0,m=0,n=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;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,g,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do if(!(v&1)){t=F+8|0;u=F+1|0;g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16;while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(g+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))g=10;else g=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,g|0,0);q=o;o=0;if(q&1){H=24;break}g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,g,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(2,g|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){h[k>>3]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!g)H=50}else H=49;while(0);if((H|0)==49?g:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25;while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Gu(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0.0,m=0,n=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;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,g,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do if(!(v&1)){t=F+8|0;u=F+1|0;g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16;while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(g+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))g=10;else g=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,g|0,0);q=o;o=0;if(q&1){H=24;break}g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,g,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(3,g|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){h[k>>3]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!g)H=50}else H=49;while(0);if((H|0)==49?g:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25;while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Hu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=qk(b)|0;b=fl(a,d,g)|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}i=f;return b|0}function Iu(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+112|0;l=y;n=(f-e|0)/12|0;do if(n>>>0>100){l=Fl(n)|0;if((l|0)==0?(o=0,xa(6),x=o,o=0,x&1):0){k=0;q=6;break}k=l;q=11}else{k=0;q=11}while(0);a:do if((q|0)==11){if((e|0)==(f|0))m=0;else{r=e;p=0;q=l;while(1){m=a[r>>0]|0;if(!(m&1))m=(m&255)>>>1;else m=c[r+4>>2]|0;if(!m){a[q>>0]=2;m=p+1|0;n=n+-1|0}else{a[q>>0]=1;m=p}r=r+12|0;if((r|0)==(f|0))break;else{p=m;q=q+1|0}}}w=(e|0)==(f|0);x=(e|0)==(f|0);v=0;s=n;b:while(1){n=c[b>>2]|0;do if(n){p=c[n+12>>2]|0;if((p|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;u=o;o=0;if(u&1){q=5;break b}}else n=c[p>>2]|0;if((n|0)==-1){c[b>>2]=0;r=1;break}else{r=(c[b>>2]|0)==0;break}}else r=1;while(0);p=c[d>>2]|0;if(p){n=c[p+12>>2]|0;if((n|0)==(c[p+16>>2]|0)){o=0;n=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;u=o;o=0;if(u&1){q=5;break}}else n=c[n>>2]|0;if((n|0)==-1){c[d>>2]=0;p=0;q=1}else q=0}else{p=0;q=1}n=c[b>>2]|0;if(!((s|0)!=0&(r^q))){q=66;break}p=c[n+12>>2]|0;if((p|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;u=o;o=0;if(u&1){q=5;break}}else n=c[p>>2]|0;if(!j){o=0;n=ra(c[(c[g>>2]|0)+28>>2]|0,g|0,n|0)|0;u=o;o=0;if(u&1){q=5;break}}u=v+1|0;if(w){n=0;r=s}else{r=0;t=e;q=s;s=l;while(1){do if((a[s>>0]|0)==1){if(!(a[t>>0]&1))p=t+4|0;else p=c[t+8>>2]|0;p=c[p+(v<<2)>>2]|0;if(!j){o=0;p=ra(c[(c[g>>2]|0)+28>>2]|0,g|0,p|0)|0;z=o;o=0;if(z&1){q=4;break b}}if((n|0)!=(p|0)){a[s>>0]=0;p=r;q=q+-1|0;break}p=a[t>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[t+4>>2]|0;if((p|0)==(u|0)){a[s>>0]=2;p=1;m=m+1|0;q=q+-1|0}else p=1}else p=r;while(0);t=t+12|0;if((t|0)==(f|0)){n=p;r=q;break}else{r=p;s=s+1|0}}}if(!n){v=u;s=r;continue}n=c[b>>2]|0;p=n+12|0;q=c[p>>2]|0;if((q|0)==(c[n+16>>2]|0)){o=0;ka(c[(c[n>>2]|0)+40>>2]|0,n|0)|0;z=o;o=0;if(z&1){q=5;break}}else c[p>>2]=q+4;if((m+r|0)>>>0<2|x){v=u;s=r;continue}else{n=e;q=l}while(1){if((a[q>>0]|0)==2){p=a[n>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[n+4>>2]|0;if((p|0)!=(u|0)){a[q>>0]=0;m=m+-1|0}}n=n+12|0;if((n|0)==(f|0)){v=u;s=r;continue b}else q=q+1|0}}if((q|0)==4){e=Na()|0;break}else if((q|0)==5){e=Na()|0;break}else if((q|0)==66){do if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0)){o=0;m=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;z=o;o=0;if(z&1){q=6;break a}}else m=c[m>>2]|0;if((m|0)==-1){c[b>>2]=0;n=1;break}else{n=(c[b>>2]|0)==0;break}}else n=1;while(0);do if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0)){o=0;m=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;z=o;o=0;if(z&1){q=6;break a}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else{q=81;break}else{c[d>>2]=0;q=79;break}}else q=79;while(0);if((q|0)==79?n:0)q=81;if((q|0)==81)c[h>>2]=c[h>>2]|2;c:do if((e|0)==(f|0))q=85;else while(1){if((a[l>>0]|0)==2)break c;e=e+12|0;if((e|0)==(f|0)){q=85;break}else l=l+1|0}while(0);if((q|0)==85){c[h>>2]=c[h>>2]|4;e=f}if(k)Gl(k);i=y;return e|0}}while(0);if((q|0)==6)e=Na()|0;if(k)Gl(k);Ya(e|0);return 0}function Ju(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,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;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17;while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(21,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51;while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26;while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Ku(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,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,E=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0)){o=0;f=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;m=o;o=0;if(m&1){C=25;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(l)break;else break b;else{c[e>>2]=0;C=17;break}}else C=17;while(0);if((C|0)==17){C=0;if(l){k=0;break}else k=0}f=a[A>>0]|0;f=(f&1)==0?(f&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+f|0)){o=0;wa(8,A|0,f<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+f}l=j+12|0;f=c[l>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}}else f=c[f>>2]|0;if(jp(f,t,b,u,v,n,B,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0)){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}else continue}else{c[l>>2]=f+4;continue}}if((C|0)==25){b=Na()|0;break}E=a[B>>0]|0;if((((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){E=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=E}o=0;b=va(22,b|0,c[u>>2]|0,g|0,t|0)|0;f=D;E=o;o=0;if(!(E&1)){E=h;c[E>>2]=b;c[E+4>>2]=f;Ur(B,x,c[y>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51;while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;E=c[d>>2]|0;Im(A);Im(B);i=z;return E|0}else C=26}else C=26;while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Lu(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;A=i;i=i+320|0;t=A+208|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;np(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))d=10;else d=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,d|0,0);s=o;o=0;a:do if(!(s&1)){q=B+8|0;r=B+1|0;d=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=d;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=c[k>>2]|0;k=c[e>>2]|0;b:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0)){o=0;g=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=25;break}}else g=c[g>>2]|0;if((g|0)==-1){c[e>>2]=0;g=0;l=1}else{g=k;l=0}}else{g=0;l=1}m=c[f>>2]|0;do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0)){o=0;k=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;n=o;o=0;if(n&1){D=25;break b}}else k=c[k>>2]|0;if((k|0)!=-1)if(l)break;else{k=m;break b}else{c[f>>2]=0;D=17;break}}else D=17;while(0);if((D|0)==17){D=0;if(l){k=0;break}else m=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(d+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){D=25;break}if(!(a[B>>0]&1))d=10;else d=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,d|0,0);n=o;o=0;if(n&1){D=25;break}d=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=d+k}l=g+12|0;k=c[l>>2]|0;n=g+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=25;break}}else k=c[k>>2]|0;if(jp(k,u,d,v,w,p,C,y,z,t)|0){k=m;break}k=c[l>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=25;break}else{k=g;continue}}else{c[l>>2]=k+4;k=g;continue}}if((D|0)==25){d=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;d=va(23,d|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){b[j>>1]=d;Ur(C,y,c[z>>2]|0,h);if(g){d=c[g+12>>2]|0;if((d|0)==(c[g+16>>2]|0)){o=0;d=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=26;break}}else d=c[d>>2]|0;if((d|0)==-1){c[e>>2]=0;g=1}else g=0}else g=1;do if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0)){o=0;d=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=26;break a}}else d=c[d>>2]|0;if((d|0)!=-1)if(g)break;else{D=53;break}else{c[f>>2]=0;D=51;break}}else D=51;while(0);if((D|0)==51?g:0)D=53;if((D|0)==53)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=26}else D=26;while(0);if((D|0)==26)d=Na()|0;Im(B);Im(C);Ya(d|0);return 0}function Mu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,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;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17;while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(24,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51;while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26;while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Nu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,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;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17;while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(25,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51;while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26;while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Ou(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,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,E=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0)){o=0;f=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;m=o;o=0;if(m&1){C=25;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(l)break;else break b;else{c[e>>2]=0;C=17;break}}else C=17;while(0);if((C|0)==17){C=0;if(l){k=0;break}else k=0}f=a[A>>0]|0;f=(f&1)==0?(f&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+f|0)){o=0;wa(8,A|0,f<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+f}l=j+12|0;f=c[l>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}}else f=c[f>>2]|0;if(jp(f,t,b,u,v,n,B,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0)){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}else continue}else{c[l>>2]=f+4;continue}}if((C|0)==25){b=Na()|0;break}E=a[B>>0]|0;if((((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){E=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=E}o=0;b=va(26,b|0,c[u>>2]|0,g|0,t|0)|0;f=D;E=o;o=0;if(!(E&1)){E=h;c[E>>2]=b;c[E+4>>2]=f;Ur(B,x,c[y>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51;while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;E=c[d>>2]|0;Im(A);Im(B);i=z;return E|0}else C=26}else C=26;while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Pu(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0.0,l=0,m=0,n=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;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17;while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(1,b|0,c[x>>2]|0,h|0);H=o;o=0;if(!(H&1)){g[j>>2]=k;Ur(F,B,c[C>>2]|0,h);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51;while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[h>>2]=c[h>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26;while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Qu(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0.0,l=0,m=0,n=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;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17;while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(2,b|0,c[x>>2]|0,g|0);H=o;o=0;if(!(H&1)){h[j>>3]=k;Ur(F,B,c[C>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51;while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[g>>2]=c[g>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26;while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Ru(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0.0,l=0,m=0,n=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;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17;while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(3,b|0,c[x>>2]|0,g|0);H=o;o=0;if(!(H&1)){h[j>>3]=k;Ur(F,B,c[C>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51;while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[g>>2]=c[g>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26;while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Su(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=i;i=i+16|0;h=g;c[h>>2]=f;f=qk(d)|0;d=el(a,b,e,h)|0;if((f|0)!=0?(o=0,ka(75,f|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}i=g;return d|0}function Tu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=qk(b)|0;o=0;b=ma(37,a|0,d|0,g|0)|0;a=o;o=0;if(a&1){b=Na()|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}Ya(b|0)}else{if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}i=f;return b|0}return 0}function Uu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0;p=i;i=i+16|0;n=p;j=c[b>>2]|0;a:do if(!j)j=0;else{q=d;l=f-q>>2;m=g+12|0;k=c[m>>2]|0;l=(k|0)>(l|0)?k-l|0:0;k=e;q=k-q|0;g=q>>2;if((q|0)>0?(Gb[c[(c[j>>2]|0)+48>>2]&63](j,d,g)|0)!=(g|0):0){c[b>>2]=0;j=0;break}do if((l|0)>0){Vm(n,l,h);o=0;g=ma(c[(c[j>>2]|0)+48>>2]|0,j|0,((a[n>>0]&1)==0?n+4|0:c[n+8>>2]|0)|0,l|0)|0;q=o;o=0;if(q&1){q=Na()|0;Wm(n);Ya(q|0)}if((g|0)==(l|0)){Wm(n);break}else{c[b>>2]=0;Wm(n);j=0;break a}}while(0);q=f-k|0;f=q>>2;if((q|0)>0?(Gb[c[(c[j>>2]|0)+48>>2]&63](j,e,f)|0)!=(f|0):0){c[b>>2]=0;j=0;break}c[m>>2]=0}while(0);i=p;return j|0}function Vu(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=c[a>>2]|0;do if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0))if((Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1){c[a>>2]=0;i=0;break}else{i=c[a>>2]|0;break}}else i=0;while(0);j=(i|0)==0;i=c[e>>2]|0;do if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1:0){c[e>>2]=0;r=11;break}if(j)r=13;else r=12}else r=11;while(0);if((r|0)==11)if(j)r=12;else{i=0;r=13}a:do if((r|0)==12){c[f>>2]=c[f>>2]|6;i=0}else if((r|0)==13){j=c[a>>2]|0;k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=d[k>>0]|0;k=j&255;if(k<<24>>24>-1?(q=g+8|0,(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048)!=0):0){m=(Gb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24;j=c[a>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0)){Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;o=h;n=i;h=i;i=m}else{c[k>>2]=l+1;o=h;n=i;h=i;i=m}while(1){i=i+-48|0;p=o+-1|0;j=c[a>>2]|0;do if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0;while(0);l=(j|0)==0;if(h)if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;k=0;h=0}else{k=n;h=n}else k=n;else{k=n;h=0}j=c[a>>2]|0;if(!((o|0)>1&(l^(h|0)==0)))break;l=c[j+12>>2]|0;if((l|0)==(c[j+16>>2]|0))j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=d[l>>0]|0;l=j&255;if(l<<24>>24<=-1)break a;if(!(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=((Gb[c[(c[g>>2]|0)+36>>2]&63](g,l,0)|0)<<24>>24)+(i*10|0)|0;j=c[a>>2]|0;l=j+12|0;m=c[l>>2]|0;if((m|0)==(c[j+16>>2]|0)){Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;o=p;n=k;continue}else{c[l>>2]=m+1;o=p;n=k;continue}}do if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0;while(0);j=(j|0)==0;do if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)?(Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0)==-1:0){c[e>>2]=0;r=50;break}if(j)break a}else r=50;while(0);if((r|0)==50?!j:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}while(0);return i|0}function Wu(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;g=c[a>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=c[h>>2]|0;if((g|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);h=c[b>>2]|0;do if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else g=c[g>>2]|0;if((g|0)!=-1)if(i){o=17;break}else{o=16;break}else{c[b>>2]=0;o=14;break}}else o=14;while(0);if((o|0)==14)if(i)o=16;else{h=0;o=17}a:do if((o|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((o|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=c[i>>2]|0;if(!(Gb[c[(c[e>>2]|0)+12>>2]&63](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(Gb[c[(c[e>>2]|0)+52>>2]&63](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0)){Eb[c[(c[i>>2]|0)+40>>2]&127](i)|0;m=f;l=h;j=h}else{c[j>>2]=k+4;m=f;l=h;j=h}while(1){g=g+-48|0;n=m+-1|0;h=c[a>>2]|0;do if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=c[i>>2]|0;if((h|0)==-1){c[a>>2]=0;k=1;break}else{k=(c[a>>2]|0)==0;break}}else k=1;while(0);do if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;j=0;f=0;h=1;break}else{j=l;f=l;h=(l|0)==0;break}}else{j=l;f=0;h=1}while(0);i=c[a>>2]|0;if(!((m|0)>1&(k^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=c[h>>2]|0;if(!(Gb[c[(c[e>>2]|0)+12>>2]&63](e,2048,h)|0))break a;g=((Gb[c[(c[e>>2]|0)+52>>2]&63](e,h,0)|0)<<24>>24)+(g*10|0)|0;h=c[a>>2]|0;i=h+12|0;k=c[i>>2]|0;if((k|0)==(c[h+16>>2]|0)){Eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;m=n;l=j;j=f;continue}else{c[i>>2]=k+4;m=n;l=j;j=f;continue}}do if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=c[h>>2]|0;if((h|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);do if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=c[h>>2]|0;if((h|0)!=-1)if(i)break a;else break;else{c[b>>2]=0;o=60;break}}else o=60;while(0);if((o|0)==60?!i:0)break;c[d>>2]=c[d>>2]|2}while(0);return g|0}function Xu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h|0;i=Il(e?i:0,f)|0;if(!i)Sj();do if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}while(0);c[g>>2]=201;c[b>>2]=j+h;c[d>>2]=(c[a>>2]|0)+f;return}function Yu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h>>2;i=Il(e?i:0,f)|0;if(!i)Sj();do if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}while(0);c[g>>2]=201;c[b>>2]=j+(h<<2);c[d>>2]=(c[a>>2]|0)+(f>>>2<<2);return}function Zu(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;h=d;f=a[b>>0]|0;if(!(f&1)){g=10;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h|0;do if((e|0)!=(d|0)){if((g-k|0)>>>0>>0){Tm(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+1|0;else i=c[b+8>>2]|0;h=e+(k-h)|0;if((d|0)!=(e|0)){f=d;g=i+k|0;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else g=g+1|0}}a[i+h>>0]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}while(0);return b|0}function _u(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h>>2;i=Il(e?i:0,f)|0;if(!i)Sj();do if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}while(0);c[g>>2]=201;c[b>>2]=j+(h<<2);c[d>>2]=(c[a>>2]|0)+(f>>>2<<2);return}function $u(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;h=d;f=a[b>>0]|0;if(!(f&1)){g=1;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h>>2;do if(j){if((g-k|0)>>>0>>0){an(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+4|0;else i=c[b+8>>2]|0;h=k+((e-h|0)>>>2)|0;if((d|0)!=(e|0)){f=d;g=i+(k<<2)|0;while(1){c[g>>2]=c[f>>2];f=f+4|0;if((f|0)==(e|0))break;else g=g+4|0}}c[i+(h<<2)>>2]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}while(0);return b|0}function av(b,d){b=b|0;d=d|0;var e=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;do if(d){o=0;ia(125,b|0,d|0);e=o;o=0;if(e&1){e=Na()|0;Dv(b);Ya(e|0)}else{Uv(b,d);break}}while(0);return}function bv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43148)|0);return}function cv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43188)|0);return}function dv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44220)|0);return}function ev(a,b){a=a|0;b=b|0;xs(a,b,Hs(44212)|0);return}function fv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44280)|0);return}function gv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44288)|0);return}function hv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44344)|0);return}function iv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44352)|0);return}function jv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44360)|0);return}function kv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44368)|0);return}function lv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43260)|0);return}function mv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43332)|0);return}function nv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43392)|0);return}function ov(a,b){a=a|0;b=b|0;xs(a,b,Hs(43452)|0);return}function pv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43764)|0);return}function qv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43828)|0);return}function rv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43892)|0);return}function sv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43956)|0);return}function tv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43992)|0);return}function uv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44028)|0);return}function vv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44064)|0);return}function wv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44100)|0);return}function xv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43544)|0);return}function yv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43636)|0);return}function zv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43668)|0);return}function Av(a,b){a=a|0;b=b|0;xs(a,b,Hs(43700)|0);return}function Bv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44140)|0);return}function Cv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44180)|0);return}function Dv(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;do if(e){f=b+4|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do d=d+-4|0;while((d|0)!=(e|0));c[f>>2]=d}if((b+16|0)==(e|0)){a[b+128>>0]=0;break}else{cj(e);break}}while(0);return}function Ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+4|0;d=c[h>>2]|0;e=c[a>>2]|0;f=d-e>>2;if(f>>>0>=b>>>0){if(f>>>0>b>>>0?(g=e+(b<<2)|0,(d|0)!=(g|0)):0){do d=d+-4|0;while((d|0)!=(g|0));c[h>>2]=d}}else Tv(a,b-f|0);return}function Fv(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;if((c[a+12>>2]|0)-d>>2>>>0>b>>>0)d=(c[d+(b<<2)>>2]|0)!=0;else d=0;return d|0}function Gv(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;d=c[d+4>>2]|0;a=(c[a>>2]|0)+(d>>1)|0;if(d&1)b=c[(c[a>>2]|0)+b>>2]|0;Bb[b&255](a);return}function Hv(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do if((m|0)==4){n=f;d=c[g>>2]|0;if(d>>>0>>0)while(1){l=b[d>>1]|0;m=l&65535;if(m>>>0>k>>>0){d=2;break a}do if((l&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=l}else{if((l&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)>=56320){if((l&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;l=e[d>>1]|0;if((l&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}h=m&960;if(((h<<10)+65536|m<<10&64512|l&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(h>>>6)+1|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=d>>>2|240;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>2&15|d<<4&48|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m<<4&48|l>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=l&63|128}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d;if(d>>>0>=f>>>0){d=0;break}}else d=0}while(0);return d|0}function Iv(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;l=f;if((((l-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0){c[g>>2]=e+3;m=c[j>>2]|0}else m=h}else{m=h;l=f}q=i;h=c[g>>2]|0;e=h>>>0>>0;a:do if(e&m>>>0>>0)while(1){e=a[h>>0]|0;o=e&255;if(o>>>0>k>>>0){e=2;break a}do if(e<<24>>24>-1){b[m>>1]=e&255;c[g>>2]=h+1}else{if((e&255)<194){e=2;break a}if((e&255)<224){if((l-h|0)<2){e=1;break a}e=d[h+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|o<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+2;break}if((e&255)<240){if((l-h|0)<3){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;switch(o|0){case 224:{if((n&-32)<<24>>24!=-96){e=2;break a}break}case 237:{if((n&-32)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(n&255)<<6&4032|o<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+3;break}if((e&255)>=245){e=2;break a}if((l-h|0)<4){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;h=a[h+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){e=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=h&255;if((e&192|0)!=128){e=2;break a}if((q-m|0)<4){e=1;break a}o=o&7;h=n&255;n=p<<6;e=e&63;if((h<<12&258048|o<<18|n&4032|e)>>>0>k>>>0){e=2;break a}b[m>>1]=h<<2&60|p>>>4&3|((h>>>4&3|o<<2)<<6)+16320|55296;p=m+2|0;c[j>>2]=p;b[p>>1]=e|n&960|56320;c[g>>2]=(c[g>>2]|0)+4}while(0);m=(c[j>>2]|0)+2|0;c[j>>2]=m;h=c[g>>2]|0;e=h>>>0>>0;if(!(e&m>>>0>>0)){r=39;break}}else r=39;while(0);if((r|0)==39)e=e&1;return e|0}function Jv(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do if((e|0)!=0&g>>>0>>0){m=g;h=0;b:while(1){g=a[m>>0]|0;l=g&255;if(l>>>0>f>>>0){g=m;h=42;break a}do if(g<<24>>24>-1)g=m+1|0;else{if((g&255)<194){g=m;h=42;break a}if((g&255)<224){if((n-m|0)<2){g=m;h=42;break a}g=d[m+1>>0]|0;if((g&192|0)!=128){g=m;h=42;break a}if((g&63|l<<6&1984)>>>0>f>>>0){g=m;h=42;break a}g=m+2|0;break}if((g&255)<240){g=m;if((n-g|0)<3){g=m;h=42;break a}j=a[m+1>>0]|0;i=a[m+2>>0]|0;switch(l|0){case 224:{if((j&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((j&-32)<<24>>24!=-128){h=22;break b}break}default:if((j&-64)<<24>>24!=-128){h=24;break b}}g=i&255;if((g&192|0)!=128){g=m;h=42;break a}if(((j&255)<<6&4032|l<<12&61440|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+3|0;break}if((g&255)>=245){g=m;h=42;break a}g=m;if((e-h|0)>>>0<2|(n-g|0)<4){g=m;h=42;break a}k=a[m+1>>0]|0;i=a[m+2>>0]|0;j=a[m+3>>0]|0;switch(l|0){case 240:{if((k+112&255)>=48){h=32;break b}break}case 244:{if((k&-16)<<24>>24!=-128){h=34;break b}break}default:if((k&-64)<<24>>24!=-128){h=36;break b}}i=i&255;if((i&192|0)!=128){g=m;h=42;break a}g=j&255;if((g&192|0)!=128){g=m;h=42;break a}if(((k&255)<<12&258048|l<<18&1835008|i<<6&4032|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+4|0;h=h+1|0}while(0);h=h+1|0;if(!(h>>>0>>0&g>>>0>>0)){h=42;break a}else m=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42;while(0);if((h|0)==42)g=g-b|0;return g|0}function Kv(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do if((k|0)==4){b=c[e>>2]|0;if(b>>>0>>0)while(1){j=c[b>>2]|0;if(j>>>0>i>>>0|(j&-2048|0)==55296){b=2;break a}do if(j>>>0>=128){if(j>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}b=c[h>>2]|0;g=l-b|0;if(j>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=j}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b;if(b>>>0>=d>>>0){b=0;break}}else b=0}while(0);return b|0}function Lv(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;k=e;if((((k-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0){c[f>>2]=b+3;g=c[i>>2]|0;p=k}else p=k}else p=e;k=c[f>>2]|0;b=k>>>0>>0;a:do if(b&g>>>0>>0)while(1){b=a[k>>0]|0;o=b&255;do if(b<<24>>24>-1){if(o>>>0>j>>>0){b=2;break a}c[g>>2]=o;c[f>>2]=k+1}else{if((b&255)<194){b=2;break a}if((b&255)<224){if((p-k|0)<2){b=1;break a}b=d[k+1>>0]|0;if((b&192|0)!=128){b=2;break a}b=b&63|o<<6&1984;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+2;break}if((b&255)<240){if((p-k|0)<3){b=1;break a}l=a[k+1>>0]|0;b=a[k+2>>0]|0;switch(o|0){case 224:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case 237:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}b=b&255;if((b&192|0)!=128){b=2;break a}b=(l&255)<<6&4032|o<<12&61440|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+3;break}if((b&255)>=245){b=2;break a}if((p-k|0)<4){b=1;break a}n=a[k+1>>0]|0;b=a[k+2>>0]|0;l=a[k+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){b=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){b=2;break a}break}default:if((n&-64)<<24>>24!=-128){b=2;break a}}m=b&255;if((m&192|0)!=128){b=2;break a}b=l&255;if((b&192|0)!=128){b=2;break a}b=(n&255)<<12&258048|o<<18&1835008|m<<6&4032|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+4}while(0);g=(c[i>>2]|0)+4|0;c[i>>2]=g;k=c[f>>2]|0;b=k>>>0>>0;if(!(b&g>>>0>>0)){q=38;break}}else q=38;while(0);if((q|0)==38)b=b&1;return b|0}function Mv(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do if((e|0)!=0&g>>>0>>0){l=g;m=0;b:while(1){g=a[l>>0]|0;k=g&255;do if(g<<24>>24>-1){if(k>>>0>f>>>0){g=l;h=42;break a}g=l+1|0}else{if((g&255)<194){g=l;h=42;break a}if((g&255)<224){if((n-l|0)<2){g=l;h=42;break a}g=d[l+1>>0]|0;if((g&192|0)!=128){g=l;h=42;break a}if((g&63|k<<6&1984)>>>0>f>>>0){g=l;h=42;break a}g=l+2|0;break}if((g&255)<240){g=l;if((n-g|0)<3){g=l;h=42;break a}i=a[l+1>>0]|0;h=a[l+2>>0]|0;switch(k|0){case 224:{if((i&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((i&-32)<<24>>24!=-128){h=22;break b}break}default:if((i&-64)<<24>>24!=-128){h=24;break b}}g=h&255;if((g&192|0)!=128){g=l;h=42;break a}if(((i&255)<<6&4032|k<<12&61440|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+3|0;break}if((g&255)>=245){g=l;h=42;break a}g=l;if((n-g|0)<4){g=l;h=42;break a}j=a[l+1>>0]|0;h=a[l+2>>0]|0;i=a[l+3>>0]|0;switch(k|0){case 240:{if((j+112&255)>=48){h=32;break b}break}case 244:{if((j&-16)<<24>>24!=-128){h=34;break b}break}default:if((j&-64)<<24>>24!=-128){h=36;break b}}h=h&255;if((h&192|0)!=128){g=l;h=42;break a}g=i&255;if((g&192|0)!=128){g=l;h=42;break a}if(((j&255)<<12&258048|k<<18&1835008|h<<6&4032|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+4|0}while(0);m=m+1|0;if(!(m>>>0>>0&g>>>0>>0)){h=42;break a}else l=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42;while(0);if((h|0)==42)g=g-b|0;return g|0}function Nv(a){a=a|0;Im(45196);Im(45184);Im(45172);Im(45160);Im(45148);Im(45136);Im(45124);Im(45112);Im(45100);Im(45088);Im(45076);Im(45064);Im(45052);Im(45040);return}function Ov(a){a=a|0;Wm(45368);Wm(45356);Wm(45344);Wm(45332);Wm(45320);Wm(45308);Wm(45296);Wm(45284);Wm(45272);Wm(45260);Wm(45248);Wm(45236);Wm(45224);Wm(45212);return}function Pv(a){a=a|0;Im(46e3);Im(45988);Im(45976);Im(45964);Im(45952);Im(45940);Im(45928);Im(45916);Im(45904);Im(45892);Im(45880);Im(45868);Im(45856);Im(45844);Im(45832);Im(45820);Im(45808);Im(45796);Im(45784);Im(45772);Im(45760);Im(45748);Im(45736);Im(45724);return}function Qv(a){a=a|0;Wm(46292);Wm(46280);Wm(46268);Wm(46256);Wm(46244);Wm(46232);Wm(46220);Wm(46208);Wm(46196);Wm(46184);Wm(46172);Wm(46160);Wm(46148);Wm(46136);Wm(46124);Wm(46112);Wm(46100);Wm(46088);Wm(46076);Wm(46064);Wm(46052);Wm(46040);Wm(46028);Wm(46016);return}function Rv(a){a=a|0;Im(47104);Im(47092);Im(47080);Im(47068);Im(47056);Im(47044);Im(47032);Im(47020);Im(47008);Im(46996);Im(46984);Im(46972);Im(46960);Im(46948);Im(46936);Im(46924);Im(46912);Im(46900);Im(46888);Im(46876);Im(46864);Im(46852);Im(46840);Im(46828);return}function Sv(a){a=a|0;Wm(47396);Wm(47384);Wm(47372);Wm(47360);Wm(47348);Wm(47336);Wm(47324);Wm(47312);Wm(47300);Wm(47288);Wm(47276);Wm(47264);Wm(47252);Wm(47240);Wm(47228);Wm(47216);Wm(47204);Wm(47192);Wm(47180);Wm(47168);Wm(47156);Wm(47144);Wm(47132);Wm(47120);return}function Tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;g=c[a+8>>2]|0;d=c[a+4>>2]|0;if(g-d>>2>>>0>>0){e=c[a>>2]|0;h=d-e>>2;f=h+b|0;if(f>>>0>1073741823)$i(a);d=g-e|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?f:d}else d=1073741823;Vv(j,d,h,a+16|0);h=j+8|0;g=c[h>>2]|0;iw(g|0,0,b<<2|0)|0;c[h>>2]=g+(b<<2);Wv(a,j);Xv(j)}else Uv(a,b);i=k;return}function Uv(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Vv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;c[b+12>>2]=0;c[b+16>>2]=f;do if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=bj(d<<2)|0;break}}else f=0;while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[b+12>>2]=f+(d<<2);return}function Wv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;g=a+4|0;d=b+4|0;f=(c[g>>2]|0)-e|0;h=(c[d>>2]|0)+(0-(f>>2)<<2)|0;c[d>>2]=h;lw(h|0,e|0,f|0)|0;f=c[a>>2]|0;c[a>>2]=c[d>>2];c[d>>2]=f;f=b+8|0;e=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=e;f=a+8|0;a=b+12|0;e=c[f>>2]|0;c[f>>2]=c[a>>2];c[a>>2]=e;c[b>>2]=c[d>>2];return}function Xv(b){b=b|0;var d=0,e=0,f=0;e=c[b+4>>2]|0;f=b+8|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do d=d+-4|0;while((d|0)!=(e|0));c[f>>2]=d}e=c[b>>2]|0;do if(e){d=c[b+16>>2]|0;if((d|0)==(e|0)){a[d+112>>0]=0;break}else{cj(e);break}}while(0);return}function Yv(b,d){b=b|0;d=d|0;var e=0;if(d>>>0>1073741823)$i(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=bj(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function Zv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do if((a|0)!=(b|0)){f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0.0}while(0);i=j;return +e}function _v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do if((a|0)!=(b|0)){f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0.0}while(0);i=j;return +e}function $v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}while(0);i=j;return +e}function aw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;f=0;b=0;break}g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;b=Xj(b,j,f,Xo()|0)|0;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(d|0)){c[e>>2]=4;f=0;b=0;break}if((f|0)==34){c[e>>2]=4;f=-1;b=-1}else f=D}else{c[e>>2]=4;f=0;b=0}while(0);D=f;i=k;return b|0}function bw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}while(0);i=l;return b|0}function cw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}while(0);i=l;return b|0}function dw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==34){c[e>>2]=4;b=-1;break}else{b=b&65535;break}}else{c[e>>2]=4;b=0}while(0);i=l;return b|0}function ew(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do if((a|0)!=(b|0)){g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;a=Yj(a,j,e,Xo()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;e=0;a=0;break}if((f|0)==34){c[d>>2]=4;j=(e|0)>0|(e|0)==0&a>>>0>0;D=j?2147483647:-2147483648;i=k;return (j?-1:0)|0}}else{c[d>>2]=4;e=0;a=0}while(0);D=e;i=k;return a|0}function fw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do if((a|0)==(b|0)){c[d>>2]=4;a=0}else{g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;a=Yj(a,j,e,Xo()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;a=0;break}do if((f|0)==34){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}while(0);i=k;return a|0}function gw(){}function hw(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 iw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function jw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (D=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function kw(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 lw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Wa(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function mw(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else lw(b,c,d)|0;return b|0}function ow(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 pw(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function qw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=$(e,f)|0;d=a>>>16;a=(c>>>16)+($(e,d)|0)|0;e=b>>>16;b=$(e,f)|0;return (D=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function rw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=hw(j^a,i^b,j,i)|0;g=D;a=f^j;b=e^i;return hw((ww(h,g,hw(f^c,e^d,f,e)|0,D,0)|0)^a,D^b,a,b)|0}function sw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=hw(h^a,g^b,h,g)|0;b=D;ww(a,b,hw(l^d,k^e,l,k)|0,D,j)|0;e=hw(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=D;i=f;return (D=d,e)|0}function tw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=qw(e,f)|0;a=D;return (D=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function uw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ww(a,b,c,d,0)|0}function vw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;ww(a,b,d,e,f)|0;i=g;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function ww(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;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (D=n,f)|0}else{if(!g){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (D=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (D=n,f)|0}g=h-1|0;if(g&h){i=(ba(h|0)|0)+33-(ba(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (D=o,p)|0}else{p=pw(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (D=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (D=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (D=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((pw(i|0)|0)>>>0);return (D=o,p)|0}g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (D=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=jw(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;hw(k,d,e,n)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=hw(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (D=o,p)|0}function xw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return yb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function yw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;zb[a&15](b|0,c|0,d|0,e|0,f|0)}function zw(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;return Ab[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function Aw(a,b){a=a|0;b=b|0;Bb[a&255](b|0)}function Bw(a,b,c){a=a|0;b=b|0;c=c|0;Cb[a&127](b|0,c|0)}function Cw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Db[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Dw(a,b){a=a|0;b=b|0;return Eb[a&127](b|0)|0}function Ew(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return Fb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function Fw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gb[a&63](b|0,c|0,d|0)|0}function Gw(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;Hb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0,n|0,o|0,p|0)}function Hw(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;Ib[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function Iw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Jb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Jw(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;Kb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Kw(a,b,c){a=a|0;b=b|0;c=c|0;return Lb[a&63](b|0,c|0)|0}function Lw(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 Mb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function Mw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +Nb[a&3](b|0,c|0,d|0)}function Nw(a){a=a|0;return Ob[a&15]()|0}function Ow(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Pb[a&31](b|0,c|0,d|0,e|0)|0}function Pw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qb[a&15](b|0,c|0,d|0)}function Qw(a){a=a|0;Rb[a&7]()}function Rw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Sb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Sw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Tb[a&7](b|0,c|0,d|0,e|0,+f)|0}function Tw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ub[a&63](b|0,c|0,d|0,e|0)}function Uw(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;ca(0);return 0}function Vw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(1)}function Ww(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ca(2);return 0}function Xw(a){a=a|0;ca(3)}function Yw(a,b){a=a|0;b=b|0;ca(4)}function Zw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(5);return 0}function _w(a){a=a|0;ca(6);return 0}function $w(a){a=a|0;return cb(a|0)|0}function ax(a){a=a|0;return rb(a|0)|0}function bx(a){a=a|0;return hb(a|0)|0}function cx(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;ca(7);return 0}function dx(a,b,c){a=a|0;b=b|0;c=c|0;ca(8);return 0}function ex(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;ca(9)}function fx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(10)}function gx(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;ca(11)}function hx(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ca(12)}function ix(a,b){a=a|0;b=b|0;ca(13);return 0}function jx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(14);return 0}function kx(a,b,c){a=a|0;b=b|0;c=c|0;ca(15);return 0.0}function lx(){ca(16);return 0}function mx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(17);return 0}function nx(a,b,c){a=a|0;b=b|0;c=c|0;ca(18)}function ox(a,b,c){a=a|0;b=b|0;c=c|0;lb(a|0,b|0,c|0)}function px(){ca(19)}function qx(){pb()}function rx(){Xa()}function sx(){mb()}function tx(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ca(20);return 0}function ux(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ca(21);return 0}function vx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(22)} - function di(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8900]|0;c[b+4580>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+256;j=b+160|0;g=b+156|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function ei(a){a=a|0;var b=0,d=0;c[a>>2]=35660;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function fi(a){a=a|0;var b=0,d=0;c[a>>2]=35660;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function gi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function hi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;pi(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function ii(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;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);ji(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function ji(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,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;A=i;i=i+32|0;C=A+12|0;z=A;k=b+172|0;y=(c[k>>2]|0)+4|0;if((c[b+28>>2]|0)==1)l=c[b+20>>2]|0;else l=1;d=$(l<<1,y)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))x=6;if((x|0)==6?(o=0,e=ka(67,d|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[D>>2]|0)+1|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do if(!l)x=19;else{if(!(l>>>0>1073741823?(o=0,ha(178,z|0),w=o,o=0,w&1):0))x=17;if((x|0)==17?(f=l<<2,o=0,g=ka(67,f|0)|0,w=o,o=0,!(w&1)):0){c[z>>2]=g;x=g+(l<<2)|0;c[z+8>>2]=x;iw(g|0,0,f|0)|0;c[B>>2]=x;x=19;break}e=Na()|0;d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}while(0);if((x|0)==19){m=b+8|0;d=c[m>>2]|0;b:do if((d|0)>0){n=b+4596|0;p=$(l,y)|0;q=p+1|0;r=b+4600|0;s=b+160|0;t=b+168|0;u=b+164|0;v=b+156|0;w=b+88|0;j=b+4592|0;if((l|0)>0)h=0;else{h=0;while(1){g=c[C>>2]|0;e=g+1|0;c[n>>2]=e;f=g+q|0;c[r>>2]=f;if(!(h&1))e=q;else{c[n>>2]=f;c[r>>2]=e;e=1}l=c[s>>2]|0;if((l|0)<=(h|0)?(h|0)<((c[t>>2]|0)+l|0):0){l=c[w>>2]|0;o=0;Aa(c[(c[l>>2]|0)+8>>2]|0,l|0,g+(e+((c[v>>2]|0)-p))|0,c[u>>2]|0,y|0);l=o;o=0;if(l&1)break;d=c[m>>2]|0}h=h+1|0;if((h|0)>=(d|0)){x=50;break b}}e=Na()|0;break}c:while(1){e=c[C>>2]|0;d=e+1|0;c[n>>2]=d;e=e+q|0;c[r>>2]=e;if(h&1){c[n>>2]=e;c[r>>2]=d;d=e}g=c[z>>2]|0;e=d;f=0;do{c[j>>2]=c[g+(f<<2)>>2];x=c[k>>2]|0;a[e+x>>0]=a[e+(x+-1)>>0]|0;a[(c[r>>2]|0)+-1>>0]=a[c[n>>2]>>0]|0;o=0;ia(83,b|0,0);x=o;o=0;if(x&1){x=38;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[j>>2];e=(c[n>>2]|0)+y|0;c[n>>2]=e;d=c[r>>2]|0;c[r>>2]=d+y;f=f+1|0}while((f|0)<(l|0));x=c[s>>2]|0;if(((x|0)<=(h|0)?(h|0)<((c[t>>2]|0)+x|0):0)?(x=c[w>>2]|0,o=0,Aa(c[(c[x>>2]|0)+8>>2]|0,x|0,d+(y+((c[v>>2]|0)-p))|0,c[u>>2]|0,y|0),x=o,o=0,x&1):0){x=30;break}h=h+1|0;if((h|0)>=(c[m>>2]|0)){x=50;break b}}if((x|0)==30){e=Na()|0;break}else if((x|0)==38){e=Na()|0;break}}else x=50;while(0);do if((x|0)==50){o=0;ha(183,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);i=A;return}while(0);d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}function ki(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=b+4596|0;f=c[p>>2]|0;t=b+172|0;e=c[t>>2]|0;if((e|0)<=0)return;q=b+4600|0;r=b+4604|0;s=b+4592|0;k=f;i=d[f+-1>>0]|0;f=d[f>>0]|0;o=0;while(1){m=c[q>>2]|0;j=a[m+(o+-1)>>0]|0;n=j&255;h=o+1|0;g=d[k+h>>0]|0;l=c[r>>2]|0;k=f-i|0;i=i-n|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;m=m+o|0;if(!l){e=mi(b,j,m,e-o|0)|0;f=e+o|0;if((f|0)!=(c[t>>2]|0)){n=ni(b,n,d[(c[p>>2]|0)+f>>0]|0)|0;a[(c[q>>2]|0)+f>>0]=n;n=c[s>>2]|0;c[s>>2]=(n|0)<1?0:n+-1|0;e=e+1|0}h=e+o|0;g=c[p>>2]|0;f=d[g+(h+-1)>>0]|0;g=d[g+h>>0]|0}else{e=f-n>>31;if((e^i|0)<0)e=f;else e=n+((e^k|0)<0?0:k)|0;n=li(b,l,d[m>>0]|0,e,0)|0;a[(c[q>>2]|0)+o>>0]=n}e=c[t>>2]|0;if((e|0)<=(h|0))break;k=c[p>>2]|0;i=f;f=g;o=h}return}function li(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&255;return d|0}d=f&~(h>>31);d=d&255;return d|0}function mi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4592|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;iw(e|0,d|0,g|0)|0;return g|0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=b-d|0;h=a+128|0;e=a+136|0;if((((g|0)>-1?g:0-g|0)|0)>(c[e>>2]|0)){b=$(oi(a,a+4568|0)|0,d-b>>31|1)|0;f=c[e>>2]|0;g=f<<1|1;b=($(b,g)|0)+d|0;if((b|0)>=(0-f|0)){e=c[h>>2]|0;if((e+f|0)<(b|0))b=b-($(c[a+132>>2]|0,g)|0)|0}else{b=($(c[a+132>>2]|0,g)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&255;return a|0}a=e&~(b>>31);a=a&255;return a|0}else{d=oi(a,a+4580|0)|0;g=c[e>>2]|0;f=g<<1|1;b=($(f,d)|0)+b|0;if((b|0)>=(0-g|0)){e=c[h>>2]|0;if((e+g|0)<(b|0))b=b-($(c[a+132>>2]|0,f)|0)|0}else{b=($(c[a+132>>2]|0,f)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&255;return a|0}a=e&~(b>>31);a=a&255;return a|0}return 0}function oi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function pi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0;while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function qi(a){a=a|0;cj(a);return}function ri(a){a=a|0;return 50767}function si(a,b,c){a=a|0;b=b|0;c=c|0;Gm(a,50754,12);return}function ti(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+16|0;t=s;c[t>>2]=0;u=t+4|0;c[u>>2]=0;c[t+8>>2]=0;q=t+8|0;o=0;g=ka(67,1)|0;p=o;o=0;a:do if((!(p&1)?(p=g+1|0,a[g>>0]=e,c[t>>2]=g,c[u>>2]=p,c[q>>2]=p,o=0,ia(84,t|0,d&65535|0),p=o,o=0,!(p&1)):0)?(o=0,ia(84,t|0,b&65535|0),p=o,o=0,!(p&1)):0){m=f&255;g=c[u>>2]|0;e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);p=o;o=0;if(p&1){r=52;break}b=c[t>>2]|0;e=c[q>>2]|0;d=b}l=d;g=e-l|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;e=c[u>>2]|0;k=e-l|0;if(!g){g=0;j=0}else r=12}else{k=c[u>>2]|0;g=2147483647;e=k;k=k-l|0;r=12}if((r|0)==12){o=0;j=ka(67,g|0)|0;p=o;o=0;if(p&1){r=52;break}}a[j+k>>0]=m;n=e-l|0;p=j+(k-n)|0;lw(p|0,d|0,n|0)|0;c[t>>2]=p;c[u>>2]=j+(k+1);c[q>>2]=j+g;if(b)cj(b)}else{a[g>>0]=m;c[u>>2]=(c[u>>2]|0)+1}b:do if((f|0)>0){p=0;while(1){p=p+1|0;n=p&255;g=c[u>>2]|0;d=c[q>>2]|0;if(g>>>0>=d>>>0){b=c[t>>2]|0;e=b;j=g-e+1|0;if((j|0)<0){o=0;ha(178,t|0);m=o;o=0;if(m&1)break;b=c[t>>2]|0;e=b;d=c[q>>2]|0}m=b;g=d-m|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;d=c[u>>2]|0;k=d-m|0;if(!g){l=0;j=0}else r=25}else{k=c[u>>2]|0;g=2147483647;d=k;k=k-m|0;r=25}if((r|0)==25){r=0;o=0;j=ka(67,g|0)|0;l=o;o=0;if(l&1)break;else l=g}a[j+k>>0]=n;g=j+(k+1)|0;m=d-m|0;n=j+(k-m)|0;lw(n|0,b|0,m|0)|0;c[t>>2]=n;c[u>>2]=g;c[q>>2]=j+l;if(e){cj(e);g=c[u>>2]|0}}else{a[g>>0]=n;g=(c[u>>2]|0)+1|0;c[u>>2]=g}e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);n=o;o=0;if(n&1)break;b=c[t>>2]|0;e=c[q>>2]|0;d=b}m=d;g=e-m|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;j=c[u>>2]|0;k=j-m|0;if(!g){l=0;e=0}else r=36}else{k=c[u>>2]|0;g=2147483647;j=k;k=k-m|0;r=36}if((r|0)==36){r=0;o=0;e=ka(67,g|0)|0;n=o;o=0;if(n&1)break;else l=g}a[e+k>>0]=17;g=e+(k+1)|0;m=j-m|0;n=e+(k-m)|0;lw(n|0,d|0,m|0)|0;c[t>>2]=n;c[u>>2]=g;c[q>>2]=e+l;if(b){cj(b);g=c[u>>2]|0}}else{a[g>>0]=17;g=(c[u>>2]|0)+1|0;c[u>>2]=g}e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);n=o;o=0;if(n&1)break;b=c[t>>2]|0;e=c[q>>2]|0;d=b}l=d;g=e-l|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;e=c[u>>2]|0;k=e-l|0;if(!g){g=0;j=0}else r=48}else{k=c[u>>2]|0;g=2147483647;e=k;k=k-l|0;r=48}if((r|0)==48){r=0;o=0;j=ka(67,g|0)|0;n=o;o=0;if(n&1)break}a[j+k>>0]=0;m=e-l|0;n=j+(k-m)|0;lw(n|0,d|0,m|0)|0;c[t>>2]=n;c[u>>2]=j+(k+1);c[q>>2]=j+g;if(b)cj(b)}else{a[g>>0]=0;c[u>>2]=(c[u>>2]|0)+1}if((p|0)>=(f|0))break b}h=Na()|0;break a}while(0);o=0;k=ka(67,20)|0;f=o;o=0;if(!(f&1)){c[k>>2]=36800;a[k+4>>0]=-9;b=k+8|0;c[b>>2]=0;j=k+12|0;c[j>>2]=0;e=k+16|0;c[e>>2]=0;g=c[u>>2]|0;f=c[t>>2]|0;d=g-f|0;do if((g|0)!=(f|0)){if(!((d|0)<0?(o=0,ha(178,b|0),f=o,o=0,f&1):0))r=62;if((r|0)==62?(o=0,h=ka(67,d|0)|0,f=o,o=0,!(f&1)):0){c[j>>2]=h;c[b>>2]=h;c[e>>2]=h+d;g=c[t>>2]|0;e=c[u>>2]|0;if((g|0)==(e|0))break;do{a[h>>0]=a[g>>0]|0;h=(c[j>>2]|0)+1|0;c[j>>2]=h;g=g+1|0}while((g|0)!=(e|0));g=c[t>>2]|0;break}h=Na()|0;g=c[b>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}cj(k);break a}while(0);if(!g){i=s;return k|0}if((c[u>>2]|0)!=(g|0))c[u>>2]=g;cj(g);i=s;return k|0}else r=52}else r=52;while(0);if((r|0)==52)h=Na()|0;g=c[t>>2]|0;if(!g)Ya(h|0);if((c[u>>2]|0)!=(g|0))c[u>>2]=g;cj(g);Ya(h|0);return 0}function ui(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;r=u+28|0;w=u+16|0;t=u+4|0;s=u;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;p=bj(5)|0;c[w>>2]=p;q=w+8|0;c[q>>2]=p+5;a[p>>0]=74;a[p+1>>0]=70;a[p+2>>0]=73;a[p+3>>0]=70;a[p+4>>0]=0;c[x>>2]=p+5;o=0;ia(84,w|0,c[b>>2]&65535|0);p=o;o=0;a:do if(!(p&1)){m=c[b+4>>2]&255;d=c[x>>2]|0;f=c[q>>2]|0;if(d>>>0>=f>>>0){g=c[w>>2]|0;h=g;j=d-h+1|0;if((j|0)<0){o=0;ha(178,w|0);p=o;o=0;if(p&1){v=43;break}h=c[w>>2]|0;f=c[q>>2]|0;g=h}l=g;d=f-l|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;f=c[x>>2]|0;k=f-l|0;if(!d){d=0;j=0}else v=10}else{k=c[x>>2]|0;d=2147483647;f=k;k=k-l|0;v=10}if((v|0)==10){o=0;j=ka(67,d|0)|0;p=o;o=0;if(p&1){v=43;break}}a[j+k>>0]=m;n=f-l|0;p=j+(k-n)|0;lw(p|0,g|0,n|0)|0;c[w>>2]=p;c[x>>2]=j+(k+1);c[q>>2]=j+d;if(h)cj(h)}else{a[d>>0]=m;c[x>>2]=(c[x>>2]|0)+1}o=0;ia(84,w|0,c[b+8>>2]&65535|0);p=o;o=0;if(!(p&1)?(o=0,ia(84,w|0,c[b+12>>2]&65535|0),p=o,o=0,!(p&1)):0){p=b+16|0;n=c[p>>2]&255;d=c[x>>2]|0;g=c[q>>2]|0;if(d>>>0>=g>>>0){h=c[w>>2]|0;f=h;j=d-f+1|0;if((j|0)<0){o=0;ha(178,w|0);m=o;o=0;if(m&1){v=43;break}h=c[w>>2]|0;f=h;g=c[q>>2]|0}m=h;d=g-m|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;j=c[x>>2]|0;k=j-m|0;if(!d){l=0;g=0}else v=23}else{k=c[x>>2]|0;d=2147483647;j=k;k=k-m|0;v=23}if((v|0)==23){o=0;g=ka(67,d|0)|0;l=o;o=0;if(l&1){v=43;break}else l=d}a[g+k>>0]=n;d=g+(k+1)|0;m=j-m|0;n=g+(k-m)|0;lw(n|0,h|0,m|0)|0;c[w>>2]=n;c[x>>2]=d;c[q>>2]=g+l;if(f){cj(f);d=c[x>>2]|0}}else{a[d>>0]=n;d=(c[x>>2]|0)+1|0;c[x>>2]=d}n=b+20|0;m=c[n>>2]&255;f=c[q>>2]|0;if(d>>>0>=f>>>0){g=c[w>>2]|0;h=g;j=d-h+1|0;if((j|0)<0){o=0;ha(178,w|0);l=o;o=0;if(l&1){v=43;break}h=c[w>>2]|0;f=c[q>>2]|0;g=h}l=g;d=f-l|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;f=c[x>>2]|0;k=f-l|0;if(!d){d=0;j=0}else v=34}else{k=c[x>>2]|0;d=2147483647;f=k;k=k-l|0;v=34}if((v|0)==34){o=0;j=ka(67,d|0)|0;y=o;o=0;if(y&1){v=43;break}}a[j+k>>0]=m;m=f-l|0;y=j+(k-m)|0;lw(y|0,g|0,m|0)|0;c[w>>2]=y;c[x>>2]=j+(k+1);c[q>>2]=j+d;if(h)cj(h)}else{a[d>>0]=m;c[x>>2]=(c[x>>2]|0)+1}d=c[p>>2]|0;do if((d|0)>0){if(!(c[b+24>>2]|0)){c[s>>2]=c[x>>2];y=0+($(d*3|0,c[n>>2]|0)|0)|0;o=0;c[r>>2]=c[s>>2];va(15,w|0,r|0,0,y|0)|0;y=o;o=0;if(y&1){v=43;break a}else break}f=Ma(16)|0;o=0;wa(5,t|0,50792,57);y=o;o=0;if(!(y&1)){o=0;d=ua(1)|0;y=o;o=0;if(!(y&1)?(o=0,Aa(36,f|0,1,d|0,t|0),y=o,o=0,!(y&1)):0){o=0;wa(6,f|0,824,96);o=0;e=0}else e=1;d=Na()|0;Im(t);if(!e){e=d;break a}}else d=Na()|0;La(f|0);e=d;break a}while(0);o=0;k=ka(67,20)|0;y=o;o=0;if(!(y&1)){c[k>>2]=36800;a[k+4>>0]=-32;h=k+8|0;c[h>>2]=0;j=k+12|0;c[j>>2]=0;f=k+16|0;c[f>>2]=0;d=c[x>>2]|0;y=c[w>>2]|0;g=d-y|0;do if((d|0)!=(y|0)){if(!((g|0)<0?(o=0,ha(178,h|0),y=o,o=0,y&1):0))v=53;if((v|0)==53?(o=0,e=ka(67,g|0)|0,y=o,o=0,!(y&1)):0){c[j>>2]=e;c[h>>2]=e;c[f>>2]=e+g;d=c[w>>2]|0;f=c[x>>2]|0;if((d|0)==(f|0))break;do{a[e>>0]=a[d>>0]|0;e=(c[j>>2]|0)+1|0;c[j>>2]=e;d=d+1|0}while((d|0)!=(f|0));d=c[w>>2]|0;break}d=Na()|0;e=c[h>>2]|0;if(e){if((c[j>>2]|0)!=(e|0))c[j>>2]=e;cj(e)}cj(k);v=44;break a}while(0);if(!d){i=u;return k|0}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return k|0}else v=43}else v=43}else v=43;while(0);if((v|0)==43){d=Na()|0;v=44}if((v|0)==44)e=d;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0);return 0}function vi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;k=i;i=i+16|0;m=k;c[m>>2]=0;n=m+4|0;c[n>>2]=0;c[m+8>>2]=0;o=0;d=ka(67,1)|0;j=o;o=0;a:do if((((((!(j&1)?(j=d+1|0,a[d>>0]=1,c[m>>2]=d,c[n>>2]=j,c[m+8>>2]=j,o=0,ia(84,m|0,c[b>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+4>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+8>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+12>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+16>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,l=ka(67,20)|0,j=o,o=0,!(j&1)):0){c[l>>2]=36800;a[l+4>>0]=-8;g=l+8|0;c[g>>2]=0;j=l+12|0;c[j>>2]=0;b=l+16|0;c[b>>2]=0;d=c[n>>2]|0;p=c[m>>2]|0;f=d-p|0;do if((d|0)!=(p|0)){if(!((f|0)<0?(o=0,ha(178,g|0),p=o,o=0,p&1):0))h=11;if((h|0)==11?(o=0,e=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[j>>2]=e;c[g>>2]=e;c[b>>2]=e+f;d=c[m>>2]|0;b=c[n>>2]|0;if((d|0)==(b|0))break;do{a[e>>0]=a[d>>0]|0;e=(c[j>>2]|0)+1|0;c[j>>2]=e;d=d+1|0}while((d|0)!=(b|0));d=c[m>>2]|0;break}e=Na()|0;d=c[g>>2]|0;if(d){if((c[j>>2]|0)!=(d|0))c[j>>2]=d;cj(d)}cj(l);break a}while(0);if(!d){i=k;return l|0}if((c[n>>2]|0)!=(d|0))c[n>>2]=d;cj(d);i=k;return l|0}else h=25;while(0);if((h|0)==25)e=Na()|0;d=c[m>>2]|0;if(!d)Ya(e|0);if((c[n>>2]|0)!=(d|0))c[n>>2]=d;cj(d);Ya(e|0);return 0}function wi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=bj(5)|0;a[h>>0]=109;a[h+1>>0]=114;a[h+2>>0]=102;a[h+3>>0]=120;a[h+4>>0]=b;o=0;g=ka(67,20)|0;f=o;o=0;if(f&1){g=Na()|0;cj(h);Ya(g|0)}c[g>>2]=36800;a[g+4>>0]=-24;b=g+8|0;c[b>>2]=0;d=g+12|0;c[d>>2]=0;e=g+16|0;c[e>>2]=0;o=0;f=ka(67,5)|0;i=o;o=0;if(!(i&1)){c[d>>2]=f;c[b>>2]=f;c[e>>2]=f+5;a[f>>0]=109;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=h+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=f+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=f+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;a[i>>0]=a[f+1>>0]|0;c[d>>2]=(c[d>>2]|0)+1;cj(h);return g|0}i=Na()|0;cj(g);cj(h);Ya(i|0);return 0}function xi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;t=w+8|0;o=0;g=ka(67,1)|0;s=o;o=0;a:do if(!(s&1)){k=g+1|0;s=k;a[g>>0]=d;c[w>>2]=g;c[x>>2]=s;c[t>>2]=s;if((d|0)>0){j=k;s=0;do{r=s+b&255;if(j>>>0>=k>>>0){g=c[w>>2]|0;l=g;j=j-l+1|0;if((j|0)<0){o=0;ha(178,w|0);q=o;o=0;if(q&1){u=28;break}l=c[w>>2]|0;k=c[t>>2]|0;q=l}else q=g;p=q;g=k-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;k=c[x>>2]|0;m=k-p|0;if(!g){n=0;j=0}else u=13}else{m=c[x>>2]|0;g=2147483647;k=m;m=m-p|0;u=13}if((u|0)==13){u=0;o=0;j=ka(67,g|0)|0;n=o;o=0;if(n&1){u=28;break}else n=g}a[j+m>>0]=r;g=j+(m+1)|0;p=k-p|0;r=j+(m-p)|0;lw(r|0,q|0,p|0)|0;c[w>>2]=r;c[x>>2]=g;c[t>>2]=j+n;if(l){cj(l);g=c[x>>2]|0}}else{a[j>>0]=r;g=(c[x>>2]|0)+1|0;c[x>>2]=g}k=c[t>>2]|0;if(g>>>0>=k>>>0){l=c[w>>2]|0;j=l;m=g-j+1|0;if((m|0)<0){o=0;ha(178,w|0);r=o;o=0;if(r&1){u=28;break}l=c[w>>2]|0;j=l;k=c[t>>2]|0}p=l;g=k-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?m:g;m=c[x>>2]|0;k=m-p|0;if(!g){g=0;n=0}else u=24}else{k=c[x>>2]|0;g=2147483647;m=k;k=k-p|0;u=24}if((u|0)==24){u=0;o=0;n=ka(67,g|0)|0;r=o;o=0;if(r&1){u=28;break}}a[n+k>>0]=0;q=m-p|0;r=n+(k-q)|0;lw(r|0,l|0,q|0)|0;c[w>>2]=r;c[x>>2]=n+(k+1);c[t>>2]=n+g;if(j)cj(j)}else{a[g>>0]=0;c[x>>2]=(c[x>>2]|0)+1}s=s+1|0;j=c[x>>2]|0;k=c[t>>2]|0}while((s|0)<(d|0));if((u|0)==28){h=Na()|0;break}g=e&255;if(j>>>0>>0){a[j>>0]=g;j=(c[x>>2]|0)+1|0;c[x>>2]=j}else u=37}else{j=k;g=e&255;u=37}if((u|0)==37){l=c[w>>2]|0;m=l;n=j-m+1|0;if((n|0)<0){o=0;ha(178,w|0);e=o;o=0;if(e&1){u=29;break}m=c[w>>2]|0;k=c[t>>2]|0;l=m}r=l;j=k-r|0;if(j>>>0<1073741823){j=j<<1;j=j>>>0>>0?n:j;n=c[x>>2]|0;p=n-r|0;if(!j){q=0;k=0}else u=43}else{p=c[x>>2]|0;j=2147483647;n=p;p=p-r|0;u=43}if((u|0)==43){o=0;k=ka(67,j|0)|0;e=o;o=0;if(e&1){u=29;break}else q=j}a[k+p>>0]=g;j=k+(p+1)|0;b=n-r|0;e=k+(p-b)|0;lw(e|0,l|0,b|0)|0;c[w>>2]=e;c[x>>2]=j;c[t>>2]=k+q;if(m){cj(m);j=c[x>>2]|0}}r=f&255;g=c[t>>2]|0;if(j>>>0>=g>>>0){k=c[w>>2]|0;l=k;j=j-l+1|0;if((j|0)<0){o=0;ha(178,w|0);f=o;o=0;if(f&1){u=29;break}l=c[w>>2]|0;g=c[t>>2]|0;k=l}q=k;g=g-q|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;m=c[x>>2]|0;n=m-q|0;if(!g){p=0;j=0}else u=54}else{n=c[x>>2]|0;g=2147483647;m=n;n=n-q|0;u=54}if((u|0)==54){o=0;j=ka(67,g|0)|0;f=o;o=0;if(f&1){u=29;break}else p=g}a[j+n>>0]=r;g=j+(n+1)|0;e=m-q|0;f=j+(n-e)|0;lw(f|0,k|0,e|0)|0;c[w>>2]=f;c[x>>2]=g;c[t>>2]=j+p;if(l){cj(l);g=c[x>>2]|0}}else{a[j>>0]=r;g=(c[x>>2]|0)+1|0;c[x>>2]=g}j=c[t>>2]|0;if(g>>>0>=j>>>0){k=c[w>>2]|0;l=k;m=g-l+1|0;if((m|0)<0){o=0;ha(178,w|0);f=o;o=0;if(f&1){u=29;break}l=c[w>>2]|0;j=c[t>>2]|0;k=l}p=k;g=j-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?m:g;j=c[x>>2]|0;n=j-p|0;if(!g){g=0;m=0}else u=65}else{n=c[x>>2]|0;g=2147483647;j=n;n=n-p|0;u=65}if((u|0)==65){o=0;m=ka(67,g|0)|0;f=o;o=0;if(f&1){u=29;break}}a[m+n>>0]=0;e=j-p|0;f=m+(n-e)|0;lw(f|0,k|0,e|0)|0;c[w>>2]=f;c[x>>2]=m+(n+1);c[t>>2]=m+g;if(l)cj(l)}else{a[g>>0]=0;c[x>>2]=(c[x>>2]|0)+1}o=0;n=ka(67,20)|0;t=o;o=0;if(!(t&1)){c[n>>2]=36800;a[n+4>>0]=-38;l=n+8|0;c[l>>2]=0;m=n+12|0;c[m>>2]=0;j=n+16|0;c[j>>2]=0;g=c[x>>2]|0;t=c[w>>2]|0;k=g-t|0;do if((g|0)!=(t|0)){if(!((k|0)<0?(o=0,ha(178,l|0),t=o,o=0,t&1):0))u=72;if((u|0)==72?(o=0,h=ka(67,k|0)|0,t=o,o=0,!(t&1)):0){c[m>>2]=h;c[l>>2]=h;c[j>>2]=h+k;g=c[w>>2]|0;j=c[x>>2]|0;if((g|0)==(j|0))break;do{a[h>>0]=a[g>>0]|0;h=(c[m>>2]|0)+1|0;c[m>>2]=h;g=g+1|0}while((g|0)!=(j|0));g=c[w>>2]|0;break}h=Na()|0;g=c[l>>2]|0;if(g){if((c[m>>2]|0)!=(g|0))c[m>>2]=g;cj(g)}cj(n);break a}while(0);if(!g){i=v;return n|0}if((c[x>>2]|0)!=(g|0))c[x>>2]=g;cj(g);i=v;return n|0}else u=29}else u=29;while(0);if((u|0)==29)h=Na()|0;g=c[w>>2]|0;if(!g)Ya(h|0);if((c[x>>2]|0)!=(g|0))c[x>>2]=g;cj(g);Ya(h|0);return 0}function yi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=(d&65535)>>>8&255;o=b+4|0;e=c[o>>2]|0;p=b+8|0;f=c[p>>2]|0;if(e>>>0>=f>>>0){g=c[b>>2]|0;h=g;i=e-h+1|0;if((i|0)<0){$i(b);h=c[b>>2]|0;f=c[p>>2]|0;g=h}m=g;e=f-m|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?i:e;i=c[o>>2]|0;f=i-m|0;if(!e){l=0;k=0;j=f;e=i}else q=8}else{f=c[o>>2]|0;e=2147483647;i=f;f=f-m|0;q=8}if((q|0)==8){l=e;k=bj(e)|0;j=f;e=i}a[k+j>>0]=n;f=k+(j+1)|0;m=e-m|0;n=k+(j-m)|0;lw(n|0,g|0,m|0)|0;c[b>>2]=n;c[o>>2]=f;c[p>>2]=k+l;if(h){cj(h);f=c[o>>2]|0}}else{a[e>>0]=n;f=(c[o>>2]|0)+1|0;c[o>>2]=f}m=d&255;e=c[p>>2]|0;if(f>>>0>>0){a[f>>0]=m;c[o>>2]=(c[o>>2]|0)+1;return}g=c[b>>2]|0;h=g;f=f-h+1|0;if((f|0)<0){$i(b);h=c[b>>2]|0;e=c[p>>2]|0;g=h}l=g;e=e-l|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?f:e;i=c[o>>2]|0;f=i-l|0;if(!e){k=0;j=0;e=i}else q=18}else{f=c[o>>2]|0;e=2147483647;i=f;f=f-l|0;q=18}if((q|0)==18){k=e;j=bj(e)|0;e=i}a[j+f>>0]=m;d=e-l|0;q=j+(f-d)|0;lw(q|0,g|0,d|0)|0;c[b>>2]=q;c[o>>2]=j+(f+1);c[p>>2]=j+k;if(!h)return;cj(h);return}function zi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=c[b>>2]|0;q=c[d>>2]|0;p=q;k=g;n=e;l=f-n|0;if((l|0)<=0){r=q;return r|0}o=b+8|0;d=c[o>>2]|0;r=b+4|0;m=c[r>>2]|0;h=m;if((l|0)<=(d-h|0)){j=h-p|0;if((l|0)>(j|0)){i=e+j|0;if((i|0)==(f|0))d=m;else{h=i;d=m;do{a[d>>0]=a[h>>0]|0;d=(c[r>>2]|0)+1|0;c[r>>2]=d;h=h+1|0}while((h|0)!=(f|0))}if((j|0)>0)j=d;else{r=q;return r|0}}else{j=m;i=f}g=j-(g+(l-k+p))|0;d=q+g|0;if(d>>>0>>0){h=j;do{a[h>>0]=a[d>>0]|0;d=d+1|0;h=(c[r>>2]|0)+1|0;c[r>>2]=h}while((d|0)!=(m|0))}nw(j+(0-g)|0,q|0,g|0)|0;nw(q|0,e|0,i-n|0)|0;r=q;return r|0}h=h-k+l|0;if((h|0)<0){$i(b);d=c[o>>2]|0;g=c[b>>2]|0}i=g;d=d-i|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?h:d;h=p-i|0;if(!d){i=0;l=0}else j=15}else{d=2147483647;h=p-i|0;j=15}if((j|0)==15){i=d;l=bj(d)|0}k=l+h|0;d=k;j=l+i|0;if((e|0)!=(f|0)){g=e;i=k;do{a[i>>0]=a[g>>0]|0;i=d+1|0;d=i;g=g+1|0}while((g|0)!=(f|0));g=c[b>>2]|0}e=p-g|0;f=l+(h-e)|0;lw(f|0,g|0,e|0)|0;p=(c[r>>2]|0)-p|0;e=d;lw(e|0,q|0,p|0)|0;d=c[b>>2]|0;c[b>>2]=f;c[r>>2]=e+p;c[o>>2]=j;if(!d){r=k;return r|0}cj(d);r=k;return r|0}function Ai(a){a=a|0;var b=0;c[a>>2]=36800;b=c[a+8>>2]|0;if(!b)return;a=a+12|0;if((c[a>>2]|0)!=(b|0))c[a>>2]=b;cj(b);return}function Bi(a){a=a|0;var b=0,d=0;c[a>>2]=36800;b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Ci(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;Di(d,-1);Di(d,a[b+4>>0]|0);g=b+12|0;f=b+8|0;b=(c[g>>2]|0)-(c[f>>2]|0)+2|0;Di(d,(b&65535)>>>8&255);Di(d,b&255);b=c[f>>2]|0;if((c[g>>2]|0)==(b|0))return;else e=0;do{Di(d,a[b+e>>0]|0);e=e+1|0;b=c[f>>2]|0}while(e>>>0<((c[g>>2]|0)-b|0)>>>0);return}function Di(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=c[b+4>>2]|0;if(g){e=g+24|0;f=c[e>>2]|0;if((f|0)==(c[g+28>>2]|0)){Lb[c[(c[g>>2]|0)+52>>2]&63](g,d&255)|0;return}else{c[e>>2]=f+1;a[f>>0]=d;return}}e=b+16|0;f=c[e>>2]|0;if(f>>>0<(c[b+12>>2]|0)>>>0){c[e>>2]=f+1;a[(c[b+8>>2]|0)+f>>0]=d;return}e=Ma(16)|0;o=0;f=ua(1)|0;d=o;o=0;if(d&1){d=Na()|0;La(e|0);Ya(d|0)}o=0;wa(7,e|0,4,f|0);d=o;o=0;if(d&1){d=Na()|0;La(e|0);Ya(d|0)}else lb(e|0,824,96)}function Ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;f=(b|0)<4095?(b+128|0)/256|0:16;g=(d*3|0)+2+f|0;e=d+1|0;g=(g|0)<(e|0)|(g|0)>(b|0)?e:g;c[a+4>>2]=g;e=(f<<2|3)+(d*5|0)|0;e=(e|0)>(b|0)|(e|0)<(g|0)?g:e;c[a+8>>2]=e;d=(d*7|0)+4+(f*17|0)|0;c[a+12>>2]=(d|0)>(b|0)|(d|0)<(e|0)?e:d;c[a>>2]=b;c[a+16>>2]=64;return}function Fi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+128|0;k=m+100|0;f=m+16|0;e=m+112|0;l=m+4|0;n=m;g=f;h=b+20|0;j=g+84|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[f+16>>2]=c[b+4>>2];h=pc(e,f,b+56|0)|0;e=c[(c[h>>2]|0)+16>>2]|0;b=b+8|0;o=0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];e=ra(e|0,h|0,k|0)|0;b=o;o=0;do if(b&1)e=Na()|0;else{g=d+4|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];g=d+16|0;b=c[g>>2]|0;k=l+8|0;c[k>>2]=(c[k>>2]|0)-b;k=l+4|0;c[k>>2]=(c[k>>2]|0)+b;k=c[(c[h>>2]|0)+12>>2]|0;c[n>>2]=e;o=0;e=va(k|0,h|0,n|0,l|0,((a[d>>0]|0)==0?0:(c[d+8>>2]|0)+b|0)|0)|0;l=o;o=0;if(l&1){e=Na()|0;f=c[n>>2]|0;c[n>>2]=0;if(!f)break;Bb[c[(c[f>>2]|0)+4>>2]&255](f);break}f=c[n>>2]|0;c[n>>2]=0;if(f)Bb[c[(c[f>>2]|0)+4>>2]&255](f);if(!(c[d+4>>2]|0))c[g>>2]=(c[g>>2]|0)+e;if(!h){i=m;return}Bb[c[(c[h>>2]|0)+4>>2]&255](h);i=m;return}while(0);if(!h)Ya(e|0);Bb[c[(c[h>>2]|0)+4>>2]&255](h);Ya(e|0)}function Gi(b,d){b=b|0;d=d|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];a[b+12>>0]=0;d=b+16|0;b=d+100|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));return}function Hi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+32|0;u=v+4|0;q=v+16|0;w=v;Ii(b);r=b+16|0;g=c[b+24>>2]|0;a:do if((g+-2|0)>>>0<=14){s=b+40|0;e=c[s>>2]|0;if(e>>>0>2)e=5;else{t=b+32|0;h=c[t>>2]|0;switch(h|0){case 0:{e=1;break a}case 4:{if((e|0)==2){e=2;break a}break}case 3:break;default:if(e){e=2;break a}}p=b+100|0;e=b+108|0;f=c[e>>2]|0;if((f|0)<1){f=c[r>>2]|0;c[e>>2]=f;e=c[b+20>>2]|0;c[b+112>>2]=e}else e=c[b+112>>2]|0;l=tw(e|0,((e|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;k=(g+7|0)/8|0;k=tw(l|0,D|0,k|0,((k|0)<0)<<31>>31|0)|0;l=d+4|0;e=c[l>>2]|0;j=d+8|0;if((e|0)!=0?(m=c[j>>2]|0,n=tw(h|0,((h|0)<0)<<31>>31|0,k|0,D|0)|0,g=D,0<(g|0)|0==(g|0)&m>>>0>>0):0){e=Ma(16)|0;o=0;f=ua(1)|0;w=o;o=0;if(!(w&1)?(o=0,wa(7,e|0,3,f|0),w=o,o=0,!(w&1)):0)lb(e|0,824,96);w=Na()|0;La(e|0);Ya(w|0)}m=b+52|0;n=b+12|0;if((h|0)>0)h=0;else{i=v;return}while(1){Ji(b,(h|0)==0);f=nc(q,r,m)|0;g=c[(c[f>>2]|0)+8>>2]|0;o=0;c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];g=ra(g|0,f|0,u|0)|0;x=o;o=0;if(x&1){g=32;break}x=c[(c[f>>2]|0)+16>>2]|0;c[w>>2]=g;o=0;fa(x|0,f|0,w|0,p|0,b|0,(a[n>>0]|0)!=0|0);x=o;o=0;if(x&1){g=30;break}g=c[w>>2]|0;c[w>>2]=0;if(g)Bb[c[(c[g>>2]|0)+4>>2]&255](g);if(!e)e=0;else{e=e+k|0;c[l>>2]=e;c[j>>2]=(c[j>>2]|0)-k}g=(c[s>>2]|0)==0;h=(g&1)+h|0;if(f)Bb[c[(c[f>>2]|0)+4>>2]&255](f);if(!g){g=34;break}if((h|0)>=(c[t>>2]|0)){g=34;break}}if((g|0)==30){e=Na()|0;g=c[w>>2]|0;c[w>>2]=0;if(g)Bb[c[(c[g>>2]|0)+4>>2]&255](g)}else if((g|0)==32){e=Na()|0;if(!f){x=e;Ya(x|0)}}else if((g|0)==34){i=v;return}Bb[c[(c[f>>2]|0)+4>>2]&255](f);x=e;Ya(x|0)}}else e=2;while(0);f=Ma(16)|0;o=0;g=ua(1)|0;x=o;o=0;if(!(x&1)?(o=0,wa(7,f|0,e|0,g|0),x=o,o=0,!(x&1)):0)lb(f|0,824,96);x=Na()|0;La(f|0);Ya(x|0)}function Ii(a){a=a|0;var b=0,c=0,d=0,e=0;if((Mi(a)|0)<<24>>24!=-40){b=Ma(16)|0;o=0;c=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,wa(7,b|0,5,c|0),e=o,o=0,!(e&1)):0)lb(b|0,824,96);e=Na()|0;La(b|0);Ya(e|0)}b=Mi(a)|0;if(b<<24>>24==-38)return;while(1){d=((Li(a)|0)&255)<<8;d=d|(Li(a)|0)&255;b=Ni(a,b)|0;c=-2-b+d|0;if((c|0)<0)break;if((c|0)>0){b=d+-2-b|0;c=0;do{Li(a)|0;c=c+1|0}while((c|0)!=(b|0))}b=Mi(a)|0;if(b<<24>>24==-38){e=8;break}}if((e|0)==8)return;b=Ma(16)|0;o=0;c=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,wa(7,b|0,5,c|0),e=o,o=0,!(e&1)):0)lb(b|0,824,96);e=Na()|0;La(b|0);Ya(e|0)}function Ji(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(!b){if((Li(a)|0)<<24>>24!=-1){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,12,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}if((Li(a)|0)<<24>>24!=-38){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}}Li(a)|0;Li(a)|0;d=Li(a)|0;e=d&255;do if(d<<24>>24==1){Li(a)|0;d=0;f=20}else{if((e|0)==(c[a+32>>2]|0)){b=Li(a)|0;if(!(d<<24>>24))break;else{d=0;f=20;break}}b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,2,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}while(0);if((f|0)==20)while(1){Li(a)|0;d=d+1|0;b=Li(a)|0;if((d|0)==(e|0))break;else f=20}c[a+36>>2]=b&255;f=Li(a)|0;d=a+40|0;c[d>>2]=f&255;if((f&255)>=3){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}if((Li(a)|0)<<24>>24){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}e=a+28|0;if(c[e>>2]|0)return;b=c[a+108>>2]|0;if(!b)b=c[a+16>>2]|0;if(!(c[d>>2]|0))d=1;else d=c[a+32>>2]|0;f=$(d,b)|0;c[e>>2]=$(f,((c[a+24>>2]|0)+7|0)/8|0)|0;return}function Ki(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((e|0)<=0)return;n=d+4|0;o=d+8|0;q=0;do{p=Li(b)|0;f=c[n>>2]|0;g=c[o>>2]|0;if(f>>>0>=g>>>0){h=c[d>>2]|0;i=h;j=f-i+1|0;if((j|0)<0){$i(d);i=c[d>>2]|0;g=c[o>>2]|0;h=i}m=h;f=g-m|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f;j=c[n>>2]|0;g=j-m|0;if(!f){l=0;k=0;f=j}else r=10}else{g=c[n>>2]|0;f=2147483647;j=g;g=g-m|0;r=10}if((r|0)==10){r=0;l=f;k=bj(f)|0;f=j}a[k+g>>0]=p;m=f-m|0;p=k+(g-m)|0;lw(p|0,h|0,m|0)|0;c[d>>2]=p;c[n>>2]=k+(g+1);c[o>>2]=k+l;if(i)cj(i)}else{a[f>>0]=p;c[n>>2]=(c[n>>2]|0)+1}q=q+1|0}while((q|0)!=(e|0));return}function Li(b){b=b|0;var e=0,f=0,g=0,h=0;f=c[b>>2]|0;if(f){b=f+12|0;e=c[b>>2]|0;if((e|0)==(c[f+16>>2]|0))b=Eb[c[(c[f>>2]|0)+40>>2]&127](f)|0;else{c[b>>2]=e+1;b=d[e>>0]|0}h=b&255;return h|0}g=b+8|0;h=c[g>>2]|0;if(h){b=b+4|0;e=c[b>>2]|0;f=a[e>>0]|0;if(!e){h=f;return h|0}c[b>>2]=e+1;c[g>>2]=h+-1;h=f;return h|0}b=Ma(16)|0;o=0;e=ua(1)|0;h=o;o=0;if(h&1){h=Na()|0;La(b|0);Ya(h|0)}o=0;wa(7,b|0,4,e|0);h=o;o=0;if(h&1){h=Na()|0;La(b|0);Ya(h|0)}else lb(b|0,824,96);return 0}function Mi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+176|0;b=d+152|0;k=d+16|0;h=d;j=Li(a)|0;e=j&255;if(j<<24>>24==-1){do b=Li(a)|0;while(b<<24>>24==-1);i=d;return b|0}j=k+56|0;g=k+4|0;c[k>>2]=36160;c[j>>2]=36180;o=0;ia(62,k+56|0,g|0);f=o;o=0;if(f&1){k=Na()|0;fn(j);Ya(k|0)}c[k+128>>2]=0;c[k+132>>2]=-1;c[k>>2]=36200;c[k+56>>2]=36220;o=0;ha(180,g|0);f=o;o=0;do if(f&1)b=Na()|0;else{c[g>>2]=36236;f=k+36|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[k+52>>2]=16;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;o=0;ia(63,g|0,b|0);d=o;o=0;if(d&1){k=Na()|0;Im(b);Im(f);nn(g);b=k;break}Im(b);c[k+((c[(c[k>>2]|0)+-12>>2]|0)+76)>>2]=48;o=0;b=ma(28,k|0,50907,62)|0;d=o;o=0;if(!(d&1)?(d=b+((c[(c[b>>2]|0)+-12>>2]|0)+4)|0,c[d>>2]=c[d>>2]&-75|8,d=b+((c[(c[b>>2]|0)+-12>>2]|0)+4)|0,c[d>>2]=c[d>>2]|16384,c[b+((c[(c[b>>2]|0)+-12>>2]|0)+12)>>2]=2,o=0,ra(38,b|0,e|0)|0,e=o,o=0,!(e&1)):0){d=Ma(16)|0;o=0;ia(64,h|0,g|0);e=o;o=0;if(!(e&1)){o=0;b=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,Aa(36,d|0,12,b|0,h|0),e=o,o=0,!(e&1)):0){o=0;wa(6,d|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(h);if(!a){h=b;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}}else b=Na()|0;La(d|0);h=b;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}h=Na()|0;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}while(0);k=b;fn(j);Ya(k|0);return 0}function Ni(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;d=i;i=i+320|0;j=d+300|0;m=d+152|0;k=d+288|0;n=d+16|0;l=d;switch(b<<24>>24){case -9:{c[a+24>>2]=(Li(a)|0)&255;p=((Li(a)|0)&255)<<8|(Li(a)|0)&255;c[a+16>>2]=((Li(a)|0)&255)<<8|(Li(a)|0)&255;c[a+20>>2]=p;c[a+32>>2]=(Li(a)|0)&255;p=6;i=d;return p|0}case -8:{p=Oi(a)|0;i=d;return p|0}case -24:{p=Pi(a)|0;i=d;return p|0}case -53:case -54:case -55:case -57:case -58:case -59:case -61:case -62:case -63:case -64:{h=m+56|0;f=m+4|0;c[m>>2]=36160;c[h>>2]=36180;o=0;ia(62,m+56|0,f|0);n=o;o=0;if(n&1){p=Na()|0;fn(h);Ya(p|0)}c[m+128>>2]=0;c[m+132>>2]=-1;c[m>>2]=36200;c[m+56>>2]=36220;o=0;ha(180,f|0);n=o;o=0;do if(n&1)a=Na()|0;else{c[f>>2]=36236;g=m+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[m+52>>2]=16;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;o=0;ia(63,f|0,j|0);n=o;o=0;if(n&1){a=Na()|0;Im(j);Im(g);nn(f);break}Im(j);o=0;a=ma(28,m|0,50970,26)|0;n=o;o=0;do if((!(n&1)?(o=0,e=ra(38,a|0,b&255|0)|0,n=o,o=0,!(n&1)):0)?(o=0,ma(28,e|0,50997,18)|0,n=o,o=0,!(n&1)):0){e=Ma(16)|0;o=0;ia(64,k|0,f|0);n=o;o=0;if(!(n&1)){o=0;a=ua(1)|0;n=o;o=0;if(!(n&1)?(o=0,Aa(36,e|0,10,a|0,k|0),n=o,o=0,!(n&1)):0){o=0;wa(6,e|0,824,96);o=0;d=0}else d=1;a=Na()|0;Im(k);if(!d)break}else a=Na()|0;La(e|0)}else p=20;while(0);if((p|0)==20)a=Na()|0;c[m>>2]=36200;c[h>>2]=36220;c[f>>2]=36236;Im(g);nn(f);fn(h);p=a;Ya(p|0)}while(0);p=a;fn(h);Ya(p|0)}case -25:case -32:case -2:{p=0;i=d;return p|0}default:{k=n+56|0;g=n+4|0;c[n>>2]=36160;c[k>>2]=36180;o=0;ia(62,n+56|0,g|0);m=o;o=0;if(m&1){p=Na()|0;fn(k);Ya(p|0)}c[n+128>>2]=0;c[n+132>>2]=-1;c[n>>2]=36200;c[n+56>>2]=36220;o=0;ha(180,g|0);m=o;o=0;do if(m&1)a=Na()|0;else{c[g>>2]=36236;h=n+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[n+52>>2]=16;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;o=0;ia(63,g|0,j|0);m=o;o=0;if(m&1){a=Na()|0;Im(j);Im(h);nn(g);break}Im(j);o=0;a=ma(28,n|0,51016,20)|0;m=o;o=0;do if((!(m&1)?(o=0,f=ra(38,a|0,b&255|0)|0,m=o,o=0,!(m&1)):0)?(o=0,ma(28,f|0,51037,13)|0,m=o,o=0,!(m&1)):0){e=Ma(16)|0;o=0;ia(64,l|0,g|0);m=o;o=0;if(!(m&1)){o=0;a=ua(1)|0;m=o;o=0;if(!(m&1)?(o=0,Aa(36,e|0,11,a|0,l|0),m=o,o=0,!(m&1)):0){o=0;wa(6,e|0,824,96);o=0;d=0}else d=1;a=Na()|0;Im(l);if(!d)break}else a=Na()|0;La(e|0)}else p=40;while(0);if((p|0)==40)a=Na()|0;c[n>>2]=36200;c[k>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(k);p=a;Ya(p|0)}while(0);p=a;fn(k);Ya(p|0)}}return 0}function Oi(a){a=a|0;var b=0;if((Li(a)|0)<<24>>24!=1){a=1;return a|0}b=((Li(a)|0)&255)<<8;c[a+52>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+56>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+60>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+64>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+68>>2]=b|(Li(a)|0)&255;a=11;return a|0}function Pi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d;c[f>>2]=0;g=f+4|0;c[g>>2]=0;c[f+8>>2]=0;o=0;wa(9,a|0,f|0,4);b=o;o=0;a:do if(b&1)e=3;else{b=c[f>>2]|0;b:do if(!(ol(b,51051,4)|0)){o=0;b=ka(69,a|0)|0;h=o;o=0;if(h&1){e=3;break a}b=b&255;switch(b|0){case 3:case 2:case 1:case 0:{c[a+44>>2]=b;a=5;b=c[f>>2]|0;break b}case 5:case 4:{b=Ma(16)|0;o=0;a=ua(1)|0;h=o;o=0;if(!(h&1)?(o=0,wa(7,b|0,7,a|0),h=o,o=0,!(h&1)):0){o=0;wa(6,b|0,824,96);o=0;e=3;break a}a=Na()|0;La(b|0);break a}default:{b=Ma(16)|0;o=0;a=ua(1)|0;h=o;o=0;if(!(h&1)?(o=0,wa(7,b|0,5,a|0),h=o,o=0,!(h&1)):0){o=0;wa(6,b|0,824,96);o=0;e=3;break a}a=Na()|0;La(b|0);break a}}}else a=4;while(0);if(!b){i=d;return a|0}if((c[g>>2]|0)!=(b|0))c[g>>2]=b;cj(b);i=d;return a|0}while(0);if((e|0)==3)a=Na()|0;b=c[f>>2]|0;if(!b)Ya(a|0);if((c[g>>2]|0)!=(b|0))c[g>>2]=b;cj(b);Ya(a|0);return 0}function Qi(a){a=a|0;var b=0,d=0,e=0;e=c[(c[a>>2]|0)+-12>>2]|0;c[a+e>>2]=36200;b=a+(e+56)|0;c[b>>2]=36220;d=a+(e+4)|0;c[d>>2]=36236;Im(a+(e+36)|0);nn(d);fn(b);return}function Ri(a){a=a|0;return}function Si(a){a=a|0;cj(a);return}function Ti(b){b=b|0;a[b>>0]=0;b=b+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f;b=wi(b)|0;c[g>>2]=b;d=a+28|0;e=c[d>>2]|0;if(e>>>0<(c[a+32>>2]|0)>>>0){c[e>>2]=b;c[d>>2]=e+4;c[g>>2]=0;i=f;return}o=0;ia(57,a+24|0,g|0);a=o;o=0;if(a&1){b=Na()|0;d=c[g>>2]|0;c[g>>2]=0;if(!d)Ya(b|0);Bb[c[(c[d>>2]|0)+4>>2]&255](d);Ya(b|0)}else{b=c[g>>2]|0;c[g>>2]=0;if(!b){i=f;return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);i=f;return}}function Vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+4|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];Di(a,-1);Di(a,-40);e=a+28|0;f=a+24|0;b=c[f>>2]|0;if((c[e>>2]|0)==(b|0)){Di(a,-1);Di(a,-39);a=a+16|0;a=c[a>>2]|0;return a|0}else d=0;do{g=c[b+(d<<2)>>2]|0;Cb[c[(c[g>>2]|0)+8>>2]&127](g,a);d=d+1|0;b=c[f>>2]|0}while(d>>>0<(c[e>>2]|0)-b>>2>>>0);Di(a,-1);Di(a,-39);g=a+16|0;g=c[g>>2]|0;return g|0}function Wi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;n=i;i=i+48|0;j=n+32|0;f=n+12|0;k=n+8|0;m=n+4|0;p=n;e=d+36|0;do if(((((c[e>>2]|0)==0?(c[d+40>>2]|0)==0:0)?(c[d+44>>2]|0)==0:0)?(c[d+48>>2]|0)==0:0)?(c[d+52>>2]|0)==0:0){e=c[d+8>>2]|0;if((e|0)<=12){g=a+28|0;h=a+32|0;break}Ei(f,(1<>2]|0);e=vi(f)|0;c[k>>2]=e;g=a+28|0;f=c[g>>2]|0;h=a+32|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[k>>2]=0;break}o=0;ia(57,a+24|0,k|0);j=o;o=0;if(!(j&1)){e=c[k>>2]|0;c[k>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[k>>2]|0;c[k>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}else l=6;while(0);do if((l|0)==6){e=vi(e)|0;c[j>>2]=e;g=a+28|0;f=c[g>>2]|0;h=a+32|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[j>>2]=0;break}o=0;ia(57,a+24|0,j|0);l=o;o=0;if(!(l&1)){e=c[j>>2]|0;c[j>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[j>>2]|0;c[j>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}while(0);e=a+20|0;f=(c[e>>2]|0)+1|0;c[e>>2]=f;e=c[d+24>>2]|0;j=(e|0)==0?1:c[d+16>>2]|0;e=xi(f,j,c[d+20>>2]|0,e)|0;c[m>>2]=e;f=c[g>>2]|0;do if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[m>>2]=0}else{o=0;ia(57,a+24|0,m|0);l=o;o=0;if(!(l&1)){e=c[m>>2]|0;c[m>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[m>>2]|0;c[m>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}while(0);k=bj(104)|0;c[k>>2]=36820;c[k+4>>2]=j;f=k+8|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];f=k+20|0;e=f+84|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));c[p>>2]=k;d=c[g>>2]|0;if(d>>>0<(c[h>>2]|0)>>>0){c[d>>2]=k;c[g>>2]=d+4;c[p>>2]=0;i=n;return}o=0;ia(57,a+24|0,p|0);a=o;o=0;if(a&1){d=Na()|0;e=c[p>>2]|0;c[p>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}else{d=c[p>>2]|0;c[p>>2]=0;if(!d){i=n;return}Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=n;return}}function Xi(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+96|0;p=q;o=ic(b,d,p,0)|0;if(o){g=o;i=q;return g|0}a[p+32>>0]=0;s=c[p+8>>2]|0;u=c[p>>2]|0;t=c[p+4>>2]|0;o=$(t,u)|0;r=c[p+16>>2]|0;o=$($(o,(s|0)<9?1:2)|0,r)|0;c[f>>2]=o;o=Fl(o)|0;c[e>>2]=o;c[g>>2]=u;c[h>>2]=t;c[j>>2]=s;c[k>>2]=c[p+12>>2];c[l>>2]=r;c[m>>2]=c[p+20>>2];c[n>>2]=c[p+24>>2];g=jc(o,c[f>>2]|0,b,d,0,0)|0;i=q;return g|0}function Yi(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;n=i;i=i+96|0;l=n+4|0;h=n;m=l;o=m+84|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(o|0));c[l+16>>2]=g;c[l+8>>2]=f;c[l>>2]=d;c[l+4>>2]=e;c[j>>2]=Fl(b)|0;c[h>>2]=0;d=hc(j,b,h,a,b,l,0)|0;c[k>>2]=c[h>>2];i=n;return d|0}function Zi(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;b=c[9320]|0;cl(b,a,d)|0;Wk(10,b)|0;Ga()}function _i(a){a=a|0;Ka(51337,51366,1164,51442)}function $i(a){a=a|0;Ka(51463,51486,303,51442)}function aj(){var a=0,b=0;a=i;i=i+16|0;if(!(db(37024,4)|0)){b=$a(c[9255]|0)|0;i=a;return b|0}else Zi(51562,a);return 0}function bj(a){a=a|0;var b=0;b=(a|0)==0?1:a;a=Fl(b)|0;a:do if(!a){while(1){a=kj()|0;if(!a)break;Rb[a&7]();a=Fl(b)|0;if(a)break a}b=Ma(4)|0;c[b>>2]=36844;lb(b|0,592,78)}while(0);return a|0}function cj(a){a=a|0;Gl(a);return}function dj(a){a=a|0;cj(a);return}function ej(a){a=a|0;c[a>>2]=36844;return}function fj(a){a=a|0;return}function gj(a){a=a|0;cj(a);return}function hj(a){a=a|0;return 51611}function ij(a){a=a|0;var b=0;b=i;i=i+16|0;o=0;xa(a|0);a=o;o=0;if(!(a&1)){o=0;ia(85,51626,b|0);o=0}a=Na(0)|0;Va(a|0)|0;o=0;ia(85,51666,b+8|0);o=0;a=Na(0)|0;o=0;xa(3);b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else ec(a)}function jj(){var a=0,b=0,d=0;o=0;a=ua(2)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}if(((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0)?(d=b+48|0,(c[d>>2]&-256|0)==1126902528?(c[d+4>>2]|0)==1129074247:0):0)ij(c[b+12>>2]|0);d=c[9208]|0;c[9208]=d+0;ij(d)}function kj(){var a=0;a=c[9214]|0;c[9214]=a+0;return a|0}function lj(a){a=a|0;return}function mj(a){a=a|0;c[a>>2]=36868;Vj(a+4|0);return}function nj(a){a=a|0;mj(a);cj(a);return}function oj(a){a=a|0;return c[a+4>>2]|0}function pj(a){a=a|0;return}function qj(a){a=a|0;c[a>>2]=36888;return}function rj(a){a=a|0;return}function sj(a){a=a|0;cj(a);return}function tj(a){a=a|0;return 51716}function uj(a){a=a|0;return}function vj(a){a=a|0;return}function wj(a){a=a|0;return}function xj(a){a=a|0;cj(a);return}function yj(a){a=a|0;cj(a);return}function zj(a){a=a|0;cj(a);return}function Aj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h;if((a|0)!=(b|0))if((b|0)!=0?(f=Gj(b,656,672,0)|0,(f|0)!=0):0){b=g;e=b+56|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;Ub[c[(c[f>>2]|0)+28>>2]&63](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;i=h;return b|0}function Bj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function Cj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Bj(0,b,d,e);return}function Dj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Bj(0,b,d,e);else{a=c[a+8>>2]|0;Ub[c[(c[a>>2]|0)+28>>2]&63](a,b,d,e)}return}function Ej(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;Ub[c[(c[a>>2]|0)+28>>2]&63](a,b,d+f|0,(g&2|0)!=0?e:2);return}function Fj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((b|0)!=(c[d+8>>2]|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;Ej(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{Ej(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else Bj(0,d,e,f);while(0);return}function Gj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r;p=c[d>>2]|0;o=d+(c[p+-8>>2]|0)|0;p=c[p+-4>>2]|0;c[q>>2]=f;c[q+4>>2]=d;c[q+8>>2]=e;c[q+12>>2]=g;g=q+16|0;d=q+20|0;e=q+24|0;h=q+28|0;j=q+32|0;k=q+40|0;l=(p|0)==(f|0);m=g;n=m+36|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));b[g+36>>1]=0;a[g+38>>0]=0;a:do if(l){c[q+48>>2]=1;Ib[c[(c[f>>2]|0)+20>>2]&15](f,q,o,o,1,0);g=(c[e>>2]|0)==1?o:0}else{zb[c[(c[p>>2]|0)+24>>2]&15](p,q,o,1,0);switch(c[q+36>>2]|0){case 0:{g=(c[k>>2]|0)==1&(c[h>>2]|0)==1&(c[j>>2]|0)==1?c[d>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((c[e>>2]|0)!=1?!((c[k>>2]|0)==0&(c[h>>2]|0)==1&(c[j>>2]|0)==1):0){g=0;break}g=c[g>>2]|0}while(0);i=r;return g|0}function Hj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;f=d+16|0;b=c[f>>2]|0;if(!b){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((b|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}b=d+24|0;f=c[b>>2]|0;if((f|0)==2){c[b>>2]=g;f=g}if((f|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function Ij(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){q=c[b+12>>2]|0;j=b+16+(q<<3)|0;Kj(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;i=c[b+8>>2]|0;if((i&2|0)==0?(k=d+36|0,(c[k>>2]|0)!=1):0){if(!(i&1)){i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[k>>2]|0)==1)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+24|0;b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[k>>2]|0)==1?(c[i>>2]|0)==1:0)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+54|0;while(1){if(a[i>>0]|0)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;m=d+44|0;if((c[m>>2]|0)==4)break;i=c[b+12>>2]|0;j=b+16+(i<<3)|0;k=d+52|0;f=d+53|0;n=d+54|0;l=b+8|0;o=d+24|0;b:do if((i|0)>0){i=0;h=0;b=b+16|0;while(1){a[k>>0]=0;a[f>>0]=0;Jj(b,d,e,e,1,g);if(a[n>>0]|0){q=20;break b}do if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[l>>2]&1)){h=1;q=20;break b}else{h=1;break}if((c[o>>2]|0)==1)break b;if(!(c[l>>2]&2))break b;else{i=1;h=1}}while(0);b=b+8|0;if(b>>>0>=j>>>0){q=20;break}}}else{i=0;h=0;q=20}while(0);do if((q|0)==20){if((!i?(c[p>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h)break}else q=24;if((q|0)==24?h:0)break;c[m>>2]=4;break a}while(0);c[m>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Jj(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;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Ib[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e+h|0,(i&2|0)!=0?f:2,g);return}function Kj(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;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;zb[c[(c[a>>2]|0)+24>>2]&15](a,b,d+g|0,(h&2|0)!=0?e:2,f);return}function Lj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){j=c[b+8>>2]|0;zb[c[(c[j>>2]|0)+24>>2]&15](j,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;if((c[f>>2]|0)==4)break;h=d+52|0;a[h>>0]=0;k=d+53|0;a[k>>0]=0;b=c[b+8>>2]|0;Ib[c[(c[b>>2]|0)+20>>2]&15](b,d,e,e,1,g);if(a[k>>0]|0){if(!(a[h>>0]|0)){h=1;j=13}}else{h=0;j=13}do if((j|0)==13){c[i>>2]=e;k=d+40|0;c[k>>2]=(c[k>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h)break}else j=16;if((j|0)==16?h:0)break;c[f>>2]=4;break a}while(0);c[f>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Mj(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;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(i=d+28|0,(c[i>>2]|0)!=1):0)c[i>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>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}while(0);return}function Nj(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((b|0)==(c[d+8>>2]|0))Hj(0,d,e,f,g);else{m=d+52|0;n=a[m>>0]|0;o=d+53|0;p=a[o>>0]|0;l=c[b+12>>2]|0;i=b+16+(l<<3)|0;a[m>>0]=0;a[o>>0]=0;Jj(b+16|0,d,e,f,g,h);a:do if((l|0)>1){j=d+24|0;k=b+8|0;l=d+54|0;b=b+24|0;do{if(a[l>>0]|0)break a;if(!(a[m>>0]|0)){if((a[o>>0]|0)!=0?(c[k>>2]&1|0)==0:0)break a}else{if((c[j>>2]|0)==1)break a;if(!(c[k>>2]&2))break a}a[m>>0]=0;a[o>>0]=0;Jj(b,d,e,f,g,h);b=b+8|0}while(b>>>0>>0)}while(0);a[m>>0]=n;a[o>>0]=p}return}function Oj(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((a|0)==(c[b+8>>2]|0))Hj(0,b,d,e,f);else{a=c[a+8>>2]|0;Ib[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e,f,g)}return}function Pj(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((a|0)==(c[b+8>>2]|0))Hj(0,b,d,e,f);return}function Qj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=c[d>>2];a=Gb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];i=f;return a&1|0}function Rj(a){a=a|0;if(!a)a=0;else a=(Gj(a,656,704,0)|0)!=0;return a&1|0}function Sj(){var a=0;a=Ma(4)|0;ej(a);lb(a|0,592,78)}function Tj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+48|0;h=f+32|0;d=f+24|0;j=f+16|0;g=f;f=f+36|0;a=aj()|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=c[9257];Zi(51919,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(Gb[c[(c[608>>2]|0)+16>>2]&63](608,e,f)|0){j=c[f>>2]|0;f=c[9257]|0;j=Eb[c[(c[j>>2]|0)+8>>2]&127](j)|0;c[g>>2]=f;c[g+4>>2]=a;c[g+8>>2]=j;Zi(51833,g)}else{c[j>>2]=c[9257];c[j+4>>2]=a;Zi(51878,j)}}Zi(51957,h)}function Uj(){var a=0;a=i;i=i+16|0;if(!(Fa(37020,184)|0)){i=a;return}else Zi(51730,a)}function Vj(a){a=a|0;var b=0,d=0;d=(c[a>>2]|0)+-4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if((b+-1|0)<0)cj((c[a>>2]|0)+-12|0);return}function Wj(a){a=a|0;var b=0;b=i;i=i+16|0;Gl(a);if(!(jb(c[9255]|0,0)|0)){i=b;return}else Zi(51780,b)}function Xj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=hl(a,b,c)|0;return a|0}function Yj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=il(a,b,c)|0;return a|0}function Zj(){return 37296}function _j(){return 37300}function $j(){return 37304}function ak(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function bk(a){a=a|0;if((a+-48|0)>>>0<10)a=1;else a=((a|32)+-97|0)>>>0<6;return a&1|0}function ck(){var a=0;if(!(c[9258]|0))a=37308;else a=c[(bb()|0)+60>>2]|0;return a|0}function dk(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[51978+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=52066;e=5;break}}if((e|0)==2)if(!c)b=52066;else{b=52066;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function ek(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;C=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0}while((ak(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=hk(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[53870+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=hk(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[56747+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=hk(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==40)e=1;else{if(!(c[C>>2]|0)){g=s;break a}c[E>>2]=(c[E>>2]|0)+-1;g=s;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=hk(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(ck()|0)>>2]=22;gk(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|32|0)!=120){if(!(c[C>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=hk(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=hk(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;k=jw(k|0,h|0,-1,-1)|0;h=D}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){r=m*.0625;p=w;j=r;g=g+r*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=jw(l|0,y|0,1,0)|0;v=x;u=D;n=1}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=hk(b)|0;w=p;m=j;continue}}if(!n){e=(c[C>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,(o|0)!=0):0)c[E>>2]=z+-2}else gk(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=jw(l|0,h|0,1,0)|0;h=D}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=tl(b,f)|0;e=D;if((h|0)==0&(e|0)==-2147483648){if(!f){gk(b,0);g=0.0;break a}if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=mw(o|0,n|0,2)|0;H=jw(H|0,D|0,-32,-1)|0;e=jw(H|0,D|0,h|0,e|0)|0;h=D;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(ck()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0>>0){c[(ck()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=jw(e|0,h|0,-1,-1)|0;h=D}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=hw(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=jw(l|0,h|0,e|0,D|0)|0;J=D;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+sk(+xk(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(ck()|0)>>2]=34;g=+yk(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=hk(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48){h=0;e=0;while(1){h=jw(h|0,e|0,-1,-1)|0;k=D;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=jw(y|0,v|0,1,0)|0;v=D;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=tl(b,f)|0;e=D;if((n|0)==0&(e|0)==-2147483648){if(!f){gk(b,0);g=0.0;break}if(!(c[C>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=jw(n|0,e|0,h|0,p|0)|0;u=y;p=D;n=v;A=173}while(0);if((A|0)==169)if(c[C>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(ck()|0)>>2]=22;gk(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(ck()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0>>0){c[(ck()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[37312+(8-h<<2)>>2]|0);break}b=K+27+($(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[37312+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[37312+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{C=H+(p<<2)|0;E=c[C>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[C>>2]=b;e=$((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w)break i;if((c[x>>2]|0)>>>0>=9007199){h=18;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=mw(c[p>>2]|0,0,29)|0;o=jw(o|0,D|0,n|0,0)|0;n=D;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=uw(o|0,n|0,1e9,0)|0;o=vw(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){y=l+1&127;x=H+((l+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(l|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(l|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(l|0))k=l;else break}u=(1<>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=$(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(l|0))break;else o=k}if(!n)continue;if((y|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(l<<2)>>2]=n;l=y}if((A|0)==220)if(p){c[H+(y+-1<<2)>>2]=0;h=l;l=y}else h=o;g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}r=+(I|0);j=r*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+sk(+xk(1.0,105-o|0),j);m=+uk(j,+xk(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=r*.75+g;break}if((k+3&127|0)==(l|0)){g=r*.5+g;break}else{g=r*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=r*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+uk(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+O(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(ck()|0)>>2]=34}while(0);g=+yk(g,e)}while(0);break a}default:{if(c[C>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(ck()|0)>>2]=22;gk(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*t}while(0);i=L;return +g}function fk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(ck()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0}while((ak(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=hk(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e&-17|0)==0&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=hk(b)|0;if((d[53879+(i+1)>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){gk(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[53879+(i+1)>>0]|0)>>>0>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;gk(b,0);c[(ck()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=hk(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=tw(e|0,j|0,10,0)|0;l=D;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=jw(k|0,l|0,f|0,m|0)|0;j=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[54136+((e*23|0)>>>5&7)>>0]|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f|i<>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0>>0))break;else i=k}f=0}else{f=0;k=0}l=kw(-1,-1,n|0)|0;m=D;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=mw(k|0,i|0,n|0)|0;f=D;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[53879+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f+($(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0>>0){n=uw(-1,-1,e|0,0)|0;o=D;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=tw(k|0,m|0,e|0,0)|0;l=D;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=jw(j|0,0,f|0,l|0)|0;f=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[53879+(i+1)>>0]|0)>>>0>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0}while((d[53879+(i+1)>>0]|0)>>>0>>0);c[(ck()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0>>0|(j|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(ck()|0)>>2]=34;g=jw(g|0,h|0,-1,-1)|0;h=D;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(ck()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=hw(i^e|0,j^g|0,e|0,g|0)|0;h=D}while(0);D=h;return g|0}function gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+4>>2]|0;e=c[a+8>>2]|0;f=e-d|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=d+b;else c[a+100>>2]=e;return}function hk(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Uk(b)|0;if((e|0)>=0){h=c[f>>2]|0;f=b+8|0;if(h){g=c[f>>2]|0;i=c[b+4>>2]|0;f=g;h=h-(c[b+108>>2]|0)+-1|0;if((f-i|0)>(h|0))c[b+100>>2]=i+h;else j=9}else{g=c[f>>2]|0;f=g;j=9}if((j|0)==9)c[b+100>>2]=f;f=c[b+4>>2]|0;if(g){b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function ik(a){a=a|0;if(a>>>0>4294963200){c[(ck()|0)>>2]=0-a;a=-1}return a|0}function jk(a){a=a|0;return 0}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function lk(a,b){a=a|0;b=b|0;return -1|0}function mk(a){a=a|0;Gl(a);return}function nk(a,b){a=a|0;b=b|0;return (a+-48|0)>>>0<10|0}function ok(a,b){a=a|0;b=b|0;return bk(a)|0}function pk(b,c,d){b=b|0;c=c|0;d=d|0;if(((a[c>>0]|0)!=0?(ll(c,58885)|0)!=0:0)?(ll(c,54145)|0)!=0:0)d=0;else if(!d)d=Hl(1,4)|0;return d|0}function qk(a){a=a|0;var b=0,d=0;b=(bb()|0)+176|0;d=c[b>>2]|0;if(a)c[b>>2]=a;return d|0}function rk(a,b){a=+a;b=+b;var d=0,e=0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;h[k>>3]=b;d=c[k+4>>2]&-2147483648|d&2147483647;c[k>>2]=e;c[k+4>>2]=d;return +(+h[k>>3])}function sk(a,b){a=+a;b=+b;return +(+rk(a,b))}function tk(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=kw(d|0,m|0,52)|0;e=e&2047;j=kw(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=mw(n|0,o|0,1)|0;l=D;a:do if(!((i|0)==0&(l|0)==0)?(g=o&2147483647,!(g>>>0>2146435072|(g|0)==2146435072&n>>>0>0|(e|0)==2047)):0){f=mw(d|0,m|0,1)|0;g=D;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=mw(d|0,m|0,12)|0;f=D;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=mw(g|0,f|0,1)|0;f=D}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=mw(d|0,m|0,1-e|0)|0;f=D}else f=m&1048575|1048576;if(!j){g=mw(n|0,o|0,12)|0;i=D;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=mw(g|0,i|0,1)|0;i=D}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=mw(n|0,o|0,1-j|0)|0;m=D}else m=o&1048575|1048576;l=hw(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=mw(d|0,f|0,1)|0;f=D;e=e+-1|0;l=hw(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=mw(d|0,f|0,1)|0;f=D;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=jw(d|0,f|0,0,-1048576)|0;d=D;e=mw(e|0,0,52)|0;d=d|D;e=o|e}else{e=kw(d|0,f|0,1-e|0)|0;d=D}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function uk(a,b){a=+a;b=+b;return +(+tk(a,b))}function vk(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=kw(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+vk(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+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return +a}function wk(a,b){a=+a;b=b|0;return +(+vk(a,b))}function xk(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=mw(d+1023|0,0,52)|0;b=D;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function yk(a,b){a=+a;b=b|0;return +(+xk(a,b))}function zk(a,b,c){a=a|0;b=b|0;c=c|0;return Ak(0,a,b,(c|0)!=0?c:37344)|0}function Ak(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?37348:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[37076+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(ck()|0)>>2]=84;f=-1}i=l;return f|0}function Bk(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Ck(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+1040|0;l=o+8|0;n=o;k=c[b>>2]|0;c[n>>2]=k;m=(a|0)!=0;e=m?e:256;a=m?a:l;g=k;a:do if((e|0)!=0&(k|0)!=0){j=e;k=g;e=0;while(1){g=d>>>2;h=g>>>0>=j>>>0;if(!(d>>>0>131|h)){g=k;break a}g=h?j:g;d=d-g|0;g=Dk(a,n,g,f)|0;if((g|0)==-1){e=d;break}p=(a|0)==(l|0);k=p?0:g;h=j-k|0;a=p?a:a+(g<<2)|0;e=g+e|0;g=c[n>>2]|0;if((j|0)!=(k|0)&(g|0)!=0){j=h;k=g}else{j=h;break a}}d=e;j=0;g=c[n>>2]|0;e=-1}else{j=e;e=0}while(0);b:do if((g|0)!=0?(j|0)!=0&(d|0)!=0:0){h=g;g=a;while(1){a=Ak(g,h,d,f)|0;if((a+2|0)>>>0<3)break;h=(c[n>>2]|0)+a|0;c[n>>2]=h;j=j+-1|0;e=e+1|0;if(!((j|0)!=0&(d|0)!=(a|0)))break b;else{d=d-a|0;g=g+4|0}}switch(a|0){case -1:{e=-1;break b}case 0:{c[n>>2]=0;break b}default:{c[f>>2]=0;break b}}}while(0);if(m)c[b>>2]=c[n>>2];i=o;return e|0}function Dk(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){g=f;j=h;m=16}else{c[g>>2]=0;l=b;g=f;k=i;m=37}else if(!b){g=f;m=7}else{i=b;g=f;m=6}a:while(1)if((m|0)==6){if(!g){m=26;break}else b=i;while(1){i=a[h>>0]|0;do if(((i&255)+-1|0)>>>0<127?g>>>0>4&(h&3|0)==0:0){j=h;while(1){h=c[j>>2]|0;if((h+-16843009|h)&-2139062144){i=h;h=j;m=32;break}c[b>>2]=h&255;c[b+4>>2]=d[j+1>>0];c[b+8>>2]=d[j+2>>0];h=j+4|0;i=b+16|0;c[b+12>>2]=d[j+3>>0];g=g+-4|0;if(g>>>0>4){b=i;j=h}else{m=31;break}}if((m|0)==31){b=i;i=a[h>>0]|0;break}else if((m|0)==32){i=i&255;break}}while(0);i=i&255;if((i+-1|0)>>>0>=127)break;h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g){m=26;break a}else b=b+4|0}i=i+-194|0;if(i>>>0>50){m=48;break}l=b;k=c[37076+(i<<2)>>2]|0;h=h+1|0;m=37;continue}else if((m|0)==7){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){i=c[h>>2]|0;if(!((i+-16843009|i)&-2139062144))do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(((i+-16843009|i)&-2139062144|0)==0);i=i&255}i=i&255;if((i+-1|0)>>>0<127){g=g+-1|0;h=h+1|0;m=7;continue}i=i+-194|0;if(i>>>0>50){m=48;break}i=c[37076+(i<<2)>>2]|0;j=h+1|0;m=16;continue}else if((m|0)==16){m=(d[j>>0]|0)>>>3;if((m+-16|m+(i>>26))>>>0>7){m=17;break}h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){m=20;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){m=23;break}h=j+3|0}}g=g+-1|0;m=7;continue}else if((m|0)==37){i=d[h>>0]|0;m=i>>>3;if((m+-16|m+(k>>26))>>>0>7){m=38;break}j=h+1|0;b=i+-128|k<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=41;break}j=h+2|0;b=i+-128|b<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=44;break}b=i+-128|b<<6;h=h+3|0}else h=j}else h=j;c[l>>2]=b;i=l+4|0;g=g+-1|0;m=6;continue}if((m|0)==17){h=j+-1|0;m=47}else if((m|0)==20){h=j+-1|0;m=47}else if((m|0)==23){h=j+-1|0;m=47}else if((m|0)==26)c[e>>2]=h;else if((m|0)==38){b=l;i=k;h=h+-1|0;m=47}else if((m|0)==41){g=l;f=h+-1|0;m=52}else if((m|0)==44){g=l;f=h+-1|0;m=52}if((m|0)==47)if(!i)m=48;else{g=b;f=h;m=52}if((m|0)==48)if(!(a[h>>0]|0)){if(b){c[b>>2]=0;c[e>>2]=0}f=f-g|0}else{g=b;f=h;m=52}if((m|0)==52){c[(ck()|0)>>2]=84;if(!g)f=-1;else{c[e>>2]=f;f=-1}}return f|0}function Ek(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k;a:do if(!e)g=0;else{do if(f){j=(b|0)==0?g:b;g=a[e>>0]|0;b=g&255;if(g<<24>>24>-1){c[j>>2]=b;g=g<<24>>24!=0&1;break a}g=b+-194|0;if(g>>>0<=50){b=e+1|0;h=c[37076+(g<<2)>>2]|0;if(f>>>0<4?(h&-2147483648>>>((f*6|0)+-6|0)|0)!=0:0)break;g=d[b>>0]|0;f=g>>>3;if((f+-16|f+(h>>26))>>>0<=7){g=g+-128|h<<6;if((g|0)>=0){c[j>>2]=g;g=2;break a}b=d[e+2>>0]|0;if((b&192|0)==128){b=b+-128|g<<6;if((b|0)>=0){c[j>>2]=b;g=3;break a}g=d[e+3>>0]|0;if((g&192|0)==128){c[j>>2]=g+-128|b<<6;g=4;break a}}}}}while(0);c[(ck()|0)>>2]=84;g=-1}while(0);i=k;return g|0}function Fk(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;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[(ck()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Gk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+272|0;j=m+8|0;l=m;h=c[b>>2]|0;c[l>>2]=h;k=(a|0)!=0;f=k?e:256;e=k?a:j;a=h;a:do if((f|0)!=0&(h|0)!=0){h=f;g=a;f=0;while(1){a=d>>>0>=h>>>0;if(!(a|d>>>0>32)){a=g;break a}a=a?h:d;d=d-a|0;a=Hk(e,l,a,0)|0;if((a|0)==-1){f=d;break}o=(e|0)==(j|0);n=o?0:a;g=h-n|0;e=o?e:e+a|0;f=a+f|0;a=c[l>>2]|0;if((h|0)!=(n|0)&(a|0)!=0){h=g;g=a}else{h=g;break a}}d=f;h=0;a=c[l>>2]|0;f=-1}else{h=f;f=0}while(0);b:do if((a|0)!=0?(h|0)!=0&(d|0)!=0:0){g=a;a=e;while(1){e=Fk(a,c[g>>2]|0,0)|0;if((e+1|0)>>>0<2)break;g=(c[l>>2]|0)+4|0;c[l>>2]=g;d=d+-1|0;f=f+1|0;if(!((h|0)!=(e|0)&(d|0)!=0))break b;else{h=h-e|0;a=a+e|0}}if(!e)c[l>>2]=0;else f=-1}while(0);if(k)c[b>>2]=c[l>>2];i=m;return f|0}function Hk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do if(!b){b=c[d>>2]|0;f=c[b>>2]|0;if(!f)e=0;else{e=0;do{if(f>>>0>127){f=Fk(j,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=Fk(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e;while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=19;break}h=Fk(j,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0>>0){g=22;break}Fk(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==19){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==22){e=e-f|0;break}}}while(0);i=k;return e|0}function Ik(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Fk(a,b,0)|0;return a|0}function Jk(a){a=a|0;return 0}function Kk(a){a=a|0;return}function Lk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Tk(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Gb[c[b+36>>2]&63](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Mk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=ik(nb(6,d|0)|0)|0;i=b;return a|0}function Nk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[9258]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=ik(vb(145,h|0)|0)|0}else{ob(185,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=ik(vb(145,g|0)|0)|0;gb(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Ok(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((ik(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Pk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[9258]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=ik(wb(146,n|0)|0)|0}else{ob(186,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=ik(wb(146,m|0)|0)|0;gb(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Qk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=8;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(eb(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Pk(b,d,e)|0;i=g;return f|0}function Rk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=jl(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;lw(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Sk(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Gb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Tk(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;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 Uk(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Sk(a)|0)!=0:0)b=-1;else if((Gb[c[a+32>>2]&63](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Vk(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=wl(a)|0;break}d=(Jk(a)|0)==0;b=wl(a)|0;if(!d)Kk(a)}else{if(!(c[9323]|0))b=0;else b=Vk(c[9323]|0)|0;Ea(37060);a=c[9264]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Jk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=wl(a)|0|b;if(d)Kk(a);a=c[a+56>>2]|0}while((a|0)!=0);fb(37060)}while(0);return b|0}function Wk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Jk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Lk(d,b)|0;Kk(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Lk(d,b)|0}while(0);return e|0}function Xk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Tk(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=Gb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Gb[c[e+36>>2]&63](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);lw(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}while(0);return f|0}function Yk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Jk(e)|0)==0;a=Xk(a,f,e)|0;if(!g)Kk(e)}else a=Xk(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Zk(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Jk(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=Uk(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=Uk(a)|0;break}}while(0);return b|0}function _k(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=el(a,b,d,g)|0;i=f;return e|0}function $k(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=fl(a,b,f)|0;i=e;return d|0}function al(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;do if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=Jk(d)|0;else g=0;if(!((c[d+8>>2]|0)==0?(Sk(d)|0)!=0:0))h=6;if((h|0)==6?(e=d+4|0,f=c[e>>2]|0,f>>>0>((c[d+44>>2]|0)+-8|0)>>>0):0){h=f+-1|0;c[e>>2]=h;a[h>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;Kk(d);break}if(g){Kk(d);b=-1}else b=-1}else b=-1;while(0);return b|0}function bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j;f=Fl(240)|0;do if(f){c[e>>2]=c[d>>2];e=el(f,240,b,e)|0;if(e>>>0<240){b=Il(f,e+1|0)|0;c[a>>2]=(b|0)!=0?b:f;break}Gl(f);if((e|0)>=0?(h=e+1|0,g=Fl(h)|0,c[a>>2]=g,(g|0)!=0):0)e=el(g,h,b,d)|0;else e=-1}else e=-1;while(0);i=j;return e|0}function cl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((xl(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Jk(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=xl(b,d,o,q,r)|0;if(h){Gb[c[b+36>>2]&63](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=xl(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Kk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function dl(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=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,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;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Jk(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;C=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(ak(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=152;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{gk(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=hk(e)|0}while((ak(o)|0)!=0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}gk(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0>>0)c[L>>2]=o+1;else{if((hk(e)|0)<0){N=152;break b}q=c[M>>2]|0}if(q)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r&239|0)==99){iw(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{Q=n+1|0;s=(a[Q>>0]|0)==94;o=s&1;r=s?Q:n;n=s?n+2|0:Q;iw(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=r+2|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=r+2|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=152;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Fl(r<<2)|0;if(!f){l=0;N=152;break b}}else f=x;c[J>>2]=0;c[C>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=hk(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Ak(K,y,1,J)|0){case -1:{l=0;N=152;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Il(f,l<<2)|0;if(!o){l=0;N=152;break b}Q=r;r=l;f=o;l=Q}if(!(Bk(J)|0)){l=0;N=152;break b}else{q=l;l=0}}else{if(t){l=Fl(r)|0;if(!l){l=0;f=0;N=152;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Il(l,f)|0;if(!o){f=0;N=152;break b}else{Q=r;r=f;l=o;o=Q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=134;break}case 111:{o=8;N=134;break}case 117:case 100:{o=10;N=134;break}case 105:{o=0;N=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+ek(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==134){N=0;o=fk(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{Q=x;c[Q>>2]=o;c[Q+4>>2]=D;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;gk(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=hk(e)|0;if((m|0)!=(d[n>>0]|0)){N=21;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(ak(d[m>>0]|0)|0))break;else n=m}gk(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=hk(e)|0}while((ak(m)|0)!=0);m=c[L>>2]|0;if(c[M>>2]|0){m=m+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==21){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=153}}else if((N|0)==152)if(!k){k=m;N=153}if((N|0)==153){m=k;k=-1}if(m){Gl(l);Gl(f)}}else k=0;while(0);if(O)Kk(e);i=P;return k|0}function el(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=37352;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(ck()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=cl(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function fl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=29;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=dl(e,b,d)|0;i=g;return h|0}function gl(a,b,c){a=a|0;b=b|0;c=c|0;return +(+zl(a,b,2))}function hl(a,b,c){a=a|0;b=b|0;c=c|0;a=Al(a,b,c,-1,-1)|0;return a|0}function il(a,b,c){a=a|0;b=b|0;c=c|0;a=Al(a,b,c,0,-2147483648)|0;return a|0}function jl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=$(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return ((e|0)!=0?b:0)|0}function kl(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ll(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function ml(a,b){a=a|0;b=b|0;kl(a,b)|0;return a|0}function nl(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function ol(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function pl(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(d|0)==0;if(a-b>>2>>>0>>0){if(!e)do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0)}else if(!e){e=b;b=a;while(1){d=d+-1|0;c[b>>2]=c[e>>2];if(!d)break;else{e=e+4|0;b=b+4|0}}}return a|0}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function tl(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=tw(f|0,b|0,10,0)|0;f=D;e=jw(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=jw(e|0,D|0,b|0,f|0)|0;b=D;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=hw(0,0,g|0,b|0)|0;f=a?D:b;e=a?e:g}D=f;return e|0}function ul(a){a=a|0;if(!(c[a+68>>2]|0))Kk(a);return}function vl(a){a=a|0;if(!(c[a+68>>2]|0))Kk(a);return}function wl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Gb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Gb[c[a+40>>2]&63](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0} - -// EMSCRIPTEN_END_FUNCS - var yb=[Uw,Qq,Uq,Or,Sr,Xr,Zr,xu,Iu,Uw,Uw,Uw,Uw,Uw,Uw,Uw];var zb=[Vw,ii,Yh,Mh,Ah,oh,ch,Sg,Bg,Mj,Lj,Ij,Vw,Vw,Vw,Vw];var Ab=[Ww,bs,hs,Ww];var Bb=[Xw,ei,fi,Uh,Vh,Ih,Jh,wh,xh,kh,lh,_g,$g,Og,Pg,xg,yg,kg,lg,_f,$f,Of,Pf,Cf,Df,qf,rf,ye,ze,le,me,tc,uc,Pd,Td,Qd,bo,eo,co,fo,kd,ld,Qi,md,dd,ed,Ic,Jc,Qc,Rc,Xc,Yc,nd,od,ud,vd,Bd,Cd,Id,Jd,je,ke,He,Ie,Oe,Pe,Ve,We,af,bf,Mg,Ng,Dm,qi,Ai,Bi,Ri,Si,fj,gj,mj,nj,rj,sj,uj,xj,vj,wj,yj,zj,Cn,Tl,Zl,nn,cm,im,Bm,Cm,on,Dn,Rn,Tn,Sn,Un,Xn,Zn,Yn,_n,ko,mo,lo,no,uo,vo,en,wo,xo,yo,Ao,Ks,Eo,Fo,Jo,Ko,Yo,Zo,qp,rp,Fp,Gp,Sp,Tp,pq,qq,Nq,Pq,Sq,Tq,Wq,Xq,fr,gr,qr,rr,Br,Cr,Mr,Nr,Vr,Wr,$r,as,fs,gs,ls,ms,qs,rs,ys,zs,at,bt,wu,tt,Vt,Wt,Xt,Yt,zo,Js,Ms,kt,Bt,Jt,Rt,St,Ti,Ii,$i,sc,pn,Wn,_d,Eg,Wj,ul,vl,Ml,mk,Pr,Rr,Ls,Gv,Nv,Ov,Pv,Qv,Rv,Sv,Im,Wm,Gl,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw];var Cb=[Yw,hi,Xh,Lh,zh,nh,bh,Rg,Ag,mg,ag,Qf,Ef,sf,Ae,ne,vc,qn,Ci,Fi,Ul,Yl,dm,hm,Fn,_q,$q,ar,br,dr,er,jr,kr,lr,mr,or,pr,ur,vr,wr,xr,zr,Ar,Fr,Gr,Hr,Ir,Kr,Lr,ps,us,bu,du,fu,cu,eu,gu,kc,Ui,Gi,Hi,Ji,kn,Cc,Ec,go,dn,Qm,Zd,re,jf,wf,If,Uf,eg,qg,Dg,Ug,eh,qh,Ch,Oh,_h,ki,yi,Zi,sm,qm,hn,oo,rm,Om,_m,Zm,av,bv,cv,dv,ev,fv,st,gv,hv,iv,jv,kv,lv,mv,nv,ov,pv,qv,rv,sv,tv,uv,vv,wv,xv,yv,zv,Av,Bv,Cv,Ev,Yv,Yw,Yw];var Db=[Zw,Lo,Mo,No,Oo,Po,Qo,Ro,So,To,Uo,Vo,_o,$o,ap,bp,cp,dp,ep,fp,gp,hp,ip,xp,zp,Kp,Mp,Vp,Wp,Xp,Zp,$p,sq,tq,uq,wq,yq,es,ks,cd,Uu,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw];var Eb=[_w,un,vn,hd,yn,ri,hj,oj,tj,Mk,Vl,Kn,Mn,Nn,Jn,_l,$l,em,xn,jm,km,qo,Up,iu,ku,mu,su,uu,ou,qu,rq,ju,lu,nu,tu,vu,pu,ru,Yq,Zq,cr,hr,ir,nr,sr,tr,yr,Dr,Er,Jr,xt,yt,At,Zt,$t,_t,au,ot,pt,rt,Ft,Gt,It,Nt,Ot,Qt,ui,bj,jn,Li,Vn,$n,$w,ax,bx,qk,pl,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w];var Fb=[cx,Qr,Yr,cx];var Gb=[dx,rn,wn,An,um,vm,Aj,Bl,Pk,Ok,Nk,Qk,Gn,Ln,Wl,Pn,fm,Do,Io,ns,ss,dt,ft,it,Ns,Us,Xs,_s,Dc,yl,Rm,pk,Zu,$u,Fk,Ek,zk,bl,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx];var Hb=[ex,ds,js,ex];var Ib=[fx,fd,Pj,Oj,Nj,Hn,sn,os,ts,fx,fx,fx,fx,fx,fx,fx];var Jb=[gx,wp,Cp,Jp,Op,gx,gx,gx];var Kb=[hx,Tr,_r,cs,is,hx,hx,hx];var Lb=[ix,gi,Wh,Kh,yh,mh,ah,Qg,zg,og,cg,Sf,Gf,uf,Ce,pe,xc,id,jd,On,Xl,am,Qn,zn,gm,lm,Bn,ct,et,gt,Ss,Vs,Ys,Vi,oc,qc,io,Is,jo,ok,nk,Km,Xm,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix];var Mb=[jx,Bo,Go,sp,tp,yp,Ep,Hp,Ip,Lp,Qp,jt,wt,zt,$s,nt,qt,Et,Ht,Mt,Pt,Gk,Ck,jx,jx,jx,jx,jx,jx,jx,jx,jx];var Nb=[kx,$v,_v,Zv];var Ob=[lx,lc,aj,Xo,Bs,Cs,Ds,Zj,$j,_j,lx,lx,lx,lx,lx,lx];var Pb=[mx,ng,bg,Rf,Ff,tf,Be,oe,wc,ht,Ps,Qs,Rs,Zs,ti,zi,Hu,Tu,Dk,kk,Ak,fw,ew,dw,cw,bw,aw,mx,mx,mx,mx,mx];var Qb=[nx,tm,si,ro,Wi,Gm,ox,Am,Mm,Ki,xm,to,Xu,Yu,_u,Um];var Rb=[px,qx,Tj,rx,Uj,sx,Sj,px];var Sb=[tx,bq,Aq,ut,vt,lt,mt,Ct,Dt,Kt,Lt,tx,tx,tx,tx,tx];var Tb=[ux,Ap,Dp,Np,Pp,ux,ux,ux];var Ub=[vx,Ud,Vd,Rd,Sd,gd,Kc,Lc,Sc,Tc,Zc,_c,pd,qd,wd,xd,Dd,Ed,Kd,Ld,Je,Ke,Qe,Re,Xe,Ye,cf,df,Cj,Dj,Fj,In,tn,Co,Ho,dc,zm,yc,zc,Ac,Bc,Fc,Gc,Hc,De,Ee,Fe,Ge,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx];return{_jpegls_encode:Yi,___cxa_can_catch:Qj,_free:Gl,_jpegls_decode:Xi,___cxa_is_pointer_type:Rj,_i64Add:jw,_memmove:nw,_i64Subtract:hw,_memset:iw,_malloc:Fl,_memcpy:lw,_bitshift64Lshr:kw,_bitshift64Shl:mw,__GLOBAL__I_000101:Nl,__GLOBAL__sub_I_jpegls_cpp:rc,__GLOBAL__sub_I_iostream_cpp:Ol,runPostSets:gw,stackAlloc:Vb,stackSave:Wb,stackRestore:Xb,establishStackSpace:Yb,setThrew:Zb,setTempRet0:ac,getTempRet0:bc,dynCall_iiiiiiii:xw,dynCall_viiiii:yw,dynCall_iiiiiid:zw,dynCall_vi:Aw,dynCall_vii:Bw,dynCall_iiiiiii:Cw,dynCall_ii:Dw,dynCall_iiiiiiiiiiii:Ew,dynCall_iiii:Fw,dynCall_viiiiiiiiiiiiiii:Gw,dynCall_viiiiii:Hw,dynCall_viiiiiii:Iw,dynCall_viiiiiiiiii:Jw,dynCall_iii:Kw,dynCall_iiiiii:Lw,dynCall_diii:Mw,dynCall_i:Nw,dynCall_iiiii:Ow,dynCall_viii:Pw,dynCall_v:Qw,dynCall_iiiiiiiii:Rw,dynCall_iiiiid:Sw,dynCall_viiii:Tw}}) - - - // EMSCRIPTEN_END_ASM - (Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _jpegls_encode=Module["_jpegls_encode"]=asm["_jpegls_encode"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _free=Module["_free"]=asm["_free"];var _jpegls_decode=Module["_jpegls_decode"]=asm["_jpegls_decode"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var __GLOBAL__sub_I_jpegls_cpp=Module["__GLOBAL__sub_I_jpegls_cpp"]=asm["__GLOBAL__sub_I_jpegls_cpp"];var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=asm["dynCall_iiiiiiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_diii=Module["dynCall_diii"]=asm["dynCall_diii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run() - - - - - - return Module; -}; - - -/*** EXPORTS FROM exports-loader ***/ -module.exports = CharLS; - -/***/ }), - -/***/ "../codecs/jpeg.js": -/*!*************************!*\ - !*** ../codecs/jpeg.js ***! - \*************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -// jshint ignore: start - -/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- / - /* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ -/* - Copyright 2011 notmasteryet - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - */ - -// - The JPEG specification can be found in the ITU CCITT Recommendation T.81 -// (www.w3.org/Graphics/JPEG/itu-t81.pdf) -// - The JFIF specification can be found in the JPEG File Interchange Format -// (www.w3.org/Graphics/JPEG/jfif3.pdf) -// - The Adobe Application-Specific JPEG markers in the Supporting the DCT Filters -// in PostScript Level 2, Technical Note #5116 -// (partners.adobe.com/public/developer/en/ps/sdk/5116.DCT_Filter.pdf) - -var ColorSpace = {Unkown: 0, Grayscale: 1, AdobeRGB: 2, RGB: 3, CYMK: 4}; -var JpegImage = (function jpegImage() { - "use strict"; - var dctZigZag = new Int32Array([ - 0, - 1, 8, - 16, 9, 2, - 3, 10, 17, 24, - 32, 25, 18, 11, 4, - 5, 12, 19, 26, 33, 40, - 48, 41, 34, 27, 20, 13, 6, - 7, 14, 21, 28, 35, 42, 49, 56, - 57, 50, 43, 36, 29, 22, 15, - 23, 30, 37, 44, 51, 58, - 59, 52, 45, 38, 31, - 39, 46, 53, 60, - 61, 54, 47, - 55, 62, - 63 - ]); - - var dctCos1 = 4017; // cos(pi/16) - var dctSin1 = 799; // sin(pi/16) - var dctCos3 = 3406; // cos(3*pi/16) - var dctSin3 = 2276; // sin(3*pi/16) - var dctCos6 = 1567; // cos(6*pi/16) - var dctSin6 = 3784; // sin(6*pi/16) - var dctSqrt2 = 5793; // sqrt(2) - var dctSqrt1d2 = 2896; // sqrt(2) / 2 - - function constructor() { - } - - function buildHuffmanTable(codeLengths, values) { - var k = 0, code = [], i, j, length = 16; - while (length > 0 && !codeLengths[length - 1]) - length--; - code.push({children: [], index: 0}); - var p = code[0], q; - for (i = 0; i < length; i++) { - for (j = 0; j < codeLengths[i]; j++) { - p = code.pop(); - p.children[p.index] = values[k]; - while (p.index > 0) { - p = code.pop(); - } - p.index++; - code.push(p); - while (code.length <= i) { - code.push(q = {children: [], index: 0}); - p.children[p.index] = q.children; - p = q; - } - k++; - } - if (i + 1 < length) { - // p here points to last code - code.push(q = {children: [], index: 0}); - p.children[p.index] = q.children; - p = q; - } - } - return code[0].children; - } - - function getBlockBufferOffset(component, row, col) { - return 64 * ((component.blocksPerLine + 1) * row + col); - } - - function decodeScan(data, offset, - frame, components, resetInterval, - spectralStart, spectralEnd, - successivePrev, successive) { - var precision = frame.precision; - var samplesPerLine = frame.samplesPerLine; - var scanLines = frame.scanLines; - var mcusPerLine = frame.mcusPerLine; - var progressive = frame.progressive; - var maxH = frame.maxH, maxV = frame.maxV; - - var startOffset = offset, bitsData = 0, bitsCount = 0; - - function readBit() { - if (bitsCount > 0) { - bitsCount--; - return (bitsData >> bitsCount) & 1; - } - bitsData = data[offset++]; - if (bitsData == 0xFF) { - var nextByte = data[offset++]; - if (nextByte) { - throw "unexpected marker: " + ((bitsData << 8) | nextByte).toString(16); - } - // unstuff 0 - } - bitsCount = 7; - return bitsData >>> 7; - } - - function decodeHuffman(tree) { - var node = tree; - var bit; - while ((bit = readBit()) !== null) { - node = node[bit]; - if (typeof node === 'number') - return node; - if (typeof node !== 'object') - throw "invalid huffman sequence"; - } - return null; - } - - function receive(length) { - var n = 0; - while (length > 0) { - var bit = readBit(); - if (bit === null) - return; - n = (n << 1) | bit; - length--; - } - return n; - } - - function receiveAndExtend(length) { - var n = receive(length); - if (n >= 1 << (length - 1)) - return n; - return n + (-1 << length) + 1; - } - - function decodeBaseline(component, offset) { - var t = decodeHuffman(component.huffmanTableDC); - var diff = t === 0 ? 0 : receiveAndExtend(t); - component.blockData[offset] = (component.pred += diff); - var k = 1; - while (k < 64) { - var rs = decodeHuffman(component.huffmanTableAC); - var s = rs & 15, r = rs >> 4; - if (s === 0) { - if (r < 15) - break; - k += 16; - continue; - } - k += r; - var z = dctZigZag[k]; - component.blockData[offset + z] = receiveAndExtend(s); - k++; - } - } - - function decodeDCFirst(component, offset) { - var t = decodeHuffman(component.huffmanTableDC); - var diff = t === 0 ? 0 : (receiveAndExtend(t) << successive); - component.blockData[offset] = (component.pred += diff); - } - - function decodeDCSuccessive(component, offset) { - component.blockData[offset] |= readBit() << successive; - } - - var eobrun = 0; - function decodeACFirst(component, offset) { - if (eobrun > 0) { - eobrun--; - return; - } - var k = spectralStart, e = spectralEnd; - while (k <= e) { - var rs = decodeHuffman(component.huffmanTableAC); - var s = rs & 15, r = rs >> 4; - if (s === 0) { - if (r < 15) { - eobrun = receive(r) + (1 << r) - 1; - break; - } - k += 16; - continue; - } - k += r; - var z = dctZigZag[k]; - component.blockData[offset + z] = receiveAndExtend(s) * (1 << successive); - k++; - } - } - - var successiveACState = 0, successiveACNextValue; - function decodeACSuccessive(component, offset) { - var k = spectralStart, e = spectralEnd, r = 0; - while (k <= e) { - var z = dctZigZag[k]; - switch (successiveACState) { - case 0: // initial state - var rs = decodeHuffman(component.huffmanTableAC); - var s = rs & 15; - r = rs >> 4; - if (s === 0) { - if (r < 15) { - eobrun = receive(r) + (1 << r); - successiveACState = 4; - } else { - r = 16; - successiveACState = 1; - } - } else { - if (s !== 1) - throw "invalid ACn encoding"; - successiveACNextValue = receiveAndExtend(s); - successiveACState = r ? 2 : 3; - } - continue; - case 1: // skipping r zero items - case 2: - if (component.blockData[offset + z]) { - component.blockData[offset + z] += (readBit() << successive); - } else { - r--; - if (r === 0) - successiveACState = successiveACState == 2 ? 3 : 0; - } - break; - case 3: // set value for a zero item - if (component.blockData[offset + z]) { - component.blockData[offset + z] += (readBit() << successive); - } else { - component.blockData[offset + z] = successiveACNextValue << successive; - successiveACState = 0; - } - break; - case 4: // eob - if (component.blockData[offset + z]) { - component.blockData[offset + z] += (readBit() << successive); - } - break; - } - k++; - } - if (successiveACState === 4) { - eobrun--; - if (eobrun === 0) - successiveACState = 0; - } - } - - function decodeMcu(component, decode, mcu, row, col) { - var mcuRow = (mcu / mcusPerLine) | 0; - var mcuCol = mcu % mcusPerLine; - var blockRow = mcuRow * component.v + row; - var blockCol = mcuCol * component.h + col; - var offset = getBlockBufferOffset(component, blockRow, blockCol); - decode(component, offset); - } - - function decodeBlock(component, decode, mcu) { - var blockRow = (mcu / component.blocksPerLine) | 0; - var blockCol = mcu % component.blocksPerLine; - var offset = getBlockBufferOffset(component, blockRow, blockCol); - decode(component, offset); - } - - var componentsLength = components.length; - var component, i, j, k, n; - var decodeFn; - if (progressive) { - if (spectralStart === 0) - decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive; - else - decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive; - } else { - decodeFn = decodeBaseline; - } - - var mcu = 0, marker; - var mcuExpected; - if (componentsLength == 1) { - mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn; - } else { - mcuExpected = mcusPerLine * frame.mcusPerColumn; - } - if (!resetInterval) { - resetInterval = mcuExpected; - } - - var h, v; - while (mcu < mcuExpected) { - // reset interval stuff - for (i = 0; i < componentsLength; i++) { - components[i].pred = 0; - } - eobrun = 0; - - if (componentsLength == 1) { - component = components[0]; - for (n = 0; n < resetInterval; n++) { - decodeBlock(component, decodeFn, mcu); - mcu++; - } - } else { - for (n = 0; n < resetInterval; n++) { - for (i = 0; i < componentsLength; i++) { - component = components[i]; - h = component.h; - v = component.v; - for (j = 0; j < v; j++) { - for (k = 0; k < h; k++) { - decodeMcu(component, decodeFn, mcu, j, k); - } - } - } - mcu++; - } - } - - // find marker - bitsCount = 0; - marker = (data[offset] << 8) | data[offset + 1]; - if (marker <= 0xFF00) { - throw "marker was not found"; - } - - if (marker >= 0xFFD0 && marker <= 0xFFD7) { // RSTx - offset += 2; - } else { - break; - } - } - - return offset - startOffset; - } - - // A port of poppler's IDCT method which in turn is taken from: - // Christoph Loeffler, Adriaan Ligtenberg, George S. Moschytz, - // "Practical Fast 1-D DCT Algorithms with 11 Multiplications", - // IEEE Intl. Conf. on Acoustics, Speech & Signal Processing, 1989, - // 988-991. - function quantizeAndInverse(component, blockBufferOffset, p) { - var qt = component.quantizationTable; - var v0, v1, v2, v3, v4, v5, v6, v7, t; - var i; - - // dequant - for (i = 0; i < 64; i++) { - p[i] = component.blockData[blockBufferOffset + i] * qt[i]; - } - - // inverse DCT on rows - for (i = 0; i < 8; ++i) { - var row = 8 * i; - - // check for all-zero AC coefficients - if (p[1 + row] === 0 && p[2 + row] === 0 && p[3 + row] === 0 && - p[4 + row] === 0 && p[5 + row] === 0 && p[6 + row] === 0 && - p[7 + row] === 0) { - t = (dctSqrt2 * p[0 + row] + 512) >> 10; - p[0 + row] = t; - p[1 + row] = t; - p[2 + row] = t; - p[3 + row] = t; - p[4 + row] = t; - p[5 + row] = t; - p[6 + row] = t; - p[7 + row] = t; - continue; - } - - // stage 4 - v0 = (dctSqrt2 * p[0 + row] + 128) >> 8; - v1 = (dctSqrt2 * p[4 + row] + 128) >> 8; - v2 = p[2 + row]; - v3 = p[6 + row]; - v4 = (dctSqrt1d2 * (p[1 + row] - p[7 + row]) + 128) >> 8; - v7 = (dctSqrt1d2 * (p[1 + row] + p[7 + row]) + 128) >> 8; - v5 = p[3 + row] << 4; - v6 = p[5 + row] << 4; - - // stage 3 - t = (v0 - v1 + 1) >> 1; - v0 = (v0 + v1 + 1) >> 1; - v1 = t; - t = (v2 * dctSin6 + v3 * dctCos6 + 128) >> 8; - v2 = (v2 * dctCos6 - v3 * dctSin6 + 128) >> 8; - v3 = t; - t = (v4 - v6 + 1) >> 1; - v4 = (v4 + v6 + 1) >> 1; - v6 = t; - t = (v7 + v5 + 1) >> 1; - v5 = (v7 - v5 + 1) >> 1; - v7 = t; - - // stage 2 - t = (v0 - v3 + 1) >> 1; - v0 = (v0 + v3 + 1) >> 1; - v3 = t; - t = (v1 - v2 + 1) >> 1; - v1 = (v1 + v2 + 1) >> 1; - v2 = t; - t = (v4 * dctSin3 + v7 * dctCos3 + 2048) >> 12; - v4 = (v4 * dctCos3 - v7 * dctSin3 + 2048) >> 12; - v7 = t; - t = (v5 * dctSin1 + v6 * dctCos1 + 2048) >> 12; - v5 = (v5 * dctCos1 - v6 * dctSin1 + 2048) >> 12; - v6 = t; - - // stage 1 - p[0 + row] = v0 + v7; - p[7 + row] = v0 - v7; - p[1 + row] = v1 + v6; - p[6 + row] = v1 - v6; - p[2 + row] = v2 + v5; - p[5 + row] = v2 - v5; - p[3 + row] = v3 + v4; - p[4 + row] = v3 - v4; - } - - // inverse DCT on columns - for (i = 0; i < 8; ++i) { - var col = i; - - // check for all-zero AC coefficients - if (p[1 * 8 + col] === 0 && p[2 * 8 + col] === 0 && p[3 * 8 + col] === 0 && - p[4 * 8 + col] === 0 && p[5 * 8 + col] === 0 && p[6 * 8 + col] === 0 && - p[7 * 8 + col] === 0) { - t = (dctSqrt2 * p[i + 0] + 8192) >> 14; - p[0 * 8 + col] = t; - p[1 * 8 + col] = t; - p[2 * 8 + col] = t; - p[3 * 8 + col] = t; - p[4 * 8 + col] = t; - p[5 * 8 + col] = t; - p[6 * 8 + col] = t; - p[7 * 8 + col] = t; - continue; - } - - // stage 4 - v0 = (dctSqrt2 * p[0 * 8 + col] + 2048) >> 12; - v1 = (dctSqrt2 * p[4 * 8 + col] + 2048) >> 12; - v2 = p[2 * 8 + col]; - v3 = p[6 * 8 + col]; - v4 = (dctSqrt1d2 * (p[1 * 8 + col] - p[7 * 8 + col]) + 2048) >> 12; - v7 = (dctSqrt1d2 * (p[1 * 8 + col] + p[7 * 8 + col]) + 2048) >> 12; - v5 = p[3 * 8 + col]; - v6 = p[5 * 8 + col]; - - // stage 3 - t = (v0 - v1 + 1) >> 1; - v0 = (v0 + v1 + 1) >> 1; - v1 = t; - t = (v2 * dctSin6 + v3 * dctCos6 + 2048) >> 12; - v2 = (v2 * dctCos6 - v3 * dctSin6 + 2048) >> 12; - v3 = t; - t = (v4 - v6 + 1) >> 1; - v4 = (v4 + v6 + 1) >> 1; - v6 = t; - t = (v7 + v5 + 1) >> 1; - v5 = (v7 - v5 + 1) >> 1; - v7 = t; - - // stage 2 - t = (v0 - v3 + 1) >> 1; - v0 = (v0 + v3 + 1) >> 1; - v3 = t; - t = (v1 - v2 + 1) >> 1; - v1 = (v1 + v2 + 1) >> 1; - v2 = t; - t = (v4 * dctSin3 + v7 * dctCos3 + 2048) >> 12; - v4 = (v4 * dctCos3 - v7 * dctSin3 + 2048) >> 12; - v7 = t; - t = (v5 * dctSin1 + v6 * dctCos1 + 2048) >> 12; - v5 = (v5 * dctCos1 - v6 * dctSin1 + 2048) >> 12; - v6 = t; - - // stage 1 - p[0 * 8 + col] = v0 + v7; - p[7 * 8 + col] = v0 - v7; - p[1 * 8 + col] = v1 + v6; - p[6 * 8 + col] = v1 - v6; - p[2 * 8 + col] = v2 + v5; - p[5 * 8 + col] = v2 - v5; - p[3 * 8 + col] = v3 + v4; - p[4 * 8 + col] = v3 - v4; - } - - // convert to 8-bit integers - for (i = 0; i < 64; ++i) { - var index = blockBufferOffset + i; - var q = p[i]; - q = (q <= -2056 / component.bitConversion) ? 0 : - (q >= 2024 / component.bitConversion) ? 255 / component.bitConversion : - (q + 2056 / component.bitConversion) >> 4; - component.blockData[index] = q; - } - } - - function buildComponentData(frame, component) { - var lines = []; - var blocksPerLine = component.blocksPerLine; - var blocksPerColumn = component.blocksPerColumn; - var samplesPerLine = blocksPerLine << 3; - var computationBuffer = new Int32Array(64); - - var i, j, ll = 0; - for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) { - for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) { - var offset = getBlockBufferOffset(component, blockRow, blockCol); - quantizeAndInverse(component, offset, computationBuffer); - } - } - return component.blockData; - } - - function clampToUint8(a) { - return a <= 0 ? 0 : a >= 255 ? 255 : a | 0; - } - - constructor.prototype = { - load: function load(path) { - var handleData = (function (data) { - this.parse(data); - if (this.onload) - this.onload(); - }).bind(this); - - if (path.indexOf("data:") > -1) { - var offset = path.indexOf("base64,") + 7; - var data = atob(path.substring(offset)); - var arr = new Uint8Array(data.length); - for (var i = data.length - 1; i >= 0; i--) { - arr[i] = data.charCodeAt(i); - } - handleData(data); - } else { - var xhr = new XMLHttpRequest(); - xhr.open("GET", path, true); - xhr.responseType = "arraybuffer"; - xhr.onload = (function () { - // TODO catch parse error - var data = new Uint8Array(xhr.response); - handleData(data); - }).bind(this); - xhr.send(null); - } - }, - parse: function parse(data) { - - function readUint16() { - var value = (data[offset] << 8) | data[offset + 1]; - offset += 2; - return value; - } - - function readDataBlock() { - var length = readUint16(); - var array = data.subarray(offset, offset + length - 2); - offset += array.length; - return array; - } - - function prepareComponents(frame) { - var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH); - var mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV); - for (var i = 0; i < frame.components.length; i++) { - component = frame.components[i]; - var blocksPerLine = Math.ceil(Math.ceil(frame.samplesPerLine / 8) * component.h / frame.maxH); - var blocksPerColumn = Math.ceil(Math.ceil(frame.scanLines / 8) * component.v / frame.maxV); - var blocksPerLineForMcu = mcusPerLine * component.h; - var blocksPerColumnForMcu = mcusPerColumn * component.v; - - var blocksBufferSize = 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1); - component.blockData = new Int16Array(blocksBufferSize); - component.blocksPerLine = blocksPerLine; - component.blocksPerColumn = blocksPerColumn; - } - frame.mcusPerLine = mcusPerLine; - frame.mcusPerColumn = mcusPerColumn; - } - - var offset = 0, length = data.length; - var jfif = null; - var adobe = null; - var pixels = null; - var frame, resetInterval; - var quantizationTables = []; - var huffmanTablesAC = [], huffmanTablesDC = []; - var fileMarker = readUint16(); - if (fileMarker != 0xFFD8) { // SOI (Start of Image) - throw "SOI not found"; - } - - fileMarker = readUint16(); - while (fileMarker != 0xFFD9) { // EOI (End of image) - var i, j, l; - switch (fileMarker) { - case 0xFFE0: // APP0 (Application Specific) - case 0xFFE1: // APP1 - case 0xFFE2: // APP2 - case 0xFFE3: // APP3 - case 0xFFE4: // APP4 - case 0xFFE5: // APP5 - case 0xFFE6: // APP6 - case 0xFFE7: // APP7 - case 0xFFE8: // APP8 - case 0xFFE9: // APP9 - case 0xFFEA: // APP10 - case 0xFFEB: // APP11 - case 0xFFEC: // APP12 - case 0xFFED: // APP13 - case 0xFFEE: // APP14 - case 0xFFEF: // APP15 - case 0xFFFE: // COM (Comment) - var appData = readDataBlock(); - - if (fileMarker === 0xFFE0) { - if (appData[0] === 0x4A && appData[1] === 0x46 && appData[2] === 0x49 && - appData[3] === 0x46 && appData[4] === 0) { // 'JFIF\x00' - jfif = { - version: {major: appData[5], minor: appData[6]}, - densityUnits: appData[7], - xDensity: (appData[8] << 8) | appData[9], - yDensity: (appData[10] << 8) | appData[11], - thumbWidth: appData[12], - thumbHeight: appData[13], - thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13]) - }; - } - } - // TODO APP1 - Exif - if (fileMarker === 0xFFEE) { - if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6F && - appData[3] === 0x62 && appData[4] === 0x65 && appData[5] === 0) { // 'Adobe\x00' - adobe = { - version: appData[6], - flags0: (appData[7] << 8) | appData[8], - flags1: (appData[9] << 8) | appData[10], - transformCode: appData[11] - }; - } - } - break; - - case 0xFFDB: // DQT (Define Quantization Tables) - var quantizationTablesLength = readUint16(); - var quantizationTablesEnd = quantizationTablesLength + offset - 2; - while (offset < quantizationTablesEnd) { - var quantizationTableSpec = data[offset++]; - var tableData = new Int32Array(64); - if ((quantizationTableSpec >> 4) === 0) { // 8 bit values - for (j = 0; j < 64; j++) { - var z = dctZigZag[j]; - tableData[z] = data[offset++]; - } - } else if ((quantizationTableSpec >> 4) === 1) { //16 bit - for (j = 0; j < 64; j++) { - var zz = dctZigZag[j]; - tableData[zz] = readUint16(); - } - } else - throw "DQT: invalid table spec"; - quantizationTables[quantizationTableSpec & 15] = tableData; - } - break; - - case 0xFFC0: // SOF0 (Start of Frame, Baseline DCT) - case 0xFFC1: // SOF1 (Start of Frame, Extended DCT) - case 0xFFC2: // SOF2 (Start of Frame, Progressive DCT) - if (frame) { - throw "Only single frame JPEGs supported"; - } - readUint16(); // skip data length - frame = {}; - frame.extended = (fileMarker === 0xFFC1); - frame.progressive = (fileMarker === 0xFFC2); - frame.precision = data[offset++]; - frame.scanLines = readUint16(); - frame.samplesPerLine = readUint16(); - frame.components = []; - frame.componentIds = {}; - var componentsCount = data[offset++], componentId; - var maxH = 0, maxV = 0; - for (i = 0; i < componentsCount; i++) { - componentId = data[offset]; - var h = data[offset + 1] >> 4; - var v = data[offset + 1] & 15; - if (maxH < h) - maxH = h; - if (maxV < v) - maxV = v; - var qId = data[offset + 2]; - l = frame.components.push({ - h: h, - v: v, - quantizationTable: quantizationTables[qId], - quantizationTableId: qId, - bitConversion: 255 / ((1 << frame.precision) - 1) - }); - frame.componentIds[componentId] = l - 1; - offset += 3; - } - frame.maxH = maxH; - frame.maxV = maxV; - prepareComponents(frame); - break; - - case 0xFFC4: // DHT (Define Huffman Tables) - var huffmanLength = readUint16(); - for (i = 2; i < huffmanLength; ) { - var huffmanTableSpec = data[offset++]; - var codeLengths = new Uint8Array(16); - var codeLengthSum = 0; - for (j = 0; j < 16; j++, offset++) - codeLengthSum += (codeLengths[j] = data[offset]); - var huffmanValues = new Uint8Array(codeLengthSum); - for (j = 0; j < codeLengthSum; j++, offset++) - huffmanValues[j] = data[offset]; - i += 17 + codeLengthSum; - - ((huffmanTableSpec >> 4) === 0 ? - huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = - buildHuffmanTable(codeLengths, huffmanValues); - } - break; - - case 0xFFDD: // DRI (Define Restart Interval) - readUint16(); // skip data length - resetInterval = readUint16(); - break; - - case 0xFFDA: // SOS (Start of Scan) - var scanLength = readUint16(); - var selectorsCount = data[offset++]; - var components = [], component; - for (i = 0; i < selectorsCount; i++) { - var componentIndex = frame.componentIds[data[offset++]]; - component = frame.components[componentIndex]; - var tableSpec = data[offset++]; - component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4]; - component.huffmanTableAC = huffmanTablesAC[tableSpec & 15]; - components.push(component); - } - var spectralStart = data[offset++]; - var spectralEnd = data[offset++]; - var successiveApproximation = data[offset++]; - var processed = decodeScan(data, offset, - frame, components, resetInterval, - spectralStart, spectralEnd, - successiveApproximation >> 4, successiveApproximation & 15); - offset += processed; - break; - case 0xFFFF: // Fill bytes - if (data[offset] !== 0xFF) { // Avoid skipping a valid marker. - offset--; - } - break; - default: - if (data[offset - 3] == 0xFF && - data[offset - 2] >= 0xC0 && data[offset - 2] <= 0xFE) { - // could be incorrect encoding -- last 0xFF byte of the previous - // block was eaten by the encoder - offset -= 3; - break; - } - throw "unknown JPEG marker " + fileMarker.toString(16); - } - fileMarker = readUint16(); - } - - this.width = frame.samplesPerLine; - this.height = frame.scanLines; - this.jfif = jfif; - this.adobe = adobe; - this.components = []; - switch (frame.components.length) - { - case 1: - this.colorspace = ColorSpace.Grayscale; - break; - case 3: - if (this.adobe) - this.colorspace = ColorSpace.AdobeRGB; - else - this.colorspace = ColorSpace.RGB; - break; - case 4: - this.colorspace = ColorSpace.CYMK; - break; - default: - this.colorspace = ColorSpace.Unknown; - } - for (var i = 0; i < frame.components.length; i++) { - var component = frame.components[i]; - if (!component.quantizationTable && component.quantizationTableId !== null) - component.quantizationTable = quantizationTables[component.quantizationTableId]; - this.components.push({ - output: buildComponentData(frame, component), - scaleX: component.h / frame.maxH, - scaleY: component.v / frame.maxV, - blocksPerLine: component.blocksPerLine, - blocksPerColumn: component.blocksPerColumn, - bitConversion: component.bitConversion - }); - } - }, - getData16: function getData16(width, height) { - if (this.components.length !== 1) - throw 'Unsupported color mode'; - var scaleX = this.width / width, scaleY = this.height / height; - - var component, componentScaleX, componentScaleY; - var x, y, i; - var offset = 0; - var numComponents = this.components.length; - var dataLength = width * height * numComponents; - var data = new Uint16Array(dataLength); - var componentLine; - - // lineData is reused for all components. Assume first component is - // the biggest - var lineData = new Uint16Array((this.components[0].blocksPerLine << 3) * - this.components[0].blocksPerColumn * 8); - - // First construct image data ... - for (i = 0; i < numComponents; i++) { - component = this.components[i]; - var blocksPerLine = component.blocksPerLine; - var blocksPerColumn = component.blocksPerColumn; - var samplesPerLine = blocksPerLine << 3; - - var j, k, ll = 0; - var lineOffset = 0; - for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) { - var scanLine = blockRow << 3; - for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) { - var bufferOffset = getBlockBufferOffset(component, blockRow, blockCol); - var offset = 0, sample = blockCol << 3; - for (j = 0; j < 8; j++) { - var lineOffset = (scanLine + j) * samplesPerLine; - for (k = 0; k < 8; k++) { - lineData[lineOffset + sample + k] = - component.output[bufferOffset + offset++]; - } - } - } - } - - componentScaleX = component.scaleX * scaleX; - componentScaleY = component.scaleY * scaleY; - offset = i; - - var cx, cy; - var index; - for (y = 0; y < height; y++) { - for (x = 0; x < width; x++) { - cy = 0 | (y * componentScaleY); - cx = 0 | (x * componentScaleX); - index = cy * samplesPerLine + cx; - data[offset] = lineData[index]; - offset += numComponents; - } - } - } - return data; - }, - getData: function getData(width, height) { - var scaleX = this.width / width, scaleY = this.height / height; - - var component, componentScaleX, componentScaleY; - var x, y, i; - var offset = 0; - var Y, Cb, Cr, K, C, M, Ye, R, G, B; - var colorTransform; - var numComponents = this.components.length; - var dataLength = width * height * numComponents; - var data = new Uint8Array(dataLength); - var componentLine; - - // lineData is reused for all components. Assume first component is - // the biggest - var lineData = new Uint8Array((this.components[0].blocksPerLine << 3) * - this.components[0].blocksPerColumn * 8); - - // First construct image data ... - for (i = 0; i < numComponents; i++) { - component = this.components[i]; - var blocksPerLine = component.blocksPerLine; - var blocksPerColumn = component.blocksPerColumn; - var samplesPerLine = blocksPerLine << 3; - - var j, k, ll = 0; - var lineOffset = 0; - for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) { - var scanLine = blockRow << 3; - for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) { - var bufferOffset = getBlockBufferOffset(component, blockRow, blockCol); - var offset = 0, sample = blockCol << 3; - for (j = 0; j < 8; j++) { - var lineOffset = (scanLine + j) * samplesPerLine; - for (k = 0; k < 8; k++) { - lineData[lineOffset + sample + k] = - component.output[bufferOffset + offset++] * component.bitConversion; - } - } - } - } - - componentScaleX = component.scaleX * scaleX; - componentScaleY = component.scaleY * scaleY; - offset = i; - - var cx, cy; - var index; - for (y = 0; y < height; y++) { - for (x = 0; x < width; x++) { - cy = 0 | (y * componentScaleY); - cx = 0 | (x * componentScaleX); - index = cy * samplesPerLine + cx; - data[offset] = lineData[index]; - offset += numComponents; - } - } - } - - // ... then transform colors, if necessary - switch (numComponents) { - case 1: - case 2: - break; - // no color conversion for one or two compoenents - - case 3: - // The default transform for three components is true - colorTransform = true; - // The adobe transform marker overrides any previous setting - if (this.adobe && this.adobe.transformCode) - colorTransform = true; - else if (typeof this.colorTransform !== 'undefined') - colorTransform = !!this.colorTransform; - - if (colorTransform) { - for (i = 0; i < dataLength; i += numComponents) { - Y = data[i ]; - Cb = data[i + 1]; - Cr = data[i + 2]; - - R = clampToUint8(Y - 179.456 + 1.402 * Cr); - G = clampToUint8(Y + 135.459 - 0.344 * Cb - 0.714 * Cr); - B = clampToUint8(Y - 226.816 + 1.772 * Cb); - - data[i ] = R; - data[i + 1] = G; - data[i + 2] = B; - } - } - break; - case 4: - if (!this.adobe) - throw 'Unsupported color mode (4 components)'; - // The default transform for four components is false - colorTransform = false; - // The adobe transform marker overrides any previous setting - if (this.adobe && this.adobe.transformCode) - colorTransform = true; - else if (typeof this.colorTransform !== 'undefined') - colorTransform = !!this.colorTransform; - - if (colorTransform) { - for (i = 0; i < dataLength; i += numComponents) { - Y = data[i]; - Cb = data[i + 1]; - Cr = data[i + 2]; - - C = clampToUint8(434.456 - Y - 1.402 * Cr); - M = clampToUint8(119.541 - Y + 0.344 * Cb + 0.714 * Cr); - Y = clampToUint8(481.816 - Y - 1.772 * Cb); - - data[i ] = C; - data[i + 1] = M; - data[i + 2] = Y; - // K is unchanged - } - } - break; - default: - throw 'Unsupported color mode'; - } - return data; - } - }; - - return constructor; -})(); - - -/*** EXPORTS FROM exports-loader ***/ -module.exports = JpegImage; - -/***/ }), - -/***/ "../codecs/jpegLossless.js": -/*!*********************************!*\ - !*** ../codecs/jpegLossless.js ***! - \*********************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.jpeg = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o> 4) !== 0x0FFC) || (current === 0xFFC4))) { // SOF 0~15 - switch (current) { - case 0xFFC4: // DHT - this.huffTable.read(this.stream, this.HuffTab); - break; - case 0xFFCC: // DAC - throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)"); - case 0xFFDB: - this.quantTable.read(this.stream, jpeg.lossless.Decoder.TABLE); - break; - case 0xFFDD: - this.restartInterval = this.readNumber(); - break; - case 0xFFE0: - case 0xFFE1: - case 0xFFE2: - case 0xFFE3: - case 0xFFE4: - case 0xFFE5: - case 0xFFE6: - case 0xFFE7: - case 0xFFE8: - case 0xFFE9: - case 0xFFEA: - case 0xFFEB: - case 0xFFEC: - case 0xFFED: - case 0xFFEE: - case 0xFFEF: - this.readApp(); - break; - case 0xFFFE: - this.readComment(); - break; - default: - if ((current >> 8) !== 0xFF) { - throw new Error("ERROR: format throw new IOException! (decode)"); - } - } - - current = this.stream.get16(); - } - - if ((current < 0xFFC0) || (current > 0xFFC7)) { - throw new Error("ERROR: could not handle arithmetic code!"); - } - - this.frame.read(this.stream); - current = this.stream.get16(); - - do { - while (current !== 0x0FFDA) { // SOS - switch (current) { - case 0xFFC4: // DHT - this.huffTable.read(this.stream, this.HuffTab); - break; - case 0xFFCC: // DAC - throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)"); - case 0xFFDB: - this.quantTable.read(this.stream, jpeg.lossless.Decoder.TABLE); - break; - case 0xFFDD: - this.restartInterval = this.readNumber(); - break; - case 0xFFE0: - case 0xFFE1: - case 0xFFE2: - case 0xFFE3: - case 0xFFE4: - case 0xFFE5: - case 0xFFE6: - case 0xFFE7: - case 0xFFE8: - case 0xFFE9: - case 0xFFEA: - case 0xFFEB: - case 0xFFEC: - case 0xFFED: - case 0xFFEE: - case 0xFFEF: - this.readApp(); - break; - case 0xFFFE: - this.readComment(); - break; - default: - if ((current >> 8) !== 0xFF) { - throw new Error("ERROR: format throw new IOException! (Parser.decode)"); - } - } - - current = this.stream.get16(); - } - - this.precision = this.frame.precision; - this.components = this.frame.components; - - if (!this.numBytes) { - this.numBytes = parseInt(Math.ceil(this.precision / 8)); - } - - if (this.numBytes == 1) { - this.mask = 0xFF; - } else { - this.mask = 0xFFFF; - } - - this.scan.read(this.stream); - this.numComp = this.scan.numComp; - this.selection = this.scan.selection; - - if (this.numBytes === 1) { - if (this.numComp === 3) { - this.getter = this.getValueRGB; - this.setter = this.setValueRGB; - this.output = this.outputRGB; - } else { - this.getter = this.getValue8; - this.setter = this.setValue8; - this.output = this.outputSingle; - } - } else { - this.getter = this.getValue16; - this.setter = this.setValue16; - this.output = this.outputSingle; - } - - switch (this.selection) { - case 2: - this.selector = this.select2; - break; - case 3: - this.selector = this.select3; - break; - case 4: - this.selector = this.select4; - break; - case 5: - this.selector = this.select5; - break; - case 6: - this.selector = this.select6; - break; - case 7: - this.selector = this.select7; - break; - default: - this.selector = this.select1; - break; - } - - this.scanComps = this.scan.components; - this.quantTables = this.quantTable.quantTables; - - for (i = 0; i < this.numComp; i+=1) { - compN = this.scanComps[i].scanCompSel; - this.qTab[i] = this.quantTables[this.components[compN].quantTableSel]; - this.nBlock[i] = this.components[compN].vSamp * this.components[compN].hSamp; - this.dcTab[i] = this.HuffTab[this.scanComps[i].dcTabSel][0]; - this.acTab[i] = this.HuffTab[this.scanComps[i].acTabSel][1]; - } - - this.xDim = this.frame.dimX; - this.yDim = this.frame.dimY; - if (this.numBytes == 1) { - this.outputData = new Uint8Array(new ArrayBuffer(this.xDim * this.yDim * this.numBytes * this.numComp)); - } else { - this.outputData = new Uint16Array(new ArrayBuffer(this.xDim * this.yDim * this.numBytes * this.numComp)); - } - - scanNum+=1; - - while (true) { // Decode one scan - temp[0] = 0; - index[0] = 0; - - for (i = 0; i < 10; i+=1) { - pred[i] = (1 << (this.precision - 1)); - } - - if (this.restartInterval === 0) { - current = this.decodeUnit(pred, temp, index); - - while ((current === 0) && ((this.xLoc < this.xDim) && (this.yLoc < this.yDim))) { - this.output(pred); - current = this.decodeUnit(pred, temp, index); - } - - break; //current=MARKER - } - - for (mcuNum = 0; mcuNum < this.restartInterval; mcuNum+=1) { - this.restarting = (mcuNum == 0); - current = this.decodeUnit(pred, temp, index); - this.output(pred); - - if (current !== 0) { - break; - } - } - - if (current === 0) { - if (this.markerIndex !== 0) { - current = (0xFF00 | this.marker); - this.markerIndex = 0; - } else { - current = this.stream.get16(); - } - } - - if (!((current >= jpeg.lossless.Decoder.RESTART_MARKER_BEGIN) && - (current <= jpeg.lossless.Decoder.RESTART_MARKER_END))) { - break; //current=MARKER - } - } - - if ((current === 0xFFDC) && (scanNum === 1)) { //DNL - this.readNumber(); - current = this.stream.get16(); - } - } while ((current !== 0xFFD9) && ((this.xLoc < this.xDim) && (this.yLoc < this.yDim)) && (scanNum === 0)); - - return this.outputData; - }; - - - - jpeg.lossless.Decoder.prototype.decodeUnit = function (prev, temp, index) { - if (this.numComp == 1) { - return this.decodeSingle(prev, temp, index); - } else if (this.numComp == 3) { - return this.decodeRGB(prev, temp, index); - } else { - return -1; - } - }; - - - - jpeg.lossless.Decoder.prototype.select1 = function (compOffset) { - return this.getPreviousX(compOffset); - }; - - - - jpeg.lossless.Decoder.prototype.select2 = function (compOffset) { - return this.getPreviousY(compOffset); - }; - - - - jpeg.lossless.Decoder.prototype.select3 = function (compOffset) { - return this.getPreviousXY(compOffset); - }; - - - - jpeg.lossless.Decoder.prototype.select4 = function (compOffset) { - return (this.getPreviousX(compOffset) + this.getPreviousY(compOffset)) - this.getPreviousXY(compOffset); - }; - - - - jpeg.lossless.Decoder.prototype.select5 = function (compOffset) { - return this.getPreviousX(compOffset) + ((this.getPreviousY(compOffset) - this.getPreviousXY(compOffset)) >> 1); - }; - - - - jpeg.lossless.Decoder.prototype.select6 = function (compOffset) { - return this.getPreviousY(compOffset) + ((this.getPreviousX(compOffset) - this.getPreviousXY(compOffset)) >> 1); - }; - - - - jpeg.lossless.Decoder.prototype.select7 = function (compOffset) { - return ((this.getPreviousX(compOffset) + this.getPreviousY(compOffset)) / 2); - }; - - - - jpeg.lossless.Decoder.prototype.decodeRGB = function (prev, temp, index) { - /*jslint bitwise: true */ - - var value, actab, dctab, qtab, ctrC, i, k, j; - - prev[0] = this.selector(0); - prev[1] = this.selector(1); - prev[2] = this.selector(2); - - for (ctrC = 0; ctrC < this.numComp; ctrC+=1) { - qtab = this.qTab[ctrC]; - actab = this.acTab[ctrC]; - dctab = this.dcTab[ctrC]; - for (i = 0; i < this.nBlock[ctrC]; i+=1) { - for (k = 0; k < this.IDCT_Source.length; k+=1) { - this.IDCT_Source[k] = 0; - } - - value = this.getHuffmanValue(dctab, temp, index); - - if (value >= 0xFF00) { - return value; - } - - prev[ctrC] = this.IDCT_Source[0] = prev[ctrC] + this.getn(index, value, temp, index); - this.IDCT_Source[0] *= qtab[0]; - - for (j = 1; j < 64; j+=1) { - value = this.getHuffmanValue(actab, temp, index); - - if (value >= 0xFF00) { - return value; - } - - j += (value >> 4); - - if ((value & 0x0F) === 0) { - if ((value >> 4) === 0) { - break; - } - } else { - this.IDCT_Source[jpeg.lossless.Decoder.IDCT_P[j]] = this.getn(index, value & 0x0F, temp, index) * qtab[j]; - } - } - } - } - - return 0; - }; - - - - jpeg.lossless.Decoder.prototype.decodeSingle = function (prev, temp, index) { - /*jslint bitwise: true */ - - var value, i, n, nRestart; - - if (this.restarting) { - this.restarting = false; - prev[0] = (1 << (this.frame.precision - 1)); - } else { - prev[0] = this.selector(); - } - - for (i = 0; i < this.nBlock[0]; i+=1) { - value = this.getHuffmanValue(this.dcTab[0], temp, index); - if (value >= 0xFF00) { - return value; - } - - n = this.getn(prev, value, temp, index); - nRestart = (n >> 8); - - if ((nRestart >= jpeg.lossless.Decoder.RESTART_MARKER_BEGIN) && (nRestart <= jpeg.lossless.Decoder.RESTART_MARKER_END)) { - return nRestart; - } - - prev[0] += n; - } - - return 0; - }; - - - - // Huffman table for fast search: (HuffTab) 8-bit Look up table 2-layer search architecture, 1st-layer represent 256 node (8 bits) if codeword-length > 8 - // bits, then the entry of 1st-layer = (# of 2nd-layer table) | MSB and it is stored in the 2nd-layer Size of tables in each layer are 256. - // HuffTab[*][*][0-256] is always the only 1st-layer table. - // - // An entry can be: (1) (# of 2nd-layer table) | MSB , for code length > 8 in 1st-layer (2) (Code length) << 8 | HuffVal - // - // HuffmanValue(table HuffTab[x][y] (ex) HuffmanValue(HuffTab[1][0],...) - // ): - // return: Huffman Value of table - // 0xFF?? if it receives a MARKER - // Parameter: table HuffTab[x][y] (ex) HuffmanValue(HuffTab[1][0],...) - // temp temp storage for remainded bits - // index index to bit of temp - // in FILE pointer - // Effect: - // temp store new remainded bits - // index change to new index - // in change to new position - // NOTE: - // Initial by temp=0; index=0; - // NOTE: (explain temp and index) - // temp: is always in the form at calling time or returning time - // | byte 4 | byte 3 | byte 2 | byte 1 | - // | 0 | 0 | 00000000 | 00000??? | if not a MARKER - // ^index=3 (from 0 to 15) - // 321 - // NOTE (marker and marker_index): - // If get a MARKER from 'in', marker=the low-byte of the MARKER - // and marker_index=9 - // If marker_index=9 then index is always > 8, or HuffmanValue() - // will not be called - jpeg.lossless.Decoder.prototype.getHuffmanValue = function (table, temp, index) { - /*jslint bitwise: true */ - - var code, input, mask; - mask = 0xFFFF; - - if (index[0] < 8) { - temp[0] <<= 8; - input = this.stream.get8(); - if (input === 0xFF) { - this.marker = this.stream.get8(); - if (this.marker !== 0) { - this.markerIndex = 9; - } - } - temp[0] |= input; - } else { - index[0] -= 8; - } - - code = table[temp[0] >> index[0]]; - - if ((code & jpeg.lossless.Decoder.MSB) !== 0) { - if (this.markerIndex !== 0) { - this.markerIndex = 0; - return 0xFF00 | this.marker; - } - - temp[0] &= (mask >> (16 - index[0])); - temp[0] <<= 8; - input = this.stream.get8(); - - if (input === 0xFF) { - this.marker = this.stream.get8(); - if (this.marker !== 0) { - this.markerIndex = 9; - } - } - - temp[0] |= input; - code = table[((code & 0xFF) * 256) + (temp[0] >> index[0])]; - index[0] += 8; - } - - index[0] += 8 - (code >> 8); - - if (index[0] < 0) { - throw new Error("index=" + index[0] + " temp=" + temp[0] + " code=" + code + " in HuffmanValue()"); - } - - if (index[0] < this.markerIndex) { - this.markerIndex = 0; - return 0xFF00 | this.marker; - } - - temp[0] &= (mask >> (16 - index[0])); - return code & 0xFF; - }; - - - - jpeg.lossless.Decoder.prototype.getn = function (PRED, n, temp, index) { - /*jslint bitwise: true */ - - var result, one, n_one, mask, input; - one = 1; - n_one = -1; - mask = 0xFFFF; - - if (n === 0) { - return 0; - } - - if (n === 16) { - if (PRED[0] >= 0) { - return -32768; - } else { - return 32768; - } - } - - index[0] -= n; - - if (index[0] >= 0) { - if ((index[0] < this.markerIndex) && !this.isLastPixel()) { // this was corrupting the last pixel in some cases - this.markerIndex = 0; - return (0xFF00 | this.marker) << 8; - } - - result = temp[0] >> index[0]; - temp[0] &= (mask >> (16 - index[0])); - } else { - temp[0] <<= 8; - input = this.stream.get8(); - - if (input === 0xFF) { - this.marker = this.stream.get8(); - if (this.marker !== 0) { - this.markerIndex = 9; - } - } - - temp[0] |= input; - index[0] += 8; - - if (index[0] < 0) { - if (this.markerIndex !== 0) { - this.markerIndex = 0; - return (0xFF00 | this.marker) << 8; - } - - temp[0] <<= 8; - input = this.stream.get8(); - - if (input === 0xFF) { - this.marker = this.stream.get8(); - if (this.marker !== 0) { - this.markerIndex = 9; - } - } - - temp[0] |= input; - index[0] += 8; - } - - if (index[0] < 0) { - throw new Error("index=" + index[0] + " in getn()"); - } - - if (index[0] < this.markerIndex) { - this.markerIndex = 0; - return (0xFF00 | this.marker) << 8; - } - - result = temp[0] >> index[0]; - temp[0] &= (mask >> (16 - index[0])); - } - - if (result < (one << (n - 1))) { - result += (n_one << n) + 1; - } - - return result; - }; - - - - jpeg.lossless.Decoder.prototype.getPreviousX = function (compOffset) { - /*jslint bitwise: true */ - - if (this.xLoc > 0) { - return this.getter((((this.yLoc * this.xDim) + this.xLoc) - 1), compOffset); - } else if (this.yLoc > 0) { - return this.getPreviousY(compOffset); - } else { - return (1 << (this.frame.precision - 1)); - } - }; - - - - jpeg.lossless.Decoder.prototype.getPreviousXY = function (compOffset) { - /*jslint bitwise: true */ - - if ((this.xLoc > 0) && (this.yLoc > 0)) { - return this.getter(((((this.yLoc - 1) * this.xDim) + this.xLoc) - 1), compOffset); - } else { - return this.getPreviousY(compOffset); - } - }; - - - - jpeg.lossless.Decoder.prototype.getPreviousY = function (compOffset) { - /*jslint bitwise: true */ - - if (this.yLoc > 0) { - return this.getter((((this.yLoc - 1) * this.xDim) + this.xLoc), compOffset); - } else { - return this.getPreviousX(compOffset); - } - }; - - - - jpeg.lossless.Decoder.prototype.isLastPixel = function () { - return (this.xLoc === (this.xDim - 1)) && (this.yLoc === (this.yDim - 1)); - }; - - - - jpeg.lossless.Decoder.prototype.outputSingle = function (PRED) { - if ((this.xLoc < this.xDim) && (this.yLoc < this.yDim)) { - this.setter((((this.yLoc * this.xDim) + this.xLoc)), this.mask & PRED[0]); - - this.xLoc+=1; - - if (this.xLoc >= this.xDim) { - this.yLoc+=1; - this.xLoc = 0; - } - } - }; - - - - jpeg.lossless.Decoder.prototype.outputRGB = function (PRED) { - var offset = ((this.yLoc * this.xDim) + this.xLoc); - - if ((this.xLoc < this.xDim) && (this.yLoc < this.yDim)) { - this.setter(offset, PRED[0], 0); - this.setter(offset, PRED[1], 1); - this.setter(offset, PRED[2], 2); - - this.xLoc+=1; - - if (this.xLoc >= this.xDim) { - this.yLoc+=1; - this.xLoc = 0; - } - } - }; - - jpeg.lossless.Decoder.prototype.setValue8 = function (index, val) { - this.outputData[index] = val; - }; - - jpeg.lossless.Decoder.prototype.getValue8 = function (index) { - return this.outputData[index]; // mask should not be necessary because outputData is either Int8Array or Int16Array - }; - - var littleEndian = (function() { - var buffer = new ArrayBuffer(2); - new DataView(buffer).setInt16(0, 256, true /* littleEndian */); - // Int16Array uses the platform's endianness. - return new Int16Array(buffer)[0] === 256; - })(); - - if (littleEndian) { - // just reading from an array is fine then. Int16Array will use platform endianness. - jpeg.lossless.Decoder.prototype.setValue16 = jpeg.lossless.Decoder.prototype.setValue8; - jpeg.lossless.Decoder.prototype.getValue16 = jpeg.lossless.Decoder.prototype.getValue8; - } - else { - // If platform is big-endian, we will need to convert to little-endian - jpeg.lossless.Decoder.prototype.setValue16 = function (index, val) { - this.outputData[index] = ((val & 0xFF) << 8) | ((val >> 8) & 0xFF); - }; - - jpeg.lossless.Decoder.prototype.getValue16 = function (index) { - var val = this.outputData[index]; - return ((val & 0xFF) << 8) | ((val >> 8) & 0xFF); - }; - } - - jpeg.lossless.Decoder.prototype.setValueRGB = function (index, val, compOffset) { - // this.outputData.setUint8(index * 3 + compOffset, val); - this.outputData[index * 3 + compOffset] = val; - }; - - jpeg.lossless.Decoder.prototype.getValueRGB = function (index, compOffset) { - // return this.outputData.getUint8(index * 3 + compOffset); - return this.outputData[index * 3 + compOffset]; - }; - - - - jpeg.lossless.Decoder.prototype.readApp = function() { - var count = 0, length = this.stream.get16(); - count += 2; - - while (count < length) { - this.stream.get8(); - count+=1; - } - - return length; - }; - - - - jpeg.lossless.Decoder.prototype.readComment = function () { - var sb = "", count = 0, length; - - length = this.stream.get16(); - count += 2; - - while (count < length) { - sb += this.stream.get8(); - count+=1; - } - - return sb; - }; - - - - jpeg.lossless.Decoder.prototype.readNumber = function() { - var Ld = this.stream.get16(); - - if (Ld !== 4) { - throw new Error("ERROR: Define number format throw new IOException [Ld!=4]"); - } - - return this.stream.get16(); - }; - - - - /*** Exports ***/ - - var moduleType = typeof module; - if ((moduleType !== 'undefined') && module.exports) { - module.exports = jpeg.lossless.Decoder; - } - - },{"./data-stream.js":2,"./frame-header.js":4,"./huffman-table.js":5,"./quantization-table.js":7,"./scan-header.js":9,"./utils.js":10}],4:[function(require,module,exports){ - /* - * Copyright (C) 2015 Michael Martinez - * Changes: Added support for selection values 2-7, fixed minor bugs & - * warnings, split into multiple class files, and general clean up. - * - * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT. - */ - - /* - * Copyright (C) Helmut Dersch - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - - /*jslint browser: true, node: true */ - /*global require, module */ - - "use strict"; - - /*** Imports ***/ - var jpeg = jpeg || {}; - jpeg.lossless = jpeg.lossless || {}; - jpeg.lossless.ComponentSpec = jpeg.lossless.ComponentSpec || ((typeof require !== 'undefined') ? require('./component-spec.js') : null); - jpeg.lossless.DataStream = jpeg.lossless.DataStream || ((typeof require !== 'undefined') ? require('./data-stream.js') : null); - - - /*** Constructor ***/ - jpeg.lossless.FrameHeader = jpeg.lossless.FrameHeader || function () { - this.components = []; // Components - this.dimX = 0; // Number of samples per line - this.dimY = 0; // Number of lines - this.numComp = 0; // Number of component in the frame - this.precision = 0; // Sample Precision (from the original image) - }; - - - - /*** Prototype Methods ***/ - - jpeg.lossless.FrameHeader.prototype.read = function (data) { - /*jslint bitwise: true */ - - var count = 0, length, i, c, temp; - - length = data.get16(); - count += 2; - - this.precision = data.get8(); - count+=1; - - this.dimY = data.get16(); - count += 2; - - this.dimX = data.get16(); - count += 2; - - this.numComp = data.get8(); - count+=1; - for (i = 1; i <= this.numComp; i+=1) { - if (count > length) { - throw new Error("ERROR: frame format error"); - } - - c = data.get8(); - count+=1; - - if (count >= length) { - throw new Error("ERROR: frame format error [c>=Lf]"); - } - - temp = data.get8(); - count+=1; - - if (!this.components[c]) { - this.components[c] = new jpeg.lossless.ComponentSpec(); - } - - this.components[c].hSamp = temp >> 4; - this.components[c].vSamp = temp & 0x0F; - this.components[c].quantTableSel = data.get8(); - count+=1; - } - - if (count !== length) { - throw new Error("ERROR: frame format error [Lf!=count]"); - } - - return 1; - }; - - - /*** Exports ***/ - - var moduleType = typeof module; - if ((moduleType !== 'undefined') && module.exports) { - module.exports = jpeg.lossless.FrameHeader; - } - - },{"./component-spec.js":1,"./data-stream.js":2}],5:[function(require,module,exports){ - /* - * Copyright (C) 2015 Michael Martinez - * Changes: Added support for selection values 2-7, fixed minor bugs & - * warnings, split into multiple class files, and general clean up. - * - * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT. - */ - - /* - * Copyright (C) Helmut Dersch - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - - /*jslint browser: true, node: true */ - /*global require, module */ - - "use strict"; - - /*** Imports ***/ - var jpeg = jpeg || {}; - jpeg.lossless = jpeg.lossless || {}; - jpeg.lossless.DataStream = jpeg.lossless.DataStream || ((typeof require !== 'undefined') ? require('./data-stream.js') : null); - jpeg.lossless.Utils = jpeg.lossless.Utils || ((typeof require !== 'undefined') ? require('./utils.js') : null); - - - /*** Constructor ***/ - jpeg.lossless.HuffmanTable = jpeg.lossless.HuffmanTable || function () { - this.l = jpeg.lossless.Utils.createArray(4, 2, 16); - this.th = []; - this.v = jpeg.lossless.Utils.createArray(4, 2, 16, 200); - this.tc = jpeg.lossless.Utils.createArray(4, 2); - - this.tc[0][0] = 0; - this.tc[1][0] = 0; - this.tc[2][0] = 0; - this.tc[3][0] = 0; - this.tc[0][1] = 0; - this.tc[1][1] = 0; - this.tc[2][1] = 0; - this.tc[3][1] = 0; - this.th[0] = 0; - this.th[1] = 0; - this.th[2] = 0; - this.th[3] = 0; - }; - - - - /*** Static Pseudo-constants ***/ - - jpeg.lossless.HuffmanTable.MSB = 0x80000000; - - - /*** Prototype Methods ***/ - - jpeg.lossless.HuffmanTable.prototype.read = function(data, HuffTab) { - /*jslint bitwise: true */ - - var count = 0, length, temp, t, c, i, j; - - length = data.get16(); - count += 2; - - while (count < length) { - temp = data.get8(); - count+=1; - t = temp & 0x0F; - if (t > 3) { - throw new Error("ERROR: Huffman table ID > 3"); - } - - c = temp >> 4; - if (c > 2) { - throw new Error("ERROR: Huffman table [Table class > 2 ]"); - } - - this.th[t] = 1; - this.tc[t][c] = 1; - - for (i = 0; i < 16; i+=1) { - this.l[t][c][i] = data.get8(); - count+=1; - } - - for (i = 0; i < 16; i+=1) { - for (j = 0; j < this.l[t][c][i]; j+=1) { - if (count > length) { - throw new Error("ERROR: Huffman table format error [count>Lh]"); - } - - this.v[t][c][i][j] = data.get8(); - count+=1; - } - } - } - - if (count !== length) { - throw new Error("ERROR: Huffman table format error [count!=Lf]"); - } - - for (i = 0; i < 4; i+=1) { - for (j = 0; j < 2; j+=1) { - if (this.tc[i][j] !== 0) { - this.buildHuffTable(HuffTab[i][j], this.l[i][j], this.v[i][j]); - } - } - } - - return 1; - }; - - - - // Build_HuffTab() - // Parameter: t table ID - // c table class ( 0 for DC, 1 for AC ) - // L[i] # of codewords which length is i - // V[i][j] Huffman Value (length=i) - // Effect: - // build up HuffTab[t][c] using L and V. - jpeg.lossless.HuffmanTable.prototype.buildHuffTable = function(tab, L, V) { - /*jslint bitwise: true */ - - var currentTable, temp, k, i, j, n; - temp = 256; - k = 0; - - for (i = 0; i < 8; i+=1) { // i+1 is Code length - for (j = 0; j < L[i]; j+=1) { - for (n = 0; n < (temp >> (i + 1)); n+=1) { - tab[k] = V[i][j] | ((i + 1) << 8); - k+=1; - } - } - } - - for (i = 1; k < 256; i+=1, k+=1) { - tab[k] = i | jpeg.lossless.HuffmanTable.MSB; - } - - currentTable = 1; - k = 0; - - for (i = 8; i < 16; i+=1) { // i+1 is Code length - for (j = 0; j < L[i]; j+=1) { - for (n = 0; n < (temp >> (i - 7)); n+=1) { - tab[(currentTable * 256) + k] = V[i][j] | ((i + 1) << 8); - k+=1; - } - - if (k >= 256) { - if (k > 256) { - throw new Error("ERROR: Huffman table error(1)!"); - } - - k = 0; - currentTable+=1; - } - } - } - }; - - - /*** Exports ***/ - - var moduleType = typeof module; - if ((moduleType !== 'undefined') && module.exports) { - module.exports = jpeg.lossless.HuffmanTable; - } - - },{"./data-stream.js":2,"./utils.js":10}],6:[function(require,module,exports){ - /*jslint browser: true, node: true */ - /*global require, module */ - - "use strict"; - - /*** Imports ****/ - - /** - * jpeg - * @type {*|{}} - */ - var jpeg = jpeg || {}; - - /** - * jpeg.lossless - * @type {*|{}} - */ - jpeg.lossless = jpeg.lossless || {}; - - - jpeg.lossless.ComponentSpec = jpeg.lossless.ComponentSpec || ((typeof require !== 'undefined') ? require('./component-spec.js') : null); - jpeg.lossless.DataStream = jpeg.lossless.DataStream || ((typeof require !== 'undefined') ? require('./data-stream.js') : null); - jpeg.lossless.Decoder = jpeg.lossless.Decoder || ((typeof require !== 'undefined') ? require('./decoder.js') : null); - jpeg.lossless.FrameHeader = jpeg.lossless.FrameHeader || ((typeof require !== 'undefined') ? require('./frame-header.js') : null); - jpeg.lossless.HuffmanTable = jpeg.lossless.HuffmanTable || ((typeof require !== 'undefined') ? require('./huffman-table.js') : null); - jpeg.lossless.QuantizationTable = jpeg.lossless.QuantizationTable || ((typeof require !== 'undefined') ? require('./quantization-table.js') : null); - jpeg.lossless.ScanComponent = jpeg.lossless.ScanComponent || ((typeof require !== 'undefined') ? require('./scan-component.js') : null); - jpeg.lossless.ScanHeader = jpeg.lossless.ScanHeader || ((typeof require !== 'undefined') ? require('./scan-header.js') : null); - jpeg.lossless.Utils = jpeg.lossless.Utils || ((typeof require !== 'undefined') ? require('./utils.js') : null); - - - /*** Exports ***/ - var moduleType = typeof module; - if ((moduleType !== 'undefined') && module.exports) { - module.exports = jpeg; - } - - },{"./component-spec.js":1,"./data-stream.js":2,"./decoder.js":3,"./frame-header.js":4,"./huffman-table.js":5,"./quantization-table.js":7,"./scan-component.js":8,"./scan-header.js":9,"./utils.js":10}],7:[function(require,module,exports){ - /* - * Copyright (C) 2015 Michael Martinez - * Changes: Added support for selection values 2-7, fixed minor bugs & - * warnings, split into multiple class files, and general clean up. - * - * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT. - */ - - /* - * Copyright (C) Helmut Dersch - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - - /*jslint browser: true, node: true */ - /*global require, module */ - - "use strict"; - - /*** Imports ***/ - var jpeg = jpeg || {}; - jpeg.lossless = jpeg.lossless || {}; - jpeg.lossless.DataStream = jpeg.lossless.DataStream || ((typeof require !== 'undefined') ? require('./data-stream.js') : null); - jpeg.lossless.Utils = jpeg.lossless.Utils || ((typeof require !== 'undefined') ? require('./utils.js') : null); - - - /*** Constructor ***/ - jpeg.lossless.QuantizationTable = jpeg.lossless.QuantizationTable || function () { - this.precision = []; // Quantization precision 8 or 16 - this.tq = []; // 1: this table is presented - this.quantTables = jpeg.lossless.Utils.createArray(4, 64); // Tables - - this.tq[0] = 0; - this.tq[1] = 0; - this.tq[2] = 0; - this.tq[3] = 0; - }; - - - - /*** Static Methods ***/ - - jpeg.lossless.QuantizationTable.enhanceQuantizationTable = function(qtab, table) { - /*jslint bitwise: true */ - - var i; - - for (i = 0; i < 8; i+=1) { - qtab[table[(0 * 8) + i]] *= 90; - qtab[table[(4 * 8) + i]] *= 90; - qtab[table[(2 * 8) + i]] *= 118; - qtab[table[(6 * 8) + i]] *= 49; - qtab[table[(5 * 8) + i]] *= 71; - qtab[table[(1 * 8) + i]] *= 126; - qtab[table[(7 * 8) + i]] *= 25; - qtab[table[(3 * 8) + i]] *= 106; - } - - for (i = 0; i < 8; i+=1) { - qtab[table[0 + (8 * i)]] *= 90; - qtab[table[4 + (8 * i)]] *= 90; - qtab[table[2 + (8 * i)]] *= 118; - qtab[table[6 + (8 * i)]] *= 49; - qtab[table[5 + (8 * i)]] *= 71; - qtab[table[1 + (8 * i)]] *= 126; - qtab[table[7 + (8 * i)]] *= 25; - qtab[table[3 + (8 * i)]] *= 106; - } - - for (i = 0; i < 64; i+=1) { - qtab[i] >>= 6; - } - }; - - - /*** Prototype Methods ***/ - - jpeg.lossless.QuantizationTable.prototype.read = function (data, table) { - /*jslint bitwise: true */ - - var count = 0, length, temp, t, i; - - length = data.get16(); - count += 2; - - while (count < length) { - temp = data.get8(); - count+=1; - t = temp & 0x0F; - - if (t > 3) { - throw new Error("ERROR: Quantization table ID > 3"); - } - - this.precision[t] = temp >> 4; - - if (this.precision[t] === 0) { - this.precision[t] = 8; - } else if (this.precision[t] === 1) { - this.precision[t] = 16; - } else { - throw new Error("ERROR: Quantization table precision error"); - } - - this.tq[t] = 1; - - if (this.precision[t] === 8) { - for (i = 0; i < 64; i+=1) { - if (count > length) { - throw new Error("ERROR: Quantization table format error"); - } - - this.quantTables[t][i] = data.get8(); - count+=1; - } - - jpeg.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t], table); - } else { - for (i = 0; i < 64; i+=1) { - if (count > length) { - throw new Error("ERROR: Quantization table format error"); - } - - this.quantTables[t][i] = data.get16(); - count += 2; - } - - jpeg.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t], table); - } - } - - if (count !== length) { - throw new Error("ERROR: Quantization table error [count!=Lq]"); - } - - return 1; - }; - - - - /*** Exports ***/ - - var moduleType = typeof module; - if ((moduleType !== 'undefined') && module.exports) { - module.exports = jpeg.lossless.QuantizationTable; - } - - },{"./data-stream.js":2,"./utils.js":10}],8:[function(require,module,exports){ - /* - * Copyright (C) 2015 Michael Martinez - * Changes: Added support for selection values 2-7, fixed minor bugs & - * warnings, split into multiple class files, and general clean up. - * - * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT. - */ - - /* - * Copyright (C) Helmut Dersch - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - - /*jslint browser: true, node: true */ - /*global require, module */ - - "use strict"; - - /*** Imports ***/ - var jpeg = jpeg || {}; - jpeg.lossless = jpeg.lossless || {}; - - - /*** Constructor ***/ - jpeg.lossless.ScanComponent = jpeg.lossless.ScanComponent || function () { - this.acTabSel = 0; // AC table selector - this.dcTabSel = 0; // DC table selector - this.scanCompSel = 0; // Scan component selector - }; - - - - /*** Exports ***/ - - var moduleType = typeof module; - if ((moduleType !== 'undefined') && module.exports) { - module.exports = jpeg.lossless.ScanComponent; - } - - },{}],9:[function(require,module,exports){ - /* - * Copyright (C) 2015 Michael Martinez - * Changes: Added support for selection values 2-7, fixed minor bugs & - * warnings, split into multiple class files, and general clean up. - * - * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT. - */ - - /* - * Copyright (C) Helmut Dersch - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - - /*jslint browser: true, node: true */ - /*global require, module */ - - "use strict"; - - /*** Imports ***/ - var jpeg = jpeg || {}; - jpeg.lossless = jpeg.lossless || {}; - jpeg.lossless.DataStream = jpeg.lossless.DataStream || ((typeof require !== 'undefined') ? require('./data-stream.js') : null); - jpeg.lossless.ScanComponent = jpeg.lossless.ScanComponent || ((typeof require !== 'undefined') ? require('./scan-component.js') : null); - - - /*** Constructor ***/ - jpeg.lossless.ScanHeader = jpeg.lossless.ScanHeader || function () { - this.ah = 0; - this.al = 0; - this.numComp = 0; // Number of components in the scan - this.selection = 0; // Start of spectral or predictor selection - this.spectralEnd = 0; // End of spectral selection - this.components = []; - }; - - - /*** Prototype Methods ***/ - - jpeg.lossless.ScanHeader.prototype.read = function(data) { - /*jslint bitwise: true */ - - var count = 0, length, i, temp; - - length = data.get16(); - count += 2; - - this.numComp = data.get8(); - count+=1; - - for (i = 0; i < this.numComp; i+=1) { - this.components[i] = new jpeg.lossless.ScanComponent(); - - if (count > length) { - throw new Error("ERROR: scan header format error"); - } - - this.components[i].scanCompSel = data.get8(); - count+=1; - - temp = data.get8(); - count+=1; - - this.components[i].dcTabSel = (temp >> 4); - this.components[i].acTabSel = (temp & 0x0F); - } - - this.selection = data.get8(); - count+=1; - - this.spectralEnd = data.get8(); - count+=1; - - temp = data.get8(); - this.ah = (temp >> 4); - this.al = (temp & 0x0F); - count+=1; - - if (count !== length) { - throw new Error("ERROR: scan header format error [count!=Ns]"); - } - - return 1; - }; - - - - /*** Exports ***/ - - var moduleType = typeof module; - if ((moduleType !== 'undefined') && module.exports) { - module.exports = jpeg.lossless.ScanHeader; - } - - },{"./data-stream.js":2,"./scan-component.js":8}],10:[function(require,module,exports){ - /* - * Copyright (C) 2015 Michael Martinez - * Changes: Added support for selection values 2-7, fixed minor bugs & - * warnings, split into multiple class files, and general clean up. - * - * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT. - */ - - /* - * Copyright (C) Helmut Dersch - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - - /*jslint browser: true, node: true */ - /*global require, module */ - - "use strict"; - - /*** Imports ***/ - var jpeg = jpeg || {}; - jpeg.lossless = jpeg.lossless || {}; - - - /*** Constructor ***/ - jpeg.lossless.Utils = jpeg.lossless.Utils || {}; - - - /*** Static methods ***/ - - // http://stackoverflow.com/questions/966225/how-can-i-create-a-two-dimensional-array-in-javascript - jpeg.lossless.Utils.createArray = function (length) { - var arr = new Array(length || 0), - i = length; - - if (arguments.length > 1) { - var args = Array.prototype.slice.call(arguments, 1); - while(i--) arr[length-1 - i] = jpeg.lossless.Utils.createArray.apply(this, args); - } - - return arr; - }; - - - // http://stackoverflow.com/questions/18638900/javascript-crc32 - jpeg.lossless.Utils.makeCRCTable = function(){ - var c; - var crcTable = []; - for(var n =0; n < 256; n++){ - c = n; - for(var k =0; k < 8; k++){ - c = ((c&1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1)); - } - crcTable[n] = c; - } - return crcTable; - }; - - jpeg.lossless.Utils.crc32 = function(dataView) { - var uint8view = new Uint8Array(dataView.buffer); - var crcTable = jpeg.lossless.Utils.crcTable || (jpeg.lossless.Utils.crcTable = jpeg.lossless.Utils.makeCRCTable()); - var crc = 0 ^ (-1); - - for (var i = 0; i < uint8view.length; i++ ) { - crc = (crc >>> 8) ^ crcTable[(crc ^ uint8view[i]) & 0xFF]; - } - - return (crc ^ (-1)) >>> 0; - }; - - - /*** Exports ***/ - - var moduleType = typeof module; - if ((moduleType !== 'undefined') && module.exports) { - module.exports = jpeg.lossless.Utils; - } - -},{}]},{},[6])(6) -}); - - -/***/ }), - -/***/ "../codecs/jpx.min.js": -/*!****************************!*\ - !*** ../codecs/jpx.min.js ***! - \****************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -/*! image-JPEG2000 - v0.3.1 - 2015-08-26 | https://github.com/OHIF/image-JPEG2000 */ -"use strict";var PDFJS = {};function info(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.infos&&console.log("Info: "+a)}function warn(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.warnings&&console.log("Warning: "+a)}function error(a){if(arguments.length>1){var b=["Error:"];b.push.apply(b,arguments),console.log.apply(console,b),a=[].join.call(arguments," ")}else console.log("Error: "+a);throw console.log(backtrace()),UnsupportedManager.notify(UNSUPPORTED_FEATURES.unknown),new Error(a)}function backtrace(){try{throw new Error}catch(a){return a.stack?a.stack.split("\n").slice(2).join("\n"):""}}function assert(a,b){a||error(b)}function combineUrl(a,b){if(!b)return a;if(/^[a-z][a-z0-9+\-.]*:/i.test(b))return b;var c;if("/"===b.charAt(0))return c=a.indexOf("://"),"/"===b.charAt(1)?++c:c=a.indexOf("/",c+3),a.substring(0,c)+b;var d=a.length;c=a.lastIndexOf("#"),d=c>=0?c:d,c=a.lastIndexOf("?",d),d=c>=0?c:d;var e=a.lastIndexOf("/",d);return a.substring(0,e+1)+b}function isValidUrl(a,b){if(!a)return!1;var c=/^[a-z][a-z0-9+\-.]*(?=:)/i.exec(a);if(!c)return b;switch(c=c[0].toLowerCase()){case"http":case"https":case"ftp":case"mailto":case"tel":return!0;default:return!1}}function shadow(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!1}),c}function bytesToString(a){assert(null!==a&&"object"==typeof a&&void 0!==a.length,"Invalid argument for bytesToString");var b=a.length,c=8192;if(c>b)return String.fromCharCode.apply(null,a);for(var d=[],e=0;b>e;e+=c){var f=Math.min(e+c,b),g=a.subarray(e,f);d.push(String.fromCharCode.apply(null,g))}return d.join("")}function stringToBytes(a){assert("string"==typeof a,"Invalid argument for stringToBytes");for(var b=a.length,c=new Uint8Array(b),d=0;b>d;++d)c[d]=255&a.charCodeAt(d);return c}function string32(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,255&a)}function log2(a){for(var b=1,c=0;a>b;)b<<=1,c++;return c}function readInt8(a,b){return a[b]<<24>>24}function readUint16(a,b){return a[b]<<8|a[b+1]}function readUint32(a,b){return(a[b]<<24|a[b+1]<<16|a[b+2]<<8|a[b+3])>>>0}function isLittleEndian(){var a=new Uint8Array(2);a[0]=1;var b=new Uint16Array(a.buffer);return 1===b[0]}function hasCanvasTypedArrays(){var a=document.createElement("canvas");a.width=a.height=1;var b=a.getContext("2d"),c=b.createImageData(1,1);return"undefined"!=typeof c.data.buffer}function stringToPDFString(a){var b,c=a.length,d=[];if("þ"===a[0]&&"ÿ"===a[1])for(b=2;c>b;b+=2)d.push(String.fromCharCode(a.charCodeAt(b)<<8|a.charCodeAt(b+1)));else for(b=0;c>b;++b){var e=PDFStringTranslateTable[a.charCodeAt(b)];d.push(e?String.fromCharCode(e):a.charAt(b))}return d.join("")}function stringToUTF8String(a){return decodeURIComponent(escape(a))}function isEmptyObj(a){for(var b in a)return!1;return!0}function isBool(a){return"boolean"==typeof a}function isInt(a){return"number"==typeof a&&(0|a)===a}function isNum(a){return"number"==typeof a}function isString(a){return"string"==typeof a}function isNull(a){return null===a}function isName(a){return a instanceof Name}function isCmd(a,b){return a instanceof Cmd&&(void 0===b||a.cmd===b)}function isDict(a,b){if(!(a instanceof Dict))return!1;if(!b)return!0;var c=a.get("Type");return isName(c)&&c.name===b}function isArray(a){return a instanceof Array}function isStream(a){return"object"==typeof a&&null!==a&&void 0!==a.getBytes}function isArrayBuffer(a){return"object"==typeof a&&null!==a&&void 0!==a.byteLength}function isRef(a){return a instanceof Ref}function createPromiseCapability(){var a={};return a.promise=new Promise(function(b,c){a.resolve=b,a.reject=c}),a}function MessageHandler(a,b){this.name=a,this.comObj=b,this.callbackIndex=1,this.postMessageTransfers=!0;var c=this.callbacksCapabilities={},d=this.actionHandler={};d.console_log=[function(a){console.log.apply(console,a)}],d.console_error=[function(a){console.error.apply(console,a)}],d._unsupported_feature=[function(a){UnsupportedManager.notify(a)}],b.onmessage=function(a){var e=a.data;if(e.isReply){var f=e.callbackId;if(e.callbackId in c){var g=c[f];delete c[f],"error"in e?g.reject(e.error):g.resolve(e.data)}else error("Cannot resolve callback "+f)}else if(e.action in d){var h=d[e.action];e.callbackId?Promise.resolve().then(function(){return h[0].call(h[1],e.data)}).then(function(a){b.postMessage({isReply:!0,callbackId:e.callbackId,data:a})},function(a){b.postMessage({isReply:!0,callbackId:e.callbackId,error:a})}):h[0].call(h[1],e.data)}else error("Unknown action from worker: "+e.action)}}function loadJpegStream(a,b,c){var d=new Image;d.onload=function(){c.resolve(a,d)},d.onerror=function(){c.resolve(a,null),warn("Error during JPEG image loading")},d.src=b}var JpxImage=function(){function a(){this.failOnCorruptedImage=!1}function b(a,b){a.x0=Math.ceil(b.XOsiz/a.XRsiz),a.x1=Math.ceil(b.Xsiz/a.XRsiz),a.y0=Math.ceil(b.YOsiz/a.YRsiz),a.y1=Math.ceil(b.Ysiz/a.YRsiz),a.width=a.x1-a.x0,a.height=a.y1-a.y0}function c(a,b){for(var c,d=a.SIZ,e=[],f=Math.ceil((d.Xsiz-d.XTOsiz)/d.XTsiz),g=Math.ceil((d.Ysiz-d.YTOsiz)/d.YTsiz),h=0;g>h;h++)for(var i=0;f>i;i++)c={},c.tx0=Math.max(d.XTOsiz+i*d.XTsiz,d.XOsiz),c.ty0=Math.max(d.YTOsiz+h*d.YTsiz,d.YOsiz),c.tx1=Math.min(d.XTOsiz+(i+1)*d.XTsiz,d.Xsiz),c.ty1=Math.min(d.YTOsiz+(h+1)*d.YTsiz,d.Ysiz),c.width=c.tx1-c.tx0,c.height=c.ty1-c.ty0,c.components=[],e.push(c);a.tiles=e;for(var j=d.Csiz,k=0,l=j;l>k;k++)for(var m=b[k],n=0,o=e.length;o>n;n++){var p={};c=e[n],p.tcx0=Math.ceil(c.tx0/m.XRsiz),p.tcy0=Math.ceil(c.ty0/m.YRsiz),p.tcx1=Math.ceil(c.tx1/m.XRsiz),p.tcy1=Math.ceil(c.ty1/m.YRsiz),p.width=p.tcx1-p.tcx0,p.height=p.tcy1-p.tcy0,c.components[k]=p}}function d(a,b,c){var d=b.codingStyleParameters,e={};return d.entropyCoderWithCustomPrecincts?(e.PPx=d.precinctsSizes[c].PPx,e.PPy=d.precinctsSizes[c].PPy):(e.PPx=15,e.PPy=15),e.xcb_=c>0?Math.min(d.xcb,e.PPx-1):Math.min(d.xcb,e.PPx),e.ycb_=c>0?Math.min(d.ycb,e.PPy-1):Math.min(d.ycb,e.PPy),e}function e(a,b,c){var d=1<b.trx0?Math.ceil(b.trx1/d)-Math.floor(b.trx0/d):0,j=b.try1>b.try0?Math.ceil(b.try1/e)-Math.floor(b.try0/e):0,k=i*j;b.precinctParameters={precinctWidth:d,precinctHeight:e,numprecinctswide:i,numprecinctshigh:j,numprecincts:k,precinctWidthInSubband:g,precinctHeightInSubband:h}}function f(a,b,c){var d,e,f,g,h=c.xcb_,i=c.ycb_,j=1<>h,m=b.tby0>>i,n=b.tbx1+j-1>>h,o=b.tby1+k-1>>i,p=b.resolution.precinctParameters,q=[],r=[];for(e=m;o>e;e++)for(d=l;n>d;d++){f={cbx:d,cby:e,tbx0:j*d,tby0:k*e,tbx1:j*(d+1),tby1:k*(e+1)},f.tbx0_=Math.max(b.tbx0,f.tbx0),f.tby0_=Math.max(b.tby0,f.tby0),f.tbx1_=Math.min(b.tbx1,f.tbx1),f.tby1_=Math.min(b.tby1,f.tby1);var s=Math.floor((f.tbx0_-b.tbx0)/p.precinctWidthInSubband),t=Math.floor((f.tby0_-b.tby0)/p.precinctHeightInSubband);if(g=s+t*p.numprecinctswide,f.precinctNumber=g,f.subbandType=b.type,f.Lblock=3,!(f.tbx1_<=f.tbx0_||f.tby1_<=f.tby0_)){q.push(f);var u=r[g];void 0!==u?(du.cbxMax&&(u.cbxMax=d),eu.cbyMax&&(u.cbyMax=e)):r[g]=u={cbxMin:d,cbyMin:e,cbxMax:d,cbyMax:e},f.precinct=u}}b.codeblockParameters={codeblockWidth:h,codeblockHeight:i,numcodeblockwide:n-l+1,numcodeblockhigh:o-m+1},b.codeblocks=q,b.precincts=r}function g(a,b,c){for(var d=[],e=a.subbands,f=0,g=e.length;g>f;f++)for(var h=e[f],i=h.codeblocks,j=0,k=i.length;k>j;j++){var l=i[j];l.precinctNumber===b&&d.push(l)}return{layerNumber:c,codeblocks:d}}function h(a){for(var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=0,i=0;f>i;i++)h=Math.max(h,d.components[i].codingStyleParameters.decompositionLevelsCount);var j=0,k=0,l=0,m=0;this.nextPacket=function(){for(;e>j;j++){for(;h>=k;k++){for(;f>l;l++){var a=d.components[l];if(!(k>a.codingStyleParameters.decompositionLevelsCount)){for(var b=a.resolutions[k],c=b.precinctParameters.numprecincts;c>m;){var i=g(b,m,j);return m++,i}m=0}}l=0}k=0}}}function i(a){for(var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=0,i=0;f>i;i++)h=Math.max(h,d.components[i].codingStyleParameters.decompositionLevelsCount);var j=0,k=0,l=0,m=0;this.nextPacket=function(){for(;h>=j;j++){for(;e>k;k++){for(;f>l;l++){var a=d.components[l];if(!(j>a.codingStyleParameters.decompositionLevelsCount)){for(var b=a.resolutions[j],c=b.precinctParameters.numprecincts;c>m;){var i=g(b,m,k);return m++,i}m=0}}l=0}k=0}}}function j(a){var b,c,d,e,f=a.SIZ,h=a.currentTile.index,i=a.tiles[h],j=i.codingStyleDefaultParameters.layersCount,k=f.Csiz,l=0;for(d=0;k>d;d++){var m=i.components[d];l=Math.max(l,m.codingStyleParameters.decompositionLevelsCount)}var n=new Int32Array(l+1);for(c=0;l>=c;++c){var o=0;for(d=0;k>d;++d){var p=i.components[d].resolutions;c=c;c++){for(;ed;d++){var a=i.components[d];if(!(c>a.codingStyleParameters.decompositionLevelsCount)){var f=a.resolutions[c],h=f.precinctParameters.numprecincts;if(!(e>=h)){for(;j>b;){var m=g(f,e,b);return b++,m}b=0}}}d=0}e=0}}}function k(a){var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=n(d),i=h,j=0,k=0,l=0,o=0,p=0;this.nextPacket=function(){for(;pl;l++){for(var a=d.components[l],b=a.codingStyleParameters.decompositionLevelsCount;b>=k;k++){var c=a.resolutions[k],n=h.components[l].resolutions[k],q=m(o,p,n,i,c);if(null!==q){for(;e>j;){var r=g(c,q,j);return j++,r}j=0}}k=0}l=0}o=0}}}function l(a){var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=n(d),i=0,j=0,k=0,l=0,o=0;this.nextPacket=function(){for(;f>k;++k){for(var a=d.components[k],b=h.components[k],c=a.codingStyleParameters.decompositionLevelsCount;o=j;j++){var n=a.resolutions[j],p=b.resolutions[j],q=m(l,o,p,b,n);if(null!==q){for(;e>i;){var r=g(n,q,i);return i++,r}i=0}}j=0}l=0}o=0}}}function m(a,b,c,d,e){var f=a*d.minWidth,g=b*d.minHeight;if(f%c.width!==0||g%c.height!==0)return null;var h=g/c.width*e.precinctParameters.numprecinctswide;return f/c.height+h}function n(a){for(var b=a.components.length,c=Number.MAX_VALUE,d=Number.MAX_VALUE,e=0,f=0,g=new Array(b),h=0;b>h;h++){for(var i=a.components[h],j=i.codingStyleParameters.decompositionLevelsCount,k=new Array(j+1),l=Number.MAX_VALUE,m=Number.MAX_VALUE,n=0,o=0,p=1,q=j;q>=0;--q){var r=i.resolutions[q],s=p*r.precinctParameters.precinctWidth,t=p*r.precinctParameters.precinctHeight;l=Math.min(l,s),m=Math.min(m,t),n=Math.max(n,r.precinctParameters.numprecinctswide),o=Math.max(o,r.precinctParameters.numprecinctshigh),k[q]={width:s,height:t},p<<=1}c=Math.min(c,l),d=Math.min(d,m),e=Math.max(e,n),f=Math.max(f,o),g[h]={resolutions:k,minWidth:l,minHeight:m,maxNumWide:n,maxNumHigh:o}}return{components:g,minWidth:c,minHeight:d,maxNumWide:e,maxNumHigh:f}}function o(a){for(var b=a.SIZ,c=a.currentTile.index,g=a.tiles[c],m=b.Csiz,n=0;m>n;n++){for(var o=g.components[n],p=o.codingStyleParameters.decompositionLevelsCount,q=[],r=[],s=0;p>=s;s++){var t=d(a,o,s),u={},v=1<l;){if(c+k>=b.length)throw new Error("Unexpected EOF");var d=b[c+k];k++,m?(j=j<<7|d,l+=7,m=!1):(j=j<<8|d,l+=8),255===d&&(m=!0)}return l-=a,j>>>l&(1<a?a+3:(a=e(5),31>a?a+6:(a=e(7),a+37))}for(var j,k=0,l=0,m=!1,n=a.currentTile.index,o=a.tiles[n],p=a.COD.sopMarkerUsed,q=a.COD.ephMarkerUsed,r=o.packetsIterator;d>k;)try{h(),p&&f(145)&&g(4);var s=r.nextPacket();if(void 0===s)return;if(!e(1))continue;for(var t,u=s.layerNumber,x=[],y=0,z=s.codeblocks.length;z>y;y++){t=s.codeblocks[y];var A,B=t.precinct,C=t.cbx-B.cbxMin,D=t.cby-B.cbyMin,E=!1,F=!1;if(void 0!==t.included)E=!!e(1);else{B=t.precinct;var G,H;if(void 0!==B.inclusionTree)G=B.inclusionTree;else{var I=B.cbxMax-B.cbxMin+1,J=B.cbyMax-B.cbyMin+1;G=new w(I,J),H=new v(I,J),B.inclusionTree=G,B.zeroBitPlanesTree=H}for(G.reset(C,D,u);;){if(k>=b.length)return;if(G.isAboveThreshold())break;if(G.isKnown())G.nextLevel();else if(e(1)){if(G.setKnown(),G.isLeaf()){t.included=!0,E=F=!0;break}G.nextLevel()}else G.incrementValue()}}if(E){if(F){for(H=B.zeroBitPlanesTree,H.reset(C,D);;){if(k>=b.length)return;if(e(1)){if(A=!H.nextLevel())break}else H.incrementValue()}t.zeroBitPlanes=H.value}for(var K=i();e(1);)t.Lblock++;var L=log2(K),M=(1<K?L-1:L)+t.Lblock,N=e(M);x.push({codeblock:t,codingpasses:K,dataLength:N})}}for(h(),q&&f(146);x.length>0;){var O=x.shift();t=O.codeblock,void 0===t.data&&(t.data=[]),t.data.push({data:b,start:c+k,end:c+k+O.dataLength,codingpasses:O.codingpasses}),k+=O.dataLength}}catch(P){return}return k}function q(a,b,c,d,e,f,g,h){for(var i=d.tbx0,j=d.tby0,k=d.tbx1-d.tbx0,l=d.codeblocks,m="H"===d.type.charAt(0)?1:0,n="H"===d.type.charAt(1)?b:0,o=0,p=l.length;p>o;++o){var q=l[o],r=q.tbx1_-q.tbx0_,s=q.tby1_-q.tby0_;if(0!==r&&0!==s&&void 0!==q.data){var t,u;t=new x(r,s,q.subbandType,q.zeroBitPlanes,f),u=2;var v,w,y,z=q.data,A=0,B=0;for(v=0,w=z.length;w>v;v++)y=z[v],A+=y.end-y.start,B+=y.codingpasses;var C=new Int16Array(A),D=0;for(v=0,w=z.length;w>v;v++){y=z[v];var E=y.data.subarray(y.start,y.end);C.set(E,D),D+=E.length}var F=new ArithmeticDecoder(C,0,A);for(t.setDecoder(F),v=0;B>v;v++){switch(u){case 0:t.runSignificancePropogationPass();break;case 1:t.runMagnitudeRefinementPass();break;case 2:t.runCleanupPass(),h&&t.checkSegmentationSymbol()}u=(u+1)%3}var G,H,I,J=q.tbx0_-i+(q.tby0_-j)*k,K=t.coefficentsSign,L=t.coefficentsMagnitude,M=t.bitsDecoded,N=g?0:.5;D=0;var O="LL"!==d.type;for(v=0;s>v;v++){var P=J/k|0,Q=2*P*(b-k)+m+n;for(G=0;r>G;G++){if(H=L[D],0!==H){H=(H+N)*e,0!==K[D]&&(H=-H),I=M[D];var R=O?Q+(J<<1):J;g&&I>=f?a[R]=H:a[R]=H*(1<=r;r++){for(var s=d.resolutions[r],t=s.trx1-s.trx0,v=s.try1-s.try0,w=new Float32Array(t*v),x=0,y=s.subbands.length;y>x;x++){var B,C;i?(B=h[p].mu,C=h[p].epsilon,p++):(B=h[0].mu,C=h[0].epsilon+(r>0?1-r:0));var D=s.subbands[x],E=u[D.type],F=m?1:Math.pow(2,l+E-C)*(1+B/2048),G=j+C-1;q(w,t,v,D,F,G,m,k)}o.push({width:t,height:v,items:w})}var H=n.calculate(o,d.tcx0,d.tcy0);return{left:d.tcx0,top:d.tcy0,width:H.width,height:H.height,items:H.items}}function s(a){for(var b=a.SIZ,c=a.components,d=b.Csiz,e=[],f=0,g=a.tiles.length;g>f;f++){var h,i=a.tiles[f],j=[];for(h=0;d>h;h++)j[h]=r(a,i,h);var k=j[0],l=c[0].isSigned;if(l)var m=new Int16Array(k.items.length*d);else var m=new Uint16Array(k.items.length*d);var n,o,p,q,s,t,u,v,w,x,y,z,A,B,C,D={left:k.left,top:k.top,width:k.width,height:k.height,items:m},E=0;if(i.codingStyleDefaultParameters.multipleComponentTransform){var F=4===d,G=j[0].items,H=j[1].items,I=j[2].items,J=F?j[3].items:null;n=c[0].precision-8,o=(128<t;t++,E+=L)v=G[t]+o,w=H[t],x=I[t],z=v-(x+w>>2),y=z+x,A=z+w,m[E++]=0>=y?0:y>=p?255:y>>n,m[E++]=0>=z?0:z>=p?255:z>>n,m[E++]=0>=A?0:A>=p?255:A>>n;else for(t=0;u>t;t++,E+=L)v=G[t]+o,w=H[t],x=I[t],y=v+1.402*x,z=v-.34413*w-.71414*x,A=v+1.772*w,m[E++]=0>=y?0:y>=p?255:y>>n,m[E++]=0>=z?0:z>=p?255:z>>n,m[E++]=0>=A?0:A>=p?255:A>>n;if(F)for(t=0,E=3;u>t;t++,E+=4)B=J[t],m[E]=q>=B?0:B>=s?255:B+o>>n}else for(h=0;d>h;h++)if(8===c[h].precision){var M=j[h].items;for(n=c[h].precision-8,o=(128<t;t++)C=M[t],m[E]=q>=C?0:C>=p?255:C+o>>n,E+=d}else{var l=c[h].isSigned,M=j[h].items;if(l)for(E=h,t=0,u=M.length;u>t;t++)m[E]=M[t],E+=d;else{n=c[h].precision-8,o=(128<t;t++)C=M[t],m[E]=Math.max(Math.min(C+o,N),0),E+=d}}e.push(D)}return e}function t(a,b){for(var c=a.SIZ,d=c.Csiz,e=a.tiles[b],f=0;d>f;f++){var g=e.components[f],h=void 0!==a.currentTile.QCC[f]?a.currentTile.QCC[f]:a.currentTile.QCD;g.quantizationParameters=h;var i=void 0!==a.currentTile.COC[f]?a.currentTile.COC[f]:a.currentTile.COD;g.codingStyleParameters=i}e.codingStyleDefaultParameters=a.currentTile.COD}var u={LL:0,LH:1,HL:1,HH:2};a.prototype={parse:function(a){var b=readUint16(a,0);if(65359===b)return void this.parseCodestream(a,0,a.length);for(var c=0,d=a.length;d>c;){var e=8,f=readUint32(a,c),g=readUint32(a,c+4);if(c+=e,1===f&&(f=4294967296*readUint32(a,c)+readUint32(a,c+4),c+=8,e+=8),0===f&&(f=d-c+e),e>f)throw new Error("JPX Error: Invalid box field size");var h=f-e,i=!0;switch(g){case 1785737832:i=!1;break;case 1668246642:var j=a[c];a[c+1],a[c+2];if(1===j){var k=readUint32(a,c+3);switch(k){case 16:case 17:case 18:break;default:warn("Unknown colorspace "+k)}}else 2===j&&info("ICC profile not supported");break;case 1785737827:this.parseCodestream(a,c,c+h);break;case 1783636e3:218793738!==readUint32(a,c)&&warn("Invalid JP2 signature");break;case 1783634458:case 1718909296:case 1920099697:case 1919251232:case 1768449138:break;default:var l=String.fromCharCode(g>>24&255,g>>16&255,g>>8&255,255&g);warn("Unsupported header type "+g+" ("+l+")")}i&&(c+=h)}},parseImageProperties:function(a){for(var b=a.getByte();b>=0;){var c=b;b=a.getByte();var d=c<<8|b;if(65361===d){a.skip(4);var e=a.getInt32()>>>0,f=a.getInt32()>>>0,g=a.getInt32()>>>0,h=a.getInt32()>>>0;a.skip(16);var i=a.getUint16();return this.width=e-g,this.height=f-h,this.componentsCount=i,void(this.bitsPerComponent=8)}}throw new Error("JPX Error: No size marker found in JPX stream")},parseCodestream:function(a,d,e){var f={};try{for(var g=!1,h=d;e>h+1;){var i=readUint16(a,h);h+=2;var j,k,l,m,n,q,r=0;switch(i){case 65359:f.mainHeader=!0;break;case 65497:break;case 65361:r=readUint16(a,h);var u={};u.Xsiz=readUint32(a,h+4),u.Ysiz=readUint32(a,h+8),u.XOsiz=readUint32(a,h+12),u.YOsiz=readUint32(a,h+16),u.XTsiz=readUint32(a,h+20),u.YTsiz=readUint32(a,h+24),u.XTOsiz=readUint32(a,h+28),u.YTOsiz=readUint32(a,h+32);var v=readUint16(a,h+36);u.Csiz=v;var w=[];j=h+38;for(var x=0;v>x;x++){var y={precision:(127&a[j])+1,isSigned:!!(128&a[j]),XRsiz:a[j+1],YRsiz:a[j+1]};b(y,u),w.push(y)}f.SIZ=u,f.components=w,c(f,w),f.QCC=[],f.COC=[];break;case 65372:r=readUint16(a,h);var z={};switch(j=h+2,k=a[j++],31&k){case 0:m=8,n=!0;break;case 1:m=16,n=!1;break;case 2:m=16,n=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+k)}for(z.noQuantization=8===m,z.scalarExpounded=n,z.guardBits=k>>5,l=[];r+h>j;){var A={};8===m?(A.epsilon=a[j++]>>3,A.mu=0):(A.epsilon=a[j]>>3,A.mu=(7&a[j])<<8|a[j+1],j+=2),l.push(A)}z.SPqcds=l,f.mainHeader?f.QCD=z:(f.currentTile.QCD=z,f.currentTile.QCC=[]);break;case 65373:r=readUint16(a,h);var B={};j=h+2;var C;switch(f.SIZ.Csiz<257?C=a[j++]:(C=readUint16(a,j),j+=2),k=a[j++],31&k){case 0:m=8,n=!0;break;case 1:m=16,n=!1;break;case 2:m=16,n=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+k)}for(B.noQuantization=8===m,B.scalarExpounded=n,B.guardBits=k>>5,l=[];r+h>j;)A={},8===m?(A.epsilon=a[j++]>>3,A.mu=0):(A.epsilon=a[j]>>3,A.mu=(7&a[j])<<8|a[j+1],j+=2),l.push(A);B.SPqcds=l,f.mainHeader?f.QCC[C]=B:f.currentTile.QCC[C]=B;break;case 65362:r=readUint16(a,h);var D={};j=h+2;var E=a[j++];D.entropyCoderWithCustomPrecincts=!!(1&E),D.sopMarkerUsed=!!(2&E),D.ephMarkerUsed=!!(4&E),D.progressionOrder=a[j++],D.layersCount=readUint16(a,j),j+=2,D.multipleComponentTransform=a[j++],D.decompositionLevelsCount=a[j++],D.xcb=(15&a[j++])+2,D.ycb=(15&a[j++])+2;var F=a[j++];if(D.selectiveArithmeticCodingBypass=!!(1&F),D.resetContextProbabilities=!!(2&F),D.terminationOnEachCodingPass=!!(4&F),D.verticalyStripe=!!(8&F),D.predictableTermination=!!(16&F),D.segmentationSymbolUsed=!!(32&F),D.reversibleTransformation=a[j++],D.entropyCoderWithCustomPrecincts){for(var G=[];r+h>j;){var H=a[j++];G.push({PPx:15&H,PPy:H>>4})}D.precinctsSizes=G}var I=[];if(D.selectiveArithmeticCodingBypass&&I.push("selectiveArithmeticCodingBypass"),D.resetContextProbabilities&&I.push("resetContextProbabilities"),D.terminationOnEachCodingPass&&I.push("terminationOnEachCodingPass"),D.verticalyStripe&&I.push("verticalyStripe"),D.predictableTermination&&I.push("predictableTermination"),I.length>0)throw g=!0,new Error("JPX Error: Unsupported COD options ("+I.join(", ")+")");f.mainHeader?f.COD=D:(f.currentTile.COD=D,f.currentTile.COC=[]);break;case 65424:r=readUint16(a,h),q={},q.index=readUint16(a,h+2),q.length=readUint32(a,h+4),q.dataEnd=q.length+h-2,q.partIndex=a[h+8],q.partsCount=a[h+9],f.mainHeader=!1,0===q.partIndex&&(q.COD=f.COD,q.COC=f.COC.slice(0),q.QCD=f.QCD,q.QCC=f.QCC.slice(0)),f.currentTile=q;break;case 65427:q=f.currentTile,0===q.partIndex&&(t(f,q.index),o(f)),r=q.dataEnd-h,p(f,a,h,r);break;case 65365:case 65367:case 65368:case 65380:r=readUint16(a,h);break;case 65363:throw new Error("JPX Error: Codestream code 0xFF53 (COC) is not implemented");default:throw new Error("JPX Error: Unknown codestream code: "+i.toString(16))}h+=r}}catch(J){if(g||this.failOnCorruptedImage)throw J;warn("Trying to recover from "+J.message)}this.tiles=s(f),this.width=f.SIZ.Xsiz-f.SIZ.XOsiz,this.height=f.SIZ.Ysiz-f.SIZ.YOsiz,this.componentsCount=f.SIZ.Csiz}};var v=function(){function a(a,b){var c=log2(Math.max(a,b))+1;this.levels=[];for(var d=0;c>d;d++){var e={width:a,height:b,items:[]};this.levels.push(e),a=Math.ceil(a/2),b=Math.ceil(b/2)}}return a.prototype={reset:function(a,b){for(var c,d=0,e=0;d>=1,b>>=1,d++}d--,c=this.levels[d],c.items[c.index]=e,this.currentLevel=d,delete this.value},incrementValue:function(){var a=this.levels[this.currentLevel];a.items[a.index]++},nextLevel:function(){var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];return a--,0>a?(this.value=c,!1):(this.currentLevel=a,b=this.levels[a],b.items[b.index]=c,!0)}},a}(),w=function(){function a(a,b){var c=log2(Math.max(a,b))+1;this.levels=[];for(var d=0;c>d;d++){for(var e=new Uint8Array(a*b),f=new Uint8Array(a*b),g=0,h=e.length;h>g;g++)e[g]=0,f[g]=0;var i={width:a,height:b,items:e,status:f};this.levels.push(i),a=Math.ceil(a/2),b=Math.ceil(b/2)}}return a.prototype={reset:function(a,b,c){this.currentStopValue=c;for(var d=0;d>=1,b>>=1,d++}this.currentLevel=this.levels.length-1,this.minValue=this.levels[this.currentLevel].items[0]},incrementValue:function(){var a=this.levels[this.currentLevel];a.items[a.index]=a.items[a.index]+1,a.items[a.index]>this.minValue&&(this.minValue=a.items[a.index])},nextLevel:function(){var a=this.currentLevel;if(a--,0>a)return!1;this.currentLevel=a;var b=this.levels[a];return b.items[b.index]this.minValue&&(this.minValue=b.items[b.index]),!0},isLeaf:function(){return 0===this.currentLevel},isAboveThreshold:function(){var a=this.currentLevel,b=this.levels[a];return b.items[b.index]>this.currentStopValue},isKnown:function(){var a=this.currentLevel,b=this.levels[a];return b.status[b.index]>0},setKnown:function(){var a=this.currentLevel,b=this.levels[a];b.status[b.index]=1}},a}(),x=function(){function a(a,b,c,g,h){this.width=a,this.height=b,this.contextLabelTable="HH"===c?f:"HL"===c?e:d;var i=a*b;this.neighborsSignificance=new Uint8Array(i),this.coefficentsSign=new Uint8Array(i),this.coefficentsMagnitude=h>14?new Uint32Array(i):h>6?new Uint16Array(i):new Uint8Array(i),this.processingFlags=new Uint8Array(i);var j=new Uint8Array(i);if(0!==g)for(var k=0;i>k;k++)j[k]=g;this.bitsDecoded=j,this.reset()}var b=17,c=18,d=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]),e=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8]),f=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]);return a.prototype={setDecoder:function(a){this.decoder=a},reset:function(){this.contexts=new Int8Array(19),this.contexts[0]=8,this.contexts[b]=92,this.contexts[c]=6},setNeighborsSignificance:function(a,b,c){var d,e=this.neighborsSignificance,f=this.width,g=this.height,h=b>0,i=f>b+1;a>0&&(d=c-f,h&&(e[d-1]+=16),i&&(e[d+1]+=16),e[d]+=4),g>a+1&&(d=c+f,h&&(e[d-1]+=16),i&&(e[d+1]+=16),e[d]+=4),h&&(e[c-1]+=1),i&&(e[c+1]+=1),e[c]|=128},runSignificancePropogationPass:function(){for(var a=this.decoder,b=this.width,c=this.height,d=this.coefficentsMagnitude,e=this.coefficentsSign,f=this.neighborsSignificance,g=this.processingFlags,h=this.contexts,i=this.contextLabelTable,j=this.bitsDecoded,k=-2,l=1,m=2,n=0;c>n;n+=4)for(var o=0;b>o;o++)for(var p=n*b+o,q=0;4>q;q++,p+=b){var r=n+q;if(r>=c)break;if(g[p]&=k,!d[p]&&f[p]){var s=i[f[p]],t=a.readBit(h,s);if(t){var u=this.decodeSignBit(r,o,p);e[p]=u,d[p]=1,this.setNeighborsSignificance(r,o,p),g[p]|=m}j[p]++,g[p]|=l}}},decodeSignBit:function(a,b,c){var d,e,f,g,h,i,j=this.width,k=this.height,l=this.coefficentsMagnitude,m=this.coefficentsSign;g=b>0&&0!==l[c-1],j>b+1&&0!==l[c+1]?(f=m[c+1],g?(e=m[c-1],d=1-f-e):d=1-f-f):g?(e=m[c-1],d=1-e-e):d=0;var n=3*d;return g=a>0&&0!==l[c-j],k>a+1&&0!==l[c+j]?(f=m[c+j],g?(e=m[c-j],d=1-f-e+n):d=1-f-f+n):g?(e=m[c-j],d=1-e-e+n):d=n,d>=0?(h=9+d,i=this.decoder.readBit(this.contexts,h)):(h=9-d,i=1^this.decoder.readBit(this.contexts,h)),i},runMagnitudeRefinementPass:function(){for(var a,b=this.decoder,c=this.width,d=this.height,e=this.coefficentsMagnitude,f=this.neighborsSignificance,g=this.contexts,h=this.bitsDecoded,i=this.processingFlags,j=1,k=2,l=c*d,m=4*c,n=0;l>n;n=a){a=Math.min(l,n+m);for(var o=0;c>o;o++)for(var p=n+o;a>p;p+=c)if(e[p]&&0===(i[p]&j)){var q=16;if(0!==(i[p]&k)){i[p]^=k;var r=127&f[p];q=0===r?15:14}var s=b.readBit(g,q);e[p]=e[p]<<1|s,h[p]++,i[p]|=j}}},runCleanupPass:function(){for(var a,d=this.decoder,e=this.width,f=this.height,g=this.neighborsSignificance,h=this.coefficentsMagnitude,i=this.coefficentsSign,j=this.contexts,k=this.contextLabelTable,l=this.bitsDecoded,m=this.processingFlags,n=1,o=2,p=e,q=2*e,r=3*e,s=0;f>s;s=a){a=Math.min(s+4,f);for(var t=s*e,u=f>s+3,v=0;e>v;v++){var w,x=t+v,y=u&&0===m[x]&&0===m[x+p]&&0===m[x+q]&&0===m[x+r]&&0===g[x]&&0===g[x+p]&&0===g[x+q]&&0===g[x+r],z=0,A=x,B=s;if(y){var C=d.readBit(j,c);if(!C){l[x]++,l[x+p]++,l[x+q]++,l[x+r]++;continue}z=d.readBit(j,b)<<1|d.readBit(j,b),0!==z&&(B=s+z,A+=z*e),w=this.decodeSignBit(B,v,A),i[A]=w,h[A]=1,this.setNeighborsSignificance(B,v,A),m[A]|=o,A=x;for(var D=s;B>=D;D++,A+=e)l[A]++;z++}for(B=s+z;a>B;B++,A+=e)if(!h[A]&&0===(m[A]&n)){var E=k[g[A]],F=d.readBit(j,E);1===F&&(w=this.decodeSignBit(B,v,A),i[A]=w,h[A]=1,this.setNeighborsSignificance(B,v,A),m[A]|=o),l[A]++}}}},checkSegmentationSymbol:function(){var a=this.decoder,c=this.contexts,d=a.readBit(c,b)<<3|a.readBit(c,b)<<2|a.readBit(c,b)<<1|a.readBit(c,b);if(10!==d)throw new Error("JPX Error: Invalid segmentation symbol")}},a}(),y=function(){function a(){}return a.prototype.calculate=function(a,b,c){for(var d=a[0],e=1,f=a.length;f>e;e++)d=this.iterate(d,a[e],b,c);return d},a.prototype.extend=function(a,b,c){var d=b-1,e=b+1,f=b+c-2,g=b+c;a[d--]=a[e++],a[g++]=a[f--],a[d--]=a[e++],a[g++]=a[f--],a[d--]=a[e++],a[g++]=a[f--],a[d]=a[e],a[g]=a[f]},a.prototype.iterate=function(a,b,c,d){var e,f,g,h,i,j,k=a.width,l=a.height,m=a.items,n=b.width,o=b.height,p=b.items;for(g=0,e=0;l>e;e++)for(h=2*e*n,f=0;k>f;f++,g++,h+=2)p[h]=m[g];m=a.items=null;var q=4,r=new Float32Array(n+2*q);if(1===n){if(0!==(1&c))for(j=0,g=0;o>j;j++,g+=n)p[g]*=.5}else for(j=0,g=0;o>j;j++,g+=n)r.set(p.subarray(g,g+n),q),this.extend(r,q,n),this.filter(r,q,n),p.set(r.subarray(q,q+n),g);var s=16,t=[];for(e=0;s>e;e++)t.push(new Float32Array(o+2*q));var u,v=0;if(a=q+o,1===o){if(0!==(1&d))for(i=0;n>i;i++)p[i]*=.5}else for(i=0;n>i;i++){if(0===v){for(s=Math.min(n-i,s),g=i,h=q;a>h;g+=n,h++)for(u=0;s>u;u++)t[u][h]=p[g+u];v=s}v--;var w=t[v];if(this.extend(w,q,o),this.filter(w,q,o),0===v)for(g=i-s+1,h=q;a>h;g+=n,h++)for(u=0;s>u;u++)p[g+u]=t[u][h]}return{width:n,height:o,items:p}},a}(),z=function(){function a(){y.call(this)}return a.prototype=Object.create(y.prototype),a.prototype.filter=function(a,b,c){var d=c>>1;b=0|b;var e,f,g,h,i=-1.586134342059924,j=-.052980118572961,k=.882911075530934,l=.443506852043971,m=1.230174104914001,n=1/m;for(e=b-3,f=d+4;f--;e+=2)a[e]*=n;for(e=b-2,g=l*a[e-1],f=d+3;f--&&(h=l*a[e+1],a[e]=m*a[e]-g-h,f--);e+=2)e+=2,g=l*a[e+1],a[e]=m*a[e]-g-h;for(e=b-1,g=k*a[e-1],f=d+2;f--&&(h=k*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=k*a[e+1],a[e]-=g+h;for(e=b,g=j*a[e-1],f=d+1;f--&&(h=j*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=j*a[e+1],a[e]-=g+h;if(0!==d)for(e=b+1,g=i*a[e-1],f=d;f--&&(h=i*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=i*a[e+1],a[e]-=g+h},a}(),A=function(){function a(){y.call(this)}return a.prototype=Object.create(y.prototype),a.prototype.filter=function(a,b,c){var d=c>>1;b=0|b;var e,f;for(e=b,f=d+1;f--;e+=2)a[e]-=a[e-1]+a[e+1]+2>>2;for(e=b+1,f=d;f--;e+=2)a[e]+=a[e-1]+a[e+1]>>1},a}();return a}(),ArithmeticDecoder=function(){function a(a,b,c){this.data=a,this.bp=b,this.dataEnd=c,this.chigh=a[b],this.clow=0,this.byteIn(),this.chigh=this.chigh<<7&65535|this.clow>>9&127,this.clow=this.clow<<7&65535,this.ct-=7,this.a=32768}var b=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{ -qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];return a.prototype={byteIn:function(){var a=this.data,b=this.bp;if(255===a[b]){var c=a[b+1];c>143?(this.clow+=65280,this.ct=8):(b++,this.clow+=a[b]<<9,this.ct=7,this.bp=b)}else b++,this.clow+=b65535&&(this.chigh+=this.clow>>16,this.clow&=65535)},readBit:function(a,c){var d,e=a[c]>>1,f=1&a[c],g=b[e],h=g.qe,i=this.a-h;if(this.chighi?(i=h,d=f,e=g.nmps):(i=h,d=1^f,1===g.switchFlag&&(f=d),e=g.nlps);else{if(this.chigh-=h,0!==(32768&i))return this.a=i,f;h>i?(d=1^f,1===g.switchFlag&&(f=d),e=g.nlps):(d=f,e=g.nmps)}do 0===this.ct&&this.byteIn(),i<<=1,this.chigh=this.chigh<<1&65535|this.clow>>15&1,this.clow=this.clow<<1&65535,this.ct--;while(0===(32768&i));return this.a=i,a[c]=e<<1|f,d}},a}(),globalScope="undefined"==typeof window?this:window,isWorker="undefined"==typeof window,FONT_IDENTITY_MATRIX=[.001,0,0,.001,0,0],TextRenderingMode={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},ImageKind={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},AnnotationType={WIDGET:1,TEXT:2,LINK:3},StreamType={UNKNOWN:0,FLATE:1,LZW:2,DCT:3,JPX:4,JBIG:5,A85:6,AHX:7,CCF:8,RL:9},FontType={UNKNOWN:0,TYPE1:1,TYPE1C:2,CIDFONTTYPE0:3,CIDFONTTYPE0C:4,TRUETYPE:5,CIDFONTTYPE2:6,TYPE3:7,OPENTYPE:8,TYPE0:9,MMTYPE1:10};globalScope.PDFJS||(globalScope.PDFJS={}),globalScope.PDFJS.pdfBug=!1,PDFJS.VERBOSITY_LEVELS={errors:0,warnings:1,infos:5};var OPS=PDFJS.OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91},UNSUPPORTED_FEATURES=PDFJS.UNSUPPORTED_FEATURES={unknown:"unknown",forms:"forms",javaScript:"javaScript",smask:"smask",shadingPattern:"shadingPattern",font:"font"},UnsupportedManager=PDFJS.UnsupportedManager=function(){var a=[];return{listen:function(b){a.push(b)},notify:function(b){warn('Unsupported feature "'+b+'"');for(var c=0,d=a.length;d>c;c++)a[c](b)}}}();PDFJS.isValidUrl=isValidUrl,PDFJS.shadow=shadow;var PasswordResponses=PDFJS.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},PasswordException=function(){function a(a,b){this.name="PasswordException",this.message=a,this.code=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.PasswordException=PasswordException;var UnknownErrorException=function(){function a(a,b){this.name="UnknownErrorException",this.message=a,this.details=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnknownErrorException=UnknownErrorException;var InvalidPDFException=function(){function a(a){this.name="InvalidPDFException",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.InvalidPDFException=InvalidPDFException;var MissingPDFException=function(){function a(a){this.name="MissingPDFException",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.MissingPDFException=MissingPDFException;var UnexpectedResponseException=function(){function a(a,b){this.name="UnexpectedResponseException",this.message=a,this.status=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnexpectedResponseException=UnexpectedResponseException;var NotImplementedException=function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name="NotImplementedException",a.constructor=a,a}(),MissingDataException=function(){function a(a,b){this.begin=a,this.end=b,this.message="Missing data ["+a+", "+b+")"}return a.prototype=new Error,a.prototype.name="MissingDataException",a.constructor=a,a}(),XRefParseException=function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name="XRefParseException",a.constructor=a,a}();Object.defineProperty(PDFJS,"isLittleEndian",{configurable:!0,get:function(){return shadow(PDFJS,"isLittleEndian",isLittleEndian())}}),Object.defineProperty(PDFJS,"hasCanvasTypedArrays",{configurable:!0,get:function(){return shadow(PDFJS,"hasCanvasTypedArrays",hasCanvasTypedArrays())}});var Uint32ArrayView=function(){function a(a,b){this.buffer=a,this.byteLength=a.length,this.length=void 0===b?this.byteLength>>2:b,c(this.length)}function b(a){return{get:function(){var b=this.buffer,c=a<<2;return(b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24)>>>0},set:function(b){var c=this.buffer,d=a<<2;c[d]=255&b,c[d+1]=b>>8&255,c[d+2]=b>>16&255,c[d+3]=b>>>24&255}}}function c(c){for(;c>d;)Object.defineProperty(a.prototype,d,b(d)),d++}a.prototype=Object.create(null);var d=0;return a}(),IDENTITY_MATRIX=[1,0,0,1,0,0],Util=PDFJS.Util=function(){function a(){}var b=["rgb(",0,",",0,",",0,")"];return a.makeCssRgb=function(a,c,d){return b[1]=a,b[3]=c,b[5]=d,b.join("")},a.transform=function(a,b){return[a[0]*b[0]+a[2]*b[1],a[1]*b[0]+a[3]*b[1],a[0]*b[2]+a[2]*b[3],a[1]*b[2]+a[3]*b[3],a[0]*b[4]+a[2]*b[5]+a[4],a[1]*b[4]+a[3]*b[5]+a[5]]},a.applyTransform=function(a,b){var c=a[0]*b[0]+a[1]*b[2]+b[4],d=a[0]*b[1]+a[1]*b[3]+b[5];return[c,d]},a.applyInverseTransform=function(a,b){var c=b[0]*b[3]-b[1]*b[2],d=(a[0]*b[3]-a[1]*b[2]+b[2]*b[5]-b[4]*b[3])/c,e=(-a[0]*b[1]+a[1]*b[0]+b[4]*b[1]-b[5]*b[0])/c;return[d,e]},a.getAxialAlignedBoundingBox=function(b,c){var d=a.applyTransform(b,c),e=a.applyTransform(b.slice(2,4),c),f=a.applyTransform([b[0],b[3]],c),g=a.applyTransform([b[2],b[1]],c);return[Math.min(d[0],e[0],f[0],g[0]),Math.min(d[1],e[1],f[1],g[1]),Math.max(d[0],e[0],f[0],g[0]),Math.max(d[1],e[1],f[1],g[1])]},a.inverseTransform=function(a){var b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[4]*a[3])/b,(a[4]*a[1]-a[5]*a[0])/b]},a.apply3dTransform=function(a,b){return[a[0]*b[0]+a[1]*b[1]+a[2]*b[2],a[3]*b[0]+a[4]*b[1]+a[5]*b[2],a[6]*b[0]+a[7]*b[1]+a[8]*b[2]]},a.singularValueDecompose2dScale=function(a){var b=[a[0],a[2],a[1],a[3]],c=a[0]*b[0]+a[1]*b[2],d=a[0]*b[1]+a[1]*b[3],e=a[2]*b[0]+a[3]*b[2],f=a[2]*b[1]+a[3]*b[3],g=(c+f)/2,h=Math.sqrt((c+f)*(c+f)-4*(c*f-e*d))/2,i=g+h||1,j=g-h||1;return[Math.sqrt(i),Math.sqrt(j)]},a.normalizeRect=function(a){var b=a.slice(0);return a[0]>a[2]&&(b[0]=a[2],b[2]=a[0]),a[1]>a[3]&&(b[1]=a[3],b[3]=a[1]),b},a.intersect=function(b,c){function d(a,b){return a-b}var e=[b[0],b[2],c[0],c[2]].sort(d),f=[b[1],b[3],c[1],c[3]].sort(d),g=[];return b=a.normalizeRect(b),c=a.normalizeRect(c),e[0]===b[0]&&e[1]===c[0]||e[0]===c[0]&&e[1]===b[0]?(g[0]=e[1],g[2]=e[2],f[0]===b[1]&&f[1]===c[1]||f[0]===c[1]&&f[1]===b[1]?(g[1]=f[1],g[3]=f[2],g):!1):!1},a.sign=function(a){return 0>a?-1:1},a.appendToArray=function(a,b){Array.prototype.push.apply(a,b)},a.prependToArray=function(a,b){Array.prototype.unshift.apply(a,b)},a.extendObj=function(a,b){for(var c in b)a[c]=b[c]},a.getInheritableProperty=function(a,b){for(;a&&!a.has(b);)a=a.get("Parent");return a?a.get(b):null},a.inherit=function(a,b,c){a.prototype=Object.create(b.prototype),a.prototype.constructor=a;for(var d in c)a.prototype[d]=c[d]},a.loadScript=function(a,b){var c=document.createElement("script"),d=!1;c.setAttribute("src",a),b&&(c.onload=function(){d||b(),d=!0}),document.getElementsByTagName("head")[0].appendChild(c)},a}(),PageViewport=PDFJS.PageViewport=function(){function a(a,b,c,d,e,f){this.viewBox=a,this.scale=b,this.rotation=c,this.offsetX=d,this.offsetY=e;var g,h,i,j,k=(a[2]+a[0])/2,l=(a[3]+a[1])/2;switch(c%=360,c=0>c?c+360:c){case 180:g=-1,h=0,i=0,j=1;break;case 90:g=0,h=1,i=1,j=0;break;case 270:g=0,h=-1,i=-1,j=0;break;default:g=1,h=0,i=0,j=-1}f&&(i=-i,j=-j);var m,n,o,p;0===g?(m=Math.abs(l-a[1])*b+d,n=Math.abs(k-a[0])*b+e,o=Math.abs(a[3]-a[1])*b,p=Math.abs(a[2]-a[0])*b):(m=Math.abs(k-a[0])*b+d,n=Math.abs(l-a[1])*b+e,o=Math.abs(a[2]-a[0])*b,p=Math.abs(a[3]-a[1])*b),this.transform=[g*b,h*b,i*b,j*b,m-g*b*k-i*b*l,n-h*b*k-j*b*l],this.width=o,this.height=p,this.fontScale=b}return a.prototype={clone:function(b){b=b||{};var c="scale"in b?b.scale:this.scale,d="rotation"in b?b.rotation:this.rotation;return new a(this.viewBox.slice(),c,d,this.offsetX,this.offsetY,b.dontFlip)},convertToViewportPoint:function(a,b){return Util.applyTransform([a,b],this.transform)},convertToViewportRectangle:function(a){var b=Util.applyTransform([a[0],a[1]],this.transform),c=Util.applyTransform([a[2],a[3]],this.transform);return[b[0],b[1],c[0],c[1]]},convertToPdfPoint:function(a,b){return Util.applyInverseTransform([a,b],this.transform)}},a}(),PDFStringTranslateTable=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364];PDFJS.createPromiseCapability=createPromiseCapability,function(){function a(a){this._status=b,this._handlers=[];try{a.call(this,this._resolve.bind(this),this._reject.bind(this))}catch(c){this._reject(c)}}if(globalScope.Promise)return"function"!=typeof globalScope.Promise.all&&(globalScope.Promise.all=function(a){var b,c,d=0,e=[],f=new globalScope.Promise(function(a,d){b=a,c=d});return a.forEach(function(a,f){d++,a.then(function(a){e[f]=a,d--,0===d&&b(e)},c)}),0===d&&b(e),f}),"function"!=typeof globalScope.Promise.resolve&&(globalScope.Promise.resolve=function(a){return new globalScope.Promise(function(b){b(a)})}),"function"!=typeof globalScope.Promise.reject&&(globalScope.Promise.reject=function(a){return new globalScope.Promise(function(b,c){c(a)})}),void("function"!=typeof globalScope.Promise.prototype["catch"]&&(globalScope.Promise.prototype["catch"]=function(a){return globalScope.Promise.prototype.then(void 0,a)}));var b=0,c=1,d=2,e=500,f={handlers:[],running:!1,unhandledRejections:[],pendingRejectionCheck:!1,scheduleHandlers:function(a){a._status!==b&&(this.handlers=this.handlers.concat(a._handlers),a._handlers=[],this.running||(this.running=!0,setTimeout(this.runHandlers.bind(this),0)))},runHandlers:function(){for(var a=1,b=Date.now()+a;this.handlers.length>0;){var e=this.handlers.shift(),f=e.thisPromise._status,g=e.thisPromise._value;try{f===c?"function"==typeof e.onResolve&&(g=e.onResolve(g)):"function"==typeof e.onReject&&(g=e.onReject(g),f=c,e.thisPromise._unhandledRejection&&this.removeUnhandeledRejection(e.thisPromise))}catch(h){f=d,g=h}if(e.nextPromise._updateStatus(f,g),Date.now()>=b)break}return this.handlers.length>0?void setTimeout(this.runHandlers.bind(this),0):void(this.running=!1)},addUnhandledRejection:function(a){this.unhandledRejections.push({promise:a,time:Date.now()}),this.scheduleRejectionCheck()},removeUnhandeledRejection:function(a){a._unhandledRejection=!1;for(var b=0;be){var c=this.unhandledRejections[b].promise._value,d="Unhandled rejection: "+c;c.stack&&(d+="\n"+c.stack),warn(d),this.unhandledRejections.splice(b),b--}this.unhandledRejections.length&&this.scheduleRejectionCheck()}.bind(this),e))}};a.all=function(b){function c(a){g._status!==d&&(i=[],f(a))}var e,f,g=new a(function(a,b){e=a,f=b}),h=b.length,i=[];if(0===h)return e(i),g;for(var j=0,k=b.length;k>j;++j){var l=b[j],m=function(a){return function(b){g._status!==d&&(i[a]=b,h--,0===h&&e(i))}}(j);a.isPromise(l)?l.then(m,c):m(l)}return g},a.isPromise=function(a){return a&&"function"==typeof a.then},a.resolve=function(b){return new a(function(a){a(b)})},a.reject=function(b){return new a(function(a,c){c(b)})},a.prototype={_status:null,_value:null,_handlers:null,_unhandledRejection:null,_updateStatus:function(b,e){if(this._status!==c&&this._status!==d){if(b===c&&a.isPromise(e))return void e.then(this._updateStatus.bind(this,c),this._updateStatus.bind(this,d));this._status=b,this._value=e,b===d&&0===this._handlers.length&&(this._unhandledRejection=!0,f.addUnhandledRejection(this)),f.scheduleHandlers(this)}},_resolve:function(a){this._updateStatus(c,a)},_reject:function(a){this._updateStatus(d,a)},then:function(b,c){var d=new a(function(a,b){this.resolve=a,this.reject=b});return this._handlers.push({thisPromise:this,onResolve:b,onReject:c,nextPromise:d}),f.scheduleHandlers(this),d},"catch":function(a){return this.then(void 0,a)}},globalScope.Promise=a}();var StatTimer=function(){function a(a,b,c){for(;a.lengthb;++b){var g=d[b].name;g.length>f&&(f=g.length)}for(b=0,c=d.length;c>b;++b){var h=d[b],i=h.end-h.start;e+=a(h.name," ",f)+" "+i+"ms\n"}return e}},b}();PDFJS.createBlob=function(a,b){if("undefined"!=typeof Blob)return new Blob([a],{type:b});var c=new MozBlobBuilder;return c.append(a),c.getBlob(b)},PDFJS.createObjectURL=function(){var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return function(b,c){if(!PDFJS.disableCreateObjectURL&&"undefined"!=typeof URL&&URL.createObjectURL){var d=PDFJS.createBlob(b,c);return URL.createObjectURL(d)}for(var e="data:"+c+";base64,",f=0,g=b.length;g>f;f+=3){var h=255&b[f],i=255&b[f+1],j=255&b[f+2],k=h>>2,l=(3&h)<<4|i>>4,m=g>f+1?(15&i)<<2|j>>6:64,n=g>f+2?63&j:64;e+=a[k]+a[l]+a[m]+a[n]}return e}}(),MessageHandler.prototype={on:function(a,b,c){var d=this.actionHandler;d[a]&&error('There is already an actionName called "'+a+'"'),d[a]=[b,c]},send:function(a,b,c){var d={action:a,data:b};this.postMessage(d,c)},sendWithPromise:function(a,b,c){var d=this.callbackIndex++,e={action:a,data:b,callbackId:d},f=createPromiseCapability();this.callbacksCapabilities[d]=f;try{this.postMessage(e,c)}catch(g){f.reject(g)}return f.promise},postMessage:function(a,b){b&&this.postMessageTransfers?this.comObj.postMessage(a,b):this.comObj.postMessage(a)}}; - - -/*** EXPORTS FROM exports-loader ***/ -module.exports = JpxImage; - -/***/ }), - -/***/ "../codecs/openJPEG-FixedMemory.js": -/*!*****************************************!*\ - !*** ../codecs/openJPEG-FixedMemory.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -/*! OpenJPEG.js - v0.2.0 - 2016-06-07 | (c) 2016 Chris Hafey | https://github.com/chafey/openjpeg */ - -// Notes: -// - Had to add export default at the bottom -// - Had to patch parsejsfunc, see https://github.com/svaarala/duktape/issues/410 -var OpenJPEG = function(Module) { - Module = Module || {}; - -var Module;if(!Module)Module=(typeof OpenJPEG!=="undefined"?OpenJPEG:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||4e8;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+25664;__ATINIT__.push();allocate([131,192,202,161,69,182,251,63,127,251,58,112,206,136,234,63,127,251,58,112,206,136,234,63,131,192,202,161,69,182,251,63,225,122,20,174,71,225,252,63,94,186,73,12,2,43,249,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,6,64,0,0,0,0,0,128,21,64,92,143,194,245,40,92,37,64,215,163,112,61,10,87,53,64,246,40,92,143,194,85,69,64,133,235,81,184,30,85,85,64,102,102,102,102,102,86,101,64,205,204,204,204,204,84,117,64,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,173,250,92,109,197,254,230,63,86,125,174,182,98,127,237,63,199,75,55,137,65,96,249,63,242,210,77,98,16,88,8,64,250,126,106,188,116,19,24,64,133,235,81,184,30,5,40,64,0,0,0,0,0,0,56,64,92,143,194,245,40,252,71,64,236,81,184,30,133,251,87,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,113,61,10,215,163,112,255,63,104,145,237,124,63,181,16,64,117,147,24,4,86,206,32,64,102,102,102,102,102,230,48,64,236,81,184,30,133,235,64,64,92,143,194,245,40,236,80,64,154,153,153,153,153,233,96,64,154,153,153,153,153,233,112,64,51,51,51,51,51,231,128,64,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,164,112,61,10,215,163,0,64,236,81,184,30,133,235,14,64,119,190,159,26,47,157,32,64,174,71,225,122,20,46,49,64,123,20,174,71,225,90,65,64,246,40,92,143,194,101,81,64,154,153,153,153,153,105,97,64,154,153,153,153,153,105,113,64,154,153,153,153,153,105,129,64,0,0,0,0,0,0,0,0,4,0,0,0,67,80,82,76,0,0,0,0,0,0,0,0,76,82,67,80,0,0,0,0,3,0,0,0,80,67,82,76,0,0,0,0,1,0,0,0,82,76,67,80,0,0,0,0,2,0,0,0,82,80,67,76,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,144,255,0,0,12,0,0,0,1,0,0,0,82,255,0,0,20,0,0,0,2,0,0,0,83,255,0,0,20,0,0,0,3,0,0,0,94,255,0,0,20,0,0,0,4,0,0,0,92,255,0,0,20,0,0,0,5,0,0,0,93,255,0,0,20,0,0,0,6,0,0,0,95,255,0,0,20,0,0,0,7,0,0,0,81,255,0,0,2,0,0,0,8,0,0,0,85,255,0,0,4,0,0,0,9,0,0,0,87,255,0,0,4,0,0,0,10,0,0,0,88,255,0,0,16,0,0,0,11,0,0,0,96,255,0,0,4,0,0,0,12,0,0,0,97,255,0,0,16,0,0,0,13,0,0,0,145,255,0,0,0,0,0,0,0,0,0,0,99,255,0,0,4,0,0,0,14,0,0,0,100,255,0,0,20,0,0,0,15,0,0,0,116,255,0,0,20,0,0,0,16,0,0,0,120,255,0,0,4,0,0,0,17,0,0,0,117,255,0,0,20,0,0,0,18,0,0,0,119,255,0,0,20,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,32,32,80,106,20,0,0,0,112,121,116,102,21,0,0,0,104,50,112,106,22,0,0,0,114,100,104,105,23,0,0,0,114,108,111,99,24,0,0,0,99,99,112,98,25,0,0,0,114,108,99,112,26,0,0,0,112,97,109,99,27,0,0,0,102,101,100,99,28,0,0,0,1,86,0,0,0,0,0,0,164,4,0,0,180,4,0,0,1,86,0,0,1,0,0,0,180,4,0,0,164,4,0,0,1,52,0,0,0,0,0,0,196,4,0,0,68,5,0,0,1,52,0,0,1,0,0,0,212,4,0,0,84,5,0,0,1,24,0,0,0,0,0,0,228,4,0,0,164,5,0,0,1,24,0,0,1,0,0,0,244,4,0,0,180,5,0,0,193,10,0,0,0,0,0,0,4,5,0,0,4,6,0,0,193,10,0,0,1,0,0,0,20,5,0,0,20,6,0,0,33,5,0,0,0,0,0,0,36,5,0,0,36,8,0,0,33,5,0,0,1,0,0,0,52,5,0,0,52,8,0,0,33,2,0,0,0,0,0,0,68,9,0,0,164,8,0,0,33,2,0,0,1,0,0,0,84,9,0,0,180,8,0,0,1,86,0,0,0,0,0,0,100,5,0,0,84,5,0,0,1,86,0,0,1,0,0,0,116,5,0,0,68,5,0,0,1,84,0,0,0,0,0,0,132,5,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,5,0,0,84,6,0,0,1,72,0,0,0,0,0,0,164,5,0,0,68,6,0,0,1,72,0,0,1,0,0,0,180,5,0,0,84,6,0,0,1,56,0,0,0,0,0,0,196,5,0,0,68,6,0,0,1,56,0,0,1,0,0,0,212,5,0,0,84,6,0,0,1,48,0,0,0,0,0,0,228,5,0,0,164,6,0,0,1,48,0,0,1,0,0,0,244,5,0,0,180,6,0,0,1,36,0,0,0,0,0,0,4,6,0,0,196,6,0,0,1,36,0,0,1,0,0,0,20,6,0,0,212,6,0,0,1,28,0,0,0,0,0,0,36,6,0,0,4,7,0,0,1,28,0,0,1,0,0,0,52,6,0,0,20,7,0,0,1,22,0,0,0,0,0,0,36,8,0,0,36,7,0,0,1,22,0,0,1,0,0,0,52,8,0,0,52,7,0,0,1,86,0,0,0,0,0,0,100,6,0,0,84,6,0,0,1,86,0,0,1,0,0,0,116,6,0,0,68,6,0,0,1,84,0,0,0,0,0,0,132,6,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,6,0,0,84,6,0,0,1,81,0,0,0,0,0,0,164,6,0,0,100,6,0,0,1,81,0,0,1,0,0,0,180,6,0,0,116,6,0,0,1,72,0,0,0,0,0,0,196,6,0,0,132,6,0,0,1,72,0,0,1,0,0,0,212,6,0,0,148,6,0,0,1,56,0,0,0,0,0,0,228,6,0,0,164,6,0,0,1,56,0,0,1,0,0,0,244,6,0,0,180,6,0,0,1,52,0,0,0,0,0,0,4,7,0,0,196,6,0,0,1,52,0,0,1,0,0,0,20,7,0,0,212,6,0,0,1,48,0,0,0,0,0,0,36,7,0,0,228,6,0,0,1,48,0,0,1,0,0,0,52,7,0,0,244,6,0,0,1,40,0,0,0,0,0,0,68,7,0,0,228,6,0,0,1,40,0,0,1,0,0,0,84,7,0,0,244,6,0,0,1,36,0,0,0,0,0,0,100,7,0,0,4,7,0,0,1,36,0,0,1,0,0,0,116,7,0,0,20,7,0,0,1,34,0,0,0,0,0,0,132,7,0,0,36,7,0,0,1,34,0,0,1,0,0,0,148,7,0,0,52,7,0,0,1,28,0,0,0,0,0,0,164,7,0,0,68,7,0,0,1,28,0,0,1,0,0,0,180,7,0,0,84,7,0,0,1,24,0,0,0,0,0,0,196,7,0,0,100,7,0,0,1,24,0,0,1,0,0,0,212,7,0,0,116,7,0,0,1,22,0,0,0,0,0,0,228,7,0,0,132,7,0,0,1,22,0,0,1,0,0,0,244,7,0,0,148,7,0,0,1,20,0,0,0,0,0,0,4,8,0,0,164,7,0,0,1,20,0,0,1,0,0,0,20,8,0,0,180,7,0,0,1,18,0,0,0,0,0,0,36,8,0,0,196,7,0,0,1,18,0,0,1,0,0,0,52,8,0,0,212,7,0,0,1,17,0,0,0,0,0,0,68,8,0,0,228,7,0,0,1,17,0,0,1,0,0,0,84,8,0,0,244,7,0,0,193,10,0,0,0,0,0,0,100,8,0,0,4,8,0,0,193,10,0,0,1,0,0,0,116,8,0,0,20,8,0,0,193,9,0,0,0,0,0,0,132,8,0,0,36,8,0,0,193,9,0,0,1,0,0,0,148,8,0,0,52,8,0,0,161,8,0,0,0,0,0,0,164,8,0,0,68,8,0,0,161,8,0,0,1,0,0,0,180,8,0,0,84,8,0,0,33,5,0,0,0,0,0,0,196,8,0,0,100,8,0,0,33,5,0,0,1,0,0,0,212,8,0,0,116,8,0,0,65,4,0,0,0,0,0,0,228,8,0,0,132,8,0,0,65,4,0,0,1,0,0,0,244,8,0,0,148,8,0,0,161,2,0,0,0,0,0,0,4,9,0,0,164,8,0,0,161,2,0,0,1,0,0,0,20,9,0,0,180,8,0,0,33,2,0,0,0,0,0,0,36,9,0,0,196,8,0,0,33,2,0,0,1,0,0,0,52,9,0,0,212,8,0,0,65,1,0,0,0,0,0,0,68,9,0,0,228,8,0,0,65,1,0,0,1,0,0,0,84,9,0,0,244,8,0,0,17,1,0,0,0,0,0,0,100,9,0,0,4,9,0,0,17,1,0,0,1,0,0,0,116,9,0,0,20,9,0,0,133,0,0,0,0,0,0,0,132,9,0,0,36,9,0,0,133,0,0,0,1,0,0,0,148,9,0,0,52,9,0,0,73,0,0,0,0,0,0,0,164,9,0,0,68,9,0,0,73,0,0,0,1,0,0,0,180,9,0,0,84,9,0,0,37,0,0,0,0,0,0,0,196,9,0,0,100,9,0,0,37,0,0,0,1,0,0,0,212,9,0,0,116,9,0,0,21,0,0,0,0,0,0,0,228,9,0,0,132,9,0,0,21,0,0,0,1,0,0,0,244,9,0,0,148,9,0,0,9,0,0,0,0,0,0,0,4,10,0,0,164,9,0,0,9,0,0,0,1,0,0,0,20,10,0,0,180,9,0,0,5,0,0,0,0,0,0,0,36,10,0,0,196,9,0,0,5,0,0,0,1,0,0,0,52,10,0,0,212,9,0,0,1,0,0,0,0,0,0,0,36,10,0,0,228,9,0,0,1,0,0,0,1,0,0,0,52,10,0,0,244,9,0,0,1,86,0,0,0,0,0,0,68,10,0,0,68,10,0,0,1,86,0,0,1,0,0,0,84,10,0,0,84,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,11,0,0,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,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,2,0,0,0,3,0,0,0,38,94,0,0,0,4,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,10,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,64,4,32,0,32,2,128,0,128,8,16,0,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,0,3,128,4,0,6,128,7,0,9,128,10,0,12,128,13,0,15,128,16,0,18,128,19,0,21,128,22,0,24,128,25,0,27,128,28,0,30,128,31,0,33,128,34,0,36,128,37,0,39,128,40,0,42,128,43,0,45,128,46,0,48,128,49,0,51,128,52,0,54,128,55,0,57,128,58,0,60,128,61,0,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,0,81,128,82,0,84,128,85,0,87,128,88,0,90,128,91,0,93,128,94,0,96,128,97,0,99,128,100,0,102,128,103,0,105,128,106,0,108,128,109,0,111,128,112,0,114,128,115,0,117,128,118,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,128,38,128,39,128,40,128,41,0,43,0,44,0,45,128,46,128,47,0,49,0,50,128,51,128,52,0,54,0,55,128,56,0,58,0,59,128,60,0,62,128,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,128,81,0,83,128,84,0,86,0,88,128,89,0,91,0,93,128,94,128,96,0,98,0,100,128,101,128,103,0,105,0,107,0,109,128,110,128,112,128,114,128,116,0,118,0,120,0,122,0,124,0,126,0,24,128,23,0,23,128,22,0,22,128,21,0,21,128,20,0,20,128,19,0,19,128,18,0,18,128,17,0,17,128,16,0,16,128,15,0,15,128,14,0,14,128,13,0,13,128,12,0,12,128,11,0,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,0,5,128,4,0,4,128,3,0,3,128,2,0,2,128,1,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,1,128,1,0,2,128,2,0,3,128,3,0,4,128,4,0,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,0,11,128,11,0,12,128,12,0,13,128,13,0,14,128,14,0,15,128,15,0,16,128,16,0,17,128,17,0,18,128,18,0,19,128,19,0,20,128,20,0,21,128,21,0,22,128,22,0,23,128,23,0,32,0,31,0,30,0,29,0,28,0,27,128,26,128,25,128,24,128,23,0,23,0,22,0,21,128,20,128,19,0,19,0,18,128,17,128,16,0,16,0,15,128,14,0,14,0,13,128,12,0,12,128,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,128,5,0,5,128,4,0,4,0,4,128,3,0,3,0,3,128,2,128,2,0,2,0,2,128,1,128,1,0,1,0,1,0,1,128,0,128,0,128,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,116,104,101,32,100,101,99,111,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,104,101,97,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,33,0,91,69,82,82,79,82,93,32,37,115,0,83,116,114,101,97,109,32,114,101,97,99,104,101,100,32,105,116,115,32,101,110,100,32,33,10,0,69,114,114,111,114,32,111,110,32,119,114,105,116,105,110,103,32,115,116,114,101,97,109,33,10,0,83,116,114,101,97,109,32,101,114,114,111,114,33,10,0,50,46,49,46,48,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,115,101,116,117,112,95,100,101,99,111,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,114,101,97,100,95,104,101,97,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,119,98,0,114,98,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,44,37,100,93,10,0,68,101,112,114,101,99,97,116,101,100,32,102,105,101,108,100,115,32,99,112,95,99,105,110,101,109,97,32,111,114,32,99,112,95,114,115,105,122,32,97,114,101,32,117,115,101,100,10,80,108,101,97,115,101,32,99,111,110,115,105,100,101,114,32,117,115,105,110,103,32,111,110,108,121,32,116,104,101,32,114,115,105,122,32,102,105,101,108,100,10,83,101,101,32,111,112,101,110,106,112,101,103,46,104,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,10,0,84,104,101,32,100,101,115,105,114,101,100,32,109,97,120,105,109,117,109,32,99,111,100,101,115,116,114,101,97,109,32,115,105,122,101,32,104,97,115,32,108,105,109,105,116,101,100,10,97,116,32,108,101,97,115,116,32,111,110,101,32,111,102,32,116,104,101,32,100,101,115,105,114,101,100,32,113,117,97,108,105,116,121,32,108,97,121,101,114,115,10,0,74,80,69,71,32,50,48,48,48,32,83,99,97,108,97,98,108,101,32,68,105,103,105,116,97,108,32,67,105,110,101,109,97,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,49,32,115,105,110,103,108,101,32,113,117,97,108,105,116,121,32,108,97,121,101,114,45,62,32,78,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,45,62,32,82,97,116,101,32,111,102,32,116,104,101,32,108,97,115,116,32,108,97,121,101,114,32,40,37,51,46,49,102,41,32,119,105,108,108,32,98,101,32,117,115,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,60,61,32,53,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,53,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,54,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,51,48,50,48,56,51,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,48,52,49,54,54,54,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,51,32,99,111,109,112,111,110,101,110,116,115,45,62,32,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,115,105,103,110,101,100,0,117,110,115,105,103,110,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,80,114,101,99,105,115,105,111,110,32,111,102,32,101,97,99,104,32,99,111,109,112,111,110,101,110,116,32,115,104,97,108,108,32,98,101,32,49,50,32,98,105,116,115,32,117,110,115,105,103,110,101,100,45,62,32,65,116,32,108,101,97,115,116,32,99,111,109,112,111,110,101,110,116,32,37,100,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,32,98,105,116,115,44,32,37,115,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,50,48,52,56,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,49,48,56,48,10,45,62,32,73,110,112,117,116,32,105,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,52,48,57,54,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,50,49,54,48,10,45,62,32,73,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,52,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,76,111,110,103,32,84,101,114,109,32,83,116,111,114,97,103,101,32,112,114,111,102,105,108,101,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,66,114,111,97,100,99,97,115,116,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,73,77,70,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,97,114,116,45,50,32,112,114,111,102,105,108,101,32,100,101,102,105,110,101,100,10,98,117,116,32,110,111,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,46,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,85,110,115,117,112,112,111,114,116,101,100,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,117,115,101,114,32,101,110,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,37,115,37,115,0,67,114,101,97,116,101,100,32,98,121,32,79,112,101,110,74,80,69,71,32,118,101,114,115,105,111,110,32,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,104,101,99,107,105,110,103,32,116,104,101,32,112,111,99,32,118,97,108,117,101,115,46,10,0,77,105,115,115,105,110,103,32,112,97,99,107,101,116,115,32,112,111,115,115,105,98,108,101,32,108,111,115,115,32,111,102,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,101,109,112,32,98,117,102,102,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,70,97,105,108,101,100,32,116,111,32,105,110,118,101,114,115,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,110,111,114,109,115,32,10,0,70,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,106,50,107,32,109,99,116,32,101,110,99,111,100,105,110,103,10,0,67,97,110,110,111,116,32,112,101,114,102,111,114,109,32,77,67,84,32,111,110,32,99,111,109,112,111,110,101,110,116,115,32,119,105,116,104,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,46,32,68,105,115,97,98,108,105,110,103,32,77,67,84,46,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,10,0,73,110,99,111,110,115,105,115,116,101,110,116,32,109,97,114,107,101,114,32,115,105,122,101,10,0,77,97,114,107,101,114,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,32,119,105,116,104,32,105,116,115,32,112,111,115,105,116,105,111,110,10,0,77,97,114,107,101,114,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,104,101,97,100,101,114,10,0,78,111,116,32,115,117,114,101,32,104,111,119,32,116,104,97,116,32,104,97,112,112,101,110,101,100,46,10,0,70,97,105,108,32,116,111,32,114,101,97,100,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,40,37,35,120,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,116,108,32,109,97,114,107,101,114,10,0,84,105,108,101,32,112,97,114,116,32,108,101,110,103,116,104,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,79,84,32,109,97,114,107,101,114,10,0,111,112,106,95,106,50,107,95,97,112,112,108,121,95,110,98,95,116,105,108,101,95,112,97,114,116,115,95,99,111,114,114,101,99,116,105,111,110,32,101,114,114,111,114,10,0,78,111,110,32,99,111,110,102,111,114,109,97,110,116,32,99,111,100,101,115,116,114,101,97,109,32,84,80,115,111,116,61,61,84,78,115,111,116,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,84,32,109,97,114,107,101,114,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,84,32,100,97,116,97,10,0,67,97,110,110,111,116,32,100,101,99,111,100,101,32,116,105,108,101,44,32,109,101,109,111,114,121,32,101,114,114,111,114,10,0,72,101,97,100,101,114,32,111,102,32,116,105,108,101,32,37,100,32,47,32,37,100,32,104,97,115,32,98,101,101,110,32,114,101,97,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,46,10,0,78,111,32,69,79,67,32,109,97,114,107,101,114,46,32,80,111,115,115,105,98,108,121,32,97,32,116,114,117,110,99,97,116,101,100,32,115,116,114,101,97,109,10,0,83,116,114,101,97,109,32,100,111,101,115,32,110,111,116,32,101,110,100,32,119,105,116,104,32,69,79,67,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,44,32,101,120,112,101,99,116,101,100,32,83,79,84,10,0,78,101,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,98,101,102,111,114,101,32,98,101,103,105,110,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,99,111,100,101,115,116,114,101,97,109,0,78,111,32,100,101,99,111,100,101,100,32,97,114,101,97,32,112,97,114,97,109,101,116,101,114,115,44,32,115,101,116,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,116,111,32,116,104,101,32,119,104,111,108,101,32,105,109,97,103,101,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,83,105,122,101,32,120,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,119,61,37,100,41,46,10,0,83,105,122,101,32,121,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,104,61,37,100,41,46,10,0,83,101,116,116,105,110,103,32,100,101,99,111,100,105,110,103,32,97,114,101,97,32,116,111,32,37,100,44,37,100,44,37,100,44,37,100,10,0,87,114,111,110,103,32,102,108,97,103,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,102,111,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,116,120,48,61,37,100,44,32,116,121,48,61,37,100,10,0,9,32,116,100,120,61,37,100,44,32,116,100,121,61,37,100,10,0,9,32,116,119,61,37,100,44,32,116,104,61,37,100,10,0,125,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,100,101,120,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,77,97,105,110,32,104,101,97,100,101,114,32,115,116,97,114,116,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,9,32,77,97,105,110,32,104,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([97,100,101,114,32,101,110,100,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,0,9,32,77,97,114,107,101,114,32,108,105,115,116,58,32,123,10,0,9,9,32,116,121,112,101,61,37,35,120,44,32,112,111,115,61,37,108,108,105,44,32,108,101,110,61,37,100,10,0,9,32,125,10,0,9,32,84,105,108,101,32,105,110,100,101,120,58,32,123,10,0,9,9,32,110,98,32,111,102,32,116,105,108,101,45,112,97,114,116,32,105,110,32,116,105,108,101,32,91,37,100,93,61,37,100,10,0,9,9,9,32,116,105,108,101,45,112,97,114,116,91,37,100,93,58,32,115,116,97,114,95,112,111,115,61,37,108,108,105,44,32,101,110,100,95,104,101,97,100,101,114,61,37,108,108,105,44,32,101,110,100,95,112,111,115,61,37,108,108,105,46,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,73,109,97,103,101,32,105,110,102,111,32,123,10,0,37,115,32,120,48,61,37,100,44,32,121,48,61,37,100,10,0,37,115,32,120,49,61,37,100,44,32,121,49,61,37,100,10,0,37,115,32,110,117,109,99,111,109,112,115,61,37,100,10,0,37,115,9,32,99,111,109,112,111,110,101,110,116,32,37,100,32,123,10,0,37,115,125,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,99,111,109,112,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,37,115,32,100,120,61,37,100,44,32,100,121,61,37,100,10,0,37,115,32,112,114,101,99,61,37,100,10,0,37,115,32,115,103,110,100,61,37,100,10,0,87,101,32,110,101,101,100,32,97,110,32,105,109,97,103,101,32,112,114,101,118,105,111,117,115,108,121,32,99,114,101,97,116,101,100,46,10,0,84,105,108,101,32,105,110,100,101,120,32,112,114,111,118,105,100,101,100,32,98,121,32,116,104,101,32,117,115,101,114,32,105,115,32,105,110,99,111,114,114,101,99,116,32,37,100,32,40,109,97,120,32,61,32,37,100,41,32,10,0,82,101,115,111,108,117,116,105,111,110,32,102,97,99,116,111,114,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,109,97,120,105,109,117,109,32,114,101,115,111,108,117,116,105,111,110,32,105,110,32,116,104,101,32,99,111,109,112,111,110,101,110,116,46,10,0,84,104,101,32,103,105,118,101,110,32,116,105,108,101,32,105,110,100,101,120,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,46,0,116,105,108,101,32,110,117,109,98,101,114,32,37,100,32,47,32,37,100,10,0,69,114,114,111,114,32,97,108,108,111,99,97,116,105,110,103,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,100,97,116,97,46,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,101,110,99,111,100,101,32,97,108,108,32,116,105,108,101,115,10,0,83,105,122,101,32,109,105,115,109,97,116,99,104,32,98,101,116,119,101,101,110,32,116,105,108,101,32,100,97,116,97,32,97,110,100,32,115,101,110,116,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,105,109,97,103,101,32,104,101,97,100,101,114,46,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,114,101,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,111,115,116,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,105,108,101,32,67,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,66,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,84,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,79,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,116,104,101,32,67,79,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,80,79,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,84,76,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,81,99,100,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,104,101,32,83,73,90,32,109,97,114,107,101,114,10,0,78,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,105,115,32,116,111,111,32,104,105,103,104,32,105,110,32,99,111,109,112,97,114,105,115,111,110,32,116,111,32,116,104,101,32,115,105,122,101,32,111,102,32,116,105,108,101,115,10,0,67,97,110,110,111,116,32,101,110,99,111,100,101,32,116,105,108,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,111,110,101,32,116,105,108,101,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,101,101,107,32,102,117,110,99,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,84,105,108,101,32,37,100,47,37,100,32,104,97,115,32,98,101,101,110,32,100,101,99,111,100,101,100,46,10,0,73,109,97,103,101,32,100,97,116,97,32,104,97,115,32,98,101,101,110,32,117,112,100,97,116,101,100,32,119,105,116,104,32,116,105,108,101,32,37,100,46,10,10,0,84,105,108,101,32,114,101,97,100,44,32,100,101,99,111,100,101,100,32,97,110,100,32,117,112,100,97,116,101,100,32,105,115,32,110,111,116,32,116,104,101,32,100,101,115,105,114,101,100,32,111,110,101,32,40,37,100,32,118,115,32,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,115,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,9,32,100,101,102,97,117,108,116,32,116,105,108,101,32,123,10,0,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,32,112,114,103,61,37,35,120,10,0,9,9,32,110,117,109,108,97,121,101,114,115,61,37,100,10,0,9,9,32,109,99,116,61,37,120,10,0,9,9,32,99,111,109,112,32,37,100,32,123,10,0,9,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,9,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,61,37,100,10,0,9,9,9,32,99,98,108,107,119,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,104,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,115,116,121,61,37,35,120,10,0,9,9,9,32,113,109,102,98,105,100,61,37,100,10,0,9,9,9,32,112,114,101,99,99,105,110,116,115,105,122,101,32,40,119,44,104,41,61,0,40,37,100,44,37,100,41,32,0,9,9,9,32,113,110,116,115,116,121,61,37,100,10,0,9,9,9,32,110,117,109,103,98,105,116,115,61,37,100,10,0,9,9,9,32,115,116,101,112,115,105,122,101,115,32,40,109,44,101,41,61,0,9,9,9,32,114,111,105,115,104,105,102,116,61,37,100,10,0,9,9,32,125,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,79,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,115,116,97,103,101,115,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,100,97,116,97,32,115,112,97,110,110,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,99,111,108,108,101,99,116,105,111,110,115,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,111,116,104,101,114,32,116,104,97,110,32,97,114,114,97,121,32,100,101,99,111,114,114,101,108,97,116,105,111,110,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,32,105,110,100,105,120,32,115,104,117,102,102,108,101,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,111,117,116,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,105,110,100,105,120,101,115,10,0,67,114,114,111,114,32,114,101,97,100,105,110,103,32,67,66,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,99,116,32,100,97,116,97,32,119,105,116,104,105,110,32,109,117,108,116,105,112,108,101,32,77,67,84,32,114,101,99,111,114,100,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,77,67,84,32,109,97,114,107,101,114,115,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,82,71,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,58,32,112,97,99,107,101,116,32,104,101,97,100,101,114,32,104,97,118,101,32,98,101,101,110,32,112,114,101,118,105,111,117,115,108,121,32,102,111,117,110,100,32,105,110,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,40,80,80,77,32,109,97,114,107,101,114,41,46,10,0,90,112,112,116,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,77,32,109,97,114,107,101,114,10,0,90,112,112,109,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,84,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,105,108,108,101,103,97,108,32,45,62,32,37,100,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,110,117,109,98,101,114,32,111,102,32,112,97,114,97,109,101,116,101,114,115,32,40,32,37,100,32,118,115,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,101,103,97,116,105,118,101,32,111,114,32,122,101,114,111,32,105,109,97,103,101,32,115,105,122,101,32,40,37,100,32,120,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,110,118,97,108,105,100,32,116,105,108,101,32,115,105,122,101,32,40,116,100,120,58,32,37,100,44,32,116,100,121,58,32,37,100,41,10,0,80,114,101,118,101,110,116,32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119,32,40,120,49,58,32,37,100,44,32,121,49,58,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,108,108,101,103,97,108,32,116,105,108,101,32,111,102,102,115,101,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,83,73,90,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32,99,111,109,112,32,61,32,37,100,32,58,32,100,120,61,37,117,32,100,121,61,37,117,10,32,40,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,50,53,53,32,97,99,99,111,114,100,105,110,103,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,41,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,115,32,58,32,37,117,32,120,32,37,117,32,40,109,97,120,105,109,117,109,32,102,105,120,101,100,32,98,121,32,106,112,101,103,50,48,48,48,32,110,111,114,109,32,105,115,32,54,53,53,51,53,32,116,105,108,101,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,79,67,32,109,97,114,107,101,114,10,0,84,111,111,32,109,97,110,121,32,80,79,67,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,67,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,58,32,37,100,44,32,114,101,103,97,114,100,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,81,99,100,32,111,114,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,87,104,105,108,101,32,114,101,97,100,105,110,103,32,67,67,80,95,81,78,84,83,84,89,32,101,108,101,109,101,110,116,32,105,110,115,105,100,101,32,81,67,68,32,111,114,32,81,67,67,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,44,32,110,117,109,98,101,114,32,111,102,32,115,117,98,98,97,110,100,115,32,40,37,100,41,32,105,115,32,103,114,101,97,116,101,114,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,46,32,83,111,32,119,101,32,108,105,109,105,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,115,116,111,114,101,100,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,32,97,110,100,32,115,107,105,112,32,116,104,101,32,114,101,115,116,46,32,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,82,71,78,32,109,97,114,107,101,114,10,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,32,105,110,32,82,71,78,32,40,37,100,32,119,104,101,110,32,116,104,101,114,101,32,97,114,101,32,111,110,108,121,32,37,100,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,32,40,98,97,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,102,111,114,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,44,32,109,97,120,32,118,97,108,117,101,32,105,115,32,115,101,116,32,105,110,32,111,112,101,110,106,112,101,103,46,104,32,97,116,32,37,100,10,0,69,114,114,111,114,32,100,101,99,111,100,105,110,103,32,99,111,109,112,111,110,101,110,116,32,37,100,46,10,84,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,116,111,32,114,101,109,111,118,101,32,105,115,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,111,102,32,116,104,105,115,32,99,111,109,112,111,110,101,110,116,10,77,111,100,105,102,121,32,116,104,101,32,99,112,95,114,101,100,117,99,101,32,112,97,114,97,109,101,116,101,114,46,10,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,44,32,73,110,118,97,108,105,100,32,99,98,108,107,119,47,99,98,108,107,104,32,99,111,109,98,105,110,97,116,105,111,110,10,0,73,110,118,97,108,105,100,32,112,114,101,99,105,110,99,116,32,115,105,122,101,10,0,67,79,68,32,109,97,114,107,101,114,32,97,108,114,101,97,100,121,32,114,101,97,100,46,32,78,111,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,67,79,68,32,109,97,114,107,101,114,32,112,101,114,32,116,105,108,101,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,83,99,111,100,32,118,97,108,117,101,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,112,114,111,103,114,101,115,115,105,111,110,32,111,114,100,101,114,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,105,110,32,67,79,68,32,109,97,114,107,101,114,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,45,54,53,53,51,53,93,10,0,73,110,118,97,108,105,100,32,116,105,108,101,32,110,117,109,98,101,114,32,37,100,10,0,69,109,112,116,121,32,83,79,84,32,109,97,114,107,101,114,32,100,101,116,101,99,116,101,100,58,32,80,115,111,116,61,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,105,115,32,110,111,116,32,99,111,114,114,101,99,116,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,58,32,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,108,101,45,112,97,114,116,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,44,32,119,101,32,97,115,115,117,109,105,110,103,32,105,116,32,105,115,32,116,104,101,32,108,97,115,116,32,116,105,108,101,45,112,97,114,116,32,111,102,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,46,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,104,101,97,100,101,114,41,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,83,79,84,32,109,97,114,107,101,114,46,32,84,105,108,101,32,105,110,100,101,120,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,10,0,83,116,97,114,116,32,116,111,32,114,101,97,100,32,106,50,107,32,109,97,105,110,32,104,101,97,100,101,114,32,40,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,109,104,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,97,32,83,79,67,32,109,97,114,107,101,114,32,10,0,65,32,109,97,114,107,101,114,32,73,68,32,119,97,115,32,101,120,112,101,99,116,101,100,32,40,48,120,102,102,45,45,41,32,105,110,115,116,101,97,100,32,111,102,32,37,46,56,120,10,0,85,110,107,110,111,119,110,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,32,109,97,114,107,101,114,32,104,97,118,101,32,98,101,101,110,32,100,101,116,101,99,116,101,100,32,97,110,100,32,103,101,110,101,114,97,116,101,100,32,101,114,114,111,114,46,10,0,77,97,114,107,101,114,32,104,97,110,100,108,101,114,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,10,0,114,101,113,117,105,114,101,100,32,83,73,90,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,67,79,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,81,67,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,98,121,116,101,115,32,116,111,32,114,101,97,100,32,78,112,112,109,10,0,67,111,114,114,117,112,116,101,100,32,80,80,77,32,109,97,114,107,101,114,115,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,77,32,100,97,116,97,10,0,77,97,105,110,32,104,101,97,100,101,114,32,104,97,115,32,98,101,101,110,32,99,111,114,114,101,99,116,108,121,32,100,101,99,111,100,101,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,105,110,32,116,104,101,32,74,80,50,32,102,105,108,101,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,119,104,105,108,101,32,115,101,116,116,105,110,103,32,117,112,32,74,80,50,32,101,110,99,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,104,101,110,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,117,110,107,110,111,119,110,32,101,110,117,109,99,115,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,110,111,116,32,101,110,111,117,103,104,32,105,109,97,103,101,32,99,111,109,112,111,110,101,110,116,115,32,102,111,114,32,97,110,32,97,117,116,111,109,97,116,105,99,32,99,100,101,102,32,98,111,120,32,99,114,101,97,116,105,111,110,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,112,111,115,105,116,105,111,110,32,99,111,110,102,108,105,99,116,115,32,119,105,116,104,32,99,111,108,111,114,32,99,104,97,110,110,101,108,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,77,117,108,116,105,112,108,101,32,97,108,112,104,97,32,99,104,97,110,110,101,108,115,32,115,112,101,99,105,102,105,101,100,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,74,80,50,32,98,111,120,32,119,104,105,99,104,32,97,114,101,32,97,102,116,101,114,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,110,111,116,32,98,101,32,114,101,97,100,32,98,121,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,111,108,100,32,74,80,50,32,72,101,97,100,101,114,32,100,97,116,97,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,102,116,121,112,32,100,97,116,97,10,0,69,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,102,116,121,112,32,100,97,116,97,32,116,111,32,115,116,114,101,97,109,10,0,70,97,105,108,101,100,32,116,111,32,115,101,101,107,32,105,110,32,116,104,101,32,115,116,114,101,97,109,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,102,105,108,101,32,104,101,97,100,101,114,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,115,105,122,101,115,32,104,105,103,104,101,114,32,116,104,97,110,32,50,94,51,50,10,0,98,97,100,32,112,108,97,99,101,100,32,106,112,101,103,32,99,111,100,101,115,116,114,101,97,109,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,117,110,100,101,102,105,110,101,100,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,40,37,120,41,10,0,70,111,117,110,100,32,97,32,109,105,115,112,108,97,99,101,100,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,111,117,116,115,105,100,101,32,106,112,50,104,32,98,111,120,10,0,74,80,69,71,50,48,48,48,32,72,101,97,100,101,114,32,98,111,120,32,110,111,116,32,114,101,97,100,32,121,101,116,44,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,107,105,112,112,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,73,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,102,111,114,32,98,111,120,32,39,37,99,37,99,37,99,37,99,39,46,32,78,101,101,100,32,37,100,32,98,121,116,101,115,44,32,37,100,32,98,121,116,101,115,32,114,101,109,97,105,110,105,110,103,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,98,111,120,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,114,101,97,100,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,102,105,114,115,116,32,98,111,120,32,109,117,115,116,32,98,101,32,74,80,69,71,32,50,48,48,48,32,115,105,103,110,97,116,117,114,101,32,98,111,120,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,115,101,99,111,110,100,32,98,111,120,32,109,117,115,116,32,98,101,32,102,105,108,101,32,116,121,112,101,32,98,111,120,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,68,69,70,32,98,111,120,46,10,0,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,32,100,101,115,99,114,105,112,116,105,111,110,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,32,105,110,32,67,68,69,70,32,98,111,120,46,10,0,78,101,101,100,32,116,111,32,114,101,97,100,32,97,32,80,67,76,82,32,98,111,120,32,98,101,102,111,114,101,32,116,104,101,32,67,77,65,80,32,98,111,120,46,10,0,79,110,108,121,32,111,110,101,32,67,77,65,80,32,98,111,120,32,105,115,32,97,108,108,111,119,101,100,46,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,77,65,80,32,98,111,120,46,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,37,100,32,101,110,116,114,105,101,115,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,48,32,112,97,108,101,116,116,101,32,99,111,108,117,109,110,115,10,0,65,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,108,116,104,111,117,103,104,32,66,80,67,32,103,105,118,101,110,32,98,121,32,116,104,101,32,73,72,68,82,32,98,111,120,32,40,37,100,41,32,105,110,100,105,99,97,116,101,32,99,111,109,112,111,110,101,110,116,115,32,98,105,116,32,100,101,112,116,104,32,105,115,32,99,111,110,115,116,97,110,116,10,0,66,97,100,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,65,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,114,101,97,100,101,114,32,115,104,97,108,108,32,105,103,110,111,114,101,32,97,108,108,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,101,115,32,97,102,116,101,114,32,116,104,101,32,102,105,114,115,116,44,32,115,111,32,119,101,32,105,103,110,111,114,101,32,116,104,105,115,32,111,110,101,46,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,67,73,69,76,97,98,44,32,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,67,79,76,82,32,66,79,88,32,109,101,116,104,32,118,97,108,117,101,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,118,97,108,117,101,32,40,37,100,41,44,32,115,111,32,119,101,32,119,105,108,108,32,105,103,110,111,114,101,32,116,104,101,32,101,110,116,105,114,101,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,46,32,10,0,66,97,100,32,105,109,97,103,101,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,105,109,97,103,101,32,104,101,97,100,101,114,32,40,105,104,100,114,41,10,0,74,80,50,32,73,72,68,82,32,98,111,120,58,32,99,111,109,112,114,101,115,115,105,111,110,32,116,121,112,101,32,105,110,100,105,99,97,116,101,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,97,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,102,105,108,101,32,40,37,100,41,32,10,0,84,104,101,32,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,56,32,98,121,116,101,115,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,88,76,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,49,54,32,98,121,116,101,115,10,0,66,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,98,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,110,111,32,39,105,104,100,114,39,32,98,111,120,46,10,0,84,104,101,32,102,116,121,112,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,115,101,99,111,110,100,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,70,84,89,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,105,116,104,32,70,84,89,80,32,66,111,120,10,0,84,104,101,32,115,105,103,110,97,116,117,114,101,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,83,105,103,110,97,116,117,114,101,32,58,32,98,97,100,32,109,97,103,105,99,32,110,117,109,98,101,114,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,97,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,105,110,100,101,120,32,37,100,32,40,62,61,32,37,100,41,46,10,0,73,110,99,111,109,112,108,101,116,101,32,99,104,97,110,110,101,108,32,100,101,102,105,110,105,116,105,111,110,115,46,10,0,85,110,101,120,112,101,99,116,101,100,32,79,79,77,46,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,47,112,97,108,101,116,116,101,32,105,110,100,101,120,32,102,111,114,32,100,105,114,101,99,116,32,109,97,112,112,105,110,103,32,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,105,115,32,109,97,112,112,101,100,32,116,119,105,99,101,46,10,0,68,105,114,101,99,116,32,117,115,101,32,97,116,32,35,37,100,32,104,111,119,101,118,101,114,32,112,99,111,108,61,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,100,111,101,115,110,39,116,32,104,97,118,101,32,97,32,109,97,112,112,105,110,103,46,10,0,67,111,109,112,111,110,101,110,116,32,109,97,112,112,105,110,103,32,115,101,101,109,115,32,119,114,111,110,103,46,32,84,114,121,105,110,103,32,116,111,32,99,111,114,114,101,99,116,46,10,0,84,105,108,101,115,32,100,111,110,39,116,32,97,108,108,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,100,105,109,101,110,115,105,111,110,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,40,37,100,41,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,97,32,77,67,84,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,116,105,108,101,115,32,114,101,113,117,105,114,101,32,97,116,32,108,101,97,115,116,32,111,110,101,32,114,101,115,111,108,117,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,114,101,115,111,108,117,116,105,111,110,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,98,97,110,100,32,112,114,101,99,105,110,116,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,117,114,114,101,110,116,32,112,114,101,99,105,110,99,116,32,99,111,100,101,98,108,111,99,107,32,101,108,101,109,101,110,116,10,0,78,111,32,105,110,99,108,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,32,105,109,115,98,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,10,0,116,103,116,95,99,114,101,97,116,101,32,116,114,101,101,45,62,110,117,109,110,111,100,101,115,32,61,61,32,48,44,32,110,111,32,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,32,110,111,100,101,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,116,97,103,32,116,114,101,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,97,32,110,101,119,32,118,97,108,105,100,97,116,105,111,110,32,112,114,111,99,101,100,117,114,101,10,0,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,3,3,6,3,6,6,8,3,6,6,8,6,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,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,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,1,1,0,0,1,1,1,0,0,1,0,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,99,117,114,114,101,110,116,32,115,105,122,101,32,40,37,100,32,62,32,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,115,107,105,112,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+25118);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}Module["_i64Subtract"]=_i64Subtract;var _floorf=Math_floor;Module["_bitshift64Ashr"]=_bitshift64Ashr;var _SItoF=true;Module["_memset"]=_memset;var _BDtoILow=true;var _ceilf=Math_ceil;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}Module["_i64Add"]=_i64Add;var _floor=Math_floor;var _sqrt=Math_sqrt;var PATH=undefined;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter((function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}}));if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),xhrLoad:(function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)}),asyncLoad:(function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _llvm_pow_f64=Math_pow;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}var _BItoD=true;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer)___syscall146.buffer=[];var buffer=___syscall146.buffer;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE>2]=d;if((c[a+8>>2]|0)==16)k=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else k=c[a+12>>2]|0;g=(c[a+80>>2]|0)+16|0;h=(c[g>>2]|0)>>>0<257?1:2;j=h+1|0;if(j>>>0>d>>>0){Ub(e,1,14585,m)|0;e=0;i=m;return e|0}c[f>>2]=d-j;qb(b,l,h);d=c[l>>2]|0;if(d>>>0>=(c[g>>2]|0)>>>0){Ub(e,1,14611,m+8|0)|0;e=0;i=m;return e|0}qb(b+h|0,(c[k+5584>>2]|0)+(d*1080|0)|0,1);if(!(Fe(a,c[l>>2]|0,b+j|0,f,e)|0)){Ub(e,1,14585,m+16|0)|0;e=0;i=m;return e|0}if(!(c[f>>2]|0)){e=1;i=m;return e|0}Ub(e,1,14585,m+24|0)|0;e=0;i=m;return e|0}function ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+8|0;f=k+20|0;h=c[(c[a+80>>2]|0)+16>>2]|0;g=h>>>0<257?1:2;if((g+2|0)!=(d|0)){Ub(e,1,14502,k)|0;j=0;i=k;return j|0}if((c[a+8>>2]|0)==16)a=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else a=c[a+12>>2]|0;qb(b,f,g);qb(b+g|0,k+16|0,1);d=c[f>>2]|0;if(d>>>0>>0){qb(b+(g+1)|0,(c[a+5584>>2]|0)+(d*1080|0)+808|0,1);j=1;i=k;return j|0}else{c[j>>2]=d;c[j+4>>2]=h;Ub(e,1,14528,j)|0;j=0;i=k;return j|0}return 0}function he(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+12|0;c[f>>2]=d;if(!(Ee(a,0,b,f,e)|0)){Ub(e,1,14476,h)|0;g=0;i=h;return g|0}if(c[f>>2]|0){Ub(e,1,14476,h+8|0)|0;g=0;i=h;return g|0}if((c[a+8>>2]|0)==16)f=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else f=c[a+12>>2]|0;f=c[f+5584>>2]|0;d=a+80|0;if((c[(c[d>>2]|0)+16>>2]|0)>>>0<=1){g=1;i=h;return g|0}e=f+24|0;a=f+804|0;g=f+28|0;b=1;while(1){c[f+1104>>2]=c[e>>2];c[f+1884>>2]=c[a>>2];Ui(f+1108|0,g|0,776)|0;b=b+1|0;if(b>>>0>=(c[(c[d>>2]|0)+16>>2]|0)>>>0){f=1;break}else f=f+1080|0}i=h;return f|0}function ie(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+32|0;m=o+24|0;l=o+16|0;g=o+8|0;f=o;k=o+40|0;h=o+36|0;c[k>>2]=d;j=a+80|0;do if((c[(c[j>>2]|0)+16>>2]|0)>>>0<257){if(d){qb(b,h,1);g=b+1|0;b=d+-1|0;break}Ub(e,1,14129,f)|0;n=0;i=o;return n|0}else{if(d>>>0>=2){qb(b,h,2);g=b+2|0;b=d+-2|0;break}Ub(e,1,14129,g)|0;n=0;i=o;return n|0}while(0);c[k>>2]=b;f=c[h>>2]|0;b=c[(c[j>>2]|0)+16>>2]|0;if(f>>>0>=b>>>0){c[l>>2]=f;c[l+4>>2]=b;Ub(e,1,14155,l)|0;n=0;i=o;return n|0}if(!(Ee(a,f,g,k,e)|0)){Ub(e,1,14129,m)|0;n=0;i=o;return n|0}if(!(c[k>>2]|0)){n=1;i=o;return n|0}Ub(e,1,14129,n)|0;n=0;i=o;return n|0}function je(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+16|0;h=t+8|0;s=t+12|0;r=c[(c[b+80>>2]|0)+16>>2]|0;q=r>>>0<257?1:2;p=(q<<1)+5|0;g=(e>>>0)/(p>>>0)|0;if((g|0)==0|((e>>>0)%(p>>>0)|0|0)!=0){Ub(f,1,14085,t)|0;s=0;i=t;return s|0}if((c[b+8>>2]|0)==16)p=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else p=c[b+12>>2]|0;e=p+5636|0;b=a[e>>0]|0;if(!(b&4))o=0;else o=(c[p+420>>2]|0)+1|0;n=o+g|0;if(n>>>0>31){c[h>>2]=n;Ub(f,1,14111,h)|0;s=0;i=t;return s|0}a[e>>0]=b|4;if(o>>>0>>0){f=q+1|0;m=p+8|0;h=q+3|0;j=q|4;k=j+q|0;l=k+1|0;b=d;g=o;e=p+424+(o*148|0)|0;while(1){qb(b,e,1);qb(b+1|0,e+4|0,q);d=e+8|0;qb(b+f|0,d,2);u=c[d>>2]|0;o=c[m>>2]|0;c[d>>2]=u>>>0>>0?u:o;qb(b+h|0,e+12|0,1);d=e+16|0;qb(b+j|0,d,q);qb(b+k|0,s,1);c[e+36>>2]=c[s>>2];o=c[d>>2]|0;c[d>>2]=o>>>0>>0?o:r;g=g+1|0;if(g>>>0>=n>>>0)break;else{b=b+l|0;e=e+148|0}}}c[p+420>>2]=n+-1;u=1;i=t;return u|0}function ke(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+144|0;L=M+128|0;H=M+120|0;G=M+112|0;F=M+104|0;E=M+96|0;D=M+88|0;A=M+72|0;t=M+64|0;r=M+56|0;q=M+48|0;p=M+40|0;s=M+32|0;l=M+24|0;j=M+16|0;h=M+136|0;w=M+132|0;J=c[d+80>>2]|0;K=d+88|0;if(f>>>0<36){Ub(g,1,13440,M)|0;g=0;i=M;return g|0}I=f+-36|0;o=(I>>>0)/3|0;if((I>>>0)%3|0){Ub(g,1,13440,M+8|0)|0;g=0;i=M;return g|0}qb(e,h,2);b[K>>1]=c[h>>2];x=J+8|0;qb(e+2|0,x,4);B=J+12|0;qb(e+6|0,B,4);qb(e+10|0,J,4);n=J+4|0;qb(e+14|0,n,4);v=d+100|0;qb(e+18|0,v,4);z=d+104|0;qb(e+22|0,z,4);u=d+92|0;qb(e+26|0,u,4);y=d+96|0;qb(e+30|0,y,4);qb(e+34|0,h,2);k=e+36|0;f=c[h>>2]|0;if(f>>>0>=16385){c[j>>2]=f;Ub(g,1,13468,j)|0;g=0;i=M;return g|0}f=f&65535;I=J+16|0;c[I>>2]=f;if((f|0)!=(o|0)){c[l>>2]=f;c[l+4>>2]=o;Ub(g,1,13529,l)|0;g=0;i=M;return g|0}l=c[J>>2]|0;m=c[x>>2]|0;if(m>>>0>l>>>0){f=c[n>>2]|0;e=c[B>>2]|0;if(f>>>0>>0){h=c[v>>2]|0;j=c[z>>2]|0;if(!(_(j,h)|0)){c[p>>2]=h;c[p+4>>2]=j;Ub(g,1,13705,p)|0;g=0;i=M;return g|0}s=Zi(e|0,0,m|0,0)|0;if(!((s|0)==(_(e,m)|0)&(C|0)==0)){c[q>>2]=m;c[q+4>>2]=e;Ub(g,1,13766,q)|0;g=0;i=M;return g|0}m=c[u>>2]|0;p=Si(m|0,0,h|0,0)|0;q=C;n=c[y>>2]|0;s=Si(n|0,0,j|0,0)|0;if(m>>>0<=l>>>0?n>>>0<=f>>>0&(p|0-q)>>>0>l>>>0&(s|0-C)>>>0>f>>>0:0){e=Qc(o,52)|0;o=J+24|0;c[o>>2]=e;if(!e){c[I>>2]=0;Ub(g,1,13852,t)|0;g=0;i=M;return g|0}a:do if(c[I>>2]|0){l=d+168|0;f=0;j=e;while(1){qb(k,w,1);c[j+24>>2]=(c[w>>2]&127)+1;c[j+32>>2]=(c[w>>2]|0)>>>7;qb(k+1|0,w,1);c[j>>2]=c[w>>2];qb(k+2|0,w,1);h=c[w>>2]|0;c[j+4>>2]=h;e=c[j>>2]|0;if((h+-1|0)>>>0>254|(e+-1|0)>>>0>254)break;c[j+36>>2]=0;c[j+40>>2]=c[l>>2];f=f+1|0;if(f>>>0>=(c[I>>2]|0)>>>0)break a;else{k=k+3|0;j=j+52|0}}c[A>>2]=f;c[A+4>>2]=e;c[A+8>>2]=h;Ub(g,1,13900,A)|0;g=0;i=M;return g|0}while(0);m=c[u>>2]|0;l=c[v>>2]|0;k=((c[x>>2]|0)+-1-m+l|0)/(l|0)|0;c[d+112>>2]=k;j=c[y>>2]|0;h=c[z>>2]|0;e=((c[B>>2]|0)+-1-j+h|0)/(h|0)|0;c[d+116>>2]=e;if(!((e|0)==0|(k|0)==0)?k>>>0<=(65535/(e>>>0)|0)>>>0:0){n=_(k,e)|0;f=d+28|0;if(!(a[d+76>>0]&2)){c[f>>2]=0;c[d+32>>2]=0;c[d+36>>2]=k;c[d+40>>2]=e}else{c[f>>2]=(((c[f>>2]|0)-m|0)>>>0)/(l>>>0)|0;D=d+32|0;c[D>>2]=(((c[D>>2]|0)-j|0)>>>0)/(h>>>0)|0;D=d+36|0;c[D>>2]=((c[D>>2]|0)+-1-m+l|0)/(l|0)|0;D=d+40|0;c[D>>2]=((c[D>>2]|0)+-1-j+h|0)/(h|0)|0}D=Qc(n,5640)|0;k=d+164|0;c[k>>2]=D;if(!D){Ub(g,1,13852,E)|0;g=0;i=M;return g|0}E=Qc(c[I>>2]|0,1080)|0;e=d+12|0;c[(c[e>>2]|0)+5584>>2]=E;if(!E){Ub(g,1,13852,F)|0;g=0;i=M;return g|0}F=Qc(10,20)|0;f=c[e>>2]|0;c[f+5612>>2]=F;if(!F){Ub(g,1,13852,G)|0;g=0;i=M;return g|0}c[f+5620>>2]=10;G=Qc(10,20)|0;f=c[e>>2]|0;c[f+5624>>2]=G;if(!G){Ub(g,1,13852,H)|0;g=0;i=M;return g|0}c[f+5632>>2]=10;j=c[I>>2]|0;if(j){h=c[o>>2]|0;f=f+5584|0;e=0;do{if(!(c[h+(e*52|0)+32>>2]|0))c[(c[f>>2]|0)+(e*1080|0)+1076>>2]=1<<(c[h+(e*52|0)+24>>2]|0)+-1;e=e+1|0}while(e>>>0>>0)}b:do if(n){f=c[k>>2]|0;H=Qc(j,1080)|0;c[f+5584>>2]=H;if(H){e=0;while(1){e=e+1|0;if(e>>>0>=n>>>0)break b;H=Qc(c[I>>2]|0,1080)|0;c[f+11224>>2]=H;if(!H)break;else f=f+5640|0}}Ub(g,1,13852,L)|0;g=0;i=M;return g|0}while(0);c[d+8>>2]=4;_b(J,K);g=1;i=M;return g|0}c[D>>2]=k;c[D+4>>2]=e;Ub(g,1,14002,D)|0;g=0;i=M;return g|0}Ub(g,1,13808,r)|0;g=0;i=M;return g|0}}else{e=c[B>>2]|0;f=c[n>>2]|0}c[s>>2]=m-l;c[s+4>>2]=e-f;Ub(g,1,13643,s)|0;g=0;i=M;return g|0}function le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+32|0;a=f+12|0;if(d>>>0<2){Ub(e,1,13414,f)|0;e=0;i=f;return e|0}qb(b,f+16|0,1);qb(b+1|0,a,1);b=c[a>>2]|0;if(!(((d+-2|0)>>>0)%(((b>>>5&2)+2+(b>>>4&3)|0)>>>0)|0)){e=1;i=f;return e|0}Ub(e,1,13414,f+8|0)|0;e=0;i=f;return e|0}function me(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=i;i=i+16|0;if(!c){Ub(d,1,13388,a)|0;b=0}else b=1;i=a;return b|0}function ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+8|0;h=k+12|0;if(!d){Ub(e,1,13362,k)|0;e=0;i=k;return e|0}qb(b,k+16|0,1);f=d+-1|0;if(!f){e=1;i=k;return e|0}else{g=0;a=0}do{b=b+1|0;qb(b,h,1);d=c[h>>2]|0;if(!(d&128))a=0;else a=(d&127|a)<<7;g=g+1|0}while((g|0)!=(f|0));if(!a){e=1;i=k;return e|0}Ub(e,1,13362,j)|0;e=0;i=k;return e|0}function oe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;o=p+32|0;l=p+24|0;h=p+16|0;g=p+8|0;n=p+36|0;if(e>>>0<2){Ub(f,1,13276,p)|0;o=0;i=p;return o|0}m=b+184|0;a[m>>0]=a[m>>0]|1;qb(d,n,1);m=d+1|0;k=e+-1|0;j=b+124|0;e=c[j>>2]|0;do if(e){g=b+120|0;d=c[n>>2]|0;if((c[g>>2]|0)>>>0<=d>>>0){b=d+1|0;d=Tc(e,b<<3)|0;if(d){c[j>>2]=d;e=c[g>>2]|0;Qi(d+(e<<3)|0,0,b-e<<3|0)|0;c[g>>2]=b;e=c[j>>2]|0;break}Ub(f,1,13302,h)|0;o=0;i=p;return o|0}}else{d=(c[n>>2]|0)+1|0;e=Qc(d,8)|0;c[j>>2]=e;if(e){c[b+120>>2]=d;break}Ub(f,1,13302,g)|0;o=0;i=p;return o|0}while(0);d=c[n>>2]|0;if(c[e+(d<<3)>>2]|0){c[l>>2]=d;Ub(f,1,13340,l)|0;o=0;i=p;return o|0}l=Pc(k)|0;e=c[n>>2]|0;d=c[j>>2]|0;c[d+(e<<3)>>2]=l;if(!l){Ub(f,1,13302,o)|0;o=0;i=p;return o|0}else{c[d+(e<<3)+4>>2]=k;Ui(c[d+(c[n>>2]<<3)>>2]|0,m|0,k|0)|0;o=1;i=p;return o|0}return 0}function pe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+40|0;o=r+32|0;k=r+24|0;j=r+16|0;p=r+44|0;if(e>>>0<2){Ub(f,1,13127,r)|0;q=0;i=r;return q|0}if(a[b+184>>0]&1){Ub(f,1,13153,r+8|0)|0;q=0;i=r;return q|0}h=c[b+200>>2]|0;g=c[b+164>>2]|0;n=g+(h*5640|0)+5636|0;a[n>>0]=a[n>>0]|2;qb(d,p,1);n=d+1|0;m=e+-1|0;l=g+(h*5640|0)+5164|0;d=c[l>>2]|0;do if(d){g=g+(h*5640|0)+5160|0;b=c[p>>2]|0;if((c[g>>2]|0)>>>0<=b>>>0){e=b+1|0;b=Tc(d,e<<3)|0;if(b){c[l>>2]=b;d=c[g>>2]|0;Qi(b+(d<<3)|0,0,e-d<<3|0)|0;c[g>>2]=e;d=c[l>>2]|0;break}Ub(f,1,8775,k)|0;q=0;i=r;return q|0}}else{b=(c[p>>2]|0)+1|0;d=Qc(b,8)|0;c[l>>2]=d;if(d){c[g+(h*5640|0)+5160>>2]=b;break}Ub(f,1,8775,j)|0;q=0;i=r;return q|0}while(0);b=c[p>>2]|0;if(c[d+(b<<3)>>2]|0){c[o>>2]=b;Ub(f,1,13254,o)|0;q=0;i=r;return q|0}o=Pc(m)|0;d=c[p>>2]|0;b=c[l>>2]|0;c[b+(d<<3)>>2]=o;if(!o){Ub(f,1,8775,q)|0;q=0;i=r;return q|0}else{c[b+(d<<3)+4>>2]=m;Ui(c[b+(c[p>>2]<<3)>>2]|0,n|0,m|0)|0;q=1;i=r;return q|0}return 0}function qe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=i;i=i+16|0;if((c[(c[a+80>>2]|0)+16>>2]<<2|0)==(d|0)){e=1;i=b;return e|0}Ub(e,1,13101,b)|0;e=0;i=b;return e|0}function re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 1}function se(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;r=s+40|0;q=s+32|0;l=s+24|0;p=s+44|0;if((c[a+8>>2]|0)==16)j=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else j=c[a+12>>2]|0;if(d>>>0<2){Ub(e,1,12933,s)|0;r=0;i=s;return r|0}qb(b,p,2);if(c[p>>2]|0){Ub(e,2,12959,s+8|0)|0;r=1;i=s;return r|0}if(d>>>0<7){Ub(e,1,12933,s+16|0)|0;r=0;i=s;return r|0}qb(b+2|0,p,2);n=b+4|0;o=c[p>>2]&255;k=j+5612|0;f=c[k>>2]|0;m=j+5616|0;a=c[m>>2]|0;a:do if(!a){g=0;h=f}else{g=0;h=f;do{if((c[h+8>>2]|0)==(o|0))break a;h=h+20|0;g=g+1|0}while(g>>>0>>0)}while(0);if((g|0)==(a|0)){g=j+5620|0;do if((a|0)==(c[g>>2]|0)){a=a+10|0;c[g>>2]=a;a=Tc(f,a*20|0)|0;if(a){c[k>>2]=a;f=c[m>>2]|0;Qi(a+(f*20|0)|0,0,((c[g>>2]|0)-f|0)*20|0)|0;f=c[k>>2]|0;a=c[m>>2]|0;break}Uc(c[k>>2]|0);c[k>>2]=0;c[g>>2]=0;c[m>>2]=0;Ub(e,1,13019,l)|0;r=0;i=s;return r|0}while(0);c[m>>2]=a+1;h=f+(a*20|0)|0}g=h+12|0;a=c[g>>2]|0;if(a){Uc(a);c[g>>2]=0}c[h+8>>2]=o;o=c[p>>2]|0;c[h+4>>2]=o>>>8&3;c[h>>2]=o>>>10&3;qb(n,p,2);if(c[p>>2]|0){Ub(e,2,13057,q)|0;r=1;i=s;return r|0}a=d+-6|0;f=Pc(a)|0;c[g>>2]=f;if(!f){Ub(e,1,12933,r)|0;r=0;i=s;return r|0}else{Ui(f|0,b+6|0,a|0)|0;c[h+16>>2]=a;r=1;i=s;return r|0}return 0}function te(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;h=j+12|0;a=a+80|0;g=c[(c[a>>2]|0)+16>>2]|0;if((g+2|0)!=(d|0)){Ub(e,1,12907,j)|0;h=0;i=j;return h|0}qb(b,f,2);if((c[f>>2]|0)!=(g|0)){Ub(e,1,12907,j+8|0)|0;h=0;i=j;return h|0}if(!g){h=1;i=j;return h|0}f=b+2|0;b=0;a=c[(c[a>>2]|0)+24>>2]|0;while(1){qb(f,h,1);c[a+32>>2]=(c[h>>2]|0)>>>7&1;c[a+24>>2]=(c[h>>2]&127)+1;b=b+1|0;if((b|0)==(g|0)){a=1;break}else{f=f+1|0;a=a+52|0}}i=j;return a|0}function ue(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+144|0;I=J+120|0;H=J+112|0;G=J+104|0;F=J+96|0;E=J+88|0;D=J+80|0;C=J+72|0;B=J+64|0;A=J+56|0;z=J+48|0;p=J+40|0;o=J+32|0;m=J+24|0;x=J+136|0;u=J+132|0;v=J+128|0;w=J+124|0;if((c[b+8>>2]|0)==16)q=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else q=c[b+12>>2]|0;if(e>>>0<2){Ub(f,1,12567,J)|0;I=0;i=J;return I|0}qb(d,x,2);if(c[x>>2]|0){Ub(f,2,12593,J+8|0)|0;I=1;i=J;return I|0}if(e>>>0<7){Ub(f,1,12567,J+16|0)|0;I=0;i=J;return I|0}qb(d+2|0,u,1);n=d+3|0;l=q+5624|0;g=c[l>>2]|0;y=q+5628|0;b=c[y>>2]|0;a:do if(!b){j=0;h=g}else{k=c[u>>2]|0;j=0;h=g;do{if((c[h>>2]|0)==(k|0))break a;h=h+20|0;j=j+1|0}while(j>>>0>>0)}while(0);if((j|0)==(b|0)){h=q+5632|0;do if((b|0)==(c[h>>2]|0)){b=b+10|0;c[h>>2]=b;b=Tc(g,b*20|0)|0;if(b){c[l>>2]=b;g=c[y>>2]|0;Qi(b+(g*20|0)|0,0,((c[h>>2]|0)-g|0)*20|0)|0;g=c[l>>2]|0;b=c[y>>2]|0;break}Uc(c[l>>2]|0);c[l>>2]=0;c[h>>2]=0;c[y>>2]=0;Ub(f,1,12639,m)|0;I=0;i=J;return I|0}while(0);h=g+(b*20|0)|0}c[h>>2]=c[u>>2];qb(n,x,2);if(c[x>>2]|0){Ub(f,2,12593,o)|0;I=1;i=J;return I|0}qb(d+5|0,v,2);g=c[v>>2]|0;if(g>>>0>1){Ub(f,2,12677,p)|0;I=1;i=J;return I|0}b=e+-7|0;b:do if(g){r=h+4|0;s=h+16|0;t=h+8|0;e=h+12|0;p=q+5612|0;o=q+5616|0;m=d+7|0;n=0;c:while(1){if(b>>>0<3){g=27;break}qb(m,x,1);if((c[x>>2]|0)!=1){g=29;break}qb(m+1|0,w,2);g=b+-3|0;j=c[w>>2]|0;k=(j>>>15)+1|0;j=j&32767;c[r>>2]=j;h=(_(k,j)|0)+2|0;if(g>>>0>>0){g=31;break}b=m+3|0;l=g-h|0;if(j){g=0;do{qb(b,x,k);if((c[x>>2]|0)!=(g|0)){g=34;break c}b=b+k|0;g=g+1|0}while(g>>>0<(c[r>>2]|0)>>>0)}qb(b,w,2);g=b+2|0;h=c[w>>2]|0;j=(h>>>15)+1|0;h=h&32767;c[w>>2]=h;if((h|0)!=(c[r>>2]|0)){g=37;break}b=(_(j,h)|0)+3|0;if(l>>>0>>0){g=39;break}b=l-b|0;if(h){h=0;do{qb(g,x,j);if((c[x>>2]|0)!=(h|0)){g=42;break c}g=g+j|0;h=h+1|0}while(h>>>0<(c[r>>2]|0)>>>0)}qb(g,x,3);m=g+3|0;a[s>>0]=((c[x>>2]|0)>>>16^1)&1|a[s>>0]&-2;c[t>>2]=0;c[e>>2]=0;l=c[x>>2]|0;h=l&255;c[u>>2]=h;if(h){j=c[o>>2]|0;if(!j){g=50;break}k=0;g=c[p>>2]|0;while(1){if((c[g+8>>2]|0)==(h|0))break;k=k+1|0;if(k>>>0>=j>>>0){g=50;break c}else g=g+20|0}c[t>>2]=g}h=l>>>8&255;c[u>>2]=h;if(h){j=c[o>>2]|0;if(!j){g=57;break}k=0;g=c[p>>2]|0;while(1){if((c[g+8>>2]|0)==(h|0))break;k=k+1|0;if(k>>>0>=j>>>0){g=57;break c}else g=g+20|0}c[e>>2]=g}n=n+1|0;if(n>>>0>=(c[v>>2]|0)>>>0)break b}if((g|0)==27){Ub(f,1,12567,z)|0;I=0;i=J;return I|0}else if((g|0)==29){Ub(f,2,12721,A)|0;I=1;i=J;return I|0}else if((g|0)==31){Ub(f,1,12567,B)|0;I=0;i=J;return I|0}else if((g|0)==34){Ub(f,2,12787,C)|0;I=1;i=J;return I|0}else if((g|0)==37){Ub(f,2,12841,D)|0;I=1;i=J;return I|0}else if((g|0)==39){Ub(f,1,12567,E)|0;I=0;i=J;return I|0}else if((g|0)==42){Ub(f,2,12787,F)|0;I=1;i=J;return I|0}else if((g|0)==50){Ub(f,1,12567,G)|0;I=0;i=J;return I|0}else if((g|0)==57){Ub(f,1,12567,H)|0;I=0;i=J;return I|0}}while(0);if(!b){c[y>>2]=(c[y>>2]|0)+1;I=1;i=J;return I|0}else{Ub(f,1,12567,I)|0;I=0;i=J;return I|0}return 0}function ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;r=s+24|0;q=s+20|0;n=a+80|0;f=c[n>>2]|0;if((c[a+8>>2]|0)==16)g=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else g=c[a+12>>2]|0;if(!d){Ub(e,1,12486,s)|0;r=0;i=s;return r|0}qb(b,q,1);a=c[q>>2]|0;if(a>>>0>1){Ub(e,2,12512,s+8|0)|0;r=1;i=s;return r|0}if((a+1|0)!=(d|0)){Ub(e,2,12486,s+16|0)|0;r=0;i=s;return r|0}m=g+5584|0;a=c[f+16>>2]|0;if(a){d=0;e=c[m>>2]|0;while(1){c[e+1076>>2]=0;d=d+1|0;if(d>>>0>=a>>>0)break;else e=e+1080|0}}l=g+5604|0;a=c[l>>2]|0;if(a){Uc(a);c[l>>2]=0}if(!(c[q>>2]|0)){r=1;i=s;return r|0}k=g+5624|0;h=g+5628|0;j=0;while(1){b=b+1|0;qb(b,r,1);a=c[n>>2]|0;f=c[k>>2]|0;g=c[h>>2]|0;if(((g|0)!=0?!((g|0)==0?1:(c[f>>2]|0)!=(c[r>>2]|0)):0)?(o=c[f+4>>2]|0,p=a+16|0,(o|0)==(c[p>>2]|0)):0){a=c[f+8>>2]|0;if(a){d=_(o,o)|0;g=_(c[1036+(c[a>>2]<<2)>>2]|0,d)|0;if((c[a+16>>2]|0)!=(g|0)){a=0;d=32;break}e=Pc(d<<2)|0;c[l>>2]=e;if(!e){a=0;d=32;break}Xa[c[1052+(c[a>>2]<<2)>>2]&15](c[a+12>>2]|0,e,d)}a=c[f+12>>2]|0;if(a){d=c[p>>2]|0;g=_(d,c[1036+(c[a>>2]<<2)>>2]|0)|0;if((c[a+16>>2]|0)!=(g|0)){a=0;d=32;break}g=Pc(d<<2)|0;if(!g){a=0;d=32;break}Xa[c[1068+(c[a>>2]<<2)>>2]&15](c[a+12>>2]|0,g,d);a=c[p>>2]|0;if(a){d=0;e=g;f=c[m>>2]|0;while(1){c[f+1076>>2]=c[e>>2];d=d+1|0;if((d|0)==(a|0))break;else{e=e+4|0;f=f+1080|0}}}Uc(g)}}j=j+1|0;if(j>>>0>=(c[q>>2]|0)>>>0){a=1;d=32;break}}if((d|0)==32){i=s;return a|0}return 0}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){qb(a,f,2);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+2|0}}i=g;return}function xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){qb(a,f,4);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=g;return}function ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){ub(a,f);c[b>>2]=~~+g[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=h;return}function ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){sb(a,f);c[b>>2]=~~+h[f>>3];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+8|0}}i=g;return}function Ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){qb(a,f,2);g[b>>2]=+((c[f>>2]|0)>>>0);e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+2|0}}i=h;return}function Be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){qb(a,f,4);g[b>>2]=+((c[f>>2]|0)>>>0);e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=h;return}function Ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){ub(a,f);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=g;return}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;if(!c){i=f;return}d=0;while(1){sb(a,e);g[b>>2]=+h[e>>3];d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+8|0}}i=f;return}function Ee(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+8|0;k=n+20|0;if((c[a+8>>2]|0)==16)a=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else a=c[a+12>>2]|0;m=c[a+5584>>2]|0;a=c[e>>2]|0;if(!a){Ub(f,1,14224,n)|0;b=0;i=n;return b|0}c[e>>2]=a+-1;qb(d,k,1);d=d+1|0;g=c[k>>2]&31;j=m+(b*1080|0)+24|0;c[j>>2]=g;c[m+(b*1080|0)+804>>2]=(c[k>>2]|0)>>>5;do if((g|0)==1){a=1;l=8}else{a=(c[e>>2]|0)>>>((g|0)!=0&1);if(a>>>0>97){c[h>>2]=a;c[h+4>>2]=97;c[h+8>>2]=97;Ub(f,2,14260,h)|0;g=c[j>>2]|0}f=(a|0)==0;if(g)if(f){a=0;l=20;break}else{l=8;break}if(!f){g=0;while(1){qb(d,k,1);if(g>>>0<97){c[m+(b*1080|0)+28+(g<<3)>>2]=(c[k>>2]|0)>>>3;c[m+(b*1080|0)+28+(g<<3)+4>>2]=0}g=g+1|0;if((g|0)==(a|0))break;else d=d+1|0}}a=(c[e>>2]|0)-a|0}while(0);if((l|0)==8){g=0;while(1){qb(d,k,2);if(g>>>0<97){c[m+(b*1080|0)+28+(g<<3)>>2]=(c[k>>2]|0)>>>11;c[m+(b*1080|0)+28+(g<<3)+4>>2]=c[k>>2]&2047}g=g+1|0;if((g|0)==(a|0)){l=20;break}else d=d+2|0}}if((l|0)==20)a=(c[e>>2]|0)-(a<<1)|0;c[e>>2]=a;if((c[j>>2]|0)!=1){b=1;i=n;return b|0}a=m+(b*1080|0)+28|0;d=m+(b*1080|0)+32|0;g=1;do{e=(c[a>>2]|0)-(((g+-1|0)>>>0)/3|0)|0;c[m+(b*1080|0)+28+(g<<3)>>2]=(e|0)>0?e:0;c[m+(b*1080|0)+28+(g<<3)+4>>2]=c[d>>2];g=g+1|0}while((g|0)!=97);a=1;i=n;return a|0}function Fe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r+40|0;l=r+32|0;k=r+16|0;j=r+8|0;o=r+44|0;h=a+8|0;if((c[h>>2]|0)==16)g=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else g=c[a+12>>2]|0;m=c[g+5584>>2]|0;if((c[e>>2]|0)>>>0<5){Ub(f,1,14664,r)|0;e=0;i=r;return e|0}n=m+(b*1080|0)+4|0;qb(d,n,1);g=(c[n>>2]|0)+1|0;c[n>>2]=g;if(g>>>0>33){c[j>>2]=g;c[j+4>>2]=33;Ub(f,1,14699,j)|0;e=0;i=r;return e|0}if((c[a+168>>2]|0)>>>0>=g>>>0){c[k>>2]=b;Ub(f,1,14776,k)|0;c[h>>2]=c[h>>2]|32768;e=0;i=r;return e|0}j=m+(b*1080|0)+8|0;qb(d+1|0,j,1);c[j>>2]=(c[j>>2]|0)+2;a=m+(b*1080|0)+12|0;qb(d+2|0,a,1);k=(c[a>>2]|0)+2|0;c[a>>2]=k;j=c[j>>2]|0;if(j>>>0>10|k>>>0>10|(j+k|0)>>>0>12){Ub(f,1,14934,r+24|0)|0;e=0;i=r;return e|0}qb(d+3|0,m+(b*1080|0)+16|0,1);qb(d+4|0,m+(b*1080|0)+20|0,1);h=(c[e>>2]|0)+-5|0;c[e>>2]=h;g=c[n>>2]|0;if(!(c[m+(b*1080|0)>>2]&1)){if(!g){e=1;i=r;return e|0}else g=0;do{c[m+(b*1080|0)+812+(g<<2)>>2]=15;c[m+(b*1080|0)+944+(g<<2)>>2]=15;g=g+1|0}while(g>>>0<(c[n>>2]|0)>>>0);g=1;i=r;return g|0}if(h>>>0>>0){Ub(f,1,14664,l)|0;e=0;i=r;return e|0}do if(!g)g=0;else{a=0;h=d+5|0;while(1){qb(h,o,1);h=h+1|0;g=c[o>>2]|0;if((a|0)!=0?g>>>0<16|(g&15|0)==0:0)break;c[m+(b*1080|0)+812+(a<<2)>>2]=g&15;c[m+(b*1080|0)+944+(a<<2)>>2]=(c[o>>2]|0)>>>4;a=a+1|0;g=c[n>>2]|0;if(a>>>0>=g>>>0){q=22;break}}if((q|0)==22){h=c[e>>2]|0;break}Ub(f,1,15002,p)|0;e=0;i=r;return e|0}while(0);c[e>>2]=h-g;e=1;i=r;return e|0}function Ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){pb(b,~~+g[a>>2]>>>0,2);d=d+1|0;if((d|0)==(c|0))break;else{b=b+2|0;a=a+4|0}}return}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){pb(b,~~+g[a>>2]>>>0,4);d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+4|0}}return}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){tb(b,+g[a>>2]);d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+4|0}}return}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){rb(b,+g[a>>2]);d=d+1|0;if((d|0)==(c|0))break;else{b=b+8|0;a=a+4|0}}return}function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;if(!d){d=0;i=j;return d|0}if(!(ld(c[a>>2]|0,b,d,e)|0)){Ub(e,1,16303,j)|0;d=0;i=j;return d|0}if(c[a+128>>2]|0){d=1;i=j;return d|0}h=a+108|0;if(!(bf(d,h,e)|0)){d=0;i=j;return d|0}b=c[a+48>>2]|0;a:do switch(b|0){case 16:{c[d+20>>2]=1;break}case 17:{c[d+20>>2]=2;break}case 18:{c[d+20>>2]=3;break}case 24:{c[d+20>>2]=4;break}default:{f=d+20|0;if((b|0)==12){c[f>>2]=5;break a}else{c[f>>2]=-1;break a}}}while(0);g=a+120|0;b=c[g>>2]|0;do if(b){if(c[b+12>>2]|0){cf(d,h);break}Uc(c[b+4>>2]|0);Uc(c[(c[g>>2]|0)+8>>2]|0);Uc(c[c[g>>2]>>2]|0);b=c[g>>2]|0;f=c[b+12>>2]|0;if(f){Uc(f);b=c[g>>2]|0}Uc(b);c[g>>2]=0}while(0);if(c[a+116>>2]|0)df(d,h,e);b=c[h>>2]|0;if(!b){d=1;i=j;return d|0}c[d+28>>2]=b;c[d+32>>2]=c[a+112>>2];c[h>>2]=0;d=1;i=j;return d|0}function Le(b,d){b=b|0;d=d|0;Wc(c[b>>2]|0,d);a[b+124>>0]=0;c[b+128>>2]=c[d+8248>>2]&1;return}function Me(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;v=w+64|0;s=w+56|0;o=w+48|0;r=w+40|0;q=w+32|0;p=w+24|0;if(!((a|0)!=0&(d|0)!=0&(e|0)!=0)){d=0;i=w;return d|0}t=e+16|0;if(((c[t>>2]|0)+-1|0)>>>0>16383){Ub(f,1,16352,w)|0;d=0;i=w;return d|0}if(!(Zc(c[a>>2]|0,d,e,f)|0)){d=0;i=w;return d|0}c[a+56>>2]=1785737760;c[a+60>>2]=0;c[a+64>>2]=1;g=Pc(4)|0;h=a+68|0;c[h>>2]=g;if(!g){c[h>>2]=0;Ub(f,1,16421,w+8|0)|0;d=0;i=w;return d|0}c[g>>2]=1785737760;l=c[t>>2]|0;c[a+20>>2]=l;l=Pc(l*12|0)|0;g=a+72|0;c[g>>2]=l;if(!l){c[g>>2]=0;Ub(f,1,16421,w+16|0)|0;d=0;i=w;return d|0}c[a+16>>2]=(c[e+12>>2]|0)-(c[e+4>>2]|0);c[a+12>>2]=(c[e+8>>2]|0)-(c[e>>2]|0);u=e+24|0;m=c[u>>2]|0;j=c[m+24>>2]|0;k=c[m+32>>2]|0;g=a+24|0;c[g>>2]=j+-1+(k<<7);n=c[t>>2]|0;if(n>>>0>1){h=1;do{if((j|0)!=(c[m+(h*52|0)+24>>2]|0))c[g>>2]=255;h=h+1|0}while(h>>>0>>0)}c[a+28>>2]=7;c[a+32>>2]=0;c[a+36>>2]=0;h=(n|0)==0;if(!h?(c[l+8>>2]=j+-1+(k<<7),n>>>0>1):0){g=1;do{c[l+(g*12|0)+8>>2]=(c[m+(g*52|0)+24>>2]|0)+-1+(c[m+(g*52|0)+32>>2]<<7);g=g+1|0}while(g>>>0>>0)}g=a+40|0;a:do if(!(c[e+32>>2]|0)){c[g>>2]=1;switch(c[e+20>>2]|0){case 1:{c[a+48>>2]=16;break a}case 2:{c[a+48>>2]=17;break a}case 3:{c[a+48>>2]=18;break a}default:break a}}else{c[g>>2]=2;c[a+48>>2]=0}while(0);b:do if(!h){h=0;g=0;j=0;do{e=(b[m+(j*52|0)+48>>1]|0)==0;g=(e&1^1)+g|0;h=e?h:j;j=j+1|0}while(j>>>0>>0);j=h;if((g|0)!=1){if(g>>>0<=1)break;Ub(f,2,16717,o)|0;break}switch(c[a+48>>2]|0){case 18:case 16:{h=3;break}case 17:{h=1;break}default:{Ub(f,2,16467,p)|0;break b}}if(n>>>0<(h+1|0)>>>0){Ub(f,2,16541,q)|0;break}if(j>>>0>>0){Ub(f,2,16634,r)|0;break}r=Pc(8)|0;g=a+116|0;c[g>>2]=r;if(!r){Ub(f,1,16782,s)|0;d=0;i=w;return d|0}s=Pc((c[t>>2]|0)*6|0)|0;e=c[g>>2]|0;c[e>>2]=s;if(!s){Ub(f,1,16782,v)|0;d=0;i=w;return d|0}l=c[t>>2]|0;b[e+4>>1]=l;k=c[e>>2]|0;g=0;do{b[k+(g*6|0)>>1]=g;b[k+(g*6|0)+2>>1]=0;v=g;g=g+1|0;b[k+(v*6|0)+4>>1]=g}while((g|0)!=(h|0));if(h>>>0>>0){j=c[u>>2]|0;do{v=(b[j+(h*52|0)+48>>1]|0)==0;b[k+(h*6|0)>>1]=h;g=k+(h*6|0)+2|0;if(v){b[g>>1]=-1;b[k+(h*6|0)+4>>1]=-1}else{b[g>>1]=1;b[(c[e>>2]|0)+(h*6|0)+4>>1]=0}h=h+1|0}while(h>>>0>>0)}}while(0);c[a+52>>2]=0;c[a+44>>2]=0;c[a+96>>2]=c[d+18692>>2];d=1;i=w;return d|0}function Ne(a,b,d){a=a|0;b=b|0;d=d|0;return od(c[a>>2]|0,b,d)|0}function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+8|0;if(!(sg(c[e>>2]|0,52,d)|0)){d=0;return d|0}g=c[e>>2]|0;h=tg(g)|0;e=ug(g)|0;if(h){i=0;f=1;while(1){if(!f)f=0;else f=(Ra[c[e>>2]&63](a,b,d)|0)!=0;i=i+1|0;if((i|0)==(h|0))break;else{e=e+4|0;f=f&1}}vg(g);if(!f){d=0;return d|0}}else vg(g);d=$c(c[a>>2]|0,b,d)|0;return d|0}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+8|0;if(!(sg(c[e>>2]|0,53,d)|0)){d=0;return d|0}if(!(pd(c[a>>2]|0,b,d)|0)){d=0;return d|0}i=c[e>>2]|0;g=tg(i)|0;e=ug(i)|0;if(!g)e=1;else{h=0;f=e;e=1;while(1){if(!e)e=0;else e=(Ra[c[f>>2]&63](a,b,d)|0)!=0;e=e&1;h=h+1|0;if((h|0)==(g|0))break;else f=f+4|0}}vg(i);d=e;return d|0}function Qe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+4|0;if(!(sg(c[f>>2]|0,54,e)|0)){b=0;return b|0}h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){b=0;return b|0}}else vg(h);f=a+8|0;if(!(sg(c[f>>2]|0,55,e)|0)){b=0;return b|0}if(!(sg(c[f>>2]|0,56,e)|0)){b=0;return b|0}if(!(sg(c[f>>2]|0,57,e)|0)){b=0;return b|0}if((c[a+96>>2]|0)!=0?(sg(c[f>>2]|0,58,e)|0)==0:0){b=0;return b|0}if(!(sg(c[f>>2]|0,59,e)|0)){b=0;return b|0}h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){b=0;return b|0}}else vg(h);b=qd(c[a>>2]|0,b,d,e)|0;return b|0}function Re(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;k=b+8|0;if(!(sg(c[k>>2]|0,52,e)|0)){a=0;return a|0}h=c[b+4>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){a=0;return a|0}}else vg(h);h=c[k>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){a=0;return a|0}}else vg(h);a=ad(a,c[b>>2]|0,d,e)|0;return a|0}function Se(a,b,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return cd(c[a>>2]|0,b,d,e,f,g,h,i,j,k,l)|0}function Te(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;return rd(c[a>>2]|0,b,d,e,f,g)|0}function Ue(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;return dd(c[a>>2]|0,b,d,e,f,g)|0}function Ve(a){a=a|0;var b=0,d=0,e=0;if(!a)return;Yc(c[a>>2]|0);c[a>>2]=0;b=a+72|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+68|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+108|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}e=a+116|0;b=c[e>>2]|0;if(b){d=c[b>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b>>2]=0}Uc(b);c[e>>2]=0}e=a+120|0;b=c[e>>2]|0;if(b){d=c[b+12>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+12>>2]=0}d=c[b+4>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+4>>2]=0}d=c[b+8>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+8>>2]=0}d=c[b>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b>>2]=0}Uc(b);c[e>>2]=0}b=a+4|0;d=c[b>>2]|0;if(d){rg(d);c[b>>2]=0}b=a+8|0;d=c[b>>2]|0;if(d){rg(d);c[b>>2]=0}Uc(a);return}function We(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ed(c[a>>2]|0,b,d,e,f,g,h)|0}function Xe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;if(!d){a=0;i=j;return a|0}Ub(e,2,16826,j)|0;if(!(md(c[a>>2]|0,b,d,e,f)|0)){Ub(e,1,16303,j+8|0)|0;a=0;i=j;return a|0}h=a+108|0;if(!(bf(d,h,e)|0)){a=0;i=j;return a|0}f=c[a+48>>2]|0;a:do switch(f|0){case 16:{c[d+20>>2]=1;break}case 17:{c[d+20>>2]=2;break}case 18:{c[d+20>>2]=3;break}case 24:{c[d+20>>2]=4;break}default:{b=d+20|0;if((f|0)==12){c[b>>2]=5;break a}else{c[b>>2]=-1;break a}}}while(0);g=a+120|0;b=c[g>>2]|0;do if(b){if(c[b+12>>2]|0){cf(d,h);break}Uc(c[b+4>>2]|0);Uc(c[(c[g>>2]|0)+8>>2]|0);Uc(c[c[g>>2]>>2]|0);b=c[g>>2]|0;f=c[b+12>>2]|0;if(f){Uc(f);b=c[g>>2]|0}Uc(b);c[g>>2]=0}while(0);if(c[a+116>>2]|0)df(d,h,e);b=c[h>>2]|0;if(!b){a=1;i=j;return a|0}c[d+28>>2]=b;c[d+32>>2]=c[a+112>>2];c[h>>2]=0;a=1;i=j;return a|0}function Ye(b){b=b|0;var d=0;d=Qc(1,136)|0;if(!d)return d|0;if(!b){b=Xc()|0;c[d>>2]=b}else{b=fd()|0;c[d>>2]=b}if(!b){Ve(d);d=0;return d|0}b=d+108|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=0;b=qg()|0;c[d+4>>2]=b;if(!b){Ve(d);d=0;return d|0}b=qg()|0;c[d+8>>2]=b;if(b)return d|0;Ve(d);d=0;return d|0}function Ze(a,b,d){a=a|0;b=b|0;d=d|0;gd(c[a>>2]|0,b,d);return}function _e(a){a=a|0;return kd(c[a>>2]|0)|0}function $e(a){a=a|0;return jd(c[a>>2]|0)|0}function af(a,b,d){a=a|0;b=b|0;d=d|0;return nd(c[a>>2]|0,b,d)|0}function bf(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;A=B+72|0;z=B+64|0;y=B+56|0;x=B+48|0;w=B+40|0;v=B+32|0;u=B+24|0;s=B+16|0;o=B+8|0;n=B;j=c[g+8>>2]|0;a:do if(j){r=c[j>>2]|0;q=b[j+4>>1]|0;j=c[f+16>>2]|0;p=c[g+12>>2]|0;if((p|0)!=0?(c[p+12>>2]|0)!=0:0)g=d[p+18>>0]|0;else g=j;m=q<<16>>16==0;b:do if(!m){l=0;c:while(1){k=l&65535;j=e[r+(k*6|0)>>1]|0;if(j>>>0>=g>>>0){k=15;break}j=b[r+(k*6|0)+4>>1]|0;switch(j<<16>>16){case 0:case -1:break;default:{j=(j&65535)+-1|0;if(j>>>0>=g>>>0){k=18;break c}}}l=l+1<<16>>16;if((l&65535)>=(q&65535))break b}if((k|0)==15){c[n>>2]=j;c[n+4>>2]=g;Ub(h,1,19343,n)|0;h=0;i=B;return h|0}else if((k|0)==18){c[o>>2]=j;c[o+4>>2]=g;Ub(h,1,19343,o)|0;h=0;i=B;return h|0}}while(0);if(!g)j=p;else{d:do if(!m)while(1){g=g+-1|0;j=0;do{if((e[r+((j&65535)*6|0)>>1]|0)==(g|0))break;j=j+1<<16>>16}while((j&65535)<(q&65535));if(j<<16>>16==q<<16>>16)break d;if(!g){j=p;break a}}while(0);Ub(h,1,19380,s)|0;h=0;i=B;return h|0}}else j=c[g+12>>2]|0;while(0);if(!j){h=1;i=B;return h|0}t=c[j+12>>2]|0;if(!t){h=1;i=B;return h|0}p=a[j+18>>0]|0;s=p&255;r=p<<24>>24==0;if(r)j=1;else{l=f+16|0;g=0;m=0;j=1;do{g=e[t+(g<<2)>>1]|0;k=c[l>>2]|0;if(g>>>0>=k>>>0){c[u>>2]=g;c[u+4>>2]=k;Ub(h,1,19343,u)|0;j=0}m=m+1<<16>>16;g=m&65535}while(g>>>0>>0)}q=Qc(s,4)|0;if(!q){Ub(h,1,19413,v)|0;h=0;i=B;return h|0}if(!r){n=0;o=0;do{k=a[t+(n<<2)+3>>0]|0;l=k&255;do if((k&255)<(p&255)){m=q+(l<<2)|0;g=a[t+(n<<2)+2>>0]|0;if((c[m>>2]|0)!=0&g<<24>>24==1){c[x>>2]=l;Ub(h,1,19486,x)|0;j=0;break}if(g<<24>>24!=0|k<<24>>24==0){c[m>>2]=1;break}else{c[y>>2]=n;c[y+4>>2]=l;Ub(h,1,19517,y)|0;j=0;break}}else{c[w>>2]=l;Ub(h,1,19430,w)|0;j=0}while(0);o=o+1<<16>>16;n=o&65535}while(n>>>0>>0);if(!r){g=0;k=0;do{if((c[q+(g<<2)>>2]|0)==0?(a[t+(g<<2)+2>>0]|0)!=0:0){c[z>>2]=g;Ub(h,1,19553,z)|0;j=0}k=k+1<<16>>16;g=k&65535}while(g>>>0>>0)}}if(!j){Uc(q);h=0;i=B;return h|0}e:do if(!((c[f+16>>2]|0)!=1|r)){j=0;g=0;while(1){g=g+1<<16>>16;if(!(c[q+(j<<2)>>2]|0))break;j=g&65535;if(j>>>0>=s>>>0)break e}c[A>>2]=j;Ub(h,2,19591,A)|0;if(!r){j=0;g=0;do{a[t+(j<<2)+2>>0]=1;a[t+(j<<2)+3>>0]=g;g=g+1<<16>>16;j=g&65535}while(j>>>0>>0)}}while(0);Uc(q);h=1;i=B;return h|0}function cf(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=g+12|0;g=c[w>>2]|0;m=c[g+8>>2]|0;o=c[g+4>>2]|0;q=c[g>>2]|0;r=c[g+12>>2]|0;g=a[g+18>>0]|0;s=f+24|0;t=c[s>>2]|0;u=g&255;v=Pc(u*52|0)|0;if(!v)return;n=g<<24>>24==0;if(!n){k=0;l=0;do{g=b[r+(k<<2)>>1]|0;if(!(a[r+(k<<2)+2>>0]|0)){g=g&65535;h=v+(k*52|0)|0;i=t+(g*52|0)|0;j=h+52|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0))}else{g=g&65535;h=v+((d[r+(k<<2)+3>>0]|0)*52|0)|0;i=t+(g*52|0)|0;j=h+52|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0))}j=Pc(_(c[t+(g*52|0)+8>>2]<<2,c[t+(g*52|0)+12>>2]|0)|0)|0;c[v+(k*52|0)+44>>2]=j;if(!j){p=7;break}c[v+(k*52|0)+24>>2]=d[m+k>>0];c[v+(k*52|0)+32>>2]=d[o+k>>0];l=l+1<<16>>16;k=l&65535}while(k>>>0>>0);if((p|0)==7){Uc(v);return}m=(e[(c[w>>2]|0)+16>>1]|0)+-1|0;if(!n){g=0;l=0;do{j=c[t+((e[r+(g<<2)>>1]|0)*52|0)+44>>2]|0;i=d[r+(g<<2)+3>>0]|0;k=_(c[v+(i*52|0)+12>>2]|0,c[v+(i*52|0)+8>>2]|0)|0;if(!(a[r+(g<<2)+2>>0]|0)){g=c[v+(g*52|0)+44>>2]|0;if(k){h=0;do{c[g+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}}else{g=c[v+(i*52|0)+44>>2]|0;if(k){h=0;do{p=c[j+(h<<2)>>2]|0;c[g+(h<<2)>>2]=c[q+((_((p|0)<0?0:(p|0)>(m|0)?m:p,u)|0)+i<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}}l=l+1<<16>>16;g=l&65535}while(g>>>0>>0)}}h=f+16|0;i=c[h>>2]|0;if(i){g=0;j=0;do{g=c[t+(g*52|0)+44>>2]|0;if(g)Uc(g);j=j+1<<16>>16;g=j&65535}while(g>>>0>>0)}Uc(t);c[s>>2]=v;c[h>>2]=u;Uc(c[(c[w>>2]|0)+4>>2]|0);Uc(c[(c[w>>2]|0)+8>>2]|0);Uc(c[c[w>>2]>>2]|0);g=c[w>>2]|0;h=c[g+12>>2]|0;if(h){Uc(h);g=c[w>>2]|0}Uc(g);c[w>>2]=0;return}function df(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;w=y+8|0;v=y;u=y+16|0;x=d+8|0;f=c[x>>2]|0;d=c[f>>2]|0;t=b[f+4>>1]|0;if(t<<16>>16){s=a+16|0;o=a+24|0;q=1;r=0;while(1){p=b[d+(r*6|0)>>1]|0;n=p&65535;a=c[s>>2]|0;a:do if(n>>>0>>0){f=b[d+(r*6|0)+4>>1]|0;switch(f<<16>>16){case -1:case 0:{b[(c[o>>2]|0)+(n*52|0)+48>>1]=b[d+(r*6|0)+2>>1]|0;break a}default:{}}k=(f&65535)+65535|0;m=k&65535;k=k&65535;if(k>>>0>=a>>>0){c[w>>2]=k;c[w+4>>2]=a;Ub(e,2,19302,w)|0;break}l=d+(r*6|0)+2|0;if((n|0)!=(k|0)?(b[l>>1]|0)==0:0){f=c[o>>2]|0;a=f+(n*52|0)|0;g=u;h=a;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));g=a;h=f+(k*52|0)|0;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));g=(c[o>>2]|0)+(k*52|0)|0;h=u;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));if((r+1&65535)<(t&65535)){g=q;do{f=d+(g*6|0)|0;a=b[f>>1]|0;if(a<<16>>16!=p<<16>>16){if(a<<16>>16==m<<16>>16)b[f>>1]=p}else b[f>>1]=m;g=g+1|0}while((g&65535)<<16>>16!=t<<16>>16)}}b[(c[o>>2]|0)+(n*52|0)+48>>1]=b[l>>1]|0}else{c[v>>2]=n;c[v+4>>2]=a;Ub(e,2,19262,v)|0}while(0);r=r+1|0;if((r&65535)<<16>>16==t<<16>>16)break;else q=q+1|0}d=c[x>>2]|0;f=d;d=c[d>>2]|0}if(!d){w=f;Uc(w);c[x>>2]=0;i=y;return}else{Uc(d);w=c[x>>2]|0;Uc(w);c[x>>2]=0;i=y;return}}function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+192|0;y=I+152|0;x=I+144|0;w=I+136|0;v=I+128|0;u=I+120|0;E=I+88|0;s=I+80|0;q=I+64|0;p=I+48|0;G=I+40|0;z=I+32|0;F=I+24|0;t=I+16|0;r=I+8|0;n=I+176|0;o=I+168|0;D=I+156|0;e=Qc(1,1024)|0;if(!e){Ub(d,1,17098,I)|0;H=0;i=I;return H|0}m=n+4|0;A=D+4|0;B=a+100|0;l=1024;a:while(1){if((Mb(b,n,8,d)|0)!=8)break;while(1){qb(n,D,4);qb(m,A,4);switch(c[D>>2]|0){case 0:{f=Qb(b)|0;k=C;if((k|0)>0|(k|0)==0&f>>>0>4294967287){H=6;break a}c[D>>2]=f+8;j=8;break}case 1:{if((Mb(b,n,8,d)|0)!=8)break a;qb(n,o,4);if(c[o>>2]|0){H=10;break a}qb(m,D,4);j=16;break}default:j=8}g=c[A>>2]|0;if((g|0)==1785737827){H=13;break a}f=c[D>>2]|0;if(!f){H=17;break a}if(f>>>0>>0){H=19;break a}if((g|0)==1783636e3){h=1084;g=j;H=22;break}if((g|0)==1718909296){h=1092;g=j;H=22;break}k=(g|0)==1785737832;b:do if((g|0)!=1768449138)if((g|0)!=1668246642)if((g|0)!=1651532643)if((g|0)!=1885564018)if((g|0)!=1668112752){h=(g|0)==1667523942?1148:0;f=f-j|0;if((g|0)<1785737832)switch(g|0){case 1667523942:{H=30;break b}default:{}}else switch(g|0){case 1785737832:{H=30;break b}default:{}}g=c[B>>2]|0;if(!(g&1)){H=45;break a}if(!(g&2)){H=47;break a}c[B>>2]=g|2147483647;k=Rb(b,f,0,d)|0;if(!((k|0)==(f|0)&(C|0)==0)){H=50;break a}}else{h=1140;H=28}else{h=1132;H=28}else{h=1124;H=28}else{h=1116;H=28}else{h=1108;H=28}while(0);if((H|0)==28){f=f-j|0;H=30}if((H|0)==30){H=0;if(k){h=1100;break}c[p>>2]=g>>>24;c[p+4>>2]=g>>>16&255;c[p+8>>2]=g>>>8&255;c[p+12>>2]=g&255;Ub(d,2,17282,p)|0;if(c[B>>2]&4)break;k=c[A>>2]|0;c[q>>2]=k>>>24;c[q+4>>2]=k>>>16&255;c[q+8>>2]=k>>>8&255;c[q+12>>2]=k&255;Ub(d,2,17333,q)|0;c[B>>2]=c[B>>2]|2147483647;k=Rb(b,f,0,d)|0;if(!((k|0)==(f|0)&(C|0)==0)){H=33;break a}}if((Mb(b,n,8,d)|0)!=8)break a}if((H|0)==22){H=0;f=f-g|0}k=Qb(b)|0;j=C;if(0>(j|0)|0==(j|0)&f>>>0>k>>>0){H=35;break}if(f>>>0>l>>>0){g=Tc(e,f)|0;if(!g){H=38;break}else{e=g;g=f}}else g=l;if((Mb(b,e,f,d)|0)!=(f|0)){H=40;break}if(!(Za[c[h+4>>2]&63](a,e,f,d)|0)){H=43;break}else l=g}switch(H|0){case 6:{Ub(d,1,17148,r)|0;break}case 10:{Ub(d,1,17148,t)|0;break}case 13:{f=c[B>>2]|0;if(!(f&4)){Ub(d,1,17190,F)|0;Uc(e);H=0;i=I;return H|0}else{c[B>>2]=f|8;Uc(e);H=1;i=I;return H|0}}case 17:{Ub(d,1,17218,z)|0;Uc(e);H=0;i=I;return H|0}case 19:{c[G>>2]=f;c[G+4>>2]=g;Ub(d,1,17256,G)|0;Uc(e);H=0;i=I;return H|0}case 33:{Ub(d,1,17399,s)|0;Uc(e);H=0;i=I;return H|0}case 35:{F=c[D>>2]|0;G=c[A>>2]|0;H=Qb(b)|0;c[E>>2]=F;c[E+4>>2]=G>>>24;c[E+8>>2]=G>>>16&255;c[E+12>>2]=G>>>8&255;c[E+16>>2]=G&255;c[E+20>>2]=f;c[E+24>>2]=H;Ub(d,1,17449,E)|0;Uc(e);H=0;i=I;return H|0}case 38:{Uc(e);Ub(d,1,17525,u)|0;H=0;i=I;return H|0}case 40:{Ub(d,1,17567,v)|0;Uc(e);H=0;i=I;return H|0}case 43:{Uc(e);H=0;i=I;return H|0}case 45:{Ub(d,1,17616,w)|0;Uc(e);H=0;i=I;return H|0}case 47:{Ub(d,1,17686,x)|0;Uc(e);H=0;i=I;return H|0}case 50:{Ub(d,1,17399,y)|0;Uc(e);H=0;i=I;return H|0}}Uc(e);H=1;i=I;return H|0}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+24|0;e=Pb(b)|0;f=C;a=a+80|0;j=a;j=Oi(e|0,f|0,c[j>>2]|0,c[j+4>>2]|0)|0;pb(g,j,4);pb(g+4|0,1785737827,4);if(!(Sb(b,c[a>>2]|0,c[a+4>>2]|0,d)|0)){Ub(d,1,17067,h)|0;j=0;i=h;return j|0}if((Nb(b,g,8,d)|0)!=8){Ub(d,1,17067,h+8|0)|0;j=0;i=h;return j|0}if(Sb(b,e,f,d)|0){j=1;i=h;return j|0}Ub(d,1,17067,h+16|0)|0;j=0;i=h;return j|0}function gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;d=((c[a>>2]|0)!=0?(c[a+104>>2]|c[a+100>>2]|0)==0:0)&(c[a+8>>2]|0)!=0&(c[a+4>>2]|0)!=0&(c[a+64>>2]|0)!=0&(c[a+16>>2]|0)!=0&(c[a+12>>2]|0)!=0&1;e=c[a+20>>2]|0;if(!e){g=d;a=a+40|0;a=c[a>>2]|0;a=a+-1|0;a=a>>>0<2;a=a&1;b=Tb(b)|0;b=b&g;a=b&a;return a|0}f=c[a+72>>2]|0;g=0;do{d=(c[f+(g*12|0)+8>>2]&126)>>>0<38&d;g=g+1|0}while(g>>>0>>0);a=a+40|0;a=c[a>>2]|0;a=a+-1|0;a=a>>>0<2;a=a&1;b=Tb(b)|0;b=b&d;a=b&a;return a|0}function hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=i;i=i+16|0;d=a;pb(d,12,4);pb(d+4|0,1783636e3,4);pb(d+8|0,218793738,4);c=(Nb(b,d,12,c)|0)==12&1;i=a;return c|0}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+8|0;f=a+64|0;h=(c[f>>2]<<2)+16|0;j=Qc(1,h)|0;if(!j){Ub(d,1,16987,l)|0;k=0;i=l;return k|0}pb(j,h,4);pb(j+4|0,1718909296,4);pb(j+8|0,c[a+56>>2]|0,4);pb(j+12|0,c[a+60>>2]|0,4);g=j+16|0;if(c[f>>2]|0){a=a+68|0;e=0;do{pb(g,c[(c[a>>2]|0)+(e<<2)>>2]|0,4);e=e+1|0}while(e>>>0<(c[f>>2]|0)>>>0)}a=(Nb(b,j,h,d)|0)==(h|0);if(!a)Ub(d,1,17026,k)|0;Uc(j);k=a&1;i=l;return k|0}function kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;o=q+16|0;m=q+8|0;k=q;f=q+24|0;l=q+72|0;e=f;g=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));p=(c[a+24>>2]|0)==255;c[f>>2]=2;e=f+12|0;if(p){c[e>>2]=3;c[f+24>>2]=4;e=3}else{c[e>>2]=4;e=2}if(!(c[a+116>>2]|0))p=e;else{c[f+(e*12|0)>>2]=5;p=e+1|0}pb(l+4|0,1785737832,4);h=0;j=f;e=8;while(1){g=j+8|0;r=_a[c[j>>2]&7](a,g)|0;c[j+4>>2]=r;if(!r){n=8;break}e=(c[g>>2]|0)+e|0;h=h+1|0;if((h|0)>=(p|0))break;else j=j+12|0}if((n|0)==8){Ub(d,1,16901,k)|0;g=0;while(1){e=c[f+4>>2]|0;if(e)Uc(e);g=g+1|0;if((g|0)>=(p|0)){e=0;break}else f=f+12|0}i=q;return e|0}pb(l,e,4);a:do if((Nb(b,l,8,d)|0)==8){e=0;g=f;while(1){r=g+8|0;n=Nb(b,c[g+4>>2]|0,c[r>>2]|0,d)|0;if((n|0)!=(c[r>>2]|0))break;e=e+1|0;if((e|0)>=(p|0)){e=1;break a}else g=g+12|0}Ub(d,1,16944,o)|0;e=0}else{Ub(d,1,16944,m)|0;e=0}while(0);h=0;while(1){g=c[f+4>>2]|0;if(g)Uc(g);h=h+1|0;if((h|0)>=(p|0))break;else f=f+12|0}i=q;return e|0}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Pb(b)|0;a=a+88|0;c[a>>2]=e;c[a+4>>2]=C;b=Rb(b,24,0,d)|0;return (b|0)==24&(C|0)==0&1|0}function mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Pb(b)|0;a=a+80|0;c[a>>2]=e;c[a+4>>2]=C;b=Rb(b,8,0,d)|0;return (b|0)==8&(C|0)==0&1|0}function nf(a,b){a=a|0;b=b|0;var d=0;d=Qc(1,22)|0;if(!d){b=0;return b|0}pb(d,22,4);pb(d+4|0,1768449138,4);pb(d+8|0,c[a+16>>2]|0,4);pb(d+12|0,c[a+12>>2]|0,4);pb(d+16|0,c[a+20>>2]|0,2);pb(d+18|0,c[a+24>>2]|0,1);pb(d+19|0,c[a+28>>2]|0,1);pb(d+20|0,c[a+32>>2]|0,1);pb(d+21|0,c[a+36>>2]|0,1);c[b>>2]=22;b=d;return b|0}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=(c[f>>2]|0)+8|0;h=Qc(1,g)|0;if(!h){b=0;return b|0}pb(h,g,4);pb(h+4|0,1651532643,4);if(c[f>>2]|0){a=a+72|0;d=0;e=h+8|0;while(1){pb(e,c[(c[a>>2]|0)+(d*12|0)+8>>2]|0,1);d=d+1|0;if(d>>>0>=(c[f>>2]|0)>>>0)break;else e=e+1|0}}c[b>>2]=g;b=h;return b|0}function pf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=a+40|0;switch(c[e>>2]|0){case 1:{j=15;break}case 2:{j=(c[a+112>>2]|0)+11|0;break}default:{b=0;return b|0}}i=Qc(1,j)|0;if(!i){b=0;return b|0}pb(i,j,4);pb(i+4|0,1668246642,4);pb(i+8|0,c[e>>2]|0,1);pb(i+9|0,c[a+52>>2]|0,1);pb(i+10|0,c[a+44>>2]|0,1);g=i+11|0;switch(c[e>>2]|0){case 1:{pb(g,c[a+48>>2]|0,4);break}case 2:{h=a+112|0;if(c[h>>2]|0){a=a+108|0;f=0;e=g;while(1){pb(e,d[(c[a>>2]|0)+f>>0]|0,1);f=f+1|0;if(f>>>0>=(c[h>>2]|0)>>>0)break;else e=e+1|0}}break}default:{}}c[b>>2]=j;b=i;return b|0}function qf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=a+116|0;j=((e[(c[i>>2]|0)+4>>1]|0)*6|0)+10|0;k=Pc(j)|0;if(!k){d=0;return d|0}pb(k,j,4);pb(k+4|0,1667523942,4);pb(k+8|0,e[(c[i>>2]|0)+4>>1]|0,2);a=c[i>>2]|0;if(b[a+4>>1]|0){g=0;f=0;h=k+10|0;while(1){pb(h,e[(c[a>>2]|0)+(g*6|0)>>1]|0,2);pb(h+2|0,e[(c[c[i>>2]>>2]|0)+(g*6|0)+2>>1]|0,2);pb(h+4|0,e[(c[c[i>>2]>>2]|0)+(g*6|0)+4>>1]|0,2);f=f+1<<16>>16;a=c[i>>2]|0;if((f&65535)>=(e[a+4>>1]|0))break;else{g=f&65535;h=h+6|0}}}c[d>>2]=j;d=k;return d|0}function rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+32|0;f=g+16|0;if((d|0)!=14){Ub(e,1,18507,g)|0;f=0;i=g;return f|0}qb(b,a+16|0,4);qb(b+4|0,a+12|0,4);d=a+20|0;qb(b+8|0,d,2);d=Qc(c[d>>2]|0,12)|0;c[a+72>>2]=d;if(!d){Ub(e,1,18540,g+8|0)|0;f=0;i=g;return f|0}qb(b+10|0,a+24|0,1);d=a+28|0;qb(b+11|0,d,1);d=c[d>>2]|0;if((d|0)!=7){c[f>>2]=d;Ub(e,4,18589,f)|0}qb(b+12|0,a+32|0,1);qb(b+13|0,a+36|0,1);f=1;i=g;return f|0}function sf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;j=x+40|0;t=x+32|0;l=x+24|0;k=x+16|0;u=x+72|0;s=x+68|0;p=x+64|0;q=x+60|0;n=x+56|0;r=x+52|0;o=x+48|0;m=x+44|0;if(e>>>0<3){Ub(f,1,18180,x)|0;w=0;i=x;return w|0}v=b+108|0;w=b+124|0;if(a[w>>0]|0){Ub(f,4,18212,x+8|0)|0;w=1;i=x;return w|0}h=b+40|0;qb(d,h,1);qb(d+1|0,b+52|0,1);qb(d+2|0,b+44|0,1);g=d+3|0;h=c[h>>2]|0;switch(h|0){case 1:{if(e>>>0<7){c[k>>2]=e;Ub(f,1,18321,k)|0;w=0;i=x;return w|0}h=b+48|0;if(e>>>0>7?(c[h>>2]|0)!=14:0){c[l>>2]=e;Ub(f,2,18321,l)|0}qb(g,h,4);if((c[h>>2]|0)==14){g=Pc(36)|0;c[g>>2]=14;c[o>>2]=0;c[n>>2]=0;c[p>>2]=0;c[r>>2]=0;c[q>>2]=0;c[s>>2]=0;c[m>>2]=4470064;h=g+4|0;c[h>>2]=1145390592;switch(e|0){case 35:{qb(d+7|0,s,4);qb(d+11|0,p,4);qb(d+15|0,q,4);qb(d+19|0,n,4);qb(d+23|0,r,4);qb(d+27|0,o,4);qb(d+31|0,m,4);c[h>>2]=0;break}case 7:break;default:{c[t>>2]=e;Ub(f,2,18357,t)|0}}c[g+8>>2]=c[s>>2];c[g+16>>2]=c[q>>2];c[g+24>>2]=c[r>>2];c[g+12>>2]=c[p>>2];c[g+20>>2]=c[n>>2];c[g+28>>2]=c[o>>2];c[g+32>>2]=c[m>>2];c[v>>2]=g;c[b+112>>2]=0}a[w>>0]=1;w=1;i=x;return w|0}case 2:{j=e+-3|0;h=b+112|0;c[h>>2]=j;b=Qc(1,j)|0;c[v>>2]=b;if(!b){c[h>>2]=0;w=0;i=x;return w|0}if((e|0)>3){h=0;while(1){qb(g,u,1);a[(c[v>>2]|0)+h>>0]=c[u>>2];h=h+1|0;if((h|0)==(j|0))break;else g=g+1|0}}a[w>>0]=1;w=1;i=x;return w|0}default:{if(h>>>0<=2){w=1;i=x;return w|0}c[j>>2]=h;Ub(f,4,18401,j)|0;w=1;i=x;return w|0}}return 0}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j;f=c[a+24>>2]|0;if((f|0)!=255){c[g>>2]=f;Ub(e,2,18034,g)|0}h=a+20|0;if((c[h>>2]|0)!=(d|0)){Ub(e,1,18148,j+8|0)|0;h=0;i=j;return h|0}if(!d){h=1;i=j;return h|0}g=a+72|0;f=0;while(1){qb(b,(c[g>>2]|0)+(f*12|0)+8|0,1);f=f+1|0;if(f>>>0>=(c[h>>2]|0)>>>0){b=1;break}else b=b+1|0}i=j;return b|0}function uf(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+16|0;j=r;q=r+12|0;k=e+120|0;if(g>>>0<3|(c[k>>2]|0)!=0){g=0;i=r;return g|0}qb(f,q,2);l=c[q>>2]|0;p=l&65535;if((p+-1|0)>>>0>1023){c[j>>2]=p;Ub(h,1,17951,j)|0;g=0;i=r;return g|0}qb(f+2|0,q,1);o=c[q>>2]&65535;if(!o){Ub(h,1,17989,r+8|0)|0;g=0;i=r;return g|0}if((o+3|0)>>>0>g>>>0){g=0;i=r;return g|0}j=Pc(_(p<<2,o)|0)|0;if(!j){g=0;i=r;return g|0}n=Pc(o)|0;if(!n){Uc(j);g=0;i=r;return g|0}m=Pc(o)|0;if(!m){Uc(j);Uc(n);g=0;i=r;return g|0}e=Pc(20)|0;if(!e){Uc(j);Uc(n);Uc(m);g=0;i=r;return g|0}c[e+4>>2]=m;c[e+8>>2]=n;c[e>>2]=j;b[e+16>>1]=l;a[e+18>>0]=c[q>>2];c[e+12>>2]=0;c[k>>2]=e;e=f+3|0;h=0;k=0;do{qb(e,q,1);e=e+1|0;a[n+h>>0]=(c[q>>2]&127)+1;a[m+h>>0]=(c[q>>2]|0)>>>7&1;k=k+1<<16>>16;h=k&65535}while(h>>>0>>0);if(!p){g=1;i=r;return g|0}h=0;a:while(1){l=0;k=j;m=0;while(1){j=((d[n+l>>0]|0)+7|0)>>>3;j=j>>>0>4?4:j;if((e-f+j|0)>(g|0)){e=0;j=22;break a}qb(e,q,j);e=e+j|0;c[k>>2]=c[q>>2];j=k+4|0;m=m+1<<16>>16;l=m&65535;if(l>>>0>=o>>>0)break;else k=j}h=h+1<<16>>16;if((h&65535)>>>0>=p>>>0){e=1;j=22;break}}if((j|0)==22){i=r;return e|0}return 0}function vf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+20|0;j=d+120|0;d=c[j>>2]|0;if(!d){Ub(g,1,17841,l)|0;k=0;i=l;return k|0}if(c[d+12>>2]|0){Ub(g,1,17887,l+8|0)|0;k=0;i=l;return k|0}h=a[d+18>>0]|0;d=(h&255)<<2;if(d>>>0>f>>>0){Ub(g,1,17918,l+16|0)|0;k=0;i=l;return k|0}g=Pc(d)|0;if(!g){k=0;i=l;return k|0}if(h<<24>>24){d=e;f=0;while(1){qb(d,k,2);b[g+(f<<2)>>1]=c[k>>2];qb(d+2|0,k,1);a[g+(f<<2)+2>>0]=c[k>>2];qb(d+3|0,k,1);a[g+(f<<2)+3>>0]=c[k>>2];f=f+1|0;if((f&255)<<24>>24==h<<24>>24)break;else d=d+4|0}}c[(c[j>>2]|0)+12>>2]=g;k=1;i=l;return k|0}function wf(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+20|0;j=a+116|0;if(c[j>>2]|0){k=0;i=l;return k|0}if(f>>>0<2){Ub(g,1,17747,l)|0;k=0;i=l;return k|0}qb(d,k,2);a=c[k>>2]|0;h=a&65535;if(!h){Ub(g,1,17780,l+8|0)|0;k=0;i=l;return k|0}if(((h*6|0)+2|0)>>>0>f>>>0){Ub(g,1,17747,l+16|0)|0;k=0;i=l;return k|0}f=Pc(a*6|0)|0;if(!f){k=0;i=l;return k|0}a=Pc(8)|0;c[j>>2]=a;if(!a){Uc(f);k=0;i=l;return k|0}c[a>>2]=f;g=c[k>>2]&65535;b[a+4>>1]=g;if(!(g<<16>>16)){k=1;i=l;return k|0}else{h=0;a=d}do{d=h&65535;qb(a+2|0,k,2);b[f+(d*6|0)>>1]=c[k>>2];qb(a+4|0,k,2);a=a+6|0;b[f+(d*6|0)+2>>1]=c[k>>2];qb(a,k,2);b[f+(d*6|0)+4>>1]=c[k>>2];h=h+1<<16>>16}while((h&65535)<(e[(c[j>>2]|0)+4>>1]|0));a=1;i=l;return a|0}function xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+32|0;f=g+20|0;a=a+100|0;if(c[a>>2]|0){Ub(e,1,19130,g)|0;e=0;i=g;return e|0}if((d|0)!=4){Ub(e,1,19184,g+8|0)|0;e=0;i=g;return e|0}qb(b,f,4);if((c[f>>2]|0)==218793738){c[a>>2]=c[a>>2]|1;e=1;i=g;return e|0}else{Ub(e,1,19218,g+16|0)|0;e=0;i=g;return e|0}return 0}function yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+32|0;g=j+24|0;h=a+100|0;if((c[h>>2]|0)!=1){Ub(e,1,19011,j)|0;h=0;i=j;return h|0}if(d>>>0<8){Ub(e,1,19061,j+8|0)|0;h=0;i=j;return h|0}qb(b,a+56|0,4);qb(b+4|0,a+60|0,4);b=b+8|0;d=d+-8|0;if(d&3){Ub(e,1,19061,j+16|0)|0;h=0;i=j;return h|0}d=d>>>2;f=a+64|0;c[f>>2]=d;if(d){d=Qc(d,4)|0;c[a+68>>2]=d;if(!d){Ub(e,1,19097,g)|0;h=0;i=j;return h|0}if(c[f>>2]|0){a=a+68|0;d=0;while(1){qb(b,(c[a>>2]|0)+(d<<2)|0,4);d=d+1|0;if(d>>>0>=(c[f>>2]|0)>>>0)break;else b=b+4|0}}}c[h>>2]=c[h>>2]|2;h=1;i=j;return h|0}function zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+96|0;y=A+72|0;s=A+64|0;r=A+56|0;q=A+48|0;w=A+40|0;v=A+32|0;u=A+24|0;t=A+16|0;p=A+8|0;n=A+80|0;o=A+76|0;x=a+100|0;if(!(c[x>>2]&2)){Ub(e,1,18679,A)|0;z=0;i=A;return z|0}m=a+104|0;c[m>>2]=0;do if(d){k=b;b=0;a:while(1){if(d>>>0<8){z=6;break}qb(k,n,4);f=c[n>>2]|0;qb(k+4|0,n,4);j=c[n>>2]|0;switch(f|0){case 0:{z=14;break a}case 1:{if(d>>>0<16){z=9;break a}qb(k+8|0,o,4);if(c[o>>2]|0){z=11;break a}qb(k+12|0,n,4);f=c[n>>2]|0;if(!f){z=13;break a}else g=16;break}default:g=8}if(f>>>0>>0){z=16;break}if(d>>>0>>0){z=19;break}h=(j|0)==1768449138;if(!h)if((j|0)!=1668246642)if((j|0)!=1651532643)if((j|0)!=1885564018)if((j|0)!=1668112752)if((j|0)==1667523942){l=1148;z=26}else c[m>>2]=c[m>>2]|2147483647;else{l=1140;z=26}else{l=1132;z=26}else{l=1124;z=26}else{l=1116;z=26}else{l=1108;z=26}if((z|0)==26?(z=0,(Za[c[l+4>>2]&63](a,k+g|0,f-g|0,e)|0)==0):0){b=0;z=32;break}b=h?1:b;if((d|0)==(f|0)){z=29;break}else{k=k+f|0;d=d-f|0}}if((z|0)==6)Ub(e,1,18724,p)|0;else if((z|0)==9)Ub(e,1,18764,t)|0;else if((z|0)==11)Ub(e,1,17148,u)|0;else if((z|0)==13)Ub(e,1,17218,v)|0;else if((z|0)==14)Ub(e,1,17218,w)|0;else if((z|0)==16)Ub(e,1,18808,q)|0;else if((z|0)==19){Ub(e,1,18880,s)|0;z=0;i=A;return z|0}else if((z|0)==29){if(!b)break;c[x>>2]=c[x>>2]|4;z=1;i=A;return z|0}else if((z|0)==32){i=A;return b|0}Ub(e,1,18837,r)|0;z=0;i=A;return z|0}while(0);Ub(e,1,18952,y)|0;z=0;i=A;return z|0}function Af(){return 8}function Bf(){return 32}function Cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!e)return;else f=0;do{l=a+(f<<2)|0;i=c[l>>2]|0;j=b+(f<<2)|0;h=c[j>>2]|0;g=d+(f<<2)|0;k=c[g>>2]|0;c[l>>2]=(h<<1)+i+k>>2;c[j>>2]=k-h;c[g>>2]=i-h;f=f+1|0}while((f|0)!=(e|0));return}function Df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!e)return;else f=0;do{k=a+(f<<2)|0;j=b+(f<<2)|0;h=c[j>>2]|0;g=d+(f<<2)|0;l=c[g>>2]|0;i=(c[k>>2]|0)-(l+h>>2)|0;c[k>>2]=i+l;c[j>>2]=i;c[g>>2]=i+h;f=f+1|0}while((f|0)!=(e|0));return}function Ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!e)return;else f=0;do{o=a+(f<<2)|0;u=c[o>>2]|0;k=b+(f<<2)|0;t=c[k>>2]|0;g=d+(f<<2)|0;s=c[g>>2]|0;j=((u|0)<0)<<31>>31;q=Zi(u|0,j|0,2449,0)|0;q=Si(q|0,C|0,4096,0)|0;q=Ti(q|0,C|0,13)|0;i=((t|0)<0)<<31>>31;r=Zi(t|0,i|0,4809,0)|0;r=Si(r|0,C|0,4096,0)|0;r=Ti(r|0,C|0,13)|0;h=((s|0)<0)<<31>>31;p=Zi(s|0,h|0,934,0)|0;p=Si(p|0,C|0,4096,0)|0;p=Ti(p|0,C|0,13)|0;l=Zi(u|0,j|0,1382,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=Zi(t|0,i|0,2714,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;n=Ri(s|0,h|0,12)|0;n=Si(n|0,C|0,4096,0)|0;n=Ti(n|0,C|0,13)|0;j=Ri(u|0,j|0,12)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;i=Zi(t|0,i|0,3430,0)|0;i=Si(i|0,C|0,4096,0)|0;i=Ti(i|0,C|0,13)|0;h=Zi(s|0,h|0,666,0)|0;h=Si(h|0,C|0,4096,0)|0;h=Ti(h|0,C|0,13)|0;c[o>>2]=r+q+p;c[k>>2]=n-(m+l);c[g>>2]=j-i-h;f=f+1|0}while((f|0)!=(e|0));return}function Ff(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0,k=0.0,l=0;if(!d)return;else e=0;do{l=a+(e<<2)|0;i=+g[l>>2];j=b+(e<<2)|0;h=+g[j>>2];f=c+(e<<2)|0;k=+g[f>>2];g[l>>2]=i+k*1.4019999504089355;g[j>>2]=i-h*.3441300094127655-k*.714139997959137;g[f>>2]=i+h*1.7719999551773071;e=e+1|0}while((e|0)!=(d|0));return}function Gf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=_(e,e)|0;o=Pc(h+e<<2)|0;if(!o){e=0;return e|0}if(h){i=0;f=a;while(1){c[o+(i+e<<2)>>2]=~~(+g[f>>2]*8192.0);i=i+1|0;if((i|0)==(h|0))break;else f=f+4|0}}if(b){m=(e|0)==0;n=0;do{if(!m){f=0;do{c[o+(f<<2)>>2]=c[c[d+(f<<2)>>2]>>2];f=f+1|0}while((f|0)!=(e|0));if(!m){a=0;k=o;do{k=k+(e<<2)|0;h=d+(a<<2)|0;f=c[h>>2]|0;c[f>>2]=0;i=0;j=0;l=k;while(1){p=c[l>>2]|0;q=c[o+(j<<2)>>2]|0;p=Zi(q|0,((q|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=Si(p|0,C|0,4096,0)|0;p=Ti(p|0,C|0,13)|0;i=p+i|0;c[f>>2]=i;j=j+1|0;if((j|0)==(e|0))break;else l=l+4|0}c[h>>2]=f+4;a=a+1|0}while((a|0)!=(e|0))}}n=n+1|0}while((n|0)!=(b|0))}Uc(o);q=1;return q|0}function Hf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=Pc(e<<3)|0;if(!m){e=0;return e|0}if(b){n=(e|0)==0;o=0;do{if(!n){f=0;do{c[m+(f<<2)>>2]=c[c[d+(f<<2)>>2]>>2];f=f+1|0}while((f|0)!=(e|0));if(!n){k=0;l=a;while(1){f=m+(k+e<<2)|0;g[f>>2]=0.0;h=0.0;i=0;j=l;while(1){h=h+ +g[j>>2]*+g[m+(i<<2)>>2];g[f>>2]=h;i=i+1|0;if((i|0)==(e|0))break;else j=j+4|0}i=d+(k<<2)|0;j=c[i>>2]|0;c[i>>2]=j+4;g[j>>2]=h;k=k+1|0;if((k|0)==(e|0))break;else l=l+(e<<2)|0}}}o=o+1|0}while((o|0)!=(b|0))}Uc(m);e=1;return e|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,i=0,j=0,k=0.0;if(!b)return;else j=0;do{i=a+(j<<3)|0;h[i>>3]=0.0;d=0.0;e=0;f=j;while(1){k=+g[c+(f<<2)>>2];d=d+k*k;e=e+1|0;if((e|0)==(b|0))break;else f=f+b|0}h[i>>3]=+O(+d);j=j+1|0}while((j|0)!=(b|0));return}function Jf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+32|0;B=F+28|0;w=F+24|0;x=F+20|0;y=F+16|0;z=F+12|0;A=F+8|0;k=F+4|0;l=F;f=d+76|0;D=c[f>>2]|0;C=D+(e*5640|0)+420|0;E=(c[C>>2]|0)+1|0;m=b+16|0;v=Pc((c[m>>2]|0)*528|0)|0;if(!v){E=0;i=F;return E|0}u=Pc(c[m>>2]<<2)|0;if(!u){Uc(v);E=0;i=F;return E|0}f=Pf(b,c[f>>2]|0,e)|0;if(!f){Uc(v);Uc(u);E=0;i=F;return E|0}g=c[m>>2]|0;if(g){h=0;j=v;while(1){c[u+(h<<2)>>2]=j;h=h+1|0;if(h>>>0>=g>>>0)break;else j=j+528|0}}Qf(b,d,e,x,y,z,A,k,l,w,B,u);s=c[w>>2]|0;q=_(c[m>>2]|0,s)|0;r=_(c[B>>2]|0,q)|0;t=D+(e*5640|0)+8|0;p=Qc(_((c[t>>2]|0)+1|0,r)|0,2)|0;h=f+4|0;c[h>>2]=p;if(!p){Uc(v);Uc(u);g=c[h>>2]|0;if(g){Uc(g);c[h>>2]=0}if(E){b=f;n=0;while(1){m=b+196|0;g=c[m>>2]|0;if(g){d=b+192|0;h=c[d>>2]|0;if(h){l=0;while(1){j=g+12|0;k=c[j>>2]|0;if(k){Uc(k);c[j>>2]=0;h=c[d>>2]|0}l=l+1|0;if(l>>>0>=h>>>0)break;else g=g+16|0}g=c[m>>2]|0}Uc(g);c[m>>2]=0}n=n+1|0;if((n|0)==(E|0))break;else b=b+232|0}}Uc(f);E=0;i=F;return E|0}g=c[f+196>>2]|0;p=c[b+24>>2]|0;c[f+200>>2]=c[x>>2];c[f+204>>2]=c[z>>2];c[f+208>>2]=c[y>>2];c[f+212>>2]=c[A>>2];c[f+20>>2]=1;c[f+16>>2]=s;c[f+12>>2]=q;c[f+8>>2]=r;m=c[f+192>>2]|0;if(m){b=0;d=p;while(1){j=c[g+12>>2]|0;h=c[u+(b<<2)>>2]|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];l=c[g+8>>2]|0;if(l){k=0;while(1){c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];k=k+1|0;if(k>>>0>=l>>>0)break;else{h=h+16|0;j=j+16|0}}}b=b+1|0;if(b>>>0>=m>>>0)break;else{g=g+16|0;d=d+52|0}}}if(E>>>0>1){m=f;o=1;do{g=c[m+428>>2]|0;c[m+432>>2]=c[x>>2];c[m+436>>2]=c[z>>2];c[m+440>>2]=c[y>>2];c[m+444>>2]=c[A>>2];c[m+252>>2]=1;c[m+248>>2]=s;c[m+244>>2]=q;c[m+240>>2]=r;b=c[m+424>>2]|0;if(b){n=0;d=p;while(1){j=c[g+12>>2]|0;h=c[u+(n<<2)>>2]|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];l=c[g+8>>2]|0;if(l){k=0;while(1){c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];k=k+1|0;if(k>>>0>=l>>>0)break;else{h=h+16|0;j=j+16|0}}}n=n+1|0;if(n>>>0>=b>>>0)break;else{g=g+16|0;d=d+52|0}}}c[m+236>>2]=c[m+4>>2];m=m+232|0;o=o+1|0}while((o|0)!=(E|0))}Uc(v);Uc(u);m=c[w>>2]|0;if(!(a[D+(e*5640|0)+5636>>0]&4)){d=c[B>>2]|0;l=(c[C>>2]|0)+1|0;if(!l){E=f;i=F;return E|0}k=c[D+(e*5640|0)+4>>2]|0;g=c[t>>2]|0;h=f;j=0;while(1){c[h+80>>2]=k;c[h+40>>2]=1;c[h+44>>2]=0;c[h+48>>2]=0;c[h+64>>2]=0;c[h+68>>2]=0;c[h+56>>2]=d;c[h+60>>2]=c[h+192>>2];c[h+52>>2]=g;c[h+72>>2]=m;j=j+1|0;if((j|0)==(l|0))break;else h=h+232|0}i=F;return f|0}else{j=(c[C>>2]|0)+1|0;if(!j){E=f;i=F;return E|0}k=f;g=D+(e*5640|0)+424|0;h=0;while(1){c[k+80>>2]=c[g+36>>2];c[k+40>>2]=1;c[k+44>>2]=c[g>>2];c[k+48>>2]=c[g+4>>2];c[k+64>>2]=0;c[k+68>>2]=0;c[k+56>>2]=c[g+12>>2];c[k+60>>2]=c[g+16>>2];c[k+52>>2]=c[g+8>>2];c[k+72>>2]=m;h=h+1|0;if((h|0)==(j|0))break;else{k=k+232|0;g=g+148|0}}i=F;return f|0}return 0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!a)return;d=a+4|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0}if(b){k=a;l=0;while(1){j=k+196|0;d=c[j>>2]|0;if(d){i=k+192|0;e=c[i>>2]|0;if(e){h=0;while(1){f=d+12|0;g=c[f>>2]|0;if(g){Uc(g);c[f>>2]=0;e=c[i>>2]|0}h=h+1|0;if(h>>>0>=e>>>0)break;else d=d+16|0}d=c[j>>2]|0}Uc(d);c[j>>2]=0}l=l+1|0;if((l|0)==(b|0))break;else k=k+232|0}}Uc(a);return}function Lf(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+32|0;G=L+28|0;F=L+24|0;B=L+20|0;C=L+16|0;D=L+12|0;E=L+8|0;H=L+4|0;I=L;J=f+76|0;x=c[J>>2]|0;K=(c[x+(g*5640|0)+420>>2]|0)+1|0;A=e+16|0;z=Pc((c[A>>2]|0)*528|0)|0;if(!z){g=0;i=L;return g|0}y=Pc(c[A>>2]<<2)|0;if(!y){Uc(z);g=0;i=L;return g|0}j=Pf(e,c[J>>2]|0,g)|0;if(!j){Uc(z);Uc(y);g=0;i=L;return g|0}k=c[A>>2]|0;if(k){l=0;m=z;while(1){c[y+(l<<2)>>2]=m;l=l+1|0;if(l>>>0>=k>>>0)break;else m=m+528|0}}Qf(e,f,g,B,C,D,E,H,I,F,G,y);u=c[F>>2]|0;v=_(c[A>>2]|0,u)|0;w=_(c[G>>2]|0,v)|0;a[j>>0]=(d[f+93>>0]|0)>>>3&1;t=Qc(_(c[x+(g*5640|0)+8>>2]|0,w)|0,2)|0;l=j+4|0;c[l>>2]=t;if(!t){Uc(z);Uc(y);k=c[l>>2]|0;if(k){Uc(k);c[l>>2]=0}if(K){q=j;r=0;while(1){p=q+196|0;k=c[p>>2]|0;if(k){o=q+192|0;l=c[o>>2]|0;if(l){n=0;while(1){m=k+12|0;e=c[m>>2]|0;if(e){Uc(e);c[m>>2]=0;l=c[o>>2]|0}n=n+1|0;if(n>>>0>=l>>>0)break;else k=k+16|0}k=c[p>>2]|0}Uc(k);c[p>>2]=0}r=r+1|0;if((r|0)==(K|0))break;else q=q+232|0}}Uc(j);g=0;i=L;return g|0}k=c[j+196>>2]|0;t=c[e+24>>2]|0;c[j+200>>2]=c[B>>2];c[j+204>>2]=c[D>>2];c[j+208>>2]=c[C>>2];c[j+212>>2]=c[E>>2];c[j+224>>2]=c[H>>2];c[j+228>>2]=c[I>>2];c[j+20>>2]=1;c[j+16>>2]=u;c[j+12>>2]=v;c[j+8>>2]=w;p=c[j+192>>2]|0;if(p){q=0;o=t;while(1){m=c[k+12>>2]|0;l=c[y+(q<<2)>>2]|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];n=c[k+8>>2]|0;if(n){e=0;while(1){c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];e=e+1|0;if(e>>>0>=n>>>0)break;else{l=l+16|0;m=m+16|0}}}q=q+1|0;if(q>>>0>=p>>>0)break;else{k=k+16|0;o=o+52|0}}}if(K>>>0>1){p=j;s=1;do{k=c[p+428>>2]|0;c[p+432>>2]=c[B>>2];c[p+436>>2]=c[D>>2];c[p+440>>2]=c[C>>2];c[p+444>>2]=c[E>>2];c[p+456>>2]=c[H>>2];c[p+460>>2]=c[I>>2];c[p+252>>2]=1;c[p+248>>2]=u;c[p+244>>2]=v;c[p+240>>2]=w;q=c[p+424>>2]|0;if(q){r=0;o=t;while(1){m=c[k+12>>2]|0;l=c[y+(r<<2)>>2]|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];n=c[k+8>>2]|0;if(n){e=0;while(1){c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];e=e+1|0;if(e>>>0>=n>>>0)break;else{l=l+16|0;m=m+16|0}}}r=r+1|0;if(r>>>0>=q>>>0)break;else{k=k+16|0;o=o+52|0}}}c[p+236>>2]=c[p+4>>2];p=p+232|0;s=s+1|0}while((s|0)!=(K|0))}Uc(z);Uc(y);do if(a[x+(g*5640|0)+5636>>0]&4){k=b[f>>1]|0;if((k&65535)>2){if(!((h|0)==1|(k&65535)<7))break}else if((h|0)!=1)break;Rf(c[J>>2]|0,g,c[B>>2]|0,c[C>>2]|0,c[D>>2]|0,c[E>>2]|0,c[F>>2]|0,c[H>>2]|0,c[I>>2]|0);g=j;i=L;return g|0}while(0);w=c[A>>2]|0;v=c[B>>2]|0;u=c[C>>2]|0;t=c[D>>2]|0;s=c[E>>2]|0;r=c[F>>2]|0;q=c[G>>2]|0;p=c[H>>2]|0;o=c[I>>2]|0;k=c[J>>2]|0;m=(c[k+(g*5640|0)+420>>2]|0)+1|0;if(!m){g=j;i=L;return g|0}e=c[k+(g*5640|0)+8>>2]|0;n=c[k+(g*5640|0)+4>>2]|0;k=k+(g*5640|0)+424|0;l=0;while(1){c[k+76>>2]=0;c[k+92>>2]=w;c[k+72>>2]=0;c[k+88>>2]=q;c[k+68>>2]=0;c[k+84>>2]=e;c[k+36>>2]=n;c[k+80>>2]=0;c[k+96>>2]=r;c[k+100>>2]=v;c[k+104>>2]=u;c[k+108>>2]=t;c[k+112>>2]=s;c[k+116>>2]=p;c[k+120>>2]=o;l=l+1|0;if((l|0)==(m|0))break;else k=k+148|0}i=L;return j|0}function Mf(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;Q=c[e+76>>2]|0;R=Q+(f*5640|0)+424+(g*148|0)+36|0;S=Vc(c[R>>2]|0)|0;c[d+(g*232|0)+40>>2]=1;T=d+(g*232|0)+44|0;c[d+(g*232|0)+80>>2]=c[R>>2];do if(a[e+93>>0]&8){k=b[e>>1]|0;if((k&65535)>2){if(!((j|0)==1&(k&65535)>6|(k+-3&65535)<4))break}else if(!((j|0)==1|(k+-3&65535)<4))break;k=i+1|0;a:do if((k|0)<4){j=Q+(f*5640|0)+424+(g*148|0)+72|0;l=Q+(f*5640|0)+424+(g*148|0)+88|0;m=d+(g*232|0)+56|0;n=Q+(f*5640|0)+424+(g*148|0)+76|0;o=d+(g*232|0)+48|0;p=Q+(f*5640|0)+424+(g*148|0)+92|0;q=d+(g*232|0)+60|0;r=Q+(f*5640|0)+424+(g*148|0)+68|0;s=d+(g*232|0)+64|0;t=Q+(f*5640|0)+424+(g*148|0)+84|0;u=d+(g*232|0)+52|0;v=Q+(f*5640|0)+424+(g*148|0)+80|0;w=d+(g*232|0)+68|0;x=Q+(f*5640|0)+424+(g*148|0)+96|0;y=d+(g*232|0)+72|0;z=Q+(f*5640|0)+424+(g*148|0)+100|0;A=d+(g*232|0)+96|0;B=Q+(f*5640|0)+424+(g*148|0)+108|0;C=d+(g*232|0)+104|0;D=Q+(f*5640|0)+424+(g*148|0)+104|0;E=d+(g*232|0)+100|0;F=Q+(f*5640|0)+424+(g*148|0)+112|0;G=d+(g*232|0)+108|0;while(1){b:do switch(a[S+k>>0]|0){case 82:{c[T>>2]=c[j>>2];c[m>>2]=c[l>>2];break}case 67:{c[o>>2]=c[n>>2];c[q>>2]=c[p>>2];break}case 76:{c[s>>2]=c[r>>2];c[u>>2]=c[t>>2];break}case 80:if((c[R>>2]|0)>>>0<2){c[w>>2]=c[v>>2];c[y>>2]=c[x>>2];break b}else{c[A>>2]=c[z>>2];c[C>>2]=c[B>>2];c[E>>2]=c[D>>2];c[G>>2]=c[F>>2];break b}default:{}}while(0);k=k+1|0;if((k|0)==4)break a}}while(0);k=(i|0)>-1;if(!h){if(!k)return;m=Q+(f*5640|0)+424+(g*148|0)+76|0;n=Q+(f*5640|0)+424+(g*148|0)+132|0;o=d+(g*232|0)+48|0;p=d+(g*232|0)+60|0;q=Q+(f*5640|0)+424+(g*148|0)+72|0;r=Q+(f*5640|0)+424+(g*148|0)+128|0;s=d+(g*232|0)+56|0;t=Q+(f*5640|0)+424+(g*148|0)+68|0;u=Q+(f*5640|0)+424+(g*148|0)+124|0;v=d+(g*232|0)+64|0;w=d+(g*232|0)+52|0;x=Q+(f*5640|0)+424+(g*148|0)+80|0;y=Q+(f*5640|0)+424+(g*148|0)+136|0;z=d+(g*232|0)+68|0;A=d+(g*232|0)+72|0;B=Q+(f*5640|0)+424+(g*148|0)+100|0;C=Q+(f*5640|0)+424+(g*148|0)+140|0;D=Q+(f*5640|0)+424+(g*148|0)+108|0;E=Q+(f*5640|0)+424+(g*148|0)+144|0;F=d+(g*232|0)+96|0;G=Q+(f*5640|0)+424+(g*148|0)+116|0;h=d+(g*232|0)+100|0;H=d+(g*232|0)+104|0;l=Q+(f*5640|0)+424+(g*148|0)+120|0;j=d+(g*232|0)+108|0;k=i;while(1){c:do switch(a[S+k>>0]|0){case 67:{g=c[m>>2]|0;c[o>>2]=g;g=g+1|0;c[p>>2]=g;c[n>>2]=g;break}case 82:{g=c[q>>2]|0;c[T>>2]=g;g=g+1|0;c[s>>2]=g;c[r>>2]=g;break}case 76:{g=c[t>>2]|0;c[v>>2]=g;g=g+1|0;c[w>>2]=g;c[u>>2]=g;break}case 80:if((c[R>>2]|0)>>>0<2){g=c[x>>2]|0;c[z>>2]=g;g=g+1|0;c[A>>2]=g;c[y>>2]=g;break c}else{g=c[B>>2]|0;i=c[D>>2]|0;c[F>>2]=g;f=c[G>>2]|0;f=f+g-((g>>>0)%(f>>>0)|0)|0;c[h>>2]=f;c[H>>2]=i;g=c[l>>2]|0;g=g+i-((i>>>0)%(g>>>0)|0)|0;c[j>>2]=g;c[C>>2]=f;c[E>>2]=g;break c}default:{}}while(0);if((k|0)>0)k=k+-1|0;else break}return}if(!k)return;L=Q+(f*5640|0)+424+(g*148|0)+128|0;M=Q+(f*5640|0)+424+(g*148|0)+88|0;N=Q+(f*5640|0)+424+(g*148|0)+72|0;O=d+(g*232|0)+56|0;P=Q+(f*5640|0)+424+(g*148|0)+132|0;p=Q+(f*5640|0)+424+(g*148|0)+92|0;q=Q+(f*5640|0)+424+(g*148|0)+76|0;r=d+(g*232|0)+48|0;s=d+(g*232|0)+60|0;t=Q+(f*5640|0)+424+(g*148|0)+124|0;u=Q+(f*5640|0)+424+(g*148|0)+84|0;v=Q+(f*5640|0)+424+(g*148|0)+68|0;w=d+(g*232|0)+64|0;x=d+(g*232|0)+52|0;y=Q+(f*5640|0)+424+(g*148|0)+136|0;z=Q+(f*5640|0)+424+(g*148|0)+96|0;A=Q+(f*5640|0)+424+(g*148|0)+80|0;B=d+(g*232|0)+68|0;C=d+(g*232|0)+72|0;D=Q+(f*5640|0)+424+(g*148|0)+140|0;E=Q+(f*5640|0)+424+(g*148|0)+104|0;F=d+(g*232|0)+96|0;G=Q+(f*5640|0)+424+(g*148|0)+116|0;h=d+(g*232|0)+100|0;H=Q+(f*5640|0)+424+(g*148|0)+144|0;I=Q+(f*5640|0)+424+(g*148|0)+112|0;J=d+(g*232|0)+104|0;K=Q+(f*5640|0)+424+(g*148|0)+120|0;n=d+(g*232|0)+108|0;o=Q+(f*5640|0)+424+(g*148|0)+100|0;m=Q+(f*5640|0)+424+(g*148|0)+108|0;l=i;k=1;while(1){j=S+l|0;d:do switch(a[j>>0]|0){case 67:{i=c[P>>2]|0;c[r>>2]=i+-1;c[s>>2]=i;break}case 82:{i=c[L>>2]|0;c[T>>2]=i+-1;c[O>>2]=i;break}case 76:{i=c[t>>2]|0;c[w>>2]=i+-1;c[x>>2]=i;break}case 80:if((c[R>>2]|0)>>>0<2){i=c[y>>2]|0;c[B>>2]=i+-1;c[C>>2]=i;break d}else{i=c[D>>2]|0;Q=c[G>>2]|0;c[F>>2]=i-Q-((i>>>0)%(Q>>>0)|0);c[h>>2]=i;i=c[H>>2]|0;Q=c[K>>2]|0;c[J>>2]=i-Q-((i>>>0)%(Q>>>0)|0);c[n>>2]=i;break d}default:{}}while(0);e:do if((k|0)==1)switch(a[j>>0]|0){case 82:{k=c[L>>2]|0;if((k|0)!=(c[M>>2]|0)){c[T>>2]=k;k=k+1|0;c[O>>2]=k;c[L>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[N>>2]|0;c[T>>2]=k;k=k+1|0;c[O>>2]=k;c[L>>2]=k;k=1;break e}case 67:{k=c[P>>2]|0;if((k|0)!=(c[p>>2]|0)){c[r>>2]=k;k=k+1|0;c[s>>2]=k;c[P>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[q>>2]|0;c[r>>2]=k;k=k+1|0;c[s>>2]=k;c[P>>2]=k;k=1;break e}case 76:{k=c[t>>2]|0;if((k|0)!=(c[u>>2]|0)){c[w>>2]=k;k=k+1|0;c[x>>2]=k;c[t>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[v>>2]|0;c[w>>2]=k;k=k+1|0;c[x>>2]=k;c[t>>2]=k;k=1;break e}case 80:{if((c[R>>2]|0)>>>0<2){k=c[y>>2]|0;if((k|0)!=(c[z>>2]|0)){c[B>>2]=k;k=k+1|0;c[C>>2]=k;c[y>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[A>>2]|0;c[B>>2]=k;k=k+1|0;c[C>>2]=k;c[y>>2]=k;k=1;break e}k=c[D>>2]|0;if(k>>>0<(c[E>>2]|0)>>>0){c[F>>2]=k;i=c[G>>2]|0;k=i+k-((k>>>0)%(i>>>0)|0)|0;c[h>>2]=k;c[D>>2]=k;k=0;break e}j=c[H>>2]|0;if(j>>>0<(c[I>>2]|0)>>>0){c[J>>2]=j;i=c[K>>2]|0;k=0;j=i+j-((j>>>0)%(i>>>0)|0)|0}else{if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}i=c[m>>2]|0;c[H>>2]=i;c[J>>2]=i;j=c[K>>2]|0;k=1;j=j+i-((i>>>0)%(j>>>0)|0)|0}c[n>>2]=j;c[H>>2]=j;Q=c[o>>2]|0;c[F>>2]=Q;i=c[G>>2]|0;i=i+Q-((Q>>>0)%(i>>>0)|0)|0;c[h>>2]=i;c[D>>2]=i;break e}default:{k=1;break e}}while(0);if((l|0)>0)l=l+-1|0;else break}return}while(0);c[T>>2]=c[Q+(f*5640|0)+424+(g*148|0)+72>>2];c[d+(g*232|0)+56>>2]=c[Q+(f*5640|0)+424+(g*148|0)+88>>2];c[d+(g*232|0)+48>>2]=c[Q+(f*5640|0)+424+(g*148|0)+76>>2];c[d+(g*232|0)+60>>2]=c[Q+(f*5640|0)+424+(g*148|0)+92>>2];c[d+(g*232|0)+64>>2]=c[Q+(f*5640|0)+424+(g*148|0)+68>>2];c[d+(g*232|0)+52>>2]=c[Q+(f*5640|0)+424+(g*148|0)+84>>2];c[d+(g*232|0)+68>>2]=c[Q+(f*5640|0)+424+(g*148|0)+80>>2];c[d+(g*232|0)+72>>2]=c[Q+(f*5640|0)+424+(g*148|0)+96>>2];c[d+(g*232|0)+96>>2]=c[Q+(f*5640|0)+424+(g*148|0)+100>>2];c[d+(g*232|0)+104>>2]=c[Q+(f*5640|0)+424+(g*148|0)+108>>2];c[d+(g*232|0)+100>>2]=c[Q+(f*5640|0)+424+(g*148|0)+104>>2];c[d+(g*232|0)+108>>2]=c[Q+(f*5640|0)+424+(g*148|0)+112>>2];return}function Nf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;I=c[d+76>>2]|0;K=c[d+24>>2]|0;N=(e>>>0)%(K>>>0)|0;K=(e>>>0)/(K>>>0)|0;L=c[d+4>>2]|0;H=c[d+12>>2]|0;G=(_(H,N)|0)+L|0;M=c[b>>2]|0;M=(G|0)>(M|0)?G:M;L=(_(H,N+1|0)|0)+L|0;N=c[b+8>>2]|0;N=(L|0)<(N|0)?L:N;L=c[d+8>>2]|0;H=c[d+16>>2]|0;G=(_(H,K)|0)+L|0;J=c[b+4>>2]|0;J=(G|0)>(J|0)?G:J;L=(_(H,K+1|0)|0)+L|0;K=c[b+12>>2]|0;K=(L|0)<(K|0)?L:K;L=c[b+16>>2]|0;if(!L){l=0;k=2147483647;j=2147483647;i=0}else{D=K+-1|0;E=N+-1|0;F=J+-1|0;G=M+-1|0;l=0;k=2147483647;j=2147483647;i=0;H=0;A=c[b+24>>2]|0;B=c[I+(e*5640|0)+5584>>2]|0;while(1){x=c[A>>2]|0;y=c[A+4>>2]|0;z=c[B+4>>2]|0;i=z>>>0>i>>>0?z:i;if(z){v=(D+y|0)/(y|0)|0;t=(E+x|0)/(x|0)|0;r=(F+y|0)/(y|0)|0;p=(G+x|0)/(x|0)|0;p=Si(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;q=C;r=Si(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;s=C;t=Si(t|0,((t|0)<0)<<31>>31|0,-1,-1)|0;u=C;v=Si(v|0,((v|0)<0)<<31>>31|0,-1,-1)|0;w=C;d=0;o=0;while(1){m=c[B+812+(o<<2)>>2]|0;n=c[B+944+(o<<2)>>2]|0;g=d+-1+z|0;h=x<>>0>>0?k:h;j=j>>>0>>0?j:O;O=Ri(1,0,g|0)|0;h=C;d=Si(p|0,q|0,O|0,h|0)|0;d=Pi(d|0,C|0,g|0)|0;f=Si(r|0,s|0,O|0,h|0)|0;f=Pi(f|0,C|0,g|0)|0;b=Si(t|0,u|0,O|0,h|0)|0;b=Pi(b|0,C|0,g|0)|0;h=Si(v|0,w|0,O|0,h|0)|0;g=Pi(h|0,C|0,g|0)|0;h=Ri(1,0,n|0)|0;h=Si(h|0,C|0,-1,-1)|0;h=Si(h|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;h=Pi(h|0,C|0,n|0)|0;if((d|0)==(b|0))d=0;else{O=Ri(1,0,m|0)|0;O=Si(O|0,C|0,-1,-1)|0;O=Si(O|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;O=Pi(O|0,C|0,m|0)|0;d=(O<>m<>m}b=_(d,(f|0)==(g|0)?0:(h<>n<>n)|0;l=b>>>0>l>>>0?b:l;b=o+1|0;if(b>>>0>>0){d=~o;o=b}else break}}H=H+1|0;if(H>>>0>=L>>>0)break;else{A=A+52|0;B=B+1080|0}}}if(a[I+(e*5640|0)+5636>>0]&4){Rf(I,e,M,N,J,K,l,k,j);return}f=(c[I+(e*5640|0)+420>>2]|0)+1|0;if(!f)return;g=c[I+(e*5640|0)+8>>2]|0;h=c[I+(e*5640|0)+4>>2]|0;d=I+(e*5640|0)+424|0;b=0;while(1){c[d+76>>2]=0;c[d+92>>2]=L;c[d+72>>2]=0;c[d+88>>2]=i;c[d+68>>2]=0;c[d+84>>2]=g;c[d+36>>2]=h;c[d+80>>2]=0;c[d+96>>2]=l;c[d+100>>2]=M;c[d+104>>2]=N;c[d+108>>2]=J;c[d+112>>2]=K;c[d+116>>2]=k;c[d+120>>2]=j;b=b+1|0;if((b|0)==(f|0))break;else d=d+148|0}return}function Of(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0;switch(c[d+80>>2]|0){case 0:{e=d+40|0;if(!(c[e>>2]|0)){E=d+32|0;l=E;E=c[E>>2]|0;f=18}else{c[e>>2]=0;t=c[d+64>>2]|0;c[d+36>>2]=t;f=5}while(1){if((f|0)==5){if(t>>>0>=(c[d+52>>2]|0)>>>0){nb=0;f=153;break}z=c[d+44>>2]|0;c[d+28>>2]=z;f=7}else if((f|0)==18){j=E+1|0;c[l>>2]=j;h=l;f=14}while(1){if((f|0)==7){f=0;if(z>>>0>=(c[d+56>>2]|0)>>>0){f=21;break}A=c[d+48>>2]|0;p=d+24|0;c[p>>2]=A}else if((f|0)==14){if(j>>>0<(c[d+72>>2]|0)>>>0){f=16;break}F=d+24|0;n=F;F=c[F>>2]|0;f=19}while(1){if((f|0)==19){f=0;A=F+1|0;c[n>>2]=A;p=n}if(A>>>0>=(c[d+60>>2]|0)>>>0){f=20;break}B=c[d+196>>2]|0;C=c[d+28>>2]|0;if(C>>>0<(c[B+(A<<4)+8>>2]|0)>>>0)break;else{n=p;F=A;f=19}}if((f|0)==20){f=d+28|0;z=(c[f>>2]|0)+1|0;c[f>>2]=z;f=7;continue}e=c[B+(A<<4)+12>>2]|0;if(!(a[d>>0]|0))c[d+72>>2]=_(c[e+(C<<4)+12>>2]|0,c[e+(C<<4)+8>>2]|0)|0;j=c[d+68>>2]|0;h=d+32|0;c[h>>2]=j;f=14}if((f|0)==16){f=0;D=_(c[d+8>>2]|0,c[d+36>>2]|0)|0;D=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+D|0;D=D+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;D=D+(_(c[d+20>>2]|0,j)|0)|0;D=(c[d+4>>2]|0)+(D<<1)|0;if(!(b[D>>1]|0))break;else{l=h;E=j;f=18;continue}}else if((f|0)==21){f=d+36|0;t=(c[f>>2]|0)+1|0;c[f>>2]=t;f=5;continue}}if((f|0)==153)return nb|0;b[D>>1]=1;d=1;return d|0}case 1:{e=d+40|0;if(!(c[e>>2]|0)){x=d+32|0;k=x;x=c[x>>2]|0;f=38}else{c[e>>2]=0;G=c[d+44>>2]|0;c[d+28>>2]=G;f=25}while(1){if((f|0)==25){if(G>>>0>=(c[d+56>>2]|0)>>>0){nb=0;f=153;break}r=c[d+64>>2]|0;c[d+36>>2]=r;f=27}else if((f|0)==38){i=x+1|0;c[k>>2]=i;g=k;f=34}while(1){if((f|0)==27){f=0;if(r>>>0>=(c[d+52>>2]|0)>>>0){f=41;break}s=c[d+48>>2]|0;o=d+24|0;c[o>>2]=s}else if((f|0)==34){if(i>>>0<(c[d+72>>2]|0)>>>0){f=36;break}y=d+24|0;m=y;y=c[y>>2]|0;f=39}while(1){if((f|0)==39){f=0;s=y+1|0;c[m>>2]=s;o=m}if(s>>>0>=(c[d+60>>2]|0)>>>0){f=40;break}u=c[d+196>>2]|0;v=c[d+28>>2]|0;if(v>>>0<(c[u+(s<<4)+8>>2]|0)>>>0)break;else{m=o;y=s;f=39}}if((f|0)==40){f=d+36|0;r=(c[f>>2]|0)+1|0;c[f>>2]=r;f=27;continue}e=c[u+(s<<4)+12>>2]|0;if(!(a[d>>0]|0))c[d+72>>2]=_(c[e+(v<<4)+12>>2]|0,c[e+(v<<4)+8>>2]|0)|0;i=c[d+68>>2]|0;g=d+32|0;c[g>>2]=i;f=34}if((f|0)==36){f=0;w=_(c[d+8>>2]|0,c[d+36>>2]|0)|0;w=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+w|0;w=w+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;w=w+(_(c[d+20>>2]|0,i)|0)|0;w=(c[d+4>>2]|0)+(w<<1)|0;if(!(b[w>>1]|0))break;else{k=g;x=i;f=38;continue}}else if((f|0)==41){f=d+28|0;G=(c[f>>2]|0)+1|0;c[f>>2]=G;f=25;continue}}if((f|0)==153)return nb|0;b[w>>1]=1;d=1;return d|0}case 2:{e=d+40|0;if(!(c[e>>2]|0)){lb=d+36|0;Ta=lb;lb=c[lb>>2]|0;f=75}else{c[e>>2]=0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;q=c[d+192>>2]|0;if(q){r=c[d+196>>2]|0;e=0;f=0;s=0;do{j=c[r+(s<<4)+8>>2]|0;if(j){k=c[r+(s<<4)+12>>2]|0;l=c[r+(s<<4)>>2]|0;m=c[r+(s<<4)+4>>2]|0;n=j+-1|0;g=0;i=0;while(1){h=n+g|0;Sa=l<>2]|0);h=m<<(c[k+(i<<4)+4>>2]|0)+h;e=(e|0)==0?Sa:e>>>0>>0?e:Sa;f=(f|0)==0?h:f>>>0>>0?f:h;h=i+1|0;if((h|0)==(j|0))break;else{g=~i;i=h}}c[o>>2]=e;c[p>>2]=f}s=s+1|0}while((s|0)!=(q|0))}if(!(a[d>>0]|0)){c[d+104>>2]=c[d+204>>2];c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}J=c[d+44>>2]|0;c[d+28>>2]=J;f=54}while(1){if((f|0)==54){if(J>>>0>=(c[d+56>>2]|0)>>>0){nb=0;f=153;break}Xa=c[d+104>>2]|0;c[d+220>>2]=Xa;f=56}else if((f|0)==75){jb=lb+1|0;c[Ta>>2]=jb;Ua=Ta;f=71}while(1){if((f|0)==56){if((Xa|0)>=(c[d+108>>2]|0)){f=79;break}Ya=c[d+96>>2]|0;c[d+216>>2]=Ya;f=58}else if((f|0)==71){if(jb>>>0<(c[d+52>>2]|0)>>>0){f=73;break}mb=d+24|0;Va=mb;mb=c[mb>>2]|0;f=76}while(1){if((f|0)==58){if((Ya|0)>=(c[d+100>>2]|0)){f=78;break}Za=c[d+48>>2]|0;Wa=d+24|0;c[Wa>>2]=Za}else if((f|0)==76){Za=mb+1|0;c[Va>>2]=Za;Wa=Va}if(Za>>>0>=(c[d+60>>2]|0)>>>0){Ya=c[d+224>>2]|0;f=d+216|0;Sa=c[f>>2]|0;Ya=Sa+Ya-((Sa|0)%(Ya|0)|0)|0;c[f>>2]=Ya;f=58;continue}f=c[d+196>>2]|0;m=c[d+28>>2]|0;e=c[f+(Za<<4)+8>>2]|0;if(m>>>0>=e>>>0){Va=Wa;mb=Za;f=76;continue}n=c[f+(Za<<4)+12>>2]|0;i=e+~m|0;j=c[d+200>>2]|0;k=c[f+(Za<<4)>>2]|0;_a=k<>2]|0;Sa=c[f+(Za<<4)+4>>2]|0;ab=Sa<>2]|0)|0)/(_a|0)|0;db=ab+-1|0;f=(db+(c[d+212>>2]|0)|0)/(ab|0)|0;eb=c[n+(m<<4)>>2]|0;g=eb+i|0;fb=c[n+(m<<4)+4>>2]|0;h=fb+i|0;gb=c[d+220>>2]|0;if((gb|0)%(Sa<>2]|0;if((hb|0)%(k<>2]|0;if(!ib){Va=Wa;mb=Za;f=76;continue}if((bb|0)==(f|0)|(($a|0)==(e|0)?1:(c[n+(m<<4)+12>>2]|0)==0)){Va=Wa;mb=Za;f=76}else{f=70;break}}if((f|0)==70){c[d+32>>2]=(((cb+hb|0)/(_a|0)|0)>>eb)-($a>>eb)+(_((((db+gb|0)/(ab|0)|0)>>fb)-(bb>>fb)|0,ib)|0);jb=c[d+64>>2]|0;Ua=d+36|0;c[Ua>>2]=jb;f=71;continue}else if((f|0)==78){Xa=c[d+228>>2]|0;f=d+220|0;Sa=c[f>>2]|0;Xa=Sa+Xa-((Sa|0)%(Xa|0)|0)|0;c[f>>2]=Xa;f=56;continue}}if((f|0)==73){f=0;kb=_(c[d+8>>2]|0,jb)|0;kb=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+kb|0;kb=kb+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;kb=kb+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;kb=(c[d+4>>2]|0)+(kb<<1)|0;if(!(b[kb>>1]|0))break;else{Ta=Ua;lb=jb;f=75;continue}}else if((f|0)==79){f=d+28|0;J=(c[f>>2]|0)+1|0;c[f>>2]=J;f=54;continue}}if((f|0)==153)return nb|0;b[kb>>1]=1;d=1;return d|0}case 3:{f=d+40|0;if(!(c[f>>2]|0)){Ra=c[d+24>>2]|0;Ka=d+36|0;pa=Ka;Ka=c[Ka>>2]|0;Na=Ra;Ra=(c[d+196>>2]|0)+(Ra<<4)|0;f=113}else{c[f>>2]=0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;q=c[d+192>>2]|0;if(q){r=c[d+196>>2]|0;e=0;f=0;s=0;do{j=c[r+(s<<4)+8>>2]|0;if(j){k=c[r+(s<<4)+12>>2]|0;l=c[r+(s<<4)>>2]|0;m=c[r+(s<<4)+4>>2]|0;n=j+-1|0;g=0;i=0;while(1){h=n+g|0;mb=l<>2]|0);h=m<<(c[k+(i<<4)+4>>2]|0)+h;e=(e|0)==0?mb:e>>>0>>0?e:mb;f=(f|0)==0?h:f>>>0>>0?f:h;h=i+1|0;if((h|0)==(j|0))break;else{g=~i;i=h}}c[o>>2]=e;c[p>>2]=f}s=s+1|0}while((s|0)!=(q|0))}if(!(a[d>>0]|0)){e=c[d+204>>2]|0;c[d+104>>2]=e;c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}else e=c[d+104>>2]|0;c[d+220>>2]=e;f=93}while(1){if((f|0)==93){if((e|0)>=(c[d+108>>2]|0)){nb=0;f=153;break}ta=c[d+96>>2]|0;c[d+216>>2]=ta;f=95}else if((f|0)==113){Ha=Ka+1|0;c[pa>>2]=Ha;qa=pa;Ia=Na;Qa=Ra;f=109}while(1){if((f|0)==95){if((ta|0)>=(c[d+100>>2]|0)){f=117;break}ua=c[d+48>>2]|0;c[d+24>>2]=ua;f=97}else if((f|0)==109){if(Ha>>>0<(c[d+52>>2]|0)>>>0){f=111;break}La=d+28|0;ra=La;La=c[La>>2]|0;Oa=Ia;Sa=Qa;f=114}while(1){if((f|0)==97){if(ua>>>0>=(c[d+60>>2]|0)>>>0){f=116;break}Pa=(c[d+196>>2]|0)+(ua<<4)|0;va=c[d+44>>2]|0;sa=d+28|0;c[sa>>2]=va;Ma=ua}else if((f|0)==114){va=La+1|0;c[ra>>2]=va;sa=ra;Ma=Oa;Pa=Sa}mb=c[d+56>>2]|0;f=c[Pa+8>>2]|0;if(va>>>0>=(mb>>>0>>0?mb:f)>>>0){ua=Ma+1|0;c[d+24>>2]=ua;f=97;continue}n=c[Pa+12>>2]|0;f=f+~va|0;g=c[d+200>>2]|0;h=c[Pa>>2]|0;wa=h<>2]|0;mb=c[Pa+4>>2]|0;ya=mb<>2]|0)|0)/(wa|0)|0;Ba=ya+-1|0;k=(Ba+(c[d+212>>2]|0)|0)/(ya|0)|0;Ca=c[n+(va<<4)>>2]|0;l=Ca+f|0;Da=c[n+(va<<4)+4>>2]|0;m=Da+f|0;Ea=c[d+220>>2]|0;if((Ea|0)%(mb<>2]|0;if((Fa|0)%(h<>2]|0;if(!Ga){ra=sa;La=va;Oa=Ma;Sa=Pa;f=114;continue}if((za|0)==(k|0)|((xa|0)==(j|0)?1:(c[n+(va<<4)+12>>2]|0)==0)){ra=sa;La=va;Oa=Ma;Sa=Pa;f=114}else{f=108;break}}if((f|0)==108){c[d+32>>2]=(((Aa+Fa|0)/(wa|0)|0)>>Ca)-(xa>>Ca)+(_((((Ba+Ea|0)/(ya|0)|0)>>Da)-(za>>Da)|0,Ga)|0);Ha=c[d+64>>2]|0;qa=d+36|0;c[qa>>2]=Ha;Ia=Ma;Qa=Pa;f=109;continue}else if((f|0)==116){ta=c[d+224>>2]|0;f=d+216|0;mb=c[f>>2]|0;ta=mb+ta-((mb|0)%(ta|0)|0)|0;c[f>>2]=ta;f=95;continue}}if((f|0)==111){f=0;Ja=_(c[d+8>>2]|0,Ha)|0;Ja=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+Ja|0;Ja=Ja+(_(c[d+16>>2]|0,Ia)|0)|0;Ja=Ja+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;Ja=(c[d+4>>2]|0)+(Ja<<1)|0;if(!(b[Ja>>1]|0))break;else{pa=qa;Ka=Ha;Na=Ia;Ra=Qa;f=113;continue}}else if((f|0)==117){e=c[d+228>>2]|0;f=d+220|0;mb=c[f>>2]|0;e=mb+e-((mb|0)%(e|0)|0)|0;c[f>>2]=e;f=93;continue}}if((f|0)==153)return nb|0;b[Ja>>1]=1;d=1;return d|0}case 4:{e=d+40|0;if(!(c[e>>2]|0)){na=c[d+24>>2]|0;ea=d+36|0;K=ea;ea=c[ea>>2]|0;ga=na;na=(c[d+196>>2]|0)+(na<<4)|0;f=148}else{c[e>>2]=0;O=c[d+48>>2]|0;c[d+24>>2]=O;f=121}while(1){if((f|0)==121){if(O>>>0>=(c[d+60>>2]|0)>>>0){nb=0;f=153;break}e=c[d+196>>2]|0;q=e+(O<<4)|0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;l=c[e+(O<<4)+8>>2]|0;if(l){m=c[e+(O<<4)+12>>2]|0;n=c[q>>2]|0;h=c[e+(O<<4)+4>>2]|0;i=l+-1|0;f=0;e=0;g=0;k=0;while(1){j=i+g|0;mb=n<>2]|0);j=h<<(c[m+(k<<4)+4>>2]|0)+j;f=(f|0)==0?mb:f>>>0>>0?f:mb;e=(e|0)==0?j:e>>>0>>0?e:j;j=k+1|0;if((j|0)==(l|0))break;else{g=~k;k=j}}c[o>>2]=f;c[p>>2]=e}if(!(a[d>>0]|0)){e=c[d+204>>2]|0;c[d+104>>2]=e;c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}else e=c[d+104>>2]|0;c[d+220>>2]=e;H=e;I=O;f=130}else if((f|0)==148){ba=ea+1|0;c[K>>2]=ba;L=K;ca=ga;ma=na;f=144}while(1){if((f|0)==130){if((H|0)>=(c[d+108>>2]|0)){f=152;break}P=c[d+96>>2]|0;c[d+216>>2]=P;ha=I;ka=q;f=132}else if((f|0)==144){if(ba>>>0<(c[d+52>>2]|0)>>>0){f=146;break}fa=d+28|0;M=fa;fa=c[fa>>2]|0;ja=ca;oa=ma;f=149}while(1){if((f|0)==132){if((P|0)>=(c[d+100>>2]|0)){f=151;break}Q=c[d+44>>2]|0;N=d+28|0;c[N>>2]=Q;ia=ha;la=ka}else if((f|0)==149){Q=fa+1|0;c[M>>2]=Q;N=M;ia=ja;la=oa}mb=c[d+56>>2]|0;e=c[la+8>>2]|0;if(Q>>>0>=(mb>>>0>>0?mb:e)>>>0){P=c[d+224>>2]|0;ha=d+216|0;ka=c[ha>>2]|0;P=ka+P-((ka|0)%(P|0)|0)|0;c[ha>>2]=P;ha=ia;ka=la;f=132;continue}m=c[la+12>>2]|0;e=e+~Q|0;f=c[d+200>>2]|0;g=c[la>>2]|0;R=g<>2]|0;mb=c[la+4>>2]|0;T=mb<>2]|0)|0)/(R|0)|0;W=T+-1|0;j=(W+(c[d+212>>2]|0)|0)/(T|0)|0;X=c[m+(Q<<4)>>2]|0;k=X+e|0;Y=c[m+(Q<<4)+4>>2]|0;l=Y+e|0;Z=c[d+220>>2]|0;if((Z|0)%(mb<>2]|0;if(($|0)%(g<>2]|0;if(!aa){M=N;fa=Q;ja=ia;oa=la;f=149;continue}if((U|0)==(j|0)|((S|0)==(i|0)?1:(c[m+(Q<<4)+12>>2]|0)==0)){M=N;fa=Q;ja=ia;oa=la;f=149}else{f=143;break}}if((f|0)==143){c[d+32>>2]=(((V+$|0)/(R|0)|0)>>X)-(S>>X)+(_((((W+Z|0)/(T|0)|0)>>Y)-(U>>Y)|0,aa)|0);ba=c[d+64>>2]|0;L=d+36|0;c[L>>2]=ba;ca=ia;ma=la;f=144;continue}else if((f|0)==151){H=c[d+228>>2]|0;I=d+220|0;q=c[I>>2]|0;H=q+H-((q|0)%(H|0)|0)|0;c[I>>2]=H;I=ha;q=ka;f=130;continue}}if((f|0)==146){f=0;da=_(c[d+8>>2]|0,ba)|0;da=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+da|0;da=da+(_(c[d+16>>2]|0,ca)|0)|0;da=da+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;da=(c[d+4>>2]|0)+(da<<1)|0;if(!(b[da>>1]|0))break;else{K=L;ea=ba;ga=ca;na=ma;f=148;continue}}else if((f|0)==152){O=I+1|0;c[d+24>>2]=O;f=121;continue}}if((f|0)==153)return nb|0;b[da>>1]=1;d=1;return d|0}default:{d=0;return d|0}}return 0}function Pf(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;l=(c[b+(d*5640|0)+420>>2]|0)+1|0;e=Qc(l,232)|0;if(!e){l=0;return l|0}if(!l){l=e;return l|0}j=a+16|0;g=b+(d*5640|0)+5584|0;a=c[j>>2]|0;h=e;i=0;a:while(1){b=Qc(a,16)|0;f=h+196|0;c[f>>2]=b;if(!b){a=5;break}k=c[j>>2]|0;c[h+192>>2]=k;b:do if(!k)a=0;else{a=(c[g>>2]|0)+4|0;k=Qc(c[a>>2]|0,16)|0;c[b+12>>2]=k;if(!k){a=18;break a}else d=0;while(1){c[b+(d<<4)+8>>2]=c[a>>2];d=d+1|0;a=c[j>>2]|0;if(d>>>0>=a>>>0)break b;b=c[f>>2]|0;a=(c[g>>2]|0)+(d*1080|0)+4|0;k=Qc(c[a>>2]|0,16)|0;c[b+(d<<4)+12>>2]=k;if(!k){a=18;break a}}}while(0);i=i+1|0;if(i>>>0>=l>>>0){a=32;break}else h=h+232|0}if((a|0)==5){a=e+4|0;b=c[a>>2]|0;if(!b){j=e;k=0}else{Uc(b);c[a>>2]=0;j=e;k=0}while(1){i=j+196|0;a=c[i>>2]|0;if(a){h=j+192|0;b=c[h>>2]|0;if(b){g=0;while(1){d=a+12|0;f=c[d>>2]|0;if(f){Uc(f);c[d>>2]=0;b=c[h>>2]|0}g=g+1|0;if(g>>>0>=b>>>0)break;else a=a+16|0}a=c[i>>2]|0}Uc(a);c[i>>2]=0}k=k+1|0;if((k|0)==(l|0))break;else j=j+232|0}Uc(e);l=0;return l|0}else if((a|0)==18){a=e+4|0;b=c[a>>2]|0;if(!b){j=e;k=0}else{Uc(b);c[a>>2]=0;j=e;k=0}while(1){i=j+196|0;a=c[i>>2]|0;if(a){h=j+192|0;b=c[h>>2]|0;if(b){g=0;while(1){d=a+12|0;f=c[d>>2]|0;if(f){Uc(f);c[d>>2]=0;b=c[h>>2]|0}g=g+1|0;if(g>>>0>=b>>>0)break;else a=a+16|0}a=c[i>>2]|0}Uc(a);c[i>>2]=0}k=k+1|0;if((k|0)==(l|0))break;else j=j+232|0}Uc(e);l=0;return l|0}else if((a|0)==32)return e|0;return 0}function Qf(a,b,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;o=c[(c[b+76>>2]|0)+(d*5640|0)+5584>>2]|0;n=c[a+24>>2]|0;I=c[b+24>>2]|0;H=b+12|0;G=(_(c[H>>2]|0,(d>>>0)%(I>>>0)|0)|0)+(c[b+4>>2]|0)|0;F=c[a>>2]|0;c[e>>2]=G>>>0>F>>>0?G:F;G=Si(c[H>>2]|0,0,G|0,0)|0;G=G|0-C;H=c[a+8>>2]|0;c[f>>2]=G>>>0>>0?G:H;H=b+16|0;I=(_(c[H>>2]|0,(d>>>0)/(I>>>0)|0)|0)+(c[b+8>>2]|0)|0;G=c[a+4>>2]|0;c[g>>2]=I>>>0>G>>>0?I:G;I=Si(c[H>>2]|0,0,I|0,0)|0;I=I|0-C;H=c[a+12>>2]|0;c[h>>2]=I>>>0>>0?I:H;c[k>>2]=0;c[l>>2]=0;c[i>>2]=2147483647;c[j>>2]=2147483647;H=a+16|0;if(!(c[H>>2]|0))return;else I=0;while(1){r=c[m+(I<<2)>>2]|0;p=c[n>>2]|0;a=((c[e>>2]|0)+-1+p|0)/(p|0)|0;F=n+4|0;q=c[F>>2]|0;d=((c[g>>2]|0)+-1+q|0)/(q|0)|0;p=(p+-1+(c[f>>2]|0)|0)/(p|0)|0;q=(q+-1+(c[h>>2]|0)|0)/(q|0)|0;G=o+4|0;b=c[G>>2]|0;if(b>>>0>(c[l>>2]|0)>>>0){c[l>>2]=b;b=c[G>>2]|0}if(b){D=Si(a|0,((a|0)<0)<<31>>31|0,-1,-1)|0;E=C;A=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;B=C;y=Si(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;z=C;w=Si(q|0,((q|0)<0)<<31>>31|0,-1,-1)|0;x=C;v=0;while(1){b=b+-1|0;p=c[o+812+(v<<2)>>2]|0;u=c[o+944+(v<<2)>>2]|0;c[r>>2]=p;c[r+4>>2]=u;s=c[n>>2]<>2]<>2]|0;c[i>>2]=(a|0)<(s|0)?a:s;s=c[j>>2]|0;c[j>>2]=(s|0)<(J|0)?s:J;J=Ri(1,0,b|0)|0;s=C;a=Si(D|0,E|0,J|0,s|0)|0;a=Pi(a|0,C|0,b|0)|0;q=Si(A|0,B|0,J|0,s|0)|0;q=Pi(q|0,C|0,b|0)|0;d=Si(y|0,z|0,J|0,s|0)|0;d=Pi(d|0,C|0,b|0)|0;s=Si(w|0,x|0,J|0,s|0)|0;s=Pi(s|0,C|0,b|0)|0;J=Ri(1,0,u|0)|0;t=C;K=Si(s|0,((s|0)<0)<<31>>31|0,-1,-1)|0;t=Si(K|0,C|0,J|0,t|0)|0;t=Pi(t|0,C|0,u|0)|0;if((a|0)==(d|0))a=0;else{d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;J=C;K=Ri(1,0,p|0)|0;K=Si(d|0,J|0,K|0,C|0)|0;K=Pi(K|0,C|0,p|0)|0;a=(K<>p<>p}K=(q|0)==(s|0)?0:(t<>u<>u;c[r+8>>2]=a;c[r+12>>2]=K;a=_(a,K)|0;if(a>>>0>(c[k>>2]|0)>>>0)c[k>>2]=a;v=v+1|0;if(v>>>0>=(c[G>>2]|0)>>>0)break;else r=r+16|0}}I=I+1|0;if(I>>>0>=(c[H>>2]|0)>>>0)break;else{n=n+52|0;o=o+1080|0}}return}function Rf(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;k=(c[a+(b*5640|0)+420>>2]|0)+1|0;c[a+(b*5640|0)+500>>2]=c[a+(b*5640|0)+428>>2];c[a+(b*5640|0)+516>>2]=c[a+(b*5640|0)+440>>2];c[a+(b*5640|0)+496>>2]=c[a+(b*5640|0)+424>>2];c[a+(b*5640|0)+512>>2]=c[a+(b*5640|0)+436>>2];c[a+(b*5640|0)+508>>2]=c[a+(b*5640|0)+432>>2];c[a+(b*5640|0)+492>>2]=0;c[a+(b*5640|0)+460>>2]=c[a+(b*5640|0)+456>>2];c[a+(b*5640|0)+504>>2]=0;c[a+(b*5640|0)+520>>2]=h;c[a+(b*5640|0)+524>>2]=d;c[a+(b*5640|0)+528>>2]=e;c[a+(b*5640|0)+532>>2]=f;c[a+(b*5640|0)+536>>2]=g;c[a+(b*5640|0)+540>>2]=i;c[a+(b*5640|0)+544>>2]=j;if(k>>>0<=1)return;a=a+(b*5640|0)+572|0;b=1;while(1){c[a+76>>2]=c[a+4>>2];c[a+92>>2]=c[a+16>>2];c[a+72>>2]=c[a>>2];c[a+88>>2]=c[a+12>>2];l=c[a+8>>2]|0;c[a+84>>2]=l;c[a+36>>2]=c[a+32>>2];c[a+80>>2]=0;c[a+68>>2]=l>>>0>(c[a+-64>>2]|0)>>>0?l:0;c[a+96>>2]=h;c[a+100>>2]=d;c[a+104>>2]=e;c[a+108>>2]=f;c[a+112>>2]=g;c[a+116>>2]=i;c[a+120>>2]=j;b=b+1|0;if((b|0)==(k|0))break;else a=a+148|0}return}function Sf(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;j=c[d+76>>2]|0;if((b|0)>-1)h=b;else{e=0;return e|0}a:while(1){switch(a[g+h>>0]|0){case 82:{i=3;break a}case 67:{i=5;break a}case 76:{i=7;break a}case 80:{i=9;break a}default:{}}h=h+-1|0}if((i|0)==3)if((c[j+(e*5640|0)+424+(f*148|0)+128>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+88>>2]|0))return (Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==5)if((c[j+(e*5640|0)+424+(f*148|0)+132>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+92>>2]|0))return (Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==7)if((c[j+(e*5640|0)+424+(f*148|0)+124>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+84>>2]|0))return (Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==9){if((c[j+(e*5640|0)+424+(f*148|0)+36>>2]|0)>>>0<2)if((c[j+(e*5640|0)+424+(f*148|0)+136>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+96>>2]|0))return (Sf(h+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}if((c[j+(e*5640|0)+424+(f*148|0)+140>>2]|0)!=(c[j+(e*5640|0)+424+(f*148|0)+104>>2]|0)){e=1;return e|0}if((c[j+(e*5640|0)+424+(f*148|0)+144>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+112>>2]|0))return (Sf(h+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}}return 0}function Tf(b){b=b|0;var d=0,e=0;d=Qc(1,44)|0;if(!d){b=0;return b|0}e=d+40|0;a[e>>0]=a[e>>0]&-2|(b|0)!=0;b=Qc(1,4)|0;c[d+20>>2]=b;if(b){e=d;return e|0}Uc(d);e=0;return e|0}function Uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+1200|0;N=O;e=c[c[a+20>>2]>>2]|0;M=e+16|0;f=c[M>>2]|0;if(!f){i=O;return}J=e+20|0;K=(c[a+32>>2]|0)+8|0;L=(c[a+28>>2]|0)+88|0;H=a+24|0;I=(b|0)==0;F=(d|0)==0;G=b+-1|0;e=f;E=0;do{j=c[J>>2]|0;k=c[K>>2]|0;C=c[j+(E*52|0)+16>>2]|0;if(k){if(C){a=c[L>>2]|0;g=+((c[(c[(c[H>>2]|0)+24>>2]|0)+(E*52|0)+24>>2]|0)>>>0)*.0625;f=0;do{d=_(C,f)|0;h=0;do{D=(d+h|0)*3|0;c[N+(f*120|0)+(h*12|0)>>2]=~~(+(c[a+(D<<2)>>2]|0)*g);c[N+(f*120|0)+(h*12|0)+4>>2]=~~(+(c[a+(D+1<<2)>>2]|0)*g);c[N+(f*120|0)+(h*12|0)+8>>2]=~~(+(c[a+(D+2<<2)>>2]|0)*g);h=h+1|0}while(h>>>0>>0);f=f+1|0}while(f>>>0>>0);D=9}}else D=9;if((D|0)==9){D=0;if(C){w=j+(E*52|0)+24|0;B=0;do{x=c[w>>2]|0;y=x+(B*136|0)+24|0;e=c[y>>2]|0;if(e){z=x+(B*136|0)+16|0;A=x+(B*136|0)+20|0;a=c[A>>2]|0;d=c[z>>2]|0;v=0;do{if(_(a,d)|0){s=x+(B*136|0)+28+(v*36|0)+20|0;t=N+(b*120|0)+(B*12|0)+(v<<2)|0;u=N+(G*120|0)+(B*12|0)+(v<<2)|0;r=0;do{e=c[s>>2]|0;q=_(c[e+(r*40|0)+20>>2]|0,c[e+(r*40|0)+16>>2]|0)|0;if(q){m=e+(r*40|0)+24|0;n=c[t>>2]|0;p=0;do{k=c[m>>2]|0;l=k+(p*52|0)|0;o=c[k+(p*52|0)+4>>2]|0;e=(c[(c[(c[H>>2]|0)+24>>2]|0)+(E*52|0)+24>>2]|0)-(c[k+(p*52|0)+28>>2]|0)|0;if(!I){a=c[u>>2]|0;d=n-a|0;if((a|0)<=(e|0)){d=d+(a-e)|0;d=(d|0)<0?0:d}}else{c[k+(p*52|0)+44>>2]=0;d=(n|0)>(e|0)?n-e|0:0}j=k+(p*52|0)+44|0;f=c[j>>2]|0;h=(f|0)==0;if(h)if(!d)d=0;else d=(d*3|0)+-2|0;else d=(d*3|0)+f|0;c[o+(b*24|0)>>2]=d-f;do if((d|0)!=(f|0)){a=c[k+(p*52|0)+8>>2]|0;e=c[a+((d+-1|0)*24|0)>>2]|0;if(h)c[o+(b*24|0)+16>>2]=c[l>>2];else{k=c[a+((f+-1|0)*24|0)>>2]|0;c[o+(b*24|0)+16>>2]=(c[l>>2]|0)+k;e=e-k|0}c[o+(b*24|0)+4>>2]=e;if(F)break;c[j>>2]=d}while(0);p=p+1|0}while(p>>>0>>0);a=c[A>>2]|0;d=c[z>>2]|0}r=r+1|0}while(r>>>0<(_(a,d)|0)>>>0);e=c[y>>2]|0}v=v+1|0}while(v>>>0>>0)}B=B+1|0}while(B>>>0>>0);e=c[M>>2]|0}}E=E+1|0}while(E>>>0>>0);i=O;return}function Vf(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;a=c[c[a+20>>2]>>2]|0;G=a+40+(b<<3)|0;h[G>>3]=0.0;H=a+16|0;f=c[H>>2]|0;if(!f)return;E=a+20|0;F=(b|0)==0;D=(e|0)==0;a=f;C=0;do{f=c[E>>2]|0;B=c[f+(C*52|0)+16>>2]|0;if(B){v=f+(C*52|0)+24|0;A=0;do{w=c[v>>2]|0;x=w+(A*136|0)+24|0;a=c[x>>2]|0;if(a){y=w+(A*136|0)+16|0;z=w+(A*136|0)+20|0;f=c[z>>2]|0;e=c[y>>2]|0;u=0;do{if(_(f,e)|0){t=w+(A*136|0)+28+(u*36|0)+20|0;s=0;do{a=c[t>>2]|0;r=_(c[a+(s*40|0)+20>>2]|0,c[a+(s*40|0)+16>>2]|0)|0;if(r){n=a+(s*40|0)+24|0;q=0;do{k=c[n>>2]|0;l=k+(q*52|0)|0;o=c[k+(q*52|0)+4>>2]|0;p=k+(q*52|0)+44|0;if(F){c[p>>2]=0;m=0}else m=c[p>>2]|0;e=c[k+(q*52|0)+48>>2]|0;if(m>>>0>>0){i=c[k+(q*52|0)+8>>2]|0;a=m;j=m;do{f=c[i+(j*24|0)>>2]|0;g=+h[i+(j*24|0)+8>>3];if(a){J=a+-1|0;g=g-+h[i+(J*24|0)+8>>3];f=f-(c[i+(J*24|0)>>2]|0)|0}do if(!f){if(!(g!=0.0))break;a=j+1|0}else{if(!(d-g/+(f>>>0)<2.220446049250313e-16))break;a=j+1|0}while(0);j=j+1|0}while(j>>>0>>0);i=a;c[o+(b*24|0)>>2]=i-m;if((i|0)!=(m|0)){e=i+-1|0;f=c[k+(q*52|0)+8>>2]|0;a=c[f+(e*24|0)>>2]|0;if(!m){c[o+(b*24|0)+16>>2]=c[l>>2];g=+h[f+(e*24|0)+8>>3]}else{m=m+-1|0;J=c[f+(m*24|0)>>2]|0;c[o+(b*24|0)+16>>2]=(c[l>>2]|0)+J;g=+h[f+(e*24|0)+8>>3]-+h[f+(m*24|0)+8>>3];a=a-J|0}c[o+(b*24|0)+4>>2]=a;h[o+(b*24|0)+8>>3]=g;h[G>>3]=g+ +h[G>>3];if(!D)c[p>>2]=i}else I=26}else{c[o+(b*24|0)>>2]=0;I=26}if((I|0)==26){I=0;h[o+(b*24|0)+8>>3]=0.0}q=q+1|0}while(q>>>0>>0);f=c[z>>2]|0;e=c[y>>2]|0}s=s+1|0}while(s>>>0<(_(f,e)|0)>>>0);a=c[x>>2]|0}u=u+1|0}while(u>>>0>>0)}A=A+1|0}while(A>>>0>>0);a=c[H>>2]|0}C=C+1|0}while(C>>>0>>0);return}function Wf(d,e,f,j,k){d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=i;i=i+800|0;V=W;S=c[d+28>>2]|0;T=c[c[d+20>>2]>>2]|0;U=c[d+32>>2]|0;O=T+24|0;c[O>>2]=0;Q=c[T+16>>2]|0;if(!Q){l=0;J=0.0;n=0.0;p=1797693134862315708145274.0e284}else{M=c[T+20>>2]|0;N=c[(c[d+24>>2]|0)+24>>2]|0;l=0;R=0;o=0.0;n=0.0;p=1797693134862315708145274.0e284;do{I=M+(R*52|0)+48|0;c[I>>2]=0;K=c[M+(R*52|0)+16>>2]|0;if(!K)m=0;else{L=c[M+(R*52|0)+24>>2]|0;m=0;H=0;do{E=c[L+(H*136|0)+24>>2]|0;if(E){F=_(c[L+(H*136|0)+20>>2]|0,c[L+(H*136|0)+16>>2]|0)|0;G=(F|0)==0;D=0;do{if(!G){C=c[L+(H*136|0)+28+(D*36|0)+20>>2]|0;B=0;do{z=_(c[C+(B*40|0)+20>>2]|0,c[C+(B*40|0)+16>>2]|0)|0;if(z){A=c[C+(B*40|0)+24>>2]|0;y=0;do{v=c[A+(y*52|0)+48>>2]|0;if(v){w=c[A+(y*52|0)+8>>2]|0;u=0;do{t=c[w+(u*24|0)>>2]|0;q=+h[w+(u*24|0)+8>>3];if(u){X=u+-1|0;q=q-+h[w+(X*24|0)+8>>3];t=t-(c[w+(X*24|0)>>2]|0)|0}do if(t){q=q/+(t|0);p=qo))break;o=q}while(0);u=u+1|0}while(u>>>0>>0)}X=_((c[A+(y*52|0)+24>>2]|0)-(c[A+(y*52|0)+16>>2]|0)|0,(c[A+(y*52|0)+20>>2]|0)-(c[A+(y*52|0)+12>>2]|0)|0)|0;l=X+l|0;m=X+m|0;y=y+1|0}while(y>>>0>>0);c[O>>2]=l;c[I>>2]=m}B=B+1|0}while(B>>>0>>0)}D=D+1|0}while(D>>>0>>0)}H=H+1|0}while(H>>>0>>0)}J=+(1<>2]|0)+-1.0;n=n+ +(m|0)*(J*J);R=R+1|0}while(R>>>0>>0);J=o}I=(k|0)!=0;if(I){R=c[d+36>>2]|0;Q=c[k+88>>2]|0;c[Q+(R*592|0)+552>>2]=l;h[Q+(R*592|0)+560>>3]=+h[T+32>>3];l=U+8|0;X=Pc(c[l>>2]<<3)|0;c[Q+(R*592|0)>>2]=X;if(!X){X=0;i=W;return X|0}}else l=U+8|0;if(!(c[l>>2]|0)){X=1;i=W;return X|0}z=T+32|0;A=S+93|0;B=d+36|0;C=k+88|0;D=T+40|0;E=d+24|0;F=d+8|0;G=d+16|0;H=0;while(1){o=+g[U+20+(H<<2)>>2];if(o!=0.0){w=~~+Z(+o)>>>0;w=w>>>0>>0?w:j}else w=j;s=+g[U+5184+(H<<2)>>2];x=+h[z>>3]-n/+P(10.0,+(s/10.0));X=a[A>>0]|0;if(!((X&1)!=0&o>0.0)?!((X&4)!=0&s>0.0):0)o=p;else{y=dh(c[E>>2]|0,S)|0;if(!y){l=0;m=57;break}v=H+1|0;m=V+(H+-1<<3)|0;t=T+40+(H<<3)|0;if(!H){r=J;m=0;s=p;q=0.0;do{o=(s+r)*.5;Vf(d,0,o,0);do if(a[A>>0]&4){if(((b[S>>1]|0)+-3&65535)>=4){X=+h[D>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0))s=o;else{X=+h[D>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0)==0;r=X?r:o;s=X?o:s;q=X?q:o}while(0);m=m+1|0}while((m|0)!=128)}else{r=J;u=0;s=p;q=0.0;do{o=(s+r)*.5;Vf(d,H,o,0);do if(a[A>>0]&4){if(((b[S>>1]|0)+-3&65535)>=4){X=+h[m>>3]+ +h[t>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0))s=o;else{X=+h[m>>3]+ +h[t>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0)==0;r=X?r:o;s=X?o:s;q=X?q:o}while(0);u=u+1|0}while((u|0)!=128)}eh(y);o=q==0.0?o:q}if(I)h[(c[(c[C>>2]|0)+((c[B>>2]|0)*592|0)>>2]|0)+(H<<3)>>3]=o;Vf(d,H,o,1);if(!H)o=+h[D>>3];else o=+h[V+(H+-1<<3)>>3]+ +h[T+40+(H<<3)>>3];h[V+(H<<3)>>3]=o;H=H+1|0;if(H>>>0>=(c[l>>2]|0)>>>0){l=1;m=57;break}}if((m|0)==57){i=W;return l|0}return 0}function Xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a+24>>2]=b;c[a+28>>2]=d;f=Qc(1,848)|0;e=a+20|0;c[c[e>>2]>>2]=f;if(!f){a=0;return a|0}f=b+16|0;g=Qc(c[f>>2]|0,52)|0;b=c[c[e>>2]>>2]|0;c[b+20>>2]=g;if(!g){g=0;return g|0}c[b+16>>2]=c[f>>2];c[a>>2]=c[d+84>>2];g=1;return g|0}function Yf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(!b)return;s=b+20|0;d=c[s>>2]|0;do if(d){r=(a[b+40>>0]&1)==0?3:4;e=c[d>>2]|0;if(e){o=e+20|0;k=e+16|0;if(c[k>>2]|0){m=0;n=c[o>>2]|0;while(1){l=n+24|0;d=c[l>>2]|0;if(d){i=c[n+28>>2]|0;j=(i>>>0)/136|0;if(i>>>0>135){i=0;while(1){h=d+48|0;e=c[h>>2]|0;if(e){f=c[d+52>>2]|0;g=(f>>>0)/40|0;if(f>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=d+84|0;e=c[h>>2]|0;if(e){t=c[d+88>>2]|0;g=(t>>>0)/40|0;if(t>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=d+120|0;e=c[h>>2]|0;if(e){t=c[d+124>>2]|0;g=(t>>>0)/40|0;if(t>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}i=i+1|0;if(i>>>0>=j>>>0)break;else d=d+136|0}d=c[l>>2]|0}Uc(d);c[l>>2]=0}if((c[n+36>>2]|0)!=0?(p=n+32|0,q=c[p>>2]|0,(q|0)!=0):0){Sc(q);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0}m=m+1|0;if(m>>>0>=(c[k>>2]|0)>>>0)break;else n=n+52|0}}Uc(c[o>>2]|0);c[o>>2]=0;Uc(c[c[s>>2]>>2]|0);d=c[s>>2]|0;c[d>>2]=0;if(!d)break}Uc(d);c[s>>2]=0}while(0);Uc(b);return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+32|0;f=c[e>>2]|0;b=a+40|0;d=c[b>>2]|0;if(f){g=a+44|0;if(d>>>0<=(c[g>>2]|0)>>>0){a=1;return a|0}if(c[a+36>>2]|0){Sc(f);f=Rc(c[b>>2]|0)|0;c[e>>2]=f;if(!f){c[g>>2]=0;c[b>>2]=0;c[a+36>>2]=0;a=0;return a|0}else{c[g>>2]=c[b>>2];c[a+36>>2]=1;a=1;return a|0}}}g=Rc(d)|0;c[e>>2]=g;if(!g){a=0;return a|0}c[a+44>>2]=c[b>>2];c[a+36>>2]=1;a=1;return a|0}function _f(a,b,c){a=a|0;b=b|0;c=c|0;return ig(a,b,1,1.0,52,c)|0}function $f(a,b,c){a=a|0;b=b|0;c=c|0;return ig(a,b,0,.5,56,c)|0}function ag(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;d=c[a+24>>2]|0;f=c[d+16>>2]|0;if(!f){g=0;return g|0}g=0;b=0;e=c[d+24>>2]|0;d=c[(c[c[a+20>>2]>>2]|0)+20>>2]|0;while(1){i=c[e+24>>2]|0;i=((i&7|0)!=0&1)+(i>>>3)|0;h=c[d+24>>2]|0;a=(c[d+20>>2]|0)+-1|0;b=(_(_((i|0)==3?4:i,(c[h+(a*136|0)+8>>2]|0)-(c[h+(a*136|0)>>2]|0)|0)|0,(c[h+(a*136|0)+12>>2]|0)-(c[h+(a*136|0)+4>>2]|0)|0)|0)+b|0;g=g+1|0;if(g>>>0>=f>>>0)break;else{e=e+52|0;d=d+52|0}}return b|0}function bg(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;w=y;if(!(c[b+8>>2]|0)){c[b+36>>2]=d;u=b+28|0;j=c[(c[u>>2]|0)+76>>2]|0;x=b+32|0;c[x>>2]=j+(d*5640|0);v=(h|0)==0;t=b+20|0;if(!v){k=c[(c[c[t>>2]>>2]|0)+20>>2]|0;o=c[j+(d*5640|0)+5584>>2]|0;p=k+16|0;if(!(c[p>>2]|0)){k=h+88|0;j=0}else{l=c[k+24>>2]|0;k=h+88|0;m=c[k>>2]|0;n=0;j=0;do{s=l+(n*136|0)+16|0;c[m+(d*592|0)+20+(n<<2)>>2]=c[s>>2];r=l+(n*136|0)+20|0;c[m+(d*592|0)+152+(n<<2)>>2]=c[r>>2];j=(_(c[r>>2]|0,c[s>>2]|0)|0)+j|0;c[m+(d*592|0)+284+(n<<2)>>2]=c[o+812+(n<<2)>>2];c[m+(d*592|0)+416+(n<<2)>>2]=c[o+944+(n<<2)>>2];n=n+1|0}while(n>>>0<(c[p>>2]|0)>>>0)}s=Qc(_(_(c[h+52>>2]|0,j)|0,c[h+56>>2]|0)|0,32)|0;c[(c[k>>2]|0)+(d*592|0)+548>>2]=s;if(!s){b=0;i=y;return b|0}}j=c[c[t>>2]>>2]|0;s=j+16|0;if(!(c[s>>2]|0)){n=c[x>>2]|0;l=0;k=c[j+20>>2]|0}else{n=c[x>>2]|0;k=c[j+20>>2]|0;d=0;q=c[n+5584>>2]|0;r=k;while(1){o=c[r+32>>2]|0;p=_((c[r+12>>2]|0)-(c[r+4>>2]|0)|0,(c[r+8>>2]|0)-(c[r>>2]|0)|0)|0;j=(p|0)==0;if((c[q+20>>2]|0)==1){if(!j){l=q+1076|0;m=0;j=o;while(1){c[j>>2]=(c[j>>2]|0)-(c[l>>2]|0);m=m+1|0;if((m|0)==(p|0))break;else j=j+4|0}}}else if(!j){l=q+1076|0;m=0;j=o;while(1){c[j>>2]=(c[j>>2]|0)-(c[l>>2]|0)<<11;m=m+1|0;if((m|0)==(p|0))break;else j=j+4|0}}d=d+1|0;l=c[s>>2]|0;if(d>>>0>=l>>>0)break;else{q=q+1080|0;r=r+52|0}}}o=_((c[k+12>>2]|0)-(c[k+4>>2]|0)|0,(c[k+8>>2]|0)-(c[k>>2]|0)|0)|0;a:do switch(c[n+16>>2]|0){case 0:break;case 2:{if(c[n+5608>>2]|0){m=Pc(l<<2)|0;if(!m){b=0;i=y;return b|0}j=c[s>>2]|0;if(!j)j=0;else{l=0;while(1){c[m+(l<<2)>>2]=c[k+32>>2];l=l+1|0;if((l|0)==(j|0))break;else k=k+52|0}}s=(Gf(c[(c[x>>2]|0)+5608>>2]|0,o,m,j,c[(c[(c[b+24>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Uc(m);if(s){b=0;i=y;return b|0}}break}default:{l=c[k+32>>2]|0;m=c[k+84>>2]|0;j=c[k+136>>2]|0;if(!(c[(c[n+5584>>2]|0)+20>>2]|0)){Ef(l,m,j,o);break a}else{Cf(l,m,j,o);break a}}}while(0);j=c[c[t>>2]>>2]|0;k=j+16|0;b:do if(c[k>>2]|0){l=0;m=c[(c[x>>2]|0)+5584>>2]|0;j=c[j+20>>2]|0;c:while(1){switch(c[m+20>>2]|0){case 1:{if(!(Fg(j)|0)){j=0;k=54;break c}break}case 0:{if(!(Jg(j)|0)){j=0;k=54;break c}break}default:{}}l=l+1|0;if(l>>>0>=(c[k>>2]|0)>>>0)break b;else{m=m+1080|0;j=j+52|0}}if((k|0)==54){i=y;return j|0}}while(0);j=c[x>>2]|0;k=Wg(1)|0;if(!k){b=0;i=y;return b|0}do if((c[j+16>>2]|0)==1)if(!(c[(c[j+5584>>2]|0)+20>>2]|0)){l=Bf()|0;m=3;break}else{l=Af()|0;m=3;break}else{l=c[j+5600>>2]|0;m=c[(c[b+24>>2]|0)+16>>2]|0}while(0);t=Zg(k,c[c[t>>2]>>2]|0,j,l,m)|0;Xg(k);if(!t){b=0;i=y;return b|0}j=c[u>>2]|0;c[w>>2]=0;if(!v)c[h+12>>2]=0;if(!(a[j+93>>0]&5)){if(c[(c[x>>2]|0)+8>>2]|0){j=0;do{Uf(b,j,1);j=j+1|0}while(j>>>0<(c[(c[x>>2]|0)+8>>2]|0)>>>0)}}else if(!(Wf(b,e,w,g,h)|0)){b=0;i=y;return b|0}}if(h)c[h+12>>2]=1;j=dh(c[b+24>>2]|0,c[b+28>>2]|0)|0;if(!j)j=1;else{b=bh(j,c[b+36>>2]|0,c[c[b+20>>2]>>2]|0,c[(c[b+32>>2]|0)+8>>2]|0,e,f,g,h,c[b+4>>2]|0,c[b>>2]|0,c[b+16>>2]|0,1)|0;eh(j);j=(b|0)==0}b=j&1^1;i=y;return b|0}function cg(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+16|0;m=u+8|0;l=u;k=u+12|0;j=a+36|0;c[j>>2]=e;t=c[a+28>>2]|0;p=a+32|0;c[p>>2]=(c[t+76>>2]|0)+(e*5640|0);c[k>>2]=0;o=a+24|0;e=dh(c[o>>2]|0,t)|0;if(!e){t=0;i=u;return t|0}n=a+20|0;t=ch(e,c[j>>2]|0,c[c[n>>2]>>2]|0,b,k,d,f,h)|0;eh(e);if(!t){t=0;i=u;return t|0}e=c[c[n>>2]>>2]|0;a=c[(c[p>>2]|0)+5584>>2]|0;j=c[e+20>>2]|0;d=Wg(0)|0;if(!d){t=0;i=u;return t|0}k=e+16|0;a:do if(c[k>>2]|0){f=0;e=j;while(1){if(!(Yg(d,e,a)|0))break;f=f+1|0;if(f>>>0>=(c[k>>2]|0)>>>0)break a;else{a=a+1080|0;e=e+52|0}}Xg(d);t=0;i=u;return t|0}while(0);Xg(d);e=c[c[n>>2]>>2]|0;j=e+16|0;do if(c[j>>2]|0){k=0;f=c[(c[o>>2]|0)+24>>2]|0;d=c[(c[p>>2]|0)+5584>>2]|0;a=c[e+20>>2]|0;while(1){e=(c[f+36>>2]|0)+1|0;if((c[d+20>>2]|0)==1){if(!(Gg(a,e)|0)){e=0;a=49;break}}else if(!(Ng(a,e)|0)){e=0;a=49;break}k=k+1|0;if(k>>>0>=(c[j>>2]|0)>>>0){a=14;break}else{f=f+52|0;d=d+1080|0;a=a+52|0}}if((a|0)==14){e=c[c[n>>2]>>2]|0;break}else if((a|0)==49){i=u;return e|0}}while(0);k=c[p>>2]|0;a=c[e+20>>2]|0;j=c[k+16>>2]|0;do if(j){b=_((c[a+12>>2]|0)-(c[a+4>>2]|0)|0,(c[a+8>>2]|0)-(c[a>>2]|0)|0)|0;d=e+16|0;e=c[d>>2]|0;if(e>>>0<=2){c[m>>2]=e;Ub(h,1,19703,m)|0;break}if((_((c[a+64>>2]|0)-(c[a+56>>2]|0)|0,(c[a+60>>2]|0)-(c[a+52>>2]|0)|0)|0)>=(b|0)?(_((c[a+116>>2]|0)-(c[a+108>>2]|0)|0,(c[a+112>>2]|0)-(c[a+104>>2]|0)|0)|0)>=(b|0):0){if((j|0)!=2){e=c[a+32>>2]|0;if((c[(c[k+5584>>2]|0)+20>>2]|0)==1){Df(e,c[a+84>>2]|0,c[a+136>>2]|0,b);break}else{Ff(e,c[a+84>>2]|0,c[a+136>>2]|0,b);break}}f=k+5604|0;if(!(c[f>>2]|0))break;k=Pc(e<<2)|0;if(!k){t=0;i=u;return t|0}e=c[d>>2]|0;if(!e)e=0;else{j=0;while(1){c[k+(j<<2)>>2]=c[a+32>>2];j=j+1|0;if((j|0)==(e|0))break;else a=a+52|0}}t=(Hf(c[f>>2]|0,b,k,e,c[(c[(c[o>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Uc(k);if(t)e=0;else break;i=u;return e|0}Ub(h,1,19642,l)|0;t=0;i=u;return t|0}while(0);e=c[c[n>>2]>>2]|0;s=e+16|0;if(!(c[s>>2]|0)){t=1;i=u;return t|0}t=0;r=c[(c[o>>2]|0)+24>>2]|0;q=c[(c[p>>2]|0)+5584>>2]|0;p=c[e+20>>2]|0;while(1){o=c[p+24>>2]|0;h=c[r+36>>2]|0;j=c[o+(h*136|0)+8>>2]|0;k=c[o+(h*136|0)>>2]|0;n=j-k|0;f=c[o+(h*136|0)+12>>2]|0;h=c[o+(h*136|0)+4>>2]|0;o=(c[p+8>>2]|0)-(c[p>>2]|0)-n|0;e=c[r+24>>2]|0;if(!(c[r+32>>2]|0)){e=1<>2]|0;a=(f|0)==(h|0);if((c[q+20>>2]|0)==1){if(!a){d=(j|0)==(k|0);b=q+1076|0;k=f-h|0;f=0;while(1){if(!d){a=0;j=e;while(1){h=(c[b>>2]|0)+(c[j>>2]|0)|0;c[j>>2]=(h|0)<(m|0)?m:(h|0)>(l|0)?l:h;a=a+1|0;if((a|0)==(n|0))break;else j=j+4|0}e=e+(n<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else e=e+(o<<2)|0}}}else if(!a){d=(j|0)==(k|0);b=q+1076|0;k=f-h|0;f=0;while(1){if(!d){a=0;j=e;while(1){h=Hh(+g[j>>2])|0;h=(c[b>>2]|0)+h|0;c[j>>2]=(h|0)<(m|0)?m:(h|0)>(l|0)?l:h;a=a+1|0;if((a|0)==(n|0))break;else j=j+4|0}e=e+(n<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else e=e+(o<<2)|0}}t=t+1|0;if(t>>>0>=(c[s>>2]|0)>>>0){e=1;break}else{r=r+52|0;q=q+1080|0;p=p+52|0}}i=u;return e|0}function dg(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d+24|0;m=c[q>>2]|0;h=c[m+16>>2]|0;l=(h|0)==0;if(l){q=1;return q|0}i=0;g=0;j=c[m+24>>2]|0;k=c[(c[c[d+20>>2]>>2]|0)+20>>2]|0;while(1){n=c[j+24>>2]|0;n=((n&7|0)!=0&1)+(n>>>3)|0;o=c[k+24>>2]|0;p=(c[k+20>>2]|0)+-1|0;g=(_(_((n|0)==3?4:n,(c[o+(p*136|0)+8>>2]|0)-(c[o+(p*136|0)>>2]|0)|0)|0,(c[o+(p*136|0)+12>>2]|0)-(c[o+(p*136|0)+4>>2]|0)|0)|0)+g|0;i=i+1|0;if((i|0)==(h|0))break;else{j=j+52|0;k=k+52|0}}g=g>>>0>f>>>0;if(g|l){q=g&1^1;return q|0}p=0;o=c[m+24>>2]|0;n=c[(c[c[d+20>>2]>>2]|0)+20>>2]|0;while(1){l=c[o+24>>2]|0;d=c[n+24>>2]|0;f=c[o+36>>2]|0;i=c[d+(f*136|0)+8>>2]|0;j=c[d+(f*136|0)>>2]|0;m=i-j|0;k=c[d+(f*136|0)+12>>2]|0;f=c[d+(f*136|0)+4>>2]|0;d=(c[n+8>>2]|0)-(c[n>>2]|0)-m|0;l=((l&7|0)!=0&1)+(l>>>3)|0;a:do switch(((l|0)==3?4:l)|0){case 1:{g=c[n+32>>2]|0;h=(k|0)==(f|0);if(!(c[o+32>>2]|0)){if(h)break a;l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+m|0;i=0;h=g;while(1){a[e>>0]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+1|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}else{if(h)break a;l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+m|0;i=0;h=g;while(1){a[e>>0]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+1|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}case 2:{g=c[n+32>>2]|0;h=(k|0)==(f|0);if(!(c[o+32>>2]|0)){if(!h){l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+(m<<1)|0;i=0;h=g;while(1){b[e>>1]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+2|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}}else if(!h){l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+(m<<1)|0;i=0;h=g;while(1){b[e>>1]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+2|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}case 4:{if((k|0)!=(f|0)){l=(i|0)==(j|0);k=k-f|0;f=0;g=c[n+32>>2]|0;while(1){if(!l){j=e+(m<<2)|0;i=0;h=g;while(1){c[e>>2]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+4|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}default:{}}while(0);p=p+1|0;if(p>>>0>=(c[(c[q>>2]|0)+16>>2]|0)>>>0){e=1;break}else{o=o+52|0;n=n+52|0}}return e|0}function eg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a+24>>2]|0;f=c[d+16>>2]|0;if(!f){g=0;return g|0}g=0;b=0;e=c[d+24>>2]|0;d=c[(c[c[a+20>>2]>>2]|0)+20>>2]|0;while(1){a=c[e+24>>2]|0;a=((a&7|0)!=0&1)+(a>>>3)|0;b=(_(_((c[d+12>>2]|0)-(c[d+4>>2]|0)|0,(c[d+8>>2]|0)-(c[d>>2]|0)|0)|0,(a|0)==3?4:a)|0)+b|0;g=g+1|0;if(g>>>0>=f>>>0)break;else{e=e+52|0;d=d+52|0}}return b|0}function fg(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c[f+24>>2]|0;q=o+16|0;j=c[q>>2]|0;n=(j|0)==0;if(n)i=0;else{k=0;i=0;l=c[o+24>>2]|0;m=c[(c[c[f+20>>2]>>2]|0)+20>>2]|0;while(1){p=c[l+24>>2]|0;p=((p&7|0)!=0&1)+(p>>>3)|0;i=(_(_((c[m+12>>2]|0)-(c[m+4>>2]|0)|0,(c[m+8>>2]|0)-(c[m>>2]|0)|0)|0,(p|0)==3?4:p)|0)+i|0;k=k+1|0;if((k|0)==(j|0))break;else{l=l+52|0;m=m+52|0}}}i=(i|0)!=(h|0);if(i|n){q=i&1^1;return q|0}p=0;n=c[o+24>>2]|0;h=c[(c[c[f+20>>2]>>2]|0)+20>>2]|0;while(1){f=c[n+24>>2]|0;i=(c[h+8>>2]|0)-(c[h>>2]|0)|0;j=(c[h+12>>2]|0)-(c[h+4>>2]|0)|0;m=_(j,i)|0;f=((f&7|0)!=0&1)+(f>>>3)|0;a:do switch(((f|0)==3?4:f)|0){case 1:{j=c[h+32>>2]|0;i=(m|0)==0;if(!(c[n+32>>2]|0)){if(i)break a;else{k=0;i=j;j=g}while(1){c[i>>2]=d[j>>0];k=k+1|0;if((k|0)==(m|0))break;else{i=i+4|0;j=j+1|0}}g=g+m|0;break a}else{if(i)break a;else{k=0;i=j;j=g}while(1){c[i>>2]=a[j>>0];k=k+1|0;if((k|0)==(m|0))break;else{i=i+4|0;j=j+1|0}}g=g+m|0;break a}}case 2:{l=c[h+32>>2]|0;k=(m|0)==0;if(!(c[n+32>>2]|0)){if(!k){k=g+(_(j<<1,i)|0)|0;j=0;i=l;while(1){c[i>>2]=e[g>>1];j=j+1|0;if((j|0)==(m|0))break;else{i=i+4|0;g=g+2|0}}g=k}}else if(!k){k=g+(_(j<<1,i)|0)|0;j=0;i=l;while(1){c[i>>2]=b[g>>1];j=j+1|0;if((j|0)==(m|0))break;else{i=i+4|0;g=g+2|0}}g=k}break}case 4:{if(m){k=g+(_(j<<2,i)|0)|0;i=0;j=c[h+32>>2]|0;while(1){c[j>>2]=c[g>>2];i=i+1|0;if((i|0)==(m|0))break;else{j=j+4|0;g=g+4|0}}g=k}break}default:{}}while(0);p=p+1|0;if(p>>>0>=(c[q>>2]|0)>>>0){g=1;break}else{n=n+52|0;h=h+52|0}}return g|0}function gg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+24|0;b=c[g>>2]|0;if(!b)return;f=c[a+28>>2]|0;e=(f>>>0)/52|0;if(f>>>0>51){f=0;while(1){a=c[b>>2]|0;if(a){Uc(a+-1|0);c[b>>2]=0}a=b+4|0;d=c[a>>2]|0;if(d){Uc(d);c[a>>2]=0}a=b+8|0;d=c[a>>2]|0;if(d){Uc(d);c[a>>2]=0}f=f+1|0;if(f>>>0>=e>>>0)break;else b=b+52|0}b=c[g>>2]|0}Uc(b);c[g>>2]=0;return}function hg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+24|0;b=c[g>>2]|0;if(!b)return;f=c[a+28>>2]|0;e=(f>>>0)/56|0;if(f>>>0>55){f=0;while(1){a=c[b>>2]|0;if(a){Uc(a);c[b>>2]=0}d=b+4|0;a=c[d>>2]|0;if(a){Uc(a);c[d>>2]=0}f=f+1|0;if(f>>>0>=e>>>0)break;else b=b+56|0}b=c[g>>2]|0}Uc(b);c[g>>2]=0;return}function ig(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=+f;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0.0;Sa=i;i=i+80|0;La=Sa+64|0;Ka=Sa+56|0;Na=Sa+48|0;Pa=Sa+40|0;Oa=Sa+32|0;Qa=Sa+24|0;Ma=Sa+16|0;Ja=Sa+8|0;k=c[b+28>>2]|0;Ia=c[c[b+20>>2]>>2]|0;p=c[(c[k+76>>2]|0)+(d*5640|0)+5584>>2]|0;q=c[Ia+20>>2]|0;n=c[b+24>>2]|0;o=c[n+24>>2]|0;Fa=c[k+24>>2]|0;m=c[k+12>>2]|0;Ha=(_(m,(d>>>0)%(Fa>>>0)|0)|0)+(c[k+4>>2]|0)|0;l=c[n>>2]|0;l=Ha>>>0>l>>>0?Ha:l;c[Ia>>2]=l;Ha=Si(m|0,0,Ha|0,0)|0;Ha=Ha|0-C;m=c[n+8>>2]|0;m=Ha>>>0>>0?Ha:m;Ha=Ia+8|0;c[Ha>>2]=m;Ga=c[k+16>>2]|0;Fa=(_(Ga,(d>>>0)/(Fa>>>0)|0)|0)+(c[k+8>>2]|0)|0;d=c[n+4>>2]|0;d=Fa>>>0>d>>>0?Fa:d;Ea=Ia+4|0;c[Ea>>2]=d;Fa=Si(Ga|0,0,Fa|0,0)|0;Fa=Fa|0-C;n=c[n+12>>2]|0;n=Fa>>>0>>0?Fa:n;Fa=Ia+12|0;c[Fa>>2]=n;if(!(c[p+4>>2]|0)){Ub(j,1,19777,Sa)|0;Ra=0;i=Sa;return Ra|0}Ga=Ia+16|0;if(!(c[Ga>>2]|0)){Ra=1;i=Sa;return Ra|0}Da=k+80|0;Ca=b+40|0;Ba=(e|0)==0;k=d;Aa=0;a:while(1){c[o+36>>2]=0;va=c[o>>2]|0;d=(l+-1+va|0)/(va|0)|0;c[q>>2]=d;wa=c[o+4>>2]|0;k=(k+-1+wa|0)/(wa|0)|0;za=q+4|0;c[za>>2]=k;va=(m+-1+va|0)/(va|0)|0;ya=q+8|0;c[ya>>2]=va;wa=(n+-1+wa|0)/(wa|0)|0;xa=q+12|0;c[xa>>2]=wa;d=va-d|0;k=wa-k|0;if((4294967295/(d>>>0)|0)>>>0>>0){Ra=6;break}d=_(k,d)|0;if(d>>>0>1073741823){Ra=8;break}m=d<<2;va=c[p+4>>2]|0;wa=q+16|0;c[wa>>2]=va;b=c[Da>>2]|0;c[q+20>>2]=va>>>0>>0?1:va-b|0;b=q+40|0;c[b>>2]=m;do if(a[Ca>>0]&1){e=q+32|0;l=c[e>>2]|0;if(l){k=q+44|0;if(m>>>0<=(c[k>>2]|0)>>>0)break;d=q+36|0;if(c[d>>2]|0){Sc(l);va=Rc(c[b>>2]|0)|0;c[e>>2]=va;if(!va){Ra=16;break a}c[k>>2]=c[b>>2];c[d>>2]=1;break}}va=Rc(m)|0;c[e>>2]=va;if(!va)break a;c[q+44>>2]=c[b>>2];c[q+36>>2]=1}while(0);e=(c[wa>>2]|0)*136|0;k=q+24|0;b=c[k>>2]|0;if(b){d=q+28|0;if(e>>>0>(c[d>>2]|0)>>>0){b=Tc(b,e)|0;if(!b){Ra=24;break}c[k>>2]=b;va=c[d>>2]|0;Qi(b+va|0,0,e-va|0)|0;c[d>>2]=e}}else{d=Pc(e)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break}c[q+28>>2]=e;Qi(d|0,0,e|0)|0}d=c[wa>>2]|0;va=(c[p+20>>2]|0)==0?7:8;if(d){ra=p+8|0;sa=p+12|0;ta=o+24|0;ua=p+804|0;qa=c[k>>2]|0;k=p+28|0;b=0;while(1){oa=d;pa=d+-1|0;la=c[q>>2]|0;ma=Ri(1,0,pa|0)|0;ma=Si(ma|0,C|0,-1,-1)|0;na=C;la=Si(ma|0,na|0,la|0,((la|0)<0)<<31>>31|0)|0;la=Pi(la|0,C|0,pa|0)|0;c[qa>>2]=la;e=c[za>>2]|0;e=Si(ma|0,na|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,pa|0)|0;c[qa+4>>2]=e;d=c[ya>>2]|0;d=Si(ma|0,na|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,pa|0)|0;c[qa+8>>2]=d;l=c[xa>>2]|0;l=Si(ma|0,na|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Pi(l|0,C|0,pa|0)|0;c[qa+12>>2]=l;r=c[p+812+(b<<2)>>2]|0;n=c[p+944+(b<<2)>>2]|0;s=la>>r<>n<>31|0)|0;m=Pi(m|0,C|0,n|0)|0;if((la|0)==(d|0))d=0;else{la=Ri(1,0,r|0)|0;la=Si(la|0,C|0,-1,-1)|0;d=Si(la|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,r|0)|0;d=(d<>r}la=qa+16|0;c[la>>2]=d;ia=(e|0)==(l|0)?0:(m<>n;c[qa+20>>2]=ia;ia=_(ia,d)|0;ja=ia*40|0;ka=(b|0)==0;if(ka)d=1;else{s=Si(s|0,((s|0)<0)<<31>>31|0,1,0)|0;s=Ti(s|0,C|0,1)|0;t=Si(t|0,((t|0)<0)<<31>>31|0,1,0)|0;t=Ti(t|0,C|0,1)|0;d=3;n=n+-1|0;r=r+-1|0}ha=qa+24|0;c[ha>>2]=d;S=c[ra>>2]|0;S=S>>>0>>0?S:r;T=c[sa>>2]|0;T=T>>>0>>0?T:n;U=(ia|0)!=0;V=(ia|0)==0;W=1<>2]|0;d=Si(ma|0,na|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,pa|0)|0;k=c[za>>2]|0;k=Si(ma|0,na|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Pi(k|0,C|0,pa|0)|0;e=c[ya>>2]|0;e=Si(ma|0,na|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,pa|0)|0;m=c[xa>>2]|0;m=Si(ma|0,na|0,m|0,((m|0)<0)<<31>>31|0)|0;m=Pi(m|0,C|0,pa|0)|0;l=0}else{l=fa+1|0;d=c[q>>2]|0;O=Ri(l&1|0,0,pa|0)|0;O=Oi(da|0,ea|0,O|0,C|0)|0;m=C;d=Si(O|0,m|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,oa|0)|0;k=c[za>>2]|0;P=Ri(l>>>1|0,0,pa|0)|0;P=Oi(da|0,ea|0,P|0,C|0)|0;Q=C;k=Si(P|0,Q|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Pi(k|0,C|0,oa|0)|0;e=c[ya>>2]|0;e=Si(O|0,m|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,oa|0)|0;m=c[xa>>2]|0;m=Si(P|0,Q|0,m|0,((m|0)<0)<<31>>31|0)|0;m=Pi(m|0,C|0,oa|0)|0}c[ga+16>>2]=l;c[ga>>2]=d;Q=ga+4|0;c[Q>>2]=k;P=ga+8|0;c[P>>2]=e;O=ga+12|0;c[O>>2]=m;k=Wa[va&15](l)|0;Ta=+(c[R+4>>2]|0)*.00048828125+1.0;g[ga+32>>2]=+Gh(1.0,(c[ta>>2]|0)+k-(c[R>>2]|0)|0)*Ta*f;c[ga+28>>2]=(c[R>>2]|0)+-1+(c[ua>>2]|0);k=ga+20|0;e=c[k>>2]|0;if(!(U&(e|0)==0)){d=ga+24|0;if((c[d>>2]|0)>>>0>>0){e=Tc(e,ja)|0;if(!e){Ra=41;break a}c[k>>2]=e;N=c[d>>2]|0;Qi(e+N|0,0,ja-N|0)|0;c[d>>2]=ja}}else{d=Pc(ja)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break a}Qi(d|0,0,ja|0)|0;c[ga+24>>2]=ja}if(!V){M=c[k>>2]|0;N=0;while(1){F=c[la>>2]|0;J=(((N>>>0)%(F>>>0)|0)<>>0)/(F>>>0)|0)<>2]|0;I=(J|0)>(I|0)?J:I;c[M>>2]=I;J=c[Q>>2]|0;J=(F|0)>(J|0)?F:J;F=M+4|0;c[F>>2]=J;L=c[P>>2]|0;L=(G|0)<(L|0)?G:L;G=M+8|0;c[G>>2]=L;l=c[O>>2]|0;l=(H|0)<(l|0)?H:l;H=M+12|0;c[H>>2]=l;I=I>>S<>T<>31|0)|0;L=Pi(L|0,C|0,S|0)|0;l=Si($|0,aa|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Pi(l|0,C|0,T|0)|0;L=(L<>S;K=M+16|0;c[K>>2]=L;l=(l<>T;u=M+20|0;c[u>>2]=l;L=_(l,L)|0;l=_(L,h)|0;k=M+24|0;e=c[k>>2]|0;do if((e|0)==0&(L|0)!=0){d=Pc(l)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break a}Qi(d|0,0,l|0)|0;c[M+28>>2]=l}else{d=M+28|0;if(l>>>0<=(c[d>>2]|0)>>>0)break;e=Tc(e,l)|0;if(!e){Ra=50;break a}c[k>>2]=e;E=c[d>>2]|0;Qi(e+E|0,0,l-E|0)|0;c[d>>2]=l}while(0);m=M+32|0;d=c[m>>2]|0;e=c[K>>2]|0;l=c[u>>2]|0;if(!d)d=jg(e,l,j)|0;else d=lg(d,e,l,j)|0;c[m>>2]=d;if(!d)Ub(j,2,19990,Ka)|0;m=M+36|0;e=c[m>>2]|0;l=c[K>>2]|0;d=c[u>>2]|0;if(!e)d=jg(l,d,j)|0;else d=lg(e,l,d,j)|0;c[m>>2]=d;if(!d)Ub(j,2,20012,La)|0;if(L){E=0;do{A=c[K>>2]|0;z=(((E>>>0)%(A>>>0)|0)<>>0)/(A>>>0)|0)<>2]|0;e=d+(E*56|0)|0;l=c[e>>2]|0;if(!l){y=Pc(8192)|0;c[e>>2]=y;if(!y){d=0;Ra=87;break a}c[d+(E*56|0)+32>>2]=8192;y=Qc(10,32)|0;c[d+(E*56|0)+4>>2]=y;if(!y){d=0;Ra=87;break a}c[d+(E*56|0)+52>>2]=10}else{m=d+(E*56|0)+32|0;u=c[m>>2]|0;v=d+(E*56|0)+4|0;w=c[v>>2]|0;x=e;y=x+52|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));c[e>>2]=l;c[m>>2]=u;c[v>>2]=w}y=c[M>>2]|0;c[d+(E*56|0)+8>>2]=(z|0)>(y|0)?z:y;z=c[F>>2]|0;c[d+(E*56|0)+12>>2]=(A|0)>(z|0)?A:z;A=c[G>>2]|0;c[d+(E*56|0)+16>>2]=(B|0)<(A|0)?B:A;B=c[H>>2]|0;c[d+(E*56|0)+20>>2]=(D|0)<(B|0)?D:B}else{e=c[k>>2]|0;d=e+(E*52|0)+4|0;if((c[d>>2]|0)==0?(y=Qc(100,24)|0,c[d>>2]=y,(y|0)==0):0){d=0;Ra=87;break a}d=e+(E*52|0)+8|0;if((c[d>>2]|0)==0?(y=Qc(100,24)|0,c[d>>2]=y,(y|0)==0):0){d=0;Ra=87;break a}m=c[M>>2]|0;m=(z|0)>(m|0)?z:m;c[e+(E*52|0)+12>>2]=m;d=c[F>>2]|0;A=(A|0)>(d|0)?A:d;c[e+(E*52|0)+16>>2]=A;d=c[G>>2]|0;d=(B|0)<(d|0)?B:d;c[e+(E*52|0)+20>>2]=d;B=c[H>>2]|0;D=(D|0)<(B|0)?D:B;c[e+(E*52|0)+24>>2]=D;m=_(D-A|0,d-m<<2)|0;d=e+(E*52|0)+36|0;if(m>>>0<=(c[d>>2]|0)>>>0)break;l=e+(E*52|0)|0;e=c[l>>2]|0;if(e)Uc(e+-1|0);e=Pc(m|1)|0;c[l>>2]=e;if(!e){Ra=74;break a}c[d>>2]=m;a[e>>0]=0;c[l>>2]=(c[l>>2]|0)+1}while(0);E=E+1|0}while(E>>>0>>0)}N=N+1|0;if(N>>>0>=ia>>>0)break;else M=M+40|0}}k=R+8|0;fa=fa+1|0;if(fa>>>0>=(c[ha>>2]|0)>>>0)break;else{ga=ga+36|0;R=k}}b=b+1|0;if(b>>>0<(c[wa>>2]|0)>>>0){d=pa;qa=qa+136|0}else break}}d=Aa+1|0;if(d>>>0>=(c[Ga>>2]|0)>>>0){d=1;Ra=87;break}l=c[Ia>>2]|0;k=c[Ea>>2]|0;m=c[Ha>>2]|0;n=c[Fa>>2]|0;Aa=d;o=o+52|0;p=p+1080|0;q=q+52|0}if((Ra|0)==6){Ub(j,1,19816,Ja)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==8){Ub(j,1,19816,Ma)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==16){c[k>>2]=0;c[b>>2]=0;c[d>>2]=0}else if((Ra|0)==24){Ub(j,1,19849,Oa)|0;Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==41){Ub(j,1,19889,Pa)|0;Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==50){Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ub(j,1,19932,Na)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==74){c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==87){i=Sa;return d|0}Ub(j,1,19816,Qa)|0;Ra=0;i=Sa;return Ra|0}function jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+288|0;l=v+16|0;j=v+8|0;t=v+152|0;u=v+24|0;e=Qc(1,20)|0;if(!e){Ub(d,1,20034,v)|0;u=0;i=v;return u|0}c[e>>2]=a;m=e+4|0;c[m>>2]=b;c[t>>2]=a;c[u>>2]=b;k=e+8|0;c[k>>2]=0;f=0;h=0;while(1){s=_(b,a)|0;a=(a+1|0)/2|0;g=h+1|0;c[t+(g<<2)>>2]=a;b=(b+1|0)/2|0;c[u+(g<<2)>>2]=b;f=f+s|0;if(s>>>0<=1)break;else h=g}c[k>>2]=f;if(!f){Uc(e);Ub(d,2,20072,j)|0;u=0;i=v;return u|0}f=Qc(f,16)|0;c[e+12>>2]=f;if(!f){Ub(d,1,20122,l)|0;Uc(e);u=0;i=v;return u|0}s=c[k>>2]|0;c[e+16>>2]=s<<4;b=f+((_(c[m>>2]|0,c[e>>2]|0)|0)<<4)|0;if(!h)b=f;else{r=0;g=b;a=b;b=f;do{p=c[u+(r<<2)>>2]|0;a:do if((p|0)>0){q=c[t+(r<<2)>>2]|0;if((q|0)<=0){k=p+-1|0;d=0;while(1){o=(d&1|0)!=0|(d|0)==(k|0);j=o?g:a;a=o?g:a+(q<<4)|0;d=d+1|0;if((d|0)>=(p|0)){g=j;break a}else g=j}}o=((q+2+((q|0)<2?~q:-3)|0)>>>1)+1|0;m=p+-1|0;n=0;do{d=q;l=g;while(1){c[b>>2]=l;j=b+16|0;k=d;d=d+-2|0;if((d|0)>-1){c[j>>2]=l;b=b+32|0}else b=j;if((k|0)<=2)break;else l=l+16|0}l=g+(o<<4)|0;d=(n&1|0)!=0|(n|0)==(m|0);g=d?l:a;a=d?l:a+(q<<4)|0;n=n+1|0}while((n|0)<(p|0))}while(0);r=r+1|0}while((r|0)!=(h|0))}c[b>>2]=0;if(!s){u=e;i=v;return u|0}else b=0;while(1){c[f+4>>2]=999;c[f+8>>2]=0;c[f+12>>2]=0;b=b+1|0;if((b|0)==(s|0))break;else f=f+16|0}i=v;return e|0}function kg(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a+8>>2]|0;if(!b)return;d=0;a=c[a+12>>2]|0;while(1){c[a+4>>2]=999;c[a+8>>2]=0;c[a+12>>2]=0;d=d+1|0;if(d>>>0>=b>>>0)break;else a=a+16|0}return} -function bb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function cb(){return i|0}function db(a){a=a|0;i=a}function eb(a,b){a=a|0;b=b|0;i=a;j=b}function fb(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function gb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function hb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function ib(a){a=a|0;C=a}function jb(){return C|0}function kb(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+8272|0;k=o+16|0;m=o+12|0;j=o;c[m>>2]=0;if((c[a>>2]|0)==1375686655)n=gc(0)|0;else n=gc(2)|0;bc(n,1,0)|0;cc(n,2,0)|0;dc(n,3,0)|0;hc(k);c[j>>2]=a;c[j+4>>2]=a;c[j+8>>2]=b;l=ec(j,1)|0;if(!(ic(n,k)|0)){mi(4476)|0;Fb(l);zc(n);g=1;i=o;return g|0}if(!(jc(l,n,m)|0)){mi(4528)|0;Fb(l);zc(n);Zb(c[m>>2]|0);g=1;i=o;return g|0}if(!(oc(n,l,c[m>>2]|0,c[k+8228>>2]|0)|0)){mi(4578)|0;zc(n);Fb(l);Zb(c[m>>2]|0);g=1;i=o;return g|0}j=c[m>>2]|0;c[f>>2]=c[j+8>>2];c[g>>2]=c[j+12>>2];a=c[j+16>>2]|0;c[h>>2]=a;a=_(_(a<<2,c[f>>2]|0)|0,c[g>>2]|0)|0;c[e>>2]=a;e=Fi(a)|0;c[d>>2]=e;switch(c[h>>2]|0){case 1:{Ui(e|0,c[(c[j+24>>2]|0)+44>>2]|0,a|0)|0;break}case 3:{if((_(c[g>>2]|0,c[f>>2]|0)|0)>0){b=c[j+24>>2]|0;j=c[b+44>>2]|0;a=c[b+96>>2]|0;b=c[b+148>>2]|0;k=0;do{h=k*3|0;c[e+(h<<2)>>2]=c[j+(k<<2)>>2];c[e+(h+1<<2)>>2]=c[a+(k<<2)>>2];c[e+(h+2<<2)>>2]=c[b+(k<<2)>>2];k=k+1|0}while((k|0)<(_(c[g>>2]|0,c[f>>2]|0)|0))}break}default:{}}Fb(l);zc(n);Zb(c[m>>2]|0);g=0;i=o;return g|0}function lb(){return fc()|0}function mb(a,b){a=a|0;b=b|0;return}function nb(a,b){a=a|0;b=b|0;return}function ob(a,b){a=a|0;b=b|0;var d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;li(4625,d)|0;i=b;return}function pb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;g=h;c[g>>2]=d;if(!e){i=h;return}d=b;f=0;b=g+(e+-1)|0;while(1){a[d>>0]=a[b>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else{d=d+1|0;b=b+-1|0}}i=h;return}function qb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;c[d>>2]=0;if(!e)return;f=0;d=d+(e+-1)|0;while(1){a[d>>0]=a[b>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else{b=b+1|0;d=d+-1|0}}return}function rb(b,d){b=b|0;d=+d;var e=0,f=0,g=0,j=0,l=0;e=i;i=i+16|0;j=e;h[j>>3]=d;j=j+8|0;h[k>>3]=d;f=c[k>>2]|0;g=c[k+4>>2]|0;l=Ti(f|0,g|0,56)|0;a[b>>0]=l;l=Ti(f|0,g|0,48)|0;a[b+1>>0]=l;l=Ti(f|0,g|0,40)|0;a[b+2>>0]=l;a[b+3>>0]=g;a[b+4>>0]=a[j+-5>>0]|0;a[b+5>>0]=a[j+-6>>0]|0;g=Ti(f|0,g|0,8)|0;a[b+6>>0]=g;a[b+7>>0]=f;i=e;return}function sb(b,c){b=b|0;c=c|0;var d=0;d=c+8|0;a[d+-1>>0]=a[b>>0]|0;a[d+-2>>0]=a[b+1>>0]|0;a[d+-3>>0]=a[b+2>>0]|0;a[d+-4>>0]=a[b+3>>0]|0;a[d+-5>>0]=a[b+4>>0]|0;a[d+-6>>0]=a[b+5>>0]|0;a[d+-7>>0]=a[b+6>>0]|0;a[c>>0]=a[b+7>>0]|0;return}function tb(b,d){b=b|0;d=+d;var e=0;e=(g[k>>2]=d,c[k>>2]|0);a[b>>0]=e>>>24;a[b+1>>0]=e>>>16;a[b+2>>0]=e>>>8;a[b+3>>0]=e;return}function ub(b,c){b=b|0;c=c|0;var d=0;d=c+4|0;a[d+-1>>0]=a[b>>0]|0;a[d+-2>>0]=a[b+1>>0]|0;a[d+-3>>0]=a[b+2>>0]|0;a[c>>0]=a[b+3>>0]|0;return}function vb(a,b){a=a|0;b=b|0;var d=0,e=0;e=Qc(1,72)|0;if(!e){b=0;return b|0}c[e+64>>2]=a;a=Pc(a)|0;c[e+32>>2]=a;if(!a){Uc(e);b=0;return b|0}c[e+36>>2]=a;a=e+68|0;d=c[a>>2]|0;if(!b){c[a>>2]=d|1;c[e+40>>2]=31;c[e+44>>2]=32}else{c[a>>2]=d|2;c[e+40>>2]=29;c[e+44>>2]=30}c[e+16>>2]=4;c[e+20>>2]=5;c[e+24>>2]=6;c[e+28>>2]=7;b=e;return b|0}function wb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;m=n;f=a+48|0;g=c[f>>2]|0;if(g>>>0>=b>>>0){m=a+36|0;c[m>>2]=(c[m>>2]|0)+b;c[f>>2]=g-b;m=a+56|0;a=m;a=Si(c[a>>2]|0,c[a+4>>2]|0,b|0,d|0)|0;c[m>>2]=a;c[m+4>>2]=C;m=d;a=b;C=m;i=n;return a|0}l=a+68|0;if(c[l>>2]&4){m=a+36|0;c[m>>2]=(c[m>>2]|0)+g;c[f>>2]=0;a=a+56|0;m=a;m=Si(c[m>>2]|0,c[m+4>>2]|0,g|0,0)|0;c[a>>2]=m;c[a+4>>2]=C;a=(g|0)!=0;m=a?0:-1;a=a?g:-1;C=m;i=n;return a|0}if(!g){g=0;f=0}else{c[a+36>>2]=c[a+32>>2];b=Oi(b|0,d|0,g|0,0)|0;c[f>>2]=0;f=0;d=C}a:do if((d|0)>0|(d|0)==0&b>>>0>0){k=a+24|0;while(1){h=Ra[c[k>>2]&63](b,d,c[a>>2]|0)|0;j=C;if((h|0)==-1&(j|0)==-1)break;b=Oi(b|0,d|0,h|0,j|0)|0;d=C;g=Si(h|0,j|0,g|0,f|0)|0;f=C;if(!((d|0)>0|(d|0)==0&b>>>0>0))break a}Ub(e,4,4636,m)|0;c[l>>2]=c[l>>2]|4;a=a+56|0;m=a;m=Si(c[m>>2]|0,c[m+4>>2]|0,g|0,f|0)|0;c[a>>2]=m;c[a+4>>2]=C;a=(g|0)!=0|(f|0)!=0;m=a?f:-1;a=a?g:-1;C=m;i=n;return a|0}while(0);m=a+56|0;a=m;a=Si(c[a>>2]|0,c[a+4>>2]|0,g|0,f|0)|0;c[m>>2]=a;c[m+4>>2]=C;m=f;a=g;C=m;i=n;return a|0}function xb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;c[a+36>>2]=c[a+32>>2];c[a+48>>2]=0;g=(Ra[c[a+28>>2]&63](b,d,c[a>>2]|0)|0)==0;e=a+68|0;f=c[e>>2]|0;if(g){c[e>>2]=f|4;g=0;return g|0}else{c[e>>2]=f&-5;g=a+56|0;c[g>>2]=b;c[g+4>>2]=d;g=1;return g|0}return 0}function yb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r+8|0;m=r;p=a+68|0;if(c[p>>2]&8){q=-1;a=-1;C=q;i=r;return a|0}k=a+32|0;f=c[k>>2]|0;o=a+36|0;c[o>>2]=f;l=a+48|0;g=c[l>>2]|0;do if(g){j=a+20|0;while(1){h=Ra[c[j>>2]&63](f,g,c[a>>2]|0)|0;if((h|0)==-1)break;f=(c[o>>2]|0)+h|0;c[o>>2]=f;s=c[l>>2]|0;g=s-h|0;c[l>>2]=g;if((s|0)==(h|0)){n=6;break}}if((n|0)==6){f=c[k>>2]|0;break}c[p>>2]=c[p>>2]|8;Ub(e,4,4662,m)|0;c[p>>2]=c[p>>2]|8;c[l>>2]=0;a=-1;s=-1;C=a;i=r;return s|0}while(0);c[o>>2]=f;a:do if((d|0)>0|(d|0)==0&b>>>0>0){k=a+24|0;g=0;f=0;while(1){h=Ra[c[k>>2]&63](b,d,c[a>>2]|0)|0;j=C;if((h|0)==-1&(j|0)==-1)break;b=Oi(b|0,d|0,h|0,j|0)|0;d=C;g=Si(h|0,j|0,g|0,f|0)|0;f=C;if(!((d|0)>0|(d|0)==0&b>>>0>0))break a}Ub(e,4,4688,q)|0;c[p>>2]=c[p>>2]|8;s=a+56|0;a=s;a=Si(c[a>>2]|0,c[a+4>>2]|0,g|0,f|0)|0;c[s>>2]=a;c[s+4>>2]=C;s=(g|0)!=0|(f|0)!=0;a=s?f:-1;s=s?g:-1;C=a;i=r;return s|0}else{g=0;f=0}while(0);a=a+56|0;s=a;s=Si(c[s>>2]|0,c[s+4>>2]|0,g|0,f|0)|0;c[a>>2]=s;c[a+4>>2]=C;a=f;s=g;C=a;i=r;return s|0}function zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+16|0;k=p;m=a+32|0;f=c[m>>2]|0;n=a+36|0;c[n>>2]=f;o=a+48|0;g=c[o>>2]|0;do if(!g)g=a;else{j=a+20|0;while(1){h=Ra[c[j>>2]&63](f,g,c[a>>2]|0)|0;if((h|0)==-1)break;f=(c[n>>2]|0)+h|0;c[n>>2]=f;q=c[o>>2]|0;g=q-h|0;c[o>>2]=g;if((q|0)==(h|0)){l=6;break}}if((l|0)==6){g=a;f=c[m>>2]|0;break}q=a+68|0;c[q>>2]=c[q>>2]|8;Ub(e,4,4662,k)|0;c[q>>2]=c[q>>2]|8;q=0;i=p;return q|0}while(0);c[n>>2]=f;c[o>>2]=0;if(!(Ra[c[a+28>>2]&63](b,d,c[g>>2]|0)|0)){q=a+68|0;c[q>>2]=c[q>>2]|8;q=0;i=p;return q|0}else{q=a+56|0;c[q>>2]=b;c[q+4>>2]=d;q=1;i=p;return q|0}return 0}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;C=-1;return -1}function Db(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Eb(a){a=a|0;var b=0,d=0,e=0;e=Qc(1,72)|0;if(!e){a=0;return a|0}c[e+64>>2]=1048576;b=Pc(1048576)|0;c[e+32>>2]=b;if(!b){Uc(e);a=0;return a|0}c[e+36>>2]=b;b=e+68|0;d=c[b>>2]|0;if(!a){c[b>>2]=d|1;c[e+40>>2]=31;c[e+44>>2]=32}else{c[b>>2]=d|2;c[e+40>>2]=29;c[e+44>>2]=30}c[e+16>>2]=4;c[e+20>>2]=5;c[e+24>>2]=6;c[e+28>>2]=7;a=e;return a|0}function Fb(a){a=a|0;var b=0;if(!a)return;b=c[a+4>>2]|0;if(b)Ta[b&7](c[a>>2]|0);b=a+32|0;Uc(c[b>>2]|0);c[b>>2]=0;Uc(a);return}function Gb(a,b){a=a|0;b=b|0;if(!a)return;if(!(c[a+68>>2]&2))return;c[a+16>>2]=b;return}function Hb(a,b){a=a|0;b=b|0;if(!a)return;c[a+28>>2]=b;return}function Ib(a,b){a=a|0;b=b|0;if(!a)return;if(!(c[a+68>>2]&1))return;c[a+20>>2]=b;return}function Jb(a,b){a=a|0;b=b|0;if(!a)return;c[a+24>>2]=b;return}function Kb(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;c[a>>2]=b;c[a+4>>2]=d;return}function Lb(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;a=a+8|0;c[a>>2]=b;c[a+4>>2]=d;return}function Mb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+16|0;s=w+8|0;r=w;v=a+48|0;f=c[v>>2]|0;if(f>>>0>=d>>>0){u=a+36|0;Ui(b|0,c[u>>2]|0,d|0)|0;c[u>>2]=(c[u>>2]|0)+d;c[v>>2]=(c[v>>2]|0)-d;v=a+56|0;u=v;u=Si(c[u>>2]|0,c[u+4>>2]|0,d|0,0)|0;c[v>>2]=u;c[v+4>>2]=C;v=d;i=w;return v|0}t=a+68|0;if(c[t>>2]&4){u=a+36|0;Ui(b|0,c[u>>2]|0,f|0)|0;e=c[v>>2]|0;c[u>>2]=(c[u>>2]|0)+e;u=a+56|0;t=u;e=Si(c[t>>2]|0,c[t+4>>2]|0,e|0,0)|0;c[u>>2]=e;c[u+4>>2]=C;c[v>>2]=0;v=(f|0)!=0?f:-1;i=w;return v|0}if(!f){o=a+32|0;g=c[o>>2]|0;p=a+36|0;c[p>>2]=g;q=p;u=a+56|0;f=0}else{p=a+36|0;Ui(b|0,c[p>>2]|0,f|0)|0;o=a+32|0;g=c[o>>2]|0;c[p>>2]=g;q=c[v>>2]|0;u=a+56|0;m=u;m=Si(c[m>>2]|0,c[m+4>>2]|0,q|0,0)|0;n=u;c[n>>2]=m;c[n+4>>2]=C;c[v>>2]=0;d=d-q|0;b=b+q|0;q=p}m=a+64|0;n=a+16|0;l=b;h=g;while(1){b=c[m>>2]|0;g=c[n>>2]|0;if(d>>>0>>0){g=Ra[g&63](h,b,c[a>>2]|0)|0;c[v>>2]=g;if((g|0)==-1){g=11;break}if(g>>>0>=d>>>0){b=l;g=14;break}Ui(l|0,c[q>>2]|0,g|0)|0;h=c[o>>2]|0;c[p>>2]=h;b=c[v>>2]|0;j=u;j=Si(c[j>>2]|0,c[j+4>>2]|0,b|0,0)|0;k=C;f=g+f|0}else{b=Ra[g&63](l,d,c[a>>2]|0)|0;c[v>>2]=b;if((b|0)==-1){g=16;break}f=b+f|0;if(b>>>0>=d>>>0){g=20;break}h=c[o>>2]|0;c[p>>2]=h;j=u;j=Si(c[j>>2]|0,c[j+4>>2]|0,b|0,0)|0;k=C}g=u;c[g>>2]=j;c[g+4>>2]=k;c[v>>2]=0;d=d-b|0;l=l+b|0}if((g|0)==11){Ub(e,4,4636,r)|0;c[v>>2]=0;c[t>>2]=c[t>>2]|4;v=(f|0)!=0?f:-1;i=w;return v|0}else if((g|0)==14){Ui(b|0,c[q>>2]|0,d|0)|0;c[q>>2]=(c[q>>2]|0)+d;c[v>>2]=(c[v>>2]|0)-d;e=u;e=Si(c[e>>2]|0,c[e+4>>2]|0,d|0,0)|0;v=u;c[v>>2]=e;c[v+4>>2]=C;v=f+d|0;i=w;return v|0}else if((g|0)==16){Ub(e,4,4636,s)|0;c[v>>2]=0;c[t>>2]=c[t>>2]|4;v=(f|0)!=0?f:-1;i=w;return v|0}else if((g|0)==20){e=u;e=Si(c[e>>2]|0,c[e+4>>2]|0,b|0,0)|0;c[u>>2]=e;c[u+4>>2]=C;c[p>>2]=c[o>>2];c[v>>2]=0;v=f;i=w;return v|0}return 0}function Nb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;r=u;n=a+68|0;if(c[n>>2]&8){t=-1;i=u;return t|0}q=a+64|0;f=c[q>>2]|0;t=a+48|0;k=c[t>>2]|0;g=f-k|0;do if(g>>>0>>0){o=a+32|0;h=a+36|0;p=a+20|0;j=a+56|0;l=f;m=g;f=0;a:while(1){if((l|0)==(k|0))g=c[o>>2]|0;else{Ui(c[h>>2]|0,b|0,m|0)|0;g=c[o>>2]|0;c[h>>2]=g;k=(c[t>>2]|0)+m|0;c[t>>2]=k;v=j;v=Si(c[v>>2]|0,c[v+4>>2]|0,m|0,0)|0;l=j;c[l>>2]=v;c[l+4>>2]=C;d=d-m|0;b=b+m|0;f=m+f|0}c[h>>2]=g;if(!k)k=0;else{do{l=Ra[c[p>>2]&63](g,k,c[a>>2]|0)|0;if((l|0)==-1)break a;g=(c[h>>2]|0)+l|0;c[h>>2]=g;v=c[t>>2]|0;k=v-l|0;c[t>>2]=k}while((v|0)!=(l|0));g=c[o>>2]|0}c[h>>2]=g;l=c[q>>2]|0;m=l-k|0;if(d>>>0<=m>>>0){s=5;break}}if((s|0)==5)break;c[n>>2]=c[n>>2]|8;Ub(e,4,4662,r)|0;v=-1;i=u;return v|0}else{g=a+36|0;j=a+56|0;h=g;g=c[g>>2]|0;f=0}while(0);Ui(g|0,b|0,d|0)|0;c[h>>2]=(c[h>>2]|0)+d;c[t>>2]=(c[t>>2]|0)+d;t=j;t=Si(c[t>>2]|0,c[t+4>>2]|0,d|0,0)|0;v=j;c[v>>2]=t;c[v+4>>2]=C;v=f+d|0;i=u;return v|0}function Ob(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+16|0;k=n;g=a+32|0;d=c[g>>2]|0;m=a+36|0;c[m>>2]=d;h=a+48|0;e=c[h>>2]|0;do if(e){j=a+20|0;while(1){f=Ra[c[j>>2]&63](d,e,c[a>>2]|0)|0;if((f|0)==-1)break;d=(c[m>>2]|0)+f|0;c[m>>2]=d;o=c[h>>2]|0;e=o-f|0;c[h>>2]=e;if((o|0)==(f|0)){l=6;break}}if((l|0)==6){d=c[g>>2]|0;break}o=a+68|0;c[o>>2]=c[o>>2]|8;Ub(b,4,4662,k)|0;o=0;i=n;return o|0}while(0);c[m>>2]=d;o=1;i=n;return o|0}function Pb(a){a=a|0;a=a+56|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Qb(a){a=a|0;var b=0,d=0;d=a+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0;if((b|0)==0&(d|0)==0){d=0;a=0;C=d;return a|0}a=a+56|0;a=Oi(b|0,d|0,c[a>>2]|0,c[a+4>>2]|0)|0;d=C;C=d;return a|0}function Rb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Za[c[a+40>>2]&63](a,b,d,e)|0;return a|0}function Sb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return Za[c[a+44>>2]&63](a,b,d,e)|0}function Tb(a){a=a|0;return (c[a+28>>2]|0)!=7|0}function Ub(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+528|0;g=j;h=j+16|0;a:do if(a){switch(b|0){case 1:{b=a;f=a+12|0;break}case 2:{b=a+4|0;f=a+16|0;break}case 4:{b=a+8|0;f=a+20|0;break}default:{b=0;break a}}a=c[b>>2]|0;b=c[f>>2]|0;if(b)if(!d)b=1;else{Qi(h|0,0,512)|0;c[g>>2]=e;pi(h,512,d,g)|0;Ua[b&7](h,a);b=1}else b=0}else b=0;while(0);i=j;return b|0}function Vb(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=4;c[a+20>>2]=4;c[a+16>>2]=4;return}function Wb(a,b){a=a|0;b=b|0;return}function Xb(){return Qc(1,36)|0}function Yb(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;e=Qc(1,36)|0;if(!e){i=e;return i|0}c[e+20>>2]=d;h=e+16|0;c[h>>2]=a;d=Qc(1,a*52|0)|0;i=e+24|0;c[i>>2]=d;if(!d){d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);i=0;return i|0}if(!a){i=e;return i|0}f=0;while(1){c[d+(f*52|0)>>2]=c[b+(f*36|0)>>2];c[d+(f*52|0)+4>>2]=c[b+(f*36|0)+4>>2];j=c[b+(f*36|0)+8>>2]|0;c[d+(f*52|0)+8>>2]=j;k=c[b+(f*36|0)+12>>2]|0;c[d+(f*52|0)+12>>2]=k;c[d+(f*52|0)+16>>2]=c[b+(f*36|0)+16>>2];c[d+(f*52|0)+20>>2]=c[b+(f*36|0)+20>>2];c[d+(f*52|0)+24>>2]=c[b+(f*36|0)+24>>2];c[d+(f*52|0)+28>>2]=c[b+(f*36|0)+28>>2];c[d+(f*52|0)+32>>2]=c[b+(f*36|0)+32>>2];j=Qc(_(k,j)|0,4)|0;c[d+(f*52|0)+44>>2]=j;f=f+1|0;if(!j)break;if(f>>>0>=a>>>0){g=22;break}d=c[i>>2]|0}if((g|0)==22)return e|0;d=c[i>>2]|0;if(d){f=c[h>>2]|0;if(f){b=0;while(1){d=c[d+(b*52|0)+44>>2]|0;if(d){Uc(d);f=c[h>>2]|0}b=b+1|0;if(b>>>0>=f>>>0)break;d=c[i>>2]|0}d=c[i>>2]|0}Uc(d)}d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);k=0;return k|0}function Zb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)return;f=a+24|0;b=c[f>>2]|0;if(b){g=a+16|0;d=c[g>>2]|0;if(d){e=0;while(1){b=c[b+(e*52|0)+44>>2]|0;if(b){Uc(b);d=c[g>>2]|0}e=e+1|0;if(e>>>0>=d>>>0)break;b=c[f>>2]|0}b=c[f>>2]|0}Uc(b)}b=c[a+28>>2]|0;if(b)Uc(b);Uc(a);return}function _b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=c[b+4>>2]|0;e=c[a>>2]|0;g=c[b+8>>2]|0;h=c[a+4>>2]|0;f=c[b+12>>2]|0;l=(_((c[b+24>>2]|0)+-1|0,f)|0)+d|0;i=c[b+16>>2]|0;j=(_((c[b+28>>2]|0)+-1|0,i)|0)+g|0;b=Si(l|0,0,f|0,0)|0;b=b|0-C;f=c[a+8>>2]|0;i=Si(j|0,0,i|0,0)|0;i=i|0-C;j=c[a+12>>2]|0;l=c[a+16>>2]|0;if(!l)return;k=(d>>>0>e>>>0?d:e)+-1|0;g=(g>>>0>h>>>0?g:h)+-1|0;f=(b>>>0>>0?b:f)+-1|0;d=(i>>>0>>0?i:j)+-1|0;e=0;b=c[a+24>>2]|0;while(1){h=c[b>>2]|0;j=((k+h|0)>>>0)/(h>>>0)|0;o=c[b+4>>2]|0;a=((g+o|0)>>>0)/(o>>>0)|0;i=c[b+40>>2]|0;n=Ri(1,0,i|0)|0;m=C;h=Si((((f+h|0)>>>0)/(h>>>0)|0)-j|0,0,-1,-1)|0;h=Si(h|0,C|0,n|0,m|0)|0;h=Ti(h|0,C|0,i|0)|0;o=Si((((d+o|0)>>>0)/(o>>>0)|0)-a|0,0,-1,-1)|0;m=Si(o|0,C|0,n|0,m|0)|0;i=Ti(m|0,C|0,i|0)|0;c[b+8>>2]=h;c[b+12>>2]=i;c[b+16>>2]=j;c[b+20>>2]=a;e=e+1|0;if(e>>>0>=l>>>0)break;else b=b+52|0}return}function $b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];j=b+24|0;e=c[j>>2]|0;i=b+16|0;if(!e)d=j;else{d=c[i>>2]|0;if(!d)d=j;else{f=0;while(1){e=c[e+(f*52|0)+44>>2]|0;if(e){Uc(e);d=c[i>>2]|0}f=f+1|0;if(f>>>0>=d>>>0)break;e=c[j>>2]|0}d=j;e=c[j>>2]|0}Uc(e);c[j>>2]=0}e=c[a+16>>2]|0;c[i>>2]=e;e=Pc(e*52|0)|0;c[d>>2]=e;if(!e){c[j>>2]=0;c[i>>2]=0;return}if(c[i>>2]|0){h=a+24|0;g=0;do{d=e+(g*52|0)|0;e=(c[h>>2]|0)+(g*52|0)|0;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=c[j>>2]|0;c[e+(g*52|0)+44>>2]=0;g=g+1|0}while(g>>>0<(c[i>>2]|0)>>>0)}c[b+20>>2]=c[a+20>>2];f=a+32|0;d=c[f>>2]|0;g=b+32|0;c[g>>2]=d;if(!d){c[b+28>>2]=0;return}e=Pc(d)|0;d=b+28|0;c[d>>2]=e;if(!e){c[d>>2]=0;c[g>>2]=0;return}else{Ui(e|0,c[a+28>>2]|0,c[f>>2]|0)|0;return}}function ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Qc(1,36)|0;if(!e){a=e;return a|0}c[e+20>>2]=d;c[e+16>>2]=a;d=Qc(a,52)|0;c[e+24>>2]=d;if(!d){d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);a=0;return a|0}else{if(!a){a=e;return a|0}else f=0;do{c[d+(f*52|0)>>2]=c[b+(f*36|0)>>2];c[d+(f*52|0)+4>>2]=c[b+(f*36|0)+4>>2];c[d+(f*52|0)+8>>2]=c[b+(f*36|0)+8>>2];c[d+(f*52|0)+12>>2]=c[b+(f*36|0)+12>>2];c[d+(f*52|0)+16>>2]=c[b+(f*36|0)+16>>2];c[d+(f*52|0)+20>>2]=c[b+(f*36|0)+20>>2];c[d+(f*52|0)+24>>2]=c[b+(f*36|0)+24>>2];c[d+(f*52|0)+32>>2]=c[b+(f*36|0)+32>>2];c[d+(f*52|0)+44>>2]=0;f=f+1|0}while((f|0)!=(a|0));return e|0}return 0}function bc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+64>>2]=b;c[a+52>>2]=d;d=1;return d|0}function cc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+60>>2]=b;c[a+48>>2]=d;d=1;return d|0}function dc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+56>>2]=b;c[a+44>>2]=d;d=1;return d|0}function ec(a,b){a=a|0;b=b|0;var d=0;if(!a){a=0;return a|0}d=Eb(b)|0;if(!d){a=0;return a|0}Kb(d,a,0);Lb(d,c[a+8>>2]|0,0);if(!b)Ib(d,9);else Gb(d,8);Jb(d,1);Hb(d,10);a=d;return a|0}function fc(){return 4703}function gc(a){a=a|0;var b=0;b=Qc(1,84)|0;if(!b){a=0;return a|0}c[b+68>>2]=1;switch(a|0){case 0:{c[b+72>>2]=13;c[b+76>>2]=2;c[b+80>>2]=3;c[b+4>>2]=33;c[b+16>>2]=11;c[b>>2]=34;c[b+20>>2]=1;c[b+24>>2]=5;c[b+8>>2]=1;c[b+12>>2]=1;c[b+28>>2]=1;c[b+32>>2]=1;c[b+36>>2]=12;a=fd()|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}case 2:{c[b+72>>2]=14;c[b+76>>2]=4;c[b+80>>2]=5;c[b+4>>2]=35;c[b+16>>2]=13;c[b>>2]=36;c[b+8>>2]=2;c[b+12>>2]=2;c[b+20>>2]=2;c[b+24>>2]=6;c[b+28>>2]=2;c[b+32>>2]=2;c[b+36>>2]=14;a=Ye(1)|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}default:{Uc(b);a=0;return a|0}}Vb(b+44|0);a=b;return a|0}function hc(a){a=a|0;if(!a)return;Qi(a|0,0,8248)|0;c[a+8200>>2]=-1;c[a+8204>>2]=-1;c[a+8248>>2]=0;return}function ic(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;if(!((a|0)!=0&(b|0)!=0)){b=0;i=d;return b|0}if(!(c[a+68>>2]|0)){Ub(a+44|0,1,4709,d)|0;b=0;i=d;return b|0}else{Ua[c[a+24>>2]&7](c[a+40>>2]|0,b);b=1;i=d;return b|0}return 0}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;if(!((a|0)!=0&(b|0)!=0)){a=0;i=e;return a|0}if(!(c[b+68>>2]|0)){Ub(b+44|0,1,4790,e)|0;a=0;i=e;return a|0}else{a=Za[c[b>>2]&63](a,c[b+40>>2]|0,d,b+44|0)|0;i=e;return a|0}return 0}function kc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Za[c[a+4>>2]&63](c[a+40>>2]|0,b,d,a+44|0)|0;return b|0}function lc(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(!a){e=0;return e|0}if(!(c[a+68>>2]|0)){e=0;return e|0}e=Qa[c[a+28>>2]&3](c[a+40>>2]|0,b,d,e,f,g,a+44|0)|0;return e|0}function mc(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;if(!((d|0)!=0&((a|0)!=0&(b|0)!=0&(e|0)!=0))){i=0;return i|0}if(!(c[a+68>>2]|0)){i=0;return i|0}i=Ya[c[a+8>>2]&3](c[a+40>>2]|0,d,e,f,g,h,i,j,k,b,a+44|0)|0;return i|0}function nc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!((a|0)!=0&(d|0)!=0&(f|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Va[c[a+12>>2]&7](c[a+40>>2]|0,b,d,e,f,a+44|0)|0;return b|0}function oc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(!((a|0)!=0&(b|0)!=0)){e=0;return e|0}if(!(c[a+68>>2]|0)){e=0;return e|0}e=$a[c[a+32>>2]&3](c[a+40>>2]|0,b,d,a+44|0,e)|0;return e|0}function pc(a,b){a=a|0;b=b|0;if(!a){b=0;return b|0}b=Ra[c[a+36>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function qc(a){a=a|0;var b=0;b=Qc(1,84)|0;if(!b){a=0;return a|0}c[b+68>>2]=0;switch(a|0){case 0:{c[b+4>>2]=15;c[b+12>>2]=16;c[b>>2]=37;c[b+8>>2]=3;c[b+16>>2]=1;c[b+20>>2]=38;a=Xc()|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}case 2:{c[b+4>>2]=17;c[b+12>>2]=18;c[b>>2]=39;c[b+8>>2]=4;c[b+16>>2]=2;c[b+20>>2]=40;a=Ye(0)|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}default:{Uc(b);a=0;return a|0}}Vb(b+44|0);a=b;return a|0}function rc(b){b=b|0;if(!b)return;Qi(b|0,0,18708)|0;c[b+5592>>2]=6;c[b+18684>>2]=0;c[b+5596>>2]=64;c[b+5600>>2]=64;c[b+44>>2]=0;c[b+5612>>2]=-1;c[b+18188>>2]=1;c[b+18192>>2]=1;a[b+18688>>0]=0;c[b+18196>>2]=-1;c[b+18200>>2]=-1;g[b+4792>>2]=0.0;c[b+4788>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+18692>>2]=0;return}function sc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(b|0)!=0&(d|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Za[c[a+20>>2]&63](c[a+40>>2]|0,b,d,a+44|0)|0;return b|0}function tc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(d|0)!=0)){d=0;return d|0}if(c[a+68>>2]|0){d=0;return d|0}d=Za[c[a>>2]&63](c[a+40>>2]|0,d,b,a+44|0)|0;return d|0}function uc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Ra[c[a+4>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function vc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Ra[c[a+12>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function wc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Ra[c[a+16>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function xc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;k=h<<2;i=_(k,h)|0;j=d+18704|0;h=e[j>>1]|0;b[j>>1]=(h&32768|0)==0?-32512:(h|256)&65535;c[d+5608>>2]=1;a[d+18690>>0]=2;j=Pc(i+k|0)|0;h=d+18696|0;c[h>>2]=j;if(!j){g=0;return g|0}Ui(j|0,f|0,i|0)|0;Ui((c[h>>2]|0)+i|0,g|0,k|0)|0;g=1;return g|0}function yc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!((d|0)!=0&((a|0)!=0&(f|0)!=0))){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Va[c[a+8>>2]&7](c[a+40>>2]|0,b,d,e,f,a+44|0)|0;return b|0}function zc(a){a=a|0;var b=0,d=0;if(!a)return;b=a+40|0;d=c[b>>2]|0;if(!(c[a+68>>2]|0))Ta[c[a+16>>2]&7](d);else Ta[c[a+20>>2]&7](d);c[b>>2]=0;Uc(a);return}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;Xa[c[a+72>>2]&15](c[a+40>>2]|0,b,d);return}function Bc(a){a=a|0;if(!a){a=0;return a|0}a=Wa[c[a+76>>2]&15](c[a+40>>2]|0)|0;return a|0}function Cc(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a>>2]|0;d=c[b+48>>2]|0;if(d){Uc(d);b=c[a>>2]|0}Uc(b);c[a>>2]=0;return}function Dc(a){a=a|0;if(!a){a=0;return a|0}a=Wa[c[a+80>>2]&15](c[a+40>>2]|0)|0;return a|0}function Ec(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;bd(b);c[a>>2]=0;return}function Fc(a,b){a=a|0;b=b|0;return Gc(a,1048576,b)|0}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!a){b=0;return b|0}d=_h(a,(c|0)==0?4869:4872)|0;if(!d){b=0;return b|0}a=vb(b,c)|0;if(!a){Yh(d)|0;b=0;return b|0}else{Kb(a,d,6);fi(d,0,2)|0;b=ii(d)|0;fi(d,0,0)|0;Lb(a,b,((b|0)<0)<<31>>31);Gb(a,19);Ib(a,20);Jb(a,21);Hb(a,22);b=a;return b|0}return 0}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[d>>2]|0)+(c[d+8>>2]|0)|0;d=d+4|0;e=c[d>>2]|0;f=g-e|0;if((g|0)==(e|0)){g=-1;return g|0}g=f>>>0>b>>>0?b:f;Ui(a|0,e|0,g|0)|0;c[d>>2]=(c[d>>2]|0)+g;return g|0}function Ic(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;k=d+4|0;e=c[k>>2]|0;i=d+8|0;g=c[i>>2]|0;j=e-(c[d>>2]|0)|0;f=(g|0)==0?1:g;while(1)if((f-j|0)>>>0>>0)f=f<<1;else{h=f;break}if((h|0)!=(g|0)){e=Pc(h)|0;if(!e){b=-1;return b|0}f=c[d>>2]|0;if(f){Ui(e|0,f|0,j|0)|0;Uc(c[d>>2]|0)}c[d>>2]=e;e=e+j|0;c[k>>2]=e;c[i>>2]=h}Ui(e|0,a|0,b|0)|0;c[k>>2]=(c[k>>2]|0)+b;return b|0}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=(c[b>>2]|0)+(c[b+8>>2]|0)|0;b=b+4|0;d=c[b>>2]|0;e=f-d|0;if((f|0)==(d|0)){f=-1;return f|0}c[b>>2]=d+a;f=e>>>0>a>>>0?a:e;return f|0}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[d+8>>2]|0;c[d+4>>2]=(c[d>>2]|0)+(0>(b|0)|0==(b|0)&e>>>0>a>>>0?a:e);return 1}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;b=ci(a,1,b,c)|0;return ((b|0)!=0?b:-1)|0}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;return ki(a,1,b,c)|0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;c=(fi(c,a,1)|0)==0;C=c?b:-1;return (c?a:-1)|0}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;return (fi(c,a,0)|0)==0|0}function Pc(a){a=a|0;if(!a)a=0;else a=Fi(a)|0;return a|0}function Qc(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Hi(a,b)|0;return a|0}function Rc(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;do if(a)if(!(Ji(b,16,a)|0)){b=c[b>>2]|0;break}else{c[b>>2]=0;b=0;break}else b=0;while(0);i=d;return b|0}function Sc(a){a=a|0;Gi(a);return}function Tc(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Ii(a,b)|0;return b|0}function Uc(a){a=a|0;Gi(a);return}function Vc(a){a=a|0;var b=0,d=0;b=696;while(1){d=c[b>>2]|0;if((d|0)==-1|(d|0)==(a|0))break;else b=b+12|0}return b+4|0}function Wc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0))return;c[a+172>>2]=c[b+4>>2];c[a+168>>2]=c[b>>2];return}function Xc(){var b=0,d=0;b=Qc(1,208)|0;if(!b){b=0;return b|0}c[b>>2]=0;d=b+184|0;a[d>>0]=a[d>>0]&-3;d=Pc(1e3)|0;c[b+44>>2]=d;if(!d){Yc(b);d=0;return d|0}c[b+48>>2]=1e3;d=qg()|0;c[b+192>>2]=d;if(!d){Yc(b);d=0;return d|0}d=qg()|0;c[b+188>>2]=d;if(d){d=b;return d|0}Yc(b);d=0;return d|0}function Yc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!b)return;if(!(c[b>>2]|0)){d=b+36|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0}d=b+24|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+28>>2]=0}d=b+44|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+48>>2]=0}}else{d=b+12|0;e=c[d>>2]|0;if(e){sd(e);Uc(c[d>>2]|0);c[d>>2]=0}d=b+16|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+20>>2]=0}}Yf(c[b+204>>2]|0);d=b+88|0;h=b+164|0;e=c[h>>2]|0;if(e){f=_(c[b+112>>2]|0,c[b+116>>2]|0)|0;if(f){g=0;while(1){sd(e);g=g+1|0;if((g|0)==(f|0))break;else e=e+5640|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=b+124|0;e=c[h>>2]|0;if(e){i=b+120|0;f=c[i>>2]|0;if(f){g=0;while(1){e=c[e+(g<<3)>>2]|0;if(e){Uc(e);f=c[i>>2]|0}g=g+1|0;if(g>>>0>=f>>>0)break;e=c[h>>2]|0}e=c[h>>2]|0}c[i>>2]=0;Uc(e);c[h>>2]=0}i=b+144|0;Uc(c[i>>2]|0);c[i>>2]=0;c[b+128>>2]=0;i=b+108|0;Uc(c[i>>2]|0);c[i>>2]=0;if(!(a[b+184>>0]&2)){i=b+176|0;Uc(c[i>>2]|0);c[i>>2]=0}e=d+100|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=b+188|0;rg(c[i>>2]|0);c[i>>2]=0;rg(c[b+192>>2]|0);c[i>>2]=0;i=b+196|0;bd(c[i>>2]|0);c[i>>2]=0;i=b+80|0;Zb(c[i>>2]|0);c[i>>2]=0;i=b+84|0;Zb(c[i>>2]|0);c[i>>2]=0;Uc(b);return}function Zc(d,e,f,j){d=d|0;e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0.0;ka=i;i=i+320|0;fa=ka+296|0;ea=ka+288|0;ja=ka+280|0;ia=ka+272|0;ha=ka+264|0;ga=ka+256|0;da=ka+248|0;ca=ka+240|0;W=ka+232|0;U=ka+224|0;T=ka+216|0;S=ka+208|0;R=ka+200|0;Q=ka+192|0;P=ka+184|0;v=ka+176|0;u=ka+168|0;t=ka+160|0;s=ka+152|0;q=ka+144|0;I=ka+136|0;H=ka+128|0;N=ka+112|0;G=ka+104|0;F=ka+96|0;E=ka+88|0;C=ka+80|0;B=ka+72|0;A=ka+64|0;z=ka+56|0;y=ka+48|0;x=ka+32|0;w=ka+24|0;p=ka+16|0;m=ka+8|0;l=ka;K=ka+309|0;L=ka+300|0;if(!((d|0)!=0&(e|0)!=0&(f|0)!=0)){j=0;i=ka;return j|0}ba=e+5592|0;k=c[ba>>2]|0;if((k+-1|0)>>>0>32){c[l>>2]=k;c[l+4>>2]=33;Ub(j,1,4875,l)|0;j=0;i=ka;return j|0}$=d+112|0;c[$>>2]=1;aa=d+116|0;c[aa>>2]=1;J=e+18704|0;do if(!(b[J>>1]|0)){switch(c[e+18676>>2]|0){case 1:{b[J>>1]=3;c[e+18700>>2]=1302083;c[e+18680>>2]=1041666;l=1;break}case 2:{b[J>>1]=3;c[e+18700>>2]=651041;c[e+18680>>2]=520833;l=1;break}case 3:{b[J>>1]=4;c[e+18700>>2]=1302083;c[e+18680>>2]=1041666;l=1;break}default:l=0}k=c[e+18684>>2]|0;a:do if((k|0)>=4)if((k|0)<33024){switch(k|0){case 4:break;default:{Z=13;break a}}b[J>>1]=4;break}else{switch(k|0){case 33024:break;default:{Z=13;break a}}b[J>>1]=-32512;break}else{switch(k|0){case 3:break;default:{Z=13;break a}}b[J>>1]=3}while(0);if((Z|0)==13?(l|0)==0:0)break;Ub(j,2,4931,m)|0}while(0);D=e+18700|0;k=c[D>>2]|0;do if((k|0)<1){r=+g[e+4792+((c[e+4788>>2]|0)+-1<<2)>>2];if(r>0.0){X=c[f+24>>2]|0;p=_(c[X+8>>2]|0,c[f+16>>2]|0)|0;p=_(p,c[X+12>>2]|0)|0;la=+((_(p,c[X+24>>2]|0)|0)>>>0);c[D>>2]=~~+M(+(la/(r*8.0*+((c[X>>2]|0)>>>0)*+((c[X+4>>2]|0)>>>0))));break}else{c[D>>2]=0;break}}else{o=c[f+24>>2]|0;X=_(c[o+8>>2]|0,c[f+16>>2]|0)|0;X=_(X,c[o+12>>2]|0)|0;r=+((_(X,c[o+24>>2]|0)|0)>>>0);k=_(k<<3,c[o>>2]|0)|0;r=r/+((_(k,c[o+4>>2]|0)|0)>>>0);o=e+4788|0;k=c[o>>2]|0;if(k){m=k;k=0;n=0;while(1){l=e+4792+(n<<2)|0;if(+g[l>>2]>2]=r;l=c[o>>2]|0;k=1}else l=m;n=n+1|0;if(n>>>0>=l>>>0)break;else m=l}if(k)Ub(j,2,5068,p)|0}}while(0);k=b[J>>1]|0;b:do if((k+-3&65535)>=4){if(k<<16>>16==7){Ub(j,2,7228,q)|0;b[J>>1]=0;k=0;break}if((k+-256&65535)<524){Ub(j,2,7283,s)|0;b[J>>1]=0;k=0;break}if((k+-1024&65535)<1180){Ub(j,2,7331,t)|0;b[J>>1]=0;k=0;break}if(k<<16>>16<=-1)switch(k<<16>>16){case -32512:{k=-32512;break b}case -32768:{Ub(j,2,7373,u)|0;b[J>>1]=0;k=0;break b}default:{Ub(j,2,7461,v)|0;b[J>>1]=0;k=0;break b}}}else{if((k+-5&65535)<2){Ub(j,2,5160,w)|0;b[J>>1]=0;k=0;break}c[e>>2]=0;c[e+12>>2]=1;c[e+16>>2]=1;a[e+18689>>0]=67;a[e+18688>>0]=1;c[e+4>>2]=0;c[e+8>>2]=0;c[e+18180>>2]=0;c[e+18184>>2]=0;c[e+5596>>2]=32;c[e+5600>>2]=32;c[e+5604>>2]=0;c[e+5612>>2]=-1;c[e+18188>>2]=1;c[e+18192>>2]=1;c[e+5608>>2]=1;l=e+4788|0;m=c[l>>2]|0;if((m|0)>1){la=+g[e+4792+(m+-1<<2)>>2];c[x>>2]=m;h[x+8>>3]=la;Ub(j,2,5222,x)|0;c[e+4792>>2]=c[e+4792+((c[l>>2]|0)+-1<<2)>>2];c[l>>2]=1;k=b[J>>1]|0}c:do switch(k&65535|0){case 3:{k=c[ba>>2]|0;if((k|0)>6){c[y>>2]=k+1;Ub(j,2,5395,y)|0;c[ba>>2]=6;k=6}break}case 4:{k=c[ba>>2]|0;if((k|0)<2){c[z>>2]=k+1;Ub(j,2,5541,z)|0;c[ba>>2]=1;k=1;break c}if((k|0)>7){c[A>>2]=k+1;Ub(j,2,5695,A)|0;c[ba>>2]=7;k=7}break}default:k=c[ba>>2]|0}while(0);l=e+40|0;c[l>>2]=c[l>>2]|1;l=e+5620|0;c[l>>2]=k+-1;if((k|0)>1){k=0;do{c[e+5624+(k<<2)>>2]=256;c[e+5756+(k<<2)>>2]=256;k=k+1|0}while((k|0)<(c[l>>2]|0))}c[e+44>>2]=4;if((b[J>>1]|0)==4){k=c[ba>>2]|0;c[e+96>>2]=1;c[e+48>>2]=0;c[e+52>>2]=0;c[e+56>>2]=1;X=k+-1|0;c[e+60>>2]=X;c[e+64>>2]=3;c[e+80>>2]=4;c[e+244>>2]=1;c[e+196>>2]=X;c[e+200>>2]=0;c[e+204>>2]=1;c[e+208>>2]=k;c[e+212>>2]=3;c[e+228>>2]=4;k=2}else k=0;c[e+4784>>2]=k;c[e+20>>2]=1;k=c[D>>2]|0;if((k|0)>=1){if((k|0)>1302083){Ub(j,2,5998,C)|0;c[D>>2]=1302083}}else{c[D>>2]=1302083;Ub(j,2,5849,B)|0}k=e+18680|0;l=c[k>>2]|0;if((l|0)>=1){if((l|0)>1041666){Ub(j,2,6320,F)|0;c[k>>2]=1041666}}else{c[k>>2]=1041666;Ub(j,2,6171,E)|0}l=c[f+16>>2]|0;n=c[f+24>>2]|0;o=c[n+8>>2]|0;k=_(o,l)|0;p=c[n+12>>2]|0;k=_(k,p)|0;la=+((_(k,c[n+24>>2]|0)|0)>>>0);k=_(c[D>>2]<<3,c[n>>2]|0)|0;g[e+4792>>2]=la/+((_(k,c[n+4>>2]|0)|0)>>>0);k=b[J>>1]|0;d:do if((l|0)==3){l=n+28|0;m=n+32|0;if(!((c[l>>2]|0)!=12|c[m>>2])){l=n+80|0;m=n+84|0;if(!((c[l>>2]|0)!=12|c[m>>2])){l=n+132|0;m=n+136|0;if(!((c[l>>2]|0)!=12|c[m>>2])){switch(k&65535|0){case 3:{if(p>>>0>1080|o>>>0>2048){c[H>>2]=o;c[H+4>>2]=p;Ub(j,2,6892,H)|0;break d}break}case 4:{if(p>>>0>2160|o>>>0>4096){c[I>>2]=o;c[I+4>>2]=p;Ub(j,2,7063,I)|0;break d}break}default:{}}break b}else{p=l;k=m;l=2}}else{p=l;k=m;l=1}}else{p=l;k=m;l=0};a[K>>0]=a[6659]|0;a[K+1>>0]=a[6660]|0;a[K+2>>0]=a[6661]|0;a[K+3>>0]=a[6662]|0;a[K+4>>0]=a[6663]|0;a[K+5>>0]=a[6664]|0;a[K+6>>0]=a[6665]|0;m=L;n=6666;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));X=(c[k>>2]|0)!=0?K:L;L=c[p>>2]|0;c[N>>2]=l;c[N+4>>2]=L;c[N+8>>2]=X;Ub(j,2,6675,N)|0}else{c[G>>2]=l;Ub(j,2,6493,G)|0}while(0);b[J>>1]=0;k=0}while(0);c[d+168>>2]=c[e+18680>>2];X=d+88|0;b[X>>1]=k;N=d+181|0;K=a[N>>0]&-2|c[e+20>>2]&1;a[N>>0]=K;L=e+24|0;K=(c[L>>2]&255)<<1&2|K&-3;a[N>>0]=K;a[N>>0]=K&-5|(c[e+28>>2]&255)<<2&4;do if((c[L>>2]|0)!=0?(O=e+32|0,(c[O>>2]|0)!=0):0){k=_((c[e+4788>>2]|0)*12|0,c[ba>>2]|0)|0;l=Pc(k)|0;c[d+176>>2]=l;if(l){Ui(l|0,c[O>>2]|0,k|0)|0;break}Ub(j,1,7520,P)|0;j=0;i=ka;return j|0}while(0);n=d+100|0;c[n>>2]=c[e+12>>2];o=d+104|0;c[o>>2]=c[e+16>>2];m=d+92|0;c[m>>2]=c[e+4>>2];p=d+96|0;c[p>>2]=c[e+8>>2];l=e+36|0;k=c[l>>2]|0;do if(!k){k=fc()|0;l=Pc((wi(k)|0)+29|0)|0;c[d+108>>2]=l;if(l){c[S>>2]=7697;c[S+4>>2]=k;ni(l,7692,S)|0;break}Ub(j,1,7646,R)|0;j=0;i=ka;return j|0}else{k=Pc((wi(k)|0)+1|0)|0;c[d+108>>2]=k;if(k){vi(k,c[l>>2]|0)|0;break}Ub(j,1,7592,Q)|0;j=0;i=ka;return j|0}while(0);k=(c[f+8>>2]|0)-(c[m>>2]|0)|0;l=c[f+12>>2]|0;if(!(c[e>>2]|0)){c[n>>2]=k;c[o>>2]=l-(c[p>>2]|0)}else{S=c[n>>2]|0;c[$>>2]=(k+-1+S|0)/(S|0)|0;S=c[o>>2]|0;c[aa>>2]=(l+-1-(c[p>>2]|0)+S|0)/(S|0)|0}if(a[e+18688>>0]|0){a[d+180>>0]=a[e+18689>>0]|0;a[N>>0]=a[N>>0]|8}S=Qc(_(c[aa>>2]|0,c[$>>2]|0)|0,5640)|0;L=d+164|0;c[L>>2]=S;if(!S){Ub(j,1,7726,T)|0;j=0;i=ka;return j|0}K=e+4784|0;A=c[K>>2]|0;do if(A){w=e+48|0;B=c[ba>>2]|0;C=c[f+16>>2]|0;D=c[e+4788>>2]|0;E=_(C,B)|0;F=Qc(_(E,D)|0,4)|0;if(!F){Ub(j,1,7780,U)|0;break}m=c[w>>2]|0;s=e+60|0;k=c[s>>2]|0;if(m>>>0>>0){q=_(m,C)|0;t=e+52|0;u=e+64|0;v=e+56|0;l=c[u>>2]|0;while(1){n=c[t>>2]|0;if(n>>>0>>0){k=c[v>>2]|0;p=n;o=n+q|0;while(1){if(!k)k=0;else{l=o;n=0;while(1){c[F+(l<<2)>>2]=1;n=n+1|0;k=c[v>>2]|0;if(n>>>0>=k>>>0)break;else l=l+E|0}l=c[u>>2]|0}p=p+1|0;if(p>>>0>=l>>>0)break;else o=o+1|0}k=c[s>>2]|0}m=m+1|0;if(m>>>0>=k>>>0)break;else q=q+C|0}}if(A>>>0>1){z=1;do{k=w;w=w+148|0;v=c[k+8>>2]|0;u=k+156|0;n=c[u>>2]|0;v=n>>>0>v>>>0?v:0;o=c[w>>2]|0;x=k+160|0;l=c[x>>2]|0;if(o>>>0>>0){q=_(o,C)|0;y=k+152|0;s=k+164|0;t=_(v,E)|0;m=c[s>>2]|0;k=n;while(1){n=c[y>>2]|0;if(n>>>0>>0){p=n;n=n+q|0;while(1){if(v>>>0>>0){l=n+t|0;m=v;while(1){c[F+(l<<2)>>2]=1;m=m+1|0;k=c[u>>2]|0;if(m>>>0>=k>>>0)break;else l=l+E|0}m=c[s>>2]|0}p=p+1|0;if(p>>>0>=m>>>0)break;else n=n+1|0}l=c[x>>2]|0}o=o+1|0;if(o>>>0>=l>>>0)break;else q=q+C|0}}z=z+1|0}while((z|0)!=(A|0))}if((D|0)!=0?(V=(C|0)==0,(B|0)!=0):0){l=0;q=0;k=0;do{if(!V){p=l;o=0;while(1){m=0;n=p;while(1){k=(c[F+(n<<2)>>2]|0)!=1|k;m=m+1|0;if((m|0)==(C|0))break;else n=n+1|0}o=o+1|0;if((o|0)==(B|0))break;else p=p+C|0}l=E+l|0}q=q+1|0}while((q|0)!=(D|0));if(k)Ub(j,1,7828,W)|0}Uc(F)}while(0);e:do if(_(c[aa>>2]|0,c[$>>2]|0)|0){w=e+4788|0;x=e+40|0;y=e+44|0;z=e+18690|0;A=f+16|0;l=e+18696|0;B=f+24|0;C=e+5596|0;D=e+5600|0;E=e+5604|0;F=e+5608|0;G=e+5612|0;H=e+5616|0;I=e+5620|0;J=0;f:while(1){q=c[L>>2]|0;s=q+(J*5640|0)|0;W=c[w>>2]|0;k=q+(J*5640|0)+8|0;c[k>>2]=W;if(W){m=((b[X>>1]|0)+-3&65535)<4;o=0;do{n=(a[N>>0]&4)==0;do if(!m)if(n){c[q+(J*5640|0)+20+(o<<2)>>2]=c[e+4792+(o<<2)>>2];break}else{c[q+(J*5640|0)+5184+(o<<2)>>2]=c[e+5192+(o<<2)>>2];break}else{if(!n)c[q+(J*5640|0)+5184+(o<<2)>>2]=c[e+5192+(o<<2)>>2];c[q+(J*5640|0)+20+(o<<2)>>2]=c[e+4792+(o<<2)>>2]}while(0);o=o+1|0}while(o>>>0<(c[k>>2]|0)>>>0)}c[s>>2]=c[x>>2];c[q+(J*5640|0)+4>>2]=c[y>>2];p=q+(J*5640|0)+16|0;c[p>>2]=a[z>>0];k=q+(J*5640|0)+5636|0;m=a[k>>0]|0;a[k>>0]=m&-5;if(!(c[K>>2]|0))c[q+(J*5640|0)+420>>2]=0;else{a[k>>0]=m|4;m=c[K>>2]|0;if(!m)k=0;else{n=J+1|0;o=0;k=0;do{if((n|0)==(c[e+48+(o*148|0)+48>>2]|0)){c[q+(J*5640|0)+424+(k*148|0)>>2]=c[e+48+(k*148|0)>>2];c[q+(J*5640|0)+424+(k*148|0)+4>>2]=c[e+48+(k*148|0)+4>>2];c[q+(J*5640|0)+424+(k*148|0)+8>>2]=c[e+48+(k*148|0)+8>>2];c[q+(J*5640|0)+424+(k*148|0)+12>>2]=c[e+48+(k*148|0)+12>>2];c[q+(J*5640|0)+424+(k*148|0)+16>>2]=c[e+48+(k*148|0)+16>>2];c[q+(J*5640|0)+424+(k*148|0)+32>>2]=c[e+48+(k*148|0)+32>>2];c[q+(J*5640|0)+424+(k*148|0)+48>>2]=c[e+48+(k*148|0)+48>>2];k=k+1|0}o=o+1|0}while(o>>>0>>0)}c[q+(J*5640|0)+420>>2]=k+-1}W=Qc(c[A>>2]|0,1080)|0;v=q+(J*5640|0)+5584|0;c[v>>2]=W;if(!W){Z=149;break}do if(!(c[l>>2]|0)){g:do if((c[p>>2]|0)==1){k=c[A>>2]|0;if(k>>>0<=2){n=k;break}m=c[B>>2]|0;k=c[m>>2]|0;do if((k|0)==(c[m+52>>2]|0)){if((k|0)!=(c[m+104>>2]|0))break;k=c[m+4>>2]|0;if((k|0)!=(c[m+56>>2]|0))break;if((k|0)==(c[m+108>>2]|0)){Z=175;break g}}while(0);Ub(j,2,8224,fa)|0;c[p>>2]=0;Z=175}else Z=175;while(0);if((Z|0)==175){Z=0;n=c[A>>2]|0}if(!n)break;k=c[B>>2]|0;m=0;do{if(!(c[k+(m*52|0)+32>>2]|0))c[(c[v>>2]|0)+(m*1080|0)+1076>>2]=1<<(c[k+(m*52|0)+24>>2]|0)+-1;m=m+1|0}while(m>>>0>>0);Y=n;Z=166}else{n=c[A>>2]|0;n=_(n<<2,n)|0;k=Pc(n)|0;o=(c[l>>2]|0)+n|0;if(!k){Z=152;break f}c[p>>2]=2;m=Pc(n)|0;c[q+(J*5640|0)+5608>>2]=m;if(!m){Z=154;break f}Ui(m|0,c[l>>2]|0,n|0)|0;Ui(k|0,c[l>>2]|0,n|0)|0;m=Pc(n)|0;n=q+(J*5640|0)+5604|0;c[n>>2]=m;if(!m){Z=156;break f}if(!(Vg(k,m,c[A>>2]|0)|0)){Z=158;break f}m=Pc(c[A>>2]<<3)|0;c[q+(J*5640|0)+5600>>2]=m;if(!m){Z=160;break f}If(m,c[A>>2]|0,c[n>>2]|0);Uc(k);k=c[A>>2]|0;if(k){m=c[v>>2]|0;n=0;do{c[m+(n*1080|0)+1076>>2]=c[o+(n<<2)>>2];n=n+1|0}while(n>>>0>>0)}if(!(_c(s,f)|0)){Z=167;break f}Y=c[A>>2]|0;Z=166}while(0);if((Z|0)==166?(Z=0,(Y|0)!=0):0){u=0;do{s=c[v>>2]|0;t=s+(u*1080|0)|0;c[t>>2]=c[x>>2]&1;n=c[ba>>2]|0;o=s+(u*1080|0)+4|0;c[o>>2]=n;k=c[C>>2]|0;if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+8>>2]=k;k=c[D>>2]|0;if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+12>>2]=k;c[s+(u*1080|0)+16>>2]=c[E>>2];W=c[F>>2]|0;c[s+(u*1080|0)+20>>2]=(W|0)==0&1;c[s+(u*1080|0)+24>>2]=(W|0)!=0?2:0;c[s+(u*1080|0)+804>>2]=2;if((u|0)==(c[G>>2]|0))k=c[H>>2]|0;else k=0;c[s+(u*1080|0)+808>>2]=k;do if(!(c[x>>2]&1)){if(!n)break;else k=0;do{c[s+(u*1080|0)+812+(k<<2)>>2]=15;c[s+(u*1080|0)+944+(k<<2)>>2]=15;k=k+1|0}while(k>>>0<(c[o>>2]|0)>>>0)}else{if((n|0)>0){o=n;q=0}else break;while(1){p=o;o=o+-1|0;k=c[I>>2]|0;do if((q|0)<(k|0)){k=c[e+5624+(q<<2)>>2]|0;if((k|0)<1)c[s+(u*1080|0)+812+(o<<2)>>2]=1;else{if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+812+(o<<2)>>2]=k}k=c[e+5756+(q<<2)>>2]|0;if((k|0)<1){c[s+(u*1080|0)+944+(o<<2)>>2]=1;break}if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+944+(o<<2)>>2]=k}else{W=k+-1|0;m=q-W|0;k=c[e+5624+(W<<2)>>2]>>m;m=c[e+5756+(W<<2)>>2]>>m;if((k|0)<1)c[s+(u*1080|0)+812+(o<<2)>>2]=1;else{if((k|0)>1){n=0;do{k=k>>1;n=n+1|0}while((k|0)>1);k=n}else k=0;c[s+(u*1080|0)+812+(o<<2)>>2]=k}if((m|0)<1){c[s+(u*1080|0)+944+(o<<2)>>2]=1;break}if((m|0)>1){k=0;do{m=m>>1;k=k+1|0}while((m|0)>1)}else k=0;c[s+(u*1080|0)+944+(o<<2)>>2]=k}while(0);if((p|0)<=1)break;else q=q+1|0}}while(0);Mg(t,c[(c[B>>2]|0)+(u*52|0)+24>>2]|0);u=u+1|0}while(u>>>0<(c[A>>2]|0)>>>0)}J=J+1|0;if(J>>>0>=(_(c[aa>>2]|0,c[$>>2]|0)|0)>>>0)break e}if((Z|0)==149){Ub(j,1,7867,ca)|0;j=0;i=ka;return j|0}else if((Z|0)==152){Ub(j,1,7931,da)|0;j=0;i=ka;return j|0}else if((Z|0)==154){Uc(k);Ub(j,1,7974,ga)|0;j=0;i=ka;return j|0}else if((Z|0)==156){Uc(k);Ub(j,1,8032,ha)|0;j=0;i=ka;return j|0}else if((Z|0)==158){Uc(k);Ub(j,1,8092,ia)|0;j=0;i=ka;return j|0}else if((Z|0)==160){Uc(k);Ub(j,1,8140,ja)|0;j=0;i=ka;return j|0}else if((Z|0)==167){Ub(j,1,8190,ea)|0;j=0;i=ka;return j|0}}else l=e+18696|0;while(0);k=c[l>>2]|0;if(!k){j=1;i=ka;return j|0}Uc(k);c[l>>2]=0;j=1;i=ka;return j|0}function _c(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c[b+16>>2]|0)!=2){b=1;return b|0}m=b+5604|0;r=b+5616|0;e=c[r>>2]|0;n=b+5620|0;do if(c[m>>2]|0){do if((e|0)==(c[n>>2]|0)){e=e+10|0;c[n>>2]=e;f=b+5612|0;e=Tc(c[f>>2]|0,e*20|0)|0;if(e){c[f>>2]=e;q=c[r>>2]|0;Qi(e+(q*20|0)|0,0,((c[n>>2]|0)-q|0)*20|0)|0;e=c[r>>2]|0;break}Uc(c[f>>2]|0);c[f>>2]=0;c[n>>2]=0;c[r>>2]=0;b=0;return b|0}else f=b+5612|0;while(0);k=c[f>>2]|0;i=k+(e*20|0)|0;l=k+(e*20|0)+12|0;f=c[l>>2]|0;if(f){Uc(f);c[l>>2]=0}c[k+(e*20|0)+8>>2]=1;c[k+(e*20|0)+4>>2]=1;c[i>>2]=2;f=c[d+16>>2]|0;f=_(f,f)|0;h=f<<2;j=Pc(h)|0;c[l>>2]=j;if(!j){b=0;return b|0}else{Xa[c[768+(c[i>>2]<<2)>>2]&15](c[m>>2]|0,j,f);c[k+(e*20|0)+16>>2]=h;e=(c[r>>2]|0)+1|0;c[r>>2]=e;j=2;break}}else{j=1;i=0}while(0);do if((e|0)==(c[n>>2]|0)){f=e+10|0;c[n>>2]=f;e=b+5612|0;f=Tc(c[e>>2]|0,f*20|0)|0;if(!f){Uc(c[e>>2]|0);c[e>>2]=0;c[n>>2]=0;c[r>>2]=0;b=0;return b|0}else{c[e>>2]=f;h=c[r>>2]|0;Qi(f+(h*20|0)|0,0,((c[n>>2]|0)-h|0)*20|0)|0;if(!i){i=0;break}i=f+((h+-1|0)*20|0)|0;break}}else e=b+5612|0;while(0);m=c[e>>2]|0;n=c[r>>2]|0;q=m+(n*20|0)|0;o=m+(n*20|0)+12|0;e=c[o>>2]|0;if(e){Uc(e);c[o>>2]=0}p=j+1|0;c[m+(n*20|0)+8>>2]=j;c[m+(n*20|0)+4>>2]=2;c[q>>2]=2;d=d+16|0;e=c[d>>2]|0;f=e<<2;l=Pc(f)|0;c[o>>2]=l;if(!l){b=0;return b|0}h=Pc(f)|0;if(!h){Uc(c[o>>2]|0);c[o>>2]=0;b=0;return b|0}if(e){j=0;k=h;l=c[b+5584>>2]|0;while(1){g[k>>2]=+(c[l+1076>>2]|0);j=j+1|0;if((j|0)==(e|0))break;else{k=k+4|0;l=l+1080|0}}}Xa[c[768+(c[q>>2]<<2)>>2]&15](h,c[o>>2]|0,e);Uc(h);c[m+(n*20|0)+16>>2]=f;c[r>>2]=(c[r>>2]|0)+1;j=b+5628|0;e=c[j>>2]|0;h=b+5632|0;do if((e|0)==(c[h>>2]|0)){e=e+10|0;c[h>>2]=e;f=b+5624|0;e=Tc(c[f>>2]|0,e*20|0)|0;if(e){c[f>>2]=e;b=c[j>>2]|0;Qi(e+(b*20|0)|0,0,((c[h>>2]|0)-b|0)*20|0)|0;e=c[j>>2]|0;break}Uc(c[f>>2]|0);c[f>>2]=0;c[h>>2]=0;c[j>>2]=0;b=0;return b|0}else f=b+5624|0;while(0);b=c[f>>2]|0;c[b+(e*20|0)+8>>2]=i;r=b+(e*20|0)+16|0;a[r>>0]=a[r>>0]|1;c[b+(e*20|0)+4>>2]=c[d>>2];c[b+(e*20|0)>>2]=p;c[b+(e*20|0)+12>>2]=q;c[j>>2]=(c[j>>2]|0)+1;b=1;return b|0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function ad(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;j=Xb()|0;k=b+80|0;c[k>>2]=j;if(!j){k=0;return k|0}f=b+192|0;if((sg(c[f>>2]|0,23,e)|0)!=0?(sg(c[f>>2]|0,24,e)|0)!=0:0){h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}}else vg(h);f=b+188|0;if((sg(c[f>>2]|0,25,e)|0)!=0?(sg(c[f>>2]|0,26,e)|0)!=0:0){h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}}else vg(h);f=Xb()|0;c[d>>2]=f;if(!f){k=0;return k|0}$b(c[k>>2]|0,f);f=_(c[b+116>>2]|0,c[b+112>>2]|0)|0;i=b+196|0;c[(c[i>>2]|0)+36>>2]=f;f=Qc(f,40)|0;g=c[i>>2]|0;c[g+40>>2]=f;if(!f){k=0;return k|0}if(!(c[g+36>>2]|0)){k=1;return k|0}h=0;while(1){c[f+(h*40|0)+28>>2]=100;c[f+(h*40|0)+20>>2]=0;k=Qc(100,24)|0;g=c[i>>2]|0;f=c[g+40>>2]|0;c[f+(h*40|0)+24>>2]=k;h=h+1|0;if(!k){f=0;g=30;break}if(h>>>0>=(c[g+36>>2]|0)>>>0){f=1;g=30;break}}if((g|0)==30)return f|0}Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}function bd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(!a)return;b=a+28|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}h=a+40|0;b=c[h>>2]|0;if(b){g=a+36|0;if(c[g>>2]|0){d=b;f=0;do{e=c[d+(f*40|0)+36>>2]|0;if(e){Uc(e);b=c[h>>2]|0;c[b+(f*40|0)+36>>2]=0;d=b}e=c[d+(f*40|0)+16>>2]|0;if(e){Uc(e);b=c[h>>2]|0;c[b+(f*40|0)+16>>2]=0;d=b}e=c[d+(f*40|0)+24>>2]|0;if(e){Uc(e);d=c[h>>2]|0;c[d+(f*40|0)+24>>2]=0;b=d}f=f+1|0}while(f>>>0<(c[g>>2]|0)>>>0)}Uc(b);c[h>>2]=0}Uc(a);return}function cd(d,e,f,g,h,j,k,l,m,n,o){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=i;i=i+256|0;Ca=Da+200|0;Ba=Da+192|0;za=Da+184|0;ya=Da+176|0;pa=Da+168|0;oa=Da+160|0;na=Da+152|0;ma=Da+144|0;la=Da+136|0;ka=Da+128|0;ia=Da+120|0;ha=Da+112|0;wa=Da+104|0;ua=Da+96|0;ga=Da+88|0;fa=Da+80|0;ea=Da+72|0;va=Da+64|0;da=Da+56|0;ca=Da+48|0;sa=Da+40|0;ra=Da+32|0;qa=Da+24|0;ja=Da+16|0;ba=Da+8|0;aa=Da;V=Da+240|0;T=Da+236|0;X=Da+232|0;Z=Da+228|0;$=Da+224|0;U=Da+220|0;Y=Da+216|0;S=Da+212|0;W=Da+208|0;c[S>>2]=65424;Aa=d+8|0;a:do switch(c[Aa>>2]|0){case 256:{c[S>>2]=65497;p=d+76|0;xa=117;break}case 8:{ta=d+76|0;if(!(a[ta>>0]&1)){O=d+200|0;P=d+164|0;Q=d+72|0;R=d+24|0;B=d+196|0;D=d+112|0;E=d+116|0;G=V+2|0;H=V+6|0;I=V+7|0;J=d+16|0;K=d+20|0;L=d+64|0;p=65424;b:while(1){c:do if((p|0)!=65427){while(1){A=Qb(n)|0;if((A|0)==0&(C|0)==0){xa=7;break}if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=9;break b}qb(c[J>>2]|0,W,2);if((c[W>>2]|0)>>>0<2){xa=11;break b}if((c[S>>2]|0)==32896?(A=Qb(n)|0,(A|0)==0&(C|0)==0):0){xa=14;break}s=c[Aa>>2]|0;p=c[W>>2]|0;if(s&16)c[R>>2]=-2-p+(c[R>>2]|0);q=p+-2|0;c[W>>2]=q;p=c[S>>2]|0;r=784;while(1){A=c[r>>2]|0;if((A|0)==0|(A|0)==(p|0)){y=r;break}else r=r+12|0}if(!(c[r+4>>2]&s)){xa=20;break b}if(q>>>0>(c[K>>2]|0)>>>0){A=Qb(n)|0;z=C;if(0>(z|0)|0==(z|0)&q>>>0>A>>>0){xa=24;break b}p=Tc(c[J>>2]|0,c[W>>2]|0)|0;if(!p){xa=26;break b}c[J>>2]=p;q=c[W>>2]|0;c[K>>2]=q}else p=c[J>>2]|0;q=Mb(n,p,q,o)|0;if((q|0)!=(c[W>>2]|0)){xa=29;break b}p=c[r+8>>2]|0;if(!p){xa=31;break b}if(!(Za[p&63](d,c[J>>2]|0,q,o)|0)){xa=33;break b}r=c[O>>2]|0;q=c[B>>2]|0;v=c[y>>2]|0;w=Pb(n)|0;x=c[W>>2]|0;w=w-x+-4|0;x=x+4|0;q=q+40|0;u=c[q>>2]|0;p=c[u+(r*40|0)+20>>2]|0;s=u+(r*40|0)+28|0;t=c[s>>2]|0;if((p+1|0)>>>0>t>>>0){t=~~(+(t>>>0)+100.0)>>>0;c[s>>2]=t;s=Tc(c[u+(r*40|0)+24>>2]|0,t*24|0)|0;t=c[q>>2]|0;p=t+(r*40|0)+24|0;if(!s){xa=41;break b}c[p>>2]=s;q=t;p=c[t+(r*40|0)+20>>2]|0}else{q=u;s=c[u+(r*40|0)+24>>2]|0}b[s+(p*24|0)>>1]=v;A=s+(p*24|0)+8|0;c[A>>2]=w;c[A+4>>2]=((w|0)<0)<<31>>31;c[s+(p*24|0)+16>>2]=x;c[q+(r*40|0)+20>>2]=p+1;if((v|0)==65424?(F=c[q+(r*40|0)+16>>2]|0,(F|0)!=0):0){A=F+((c[q+(r*40|0)+12>>2]|0)*24|0)|0;c[A>>2]=w;c[A+4>>2]=0}do if((c[y>>2]|0)==65424){p=Pb(n)|0;p=-4-(c[W>>2]|0)+p|0;A=L;z=c[A+4>>2]|0;if(!(0>(z|0)|(0==(z|0)?p>>>0>(c[A>>2]|0)>>>0:0)))break;A=L;c[A>>2]=p;c[A+4>>2]=0}while(0);if(a[ta>>0]&4){xa=46;break}if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=50;break b}qb(c[J>>2]|0,S,2);if((c[S>>2]|0)==65427)break c}if((xa|0)==7){xa=0;c[Aa>>2]=64;break}else if((xa|0)==14){xa=0;c[Aa>>2]=64;break}else if((xa|0)==46){xa=0;A=Rb(n,c[R>>2]|0,0,o)|0;if(!((C|0)==0?(A|0)==(c[R>>2]|0):0)){xa=47;break b}c[S>>2]=65427;break}}while(0);A=Qb(n)|0;if((A|0)==0&(C|0)==0?(c[Aa>>2]|0)==64:0){xa=115;break}p=a[ta>>0]|0;if(!(p&4)){q=c[O>>2]|0;r=c[P>>2]|0;if(!(c[Q>>2]|0)){p=c[R>>2]|0;if(p>>>0>1){s=p+-2|0;c[R>>2]=s}else s=p}else{s=Qb(n)|0;s=Si(s|0,C|0,-2,0)|0;c[R>>2]=s}p=r+(q*5640|0)+5592|0;A=r+(q*5640|0)+5596|0;do if(!s)z=1;else{z=Qb(n)|0;y=C;if(0>(y|0)|0==(y|0)&s>>>0>z>>>0)Ub(o,2,8573,ga)|0;q=c[p>>2]|0;if(!q){z=Pc(c[R>>2]|0)|0;c[p>>2]=z;if(!z)break b;else{z=0;break}}q=Tc(q,(c[R>>2]|0)+(c[A>>2]|0)|0)|0;if(!q){xa=65;break b}c[p>>2]=q;z=0}while(0);q=c[B>>2]|0;if(q){w=Pb(n)|0;s=C;y=Si(w|0,s|0,-2,-1)|0;r=c[O>>2]|0;q=q+40|0;u=c[q>>2]|0;v=c[u+(r*40|0)+12>>2]|0;t=c[u+(r*40|0)+16>>2]|0;x=t+(v*24|0)+8|0;c[x>>2]=y;c[x+4>>2]=C;x=c[R>>2]|0;s=Si(x|0,0,w|0,s|0)|0;v=t+(v*24|0)+16|0;c[v>>2]=s;c[v+4>>2]=C;x=x+2|0;v=c[u+(r*40|0)+20>>2]|0;s=u+(r*40|0)+28|0;t=c[s>>2]|0;if((v+1|0)>>>0>t>>>0){t=~~(+(t>>>0)+100.0)>>>0;c[s>>2]=t;s=Tc(c[u+(r*40|0)+24>>2]|0,t*24|0)|0;t=c[q>>2]|0;u=t+(r*40|0)+24|0;if(!s){p=u;xa=74;break}c[u>>2]=s;w=t;q=c[t+(r*40|0)+20>>2]|0}else{w=u;s=c[u+(r*40|0)+24>>2]|0;q=v}b[s+(q*24|0)>>1]=-109;v=Pi(0,y|0,32)|0;y=s+(q*24|0)+8|0;c[y>>2]=v;c[y+4>>2]=C;c[s+(q*24|0)+16>>2]=x;c[w+(r*40|0)+20>>2]=q+1}if(!z)p=Mb(n,(c[p>>2]|0)+(c[A>>2]|0)|0,c[R>>2]|0,o)|0;else p=0;c[Aa>>2]=(p|0)==(c[R>>2]|0)?8:64;c[A>>2]=(c[A>>2]|0)+p;p=a[ta>>0]|0;if((p&9)==1){a[ta>>0]=p|8;q=c[O>>2]|0;do if((Tb(n)|0)!=0?(M=Pb(n)|0,N=C,!((M|0)==-1&(N|0)==-1)):0){while(1){if((Mb(n,V,2,o)|0)!=2){xa=81;break}qb(V,T,2);if((c[T>>2]|0)!=65424){xa=83;break}if((Mb(n,V,2,o)|0)!=2){xa=85;break}qb(V,X,2);if((c[X>>2]|0)!=10){xa=87;break}c[X>>2]=8;p=Mb(n,V,8,o)|0;if((p|0)!=(c[X>>2]|0)){xa=89;break}if((p|0)!=8){xa=91;break}qb(V,Z,2);qb(G,$,4);qb(H,U,1);qb(I,Y,1);if((c[Z>>2]|0)==(q|0)){xa=97;break}p=c[$>>2]|0;if(p>>>0<14){xa=94;break}xa=p+-12|0;c[$>>2]=xa;xa=Rb(n,xa,0,o)|0;if(!((C|0)==0?(xa|0)==(c[$>>2]|0):0)){xa=96;break}}if((xa|0)==81){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==83){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==85){xa=0;Ub(o,1,8295,ha)|0;p=0;q=0;break}else if((xa|0)==87){xa=0;Ub(o,1,8313,ia)|0;p=0;q=0;break}else if((xa|0)==89){xa=0;Ub(o,1,8295,ka)|0;p=0;q=0;break}else if((xa|0)==91){xa=0;Ub(o,1,8662,la)|0;p=0;q=0;break}else if((xa|0)==94){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==96){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==97){xa=0;q=(c[U>>2]|0)==(c[Y>>2]|0)&1;p=(Sb(n,M,N,o)|0)!=0&1;break}}else{p=1;q=0}while(0);if(!p){xa=99;break}if(q){p=_(c[E>>2]|0,c[D>>2]|0)|0;a[ta>>0]=a[ta>>0]&-18|16;if(p){q=c[P>>2]|0;t=0;do{r=q+(t*5640|0)+5588|0;s=c[r>>2]|0;if(s)c[r>>2]=s+1;t=t+1|0}while((t|0)!=(p|0))}Ub(o,2,8734,na)|0}}if(!(a[ta>>0]&1)){if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=109;break}qb(c[J>>2]|0,S,2)}}else{a[ta>>0]=p&-6;c[Aa>>2]=8;if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=113;break}qb(c[J>>2]|0,S,2)}p=c[S>>2]|0;if(!((p|0)!=65497&(a[ta>>0]&1)==0)){xa=116;break}}switch(xa|0){case 9:{Ub(o,1,8295,aa)|0;o=0;i=Da;return o|0}case 11:{Ub(o,1,8313,ba)|0;o=0;i=Da;return o|0}case 20:{Ub(o,1,8339,ja)|0;o=0;i=Da;return o|0}case 24:{Ub(o,1,8382,qa)|0;o=0;i=Da;return o|0}case 26:{Uc(c[J>>2]|0);c[J>>2]=0;c[K>>2]=0;Ub(o,1,8427,ra)|0;o=0;i=Da;return o|0}case 29:{Ub(o,1,8295,sa)|0;o=0;i=Da;return o|0}case 31:{Ub(o,1,8461,ca)|0;o=0;i=Da;return o|0}case 33:{c[da>>2]=c[S>>2];Ub(o,1,8490,da)|0;o=0;i=Da;return o|0}case 41:{Uc(c[p>>2]|0);Ca=c[q>>2]|0;c[Ca+(r*40|0)+24>>2]=0;c[Ca+(r*40|0)+28>>2]=0;c[Ca+(r*40|0)+20>>2]=0;Ub(o,1,8537,va)|0;o=0;i=Da;return o|0}case 47:{Ub(o,1,8295,ea)|0;o=0;i=Da;return o|0}case 50:{Ub(o,1,8295,fa)|0;o=0;i=Da;return o|0}case 65:{Uc(c[p>>2]|0);c[p>>2]=0;break}case 74:{Uc(c[p>>2]|0);Ca=c[q>>2]|0;c[Ca+(r*40|0)+24>>2]=0;c[Ca+(r*40|0)+28>>2]=0;c[Ca+(r*40|0)+20>>2]=0;Ub(o,1,8537,wa)|0;o=0;i=Da;return o|0}case 99:{Ub(o,1,8688,ma)|0;o=0;i=Da;return o|0}case 109:{Ub(o,1,8295,oa)|0;o=0;i=Da;return o|0}case 113:{Ub(o,1,8295,pa)|0;o=0;i=Da;return o|0}case 115:{p=c[S>>2]|0;xa=116;break}}if((xa|0)==116)if((p|0)==65497){p=ta;xa=117;break a}else{p=ta;break a}Ub(o,1,8628,ua)|0;o=0;i=Da;return o|0}else p=ta;break}default:{o=0;i=Da;return o|0}}while(0);if((xa|0)==117)if((c[Aa>>2]|0)!=256){c[d+200>>2]=0;c[Aa>>2]=256}if(!(a[p>>0]&1)){s=_(c[d+112>>2]|0,c[d+116>>2]|0)|0;t=d+200|0;q=c[t>>2]|0;d:do if(q>>>0>>0){p=q;r=(c[d+164>>2]|0)+(q*5640|0)|0;while(1){if(c[r+5592>>2]|0){q=p;break d}q=p+1|0;c[t>>2]=q;if(q>>>0>>0){p=q;r=r+5640|0}else break}}while(0);if((q|0)==(s|0)){c[m>>2]=0;o=1;i=Da;return o|0}}else{q=d+200|0;t=q;q=c[q>>2]|0}A=c[d+164>>2]|0;if(a[A+(q*5640|0)+5636>>0]&2){B=A+(q*5640|0)+5160|0;r=c[B>>2]|0;if(!r)p=0;else{s=c[A+(q*5640|0)+5164>>2]|0;u=0;p=0;do{p=(c[s+(u<<3)+4>>2]|0)+p|0;u=u+1|0}while((u|0)!=(r|0))}xa=Pc(p)|0;z=A+(q*5640|0)+5172|0;c[z>>2]=xa;if(!xa){Ub(o,1,8775,ya)|0;Ub(o,1,8813,za)|0;o=0;i=Da;return o|0}y=A+(q*5640|0)+5180|0;c[y>>2]=p;r=c[B>>2]|0;x=A+(q*5640|0)+5164|0;if(!r)p=c[x>>2]|0;else{p=c[x>>2]|0;v=p;w=0;u=0;while(1){s=c[v+(w<<3)>>2]|0;if(!s)s=v;else{Ui((c[z>>2]|0)+u|0,s|0,c[v+(w<<3)+4>>2]|0)|0;s=c[x>>2]|0;u=(c[s+(w<<3)+4>>2]|0)+u|0;Uc(c[s+(w<<3)>>2]|0);s=c[x>>2]|0;c[s+(w<<3)>>2]=0;c[s+(w<<3)+4>>2]=0;r=c[B>>2]|0;p=s}w=w+1|0;if(w>>>0>=r>>>0)break;else v=s}}c[B>>2]=0;Uc(p);c[x>>2]=0;c[A+(q*5640|0)+5168>>2]=c[z>>2];c[A+(q*5640|0)+5176>>2]=c[y>>2];q=c[t>>2]|0}p=d+204|0;if(!($f(c[p>>2]|0,q,o)|0)){Ub(o,1,8839,Ba)|0;o=0;i=Da;return o|0}else{Ba=_(c[d+112>>2]|0,c[d+116>>2]|0)|0;c[Ca>>2]=(c[t>>2]|0)+1;c[Ca+4>>2]=Ba;Ub(o,4,8873,Ca)|0;c[e>>2]=c[t>>2];c[m>>2]=1;c[f>>2]=ag(c[p>>2]|0)|0;o=c[c[(c[p>>2]|0)+20>>2]>>2]|0;c[g>>2]=c[o>>2];c[h>>2]=c[o+4>>2];c[j>>2]=c[o+8>>2];c[k>>2]=c[o+12>>2];c[l>>2]=c[o+16>>2];c[Aa>>2]=c[Aa>>2]|128;o=1;i=Da;return o|0}return 0}function dd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t+28|0;s=t+32|0;o=b+8|0;if(!(c[o>>2]&128)){g=0;i=t;return g|0}q=b+200|0;if((c[q>>2]|0)!=(d|0)){g=0;i=t;return g|0}j=c[b+164>>2]|0;n=j+(d*5640|0)|0;p=j+(d*5640|0)+5592|0;k=c[p>>2]|0;if(!k){sd(n);g=0;i=t;return g|0}l=b+204|0;m=j+(d*5640|0)+5596|0;if(!(cg(c[l>>2]|0,k,c[m>>2]|0,d,c[b+196>>2]|0,h)|0)){sd(n);c[o>>2]=c[o>>2]|32768;Ub(h,1,8912,t)|0;g=0;i=t;return g|0}if(!(dg(c[l>>2]|0,e,f)|0)){g=0;i=t;return g|0}j=c[p>>2]|0;if(j){Uc(j);c[p>>2]=0;c[m>>2]=0}p=b+76|0;a[p>>0]=a[p>>0]&-2;c[o>>2]=c[o>>2]&-129;p=Qb(g)|0;b=c[o>>2]|0;if((b|0)==256|(p|0)==0&(C|0)==0&(b|0)==64){g=1;i=t;return g|0}if((Mb(g,s,2,h)|0)!=2){Ub(h,2,8931,t+8|0)|0;g=1;i=t;return g|0}qb(s,r,2);switch(c[r>>2]|0){case 65497:{c[q>>2]=0;c[o>>2]=256;g=1;i=t;return g|0}case 65424:{g=1;i=t;return g|0}default:if((Qb(g)|0)==0&(C|0)==0){c[o>>2]=64;Ub(h,2,8975,t+16|0)|0;g=1;i=t;return g|0}else{Ub(h,1,9005,t+24|0)|0;g=0;i=t;return g|0}}return 0}function ed(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;y=z+96|0;x=z+88|0;w=z+80|0;v=z+72|0;u=z+64|0;s=z+56|0;r=z+48|0;o=z+40|0;n=z+32|0;m=z+24|0;l=z+16|0;p=c[b+80>>2]|0;if((c[b+8>>2]|0)!=8){Ub(j,1,9037,z)|0;j=0;i=z;return j|0}if(!(f|e|g|h)){Ub(j,4,9116,z+8|0)|0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+36>>2]=c[b+112>>2];c[b+40>>2]=c[b+116>>2];j=1;i=z;return j|0}t=p+8|0;k=c[t>>2]|0;if(k>>>0>>0){c[l>>2]=e;c[l+4>>2]=k;Ub(j,1,9185,l)|0;j=0;i=z;return j|0}k=c[p>>2]|0;if(k>>>0>e>>>0){c[m>>2]=e;c[m+4>>2]=k;Ub(j,2,9272,m)|0;k=0;e=c[p>>2]|0}else k=((e-(c[b+92>>2]|0)|0)>>>0)/((c[b+100>>2]|0)>>>0)|0;c[b+28>>2]=k;c[d>>2]=e;q=p+12|0;e=c[q>>2]|0;if(e>>>0>>0){c[n>>2]=f;c[n+4>>2]=e;Ub(j,1,9360,n)|0;j=0;i=z;return j|0}l=p+4|0;e=c[l>>2]|0;if(e>>>0>f>>>0){c[o>>2]=f;c[o+4>>2]=e;Ub(j,2,9445,o)|0;e=0;f=c[l>>2]|0}else e=((f-(c[b+96>>2]|0)|0)>>>0)/((c[b+104>>2]|0)>>>0)|0;c[b+32>>2]=e;m=d+4|0;c[m>>2]=f;e=c[p>>2]|0;if(e>>>0>g>>>0){c[r>>2]=g;c[r+4>>2]=e;Ub(j,1,9531,r)|0;j=0;i=z;return j|0}e=c[t>>2]|0;if(e>>>0>>0){c[s>>2]=g;c[s+4>>2]=e;Ub(j,2,9620,s)|0;e=c[b+112>>2]|0;g=c[t>>2]|0}else{e=c[b+100>>2]|0;e=(g+-1-(c[b+92>>2]|0)+e|0)/(e|0)|0}c[b+36>>2]=e;k=d+8|0;c[k>>2]=g;g=c[l>>2]|0;if(g>>>0>h>>>0){c[u>>2]=h;c[u+4>>2]=g;Ub(j,1,9708,u)|0;j=0;i=z;return j|0}g=c[q>>2]|0;if(g>>>0>>0){c[v>>2]=h;c[v+4>>2]=g;Ub(j,2,9798,v)|0;e=c[q>>2]|0;g=c[b+116>>2]|0}else{g=c[b+104>>2]|0;e=h;g=(h+-1-(c[b+96>>2]|0)+g|0)/(g|0)|0}c[b+40>>2]=g;h=d+12|0;c[h>>2]=e;v=b+76|0;a[v>>0]=a[v>>0]|2;v=c[d+16>>2]|0;b=c[d>>2]|0;a:do if(v){f=c[m>>2]|0;t=f+-1|0;u=c[k>>2]|0;q=u+-1|0;r=b+-1|0;g=0;p=c[d+24>>2]|0;while(1){d=c[p>>2]|0;e=(r+d|0)/(d|0)|0;c[p+16>>2]=e;o=c[p+4>>2]|0;k=(t+o|0)/(o|0)|0;c[p+20>>2]=k;d=(q+d|0)/(d|0)|0;l=c[p+40>>2]|0;m=Ri(1,0,l|0)|0;n=C;d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;d=Si(d|0,C|0,m|0,n|0)|0;d=Pi(d|0,C|0,l|0)|0;e=Si(e|0,((e|0)<0)<<31>>31|0,-1,-1)|0;e=Si(e|0,C|0,m|0,n|0)|0;e=Pi(e|0,C|0,l|0)|0;e=d-e|0;if((e|0)<0){k=29;break}s=c[h>>2]|0;d=(o+-1+s|0)/(o|0)|0;c[p+8>>2]=e;d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;d=Si(d|0,C|0,m|0,n|0)|0;d=Pi(d|0,C|0,l|0)|0;e=Si(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;e=Si(e|0,C|0,m|0,n|0)|0;e=Pi(e|0,C|0,l|0)|0;e=d-e|0;if((e|0)<0){k=31;break}c[p+12>>2]=e;g=g+1|0;if(g>>>0>=v>>>0){e=u;g=s;break a}else p=p+52|0}if((k|0)==29){c[w>>2]=g;c[w+4>>2]=e;Ub(j,1,9887,w)|0;j=0;i=z;return j|0}else if((k|0)==31){c[x>>2]=g;c[x+4>>2]=e;Ub(j,1,9956,x)|0;j=0;i=z;return j|0}}else{f=c[m>>2]|0;e=c[k>>2]|0;g=c[h>>2]|0}while(0);c[y>>2]=b;c[y+4>>2]=f;c[y+8>>2]=e;c[y+12>>2]=g;Ub(j,4,10025,y)|0;j=1;i=z;return j|0}function fd(){var b=0,d=0,e=0;b=Qc(1,208)|0;if(!b){d=0;return d|0}c[b>>2]=1;d=b+184|0;a[d>>0]=a[d>>0]|2;d=Qc(1,5640)|0;c[b+12>>2]=d;if(!d){Yc(b);d=0;return d|0}d=Qc(1,1e3)|0;c[b+16>>2]=d;if(!d){Yc(b);d=0;return d|0}c[b+20>>2]=1e3;c[b+60>>2]=-1;d=b+64|0;c[d>>2]=0;c[d+4>>2]=0;d=Qc(1,48)|0;do if(d){c[d+32>>2]=100;c[d+24>>2]=0;e=Qc(100,24)|0;c[d+28>>2]=e;if(!e){Uc(d);break}c[d+40>>2]=0;c[b+196>>2]=d;e=qg()|0;c[b+192>>2]=e;if(!e){Yc(b);e=0;return e|0}e=qg()|0;c[b+188>>2]=e;if(e){e=b;return e|0}Yc(b);e=0;return e|0}while(0);c[b+196>>2]=0;Yc(b);e=0;return e|0}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+128|0;s=t+104|0;r=t+72|0;q=t+64|0;n=t+40|0;l=t+24|0;j=t+16|0;h=t+8|0;g=t;if(b&384){ki(10063,11,1,d)|0;i=t;return}if((b&1|0)!=0?(f=c[a+80>>2]|0,(f|0)!=0):0)hd(f,0,d);if(b&2){ki(10075,36,1,d)|0;f=c[a+96>>2]|0;c[g>>2]=c[a+92>>2];c[g+4>>2]=f;$h(d,10112,g)|0;g=c[a+104>>2]|0;c[h>>2]=c[a+100>>2];c[h+4>>2]=g;$h(d,10130,h)|0;h=c[a+116>>2]|0;c[j>>2]=c[a+112>>2];c[j+4>>2]=h;$h(d,10148,j)|0;xd(c[a+12>>2]|0,c[(c[a+80>>2]|0)+16>>2]|0,d);ki(10164,2,1,d)|0}if((b&8|0)!=0?(k=_(c[a+112>>2]|0,c[a+116>>2]|0)|0,(k|0)!=0):0){f=a+80|0;g=0;h=c[a+164>>2]|0;while(1){xd(h,c[(c[f>>2]|0)+16>>2]|0,d);g=g+1|0;if((g|0)==(k|0))break;else h=h+5640|0}}if(!(b&16)){i=t;return}j=c[a+196>>2]|0;ki(10167,37,1,d)|0;k=j;b=c[k+4>>2]|0;f=j+8|0;a=c[f>>2]|0;f=c[f+4>>2]|0;h=l;c[h>>2]=c[k>>2];c[h+4>>2]=b;h=l+8|0;c[h>>2]=a;c[h+4>>2]=f;$h(d,10205,l)|0;ki(10272,17,1,d)|0;h=j+28|0;f=c[h>>2]|0;a:do if((f|0)!=0?(m=j+24|0,(c[m>>2]|0)!=0):0){g=0;while(1){b=f+(g*24|0)+8|0;k=c[b>>2]|0;b=c[b+4>>2]|0;l=c[f+(g*24|0)+16>>2]|0;c[n>>2]=e[f+(g*24|0)>>1];a=n+8|0;c[a>>2]=k;c[a+4>>2]=b;c[n+16>>2]=l;$h(d,10290,n)|0;g=g+1|0;if(g>>>0>=(c[m>>2]|0)>>>0)break a;f=c[h>>2]|0}}while(0);ki(10321,4,1,d)|0;b=j+40|0;h=c[b>>2]|0;if((h|0)!=0?(p=j+36|0,o=c[p>>2]|0,(o|0)!=0):0){g=0;f=0;do{f=(c[h+(g*40|0)+4>>2]|0)+f|0;g=g+1|0}while((g|0)!=(o|0));if(f){ki(10326,16,1,d)|0;if(c[p>>2]|0){f=c[b>>2]|0;k=0;do{j=c[f+(k*40|0)+4>>2]|0;c[q>>2]=k;c[q+4>>2]=j;$h(d,10343,q)|0;f=c[b>>2]|0;g=c[f+(k*40|0)+16>>2]|0;b:do if(!((j|0)==0|(g|0)==0)){f=0;while(1){a=g+(f*24|0)|0;u=c[a>>2]|0;a=c[a+4>>2]|0;m=g+(f*24|0)+8|0;l=c[m>>2]|0;m=c[m+4>>2]|0;o=g+(f*24|0)+16|0;n=c[o>>2]|0;o=c[o+4>>2]|0;c[r>>2]=f;h=r+8|0;c[h>>2]=u;c[h+4>>2]=a;h=r+16|0;c[h>>2]=l;c[h+4>>2]=m;h=r+24|0;c[h>>2]=n;c[h+4>>2]=o;$h(d,10379,r)|0;h=f+1|0;f=c[b>>2]|0;if((h|0)==(j|0))break b;g=c[f+(k*40|0)+16>>2]|0;f=h}}while(0);g=c[f+(k*40|0)+24>>2]|0;c:do if((g|0)!=0?(c[f+(k*40|0)+20>>2]|0)!=0:0){f=0;while(1){o=g+(f*24|0)+8|0;n=c[o>>2]|0;o=c[o+4>>2]|0;h=c[g+(f*24|0)+16>>2]|0;c[s>>2]=e[g+(f*24|0)>>1];u=s+8|0;c[u>>2]=n;c[u+4>>2]=o;c[s+16>>2]=h;$h(d,10290,s)|0;h=f+1|0;f=c[b>>2]|0;if(h>>>0>=(c[f+(k*40|0)+20>>2]|0)>>>0)break c;g=c[f+(k*40|0)+24>>2]|0;f=h}}while(0);k=k+1|0}while(k>>>0<(c[p>>2]|0)>>>0)}ki(10321,4,1,d)|0}}ki(10164,2,1,d)|0;i=t;return}function hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;h=n+16|0;g=n;k=n+52|0;if(!d){ki(10482,13,1,e)|0;a[k+1>>0]=0;f=9}else{ki(10445,36,1,c[676]|0)|0;f=0}a[k>>0]=f;o=c[b>>2]|0;f=c[b+4>>2]|0;c[g>>2]=k;c[g+4>>2]=o;c[g+8>>2]=f;$h(e,10496,g)|0;g=c[b+8>>2]|0;f=c[b+12>>2]|0;c[h>>2]=k;c[h+4>>2]=g;c[h+8>>2]=f;$h(e,10513,h)|0;h=b+16|0;f=c[h>>2]|0;c[j>>2]=k;c[j+4>>2]=f;$h(e,10530,j)|0;f=b+24|0;if(!(c[f>>2]|0)){ki(10164,2,1,e)|0;i=n;return}if(!(c[h>>2]|0)){ki(10164,2,1,e)|0;i=n;return}else g=0;do{c[l>>2]=k;c[l+4>>2]=g;$h(e,10546,l)|0;id((c[f>>2]|0)+(g*52|0)|0,d,e);c[m>>2]=k;$h(e,10566,m)|0;g=g+1|0}while(g>>>0<(c[h>>2]|0)>>>0);ki(10164,2,1,e)|0;i=n;return}function id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;k=l+24|0;j=l+16|0;h=l;g=l+32|0;f=(d|0)!=0;if(f){ki(10571,41,1,c[676]|0)|0;d=0}else{a[g+1>>0]=9;a[g+2>>0]=0;d=9}a[g>>0]=d;m=c[b>>2]|0;d=c[b+4>>2]|0;c[h>>2]=g;c[h+4>>2]=m;c[h+8>>2]=d;$h(e,10613,h)|0;h=c[b+24>>2]|0;c[j>>2]=g;c[j+4>>2]=h;$h(e,10630,j)|0;j=c[b+32>>2]|0;c[k>>2]=g;c[k+4>>2]=j;$h(e,10642,k)|0;if(!f){i=l;return}ki(10164,2,1,e)|0;i=l;return}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;e=m;b=a+80|0;k=c[(c[b>>2]|0)+16>>2]|0;d=Qc(1,56)|0;c[e>>2]=d;if(!d){l=0;i=m;return l|0}c[d+24>>2]=c[(c[b>>2]|0)+16>>2];c[d>>2]=c[a+92>>2];c[d+4>>2]=c[a+96>>2];c[d+8>>2]=c[a+100>>2];c[d+12>>2]=c[a+104>>2];c[d+16>>2]=c[a+112>>2];c[d+20>>2]=c[a+116>>2];c[d+52>>2]=0;d=c[a+12>>2]|0;b=c[e>>2]|0;c[b+32>>2]=c[d>>2];c[b+36>>2]=c[d+4>>2];c[b+40>>2]=c[d+8>>2];c[b+44>>2]=c[d+16>>2];c[b+48>>2]=Qc(c[b+24>>2]|0,1080)|0;b=c[e>>2]|0;j=b+48|0;a=c[j>>2]|0;if(!a){Cc(e);l=0;i=m;return l|0}if(!k){l=b;i=m;return l|0}h=d+5584|0;d=0;while(1){g=c[h>>2]|0;c[a+(d*1080|0)+4>>2]=c[g+(d*1080|0)>>2];e=g+(d*1080|0)+4|0;f=c[e>>2]|0;c[a+(d*1080|0)+8>>2]=f;c[a+(d*1080|0)+12>>2]=c[g+(d*1080|0)+8>>2];c[a+(d*1080|0)+16>>2]=c[g+(d*1080|0)+12>>2];c[a+(d*1080|0)+20>>2]=c[g+(d*1080|0)+16>>2];c[a+(d*1080|0)+24>>2]=c[g+(d*1080|0)+20>>2];if(f>>>0<33){Ui(a+(d*1080|0)+948|0,g+(d*1080|0)+944|0,f|0)|0;Ui(a+(d*1080|0)+816|0,g+(d*1080|0)+812|0,c[e>>2]|0)|0}f=c[g+(d*1080|0)+24>>2]|0;c[a+(d*1080|0)+28>>2]=f;c[a+(d*1080|0)+808>>2]=c[g+(d*1080|0)+804>>2];if((f|0)!=1){f=(c[e>>2]|0)*3|0;e=f+-2|0;if((e|0)<97&(f|0)>2)l=10}else{e=1;l=10}if((l|0)==10){l=0;f=0;do{c[a+(d*1080|0)+32+(f<<2)>>2]=c[g+(d*1080|0)+28+(f<<3)+4>>2];c[a+(d*1080|0)+420+(f<<2)>>2]=c[g+(d*1080|0)+28+(f<<3)>>2];f=f+1|0}while((f|0)!=(e|0))}c[a+(d*1080|0)+812>>2]=c[g+(d*1080|0)+808>>2];d=d+1|0;if((d|0)==(k|0))break;a=c[j>>2]|0}i=m;return b|0}function kd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Qc(1,48)|0;if(!b){k=0;return k|0}h=a+196|0;d=c[h>>2]|0;i=d;k=c[i+4>>2]|0;a=b;c[a>>2]=c[i>>2];c[a+4>>2]=k;a=d+8|0;k=c[a+4>>2]|0;i=b+8|0;c[i>>2]=c[a>>2];c[i+4>>2]=k;i=d+16|0;k=c[i+4>>2]|0;a=b+16|0;c[a>>2]=c[i>>2];c[a+4>>2]=k;d=c[d+24>>2]|0;a=b+24|0;c[a>>2]=d;d=Pc(d*24|0)|0;k=b+28|0;c[k>>2]=d;if(!d){Uc(b);k=0;return k|0}e=c[(c[h>>2]|0)+28>>2]|0;if(!e){Uc(d);c[k>>2]=0}else Ui(d|0,e|0,(c[a>>2]|0)*24|0)|0;a=c[(c[h>>2]|0)+36>>2]|0;g=b+36|0;c[g>>2]=a;a=Qc(a,40)|0;i=b+40|0;c[i>>2]=a;if(!a){Uc(c[k>>2]|0);Uc(b);k=0;return k|0}d=c[(c[h>>2]|0)+40>>2]|0;if(!d){Uc(a);c[i>>2]=0;k=b;return k|0}if(!(c[g>>2]|0)){k=b;return k|0}d=c[d+20>>2]|0;c[a+20>>2]=d;d=Pc(d*24|0)|0;a=c[i>>2]|0;c[a+24>>2]=d;a:do if(!d)d=0;else{f=d;d=0;while(1){e=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+24>>2]|0;if(!e){Uc(f);a=c[i>>2]|0;c[a+(d*40|0)+24>>2]=0}else{Ui(f|0,e|0,(c[a+(d*40|0)+20>>2]|0)*24|0)|0;a=c[i>>2]|0}e=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+4>>2]|0;c[a+(d*40|0)+4>>2]=e;e=Pc(e*24|0)|0;a=c[i>>2]|0;c[a+(d*40|0)+16>>2]=e;if(!e)break;f=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+16>>2]|0;if(!f){Uc(e);a=c[i>>2]|0;c[a+(d*40|0)+16>>2]=0}else{Ui(e|0,f|0,(c[a+(d*40|0)+4>>2]|0)*24|0)|0;a=c[i>>2]|0}c[a+(d*40|0)+32>>2]=0;c[a+(d*40|0)+36>>2]=0;d=d+1|0;if(d>>>0>=(c[g>>2]|0)>>>0){j=32;break}f=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+20>>2]|0;c[a+(d*40|0)+20>>2]=f;f=Pc(f*24|0)|0;a=c[i>>2]|0;c[a+(d*40|0)+24>>2]=f;if(!f)break a}if((j|0)==32)return b|0;if(d){Uc(c[a+24>>2]|0);Uc(c[(c[i>>2]|0)+16>>2]|0);if((d|0)!=1){a=1;do{Uc(c[(c[i>>2]|0)+(a*40|0)+24>>2]|0);Uc(c[(c[i>>2]|0)+(a*40|0)+16>>2]|0);a=a+1|0}while((a|0)!=(d|0))}a=c[i>>2]|0}Uc(a);Uc(c[k>>2]|0);Uc(b);k=0;return k|0}while(0);if(d){Uc(c[a+24>>2]|0);if((d|0)!=1){a=1;do{Uc(c[(c[i>>2]|0)+(a*40|0)+24>>2]|0);a=a+1|0}while((a|0)!=(d|0))}a=c[i>>2]|0}Uc(a);Uc(c[k>>2]|0);Uc(b);k=0;return k|0}function ld(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;if(!d){d=0;return d|0}f=Xb()|0;k=a+84|0;c[k>>2]=f;if(!f){d=0;return d|0}$b(d,f);h=a+188|0;sg(c[h>>2]|0,27,e)|0;h=c[h>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){d=a+80|0;Zb(c[d>>2]|0);c[d>>2]=0;d=0;return d|0}}else vg(h);i=c[d+16>>2]|0;if(!i){d=1;return d|0}h=c[(c[k>>2]|0)+24>>2]|0;f=c[d+24>>2]|0;g=0;do{c[f+(g*52|0)+36>>2]=c[h+(g*52|0)+36>>2];d=h+(g*52|0)+44|0;c[f+(g*52|0)+44>>2]=c[d>>2];c[d>>2]=0;g=g+1|0}while(g>>>0>>0);f=1;return f|0}function md(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;t=i;i=i+16|0;j=t+8|0;if(!d){Ub(e,1,10654,t)|0;s=0;i=t;return s|0}g=c[a+112>>2]|0;h=_(c[a+116>>2]|0,g)|0;if(h>>>0<=f>>>0){c[j>>2]=f;c[j+4>>2]=h+-1;Ub(e,1,10692,j)|0;s=0;i=t;return s|0}s=(f>>>0)%(g>>>0)|0;r=(f>>>0)/(g>>>0)|0;j=c[a+100>>2]|0;h=_(j,s)|0;k=c[a+92>>2]|0;h=h+k|0;c[d>>2]=h;q=a+80|0;g=c[q>>2]|0;l=c[g>>2]|0;h=h>>>0>>0?l:h;c[d>>2]=h;k=(_(j,s+1|0)|0)+k|0;s=d+8|0;c[s>>2]=k;j=c[g+8>>2]|0;k=k>>>0>j>>>0?j:k;c[s>>2]=k;s=c[a+104>>2]|0;j=_(s,r)|0;l=c[a+96>>2]|0;j=j+l|0;p=d+4|0;c[p>>2]=j;o=c[g+4>>2]|0;j=j>>>0>>0?o:j;c[p>>2]=j;l=(_(s,r+1|0)|0)+l|0;r=d+12|0;c[r>>2]=l;s=c[g+12>>2]|0;l=l>>>0>s>>>0?s:l;c[r>>2]=l;r=d+24|0;s=d+16|0;p=c[s>>2]|0;if(p){o=c[g+24>>2]|0;n=h+-1|0;m=j+-1|0;k=k+-1|0;g=l+-1|0;h=0;j=c[r>>2]|0;while(1){l=c[o+(h*52|0)+40>>2]|0;c[j+40>>2]=l;z=c[j>>2]|0;y=(n+z|0)/(z|0)|0;c[j+16>>2]=y;u=c[j+4>>2]|0;x=(m+u|0)/(u|0)|0;c[j+20>>2]=x;z=(k+z|0)/(z|0)|0;u=(g+u|0)/(u|0)|0;w=Ri(1,0,l|0)|0;v=C;z=Si(z|0,((z|0)<0)<<31>>31|0,-1,-1)|0;z=Si(z|0,C|0,w|0,v|0)|0;z=Pi(z|0,C|0,l|0)|0;y=Si(y|0,((y|0)<0)<<31>>31|0,-1,-1)|0;y=Si(y|0,C|0,w|0,v|0)|0;y=Pi(y|0,C|0,l|0)|0;c[j+8>>2]=z-y;u=Si(u|0,((u|0)<0)<<31>>31|0,-1,-1)|0;u=Si(u|0,C|0,w|0,v|0)|0;u=Pi(u|0,C|0,l|0)|0;x=Si(x|0,((x|0)<0)<<31>>31|0,-1,-1)|0;v=Si(x|0,C|0,w|0,v|0)|0;l=Pi(v|0,C|0,l|0)|0;c[j+12>>2]=u-l;h=h+1|0;if(h>>>0>=p>>>0)break;else j=j+52|0}}m=a+84|0;g=c[m>>2]|0;if(g)Zb(g);g=Xb()|0;c[m>>2]=g;if(!g){z=0;i=t;return z|0}$b(d,g);c[a+60>>2]=f;j=a+188|0;sg(c[j>>2]|0,28,e)|0;j=c[j>>2]|0;k=tg(j)|0;g=ug(j)|0;if(k){l=0;h=1;while(1){if(!h)h=0;else h=(Ra[c[g>>2]&63](a,b,e)|0)!=0;l=l+1|0;if((l|0)==(k|0))break;else{g=g+4|0;h=h&1}}vg(j);if(!h){Zb(c[q>>2]|0);c[q>>2]=0;z=0;i=t;return z|0}}else vg(j);g=c[s>>2]|0;if(!g){z=1;i=t;return z|0}k=c[(c[m>>2]|0)+24>>2]|0;j=c[r>>2]|0;l=0;while(1){c[j+(l*52|0)+36>>2]=c[k+(l*52|0)+36>>2];h=c[j+(l*52|0)+44>>2]|0;if(!h)h=k;else{Uc(h);h=c[(c[m>>2]|0)+24>>2]|0;j=c[r>>2]|0;g=c[s>>2]|0}z=h+(l*52|0)+44|0;c[j+(l*52|0)+44>>2]=c[z>>2];c[z>>2]=0;l=l+1|0;if(l>>>0>=g>>>0){g=1;break}else k=h}i=t;return g|0}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;c[a+168>>2]=b;e=c[a+80>>2]|0;a:do if((((e|0)!=0?(h=c[e+24>>2]|0,(h|0)!=0):0)?(f=c[a+12>>2]|0,(f|0)!=0):0)?(g=c[f+5584>>2]|0,(g|0)!=0):0){e=c[e+16>>2]|0;if(!e)e=1;else{f=0;while(1){if((c[g+(f*1080|0)+4>>2]|0)>>>0<=b>>>0)break;c[h+(f*52|0)+40>>2]=b;f=f+1|0;if(f>>>0>=e>>>0){e=1;break a}}Ub(d,1,10753,j)|0;e=0}}else e=0;while(0);i=k;return e|0}function od(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;Q=i;i=i+48|0;O=Q+32|0;N=Q+24|0;M=Q+16|0;K=Q+8|0;L=Q;A=d+204|0;g=c[A>>2]|0;F=d+116|0;G=d+112|0;H=_(c[G>>2]|0,c[F>>2]|0)|0;I=(H|0)==1;if(!H){P=1;i=Q;return P|0}J=d+200|0;B=d+12|0;C=d+164|0;D=d+8|0;E=g+20|0;y=g+24|0;z=0;g=0;l=0;a:while(1){if((c[J>>2]|0)!=(z|0)){P=5;break}w=z;z=z+1|0;x=_(c[F>>2]|0,c[G>>2]|0)|0;c[K>>2]=z;c[K+4>>2]=x;Ub(f,4,10866,K)|0;c[B>>2]=0;x=c[A>>2]|0;c[x+12>>2]=c[(c[C>>2]|0)+(w*5640|0)+5588>>2];c[D>>2]=0;if(!(_f(x,c[J>>2]|0,f)|0))break;h=c[A>>2]|0;if(c[(c[h+24>>2]|0)+16>>2]|0){k=0;do{j=c[(c[c[E>>2]>>2]|0)+20>>2]|0;if(I){c[j+(k*52|0)+32>>2]=c[(c[(c[y>>2]|0)+24>>2]|0)+(k*52|0)+44>>2];c[j+(k*52|0)+36>>2]=0}else{if(!(Zf(j+(k*52|0)|0)|0)){P=14;break a}h=c[A>>2]|0}k=k+1|0}while(k>>>0<(c[(c[h+24>>2]|0)+16>>2]|0)>>>0)}x=eg(h)|0;if(!I){if(x>>>0>l>>>0){h=Tc(g,x)|0;if(!h){P=20;break}else{g=h;h=x}}else h=l;j=c[A>>2]|0;w=j+24|0;k=c[w>>2]|0;if(c[k+16>>2]|0){v=j+20|0;j=g;u=0;do{r=c[(c[c[v>>2]>>2]|0)+20>>2]|0;m=c[k+24>>2]|0;q=c[m+(u*52|0)+24>>2]|0;q=((q&7|0)!=0&1)+(q>>>3)|0;n=c[r+(u*52|0)+8>>2]|0;o=c[r+(u*52|0)>>2]|0;t=n-o|0;p=c[r+(u*52|0)+12>>2]|0;r=c[r+(u*52|0)+4>>2]|0;T=c[k>>2]|0;S=c[m+(u*52|0)>>2]|0;l=c[m+(u*52|0)+4>>2]|0;R=(S+~T+(c[k+8>>2]|0)|0)/(S|0)|0;s=R-t|0;k=o-((T+-1+S|0)/(S|0)|0)+(_(R,r-(((c[k+4>>2]|0)+-1+l|0)/(l|0)|0)|0)|0)|0;k=(c[m+(u*52|0)+44>>2]|0)+(k<<2)|0;b:do switch(((q|0)==3?4:q)|0){case 1:{l=(p|0)==(r|0);if(!(c[m+(u*52|0)+32>>2]|0)){if(l)break b;q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){a[m>>0]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+1|0;n=n+4|0}}j=j+t|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}else{if(l)break b;q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){a[m>>0]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+1|0;n=n+4|0}}j=j+t|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}case 2:{l=(p|0)==(r|0);if(!(c[m+(u*52|0)+32>>2]|0)){if(!l){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){b[m>>1]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+2|0;n=n+4|0}}j=j+(t<<1)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}}else if(!l){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){b[m>>1]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+2|0;n=n+4|0}}j=j+(t<<1)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}case 4:{if((p|0)!=(r|0)){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){c[m>>2]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+4|0;n=n+4|0}}j=j+(t<<2)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}default:{}}while(0);u=u+1|0;k=c[w>>2]|0}while(u>>>0<(c[k+16>>2]|0)>>>0);j=c[A>>2]|0}if(!(fg(j,g,x)|0)){P=63;break}}else h=l;if(!(Ad(d,e,f)|0)){P=65;break}if(z>>>0>=H>>>0){P=67;break}else l=h}if((P|0)==5)Ub(f,1,10829,L)|0;else if((P|0)==14){Ub(f,1,10887,M)|0;if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}else if((P|0)==20){if(g)Uc(g);Ub(f,1,10925,N)|0;T=0;i=Q;return T|0}else if((P|0)==63){Ub(f,1,10964,O)|0;Uc(g);T=0;i=Q;return T|0}else if((P|0)==65){if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}else if((P|0)==67){if(!g){T=1;i=Q;return T|0}Uc(g);T=1;i=Q;return T|0}if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}function pd(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+188|0;if(!(sg(c[f>>2]|0,29,e)|0)){d=0;return d|0}if(((b[a+88>>1]|0)+-3&65535)<4?(sg(c[f>>2]|0,30,e)|0)==0:0){d=0;return d|0}if(!(sg(c[f>>2]|0,31,e)|0)){d=0;return d|0}if(!(sg(c[f>>2]|0,32,e)|0)){d=0;return d|0}if(!(sg(c[f>>2]|0,33,e)|0)){d=0;return d|0}j=c[f>>2]|0;h=tg(j)|0;f=ug(j)|0;if(!h)f=1;else{i=0;g=f;f=1;while(1){if(!f)f=0;else f=(Ra[c[g>>2]&63](a,d,e)|0)!=0;f=f&1;i=i+1|0;if((i|0)==(h|0))break;else g=g+4|0}}vg(j);d=f;return d|0}function qd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=Xb()|0;k=a+80|0;c[k>>2]=g;if(!g){Ub(f,1,11011,m)|0;d=0;i=m;return d|0}$b(e,g);j=c[e+24>>2]|0;if((j|0)!=0?(l=c[e+16>>2]|0,(l|0)!=0):0){h=0;do{e=j+(h*52|0)+44|0;g=c[e>>2]|0;if(g){c[(c[(c[k>>2]|0)+24>>2]|0)+(h*52|0)+44>>2]=g;c[e>>2]=0}h=h+1|0}while(h>>>0>>0)}g=a+192|0;if(!(sg(c[g>>2]|0,34,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,35,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,36,f)|0)){d=0;i=m;return d|0}h=c[g>>2]|0;j=tg(h)|0;g=ug(h)|0;if(j){k=0;e=1;while(1){if(!e)e=0;else e=(Ra[c[g>>2]&63](a,d,f)|0)!=0;k=k+1|0;if((k|0)==(j|0))break;else{g=g+4|0;e=e&1}}vg(h);if(!e){d=0;i=m;return d|0}}else vg(h);g=a+188|0;if(!(sg(c[g>>2]|0,37,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,38,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,39,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,40,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,41,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,42,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,43,f)|0)){d=0;i=m;return d|0}e=a+88|0;if(((b[e>>1]|0)+-3&65535)<4){if(!(sg(c[g>>2]|0,44,f)|0)){d=0;i=m;return d|0}if((b[e>>1]|0)==4?(sg(c[g>>2]|0,45,f)|0)==0:0){d=0;i=m;return d|0}}if(!(sg(c[g>>2]|0,46,f)|0)){d=0;i=m;return d|0}if((c[a+108>>2]|0)!=0?(sg(c[g>>2]|0,47,f)|0)==0:0){d=0;i=m;return d|0}if((b[e>>1]&256)!=0?(sg(c[g>>2]|0,48,f)|0)==0:0){d=0;i=m;return d|0}if((c[a+196>>2]|0)!=0?(sg(c[g>>2]|0,49,f)|0)==0:0){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,50,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,51,f)|0)){d=0;i=m;return d|0}k=c[g>>2]|0;h=tg(k)|0;g=ug(k)|0;if(!h)g=1;else{j=0;e=g;g=1;while(1){if(!g)g=0;else g=(Ra[c[e>>2]&63](a,d,f)|0)!=0;g=g&1;j=j+1|0;if((j|0)==(h|0))break;else e=e+4|0}}vg(k);d=g;i=m;return d|0}function rd(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q+40|0;p=q+32|0;n=q+24|0;l=q+16|0;j=q+8|0;h=q;k=a+200|0;if((c[k>>2]|0)==(b|0)){m=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[j>>2]=b+1;c[j+4>>2]=m;Ub(g,4,10866,j)|0;c[a+12>>2]=0;m=a+204|0;j=c[m>>2]|0;c[j+12>>2]=c[(c[a+164>>2]|0)+(b*5640|0)+5588>>2];c[a+8>>2]=0;if(_f(j,c[k>>2]|0,g)|0){h=c[m>>2]|0;a:do if(c[(c[h+24>>2]|0)+16>>2]|0){j=0;while(1){if(!(Zf((c[(c[c[h+20>>2]>>2]|0)+20>>2]|0)+(j*52|0)|0)|0))break;j=j+1|0;h=c[m>>2]|0;if(j>>>0>=(c[(c[h+24>>2]|0)+16>>2]|0)>>>0)break a}Ub(g,1,10887,n)|0;p=0;i=q;return p|0}while(0);if(!(fg(h,d,e)|0)){Ub(g,1,10964,p)|0;p=0;i=q;return p|0}if(Ad(a,f,g)|0){p=1;i=q;return p|0}c[o>>2]=b;Ub(g,1,11101,o)|0;p=0;i=q;return p|0}}else Ub(g,1,10829,h)|0;c[l>>2]=b;Ub(g,1,11044,l)|0;p=0;i=q;return p|0}function sd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;f=a+5164|0;b=c[f>>2]|0;if(b){g=a+5160|0;d=c[g>>2]|0;if(d){e=0;while(1){b=c[b+(e<<3)>>2]|0;if(b){Uc(b);d=c[g>>2]|0}e=e+1|0;if(e>>>0>=d>>>0)break;b=c[f>>2]|0}b=c[f>>2]|0}c[g>>2]=0;Uc(b);c[f>>2]=0}b=a+5172|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5584|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5608|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5604|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5624|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0;c[a+5632>>2]=0;c[a+5628>>2]=0}i=a+5612|0;b=c[i>>2]|0;if(b){h=a+5616|0;d=c[h>>2]|0;if(d){g=0;while(1){e=b+12|0;f=c[e>>2]|0;if(f){Uc(f);c[e>>2]=0;d=c[h>>2]|0}g=g+1|0;if(g>>>0>=d>>>0)break;else b=b+20|0}b=c[i>>2]|0}Uc(b);c[i>>2]=0}b=a+5600|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5592|0;d=c[b>>2]|0;if(!d)return;Uc(d);c[b>>2]=0;c[a+5596>>2]=0;return}function td(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function ud(a,b,d){a=a|0;b=b|0;d=d|0;return (c[a+8>>2]|0)==0&(c[a+188>>2]|0)!=0&(c[a+192>>2]|0)!=0&1|0}function vd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+224|0;X=Y+200|0;U=Y+192|0;T=Y+184|0;Q=Y+176|0;P=Y+168|0;O=Y+160|0;M=Y+152|0;L=Y+144|0;K=Y+136|0;E=Y+128|0;J=Y+120|0;D=Y+112|0;B=Y+104|0;A=Y+96|0;z=Y+88|0;y=Y+80|0;I=Y+72|0;H=Y+64|0;x=Y+56|0;w=Y+48|0;v=Y+40|0;F=Y+32|0;p=Y+24|0;m=Y+16|0;l=Y+8|0;N=Y;S=Y+216|0;g=Y+204|0;G=Y+212|0;u=Y+208|0;W=d+8|0;c[W>>2]=1;a:do if((Mb(e,S,2,f)|0)==2?(qb(S,g,2),(c[g>>2]|0)==65359):0){c[W>>2]=2;o=Pb(e)|0;o=Si(o|0,C|0,-2,-1)|0;n=C;V=d+196|0;h=c[V>>2]|0;c[h>>2]=o;c[h+4>>2]=n;h=N;c[h>>2]=o;c[h+4>>2]=n;Ub(f,4,15766,N)|0;h=c[V>>2]|0;n=c[h>>2]|0;o=h+24|0;g=c[o>>2]|0;k=h+32|0;j=c[k>>2]|0;do if((g+1|0)>>>0>j>>>0){t=~~(+(j>>>0)+100.0)>>>0;c[k>>2]=t;g=h+28|0;h=Tc(c[g>>2]|0,t*24|0)|0;if(!h){Uc(c[g>>2]|0);c[g>>2]=0;c[k>>2]=0;c[o>>2]=0;Ub(f,1,15803,l)|0;break a}else{c[g>>2]=h;g=c[o>>2]|0;break}}else h=c[h+28>>2]|0;while(0);b[h+(g*24|0)>>1]=-177;s=Pi(0,n|0,32)|0;t=h+(g*24|0)+8|0;c[t>>2]=s;c[t+4>>2]=C;c[h+(g*24|0)+16>>2]=2;c[o>>2]=g+1;t=d+16|0;if((Mb(e,c[t>>2]|0,2,f)|0)!=2){Ub(f,1,8295,p)|0;f=0;i=Y;return f|0}qb(c[t>>2]|0,G,2);g=c[G>>2]|0;if((g|0)!=65424){s=d+20|0;q=0;j=0;r=0;b:while(1){if(g>>>0<65280){R=14;break}else l=784;while(1){h=c[l>>2]|0;k=(h|0)==0;if(k|(h|0)==(g|0))break;else l=l+12|0}if(k){Ub(f,2,15914,v)|0;m=2;c:while(1){do{if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=20;break b}qb(c[t>>2]|0,N,2);g=c[N>>2]|0}while(g>>>0<65280);l=784;while(1){h=c[l>>2]|0;if((h|0)==0|(h|0)==(g|0)){k=l;g=l;break}else l=l+12|0}if(!(c[g+4>>2]&c[W>>2])){R=25;break b}if((h|0)>=65424){R=100;break}switch(h|0){case 0:break;default:{p=k;o=m;break c}}m=m+2|0}if((R|0)==100){R=0;switch(h|0){case 65424:{h=q;g=r;R=27;break b}default:{p=k;o=m}}}l=c[V>>2]|0;n=Pb(e)|0;n=n-o|0;k=l+24|0;g=c[k>>2]|0;h=l+32|0;m=c[h>>2]|0;if((g+1|0)>>>0>m>>>0){g=~~(+(m>>>0)+100.0)>>>0;c[h>>2]=g;l=l+28|0;g=Tc(c[l>>2]|0,g*24|0)|0;if(!g){j=l;g=l;R=32;break}c[l>>2]=g;h=g;g=c[k>>2]|0}else h=c[l+28>>2]|0;b[h+(g*24|0)>>1]=0;m=h+(g*24|0)+8|0;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;c[h+(g*24|0)+16>>2]=o;c[k>>2]=g+1;g=c[p>>2]|0;c[G>>2]=g;if((g|0)==65424){h=q;g=r;break}else k=784;while(1){h=c[k>>2]|0;if((h|0)==0|(h|0)==(g|0))break;else k=k+12|0}}else k=l;r=(h|0)==65361?1:r;q=(h|0)==65362?1:q;j=(h|0)==65372?1:j;if(!(c[k+4>>2]&c[W>>2])){R=38;break}if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=40;break}qb(c[t>>2]|0,u,2);h=(c[u>>2]|0)+-2|0;c[u>>2]=h;g=c[t>>2]|0;if(h>>>0>(c[s>>2]|0)>>>0){g=Tc(g,h)|0;if(!g){R=43;break}c[t>>2]=g;h=c[u>>2]|0;c[s>>2]=h}g=Mb(e,g,h,f)|0;if((g|0)!=(c[u>>2]|0)){R=46;break}if(!(Za[c[k+8>>2]&63](d,c[t>>2]|0,g,f)|0)){R=48;break}m=c[V>>2]|0;n=c[k>>2]|0;o=Pb(e)|0;p=c[u>>2]|0;o=-4-p+o|0;p=p+4|0;k=m+24|0;g=c[k>>2]|0;h=m+32|0;l=c[h>>2]|0;if((g+1|0)>>>0>l>>>0){g=~~(+(l>>>0)+100.0)>>>0;c[h>>2]=g;l=m+28|0;g=Tc(c[l>>2]|0,g*24|0)|0;if(!g){j=l;g=l;R=53;break}c[l>>2]=g;h=g;g=c[k>>2]|0}else h=c[m+28>>2]|0;b[h+(g*24|0)>>1]=n;n=h+(g*24|0)+8|0;c[n>>2]=o;c[n+4>>2]=((o|0)<0)<<31>>31;c[h+(g*24|0)+16>>2]=p;c[k>>2]=g+1;if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=55;break}qb(c[t>>2]|0,G,2);g=c[G>>2]|0;if((g|0)==65424){h=q;g=r;break}}switch(R|0){case 14:{c[F>>2]=g;Ub(f,1,15863,F)|0;f=0;i=Y;return f|0}case 20:{Ub(f,1,8295,w)|0;R=34;break}case 25:{Ub(f,1,8339,x)|0;R=34;break}case 27:{c[G>>2]=65424;break}case 32:{Uc(c[g>>2]|0);c[j>>2]=0;c[h>>2]=0;c[k>>2]=0;Ub(f,1,15803,H)|0;R=34;break}case 38:{Ub(f,1,8339,y)|0;f=0;i=Y;return f|0}case 40:{Ub(f,1,8295,z)|0;f=0;i=Y;return f|0}case 43:{Uc(c[t>>2]|0);c[t>>2]=0;c[s>>2]=0;Ub(f,1,8427,A)|0;f=0;i=Y;return f|0}case 46:{Ub(f,1,8295,B)|0;f=0;i=Y;return f|0}case 48:{Ub(f,1,15985,D)|0;f=0;i=Y;return f|0}case 53:{Uc(c[g>>2]|0);c[j>>2]=0;c[h>>2]=0;c[k>>2]=0;Ub(f,1,15803,J)|0;f=0;i=Y;return f|0}case 55:{Ub(f,1,8295,E)|0;f=0;i=Y;return f|0}}if((R|0)==34){Ub(f,1,15930,I)|0;f=0;i=Y;return f|0}if(g){if(!h){Ub(f,1,16090,L)|0;f=0;i=Y;return f|0}if(!j){Ub(f,1,16136,M)|0;f=0;i=Y;return f|0}d:do if(a[d+184>>0]&1){s=d+120|0;do if(c[s>>2]|0){n=d+124|0;o=0;g=0;h=0;e:do{j=c[n>>2]|0;k=c[j+(o<<3)>>2]|0;f:do if(k){l=c[j+(o<<3)+4>>2]|0;j=g>>>0>>0;m=j?0:g-l|0;if((l|0)==(g|0)|j^1)g=m;else{k=j?k+g|0:k;g=l-g|0;while(1){if(g>>>0<4){R=70;break e}qb(k,N,4);j=g+-4|0;g=c[N>>2]|0;h=g+h|0;if(j>>>0>>0)break;if((j|0)==(g|0)){g=m;break f}else{k=k+(g+4)|0;g=j-g|0}}g=g-j|0}}while(0);o=o+1|0}while(o>>>0<(c[s>>2]|0)>>>0);if((R|0)==70){Ub(f,1,16182,O)|0;break}if(!g)R=77;else Ub(f,1,16213,P)|0}else{h=0;R=77}while(0);g:do if((R|0)==77){j=Pc(h)|0;p=d+144|0;c[p>>2]=j;if(!j){Ub(f,1,13302,Q)|0;break}q=d+132|0;c[q>>2]=h;k=c[s>>2]|0;r=d+124|0;do if(k){g=c[r>>2]|0;j=g;o=0;n=0;h=0;h:while(1){l=c[j+(o<<3)>>2]|0;if(!l)l=n;else{j=c[j+(o<<3)+4>>2]|0;g=(c[p>>2]|0)+h|0;i:do if(n>>>0>>0){Ui(g|0,l|0,n|0)|0;h=h+n|0;if((j|0)==(n|0)){l=0;break}m=l+n|0;g=j-n|0;while(1){if(g>>>0<4){R=88;break h}qb(m,S,4);l=m+4|0;k=g+-4|0;j=c[S>>2]|0;g=(c[p>>2]|0)+h|0;if(k>>>0>>0){j=l;break}Ui(g|0,l|0,j|0)|0;g=c[S>>2]|0;h=g+h|0;if((k|0)==(g|0)){l=0;break i}else{m=m+(g+4)|0;g=k-g|0}}Ui(g|0,j|0,k|0)|0;l=(c[S>>2]|0)-k|0;h=k+h|0}else{Ui(g|0,l|0,j|0)|0;l=n-j|0;h=j+h|0}while(0);Uc(c[(c[r>>2]|0)+(o<<3)>>2]|0);j=c[r>>2]|0;c[j+(o<<3)>>2]=0;c[j+(o<<3)+4>>2]=0;k=c[s>>2]|0;g=j}o=o+1|0;if(o>>>0>=k>>>0){R=94;break}else n=l}if((R|0)==88){Ub(f,1,16182,T)|0;break g}else if((R|0)==94){j=c[p>>2]|0;h=c[q>>2]|0;break}}else g=c[r>>2]|0;while(0);c[d+128>>2]=j;c[d+152>>2]=h;c[s>>2]=0;Uc(g);c[r>>2]=0;break d}while(0);Ub(f,1,16236,U)|0;f=0;i=Y;return f|0}while(0);Ub(f,4,16262,X)|0;X=Pb(e)|0;f=(c[V>>2]|0)+8|0;c[f>>2]=X+-2;c[f+4>>2]=0;c[W>>2]=8;f=1;i=Y;return f|0}}Ub(f,1,16044,K)|0;f=0;i=Y;return f|0}while(0);Ub(f,1,15839,m)|0;f=0;i=Y;return f|0}function wd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+16|0;F=G;D=c[b+80>>2]|0;E=b+88|0;A=_(c[b+112>>2]|0,c[b+116>>2]|0)|0;q=c[D+16>>2]|0;o=q*1080|0;p=c[b+12>>2]|0;q=_(q<<2,q)|0;a:do if(A){r=p+5604|0;s=p+5620|0;t=p+5612|0;u=p+5616|0;v=p+5632|0;w=p+5624|0;x=p+5584|0;B=0;C=c[b+164>>2]|0;b:while(1){k=C+5584|0;y=c[k>>2]|0;Ui(C|0,p|0,5640)|0;d=C+5636|0;a[d>>0]=a[d>>0]&-4;c[C+5168>>2]=0;d=C+5604|0;c[d>>2]=0;l=C+5620|0;c[l>>2]=0;z=C+5612|0;c[z>>2]=0;m=C+5632|0;c[m>>2]=0;n=C+5624|0;c[n>>2]=0;c[k>>2]=y;if(c[r>>2]|0){f=Pc(q)|0;c[d>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[r>>2]|0,q|0)|0}d=(c[s>>2]|0)*20|0;f=Pc(d)|0;c[z>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[t>>2]|0,d|0)|0;d=c[u>>2]|0;if(d){h=0;j=c[z>>2]|0;k=c[t>>2]|0;while(1){g=k+12|0;if(c[g>>2]|0){d=k+16|0;f=Pc(c[d>>2]|0)|0;c[j+12>>2]=f;if(!f){d=0;f=25;break b}Ui(f|0,c[g>>2]|0,c[d>>2]|0)|0;d=c[u>>2]|0}c[l>>2]=(c[l>>2]|0)+1;h=h+1|0;if(h>>>0>=d>>>0)break;else{j=j+20|0;k=k+20|0}}}d=(c[v>>2]|0)*20|0;f=Pc(d)|0;c[n>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[w>>2]|0,d|0)|0;c[m>>2]=c[v>>2];h=c[v>>2]|0;if(h){j=0;f=c[n>>2]|0;g=c[w>>2]|0;while(1){d=c[g+8>>2]|0;if(d)c[f+8>>2]=(c[z>>2]|0)+(((d-(c[t>>2]|0)|0)/20|0)*20|0);d=c[g+12>>2]|0;if(d)c[f+12>>2]=(c[z>>2]|0)+(((d-(c[t>>2]|0)|0)/20|0)*20|0);j=j+1|0;if(j>>>0>=h>>>0)break;else{f=f+20|0;g=g+20|0}}}Ui(y|0,c[x>>2]|0,o|0)|0;B=B+1|0;if(B>>>0>=A>>>0)break a;else C=C+5640|0}if((f|0)==25){i=G;return d|0}}while(0);f=Tf(1)|0;d=b+204|0;c[d>>2]=f;if(!f){e=0;i=G;return e|0}if(Xf(f,D,E)|0){e=1;i=G;return e|0}Yf(c[d>>2]|0);c[d>>2]=0;Ub(e,1,8839,F)|0;e=0;i=G;return e|0}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+128|0;u=w+120|0;t=w+112|0;s=w+104|0;r=w+96|0;q=w+88|0;p=w+80|0;o=w+72|0;n=w+64|0;m=w+56|0;l=w+48|0;k=w+40|0;j=w+32|0;h=w+24|0;g=w+16|0;f=w+8|0;e=w;if(!a){i=w;return}ki(12191,17,1,d)|0;c[e>>2]=c[a>>2];$h(d,12209,e)|0;c[f>>2]=c[a+4>>2];$h(d,12222,f)|0;c[g>>2]=c[a+8>>2];$h(d,12234,g)|0;c[h>>2]=c[a+16>>2];$h(d,12251,h)|0;if((b|0)>0){g=a+5584|0;h=0;do{f=c[g>>2]|0;c[j>>2]=h;$h(d,12262,j)|0;c[k>>2]=c[f+(h*1080|0)>>2];$h(d,12276,k)|0;a=f+(h*1080|0)+4|0;c[l>>2]=c[a>>2];$h(d,12290,l)|0;c[m>>2]=c[f+(h*1080|0)+8>>2];$h(d,12313,m)|0;c[n>>2]=c[f+(h*1080|0)+12>>2];$h(d,12329,n)|0;c[o>>2]=c[f+(h*1080|0)+16>>2];$h(d,12345,o)|0;c[p>>2]=c[f+(h*1080|0)+20>>2];$h(d,12362,p)|0;ki(12377,23,1,d)|0;if(c[a>>2]|0){e=0;do{x=c[f+(h*1080|0)+944+(e<<2)>>2]|0;c[q>>2]=c[f+(h*1080|0)+812+(e<<2)>>2];c[q+4>>2]=x;$h(d,12401,q)|0;e=e+1|0}while(e>>>0<(c[a>>2]|0)>>>0)}ai(10,d)|0;x=f+(h*1080|0)+24|0;c[r>>2]=c[x>>2];$h(d,12410,r)|0;c[s>>2]=c[f+(h*1080|0)+804>>2];$h(d,12425,s)|0;ki(12442,20,1,d)|0;if((c[x>>2]|0)!=1){a=(c[a>>2]|0)*3|0;if((a|0)>2){a=a+-2|0;v=8}}else{a=1;v=8}if((v|0)==8){v=0;e=0;do{x=c[f+(h*1080|0)+28+(e<<3)>>2]|0;c[t>>2]=c[f+(h*1080|0)+28+(e<<3)+4>>2];c[t+4>>2]=x;$h(d,12401,t)|0;e=e+1|0}while((e|0)!=(a|0))}ai(10,d)|0;c[u>>2]=c[f+(h*1080|0)+808>>2];$h(d,12463,u)|0;ki(12480,5,1,d)|0;h=h+1|0}while((h|0)!=(b|0))}ki(10321,4,1,d)|0;i=w;return}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;u=B+32|0;v=B+24|0;y=B+16|0;x=B+8|0;o=B+64|0;w=B+60|0;n=B+56|0;q=B+52|0;s=B+48|0;r=B+44|0;t=B+40|0;p=B+36|0;c[o>>2]=1;e=Pc(1e3)|0;if(!e){Ub(d,1,12127,B)|0;d=0;i=B;return d|0}z=a+116|0;A=a+112|0;k=a+204|0;l=a+84|0;m=a+8|0;f=1e3;j=0;while(1){if(!(cd(a,w,n,q,s,r,t,p,o,b,d)|0)){g=5;break}if(!(c[o>>2]|0)){g=17;break}h=c[n>>2]|0;if(h>>>0>f>>>0){f=Tc(e,h)|0;if(!f){g=9;break}else{e=f;g=h}}else g=f;f=c[w>>2]|0;if(!(dd(a,f,e,h,b,d)|0)){g=11;break}f=f+1|0;h=_(c[A>>2]|0,c[z>>2]|0)|0;c[v>>2]=f;c[v+4>>2]=h;Ub(d,4,11986,v)|0;h=c[k>>2]|0;if(!(ce(c[(c[c[h+20>>2]>>2]|0)+20>>2]|0,c[h+24>>2]|0,e,c[(c[l>>2]|0)+24>>2]|0)|0)){g=13;break}c[u>>2]=f;Ub(d,4,12016,u)|0;h=Qb(b)|0;if((h|0)==0&(C|0)==0?(c[m>>2]|0)==64:0){g=17;break}j=j+1|0;if((j|0)==(_(c[A>>2]|0,c[z>>2]|0)|0)){g=17;break}else f=g}if((g|0)==5){Uc(e);d=0;i=B;return d|0}else if((g|0)==9){Uc(e);A=_(c[A>>2]|0,c[z>>2]|0)|0;c[x>>2]=(c[w>>2]|0)+1;c[x+4>>2]=A;Ub(d,1,11946,x)|0;d=0;i=B;return d|0}else if((g|0)==11){Uc(e);A=_(c[A>>2]|0,c[z>>2]|0)|0;c[y>>2]=f+1;c[y+4>>2]=A;Ub(d,1,12162,y)|0;d=0;i=B;return d|0}else if((g|0)==13){Uc(e);d=0;i=B;return d|0}else if((g|0)==17){Uc(e);d=1;i=B;return d|0}return 0}function zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;y=G+56|0;D=G+48|0;x=G+40|0;z=G+32|0;E=G+24|0;k=G+16|0;j=G+8|0;r=G+92|0;B=G+88|0;q=G+84|0;t=G+80|0;v=G+76|0;u=G+72|0;w=G+68|0;s=G+64|0;c[r>>2]=1;e=Pc(1e3)|0;if(!e){Ub(d,1,11880,G)|0;F=0;i=G;return F|0}A=a+196|0;g=c[A>>2]|0;f=c[g+40>>2]|0;a:do if(!f){f=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[g+36>>2]=f;f=Qc(f,40)|0;g=c[A>>2]|0;c[g+40>>2]=f;b:do if(f){if(c[g+36>>2]|0){h=0;do{c[f+(h*40|0)+28>>2]=100;c[f+(h*40|0)+20>>2]=0;p=Qc(100,24)|0;g=c[A>>2]|0;f=c[g+40>>2]|0;c[f+(h*40|0)+24>>2]=p;h=h+1|0;if(!p)break b}while(h>>>0<(c[g+36>>2]|0)>>>0)}g=c[a+60>>2]|0;if(!f)break a;else{F=12;break a}}while(0);Uc(e);F=0;i=G;return F|0}else{g=c[a+60>>2]|0;F=12}while(0);if((F|0)==12)if(c[f+16>>2]|0){if(!(c[f+(g*40|0)+4>>2]|0)){p=a+64|0;p=Si(c[p>>2]|0,c[p+4>>2]|0,2,0)|0;if(!(xb(b,p,C,d)|0)){Ub(d,1,11918,j)|0;Uc(e);F=0;i=G;return F|0}}else{p=c[f+(g*40|0)+16>>2]|0;p=Si(c[p>>2]|0,c[p+4>>2]|0,2,0)|0;if(!(xb(b,p,C,d)|0)){Ub(d,1,11918,k)|0;Uc(e);F=0;i=G;return F|0}}f=a+8|0;if((c[f>>2]|0)==256)c[f>>2]=8}c:do if(cd(a,B,q,t,v,u,w,s,r,b,d)|0){o=a+116|0;p=a+112|0;l=a+204|0;m=a+84|0;n=g+1|0;f=1e3;while(1){if(!(c[r>>2]|0))break;k=c[q>>2]|0;if(k>>>0>f>>>0){f=Tc(e,k)|0;if(!f){F=26;break}else{e=f;j=k}}else j=f;h=c[B>>2]|0;if(!(dd(a,h,e,k,b,d)|0)){F=28;break}f=h+1|0;k=_(c[p>>2]|0,c[o>>2]|0)|0;c[z>>2]=f;c[z+4>>2]=k;Ub(d,4,11986,z)|0;k=c[l>>2]|0;if(!(ce(c[(c[c[k+20>>2]>>2]|0)+20>>2]|0,c[k+24>>2]|0,e,c[(c[m>>2]|0)+24>>2]|0)|0)){F=30;break}c[x>>2]=f;Ub(d,4,12016,x)|0;if((h|0)==(g|0)){F=32;break}c[y>>2]=f;c[y+4>>2]=n;Ub(d,2,12060,y)|0;if(!(cd(a,B,q,t,v,u,w,s,r,b,d)|0))break c;else f=j}if((F|0)==26){Uc(e);F=_(c[p>>2]|0,c[o>>2]|0)|0;c[E>>2]=(c[B>>2]|0)+1;c[E+4>>2]=F;Ub(d,1,11946,E)|0;F=0;i=G;return F|0}else if((F|0)==28){Uc(e);F=0;i=G;return F|0}else if((F|0)==30){Uc(e);F=0;i=G;return F|0}else if((F|0)==32){F=(c[A>>2]|0)+8|0;F=Si(c[F>>2]|0,c[F+4>>2]|0,2,0)|0;if(!(xb(b,F,C,d)|0)){Ub(d,1,11918,D)|0;Uc(e);F=0;i=G;return F|0}}Uc(e);F=1;i=G;return F|0}while(0);Uc(e);F=0;i=G;return F|0}function Ad(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;H=i;i=i+32|0;D=H+16|0;t=H+8|0;l=H;C=H+20|0;E=c[a+40>>2]|0;G=a+36|0;n=c[G>>2]|0;o=a+204|0;k=c[o>>2]|0;c[k+16>>2]=0;B=a+8|0;c[B>>2]=0;c[C>>2]=0;pb(n,65424,2);pb(n+2|0,10,2);F=a+200|0;pb(n+4|0,c[F>>2]|0,2);z=a+12|0;pb(n+10|0,c[z>>2]|0,1);A=a+164|0;pb(n+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=12;h=n+12|0;f=E+-12|0;m=a+88|0;if(((b[m>>1]|0)+-3&65535)>=4?(g=c[F>>2]|0,j=c[A>>2]|0,(c[j+(g*5640|0)+420>>2]|0)!=0):0){c[C>>2]=0;_d(c[(c[a+80>>2]|0)+16>>2]|0,j,g,h,C);y=c[C>>2]|0;g=y+12|0;h=n+g|0;f=f-y|0}else g=12;c[C>>2]=0;pb(h,65427,2);c[k+4>>2]=c[B>>2];y=c[z>>2]|0;c[k+8>>2]=y;if(!y)c[(c[c[k+20>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(k,c[F>>2]|0,h+2|0,C,f+-4|0,0)|0)){Ub(e,1,11860,l)|0;d=0;i=H;return d|0}f=(c[C>>2]|0)+2|0;c[C>>2]=f;f=f+g|0;pb(n+6|0,f,4);if(((b[m>>1]|0)+-3&65535)<4){y=a+28|0;pb(c[y>>2]|0,c[F>>2]|0,1);x=(c[y>>2]|0)+1|0;c[y>>2]=x;pb(x,f,4);c[y>>2]=(c[y>>2]|0)+4}g=n+f|0;y=E-f|0;v=c[o>>2]|0;w=a+88|0;r=c[A>>2]|0;s=c[F>>2]|0;m=be(w,0,s)|0;x=a+8|0;c[z>>2]=(c[z>>2]|0)+1;a:do if(m>>>0>1){n=v+4|0;o=v+8|0;p=v+20|0;q=a+28|0;j=g;g=y;f=0;l=1;while(1){c[x>>2]=l;c[C>>2]=0;pb(j,65424,2);pb(j+2|0,10,2);pb(j+4|0,c[F>>2]|0,2);pb(j+10|0,c[z>>2]|0,1);pb(j+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=0;pb(j+12|0,65427,2);c[n>>2]=c[B>>2];k=c[z>>2]|0;c[o>>2]=k;if(!k)c[(c[c[p>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(v,c[F>>2]|0,j+14|0,C,g+-16|0,0)|0))break;I=c[C>>2]|0;J=I+2|0;c[C>>2]=J;k=I+14|0;h=j+k|0;f=f+12+J|0;g=g+-12+(-2-I)|0;pb(j+6|0,k,4);if(((b[w>>1]|0)+-3&65535)<4){pb(c[q>>2]|0,c[F>>2]|0,1);J=(c[q>>2]|0)+1|0;c[q>>2]=J;pb(J,k,4);c[q>>2]=(c[q>>2]|0)+4}c[z>>2]=(c[z>>2]|0)+1;l=l+1|0;if(l>>>0>=m>>>0){u=12;break a}else j=h}Ub(e,1,11860,t)|0}else{h=g;g=y;f=0;u=12}while(0);b:do if((u|0)==12){p=r+(s*5640|0)+420|0;c:do if(c[p>>2]|0){q=v+16|0;r=v+4|0;s=v+8|0;t=v+20|0;o=a+28|0;n=1;d:while(1){c[q>>2]=n;m=be(w,n,c[F>>2]|0)|0;if(m){l=0;while(1){c[x>>2]=l;c[C>>2]=0;pb(h,65424,2);pb(h+2|0,10,2);pb(h+4|0,c[F>>2]|0,2);pb(h+10|0,c[z>>2]|0,1);pb(h+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=0;pb(h+12|0,65427,2);c[r>>2]=c[B>>2];J=c[z>>2]|0;c[s>>2]=J;if(!J)c[(c[c[t>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(v,c[F>>2]|0,h+14|0,C,g+-16|0,0)|0))break d;J=c[C>>2]|0;j=J+2|0;c[C>>2]=j;f=f+12+j|0;j=J+14|0;k=h+j|0;g=g+-12+(-2-J)|0;pb(h+6|0,j,4);if(((b[w>>1]|0)+-3&65535)<4){pb(c[o>>2]|0,c[F>>2]|0,1);J=(c[o>>2]|0)+1|0;c[o>>2]=J;pb(J,j,4);c[o>>2]=(c[o>>2]|0)+4}c[z>>2]=(c[z>>2]|0)+1;l=l+1|0;if(l>>>0>=m>>>0){h=k;break}else h=k}}n=n+1|0;if(n>>>0>(c[p>>2]|0)>>>0)break c}Ub(e,1,11860,D)|0;break b}while(0);J=f-y+E|0;if((Nb(d,c[G>>2]|0,J,e)|0)!=(J|0)){J=0;i=H;return J|0}c[F>>2]=(c[F>>2]|0)+1;J=1;i=H;return J|0}while(0);J=0;i=H;return J|0}function Bd(a,b,d){a=a|0;b=b|0;d=d|0;a=a+44|0;pb(c[a>>2]|0,65497,2);if((Nb(b,c[a>>2]|0,2,d)|0)!=2){b=0;return b|0}b=(Ob(b,d)|0)!=0&1;return b|0}function Cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=(c[a+32>>2]|0)*5|0;i=a+16|0;i=Si(c[i>>2]|0,c[i+4>>2]|0,6,0)|0;h=C;e=Pb(b)|0;f=C;if(!(Sb(b,i,h,d)|0)){i=0;return i|0}if((Nb(b,c[a+24>>2]|0,g,d)|0)!=(g|0)){i=0;return i|0}i=(Sb(b,e,f,d)|0)!=0&1;return i|0}function Dd(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+196>>2]|0;if(!a)return 1;b=Pb(b)|0;d=a;d=Oi(b|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;b=a+16|0;c[b>>2]=d;c[b+4>>2]=C;return 1}function Ed(a,b,d){a=a|0;b=b|0;d=d|0;d=a+204|0;Yf(c[d>>2]|0);c[d>>2]=0;d=a+24|0;b=c[d>>2]|0;if(b){Uc(b);c[d>>2]=0;c[a+28>>2]=0}d=a+36|0;b=c[d>>2]|0;if(!b){a=a+40|0;c[a>>2]=0;return 1}Uc(b);c[d>>2]=0;a=a+40|0;c[a>>2]=0;return 1}function Fd(a,b,d){a=a|0;b=b|0;d=d|0;d=a+44|0;b=c[d>>2]|0;if(b){Uc(b);c[d>>2]=0}c[a+48>>2]=0;return 1}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=(c[a+8>>2]|0)==0&(c[a+188>>2]|0)!=0&(c[a+192>>2]|0)!=0&1;b=(c[(c[(c[a+164>>2]|0)+5584>>2]|0)+4>>2]|0)+-1|0;if(b>>>0>31){Ub(d,1,11790,f)|0;d=0;i=f;return d|0}b=1<>2]|0)>>>0>>0){Ub(d,1,11790,f+8|0)|0;d=0;i=f;return d|0}if((c[a+104>>2]|0)>>>0>=b>>>0){d=e;i=f;return d|0}Ub(d,1,11790,f+16|0)|0;d=0;i=f;return d|0}function Id(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((b[a+88>>1]&-32256)<<16>>16!=-32256){j=1;return j|0}i=_(c[a+112>>2]|0,c[a+116>>2]|0)|0;if(!i){j=1;return j|0}h=a+80|0;j=0;e=1;g=c[a+164>>2]|0;while(1){if((c[g+16>>2]|0)==2){e=(c[g+5608>>2]|0)!=0&e;a=c[(c[h>>2]|0)+16>>2]|0;if(a){f=0;d=c[g+5584>>2]|0;while(1){e=(c[d+20>>2]&1^1)&e;f=f+1|0;if(f>>>0>=a>>>0)break;else d=d+1080|0}}}j=j+1|0;if((j|0)==(i|0))break;else g=g+5640|0}return e|0}function Jd(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;g=a+88|0;h=a+32|0;i=c[a+80>>2]|0;j=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[h>>2]=0;if(!j)return 1;e=c[a+164>>2]|0;f=0;while(1){Nf(i,g,f);b=e+420|0;d=0;a=0;do{k=be(g,a,f)|0;c[h>>2]=(c[h>>2]|0)+k;d=k+d|0;a=a+1|0}while(a>>>0<=(c[b>>2]|0)>>>0);c[e+5588>>2]=d;f=f+1|0;if((f|0)==(j|0))break;else e=e+5640|0}return 1}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+44>>2]|0;pb(a,65359,2);return (Nb(b,a,2,d)|0)==2|0}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+16|0;j=p;k=c[a+80>>2]|0;n=k+16|0;l=(c[n>>2]|0)*3|0;o=l+40|0;f=c[k+24>>2]|0;h=a+48|0;m=a+44|0;g=c[m>>2]|0;do if(o>>>0>(c[h>>2]|0)>>>0){g=Tc(g,o)|0;if(g){c[m>>2]=g;c[h>>2]=o;break}Uc(c[m>>2]|0);c[m>>2]=0;c[h>>2]=0;Ub(d,1,11752,j)|0;b=0;i=p;return b|0}while(0);pb(g,65361,2);pb(g+2|0,l+38|0,2);pb(g+4|0,e[a+88>>1]|0,2);pb(g+6|0,c[k+8>>2]|0,4);pb(g+10|0,c[k+12>>2]|0,4);pb(g+14|0,c[k>>2]|0,4);pb(g+18|0,c[k+4>>2]|0,4);pb(g+22|0,c[a+100>>2]|0,4);pb(g+26|0,c[a+104>>2]|0,4);pb(g+30|0,c[a+92>>2]|0,4);pb(g+34|0,c[a+96>>2]|0,4);pb(g+38|0,c[n>>2]|0,2);if(c[n>>2]|0){h=0;g=g+40|0;while(1){pb(g,(c[f+24>>2]|0)+-1+(c[f+32>>2]<<7)|0,1);pb(g+1|0,c[f>>2]|0,1);pb(g+2|0,c[f+4>>2]|0,1);h=h+1|0;if(h>>>0>=(c[n>>2]|0)>>>0)break;else{g=g+3|0;f=f+52|0}}}b=(Nb(b,c[m>>2]|0,o,d)|0)==(o|0)&1;i=p;return b|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;q=r+16|0;p=r+8|0;j=r;o=r+20|0;k=a+200|0;l=c[k>>2]|0;m=a+164|0;n=c[m>>2]|0;e=c[n+(l*5640|0)+5584>>2]|0;if(!(c[e>>2]&1))g=5;else g=(c[e+4>>2]|0)+5|0;h=g+9|0;c[o>>2]=h;f=a+48|0;a=a+44|0;e=c[a>>2]|0;do if(h>>>0>(c[f>>2]|0)>>>0){e=Tc(e,h)|0;if(e){c[a>>2]=e;c[f>>2]=h;break}Uc(c[a>>2]|0);c[a>>2]=0;c[f>>2]=0;Ub(d,1,11687,j)|0;q=0;i=r;return q|0}while(0);pb(e,65362,2);pb(e+2|0,g+7|0,2);pb(e+4|0,c[n+(l*5640|0)>>2]|0,1);pb(e+5|0,c[n+(l*5640|0)+4>>2]|0,1);pb(e+6|0,c[n+(l*5640|0)+8>>2]|0,2);pb(e+8|0,c[n+(l*5640|0)+16>>2]|0,1);c[o>>2]=g;if(!(ae(c[m>>2]|0,c[k>>2]|0,e+9|0,o,d)|0)){Ub(d,1,11726,p)|0;q=0;i=r;return q|0}if(!(c[o>>2]|0)){q=(Nb(b,c[a>>2]|0,h,d)|0)==(h|0)&1;i=r;return q|0}else{Ub(d,1,11726,q)|0;q=0;i=r;return q|0}return 0}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;o=p+16|0;n=p+8|0;j=p;l=p+20|0;k=a+200|0;m=a+164|0;e=c[(c[m>>2]|0)+((c[k>>2]|0)*5640|0)+5584>>2]|0;f=c[e+24>>2]|0;if((f|0)==1)e=1;else e=((c[e+4>>2]|0)*3|0)+-2|0;g=(f|0)==0?e+1|0:e<<1|1;h=g+4|0;c[l>>2]=h;f=a+48|0;a=a+44|0;e=c[a>>2]|0;do if(h>>>0>(c[f>>2]|0)>>>0){e=Tc(e,h)|0;if(e){c[a>>2]=e;c[f>>2]=h;break}Uc(c[a>>2]|0);c[a>>2]=0;c[f>>2]=0;Ub(d,1,11622,j)|0;o=0;i=p;return o|0}while(0);pb(e,65372,2);pb(e+2|0,g+2|0,2);c[l>>2]=g;if(!($d(c[m>>2]|0,c[k>>2]|0,0,e+4|0,l,d)|0)){Ub(d,1,11661,n)|0;o=0;i=p;return o|0}if(!(c[l>>2]|0)){o=(Nb(b,c[a>>2]|0,h,d)|0)==(h|0)&1;i=p;return o|0}else{Ub(d,1,11661,o)|0;o=0;i=p;return o|0}return 0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+16|0;u=w;r=w+4|0;o=a+80|0;e=c[(c[o>>2]|0)+16>>2]|0;if(e>>>0<=1){v=1;i=w;return v|0}s=a+164|0;t=a+200|0;q=a+48|0;n=a+44|0;m=1;while(1){h=c[s>>2]|0;k=c[t>>2]|0;g=c[h+(k*5640|0)+5584>>2]|0;j=c[g+(m*1080|0)>>2]|0;a:do if((((((c[g>>2]|0)==(j|0)?(p=c[g+4>>2]|0,(p|0)==(c[g+(m*1080|0)+4>>2]|0)):0)?(c[g+8>>2]|0)==(c[g+(m*1080|0)+8>>2]|0):0)?(c[g+12>>2]|0)==(c[g+(m*1080|0)+12>>2]|0):0)?(c[g+16>>2]|0)==(c[g+(m*1080|0)+16>>2]|0):0)?(c[g+20>>2]|0)==(c[g+(m*1080|0)+20>>2]|0):0){if(p){a=0;do{if((c[g+812+(a<<2)>>2]|0)!=(c[g+(m*1080|0)+812+(a<<2)>>2]|0)){v=13;break a}if((c[g+944+(a<<2)>>2]|0)!=(c[g+(m*1080|0)+944+(a<<2)>>2]|0)){v=13;break a}a=a+1|0}while(a>>>0

>>0)}}else v=13;while(0);if((v|0)==13){v=0;if(!(j&1))a=5;else a=(c[g+(m*1080|0)+4>>2]|0)+5|0;l=a+(e>>>0<257?6:7)|0;f=c[n>>2]|0;if(l>>>0>(c[q>>2]|0)>>>0){a=Tc(f,l)|0;if(!a){v=17;break}c[n>>2]=a;c[q>>2]=l;k=c[t>>2]|0;h=c[s>>2]|0;g=c[h+(k*5640|0)+5584>>2]|0;e=c[(c[o>>2]|0)+16>>2]|0;j=c[g+(m*1080|0)>>2]|0;f=a}e=e>>>0<257?1:2;if(!(j&1))a=5;else a=(c[g+(m*1080|0)+4>>2]|0)+5|0;pb(f,65363,2);pb(f+2|0,e+3+a|0,2);pb(f+4|0,m,e);j=e|4;pb(f+j|0,c[(c[h+(k*5640|0)+5584>>2]|0)+(m*1080|0)>>2]|0,1);c[r>>2]=a;ae(c[s>>2]|0,c[t>>2]|0,f+(j+1)|0,r,d)|0;if((Nb(b,c[n>>2]|0,l,d)|0)!=(l|0)){a=0;v=24;break}e=c[(c[o>>2]|0)+16>>2]|0}m=m+1|0;if(m>>>0>=e>>>0){a=1;v=24;break}}if((v|0)==17){Uc(c[n>>2]|0);c[n>>2]=0;c[q>>2]=0;Ub(d,1,11548,u)|0;v=0;i=w;return v|0}else if((v|0)==24){i=w;return a|0}return 0}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+16|0;r=t;o=t+4|0;m=a+80|0;e=c[(c[m>>2]|0)+16>>2]|0;if(e>>>0<=1){s=1;i=t;return s|0}p=a+164|0;q=a+200|0;n=a+48|0;l=a+44|0;k=1;while(1){j=c[(c[p>>2]|0)+((c[q>>2]|0)*5640|0)+5584>>2]|0;g=c[j+24>>2]|0;h=c[j+(k*1080|0)+24>>2]|0;a:do if((g|0)==(h|0)?(c[j+804>>2]|0)==(c[j+(k*1080|0)+804>>2]|0):0){if((g|0)!=1){f=(c[j+4>>2]|0)*3|0;a=f+-2|0;if((f|0)!=((c[j+(k*1080|0)+4>>2]|0)*3|0)){s=14;break}if(!a)break}else a=1;f=0;do{if((c[j+28+(f<<3)>>2]|0)!=(c[j+(k*1080|0)+28+(f<<3)>>2]|0)){s=14;break a}f=f+1|0}while(f>>>0>>0);if(g){f=0;do{if((c[j+28+(f<<3)+4>>2]|0)!=(c[j+(k*1080|0)+28+(f<<3)+4>>2]|0)){s=14;break a}f=f+1|0}while(f>>>0>>0)}}else s=14;while(0);if((s|0)==14){s=0;if((h|0)==1)a=1;else a=((c[j+(k*1080|0)+4>>2]|0)*3|0)+-2|0;g=((h|0)==0?a+1|0:a<<1|1)+5+(e>>>0>256&1)|0;a=c[l>>2]|0;if(g>>>0>(c[n>>2]|0)>>>0){a=Tc(a,g)|0;if(!a){s=18;break}c[l>>2]=a;c[n>>2]=g;e=c[(c[p>>2]|0)+((c[q>>2]|0)*5640|0)+5584>>2]|0;f=c[e+(k*1080|0)+24>>2]|0}else{f=h;e=j}if((f|0)==1)e=1;else e=((c[e+(k*1080|0)+4>>2]|0)*3|0)+-2|0;f=(f|0)==0?e+1|0:e<<1|1;c[o>>2]=f+6;pb(a,65373,2);e=a+2|0;if((c[(c[m>>2]|0)+16>>2]|0)>>>0<257){pb(e,f+3|0,2);pb(a+4|0,k,1);a=a+5|0}else{pb(e,f+4|0,2);pb(a+4|0,k,2);a=a+6|0}c[o>>2]=f;$d(c[p>>2]|0,c[q>>2]|0,k,a,o,d)|0;if((Nb(b,c[l>>2]|0,g,d)|0)!=(g|0)){a=0;s=28;break}e=c[(c[m>>2]|0)+16>>2]|0}k=k+1|0;if(k>>>0>=e>>>0){a=1;s=28;break}}if((s|0)==18){Uc(c[l>>2]|0);c[l>>2]=0;c[n>>2]=0;Ub(d,1,11476,r)|0;s=0;i=t;return s|0}else if((s|0)==28){i=t;return a|0}return 0}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l;h=(c[a+32>>2]|0)*5|0;j=h+6|0;f=a+48|0;k=a+44|0;e=c[k>>2]|0;do if(j>>>0>(c[f>>2]|0)>>>0){e=Tc(e,j)|0;if(e){c[k>>2]=e;c[f>>2]=j;break}Uc(c[k>>2]|0);c[k>>2]=0;c[f>>2]=0;Ub(d,1,11437,g)|0;b=0;i=l;return b|0}while(0);g=Pb(b)|0;a=a+16|0;c[a>>2]=g;c[a+4>>2]=C;pb(e,65365,2);pb(e+2|0,h+4|0,2);pb(e+4|0,0,1);pb(e+5|0,80,1);b=(Nb(b,c[k>>2]|0,j,d)|0)==(j|0)&1;i=l;return b|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;j=q;p=q+4|0;c[p>>2]=0;m=a+200|0;e=c[m>>2]|0;l=a+164|0;f=c[l>>2]|0;k=a+80|0;h=c[(c[k>>2]|0)+16>>2]|0;o=(_(h>>>0<257?7:9,(c[f+(e*5640|0)+420>>2]|0)+1|0)|0)+4|0;g=a+48|0;n=a+44|0;a=c[n>>2]|0;do if(o>>>0>(c[g>>2]|0)>>>0){e=Tc(a,o)|0;if(e){c[n>>2]=e;c[g>>2]=o;g=e;a=c[(c[k>>2]|0)+16>>2]|0;f=c[l>>2]|0;e=c[m>>2]|0;break}Uc(c[n>>2]|0);c[n>>2]=0;c[g>>2]=0;Ub(d,1,11398,j)|0;b=0;i=q;return b|0}else{g=a;a=h}while(0);_d(a,f,e,g,p);b=(Nb(b,c[n>>2]|0,o,d)|0)==(o|0)&1;i=q;return b|0}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+164|0;j=a+80|0;f=c[j>>2]|0;e=c[f+16>>2]|0;if(!e){b=1;return b|0}h=a+44|0;a=0;g=c[(c[i>>2]|0)+5584>>2]|0;while(1){if(c[g+808>>2]|0){k=c[(c[i>>2]|0)+5584>>2]|0;m=e>>>0<257?1:2;f=m+6|0;l=c[h>>2]|0;pb(l,65374,2);e=m|4;pb(l+2|0,e,2);pb(l+4|0,a,m);pb(l+e|0,0,1);pb(l+(e+1)|0,c[k+(a*1080|0)+808>>2]|0,1);if((Nb(b,c[h>>2]|0,f,d)|0)!=(f|0)){a=0;e=7;break}f=c[j>>2]|0}a=a+1|0;e=c[f+16>>2]|0;if(a>>>0>=e>>>0){a=1;e=7;break}else g=g+1080|0}if((e|0)==7)return a|0;return 0}function Td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l;h=c[a+108>>2]|0;j=wi(h)|0;k=j+6|0;e=a+48|0;f=a+44|0;a=c[f>>2]|0;do if(k>>>0>(c[e>>2]|0)>>>0){a=Tc(a,k)|0;if(a){c[f>>2]=a;c[e>>2]=k;break}Uc(c[f>>2]|0);c[f>>2]=0;c[e>>2]=0;Ub(d,1,11355,g)|0;b=0;i=l;return b|0}while(0);pb(a,65380,2);pb(a+2|0,j+4|0,2);pb(a+4|0,1,2);Ui(a+6|0,h|0,j|0)|0;b=(Nb(b,c[f>>2]|0,k,d)|0)==(k|0)&1;i=l;return b|0}function Ud(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+32|0;w=A+24|0;t=A+16|0;o=A+8|0;g=A;j=c[b+80>>2]|0;k=j+16|0;h=c[k>>2]|0;l=h+6|0;v=b+48|0;z=b+44|0;f=c[z>>2]|0;do if(l>>>0>(c[v>>2]|0)>>>0){f=Tc(f,l)|0;if(f){c[z>>2]=f;c[v>>2]=l;break}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11199,g)|0;d=0;i=A;return d|0}while(0);pb(f,65400,2);pb(f+2|0,h+4|0,2);pb(f+4|0,c[k>>2]|0,2);if(c[k>>2]|0){h=0;g=c[j+24>>2]|0;f=f+6|0;while(1){pb(f,(c[g+24>>2]|0)+-1|c[g+32>>2]<<7,1);h=h+1|0;if(h>>>0>=(c[k>>2]|0)>>>0)break;else{g=g+52|0;f=f+1|0}}}if((Nb(d,c[z>>2]|0,l,e)|0)!=(l|0)){d=0;i=A;return d|0}q=b+200|0;n=c[q>>2]|0;r=b+164|0;m=c[r>>2]|0;g=m+(n*5640|0)+5616|0;a:do if(c[g>>2]|0){l=0;b=c[m+(n*5640|0)+5612>>2]|0;while(1){h=b+16|0;j=c[h>>2]|0;k=j+10|0;f=c[z>>2]|0;if(k>>>0>(c[v>>2]|0)>>>0){f=Tc(f,k)|0;if(!f)break;c[z>>2]=f;c[v>>2]=k}pb(f,65396,2);pb(f+2|0,j+8|0,2);pb(f+4|0,0,2);pb(f+6|0,c[b+4>>2]<<8|c[b+8>>2]&255|c[b>>2]<<10,2);pb(f+8|0,0,2);Ui(f+10|0,c[b+12>>2]|0,c[h>>2]|0)|0;if((Nb(d,c[z>>2]|0,k,e)|0)!=(k|0)){s=0;x=42;break}l=l+1|0;if(l>>>0>=(c[g>>2]|0)>>>0)break a;else b=b+20|0}if((x|0)==42){i=A;return s|0}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11238,o)|0;d=0;i=A;return d|0}while(0);o=m+(n*5640|0)+5628|0;b:do if(c[o>>2]|0){p=0;m=c[m+(n*5640|0)+5624>>2]|0;while(1){l=m+4|0;g=c[l>>2]|0;j=g>>>0>255;k=j?2:1;j=j?32768:0;g=_(k,g<<1)|0;b=g+19|0;f=c[z>>2]|0;if(b>>>0>(c[v>>2]|0)>>>0){f=Tc(f,b)|0;if(!f)break;c[z>>2]=f;c[v>>2]=b}pb(f,65397,2);pb(f+2|0,g+17|0,2);pb(f+4|0,0,2);pb(f+6|0,c[m>>2]|0,1);pb(f+7|0,0,2);pb(f+9|0,1,2);pb(f+11|0,1,1);pb(f+12|0,c[l>>2]|j,2);f=f+14|0;if(!(c[l>>2]|0))g=0;else{h=0;do{pb(f,h,k);f=f+k|0;h=h+1|0;g=c[l>>2]|0}while(h>>>0>>0)}pb(f,g|j,2);f=f+2|0;if(!(c[l>>2]|0))h=f;else{g=0;do{pb(f,g,k);f=f+k|0;g=g+1|0}while(g>>>0<(c[l>>2]|0)>>>0);h=f}f=((a[m+16>>0]^1)&255)<<16&65536;g=c[m+8>>2]|0;if(g)f=c[g+8>>2]|f;g=c[m+12>>2]|0;if(g)f=c[g+8>>2]<<8|f;pb(h,f,3);if((Nb(d,c[z>>2]|0,b,e)|0)!=(b|0)){s=0;x=42;break}p=p+1|0;if(p>>>0>=(c[o>>2]|0)>>>0)break b;else m=m+20|0}if((x|0)==42){i=A;return s|0}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11277,t)|0;d=0;i=A;return d|0}while(0);k=c[q>>2]|0;j=c[r>>2]|0;l=j+(k*5640|0)+5628|0;g=c[l>>2]|0;b=g+5|0;f=c[z>>2]|0;do if(b>>>0>(c[v>>2]|0)>>>0){f=Tc(f,b)|0;if(!f){Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11316,w)|0;u=1;break}else{c[z>>2]=f;c[v>>2]=b;y=f;x=37;break}}else{y=f;x=37}while(0);if((x|0)==37){pb(y,65399,2);pb(y+2|0,g+3|0,2);pb(y+4|0,c[l>>2]|0,1);if(c[l>>2]|0){h=0;g=y+5|0;f=c[j+(k*5640|0)+5624>>2]|0;while(1){pb(g,c[f>>2]|0,1);h=h+1|0;if(h>>>0>=(c[l>>2]|0)>>>0)break;else{g=g+1|0;f=f+20|0}}}u=(Nb(d,c[z>>2]|0,b,e)|0)!=(b|0)}d=u&1^1;i=A;return d|0}function Vd(a,b,d){a=a|0;b=b|0;d=d|0;d=Pb(b)|0;b=(c[a+196>>2]|0)+8|0;c[b>>2]=d;c[b+4>>2]=C;return 1}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;b=Tf(0)|0;e=a+204|0;c[e>>2]=b;if(!b){Ub(d,1,11159,f)|0;d=0;i=f;return d|0}if(Xf(b,c[a+80>>2]|0,a+88|0)|0){d=1;i=f;return d|0}Yf(c[e>>2]|0);c[e>>2]=0;d=0;i=f;return d|0}function Xd(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;O=d+80|0;E=c[O>>2]|0;P=d+164|0;i=c[P>>2]|0;N=E+24|0;F=c[N>>2]|0;f=c[F>>2]|0;h=c[F+4>>2]|0;M=E+16|0;F=_(c[F+24>>2]|0,c[M>>2]|0)|0;D=Pb(e)|0;q=d+116|0;l=c[q>>2]|0;r=d+112|0;e=c[r>>2]|0;G=(+(D>>>0)+4294967296.0*+(C|0))/+((_(e,l)|0)>>>0);D=(a[d+181>>0]&8)==0?1:2;if(l){s=d+92|0;u=d+100|0;v=d+96|0;y=d+104|0;z=E+4|0;A=E+8|0;B=E+12|0;x=+((_(f<<3,h)|0)>>>0);m=e;f=e;p=0;e=i;do{o=p;p=p+1|0;if(!f)f=0;else{m=0;do{w=+Sa[D&3](e);l=c[e+8>>2]|0;w=w/+(l>>>0);Q=c[s>>2]|0;i=c[u>>2]|0;k=(_(i,m)|0)+Q|0;f=c[E>>2]|0;f=(k|0)>(f|0)?k:f;k=c[v>>2]|0;j=c[y>>2]|0;R=(_(j,o)|0)+k|0;h=c[z>>2]|0;h=(R|0)>(h|0)?R:h;m=m+1|0;Q=(_(i,m)|0)+Q|0;i=c[A>>2]|0;i=(Q|0)<(i|0)?Q:i;k=(_(j,p)|0)+k|0;j=c[B>>2]|0;j=(k|0)<(j|0)?k:j;k=e+20|0;n=+g[k>>2];if(n!=0.0)g[k>>2]=+((_(_(i-f|0,F)|0,j-h|0)|0)>>>0)/(x*n)-w;if(l>>>0>1){n=+((_(_(i-f|0,F)|0,j-h|0)|0)>>>0);f=1;h=e+24|0;while(1){t=+g[h>>2];if(t!=0.0)g[h>>2]=n/(x*t)-w;f=f+1|0;if(f>>>0>=l>>>0)break;else h=h+4|0}}e=e+5640|0;f=c[r>>2]|0}while(m>>>0>>0);l=c[q>>2]|0;m=f}}while(p>>>0>>0);if(!l)l=0;else{s=(m|0)==0;t=G+2.0;v=m>>>0>1?m:1;u=0;f=c[P>>2]|0;do{if(!s){p=f+16|0;q=0;r=f;while(1){e=r+20|0;n=+g[e>>2];if(n!=0.0?(x=n-G,g[e>>2]=x,x<30.0):0)g[e>>2]=30.0;j=r+24|0;e=c[r+8>>2]|0;o=e+-1|0;n=+g[j>>2];h=n!=0.0;if(o>>>0>1){k=p+(e<<2)|0;i=1;e=j;do{if(h?(x=n-G,g[e>>2]=x,I=+g[e+-4>>2],x>2]=I+20.0;e=e+4|0;i=i+1|0;n=+g[e>>2];h=n!=0.0}while((i|0)!=(o|0));if(h){H=n;K=k;L=29}}else if(h){H=n;K=j;L=29}if((L|0)==29?(L=0,x=H-t,g[K>>2]=x,J=+g[K+-4>>2],x>2]=J+20.0;q=q+1|0;if(q>>>0>=m>>>0)break;else{p=p+5640|0;r=r+5640|0}}f=f+(v*5640|0)|0}u=u+1|0}while(u>>>0>>0)}}else{m=e;l=0}h=c[M>>2]|0;if(!h)u=0;else{i=(c[d+100>>2]|0)+-1|0;j=(c[d+104>>2]|0)+-1|0;k=0;e=c[N>>2]|0;f=0;while(1){R=c[e>>2]|0;Q=c[e+4>>2]|0;R=_(((j+Q|0)>>>0)/(Q>>>0)|0,((i+R|0)>>>0)/(R>>>0)|0)|0;f=(_(R,c[e+24>>2]|0)|0)+f|0;k=k+1|0;if(k>>>0>=h>>>0)break;else e=e+52|0}u=~~(+(f>>>0)*.1625)>>>0}o=c[(c[O>>2]|0)+16>>2]|0;q=o+-1|0;s=_(l,m)|0;p=(s|0)==0;if(p)i=0;else{e=0;f=0;h=c[P>>2]|0;while(1){R=c[h+5588>>2]|0;f=f>>>0>R>>>0?f:R;e=e+1|0;if((e|0)==(s|0))break;else h=h+5640|0}i=f*12|0}r=d+88|0;if(((b[r>>1]|0)+-3&65535)>=4){if(p){e=0;f=0}else{m=(o|0)==0;k=0;f=0;do{if(!m){h=c[(c[P>>2]|0)+(k*5640|0)+5584>>2]|0;j=0;do{if(!(c[h+(j*1080|0)>>2]&1))e=5;else e=(c[h+(j*1080|0)+4>>2]|0)+5|0;f=f>>>0>e>>>0?f:e;j=j+1|0}while((j|0)!=(o|0))}k=k+1|0}while((k|0)!=(s|0));l=0;e=0;do{if(!m){j=c[(c[P>>2]|0)+(l*5640|0)+5584>>2]|0;k=0;do{if(!(c[j+(k*1080|0)>>2]&1))h=5;else h=(c[j+(k*1080|0)+4>>2]|0)+5|0;e=e>>>0>h>>>0?e:h;k=k+1|0}while((k|0)!=(o|0))}l=l+1|0}while((l|0)!=(s|0))}i=(_(f+12+e|0,q)|0)+i|0}if(p)f=13;else{h=0;f=0;e=c[P>>2]|0;while(1){R=c[e+420>>2]|0;f=f>>>0>R>>>0?f:R;h=h+1|0;if((h|0)==(s|0))break;else e=e+5640|0}f=(f*9|0)+13|0}R=i+u+f|0;c[d+40>>2]=R;R=Pc(R)|0;c[d+36>>2]=R;if(!R){R=0;return R|0}if(((b[r>>1]|0)+-3&65535)>=4){R=1;return R|0}f=Pc((c[d+32>>2]|0)*5|0)|0;c[d+24>>2]=f;if(!f){R=0;return R|0}c[d+28>>2]=f;R=1;return R|0}function Yd(a){a=a|0;return 0.0}function Zd(a){a=a|0;return +(+((((c[a+5588>>2]|0)*14|0)+-14|0)>>>0))}function _d(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=c[b+(d*5640|0)+5584>>2]|0;q=(c[b+(d*5640|0)+420>>2]|0)+1|0;j=a>>>0<257?1:2;p=_(q,(j<<1)+5|0)|0;r=p+4|0;pb(e,65375,2);pb(e+2|0,p+2|0,2);if(!q){c[f>>2]=r;return}k=j+1|0;l=j+3|0;m=j|4;n=m+j|0;o=n+1|0;p=b+(d*5640|0)+8|0;h=g+4|0;i=0;e=e+4|0;g=b+(d*5640|0)+424|0;while(1){pb(e,c[g>>2]|0,1);pb(e+1|0,c[g+4>>2]|0,j);t=g+8|0;pb(e+k|0,c[t>>2]|0,2);b=g+12|0;pb(e+l|0,c[b>>2]|0,1);d=g+16|0;pb(e+m|0,c[d>>2]|0,j);pb(e+n|0,c[g+36>>2]|0,1);u=c[t>>2]|0;s=c[p>>2]|0;c[t>>2]=(u|0)<(s|0)?u:s;t=c[b>>2]|0;s=c[h>>2]|0;c[b>>2]=(t|0)<(s|0)?t:s;b=c[d>>2]|0;c[d>>2]=(b|0)<(a|0)?b:a;i=i+1|0;if((i|0)==(q|0))break;else{e=e+o|0;g=g+148|0}}c[f>>2]=r;return}function $d(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,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+8|0;j=n;l=c[a+(b*5640|0)+5584>>2]|0;b=c[l+(d*1080|0)+24>>2]|0;do if((b|0)!=1){a=(c[l+(d*1080|0)+4>>2]|0)*3|0;h=a+-2|0;if(!b){a=a+-1|0;if((c[f>>2]|0)>>>0>>0){Ub(g,1,11515,j)|0;f=0;i=n;return f|0}else{pb(e,c[l+(d*1080|0)+804>>2]<<5,1);if(!h)break;else b=0;do{e=e+1|0;pb(e,c[l+(d*1080|0)+28+(b<<3)>>2]<<3,1);b=b+1|0}while((b|0)!=(h|0))}}else m=7}else{h=1;b=1;m=7}while(0);if((m|0)==7){a=h<<1|1;if((c[f>>2]|0)>>>0>>0){Ub(g,1,11515,k)|0;f=0;i=n;return f|0}pb(e,(c[l+(d*1080|0)+804>>2]<<5)+b|0,1);if(h){e=e+1|0;b=0;while(1){pb(e,(c[l+(d*1080|0)+28+(b<<3)>>2]<<11)+(c[l+(d*1080|0)+28+(b<<3)+4>>2]|0)|0,2);b=b+1|0;if((b|0)==(h|0))break;else e=e+2|0}}}c[f>>2]=(c[f>>2]|0)-a;f=1;i=n;return f|0}function ae(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=c[a+(b*5640|0)+5584>>2]|0;if((c[e>>2]|0)>>>0<5){Ub(f,1,11587,j)|0;e=0;i=j;return e|0}h=g+4|0;pb(d,(c[h>>2]|0)+-1|0,1);pb(d+1|0,(c[g+8>>2]|0)+-2|0,1);pb(d+2|0,(c[g+12>>2]|0)+-2|0,1);pb(d+3|0,c[g+16>>2]|0,1);pb(d+4|0,c[g+20>>2]|0,1);b=(c[e>>2]|0)+-5|0;c[e>>2]=b;if(!(c[g>>2]&1)){e=1;i=j;return e|0}a=c[h>>2]|0;if(b>>>0>>0){Ub(f,1,11587,j+8|0)|0;e=0;i=j;return e|0}if(!a)a=0;else{b=d+5|0;d=0;while(1){pb(b,(c[g+944+(d<<2)>>2]<<4)+(c[g+812+(d<<2)>>2]|0)|0,1);d=d+1|0;a=c[h>>2]|0;if(d>>>0>=a>>>0)break;else b=b+1|0}b=c[e>>2]|0}c[e>>2]=b-a;e=1;i=j;return e|0}function be(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=c[b+76>>2]|0;g=c[i+(f*5640|0)+4>>2]|0;h=696;while(1){m=c[h>>2]|0;if((m|0)==-1|(m|0)==(g|0))break;else h=h+12|0}if(!(a[b+93>>0]&8)){b=1;return b|0}m=d[b+92>>0]|0;j=i+(f*5640|0)+424+(e*148|0)+92|0;k=i+(f*5640|0)+424+(e*148|0)+88|0;l=i+(f*5640|0)+424+(e*148|0)+96|0;e=i+(f*5640|0)+424+(e*148|0)+84|0;i=a[h+4>>0]|0;switch(i|0){case 67:{g=c[j>>2]|0;break}case 82:{g=c[k>>2]|0;break}case 80:{g=c[l>>2]|0;break}case 76:{g=c[e>>2]|0;break}default:g=1}if((m|0)!=(i|0)){i=a[h+5>>0]|0;switch(i|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)!=(i|0)){i=a[h+6>>0]|0;switch(i|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)!=(i|0)){h=a[h+7>>0]|0;switch(h|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)==(h|0))h=3;else{b=g;return b|0}}else h=2}else h=1}else h=0;c[b+84>>2]=h;b=g;return b|0}function ce(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=g+16|0;if(!(c[B>>2]|0)){B=1;return B|0}A=0;z=c[g+24>>2]|0;while(1){k=i+44|0;j=c[k>>2]|0;l=i+8|0;if(!j){g=i+12|0;j=Qc(_(c[g>>2]|0,c[l>>2]|0)|0,4)|0;c[k>>2]=j;if(!j){h=0;i=61;break}}else g=i+12|0;q=z+36|0;c[i+36>>2]=c[q>>2];x=c[z+24>>2]|0;t=c[f+24>>2]|0;q=c[q>>2]|0;x=((x&7|0)!=0&1)+(x>>>3)|0;x=(x|0)==3?4:x;n=c[t+(q*136|0)+8>>2]|0;m=c[t+(q*136|0)>>2]|0;v=n-m|0;s=c[t+(q*136|0)+12>>2]|0;q=c[t+(q*136|0)+4>>2]|0;t=s-q|0;k=c[i+16>>2]|0;p=c[i+40>>2]|0;o=Ri(1,0,p|0)|0;w=C;k=Si(k|0,0,-1,-1)|0;k=Si(k|0,C|0,o|0,w|0)|0;k=Ti(k|0,C|0,p|0)|0;r=Si(c[i+20>>2]|0,0,-1,-1)|0;w=Si(r|0,C|0,o|0,w|0)|0;p=Ti(w|0,C|0,p|0)|0;w=c[l>>2]|0;l=k+w|0;o=c[g>>2]|0;r=p+o|0;do if(k>>>0>>0){g=m-k|0;if(n>>>0>l>>>0){y=l-m|0;u=0;m=v-y|0;n=g}else{u=0;m=0;n=g;y=v}}else{g=k-m|0;if(n>>>0>l>>>0){u=g;m=n-l|0;n=0;y=w;break}else{u=g;m=0;n=0;y=v-g|0;break}}while(0);do if(p>>>0>>0){l=q-p|0;if(s>>>0>r>>>0){k=r-q|0;o=k;g=0;k=t-k|0}else{o=t;g=0;k=0}}else{g=p-q|0;if(s>>>0>r>>>0){k=s-r|0;l=0;break}else{o=t-g|0;k=0;l=0;break}}while(0);if((u|m|y|k|g|o|0)<0){h=0;i=61;break}g=(_(g,v)|0)+u|0;q=u+m|0;r=(_(k,v)|0)-u|0;p=w-y|0;j=j+((_(w,l)|0)+n<<2)|0;switch(x|0){case 1:{h=h+g|0;g=(o|0)==0;if(!(c[z+32>>2]|0)){if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=d[j>>0];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+1|0}}g=l;h=h+y|0}h=h+q|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}}else if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=a[j>>0];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+1|0}}g=l;h=h+y|0}h=h+q|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+r|0;break}case 2:{h=h+(g<<1)|0;g=(o|0)==0;if(!(c[z+32>>2]|0)){if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=e[j>>1];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+2|0}}g=l;h=h+(y<<1)|0}h=h+(q<<1)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}}else if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=b[j>>1];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+2|0}}g=l;h=h+(y<<1)|0}h=h+(q<<1)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+(r<<1)|0;break}case 4:{h=h+(g<<2)|0;if(o){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=c[j>>2];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+4|0}}g=l;h=h+(y<<2)|0}h=h+(q<<2)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+(r<<2)|0;break}default:{}}A=A+1|0;if(A>>>0>=(c[B>>2]|0)>>>0){h=1;i=61;break}else{i=i+52|0;z=z+52|0;f=f+52|0}}if((i|0)==61)return h|0;return 0}function de(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;x=z+88|0;u=z+80|0;v=z+72|0;t=z+64|0;q=z+56|0;p=z+48|0;m=z+40|0;k=z+32|0;j=z+24|0;h=z+16|0;r=z+100|0;s=z+96|0;w=z+92|0;c[s>>2]=0;y=b+200|0;if((f|0)!=8){Ub(g,1,8662,z)|0;Ub(g,1,8662,z+8|0)|0;g=0;i=z;return g|0}qb(e,y,2);qb(e+2|0,r,4);qb(e+6|0,w,1);qb(e+7|0,s,1);l=c[y>>2]|0;e=c[b+112>>2]|0;if(l>>>0>=(_(c[b+116>>2]|0,e)|0)>>>0){c[h>>2]=l;Ub(g,1,15258,h)|0;g=0;i=z;return g|0}f=c[b+164>>2]|0;o=(l>>>0)%(e>>>0)|0;n=(l>>>0)/(e>>>0)|0;e=c[r>>2]|0;do if((e+-1|0)>>>0<13){if((e|0)==12){c[j>>2]=12;Ub(g,2,15282,j)|0;e=c[r>>2]|0;break}c[k>>2]=e;Ub(g,1,15319,k)|0;g=0;i=z;return g|0}while(0);if(!e){Ub(g,4,15380,m)|0;c[b+72>>2]=1}e=c[s>>2]|0;do if(!e)e=c[f+(l*5640|0)+5588>>2]|0;else{e=((d[b+76>>0]|0)>>>4&1)+e|0;c[s>>2]=e;h=f+(l*5640|0)+5588|0;j=c[h>>2]|0;f=c[w>>2]|0;if((j+-1|0)>>>0>>0){c[p>>2]=f;c[p+4>>2]=j;Ub(g,1,15491,p)|0;c[b+72>>2]=1;g=0;i=z;return g|0}if(f>>>0>>0){c[h>>2]=e;break}c[q>>2]=f;c[q+4>>2]=e;Ub(g,1,15590,q)|0;c[b+72>>2]=1;g=0;i=z;return g|0}while(0);if((e|0)!=0?(e|0)==((c[w>>2]|0)+1|0):0){q=b+76|0;a[q>>0]=a[q>>0]|1}c[b+24>>2]=(c[b+72>>2]|0)==0?(c[r>>2]|0)+-12|0:0;c[b+8>>2]=16;e=c[b+60>>2]|0;if((e|0)==-1){if((o>>>0>=(c[b+28>>2]|0)>>>0?o>>>0<(c[b+36>>2]|0)>>>0:0)?n>>>0>=(c[b+32>>2]|0)>>>0:0)e=(n>>>0>=(c[b+40>>2]|0)>>>0&1)<<2&255;else e=4;r=b+76|0;a[r>>0]=a[r>>0]&-5|e}else{r=b+76|0;a[r>>0]=((c[y>>2]|0)!=(e|0)&1)<<2&255|a[r>>0]&-5}k=b+196|0;e=c[k>>2]|0;if(!e){g=1;i=z;return g|0}j=c[y>>2]|0;e=c[e+40>>2]|0;c[e+(j*40|0)>>2]=j;c[e+(j*40|0)+12>>2]=c[w>>2];f=c[s>>2]|0;if(f){c[e+(j*40|0)+4>>2]=f;c[e+(j*40|0)+8>>2]=c[s>>2];e=c[e+(j*40|0)+16>>2]|0;if(!e){x=Qc(c[s>>2]|0,24)|0;c[(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16>>2]=x;if(x){g=1;i=z;return g|0}Ub(g,1,15698,t)|0;g=0;i=z;return g|0}e=Tc(e,(c[s>>2]|0)*24|0)|0;f=(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16|0;if(!e){Uc(c[f>>2]|0);c[(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16>>2]=0;Ub(g,1,15698,v)|0;g=0;i=z;return g|0}else{c[f>>2]=e;g=1;i=z;return g|0}}if(!(c[e+(j*40|0)+16>>2]|0)){c[e+(j*40|0)+8>>2]=10;v=Qc(10,24)|0;f=c[y>>2]|0;e=c[(c[k>>2]|0)+40>>2]|0;c[e+(f*40|0)+16>>2]=v;if(!v){c[e+(f*40|0)+8>>2]=0;Ub(g,1,15698,u)|0;g=0;i=z;return g|0}else j=f}f=c[w>>2]|0;h=e+(j*40|0)+8|0;if(f>>>0<(c[h>>2]|0)>>>0){g=1;i=z;return g|0}f=f+1|0;c[h>>2]=f;e=Tc(c[e+(j*40|0)+16>>2]|0,f*24|0)|0;f=(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16|0;if(!e){Uc(c[f>>2]|0);y=c[y>>2]|0;w=c[(c[k>>2]|0)+40>>2]|0;c[w+(y*40|0)+16>>2]=0;c[w+(y*40|0)+8>>2]=0;Ub(g,1,15698,x)|0;g=0;i=z;return g|0}else{c[f>>2]=e;g=1;i=z;return g|0}return 0}function ee(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;p=s+48|0;q=s+40|0;k=s+32|0;n=s+56|0;j=s+52|0;c[n>>2]=e;r=b+80|0;l=c[r>>2]|0;o=b+8|0;if((c[o>>2]|0)==16)m=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else m=c[b+12>>2]|0;g=m+5636|0;h=a[g>>0]|0;if(h&1){Ub(f,1,15025,s)|0;r=0;i=s;return r|0}a[g>>0]=h|1;if(e>>>0<5){Ub(f,1,15089,s+8|0)|0;r=0;i=s;return r|0}qb(d,m,1);if((c[m>>2]|0)>>>0>7){Ub(f,1,15115,s+16|0)|0;r=0;i=s;return r|0}qb(d+1|0,j,1);j=c[j>>2]|0;g=m+4|0;c[g>>2]=j;if((j|0)>4){Ub(f,1,15149,s+24|0)|0;c[g>>2]=-1}g=m+8|0;qb(d+2|0,g,2);g=c[g>>2]|0;if((g+-1|0)>>>0>65534){c[k>>2]=g;Ub(f,1,15190,k)|0;r=0;i=s;return r|0}k=c[b+172>>2]|0;c[m+12>>2]=(k|0)==0?g:k;qb(d+4|0,m+16|0,1);k=d+5|0;c[n>>2]=e+-5;j=c[l+16>>2]|0;if(j){d=c[m>>2]&1;g=c[m+5584>>2]|0;h=0;do{c[g+(h*1080|0)>>2]=d;h=h+1|0}while(h>>>0>>0)}if(!(Fe(b,0,k,n,f)|0)){Ub(f,1,15089,q)|0;r=0;i=s;return r|0}if(c[n>>2]|0){Ub(f,1,15089,p)|0;r=0;i=s;return r|0}if((c[o>>2]|0)==16)g=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else g=c[b+12>>2]|0;g=c[g+5584>>2]|0;e=g+4|0;h=c[e>>2]|0;m=h<<2;if((c[(c[r>>2]|0)+16>>2]|0)>>>0<=1){r=1;i=s;return r|0}n=g+8|0;o=g+12|0;b=g+16|0;f=g+20|0;p=g+812|0;q=g+944|0;c[g+1084>>2]=h;j=c[n>>2]|0;c[g+1088>>2]=j;d=c[o>>2]|0;c[g+1092>>2]=d;k=c[b>>2]|0;c[g+1096>>2]=k;l=c[f>>2]|0;c[g+1100>>2]=l;Ui(g+1892|0,p|0,m|0)|0;Ui(g+2024|0,q|0,m|0)|0;if((c[(c[r>>2]|0)+16>>2]|0)>>>0<=2){r=1;i=s;return r|0}c[g+2164>>2]=h;c[g+2168>>2]=j;c[g+2172>>2]=d;c[g+2176>>2]=k;c[g+2180>>2]=l;Ui(g+2972|0,p|0,m|0)|0;Ui(g+3104|0,q|0,m|0)|0;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>3)h=3;else{r=1;i=s;return r|0}while(1){j=c[n>>2]|0;d=c[o>>2]|0;k=c[b>>2]|0;l=c[f>>2]|0;c[g+3244>>2]=c[e>>2];c[g+3248>>2]=j;c[g+3252>>2]=d;c[g+3256>>2]=k;c[g+3260>>2]=l;Ui(g+4052|0,p|0,m|0)|0;Ui(g+4184|0,q|0,m|0)|0;h=h+1|0;if(h>>>0>=(c[(c[r>>2]|0)+16>>2]|0)>>>0){g=1;break}else g=g+1080|0}i=s;return g|0} -function lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+272|0;n=u;s=u+136|0;t=u+8|0;if(!a){t=0;i=u;return t|0}m=a+4|0;if((c[a>>2]|0)==(b|0)?(c[m>>2]|0)==(d|0):0)f=a+8|0;else{c[a>>2]=b;c[m>>2]=d;c[s>>2]=b;c[t>>2]=d;f=a+8|0;c[f>>2]=0;g=0;j=d;k=b;l=0;while(1){r=_(j,k)|0;k=(k+1|0)/2|0;h=l+1|0;c[s+(h<<2)>>2]=k;j=(j+1|0)/2|0;c[t+(h<<2)>>2]=j;g=g+r|0;if(r>>>0<=1)break;else l=h}c[f>>2]=g;if(!g){f=a+12|0;g=c[f>>2]|0;if(g){Uc(g);c[f>>2]=0}Uc(a);t=0;i=u;return t|0}h=g<<4;j=a+16|0;k=a+12|0;do if(h>>>0>(c[j>>2]|0)>>>0){g=Tc(c[k>>2]|0,h)|0;if(g){c[k>>2]=g;d=c[j>>2]|0;Qi(g+d|0,0,h-d|0)|0;c[j>>2]=h;d=c[m>>2]|0;b=c[a>>2]|0;break}Ub(e,1,20166,n)|0;f=c[k>>2]|0;if(f){Uc(f);c[k>>2]=0}Uc(a);t=0;i=u;return t|0}while(0);g=c[k>>2]|0;b=g+((_(d,b)|0)<<4)|0;if(l){r=0;d=b;do{p=c[t+(r<<2)>>2]|0;a:do if((p|0)>0){q=c[s+(r<<2)>>2]|0;if((q|0)<=0){h=p+-1|0;j=0;while(1){o=(j&1|0)!=0|(j|0)==(h|0);k=o?d:b+(q<<4)|0;d=o?d:b;j=j+1|0;if((j|0)>=(p|0)){b=k;break a}else b=k}}o=((q+2+((q|0)<2?~q:-3)|0)>>>1)+1|0;e=p+-1|0;n=0;while(1){m=q;k=d;while(1){c[g>>2]=k;h=g+16|0;j=m;m=m+-2|0;if((m|0)>-1){c[h>>2]=k;g=g+32|0}else g=h;if((j|0)<=2)break;else k=k+16|0}d=d+(o<<4)|0;m=(n&1|0)!=0|(n|0)==(e|0);h=m?d:b+(q<<4)|0;d=m?d:b;n=n+1|0;if((n|0)>=(p|0)){b=h;break}else b=h}}while(0);r=r+1|0}while((r|0)!=(l|0))}c[g>>2]=0}f=c[f>>2]|0;if(!f){t=a;i=u;return t|0}g=0;b=c[a+12>>2]|0;while(1){c[b+4>>2]=999;c[b+8>>2]=0;c[b+12>>2]=0;g=g+1|0;if((g|0)==(f|0))break;else b=b+16|0}i=u;return a|0}function mg(a){a=a|0;var b=0,d=0;if(!a)return;b=a+12|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}Uc(a);return}function ng(a,b,d){a=a|0;b=b|0;d=d|0;b=(c[a+12>>2]|0)+(b<<4)|0;if(!b)return;while(1){a=b+4|0;if((c[a>>2]|0)<=(d|0)){b=4;break}c[a>>2]=d;b=c[b>>2]|0;if(!b){b=4;break}}if((b|0)==4)return}function og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+128|0;j=k;d=(c[b+12>>2]|0)+(d<<4)|0;if(!(c[d>>2]|0)){f=0;g=j}else{f=d;b=j;while(1){g=b+4|0;c[b>>2]=d;d=c[f>>2]|0;if(!(c[d>>2]|0)){f=0;break}else{f=d;b=g}}}while(1){h=d+8|0;b=c[h>>2]|0;if((f|0)>(b|0)){c[h>>2]=f;b=f}a:do if((b|0)<(e|0)){f=d+4|0;while(1){if((b|0)>=(c[f>>2]|0))break;Bg(a,0,1);b=b+1|0;if((b|0)>=(e|0)){d=b;break a}}d=d+12|0;if(!(c[d>>2]|0)){Bg(a,1,1);c[d>>2]=1;d=b}else d=b}else d=b;while(0);c[h>>2]=d;if((g|0)==(j|0))break;h=g+-4|0;f=d;d=c[h>>2]|0;g=h}i=k;return}function pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+128|0;j=k;d=(c[b+12>>2]|0)+(d<<4)|0;if(!(c[d>>2]|0)){b=0;g=j}else{f=d;b=j;while(1){g=b+4|0;c[b>>2]=d;d=c[f>>2]|0;if(!(c[d>>2]|0)){b=0;break}else{f=d;b=g}}}while(1){h=d+8|0;f=c[h>>2]|0;if((b|0)>(f|0))c[h>>2]=b;else b=f;d=d+4|0;a:do if((b|0)<(e|0)){while(1){if((b|0)>=(c[d>>2]|0))break a;if(Cg(a,1)|0)break;b=b+1|0;if((b|0)>=(e|0))break a}c[d>>2]=b}while(0);c[h>>2]=b;if((g|0)==(j|0))break;h=g+-4|0;d=c[h>>2]|0;g=h}i=k;return (c[d>>2]|0)<(e|0)|0}function qg(){var a=0,b=0;a=Qc(1,12)|0;if(!a){a=0;return a|0}c[a+4>>2]=10;b=Qc(10,4)|0;c[a+8>>2]=b;if(b){b=a;return b|0}Uc(a);b=0;return b|0}function rg(a){a=a|0;var b=0;if(!a)return;b=c[a+8>>2]|0;if(b)Uc(b);Uc(a);return}function sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=a+4|0;f=c[g>>2]|0;e=c[a>>2]|0;do if((f|0)==(e|0)){f=f+10|0;c[g>>2]=f;e=a+8|0;f=Tc(c[e>>2]|0,f<<2)|0;if(f){c[e>>2]=f;e=c[a>>2]|0;break}Uc(c[e>>2]|0);c[g>>2]=0;c[a>>2]=0;Ub(d,1,20214,h)|0;a=0;i=j;return a|0}else f=c[a+8>>2]|0;while(0);c[f+(e<<2)>>2]=b;c[a>>2]=e+1;a=1;i=j;return a|0}function tg(a){a=a|0;return c[a>>2]|0}function ug(a){a=a|0;return c[a+8>>2]|0}function vg(a){a=a|0;c[a>>2]=0;return}function wg(){return Pc(20)|0}function xg(a){a=a|0;if(!a)return;Uc(a);return}function yg(a){a=a|0;return (c[a+8>>2]|0)-(c[a>>2]|0)|0}function zg(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=b+d;c[a+8>>2]=b;c[a+12>>2]=0;c[a+16>>2]=8;return}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=b+d;c[a+8>>2]=b;c[a+12>>2]=0;c[a+16>>2]=0;return}function Bg(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;if(!e)return;k=b+16|0;l=b+12|0;m=b+8|0;h=b+4|0;b=c[k>>2]|0;j=e+-1|0;do{i=d>>>j&1;if(!b){g=c[l>>2]|0;b=g<<8&65280;c[l>>2]=b;b=(b|0)==65280?7:8;c[k>>2]=b;f=c[m>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[m>>2]=f+1;a[f>>0]=g;b=c[k>>2]|0}}b=b+-1|0;c[k>>2]=b;c[l>>2]=i<>2];j=j+-1|0}while(j>>>0>>0);return}function Cg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!b){b=0;return b|0}j=a+16|0;k=a+12|0;l=a+8|0;h=a+4|0;e=c[j>>2]|0;f=c[k>>2]|0;i=b+-1|0;a=0;do{if(!e){g=f<<8&65280;c[k>>2]=g;e=(g|0)==65280?7:8;c[j>>2]=e;f=c[l>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[l>>2]=f+1;f=d[f>>0]|0|g;c[k>>2]=f}else f=g}e=e+-1|0;c[j>>2]=e;a=((f>>>e&1)<>>0>>0);return a|0}function Dg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=b+12|0;d=c[f>>2]|0;i=d<<8&65280;c[f>>2]=i;g=b+16|0;c[g>>2]=(i|0)==65280?7:8;i=b+8|0;e=c[i>>2]|0;h=b+4|0;if(e>>>0>=(c[h>>2]|0)>>>0){i=0;return i|0}c[i>>2]=e+1;a[e>>0]=d;if((c[g>>2]|0)!=7){i=1;return i|0}d=c[f>>2]|0;b=d<<8&65280;c[f>>2]=b;c[g>>2]=(b|0)==65280?7:8;b=c[i>>2]|0;if(b>>>0>=(c[h>>2]|0)>>>0){i=0;return i|0}c[i>>2]=b+1;a[b>>0]=d;i=1;return i|0}function Eg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=a+12|0;b=c[h>>2]|0;do if((b&255|0)==255){f=b<<8&65280;c[h>>2]=f;b=a+16|0;c[b>>2]=(f|0)==65280?7:8;g=a+8|0;e=c[g>>2]|0;if(e>>>0<(c[a+4>>2]|0)>>>0){c[g>>2]=e+1;c[h>>2]=d[e>>0]|0|f;break}else{a=0;return a|0}}else b=a+16|0;while(0);c[b>>2]=0;a=1;return a|0}function Fg(a){a=a|0;return Pg(a,1)|0}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;D=i;i=i+32|0;B=D+16|0;C=D;k=c[a+24>>2]|0;j=(c[k+8>>2]|0)-(c[k>>2]|0)|0;h=(c[k+12>>2]|0)-(c[k+4>>2]|0)|0;A=(c[a+8>>2]|0)-(c[a>>2]|0)|0;if((b|0)==1){C=1;i=D;return C|0}g=b+-1|0;f=(g|0)==0;if(f)b=0;else{d=k;e=g;b=0;do{z=d;d=d+136|0;y=(c[z+144>>2]|0)-(c[d>>2]|0)|0;b=b>>>0>>0?y:b;z=(c[z+148>>2]|0)-(c[z+140>>2]|0)|0;b=b>>>0>>0?z:b;e=e+-1|0}while((e|0)!=0);b=b<<2}z=Rc(b)|0;c[B>>2]=z;if(!z){C=0;i=D;return C|0}c[C>>2]=z;if(!f){s=a+32|0;t=B+8|0;u=C+8|0;v=B+4|0;w=B+12|0;x=C+4|0;y=C+12|0;do{q=c[s>>2]|0;n=k;k=k+136|0;c[t>>2]=j;c[u>>2]=h;o=c[n+144>>2]|0;p=c[k>>2]|0;e=j;j=o-p|0;b=c[n+148>>2]|0;n=n+140|0;r=c[n>>2]|0;d=h;h=b-r|0;c[v>>2]=j-e;c[w>>2]=(p|0)%2|0;r=(b|0)==(r|0);if(!r){m=j<<2;b=0;while(1){a=_(b,A)|0;l=q+(a<<2)|0;if(e){d=l;f=z+(c[w>>2]<<2)|0;while(1){e=e+-1|0;c[f>>2]=c[d>>2];if(!e)break;else{d=d+4|0;f=f+8|0}}}d=c[v>>2]|0;if(d){e=q+((c[t>>2]|0)+a<<2)|0;f=z+(1-(c[w>>2]|0)<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+4|0;f=f+8|0}}}Qg(B);Ui(l|0,z|0,m|0)|0;b=b+1|0;if((b|0)==(h|0))break;e=c[t>>2]|0}d=c[u>>2]|0;b=c[n>>2]|0}c[x>>2]=h-d;c[y>>2]=(b|0)%2|0;a:do if((o|0)!=(p|0)){b=0;while(1){if(d){e=q+(b<<2)|0;f=z+(c[y>>2]<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+(A<<2)|0;f=f+8|0}}}d=c[x>>2]|0;if(d){e=q+((_(c[u>>2]|0,A)|0)+b<<2)|0;f=z+(1-(c[y>>2]|0)<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+(A<<2)|0;f=f+8|0}}}Qg(C);if(!r){d=0;do{c[q+((_(d,A)|0)+b<<2)>>2]=c[z+(d<<2)>>2];d=d+1|0}while((d|0)!=(h|0))}b=b+1|0;if((b|0)==(j|0))break a;d=c[u>>2]|0}}while(0);g=g+-1|0}while((g|0)!=0)}Sc(z);C=1;i=D;return C|0}function Hg(a){a=a|0;if(!a){a=0;return a|0}a=(a+-1|0)>>>0<2?1:2;return a|0}function Ig(a,b){a=a|0;b=b|0;return +(+h[56+(b*80|0)+(a<<3)>>3])}function Jg(a){a=a|0;return Pg(a,2)|0}function Kg(a){a=a|0;return 0}function Lg(a,b){a=a|0;b=b|0;return +(+h[376+(b*80|0)+(a<<3)>>3])}function Mg(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+4|0;l=((c[k>>2]|0)*3|0)+-2|0;if(!l)return;m=a+20|0;n=a+24|0;o=0;do{if(!o){e=0;f=0}else{f=o+-1|0;e=((f>>>0)/3|0)+1|0;f=((f>>>0)%3|0)+1|0}if((f|0)==0|(c[m>>2]|0)==0)g=0;else g=(f+-1|0)>>>0<2?1:2;if(!(c[n>>2]|0))d=1.0;else d=+(1<>2]|0)+~e<<3)>>3];j=~~+M(+(d*8192.0));i=g+b|0;if((j|0)>1){e=j;f=0;while(1){e=e>>1;if((e|0)<=1)break;else f=f+1|0}g=j;e=0;do{g=g>>1;e=e+1|0}while((g|0)>1);f=f+-12|0}else{f=-13;e=0}g=11-e|0;c[a+28+(o<<3)+4>>2]=((g|0)<0?j>>0-g:j<>2]=i-f;o=o+1|0}while((o|0)!=(l|0));return}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=i;i=i+32|0;Q=T+16|0;R=T;m=c[a+24>>2]|0;n=c[m+8>>2]|0;o=c[m>>2]|0;k=c[m+12>>2]|0;l=c[m+4>>2]|0;P=a+8|0;h=c[P>>2]|0;j=c[a>>2]|0;O=h-j|0;g=b+-1|0;f=(g|0)==0;if(f)b=80;else{d=m;e=g;b=0;do{N=d;d=d+136|0;M=(c[N+144>>2]|0)-(c[d>>2]|0)|0;b=b>>>0>>0?M:b;N=(c[N+148>>2]|0)-(c[N+140>>2]|0)|0;b=b>>>0>>0?N:b;e=e+-1|0}while((e|0)!=0);b=(b<<4)+80|0}N=Rc(b)|0;c[Q>>2]=N;if(!N){S=0;i=T;return S|0}c[R>>2]=N;a:do if(!f){y=a+32|0;z=a+12|0;A=a+4|0;B=Q+8|0;C=R+8|0;D=Q+4|0;E=Q+12|0;F=R+4|0;G=R+12|0;H=O<<1;I=O<<2;J=O*3|0;L=j<<2;M=h<<2;K=L-M|0;L=M-L|0;M=h-j<<2;b=g;d=N;g=h;e=j;r=k-l|0;f=m;h=n-o|0;while(1){s=c[y>>2]|0;e=_((c[z>>2]|0)-(c[A>>2]|0)|0,g-e|0)|0;c[B>>2]=h;c[C>>2]=r;w=f+136|0;p=c[f+144>>2]|0;q=c[w>>2]|0;x=p-q|0;u=c[f+148>>2]|0;n=f+140|0;t=c[n>>2]|0;v=u-t|0;c[D>>2]=x-h;c[E>>2]=(q|0)%2|0;if((v|0)>3){g=(x|0)>0;h=(u+-4-t|0)>>>2;m=_(K,h)|0;h=s+(L+(_(M,h)|0)<<2)|0;j=s;k=e;l=v;while(1){Sg(Q,j,O,k);Tg(Q);if(g){f=x;do{o=f;f=f+-1|0;c[j+(f<<2)>>2]=c[N+(f<<4)>>2];c[j+(f+O<<2)>>2]=c[N+(f<<4)+4>>2];c[j+(f+H<<2)>>2]=c[N+(f<<4)+8>>2];c[j+(f+J<<2)>>2]=c[N+(f<<4)+12>>2]}while((o|0)>1)}l=l+-4|0;if((l|0)<=3)break;else{j=j+(I<<2)|0;k=k-I|0}}e=K+e+m|0}else h=s;g=v&3;b:do if(!g)S=21;else{Sg(Q,h,O,e);Tg(Q);if((x|0)>0)e=x;else{k=v-r|0;c[F>>2]=k;g=(c[n>>2]|0)%2|0;c[G>>2]=g;l=r;j=s;break}while(1){f=e;e=e+-1|0;switch(g|0){case 3:{c[h+(e+H<<2)>>2]=c[N+(e<<4)+8>>2];S=18;break}case 2:{S=18;break}case 1:{S=19;break}default:{}}if((S|0)==18){c[h+(e+O<<2)>>2]=c[N+(e<<4)+4>>2];S=19}if((S|0)==19){S=0;c[h+(e<<2)>>2]=c[N+(e<<4)>>2]}if((f|0)<=1){S=21;break b}}}while(0);if((S|0)==21){S=0;k=v-r|0;c[F>>2]=k;g=(c[n>>2]|0)%2|0;c[G>>2]=g;if((x|0)>3){o=(u|0)==(t|0);p=p+-4-q|0;n=c[C>>2]|0;l=(n|0)>0;j=1-g|0;m=(k|0)>0;f=s;h=x;while(1){if(l){e=0;do{r=d+((e<<1)+g<<4)|0;q=f+((_(e,O)|0)<<2)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(n|0))}if(m){e=0;do{r=d+(j+(e<<1)<<4)|0;q=f+((_(e+n|0,O)|0)<<2)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(k|0))}Tg(R);if(!o){d=c[R>>2]|0;e=0;do{r=f+((_(e,O)|0)<<2)|0;q=d+(e<<4)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(v|0))}h=h+-4|0;if((h|0)<=3)break;else f=f+16|0}l=n;j=s+((p+4&-4)<<2)|0}else{l=r;j=s}}h=x&3;if(h){d=c[R>>2]|0;if((l|0)>0){e=h<<2;f=0;do{Ui(d+((f<<1)+g<<4)|0,j+((_(f,O)|0)<<2)|0,e|0)|0;f=f+1|0}while((f|0)!=(l|0))}e=1-g|0;if((k|0)>0){f=h<<2;g=0;do{Ui(d+(e+(g<<1)<<4)|0,j+((_(g+l|0,O)|0)<<2)|0,f|0)|0;g=g+1|0}while((g|0)!=(k|0))}Tg(R);if((u|0)!=(t|0)){e=h<<2;f=0;do{Ui(j+((_(f,O)|0)<<2)|0,d+(f<<4)|0,e|0)|0;f=f+1|0}while((f|0)!=(v|0))}}b=b+-1|0;if(!b)break a;g=c[P>>2]|0;e=c[a>>2]|0;r=v;f=w;h=x}}while(0);Sc(N);S=1;i=T;return S|0}function Og(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;if(!e){e=(b|0)>0;if(!(e|(d|0)>1))return;if(e){e=a+((d<<1)+-2<<2)|0;f=0;do{j=f;f=f+1|0;k=a+((j<<1|1)<<2)|0;c[k>>2]=(c[k>>2]|0)-((c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((j|0)<(d|0)?a+(j<<1<<2)|0:e)>>2]|0)>>1)}while((f|0)!=(b|0))}if((d|0)<=0)return;f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;k=a+(h<<1<<2)|0;c[k>>2]=((c[e>>2]|0)+2+(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)>>2)+(c[k>>2]|0);h=h+1|0}while((h|0)!=(d|0));return}if((b|0)==1&(d|0)==0){c[a>>2]=c[a>>2]<<1;return}if((b|0)>0){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;i=a+(i<<2)|0;c[i>>2]=(c[i>>2]|0)-((c[e>>2]|0)+j>>1);k=k+1|0}while((k|0)!=(b|0))}if((d|0)<=0)return;e=a+((b<<1)+-2<<2)|0;f=0;do{j=f;f=f+1|0;k=a+((j<<1|1)<<2)|0;c[k>>2]=((c[((j|0)<(b|0)?a+(j<<1<<2)|0:e)>>2]|0)+2+(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)>>2)+(c[k>>2]|0)}while((f|0)!=(d|0));return}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=(c[a+8>>2]|0)-(c[a>>2]|0)|0;g=c[a+16>>2]|0;i=g+-1|0;x=c[a+32>>2]|0;h=c[a+24>>2]|0;f=(i|0)==0;if(f)a=0;else{d=h;e=i;a=0;do{v=d;d=d+136|0;u=(c[v+144>>2]|0)-(c[d>>2]|0)|0;a=a>>>0>>0?u:a;v=(c[v+148>>2]|0)-(c[v+140>>2]|0)|0;a=a>>>0>>0?v:a;e=e+-1|0}while((e|0)!=0);a=a<<2}v=Pc(a)|0;if(!((a|0)==0|(v|0)!=0)){b=0;return b|0}if(!f){t=g+-2|0;u=t;a=h+(i*136|0)|0;t=h+(t*136|0)|0;while(1){q=c[a>>2]|0;s=(c[a+8>>2]|0)-q|0;m=c[a+4>>2]|0;o=(c[a+12>>2]|0)-m|0;p=(c[t+8>>2]|0)-(c[t>>2]|0)|0;a=c[t+12>>2]|0;d=c[t+4>>2]|0;l=a-d|0;q=q&1;m=m&1;n=o-l|0;r=(s|0)>0;a:do if(r){f=(a|0)==(d|0);i=(o|0)==(l|0);j=v+((m^1)<<2)|0;k=_(l,w)|0;h=v+(m<<2)|0;if((o|0)>0){g=0;while(1){d=x+(g<<2)|0;a=0;do{c[v+(a<<2)>>2]=c[x+((_(a,w)|0)+g<<2)>>2];a=a+1|0}while((a|0)!=(o|0));ab[b&3](v,n,l,m);if(!f){e=l;a=h;while(1){e=e+-1|0;c[d>>2]=c[a>>2];if(!e)break;else{d=d+(w<<2)|0;a=a+8|0}}}if(!i){a=n;d=x+(g+k<<2)|0;e=j;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}}g=g+1|0;if((g|0)==(s|0))break a}}if(f){d=0;while(1){ab[b&3](v,n,l,m);if(!i){a=n;e=x+(d+k<<2)|0;f=j;while(1){a=a+-1|0;c[e>>2]=c[f>>2];if(!a)break;else{e=e+(w<<2)|0;f=f+8|0}}}d=d+1|0;if((d|0)==(s|0))break a}}else f=0;do{ab[b&3](v,n,l,m);a=l;d=x+(f<<2)|0;e=h;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}if(!i){a=n;d=x+(f+k<<2)|0;e=j;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}}f=f+1|0}while((f|0)!=(s|0))}while(0);g=s-p|0;if((o|0)>0){h=(p|0)>0;i=v+(q<<2)|0;j=(g|0)>0;k=v+((q^1)<<2)|0;l=0;do{f=_(l,w)|0;d=x+(f<<2)|0;if(r){a=0;do{c[v+(a<<2)>>2]=c[x+(a+f<<2)>>2];a=a+1|0}while((a|0)!=(s|0))}ab[b&3](v,g,p,q);if(h){e=0;a=i;while(1){c[d>>2]=c[a>>2];e=e+1|0;if((e|0)==(p|0))break;else{d=d+4|0;a=a+8|0}}}if(j){e=0;a=x+(f+p<<2)|0;d=k;while(1){c[a>>2]=c[d>>2];e=e+1|0;if((e|0)==(g|0))break;else{a=a+4|0;d=d+8|0}}}l=l+1|0}while((l|0)!=(o|0))}if(!u)break;else{a=t;u=u+-1|0;t=t+-136|0}}}Uc(v);b=1;return b|0}function Qg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=c[a+4>>2]|0;k=c[a+8>>2]|0;if(!(c[a+12>>2]|0)){e=(j|0)>0;if(!(e|(k|0)>1))return;if((k|0)>0){b=i+4|0;d=(j<<1)+-1|0;f=0;do{if((f|0)<1)a=b;else a=i+((((f|0)>(j|0)?j:f)<<1)+-1<<2)|0;g=f<<1;h=i+(g<<2)|0;c[h>>2]=(c[h>>2]|0)-((c[a>>2]|0)+2+(c[i+(((f|0)<(j|0)?g|1:d)<<2)>>2]|0)>>2);f=f+1|0}while((f|0)!=(k|0))}if(!e)return;a=i+((k<<1)+-2<<2)|0;b=0;do{g=b<<1;f=b;b=b+1|0;h=i+((g|1)<<2)|0;c[h>>2]=((c[((b|0)<(k|0)?i+(b<<1<<2)|0:a)>>2]|0)+(c[((f|0)<(k|0)?i+(g<<2)|0:a)>>2]|0)>>1)+(c[h>>2]|0)}while((b|0)!=(j|0));return}if((j|0)==1&(k|0)==0){c[i>>2]=(c[i>>2]|0)/2|0;return}if((k|0)>0){a=i+((j<<1)+-2<<2)|0;b=0;do{g=b<<1;f=b;b=b+1|0;h=i+((g|1)<<2)|0;c[h>>2]=(c[h>>2]|0)-((c[((f|0)<(j|0)?i+(g<<2)|0:a)>>2]|0)+2+(c[((b|0)<(j|0)?i+(b<<1<<2)|0:a)>>2]|0)>>2)}while((b|0)!=(k|0))}if((j|0)<=0)return;b=i+4|0;d=(k<<1)+-1|0;e=i+(d<<2)|0;h=0;do{f=h<<1;g=c[i+(((h|0)<(k|0)?f|1:d)<<2)>>2]|0;if((h|0)>=1)if((h|0)>(k|0))a=e;else a=i+(f+-1<<2)|0;else a=b;f=i+(f<<2)|0;c[f>>2]=((c[a>>2]|0)+g>>1)+(c[f>>2]|0);h=h+1|0}while((h|0)!=(j|0));return}function Rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!e){j=(b|0)>0;if(!(j|(d|0)>1))return;if(j){e=a+((d<<1)+-2<<2)|0;f=0;do{m=f;f=f+1|0;l=(c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((m|0)<(d|0)?a+(m<<1<<2)|0:e)>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,12993,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+((m<<1|1)<<2)|0;c[m>>2]=(c[m>>2]|0)-l}while((f|0)!=(b|0))}i=(d|0)>0;if(i){f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;l=(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)+(c[e>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,434,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+(h<<1<<2)|0;c[m>>2]=(c[m>>2]|0)-l;h=h+1|0}while((h|0)!=(d|0))}if(j){e=a+((d<<1)+-2<<2)|0;f=0;do{m=f;f=f+1|0;l=(c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((m|0)<(d|0)?a+(m<<1<<2)|0:e)>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,7233,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+((m<<1|1)<<2)|0;c[m>>2]=l+(c[m>>2]|0)}while((f|0)!=(b|0))}if(i){f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;l=(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)+(c[e>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,3633,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+(h<<1<<2)|0;c[m>>2]=l+(c[m>>2]|0);h=h+1|0}while((h|0)!=(d|0))}if(j){e=0;do{m=a+((e<<1|1)<<2)|0;l=c[m>>2]|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,5038,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;c[m>>2]=l;e=e+1|0}while((e|0)!=(b|0))}if(i)e=0;else return;do{b=a+(e<<1<<2)|0;m=c[b>>2]|0;m=Zi(m|0,((m|0)<0)<<31>>31|0,6659,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;c[b>>2]=m;e=e+1|0}while((e|0)!=(d|0));return}m=(d|0)>0;if(!((b|0)>1|m))return;l=(b|0)>0;if(l){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;e=(c[e>>2]|0)+j|0;e=Zi(e|0,((e|0)<0)<<31>>31|0,12993,0)|0;e=Si(e|0,C|0,4096,0)|0;e=Ti(e|0,C|0,13)|0;j=a+(i<<2)|0;c[j>>2]=(c[j>>2]|0)-e;k=k+1|0}while((k|0)!=(b|0))}if(m){e=a+((b<<1)+-2<<2)|0;f=0;do{k=f;f=f+1|0;j=(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((k|0)<(b|0)?a+(k<<1<<2)|0:e)>>2]|0)|0;j=Zi(j|0,((j|0)<0)<<31>>31|0,434,0)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;k=a+((k<<1|1)<<2)|0;c[k>>2]=(c[k>>2]|0)-j}while((f|0)!=(d|0))}if(l){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;e=(c[e>>2]|0)+j|0;e=Zi(e|0,((e|0)<0)<<31>>31|0,7233,0)|0;e=Si(e|0,C|0,4096,0)|0;e=Ti(e|0,C|0,13)|0;j=a+(i<<2)|0;c[j>>2]=e+(c[j>>2]|0);k=k+1|0}while((k|0)!=(b|0))}if(m){e=a+((b<<1)+-2<<2)|0;f=0;do{k=f;f=f+1|0;j=(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((k|0)<(b|0)?a+(k<<1<<2)|0:e)>>2]|0)|0;j=Zi(j|0,((j|0)<0)<<31>>31|0,3633,0)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;k=a+((k<<1|1)<<2)|0;c[k>>2]=j+(c[k>>2]|0)}while((f|0)!=(d|0))}if(l){e=0;do{l=a+(e<<1<<2)|0;k=c[l>>2]|0;k=Zi(k|0,((k|0)<0)<<31>>31|0,5038,0)|0;k=Si(k|0,C|0,4096,0)|0;k=Ti(k|0,C|0,13)|0;c[l>>2]=k;e=e+1|0}while((e|0)!=(b|0))}if(m)e=0;else return;do{b=a+((e<<1|1)<<2)|0;m=c[b>>2]|0;m=Zi(m|0,((m|0)<0)<<31>>31|0,6659,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;c[b>>2]=m;e=e+1|0}while((e|0)!=(d|0));return}function Sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=c[a>>2]|0;i=c[a+12>>2]|0;q=c[a+8>>2]|0;n=d*3|0;l=1-i|0;k=a+4|0;j=q;a=0;while(1){h=m+(i<<4)|0;if(((j+n|0)<(e|0)?(b&15|0)==0:0)?((h|d)&15|0)==0:0){if((j|0)>0){f=0;do{h=f<<3;c[m+(i<<4)+(h<<2)>>2]=c[b+(f<<2)>>2];g=f+d|0;c[m+(i<<4)+((h|1)<<2)>>2]=c[b+(g<<2)>>2];g=g+d|0;c[m+(i<<4)+((h|2)<<2)>>2]=c[b+(g<<2)>>2];c[m+(i<<4)+((h|3)<<2)>>2]=c[b+(g+d<<2)>>2];f=f+1|0}while((f|0)!=(j|0))}}else r=3;if((r|0)==3?(r=0,(j|0)>0):0){h=0;do{f=h<<3;c[m+(i<<4)+(f<<2)>>2]=c[b+(h<<2)>>2];g=h+d|0;if(((g|0)<(e|0)?(c[m+(i<<4)+((f|1)<<2)>>2]=c[b+(g<<2)>>2],o=g+d|0,(o|0)<(e|0)):0)?(c[m+(i<<4)+((f|2)<<2)>>2]=c[b+(o<<2)>>2],p=o+d|0,(p|0)<(e|0)):0)c[m+(i<<4)+((f|3)<<2)>>2]=c[b+(p<<2)>>2];h=h+1|0}while((h|0)!=(j|0))}a=a+1|0;if((a|0)==2)break;else{b=b+(q<<2)|0;e=e-q|0;i=l;j=c[k>>2]|0}}return}function Tg(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0;do if(!(c[a+12>>2]|0)){d=c[a+8>>2]|0;if((c[a+4>>2]|0)>0){b=c[a>>2]|0;if((d|0)>0){i=0;f=1;j=9;break}else{i=0;h=1;break}}if((d|0)>1){e=0;f=1;j=7}else return}else{d=c[a+8>>2]|0;if((d|0)<=0)if((c[a+4>>2]|0)>1){b=c[a>>2]|0;i=1;h=0;break}else return;else{e=1;f=0;j=7}}while(0);if((j|0)==7){b=c[a>>2]|0;i=e;j=9}if((j|0)==9){e=0;do{j=e<<3;o=b+(i<<4)+(j<<2)|0;m=b+(i<<4)+((j|1)<<2)|0;n=+g[m>>2];h=b+(i<<4)+((j|2)<<2)|0;l=+g[h>>2];j=b+(i<<4)+((j|3)<<2)|0;k=+g[j>>2];g[o>>2]=+g[o>>2]*1.2301740646362305;g[m>>2]=n*1.2301740646362305;g[h>>2]=l*1.2301740646362305;g[j>>2]=k*1.2301740646362305;e=e+1|0}while((e|0)!=(d|0));h=f}e=c[a+4>>2]|0;if((e|0)>0){f=0;do{o=f<<3;j=b+(h<<4)+(o<<2)|0;a=b+(h<<4)+((o|1)<<2)|0;k=+g[a>>2];m=b+(h<<4)+((o|2)<<2)|0;l=+g[m>>2];o=b+(h<<4)+((o|3)<<2)|0;n=+g[o>>2];g[j>>2]=+g[j>>2]*1.625732421875;g[a>>2]=k*1.625732421875;g[m>>2]=l*1.625732421875;g[o>>2]=n*1.625732421875;f=f+1|0}while((f|0)!=(e|0))}p=b+(h<<4)|0;f=b+(i+1<<4)|0;j=e-i|0;j=(d|0)<(j|0)?d:j;Ug(p,f,d,j,-.4435068666934967);a=b+(i<<4)|0;m=b+(h+1<<4)|0;o=d-h|0;o=(e|0)<(o|0)?e:o;Ug(a,m,e,o,-.8829110860824585);Ug(p,f,d,j,.05298011749982834);Ug(a,m,e,o,1.5861343145370483);return}function Ug(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0.0;if((d|0)>0){m=d<<1;l=m+-2|0;h=+g[a>>2];i=+g[a+4>>2];j=+g[a+8>>2];f=+g[a+12>>2];a=b;k=0;while(1){w=a+-16|0;t=a+-12|0;v=+g[t>>2];q=a+-8|0;s=+g[q>>2];n=a+-4|0;p=+g[n>>2];x=h;h=+g[a>>2];u=i;i=+g[a+4>>2];r=j;j=+g[a+8>>2];o=f;f=+g[a+12>>2];g[w>>2]=+g[w>>2]+(x+h)*e;g[t>>2]=v+(u+i)*e;g[q>>2]=s+(r+j)*e;g[n>>2]=p+(o+f)*e;k=k+1|0;if((k|0)==(d|0))break;else a=a+32|0}a=b+(l<<4)|0;b=b+(m<<4)|0}if((d|0)>=(c|0))return;f=e+e;h=f*+g[a>>2];i=f*+g[a+4>>2];j=f*+g[a+8>>2];f=f*+g[a+12>>2];while(1){n=b+-16|0;q=b+-12|0;u=+g[q>>2];t=b+-8|0;v=+g[t>>2];w=b+-4|0;x=+g[w>>2];g[n>>2]=h+ +g[n>>2];g[q>>2]=i+u;g[t>>2]=j+v;g[w>>2]=f+x;d=d+1|0;if((d|0)==(c|0))break;else b=b+32|0}return}function Vg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=d<<2;y=Pc(d<<4)|0;if(!y){a=0;return a|0}z=y+x|0;Qi(y|0,0,x|0)|0;v=d+-1|0;u=(d|0)==0;if(!u){e=0;f=y;while(1){c[f>>2]=e;e=e+1|0;if((e|0)==(d|0))break;else f=f+4|0}}a:do if(v){q=v;j=0;e=0;r=a;s=1;t=y;while(1){k=r+(j<<2)|0;if(j>>>0>>0){i=j;f=k;h=0.0}else break;while(1){o=+g[f>>2];o=o>0.0?o:-o;w=o>h;e=w?i:e;h=w?o:h;i=i+1|0;if((i|0)==(d|0))break;else f=f+(d<<2)|0}if(h==0.0)break;if((e|0)!=(j|0)){w=e-j|0;p=t+(w<<2)|0;n=c[t>>2]|0;c[t>>2]=c[p>>2];c[p>>2]=n;w=r+((_(w,d)|0)<<2)|0;Ui(z|0,w|0,x|0)|0;Ui(w|0,r|0,x|0)|0;Ui(r|0,z|0,x|0)|0}f=j;p=j+1|0;o=+g[k>>2];if(s>>>0>>0){l=r+(p<<2)|0;n=p+q|0;m=s;i=r+(f+d<<2)|0;while(1){h=+g[i>>2]/o;g[i>>2]=h;f=s;j=i;k=l;while(1){j=j+4|0;g[j>>2]=+g[j>>2]-h*+g[k>>2];f=f+1|0;if((f|0)==(d|0))break;else k=k+4|0}m=m+1|0;if((m|0)==(d|0))break;else i=i+(n<<2)|0}}if(p>>>0>>0){q=q+-1|0;j=p;r=r+(d<<2)|0;s=s+1|0;t=t+4|0}else break a}Uc(y);a=0;return a|0}while(0);e=d<<1;w=z+(e<<2)|0;if(!u){u=z+(v+d<<2)|0;q=z+(e+v<<2)|0;r=a+((_(d,d)|0)+-1<<2)|0;s=~d;t=0;p=b;while(1){Qi(z|0,0,x|0)|0;g[z+(t<<2)>>2]=1.0;j=0;k=1;l=y;m=w;n=a;while(1){if(!j)h=0.0;else{e=1;f=w;i=n;h=0.0;while(1){h=h+ +g[i>>2]*+g[f>>2];e=e+1|0;if((e|0)==(k|0))break;else{f=f+4|0;i=i+4|0}}}g[m>>2]=+g[z+(c[l>>2]<<2)>>2]-h;j=j+1|0;if((j|0)==(d|0)){j=d;k=u;l=w;m=q;n=r;break}else{k=k+1|0;l=l+4|0;m=m+4|0;n=n+(d<<2)|0}}while(1){e=j;j=j+-1|0;o=+g[n>>2];if(e>>>0>>0){f=l;i=n;h=0.0;while(1){i=i+4|0;h=h+ +g[i>>2]*+g[f>>2];e=e+1|0;if((e|0)==(d|0))break;else f=f+4|0}}else h=0.0;l=l+-4|0;g[k>>2]=(+g[m>>2]-h)/o;if(!j){e=0;f=p;break}else{k=k+-4|0;m=m+-4|0;n=n+(s<<2)|0}}while(1){c[f>>2]=c[z+(e+d<<2)>>2];e=e+1|0;if((e|0)==(d|0))break;else f=f+(d<<2)|0}t=t+1|0;if((t|0)==(d|0))break;else p=p+4|0}}Uc(y);a=1;return a|0}function Wg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=Qc(1,44)|0;if(!g){g=0;return g|0}h=hh()|0;c[g>>2]=h;if(!h){ih(0);c[g>>2]=0;h=g+4|0;yh(c[h>>2]|0);c[h>>2]=0;if((c[g+40>>2]|0)==0?(d=g+8|0,b=c[d>>2]|0,(b|0)!=0):0){Sc(b);c[d>>2]=0}b=g+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(g);h=0;return h|0}h=xh()|0;b=g+4|0;c[b>>2]=h;if(h){c[g+40>>2]=a;h=g;return h|0}ih(c[g>>2]|0);c[g>>2]=0;yh(c[b>>2]|0);c[b>>2]=0;if((c[g+40>>2]|0)==0?(e=g+8|0,f=c[e>>2]|0,(f|0)!=0):0){Sc(f);c[e>>2]=0}b=g+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(g);h=0;return h|0}function Xg(a){a=a|0;var b=0,d=0,e=0;if(!a)return;ih(c[a>>2]|0);c[a>>2]=0;e=a+4|0;yh(c[e>>2]|0);c[e>>2]=0;if((c[a+40>>2]|0)==0?(b=a+8|0,d=c[b>>2]|0,(d|0)!=0):0){Sc(d);c[b>>2]=0}b=a+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(a);return}function Yg(a,f,h){a=a|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;ya=(c[f+8>>2]|0)-(c[f>>2]|0)|0;za=f+20|0;i=c[za>>2]|0;if(!i){a=1;return a|0}Aa=f+24|0;Ba=h+808|0;Ca=h+16|0;ta=a+4|0;va=a+8|0;wa=a+16|0;xa=a+20|0;sa=h+20|0;pa=f+32|0;qa=a+32|0;ra=a+12|0;h=i;oa=0;a:while(1){ma=c[Aa>>2]|0;na=ma+(oa*136|0)+24|0;f=c[na>>2]|0;if(f){ja=ma+(oa*136|0)+16|0;ka=ma+(oa*136|0)+20|0;la=oa+-1|0;h=c[ka>>2]|0;i=c[ja>>2]|0;ia=0;do{if(_(h,i)|0){da=ma+(oa*136|0)+28+(ia*36|0)+20|0;ea=ma+(oa*136|0)+28+(ia*36|0)+16|0;fa=ma+(oa*136|0)+28+(ia*36|0)|0;ga=ma+(oa*136|0)+28+(ia*36|0)+4|0;ha=ma+(oa*136|0)+28+(ia*36|0)+32|0;ca=0;do{f=c[da>>2]|0;aa=f+(ca*40|0)+16|0;ba=f+(ca*40|0)+20|0;if(_(c[ba>>2]|0,c[aa>>2]|0)|0){Z=f+(ca*40|0)+24|0;$=0;do{h=c[Z>>2]|0;S=c[ea>>2]|0;j=c[Ba>>2]|0;f=c[Ca>>2]|0;T=c[ta>>2]|0;U=c[a>>2]|0;V=h+($*56|0)+8|0;Y=h+($*56|0)+12|0;if(!(_g(a,(c[h+($*56|0)+16>>2]|0)-(c[V>>2]|0)|0,(c[h+($*56|0)+20>>2]|0)-(c[Y>>2]|0)|0)|0)){h=0;G=201;break a}W=h+($*56|0)+24|0;k=c[W>>2]|0;qh(U);rh(U,18,0,46);rh(U,17,0,3);rh(U,0,0,4);X=h+($*56|0)+48|0;i=c[X>>2]|0;if(i){N=h+($*56|0)+4|0;O=(f&1|0)!=0;P=(f&2|0)==0;Q=(f&8|0)==0;R=S<<8;M=(f&32|0)==0;f=k+j|0;h=2;L=0;do{k=c[N>>2]|0;K=O&(h>>>0<2?(f|0)<=((c[W>>2]|0)+-4|0):0);j=c[k+(L<<5)>>2]|0;if(j){i=(c[j>>2]|0)+(c[k+(L<<5)+4>>2]|0)|0;j=c[k+(L<<5)+16>>2]|0;if(!K){if(!(vh(U,i,j)|0)){h=0;G=201;break a}}else zh(T,i,j);I=k+(L<<5)+12|0;b:do if(c[I>>2]|0){J=P|K;H=0;while(1){c:do switch(h|0){case 0:{if(K){w=1<>1|w;j=c[xa>>2]|0;if(!j)break c;v=0-w|0;i=c[wa>>2]|0;u=0;while(1){t=u;u=u+4|0;if(!i)i=0;else{q=(t|0)==-4;r=t|3;s=0;do{d:do if(!q)if(Q){o=t;do{if(o>>>0>=(c[xa>>2]|0)>>>0)break d;m=o;o=o+1|0;i=(_(c[qa>>2]|0,o)|0)+s|0;j=i+1|0;k=c[ra>>2]|0;l=k+(j<<1)|0;m=(_(c[wa>>2]|0,m)|0)+s|0;m=(c[va>>2]|0)+(m<<2)|0;n=c[ta>>2]|0;G=b[l>>1]|0;if((G&255|0)!=0&(G&20480|0)==0){if(Ah(n)|0){D=Ah(n)|0;c[m>>2]=(D|0)!=0?v:w;F=c[qa>>2]|0;G=k+(j-F<<1)|0;E=k+(F+j<<1)|0;C=k+(j+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=i+2|0;C=k+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=k+(i<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[l>>1]=e[l>>1]|4096;C=k+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=k+(F+i<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=k+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[l>>1]=e[l>>1]|16384}}while(o>>>0>>0)}else{p=t;do{i=c[xa>>2]|0;if(p>>>0>=i>>>0)break d;F=p;p=p+1|0;j=(_(c[qa>>2]|0,p)|0)+s|0;k=j+1|0;l=c[ra>>2]|0;m=l+(k<<1)|0;n=(_(c[wa>>2]|0,F)|0)+s|0;n=(c[va>>2]|0)+(n<<2)|0;o=c[ta>>2]|0;G=b[m>>1]|0;G=(F|0)==(r|0)|(F|0)==(i+-1|0)?G&-1095:G;if((G&255|0)!=0&(G&20480|0)==0){if(Ah(o)|0){D=Ah(o)|0;c[n>>2]=(D|0)!=0?v:w;F=c[qa>>2]|0;G=l+(k-F<<1)|0;E=l+(F+k<<1)|0;C=l+(k+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=j+2|0;C=l+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=l+(j<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[m>>1]=e[m>>1]|4096;C=l+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=l+(F+j<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=l+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[m>>1]=e[m>>1]|16384}}while(p>>>0>>0)}while(0);s=s+1|0;i=c[wa>>2]|0}while(s>>>0>>0);j=c[xa>>2]|0}if(u>>>0>=j>>>0){G=163;break c}}}if(Q){k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;r=1<>1|r;i=c[xa>>2]|0;j=c[wa>>2]|0;if(i>>>0>3){o=j;n=0;while(1){if(!j){j=o;m=0}else{j=0;do{G=(c[qa>>2]|0)+j|0;$g(a,l+(G<<1)|0,k+(j<<2)|0,S,r);i=(c[wa>>2]|0)+j|0;G=(c[qa>>2]|0)+G|0;$g(a,l+(G<<1)|0,k+(i<<2)|0,S,r);i=(c[wa>>2]|0)+i|0;G=(c[qa>>2]|0)+G|0;$g(a,l+(G<<1)|0,k+(i<<2)|0,S,r);$g(a,l+((c[qa>>2]|0)+G<<1)|0,k+((c[wa>>2]|0)+i<<2)|0,S,r);j=j+1|0;i=c[wa>>2]|0}while(j>>>0>>0);j=i;m=i;i=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=l+(c[qa>>2]<<2<<1)|0;n=n+4|0;if(n>>>0<(i&-4)>>>0){o=j;j=m}else{q=l;p=n;break}}}else{q=l;p=0}if(!j){G=163;break c}else o=0;while(1){if(p>>>0>>0){l=k+(o<<2)|0;m=q+(o<<1)|0;n=p;while(1){m=m+(c[qa>>2]<<1)|0;$g(a,m,l,S,r);j=c[wa>>2]|0;n=n+1|0;i=c[xa>>2]|0;if(n>>>0>=i>>>0)break;else l=l+(j<<2)|0}}o=o+1|0;if(o>>>0>=j>>>0){G=163;break c}}}w=1<>1|w;i=c[xa>>2]|0;if(!i){G=163;break c}x=0-w|0;j=c[wa>>2]|0;l=j;v=0;while(1){u=v;v=v+4|0;do if(!j){k=l;j=0}else{t=u|3;if((u|0)==-4){k=l;j=l;break}else s=0;do{r=u;do{i=c[xa>>2]|0;if(r>>>0>=i>>>0)break;G=r;r=r+1|0;l=(_(c[qa>>2]|0,r)|0)+s|0;m=l+1|0;n=c[ra>>2]|0;o=n+(m<<1)|0;p=(_(c[wa>>2]|0,G)|0)+s|0;p=(c[va>>2]|0)+(p<<2)|0;q=c[a>>2]|0;j=b[o>>1]|0;i=(G|0)==(t|0)|(G|0)==(i+-1|0)?j&-1095:j;j=i&255;if((j|0)!=0&(i&20480|0)==0){k=q+100|0;c[k>>2]=q+24+(d[20267+(j|R)>>0]<<2);if(wh(q)|0){F=i>>>4&255;c[k>>2]=q+24+(d[21291+F>>0]<<2);G=wh(q)|0;F=d[21547+F>>0]|0;D=F^G;c[p>>2]=(G|0)!=(F|0)?x:w;F=c[qa>>2]|0;G=n+(m-F<<1)|0;E=n+(F+m<<1)|0;C=n+(m+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=l+2|0;C=n+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=n+(l<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[o>>1]=e[o>>1]|4096;C=n+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=n+(F+l<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=n+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[o>>1]=e[o>>1]|16384}}while(r>>>0>>0);s=s+1|0;i=c[wa>>2]|0}while(s>>>0>>0);k=i;j=i;i=c[xa>>2]|0}while(0);if(v>>>0>=i>>>0){G=163;break}else l=k}break}case 1:{if(K){q=1<>1;r=(f|0)>0?0-q|0:-1;j=c[xa>>2]|0;if(!j)break c;k=c[wa>>2]|0;i=k;p=0;while(1){o=p;p=p+4|0;if(!k){l=i;k=0}else{n=(o|0)==-4;m=0;do{l=m;m=m+1|0;if(!n){k=o;do{if(k>>>0>=(c[xa>>2]|0)>>>0)break;j=k;k=k+1|0;i=(_(c[qa>>2]|0,k)|0)+m|0;i=(c[ra>>2]|0)+(i<<1)|0;j=(_(c[wa>>2]|0,j)|0)+l|0;j=(c[va>>2]|0)+(j<<2)|0;if((b[i>>1]&20480)==4096){F=(Ah(c[ta>>2]|0)|0)!=0;F=F?q:r;G=c[j>>2]|0;c[j>>2]=((G|0)<0?0-F|0:F)+G;b[i>>1]=e[i>>1]|8192}}while(k>>>0

>>0);i=c[wa>>2]|0}}while(m>>>0>>0);l=i;k=i;j=c[xa>>2]|0}if(p>>>0>=j>>>0){G=163;break c}else i=l}}if(!Q){t=1<>1;u=(f|0)>0?0-t|0:-1;i=c[xa>>2]|0;if(!i){G=163;break c}j=c[wa>>2]|0;k=j;s=0;while(1){r=s;s=s+4|0;if(!j)j=0;else{p=(r|0)==-4;q=r|3;i=k;o=0;do{n=o;o=o+1|0;if(!p){l=r;do{i=c[xa>>2]|0;if(l>>>0>=i>>>0)break;F=l;l=l+1|0;j=(_(c[qa>>2]|0,l)|0)+o|0;j=(c[ra>>2]|0)+(j<<1)|0;k=(_(c[wa>>2]|0,F)|0)+n|0;k=(c[va>>2]|0)+(k<<2)|0;m=c[a>>2]|0;G=b[j>>1]|0;i=(F|0)==(q|0)|(F|0)==(i+-1|0)?G&-1095:G;if((i&20480|0)==4096){c[m+100>>2]=m+24+(((i&8192|0)!=0?16:(i&255|0)!=0?15:14)<<2);F=(wh(m)|0)!=0;F=F?t:u;G=c[k>>2]|0;c[k>>2]=((G|0)<0?0-F|0:F)+G;b[j>>1]=e[j>>1]|8192}}while(l>>>0>>0);i=c[wa>>2]|0}}while(o>>>0>>0);k=i;j=i;i=c[xa>>2]|0}if(s>>>0>=i>>>0){G=163;break c}}}k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;v=1<>1;w=(f|0)>0?0-v|0:-1;i=c[xa>>2]|0;j=c[wa>>2]|0;if(i>>>0>3){n=j;t=l;u=0;while(1){if(!j){j=n;m=0}else{i=n;s=0;do{j=k+(s<<2)|0;n=c[qa>>2]|0;p=n+s|0;l=t+(p<<1)|0;o=c[a>>2]|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[o+100>>2]=o+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);n=(wh(o)|0)!=0;n=n?v:w;i=c[j>>2]|0;c[j>>2]=((i|0)<0?0-n|0:n)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}else{j=n;n=o}q=i+s|0;o=k+(q<<2)|0;r=j+p|0;l=t+(r<<1)|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);j=(wh(n)|0)!=0;j=j?v:w;i=c[o>>2]|0;c[o>>2]=((i|0)<0?0-j|0:j)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}p=i+q|0;o=k+(p<<2)|0;q=j+r|0;l=t+(q<<1)|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);j=(wh(n)|0)!=0;j=j?v:w;i=c[o>>2]|0;c[o>>2]=((i|0)<0?0-j|0:j)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}m=k+(i+p<<2)|0;j=t+(j+q<<1)|0;l=b[j>>1]|0;if((l&20480|0)==4096){c[n+100>>2]=n+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);G=(wh(n)|0)!=0;G=G?v:w;i=c[m>>2]|0;c[m>>2]=((i|0)<0?0-G|0:G)+i;b[j>>1]=e[j>>1]|8192;i=c[wa>>2]|0}s=s+1|0}while(s>>>0>>0);j=i;m=i;i=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=t+(c[qa>>2]<<2<<1)|0;o=u+4|0;if(o>>>0<(i&-4)>>>0){n=j;j=m;t=l;u=o}else{s=o;break}}}else s=0;if(!j){G=163;break c}else r=0;do{if(s>>>0>>0){o=k+(r<<2)|0;p=l+(r<<1)|0;q=s;while(1){p=p+(c[qa>>2]<<1)|0;n=c[a>>2]|0;m=b[p>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);i=(wh(n)|0)!=0;i=i?v:w;m=c[o>>2]|0;c[o>>2]=((m|0)<0?0-i|0:i)+m;b[p>>1]=e[p>>1]|8192;m=c[wa>>2]|0;i=c[xa>>2]|0}else m=j;q=q+1|0;if(q>>>0>=i>>>0){j=m;break}else{j=m;o=o+(m<<2)|0}}}r=r+1|0}while(r>>>0>>0);G=163;break}case 2:{E=c[a>>2]|0;F=1<>1|F;do if(Q){k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;j=c[xa>>2]|0;if(j>>>0>3){w=E+92|0;x=E+100|0;y=E+96|0;z=0-F|0;m=c[wa>>2]|0;i=m;o=0;while(1){if(!m)m=0;else{r=o|1;s=r+1|0;t=o|3;u=r+3|0;v=0;do{i=c[qa>>2]|0;j=v;v=v+1|0;D=(_(i,r)|0)+v|0;G=c[ra>>2]|0;D=b[G+((_(i,s)|0)+v<<1)>>1]|b[G+(D<<1)>>1];D=D|b[G+((_(i,t)|0)+v<<1)>>1];e:do if(!((D|b[G+((_(i,u)|0)+v<<1)>>1])&20735)){c[x>>2]=w;if(!(wh(E)|0))break;c[x>>2]=y;p=(wh(E)|0)<<1;p=p|(wh(E)|0);if(p>>>0>=4)break;q=k+((_(c[wa>>2]|0,p)|0)+j<<2)|0;j=l+((_(c[qa>>2]|0,p)|0)+j<<1)|0;n=p;while(1){if(n>>>0>=(c[xa>>2]|0)>>>0)break e;i=c[qa>>2]|0;m=j;j=j+(i<<1)|0;if((n|0)==(p|0)){G=c[a>>2]|0;D=(e[j>>1]|0)>>>4&255;c[G+100>>2]=G+24+(d[21291+D>>0]<<2);G=wh(G)|0;D=d[21547+D>>0]|0;B=D^G;c[q>>2]=(G|0)!=(D|0)?z:F;D=c[qa>>2]|0;G=m+(i-D<<1)|0;C=m+(D+i<<1)|0;A=m+(i+~D<<1)|0;b[A>>1]=e[A>>1]|2;b[G>>1]=b[G>>1]|b[3436+(B<<1)>>1];G=i+1|0;A=m+(G-D<<1)|0;b[A>>1]=e[A>>1]|4;A=i+-1|0;i=m+(A<<1)|0;b[i>>1]=b[i>>1]|b[3436+(B+2<<1)>>1];b[j>>1]=e[j>>1]|4096;i=m+(G<<1)|0;b[i>>1]=b[i>>1]|b[3436+(B+4<<1)>>1];A=m+(D+A<<1)|0;b[A>>1]=e[A>>1]|1;b[C>>1]=b[C>>1]|b[3436+(B+6<<1)>>1];G=m+(D+G<<1)|0;b[G>>1]=e[G>>1]|8;b[j>>1]=e[j>>1]&49151}else ah(a,j,q,S,F);n=n+1|0;if(n>>>0>=4)break;else q=q+(c[wa>>2]<<2)|0}}else{D=i+j|0;ah(a,l+(D<<1)|0,k+(j<<2)|0,S,F);G=(c[wa>>2]|0)+j|0;D=(c[qa>>2]|0)+D|0;ah(a,l+(D<<1)|0,k+(G<<2)|0,S,F);G=(c[wa>>2]|0)+G|0;D=(c[qa>>2]|0)+D|0;ah(a,l+(D<<1)|0,k+(G<<2)|0,S,F);ah(a,l+((c[qa>>2]|0)+D<<1)|0,k+((c[wa>>2]|0)+G<<2)|0,S,F)}while(0);i=c[wa>>2]|0}while(v>>>0>>0);m=i;j=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=l+(c[qa>>2]<<2<<1)|0;o=o+4|0;if(o>>>0>=(j&-4)>>>0){q=k;p=l;break}}}else{i=c[wa>>2]|0;q=k;p=l;o=0}if(!i)break;else n=0;do{if(o>>>0>>0){k=q+(n<<2)|0;l=p+(n<<1)|0;m=o;while(1){l=l+(c[qa>>2]<<1)|0;ah(a,l,k,S,F);i=c[wa>>2]|0;m=m+1|0;j=c[xa>>2]|0;if(m>>>0>=j>>>0)break;else k=k+(i<<2)|0}}n=n+1|0}while(n>>>0>>0)}else{i=c[xa>>2]|0;if(!i)break;A=E+92|0;B=E+100|0;C=E+96|0;D=0-F|0;j=c[wa>>2]|0;z=0;while(1){if(!j){k=z+4|0;j=0}else{v=z|3;w=z|1;x=w+1|0;y=w+3|0;k=z+4|0;u=0;while(1){do if(v>>>0>>0){i=c[qa>>2]|0;l=u+1|0;t=(_(i,w)|0)+l|0;j=c[ra>>2]|0;if(b[j+(t<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,x)|0)+l<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,v)|0)+l<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,y)|0)+l<<1)>>1]&20665){t=0;i=0;G=127;break}c[B>>2]=A;if(!(wh(E)|0))break;c[B>>2]=C;i=(wh(E)|0)<<1;t=1;i=i|(wh(E)|0);G=127}else{t=0;i=0;G=127}while(0);if((G|0)==127){G=0;l=i+z|0;f:do if(l>>>0>>0){s=l;do{i=c[xa>>2]|0;if(s>>>0>=i>>>0)break f;Da=s;s=s+1|0;m=(_(c[qa>>2]|0,s)|0)+u|0;n=m+1|0;o=c[ra>>2]|0;p=o+(n<<1)|0;q=(_(c[wa>>2]|0,Da)|0)+u|0;q=(c[va>>2]|0)+(q<<2)|0;r=c[a>>2]|0;j=b[p>>1]|0;j=(Da|0)==(v|0)|(Da|0)==(i+-1|0)?j&-1095:j;do if(!(t&(Da|0)==(l|0))){if(j&20480)break;i=r+100|0;c[i>>2]=r+24+(d[20267+(j&255|R)>>0]<<2);if(wh(r)|0)G=133}else{i=r+100|0;G=133}while(0);if((G|0)==133){G=0;j=j>>>4&255;c[i>>2]=r+24+(d[21291+j>>0]<<2);Da=wh(r)|0;r=d[21547+j>>0]|0;j=r^Da;c[q>>2]=(Da|0)!=(r|0)?D:F;r=c[qa>>2]|0;Da=o+(n-r<<1)|0;q=o+(r+n<<1)|0;n=o+(n+~r<<1)|0;b[n>>1]=e[n>>1]|2;b[Da>>1]=b[Da>>1]|b[3436+(j<<1)>>1];Da=m+2|0;n=o+(Da-r<<1)|0;b[n>>1]=e[n>>1]|4;n=o+(m<<1)|0;b[n>>1]=b[n>>1]|b[3436+(j+2<<1)>>1];b[p>>1]=e[p>>1]|4096;n=o+(Da<<1)|0;b[n>>1]=b[n>>1]|b[3436+(j+4<<1)>>1];n=o+(r+m<<1)|0;b[n>>1]=e[n>>1]|1;b[q>>1]=b[q>>1]|b[3436+(j+6<<1)>>1];Da=o+(r+Da<<1)|0;b[Da>>1]=e[Da>>1]|8}b[p>>1]=e[p>>1]&49151}while(s>>>0>>0)}while(0);l=u+1|0}j=c[wa>>2]|0;i=c[xa>>2]|0;if(l>>>0>>0)u=l;else break}}if(k>>>0>>0)z=k;else break}}while(0);if(M){G=163;break c}c[E+100>>2]=E+96;wh(E)|0;wh(E)|0;wh(E)|0;wh(E)|0;G=163;break}default:G=163}while(0);do if((G|0)==163){G=0;if(J)break;qh(U);rh(U,18,0,46);rh(U,17,0,3);rh(U,0,0,4)}while(0);h=h+1|0;Da=(h|0)==3;f=(Da<<31>>31)+f|0;h=Da?0:h;H=H+1|0;if(H>>>0>=(c[I>>2]|0)>>>0)break b}}while(0);i=c[X>>2]|0}L=L+1|0}while(L>>>0>>0)}h=(c[V>>2]|0)-(c[fa>>2]|0)|0;f=(c[Y>>2]|0)-(c[ga>>2]|0)|0;i=c[ea>>2]|0;if(i&1){Da=c[Aa>>2]|0;h=(c[Da+(la*136|0)+8>>2]|0)+h-(c[Da+(la*136|0)>>2]|0)|0}if(i&2){Da=c[Aa>>2]|0;f=(c[Da+(la*136|0)+12>>2]|0)+f-(c[Da+(la*136|0)+4>>2]|0)|0}p=c[va>>2]|0;q=c[wa>>2]|0;r=c[xa>>2]|0;i=c[Ba>>2]|0;if((i|0)!=0?(ua=1<>2]|0;m=(l|0)>-1?l:0-l|0;if((m|0)>=(ua|0)){Da=m>>c[Ba>>2];c[k>>2]=(l|0)<0?0-Da|0:Da}n=n+1|0}while((n|0)!=(q|0))}o=o+1|0}while((o|0)!=(r|0))}n=(_(f,ya)|0)+h|0;o=c[pa>>2]|0;h=(r|0)==0;if((c[sa>>2]|0)==1){if(!h){h=(q|0)==0;k=0;do{if(!h){f=_(k,q)|0;i=(_(k,ya)|0)+n|0;j=0;do{c[o+(i+j<<2)>>2]=(c[p+(j+f<<2)>>2]|0)/2|0;j=j+1|0}while((j|0)!=(q|0))}k=k+1|0}while((k|0)!=(r|0))}}else if(!h){m=(q|0)==0;h=p;l=0;k=o+(n<<2)|0;while(1){if(!m){f=h;i=0;j=k;while(1){g[j>>2]=+(c[f>>2]|0)*+g[ha>>2];i=i+1|0;if((i|0)==(q|0))break;else{f=f+4|0;j=j+4|0}}h=h+(q<<2)|0}l=l+1|0;if((l|0)==(r|0))break;else k=k+(ya<<2)|0}}$=$+1|0}while($>>>0<(_(c[ba>>2]|0,c[aa>>2]|0)|0)>>>0);h=c[ka>>2]|0;i=c[ja>>2]|0}ca=ca+1|0}while(ca>>>0<(_(h,i)|0)>>>0);f=c[na>>2]|0}ia=ia+1|0}while(ia>>>0>>0);h=c[za>>2]|0}oa=oa+1|0;if(oa>>>0>=h>>>0){h=1;G=201;break}}if((G|0)==201)return h|0;return 0}function Zg(f,i,j,k,l){f=f|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0.0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0;Ya=i+32|0;h[Ya>>3]=0.0;Za=i+16|0;m=c[Za>>2]|0;if(!m){_a=1;return _a|0}Xa=i+20|0;Sa=j+5584|0;Ta=f+16|0;Ua=f+20|0;Va=f+8|0;Wa=f+36|0;Pa=(k|0)!=0;Qa=f+32|0;Ra=f+12|0;i=m;Oa=0;a:while(1){j=c[Xa>>2]|0;m=c[Sa>>2]|0;Ma=(c[j+(Oa*52|0)+8>>2]|0)-(c[j+(Oa*52|0)>>2]|0)|0;Na=j+(Oa*52|0)+16|0;n=c[Na>>2]|0;if(n){La=j+(Oa*52|0)+24|0;Ja=j+(Oa*52|0)+32|0;Ka=m+(Oa*1080|0)+20|0;Ga=m+(Oa*1080|0)+16|0;Ia=Pa&Oa>>>0>>0;Ha=k+(Oa<<3)|0;i=n;Fa=0;do{Da=c[La>>2]|0;Ea=Da+(Fa*136|0)+24|0;j=c[Ea>>2]|0;if(j){za=Da+(Fa*136|0)+16|0;Aa=Da+(Fa*136|0)+20|0;Ba=~Fa;Ca=Fa+-1|0;i=c[Aa>>2]|0;m=c[za>>2]|0;ya=0;do{xa=Da+(Fa*136|0)+28+(ya*36|0)+32|0;if(_(i,m)|0){ra=67108864/(~~+M(+(+g[xa>>2]*8192.0))|0)|0;sa=Da+(Fa*136|0)+28+(ya*36|0)+20|0;ta=Da+(Fa*136|0)+28+(ya*36|0)|0;ua=Da+(Fa*136|0)+28+(ya*36|0)+4|0;va=Da+(Fa*136|0)+28+(ya*36|0)+16|0;wa=((ra|0)<0)<<31>>31;qa=0;do{j=c[sa>>2]|0;oa=j+(qa*40|0)+16|0;pa=j+(qa*40|0)+20|0;if(_(c[pa>>2]|0,c[oa>>2]|0)|0){ma=j+(qa*40|0)+24|0;na=0;do{la=c[ma>>2]|0;n=c[la+(na*52|0)+12>>2]|0;i=n-(c[ta>>2]|0)|0;o=c[la+(na*52|0)+16>>2]|0;j=o-(c[ua>>2]|0)|0;m=c[va>>2]|0;if(m&1){ka=c[La>>2]|0;i=(c[ka+(Ca*136|0)+8>>2]|0)+i-(c[ka+(Ca*136|0)>>2]|0)|0}if(m&2){ka=c[La>>2]|0;j=(c[ka+(Ca*136|0)+12>>2]|0)+j-(c[ka+(Ca*136|0)+4>>2]|0)|0}if(!(_g(f,(c[la+(na*52|0)+20>>2]|0)-n|0,(c[la+(na*52|0)+24>>2]|0)-o|0)|0)){i=0;_a=173;break a}p=c[Ta>>2]|0;q=c[Ua>>2]|0;r=Ma-p|0;u=(_(j,Ma)|0)+i|0;v=c[Ja>>2]|0;c[Va>>2]=v+(u<<2);c[Wa>>2]=Ma;i=(q|0)==0;if((c[Ka>>2]|0)==1){if(!i){n=(p|0)==0;o=0;i=0;while(1){if(!n){j=0;m=i;while(1){ka=v+(m+u<<2)|0;c[ka>>2]=c[ka>>2]<<6;j=j+1|0;if((j|0)==(p|0))break;else m=m+1|0}i=p+i|0}o=o+1|0;if((o|0)==(q|0))break;else i=i+r|0}}}else if(!i){n=(p|0)==0;o=0;i=0;while(1){if(!n){j=0;m=i;while(1){ka=v+(m+u<<2)|0;ja=c[ka>>2]|0;ja=Zi(ja|0,((ja|0)<0)<<31>>31|0,ra|0,wa|0)|0;ja=Si(ja|0,C|0,4096,0)|0;ja=Ti(ja|0,C|0,18)|0;c[ka>>2]=ja;j=j+1|0;if((j|0)==(p|0))break;else m=m+1|0}i=p+i|0}o=o+1|0;if((o|0)==(q|0))break;else i=i+r|0}}ga=c[va>>2]|0;ha=(c[Na>>2]|0)+Ba|0;r=c[Ka>>2]|0;ia=+g[xa>>2];ja=c[Ga>>2]|0;ka=c[f>>2]|0;n=c[Ta>>2]|0;do if(!n)i=0;else{o=c[Ua>>2]|0;p=(o|0)==0;q=0;i=0;do{if(!p){j=c[Wa>>2]|0;m=0;do{fa=c[v+(u+((_(m,j)|0)+q)<<2)>>2]|0;fa=(fa|0)>-1?fa:0-fa|0;i=(i|0)>(fa|0)?i:fa;m=m+1|0}while((m|0)!=(o|0))}q=q+1|0}while((q|0)!=(n|0));if(!i){i=0;break}if((i|0)>1){j=i;i=0}else{i=-5;break}while(1){j=j>>1;if((j|0)<=1)break;else i=i+1|0}i=i+-4|0}while(0);ea=la+(na*52|0)+28|0;c[ea>>2]=i;i=i+-1|0;qh(ka);rh(ka,18,0,46);rh(ka,17,0,3);rh(ka,0,0,4);fa=la+(na*52|0)|0;kh(ka,c[fa>>2]|0);b:do if((i|0)>-1){ca=la+(na*52|0)+8|0;W=ja&1;da=(W|0)!=0;X=(r|0)==1;Y=(ja&4|0)==0;W=(W|0)==0;Z=(ja&2|0)==0;$=(ja&8|0)==0;aa=ga<<8;ba=(ja&32|0)==0;j=0;T=i;U=0.0;i=0;V=2;while(1){S=c[ca>>2]|0;I=da&(V>>>0<2?(T|0)<((c[ea>>2]|0)+-4|0):0);c:do switch(V|0){case 0:{G=1<>2]|0;if(!j){n=0;break c}H=(T|0)==0;o=c[Ta>>2]|0;m=o;n=0;F=0;do{E=F;F=F+4|0;if(!m)m=0;else{B=(E|0)==-4;D=E|3;m=o;A=0;do{if(!B){z=E;do{j=c[Ua>>2]|0;if(z>>>0>=j>>>0)break;do if($)j=0;else{if((z|0)==(D|0)){j=1;break}j=(z|0)==(j+-1|0)}while(0);p=z;z=z+1|0;u=(_(c[Qa>>2]|0,z)|0)+A|0;v=u+1|0;w=c[Ra>>2]|0;y=w+(v<<1)|0;p=(_(c[Wa>>2]|0,p)|0)+A|0;p=(c[Va>>2]|0)+(p<<2)|0;x=c[f>>2]|0;q=b[y>>1]|0;q=j?q&-1095:q;j=q&255;if((j|0)!=0&(q&20480|0)==0){m=c[p>>2]|0;m=(((m|0)<0?0-m|0:m)&G|0)!=0;o=m&1;r=x+100|0;c[r>>2]=x+24+(d[20267+(j|aa)>>0]<<2);if(I)oh(x,o);else lh(x,o);if(m){j=c[p>>2]|0;m=j>>>31;j=(j|0)<0?0-j|0:j;if(H)j=3708+((j&127)<<1)|0;else j=3452+((j>>>T&127)<<1)|0;n=(b[j>>1]|0)+n|0;j=q>>>4&255;c[r>>2]=x+24+(d[21291+j>>0]<<2);if(I)oh(x,m);else lh(x,d[21547+j>>0]^m);Q=c[Qa>>2]|0;R=w+(v-Q<<1)|0;P=w+(Q+v<<1)|0;O=w+(v+~Q<<1)|0;b[O>>1]=e[O>>1]|2;b[R>>1]=b[R>>1]|b[3436+(m<<1)>>1];R=u+2|0;O=w+(R-Q<<1)|0;b[O>>1]=e[O>>1]|4;O=w+(u<<1)|0;b[O>>1]=b[O>>1]|b[3436+((m|2)<<1)>>1];b[y>>1]=e[y>>1]|4096;O=w+(R<<1)|0;b[O>>1]=b[O>>1]|b[3436+((m|4)<<1)>>1];O=w+(Q+u<<1)|0;b[O>>1]=e[O>>1]|1;b[P>>1]=b[P>>1]|b[3436+((m|6)<<1)>>1];R=w+(Q+R<<1)|0;b[R>>1]=e[R>>1]|8}b[y>>1]=e[y>>1]|16384}}while(z>>>0>>0);m=c[Ta>>2]|0}A=A+1|0}while(A>>>0>>0);j=c[Ua>>2]|0;o=m}}while(F>>>0>>0);break}case 1:{A=1<>2]|0;if(!j){n=0;break c}B=(T|0)==0;o=c[Ta>>2]|0;m=o;n=0;z=0;do{y=z;z=z+4|0;if(!m)m=0;else{w=(y|0)==-4;x=y|3;m=o;v=0;do{u=v;v=v+1|0;if(!w){r=y;do{j=c[Ua>>2]|0;if(r>>>0>=j>>>0)break;do if($)j=0;else{if((r|0)==(x|0)){j=1;break}j=(r|0)==(j+-1|0)}while(0);m=r;r=r+1|0;p=(_(c[Qa>>2]|0,r)|0)+v|0;p=(c[Ra>>2]|0)+(p<<1)|0;q=c[f>>2]|0;o=b[p>>1]|0;o=j?o&-1095:o;if((o&20480|0)==4096){m=c[(c[Va>>2]|0)+((_(c[Wa>>2]|0,m)|0)+u<<2)>>2]|0;m=(m|0)<0?0-m|0:m;if(B)j=4220+((m&127)<<1)|0;else j=3964+((m>>>T&127)<<1)|0;n=(b[j>>1]|0)+n|0;j=(m&A|0)!=0&1;c[q+100>>2]=q+24+(((o&8192|0)!=0?16:(o&255|0)!=0?15:14)<<2);if(I)oh(q,j);else lh(q,j);b[p>>1]=e[p>>1]|8192}}while(r>>>0>>0);m=c[Ta>>2]|0}}while(v>>>0>>0);j=c[Ua>>2]|0;o=m}}while(z>>>0>>0);break}case 2:{L=c[f>>2]|0;N=1<>2]|0;if(!m)j=0;else{O=L+92|0;P=L+100|0;Q=L+96|0;R=(T|0)==0;n=c[Ta>>2]|0;j=0;K=0;while(1){if(!n){o=K+4|0;n=0}else{D=K|3;E=K|1;F=E+1|0;G=E+3|0;o=K+4|0;H=K+1|0;I=K+2|0;J=K+3|0;B=0;while(1){do if(D>>>0>>0){m=c[Qa>>2]|0;q=B+1|0;p=(_(m,E)|0)+q|0;n=c[Ra>>2]|0;p=b[n+(p<<1)>>1]|0;if($){A=b[n+((_(m,F)|0)+q<<1)>>1]|p;A=A|b[n+((_(m,D)|0)+q<<1)>>1];m=((A|b[n+((_(m,G)|0)+q<<1)>>1])&20735)==0&1}else{do if(!(p&20735)){if(b[n+((_(m,F)|0)+q<<1)>>1]&20735){m=1;break}if(b[n+((_(m,D)|0)+q<<1)>>1]&20735){m=1;break}m=(b[n+((_(m,G)|0)+q<<1)>>1]&20665)!=0}else m=1;while(0);m=m&1^1}if(!m){A=0;m=0;_a=109;break}m=c[Wa>>2]|0;n=c[Va>>2]|0;A=c[n+((_(m,K)|0)+B<<2)>>2]|0;do if(!(((A|0)<0?0-A|0:A)&N)){A=c[n+((_(m,H)|0)+B<<2)>>2]|0;if(((A|0)<0?0-A|0:A)&N){m=1;break}A=c[n+((_(m,I)|0)+B<<2)>>2]|0;if(((A|0)<0?0-A|0:A)&N){m=2;break}m=c[n+((_(m,J)|0)+B<<2)>>2]|0;m=(((m|0)<0?0-m|0:m)&N|0)==0?4:3}else m=0;while(0);c[P>>2]=O;lh(L,(m|0)!=4&1);if((m|0)==4){p=q;break}c[P>>2]=Q;lh(L,m>>>1);lh(L,m&1);A=1;_a=109}else{A=0;m=0;_a=109}while(0);if((_a|0)==109){_a=0;z=m+K|0;d:do if(z>>>0>>0){y=z;do{m=c[Ua>>2]|0;if(y>>>0>=m>>>0)break d;do if($)m=0;else{if((y|0)==(D|0)){m=1;break}m=(y|0)==(m+-1|0)}while(0);$a=y;y=y+1|0;r=(_(c[Qa>>2]|0,y)|0)+B|0;u=r+1|0;v=c[Ra>>2]|0;x=v+(u<<1)|0;n=(_(c[Wa>>2]|0,$a)|0)+B|0;n=(c[Va>>2]|0)+(n<<2)|0;w=c[f>>2]|0;p=b[x>>1]|0;q=m?p&-1095:p;do if(!(A&($a|0)==(z|0))){if(p&20480)break;c[w+100>>2]=w+24+(d[20267+(q&255|aa)>>0]<<2);$a=c[n>>2]|0;$a=((($a|0)<0?0-$a|0:$a)&N|0)!=0;lh(w,$a&1);if($a)_a=117}else _a=117;while(0);if((_a|0)==117){_a=0;n=c[n>>2]|0;m=(n|0)<0?0-n|0:n;if(R)m=3708+((m&127)<<1)|0;else m=3452+((m>>>T&127)<<1)|0;j=(b[m>>1]|0)+j|0;$a=q>>>4&255;c[w+100>>2]=w+24+(d[21291+$a>>0]<<2);p=n>>>31;lh(w,d[21547+$a>>0]^p);w=c[Qa>>2]|0;$a=v+(u-w<<1)|0;q=v+(w+u<<1)|0;u=v+(u+~w<<1)|0;b[u>>1]=e[u>>1]|2;b[$a>>1]=b[$a>>1]|b[3436+(p<<1)>>1];$a=r+2|0;u=v+($a-w<<1)|0;b[u>>1]=e[u>>1]|4;u=v+(r<<1)|0;b[u>>1]=b[u>>1]|b[3436+((p|2)<<1)>>1];b[x>>1]=e[x>>1]|4096;u=v+($a<<1)|0;b[u>>1]=b[u>>1]|b[3436+((p|4)<<1)>>1];u=v+(w+r<<1)|0;b[u>>1]=e[u>>1]|1;b[q>>1]=b[q>>1]|b[3436+((p|6)<<1)>>1];$a=v+(w+$a<<1)|0;b[$a>>1]=e[$a>>1]|8}b[x>>1]=e[x>>1]&49151}while(y>>>0>>0)}while(0);p=B+1|0}n=c[Ta>>2]|0;m=c[Ua>>2]|0;if(p>>>0>>0)B=p;else break}}if(o>>>0>>0)K=o;else break}}if(ba){n=j;break c}uh(ka);n=j;break}default:n=j}while(0);if(Ia)s=+h[Ha>>3];else s=1.0;if(X)t=+Ig(ha,ga);else t=+Lg(ha,ga);t=+(1<>3]=+h[Ya>>3]+t;do if(Y)_a=137;else{if((T|0)<1&(V|0)==2){_a=137;break}mh(ka);m=S+(i*24|0)+20|0;j=a[m>>0]|1;a[m>>0]=j;m=1}while(0);do if((_a|0)==137){j=(c[ea>>2]|0)+-4|0;if((V|0)!=0&(T|0)<(j|0))if(W)_a=141;else _a=140;else if(W|((V|0)!=2|(T|0)!=(j|0)))_a=141;else _a=140;if((_a|0)==140){_a=0;mh(ka);m=S+(i*24|0)+20|0;j=a[m>>0]|1;a[m>>0]=j;m=1;break}else if((_a|0)==141){_a=0;m=S+(i*24|0)+20|0;j=a[m>>0]&-2;a[m>>0]=j;m=3;break}}while(0);R=V+1|0;$a=(R|0)==3;V=$a?0:R;T=($a<<31>>31)+T|0;do if((T|0)>0&(j&1)!=0)if(da&(V>>>0<2?(T|0)<((c[ea>>2]|0)+-4|0):0)){nh(ka);break}else{sh(ka);break}while(0);h[S+(i*24|0)+8>>3]=U;c[S+(i*24|0)>>2]=(jh(ka)|0)+m;if(!Z)ph(ka);i=i+1|0;if((T|0)<=-1)break b;else j=n}}else i=0;while(0);do if(!(ja&16)){if(ja&1)break;mh(ka)}else th(ka);while(0);q=la+(na*52|0)+48|0;c[q>>2]=i;if(i){n=la+(na*52|0)+8|0;p=0;do{o=c[n>>2]|0;j=o+(p*24|0)|0;$a=c[j>>2]|0;if($a>>>0>(jh(ka)|0)>>>0){i=jh(ka)|0;c[j>>2]=i}else i=c[j>>2]|0;do if(i>>>0>1){m=i+-1|0;if((a[(c[fa>>2]|0)+m>>0]|0)!=-1)break;c[j>>2]=m;i=m}while(0);if(!p)j=0;else j=c[(c[n>>2]|0)+((p+-1|0)*24|0)>>2]|0;c[o+(p*24|0)+16>>2]=i-j;p=p+1|0}while(p>>>0<(c[q>>2]|0)>>>0)}na=na+1|0}while(na>>>0<(_(c[pa>>2]|0,c[oa>>2]|0)|0)>>>0);i=c[Aa>>2]|0;m=c[za>>2]|0}qa=qa+1|0}while(qa>>>0<(_(i,m)|0)>>>0);j=c[Ea>>2]|0}ya=ya+1|0}while(ya>>>0>>0);i=c[Na>>2]|0}Fa=Fa+1|0}while(Fa>>>0>>0);i=c[Za>>2]|0}Oa=Oa+1|0;if(Oa>>>0>=i>>>0){i=1;_a=173;break}}if((_a|0)==173)return i|0;return 0}function _g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=_(d,b)|0;if(!(c[a+40>>2]|0)){h=a+24|0;i=a+8|0;e=c[i>>2]|0;do if(g>>>0>(c[h>>2]|0)>>>0){Sc(e);f=g<<2;e=Rc(f)|0;c[i>>2]=e;if(!e){b=0;return b|0}else{c[h>>2]=g;break}}else f=g<<2;while(0);Qi(e|0,0,f|0)|0}g=b+2|0;c[a+32>>2]=g;g=_(d+2|0,g)|0;h=a+28|0;i=a+12|0;e=c[i>>2]|0;do if(g>>>0>(c[h>>2]|0)>>>0){Sc(e);f=g<<1;e=Rc(f)|0;c[i>>2]=e;if(!e){b=0;return b|0}else{c[h>>2]=g;break}}else f=g<<1;while(0);Qi(e|0,0,f|0)|0;c[a+16>>2]=b;c[a+20>>2]=d;b=1;return b|0}function $g(a,f,g,h,i){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=c[a>>2]|0;l=b[f>>1]|0;m=l&255;if(!((m|0)!=0&(l&20480|0)==0))return;k=j+100|0;c[k>>2]=j+24+(d[20267+(m|h<<8)>>0]<<2);if(wh(j)|0){h=l>>>4&255;c[k>>2]=j+24+(d[21291+h>>0]<<2);l=wh(j)|0;h=d[21547+h>>0]|0;m=h^l;c[g>>2]=(l|0)!=(h|0)?0-i|0:i;a=c[a+32>>2]|0;i=f+(0-a<<1)|0;h=f+(a<<1)|0;g=f+(~a<<1)|0;b[g>>1]=e[g>>1]|2;b[i>>1]=b[i>>1]|b[3436+(m<<1)>>1];i=f+(1-a<<1)|0;b[i>>1]=e[i>>1]|4;i=f+-2|0;b[i>>1]=b[i>>1]|b[3436+(m+2<<1)>>1];b[f>>1]=e[f>>1]|4096;i=f+2|0;b[i>>1]=b[i>>1]|b[3436+(m+4<<1)>>1];i=f+(a+-1<<1)|0;b[i>>1]=e[i>>1]|1;b[h>>1]=b[h>>1]|b[3436+(m+6<<1)>>1];a=f+(a+1<<1)|0;b[a>>1]=e[a>>1]|8}b[f>>1]=e[f>>1]|16384;return}function ah(a,f,g,h,i){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=c[a>>2]|0;l=b[f>>1]|0;if(l&20480){a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}k=j+100|0;c[k>>2]=j+24+(d[20267+(l&255|h<<8)>>0]<<2);if(!(wh(j)|0)){a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}h=l>>>4&255;c[k>>2]=j+24+(d[21291+h>>0]<<2);k=wh(j)|0;h=d[21547+h>>0]|0;l=h^k;c[g>>2]=(k|0)!=(h|0)?0-i|0:i;a=c[a+32>>2]|0;i=f+(0-a<<1)|0;h=f+(a<<1)|0;g=f+(~a<<1)|0;b[g>>1]=e[g>>1]|2;b[i>>1]=b[i>>1]|b[3436+(l<<1)>>1];i=f+(1-a<<1)|0;b[i>>1]=e[i>>1]|4;i=f+-2|0;b[i>>1]=b[i>>1]|b[3436+(l+2<<1)>>1];b[f>>1]=e[f>>1]|4096;i=f+2|0;b[i>>1]=b[i>>1]|b[3436+(l+4<<1)>>1];i=f+(a+-1<<1)|0;b[i>>1]=e[i>>1]|1;b[h>>1]=b[h>>1]|b[3436+(l+6<<1)>>1];a=f+(a+1<<1)|0;b[a>>1]=e[a>>1]|8;a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}function bh(a,e,f,g,h,j,k,l,m,n,o,p){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+16|0;H=I;c[H>>2]=0;q=c[a>>2]|0;D=c[a+4>>2]|0;a=c[D+76>>2]|0;F=a+(e*5640|0)|0;s=(b[D>>1]|0)==4?2:1;t=D+80|0;if(!(c[t>>2]|0))r=1;else r=c[q+16>>2]|0;G=(c[a+(e*5640|0)+420>>2]|0)+1|0;E=Lf(q,D,e,p)|0;if(!E){e=0;i=I;return e|0}c[j>>2]=0;a:do if(!p){if(r){a=0;b:while(1){p=0;o=E;q=0;while(1){Mf(E,D,e,q,a,n,0);if((c[o+80>>2]|0)==-1){a=9;break b}m=o+36|0;c:while(1){do if(!(Of(o)|0))break c;while((c[m>>2]|0)>>>0>=g>>>0);c[H>>2]=0;if(!(fh(e,f,F,o,h,H,k,l)|0)){a=13;break b}B=c[H>>2]|0;c[j>>2]=(c[j>>2]|0)+B;k=k-B|0;p=B+p|0;h=h+B|0}B=c[t>>2]|0;if((B|0)!=0&p>>>0>B>>>0){a=17;break b}q=q+1|0;if(q>>>0>>0)o=o+232|0;else break}a=a+1|0;if(a>>>0>=r>>>0)break a}if((a|0)==9){Kf(E,G);e=0;i=I;return e|0}else if((a|0)==13){Kf(E,G);e=0;i=I;return e|0}else if((a|0)==17){Kf(E,G);e=0;i=I;return e|0}}}else{Mf(E,D,e,o,m,n,p);z=E+(o*232|0)|0;if((c[E+(o*232|0)+80>>2]|0)==-1){Kf(E,G);e=0;i=I;return e|0}n=E+(o*232|0)+36|0;u=(l|0)==0;v=f+840|0;w=l+12|0;x=l+8|0;y=l+88|0;t=D+93|0;s=a+(e*5640|0)+5636|0;while(1){do if(!(Of(z)|0))break a;while((c[n>>2]|0)>>>0>=g>>>0);c[H>>2]=0;if(!(fh(e,f,F,z,h,H,k,l)|0))break;r=c[H>>2]|0;h=h+r|0;k=k-r|0;c[j>>2]=(c[j>>2]|0)+r;if(!u){if(!(c[w>>2]|0))a=c[x>>2]|0;else{q=c[y>>2]|0;a=c[x>>2]|0;o=c[q+(e*592|0)+548>>2]|0;p=o+(a<<5)|0;if(!a){m=(c[q+(e*592|0)+12>>2]|0)+1|0;q=((m|0)<0)<<31>>31;D=p;c[D>>2]=m;c[D+4>>2]=q}else{if((((d[s>>0]|0)>>>2|(d[t>>0]|0)>>>3)&1)!=0?(B=p,A=c[B>>2]|0,B=c[B+4>>2]|0,!((A|0)==0&(B|0)==0)):0){m=A;q=B}else{m=o+(a+-1<<5)+16|0;m=Si(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;q=C}D=p;c[D>>2]=m;c[D+4>>2]=q}p=Si(m|0,q|0,-1,-1)|0;m=C;r=Si(p|0,m|0,r|0,0)|0;D=o+(a<<5)+16|0;c[D>>2]=r;c[D+4>>2]=C;D=o+(a<<5)+8|0;r=D;r=Si(p|0,m|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[D>>2]=r;c[D+4>>2]=C}c[x>>2]=a+1}c[v>>2]=(c[v>>2]|0)+1}Kf(E,G);e=0;i=I;return e|0}while(0);Kf(E,G);e=1;i=I;return e|0}function ch(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0;$=i;i=i+112|0;W=$+64|0;X=$+32|0;S=$;R=$+96|0;Q=$+92|0;k=c[a>>2]|0;M=a+4|0;Z=c[M>>2]|0;h=c[Z+76>>2]|0;O=h+(b*5640|0)|0;P=h+(b*5640|0)+420|0;Y=(c[P>>2]|0)+1|0;Z=Jf(k,Z,b)|0;if(!Z){aa=0;i=$;return aa|0}N=k+16|0;L=h+(b*5640|0)+12|0;K=d+20|0;J=k+24|0;b=g;a=e;H=Z;I=0;a:while(1){if((c[H+80>>2]|0)==-1){aa=4;break}h=Pc(c[N>>2]<<2)|0;if(!h){aa=6;break}Qi(h|0,1,c[N>>2]<<2|0)|0;if(Of(H)|0){g=H+24|0;d=H+28|0;G=H+36|0;k=H+32|0;F=b;E=a;while(1){if((c[L>>2]|0)>>>0>(c[G>>2]|0)>>>0){b=c[g>>2]|0;a=c[K>>2]|0;if((c[d>>2]|0)>>>0<(c[a+(b*52|0)+20>>2]|0)>>>0){c[h+(b<<2)>>2]=0;D=c[M>>2]|0;c[Q>>2]=0;if(!(gh(D,a,O,H,R,E,Q,F,j)|0)){aa=45;break a}C=c[Q>>2]|0;if(!(c[R>>2]|0))a=C;else{B=F-C|0;z=E+C|0;c[Q>>2]=0;b=c[d>>2]|0;l=c[(c[K>>2]|0)+((c[g>>2]|0)*52|0)+24>>2]|0;x=l+(b*136|0)+24|0;a=c[x>>2]|0;b:do if(!a){a=z;aa=43}else{y=E+F|0;m=a;D=0;w=l+(b*136|0)+28|0;l=z;c:while(1){a=c[k>>2]|0;b=c[w+20>>2]|0;if(((c[w+8>>2]|0)!=(c[w>>2]|0)?(c[w+12>>2]|0)!=(c[w+4>>2]|0):0)?(V=_(c[b+(a*40|0)+20>>2]|0,c[b+(a*40|0)+16>>2]|0)|0,(V|0)!=0):0){A=0;a=c[b+(a*40|0)+24>>2]|0;p=l;while(1){u=a+40|0;if(!(c[u>>2]|0))b=p;else{v=a+44|0;b=c[v>>2]|0;do if(!b){o=c[a+4>>2]|0;c[v>>2]=1;c[a+36>>2]=0}else{l=b+-1|0;m=c[a+4>>2]|0;if((c[m+(l<<5)+8>>2]|0)!=(c[m+(l<<5)+20>>2]|0)){o=m+(l<<5)|0;break}c[v>>2]=b+1;o=m+(b<<5)|0}while(0);t=a+36|0;b=a+32|0;s=p;n=o+28|0;l=c[n>>2]|0;if((l+s|0)>>>0>>0|(p+l|0)>>>0>y>>>0){b=D;a=A;break c}m=c[t>>2]|0;s=p;r=o;while(1){o=l+m|0;if(o>>>0>>0){b=D;a=A;aa=29;break a}p=c[a>>2]|0;if(o>>>0>(c[b>>2]|0)>>>0){l=Tc(p,o)|0;if(!l){aa=32;break a}m=c[t>>2]|0;q=c[n>>2]|0;c[b>>2]=q+m;c[a>>2]=l;p=l;l=q}Ui(p+m|0,s|0,l|0)|0;l=r+8|0;m=c[l>>2]|0;if(!m){c[r>>2]=a;o=c[t>>2]|0;c[r+4>>2]=o}else o=c[t>>2]|0;p=c[n>>2]|0;q=s;s=s+p|0;n=c[r+24>>2]|0;m=n+m|0;c[l>>2]=m;l=c[u>>2]|0;c[u>>2]=l-n;c[r+12>>2]=m;m=p+o|0;c[t>>2]=m;o=r+16|0;c[o>>2]=(c[o>>2]|0)+p;if((l|0)==(n|0)){b=s;break}c[v>>2]=(c[v>>2]|0)+1;o=s;n=r+60|0;l=c[n>>2]|0;if((l+o|0)>>>0>>0?1:(q+(l+p)|0)>>>0>y>>>0){b=D;a=A;break c}else r=r+32|0}c[a+48>>2]=c[v>>2]}A=A+1|0;if(A>>>0>=V>>>0){a=b;break}else{a=a+56|0;p=b}}b=c[x>>2]|0}else{b=m;a=l}D=D+1|0;if(D>>>0>=b>>>0){aa=43;break b}else{m=b;w=w+36|0;l=a}}z=c[k>>2]|0;A=c[d>>2]|0;D=c[g>>2]|0;c[S>>2]=l;c[S+4>>2]=B;c[S+8>>2]=a;c[S+12>>2]=z;c[S+16>>2]=b;c[S+20>>2]=A;c[S+24>>2]=D;Ub(j,2,21803,S)|0;a=c[Q>>2]|0}while(0);if((aa|0)==43){aa=0;a=a-z|0;c[Q>>2]=a}a=a+C|0}l=c[g>>2]|0;C=c[d>>2]|0;b=(c[J>>2]|0)+(l*52|0)+36|0;D=c[b>>2]|0;c[b>>2]=C>>>0>D>>>0?C:D;b=a}else aa=47}else{a=c[K>>2]|0;aa=47}if((aa|0)==47){aa=0;D=c[M>>2]|0;c[Q>>2]=0;if(!(gh(D,a,O,H,R,E,Q,F,j)|0)){aa=69;break a}u=c[Q>>2]|0;if(!(c[R>>2]|0))a=u;else{l=F-u|0;w=c[d>>2]|0;x=c[g>>2]|0;a=c[(c[K>>2]|0)+(x*52|0)+24>>2]|0;c[Q>>2]=0;t=c[a+(w*136|0)+24>>2]|0;if(!t)a=0;else{v=c[k>>2]|0;b=0;s=a+(w*136|0)+28|0;while(1){m=c[s+20>>2]|0;if(((c[s+8>>2]|0)!=(c[s>>2]|0)?(c[s+12>>2]|0)!=(c[s+4>>2]|0):0)?(T=_(c[m+(v*40|0)+20>>2]|0,c[m+(v*40|0)+16>>2]|0)|0,(T|0)!=0):0){a=0;r=c[m+(v*40|0)+24>>2]|0;while(1){p=r+40|0;d:do if(c[p>>2]|0){q=r+44|0;m=c[q>>2]|0;do if(!m){o=c[r+4>>2]|0;c[q>>2]=1;c[r+36>>2]=0}else{n=m+-1|0;o=c[r+4>>2]|0;if((c[o+(n<<5)+8>>2]|0)!=(c[o+(n<<5)+20>>2]|0)){o=o+(n<<5)|0;break}c[q>>2]=m+1;o=o+(m<<5)|0}while(0);D=c[Q>>2]|0;m=c[o+28>>2]|0;n=m+D|0;if(n>>>0>>0|n>>>0>l>>>0){g=v;d=w;k=x;aa=65;break a}while(1){c[Q>>2]=n;D=c[o+24>>2]|0;C=o+8|0;c[C>>2]=(c[C>>2]|0)+D;C=c[p>>2]|0;c[p>>2]=C-D;if((C|0)==(D|0))break d;c[q>>2]=(c[q>>2]|0)+1;D=c[Q>>2]|0;m=c[o+60>>2]|0;n=m+D|0;if(n>>>0>>0|n>>>0>l>>>0){g=v;d=w;k=x;aa=65;break a}else o=o+32|0}}while(0);a=a+1|0;if(a>>>0>=T>>>0)break;else r=r+56|0}}b=b+1|0;if(b>>>0>=t>>>0)break;else s=s+36|0}a=c[Q>>2]|0}a=a+u|0}l=c[g>>2]|0;b=a}if((c[h+(l<<2)>>2]|0)!=0?(U=(c[J>>2]|0)+(l*52|0)+36|0,(c[U>>2]|0)==0):0)c[U>>2]=(c[(c[K>>2]|0)+(l*52|0)+20>>2]|0)+-1;a=E+b|0;b=F-b|0;if(!(Of(H)|0))break;else{F=b;E=a}}}Uc(h);I=I+1|0;if(I>>>0>(c[P>>2]|0)>>>0){h=a;aa=75;break}else H=H+232|0}if((aa|0)==4){Kf(Z,Y);aa=0;i=$;return aa|0}else if((aa|0)==6){Kf(Z,Y);aa=0;i=$;return aa|0}else if((aa|0)==29){f=c[k>>2]|0;e=c[d>>2]|0;W=c[g>>2]|0;c[X>>2]=l;c[X+4>>2]=m;c[X+8>>2]=~l;c[X+12>>2]=a;c[X+16>>2]=f;c[X+20>>2]=b;c[X+24>>2]=e;c[X+28>>2]=W;Ub(j,1,21888,X)|0;aa=45}else if((aa|0)==32){Uc(c[a>>2]|0);c[a>>2]=0;c[b>>2]=0;aa=45}else if((aa|0)==65){c[W>>2]=m;c[W+4>>2]=l;c[W+8>>2]=a;c[W+12>>2]=g;c[W+16>>2]=b;c[W+20>>2]=d;c[W+24>>2]=k;Ub(j,1,21987,W)|0;aa=69}else if((aa|0)==75){Kf(Z,Y);c[f>>2]=h-e;aa=1;i=$;return aa|0}if((aa|0)==45){Kf(Z,Y);Uc(h);aa=0;i=$;return aa|0}else if((aa|0)==69){Kf(Z,Y);Uc(h);aa=0;i=$;return aa|0}return 0}function dh(a,b){a=a|0;b=b|0;var d=0;d=Qc(1,8)|0;if(!d){a=0;return a|0}c[d>>2]=a;c[d+4>>2]=b;a=d;return a|0}function eh(a){a=a|0;if(!a)return;Uc(a);return}function fh(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0;s=c[f+28>>2]|0;J=c[f+32>>2]|0;K=c[f+36>>2]|0;r=c[(c[d+20>>2]|0)+((c[f+24>>2]|0)*52|0)+24>>2]|0;if(!(c[e>>2]&2))G=g;else{a[g>>0]=-1;a[g+1>>0]=-111;a[g+2>>0]=0;a[g+3>>0]=4;G=d+840|0;a[g+4>>0]=(c[G>>2]|0)>>>8;a[g+5>>0]=c[G>>2];j=j+-6|0;G=g+6|0}if((K|0)==0?(q=r+(s*136|0)+24|0,(c[q>>2]|0)!=0):0){o=r+(s*136|0)+28|0;p=0;while(1){f=c[o+20>>2]|0;kg(c[f+(J*40|0)+32>>2]|0);m=f+(J*40|0)+36|0;kg(c[m>>2]|0);n=_(c[f+(J*40|0)+20>>2]|0,c[f+(J*40|0)+16>>2]|0)|0;if(n){f=f+(J*40|0)+24|0;d=o+28|0;l=0;do{H=c[f>>2]|0;c[H+(l*52|0)+40>>2]=0;ng(c[m>>2]|0,l,(c[d>>2]|0)-(c[H+(l*52|0)+28>>2]|0)|0);l=l+1|0}while((l|0)!=(n|0))}p=p+1|0;if(p>>>0>=(c[q>>2]|0)>>>0)break;else o=o+36|0}}E=wg()|0;if(!E){i=0;return i|0}zg(E,G,j);Bg(E,1,1);F=r+(s*136|0)+28|0;H=r+(s*136|0)+24|0;if(c[H>>2]|0){A=K+1|0;C=F;D=0;while(1){n=c[C+20>>2]|0;B=_(c[n+(J*40|0)+20>>2]|0,c[n+(J*40|0)+16>>2]|0)|0;o=n+(J*40|0)+24|0;f=(B|0)==0;if(!f){d=n+(J*40|0)+32|0;l=c[o>>2]|0;m=0;while(1){if((c[l+40>>2]|0)==0?(c[(c[l+4>>2]|0)+(K*24|0)>>2]|0)!=0:0)ng(c[d>>2]|0,m,K);m=m+1|0;if((m|0)==(B|0))break;else l=l+52|0}if(!f){z=n+(J*40|0)+32|0;y=n+(J*40|0)+36|0;w=c[o>>2]|0;x=0;while(1){f=(c[w+4>>2]|0)+(K*24|0)|0;v=w+40|0;if(!(c[v>>2]|0))og(E,c[z>>2]|0,x,A);else Bg(E,(c[f>>2]|0)!=0&1,1);d=c[f>>2]|0;if(d){if(!(c[v>>2]|0)){c[w+32>>2]=3;og(E,c[y>>2]|0,x,999);d=c[f>>2]|0}a:do switch(d|0){case 1:{Bg(E,0,1);break}case 2:{Bg(E,2,2);break}default:{if(d>>>0<6){Bg(E,d+-3|12,4);break a}if(d>>>0<37){Bg(E,d+-6|480,9);break a}if(d>>>0<165)Bg(E,d+-37|65408,16)}}while(0);o=c[v>>2]|0;d=c[f>>2]|0;u=d+o|0;t=w+8|0;if(o>>>0>>0){s=w+32|0;q=o+-1+d|0;m=0;n=0;l=0;r=(c[t>>2]|0)+(o*24|0)|0;while(1){l=l+1|0;n=(c[r+16>>2]|0)+n|0;if((a[r+20>>0]&1)!=0|(o|0)==(q|0)){if((n|0)>1){d=0;do{n=n>>1;d=d+1|0}while((n|0)>1)}else d=0;p=c[s>>2]|0;if((l|0)>1){n=0;do{l=l>>1;n=n+1|0}while((l|0)>1);l=n}else l=0;n=d+1-p-l|0;m=(m|0)>(n|0)?m:n;n=0;l=0}o=o+1|0;if((o|0)==(u|0))break;else r=r+24|0}if((m|0)>0){d=m;while(1){Bg(E,1,1);if((d|0)>1)d=d+-1|0;else{d=n;break}}}else d=n}else{m=0;d=0;l=0}Bg(E,0,1);q=w+32|0;c[q>>2]=(c[q>>2]|0)+m;m=c[v>>2]|0;if(m>>>0>>0){p=(c[t>>2]|0)+(m*24|0)|0;while(1){l=l+1|0;n=(c[p+16>>2]|0)+d|0;if((a[p+20>>0]&1)==0?(m|0)!=((c[v>>2]|0)+-1+(c[f>>2]|0)|0):0)d=n;else{o=c[q>>2]|0;if((l|0)>1){d=0;do{l=l>>1;d=d+1|0}while((l|0)>1)}else d=0;Bg(E,n,d+o|0);d=0;l=0}m=m+1|0;if((m|0)==(u|0))break;else p=p+24|0}}}x=x+1|0;if((x|0)==(B|0))break;else w=w+52|0}}}D=D+1|0;if(D>>>0>=(c[H>>2]|0)>>>0)break;else C=C+36|0}}if(!(Dg(E)|0)){xg(E);i=0;return i|0}d=yg(E)|0;f=G+d|0;j=j-d|0;xg(E);if(c[e>>2]&4){a[f>>0]=-1;a[G+(d+1)>>0]=-110;j=j+-2|0;f=G+(d+2)|0}t=(k|0)!=0;if(t?(c[k+12>>2]|0)!=0:0){G=f-g|0;e=(c[(c[k+88>>2]|0)+(b*592|0)+548>>2]|0)+(c[k+8>>2]<<5)+8|0;c[e>>2]=G;c[e+4>>2]=((G|0)<0)<<31>>31}d=c[H>>2]|0;b:do if(d){u=k+12|0;v=k+8|0;w=k+88|0;r=F;s=0;c:while(1){l=c[r+20>>2]|0;q=_(c[l+(J*40|0)+20>>2]|0,c[l+(J*40|0)+16>>2]|0)|0;l=c[l+(J*40|0)+24>>2]|0;if(q){if(t){p=0;while(1){o=c[l+4>>2]|0;d=o+(K*24|0)|0;if(c[d>>2]|0){m=o+(K*24|0)+4|0;n=c[m>>2]|0;if(n>>>0>j>>>0){f=0;j=81;break c}Ui(f|0,c[o+(K*24|0)+16>>2]|0,n|0)|0;e=l+40|0;c[e>>2]=(c[e>>2]|0)+(c[d>>2]|0);e=c[m>>2]|0;f=f+e|0;j=j-e|0;if((c[u>>2]|0)!=0?(e=(c[(c[w>>2]|0)+(b*592|0)+548>>2]|0)+(c[v>>2]<<5)+24|0,I=+h[o+(K*24|0)+8>>3]+ +h[e>>3],h[e>>3]=I,+h[k>>3]>3]=I}p=p+1|0;if(p>>>0>=q>>>0)break;else l=l+52|0}}else{p=0;while(1){d=c[l+4>>2]|0;m=d+(K*24|0)|0;if(c[m>>2]|0){n=d+(K*24|0)+4|0;o=c[n>>2]|0;if(o>>>0>j>>>0){f=0;j=81;break c}Ui(f|0,c[d+(K*24|0)+16>>2]|0,o|0)|0;e=l+40|0;c[e>>2]=(c[e>>2]|0)+(c[m>>2]|0);e=c[n>>2]|0;j=j-e|0;f=f+e|0}p=p+1|0;if(p>>>0>=q>>>0)break;else l=l+52|0}}d=c[H>>2]|0}s=s+1|0;if(s>>>0>=d>>>0)break b;else r=r+36|0}if((j|0)==81)return f|0}while(0);c[i>>2]=f-g+(c[i>>2]|0);i=1;return i|0}function gh(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+64|0;L=N+40|0;K=N+32|0;x=N+24|0;w=N+16|0;u=N+8|0;t=N;v=N+48|0;M=N+44|0;c[M>>2]=h;z=c[f+28>>2]|0;J=f+24|0;y=c[d+((c[J>>2]|0)*52|0)+24>>2]|0;H=f+36|0;if((c[H>>2]|0)==0?(s=y+(z*136|0)+24|0,m=c[s>>2]|0,(m|0)!=0):0){r=f+32|0;p=0;q=y+(z*136|0)+28|0;while(1){d=c[r>>2]|0;n=c[q+20>>2]|0;if((c[q+8>>2]|0)!=(c[q>>2]|0)?(c[q+12>>2]|0)!=(c[q+4>>2]|0):0){kg(c[n+(d*40|0)+32>>2]|0);kg(c[n+(d*40|0)+36>>2]|0);m=_(c[n+(d*40|0)+20>>2]|0,c[n+(d*40|0)+16>>2]|0)|0;if(m){o=0;d=c[n+(d*40|0)+24>>2]|0;while(1){c[d+44>>2]=0;c[d+48>>2]=0;o=o+1|0;if((o|0)==(m|0))break;else d=d+56|0}}m=c[s>>2]|0}p=p+1|0;if(p>>>0>=m>>>0)break;else q=q+36|0}}do if(c[e>>2]&2){if(k>>>0<6){Ub(l,2,22072,t)|0;break}d=c[M>>2]|0;if((a[d>>0]|0)==-1?(a[d+1>>0]|0)==-111:0){c[M>>2]=d+6;break}Ub(l,2,22114,u)|0}while(0);G=wg()|0;if(!G){h=0;i=N;return h|0}do if(!(a[b+96>>0]&1))if(!(a[e+5636>>0]&2)){E=c[M>>2]|0;c[v>>2]=h+k-E;F=M;break}else{F=e+5168|0;E=c[F>>2]|0;v=e+5180|0;break}else{F=b+40|0;E=c[F>>2]|0;v=b+44|0}while(0);Ag(G,E,c[v>>2]|0);if(!(Cg(G,1)|0)){Eg(G)|0;m=yg(G)|0;d=E+m|0;xg(G);do if(c[e>>2]&4){if(((c[v>>2]|0)-d+(c[F>>2]|0)|0)>>>0<2){Ub(l,2,22135,w)|0;break}if((a[d>>0]|0)==-1?(a[E+(m+1)>>0]|0)==-110:0){d=E+(m+2)|0;break}Ub(l,2,22177,x)|0}while(0);c[v>>2]=(c[v>>2]|0)+((c[F>>2]|0)-d);c[F>>2]=d;c[g>>2]=0;c[j>>2]=(c[M>>2]|0)-h;h=1;i=N;return h|0}D=y+(z*136|0)+24|0;d=c[D>>2]|0;a:do if(d){B=f+32|0;C=e+5584|0;A=0;y=y+(z*136|0)+28|0;b:while(1){m=c[B>>2]|0;n=c[y+20>>2]|0;if(((c[y+8>>2]|0)!=(c[y>>2]|0)?(c[y+12>>2]|0)!=(c[y+4>>2]|0):0)?(I=_(c[n+(m*40|0)+20>>2]|0,c[n+(m*40|0)+16>>2]|0)|0,(I|0)!=0):0){b=n+(m*40|0)+32|0;f=n+(m*40|0)+36|0;w=y+28|0;x=0;k=c[n+(m*40|0)+24>>2]|0;while(1){m=k+44|0;if(!(c[m>>2]|0))d=pg(G,c[b>>2]|0,x,(c[H>>2]|0)+1|0)|0;else d=Cg(G,1)|0;c:do if(!d)c[k+40>>2]=0;else{if(!(c[m>>2]|0)){d=0;while(1)if(!(pg(G,c[f>>2]|0,x,d)|0))d=d+1|0;else break;c[k+24>>2]=1-d+(c[w>>2]|0);c[k+28>>2]=3}do if(Cg(G,1)|0)if(Cg(G,1)|0){d=Cg(G,2)|0;if((d|0)!=3){d=d+3|0;break}d=Cg(G,5)|0;if((d|0)==31){d=(Cg(G,7)|0)+37|0;break}else{d=d+6|0;break}}else d=2;else d=1;while(0);t=k+40|0;c[t>>2]=d;d=0;while(1)if(!(Cg(G,1)|0))break;else d=d+1|0;u=k+28|0;c[u>>2]=(c[u>>2]|0)+d;m=c[m>>2]|0;do if(!m){n=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;d=k+52|0;if(!(c[d>>2]|0)){c[d>>2]=10;o=k+4|0;m=Tc(c[o>>2]|0,320)|0;if(!m){m=d;n=o;d=o;o=66;break b}c[o>>2]=m}else m=c[k+4>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m+24>>2]=0;c[m+28>>2]=0;if(n&4){c[m+20>>2]=1;m=0;break}m=m+20|0;if(!(n&1)){c[m>>2]=109;m=0;break}else{c[m>>2]=10;m=0;break}}else{q=m+-1|0;r=k+4|0;n=c[r>>2]|0;if((c[n+(q<<5)+8>>2]|0)!=(c[n+(q<<5)+20>>2]|0)){d=k+52|0;m=q;break}p=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;d=k+52|0;o=c[d>>2]|0;if((m+1|0)>>>0>o>>>0){z=o+10|0;c[d>>2]=z;n=Tc(n,z<<5)|0;if(!n){n=r;m=d;d=r;o=77;break b}c[r>>2]=n}z=n+(m<<5)|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;if(p&4){c[n+(m<<5)+20>>2]=1;break}if(!(p&1)){c[n+(m<<5)+20>>2]=109;break}else{z=c[n+(q<<5)+20>>2]|0;c[n+(m<<5)+20>>2]=(z|0)==1|(z|0)==10?2:1;break}}while(0);s=k+4|0;q=c[t>>2]|0;while(1){p=c[s>>2]|0;n=(c[p+(m<<5)+20>>2]|0)-(c[p+(m<<5)+8>>2]|0)|0;n=(n|0)<(q|0)?n:q;c[p+(m<<5)+24>>2]=n;p=c[u>>2]|0;if(n>>>0>1){o=0;while(1){o=o+1|0;if(n>>>0>3)n=n>>>1;else{n=o;break}}}else n=0;p=Cg(G,n+p|0)|0;n=c[s>>2]|0;c[n+(m<<5)+28>>2]=p;p=q-(c[n+(m<<5)+24>>2]|0)|0;if((p|0)<=0)break c;q=m+1|0;r=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;o=c[d>>2]|0;if((m+2|0)>>>0>o>>>0){z=o+10|0;c[d>>2]=z;n=Tc(n,z<<5)|0;if(!n){n=s;m=s;o=90;break b}c[s>>2]=n}z=n+(q<<5)|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;if(r&4){c[n+(q<<5)+20>>2]=1;m=q;q=p;continue}if(!(r&1)){c[n+(q<<5)+20>>2]=109;m=q;q=p;continue}else{z=c[n+(m<<5)+20>>2]|0;c[n+(q<<5)+20>>2]=(z|0)==1|(z|0)==10?2:1;m=q;q=p;continue}}}while(0);x=x+1|0;if(x>>>0>=I>>>0)break;else k=k+56|0}d=c[D>>2]|0}A=A+1|0;if(A>>>0>=d>>>0)break a;else y=y+36|0}if((o|0)==66){Uc(c[d>>2]|0);c[n>>2]=0;c[m>>2]=0;xg(G);h=0;i=N;return h|0}else if((o|0)==77){Uc(c[d>>2]|0);c[n>>2]=0;c[m>>2]=0;xg(G);h=0;i=N;return h|0}else if((o|0)==90){Uc(c[m>>2]|0);c[n>>2]=0;c[d>>2]=0;xg(G);h=0;i=N;return h|0}}while(0);if(!(Eg(G)|0)){xg(G);h=0;i=N;return h|0}m=yg(G)|0;d=E+m|0;xg(G);do if(c[e>>2]&4){if(((c[v>>2]|0)-d+(c[F>>2]|0)|0)>>>0<2){Ub(l,2,22135,K)|0;break}if((a[d>>0]|0)==-1?(a[E+(m+1)>>0]|0)==-110:0){d=E+(m+2)|0;break}Ub(l,2,22177,L)|0}while(0);c[v>>2]=(c[v>>2]|0)+((c[F>>2]|0)-d);c[F>>2]=d;c[g>>2]=1;c[j>>2]=(c[M>>2]|0)-h;h=1;i=N;return h|0}function hh(){return Pc(104)|0}function ih(a){a=a|0;if(!a)return;Uc(a);return}function jh(a){a=a|0;return (c[a+12>>2]|0)-(c[a+16>>2]|0)|0}function kh(b,d){b=b|0;d=d|0;var e=0,f=0;c[b+100>>2]=b+24;c[b+4>>2]=32768;c[b>>2]=0;f=d+-1|0;c[b+12>>2]=f;e=b+8|0;c[e>>2]=12;c[e>>2]=(a[f>>0]|0)==-1?13:12;c[b+16>>2]=d;return}function lh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=c[b+100>>2]|0;h=c[g>>2]|0;j=(c[h+4>>2]|0)==(d|0);f=c[h>>2]|0;k=b+4|0;d=(c[k>>2]|0)-f|0;c[k>>2]=d;if(!j){if(d>>>0>>0){j=(c[b>>2]|0)+f|0;c[b>>2]=j;f=d;d=j;j=b}else{c[k>>2]=f;d=c[b>>2]|0;j=b}c[g>>2]=c[h+12>>2];i=b+8|0;h=b+12|0;g=d;d=c[i>>2]|0;while(1){f=f<<1;c[k>>2]=f;e=g<<1;c[j>>2]=e;d=d+-1|0;c[i>>2]=d;if(!d){d=c[h>>2]|0;f=a[d>>0]|0;do if(f<<24>>24!=-1){if(!(e&134217728)){e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>18;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}a[d>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){b=c[j>>2]&134217727;c[j>>2]=b;e=d+1|0;c[h>>2]=e;a[e>>0]=b>>>20;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[h>>2]=e;a[e>>0]=(c[j>>2]|0)>>>19;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}}else{e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>19;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7}while(0);f=c[k>>2]|0}if(!(f&32768))g=e;else break}return}if(d&32768){c[b>>2]=(c[b>>2]|0)+f;return}if(d>>>0>>0){c[k>>2]=f;e=c[b>>2]|0;j=b}else{e=(c[b>>2]|0)+f|0;c[b>>2]=e;f=d;j=b}c[g>>2]=c[h+8>>2];i=b+8|0;h=b+12|0;g=e;d=c[i>>2]|0;while(1){f=f<<1;c[k>>2]=f;e=g<<1;c[j>>2]=e;d=d+-1|0;c[i>>2]=d;if(!d){d=c[h>>2]|0;f=a[d>>0]|0;do if(f<<24>>24!=-1){if(!(e&134217728)){e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>18;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}a[d>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){b=c[j>>2]&134217727;c[j>>2]=b;e=d+1|0;c[h>>2]=e;a[e>>0]=b>>>20;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[h>>2]=e;a[e>>0]=(c[j>>2]|0)>>>19;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}}else{e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>19;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7}while(0);f=c[k>>2]|0}if(!(f&32768))g=e;else break}return}function mh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[b>>2]|0;f=h|65535;g=b+8|0;f=(f>>>0<((c[b+4>>2]|0)+h|0)>>>0?f:f+-32768|0)<>2];c[b>>2]=f;h=b+12|0;d=c[h>>2]|0;e=a[d>>0]|0;do if(e<<24>>24!=-1){if(!(f&134217728)){d=d+1|0;c[h>>2]=d;a[d>>0]=f>>>19;d=c[b>>2]&524287;c[b>>2]=d;c[g>>2]=8;e=8;break}a[d>>0]=e+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){e=c[b>>2]&134217727;c[b>>2]=e;d=d+1|0;c[h>>2]=d;a[d>>0]=e>>>20;d=c[b>>2]&1048575;c[b>>2]=d;c[g>>2]=7;e=7;break}else{d=d+1|0;c[h>>2]=d;a[d>>0]=(c[b>>2]|0)>>>19;d=c[b>>2]&524287;c[b>>2]=d;c[g>>2]=8;e=8;break}}else{d=d+1|0;c[h>>2]=d;a[d>>0]=f>>>20;d=c[b>>2]&1048575;c[b>>2]=d;c[g>>2]=7;e=7}while(0);d=d<>2]=d;e=c[h>>2]|0;f=a[e>>0]|0;do if(f<<24>>24!=-1){if(!(d&134217728)){f=e+1|0;c[h>>2]=f;a[f>>0]=d>>>19;c[b>>2]=c[b>>2]&524287;c[g>>2]=8;break}a[e>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){e=c[b>>2]&134217727;c[b>>2]=e;f=d+1|0;c[h>>2]=f;a[f>>0]=e>>>20;c[b>>2]=c[b>>2]&1048575;c[g>>2]=7;break}else{f=d+1|0;c[h>>2]=f;a[f>>0]=(c[b>>2]|0)>>>19;c[b>>2]=c[b>>2]&524287;c[g>>2]=8;break}}else{f=e+1|0;c[h>>2]=f;a[f>>0]=d>>>20;c[b>>2]=c[b>>2]&1048575;c[g>>2]=7}while(0);d=c[h>>2]|0;if((a[d>>0]|0)==-1)return;c[h>>2]=d+1;return}function nh(a){a=a|0;c[a>>2]=0;c[a+8>>2]=8;return}function oh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+8|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;d=(d<>2]|0)|0;c[b>>2]=d;if(f)return;f=b+12|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;a[g>>0]=d;c[e>>2]=8;c[e>>2]=(a[c[f>>2]>>0]|0)==-1?7:8;c[b>>2]=0;return}function ph(a){a=a|0;c[a+28>>2]=1156;c[a+32>>2]=1156;c[a+36>>2]=1156;c[a+40>>2]=1156;c[a+44>>2]=1156;c[a+48>>2]=1156;c[a+52>>2]=1156;c[a+56>>2]=1156;c[a+60>>2]=1156;c[a+64>>2]=1156;c[a+68>>2]=1156;c[a+72>>2]=1156;c[a+76>>2]=1156;c[a+80>>2]=1156;c[a+84>>2]=1156;c[a+88>>2]=1156;c[a+96>>2]=2628;c[a+92>>2]=1252;c[a+24>>2]=1284;return}function qh(a){a=a|0;c[a+24>>2]=1156;c[a+28>>2]=1156;c[a+32>>2]=1156;c[a+36>>2]=1156;c[a+40>>2]=1156;c[a+44>>2]=1156;c[a+48>>2]=1156;c[a+52>>2]=1156;c[a+56>>2]=1156;c[a+60>>2]=1156;c[a+64>>2]=1156;c[a+68>>2]=1156;c[a+72>>2]=1156;c[a+76>>2]=1156;c[a+80>>2]=1156;c[a+84>>2]=1156;c[a+88>>2]=1156;c[a+92>>2]=1156;c[a+96>>2]=1156;return}function rh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+24+(b<<2)>>2]=1156+((e<<1)+d<<4);return}function sh(b){b=b|0;var d=0,e=0;c[b+100>>2]=b+24;c[b+4>>2]=32768;c[b>>2]=0;d=b+8|0;c[d>>2]=12;e=b+12|0;b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if((a[b>>0]|0)!=-1)return;c[d>>2]=13;return}function th(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=b+8|0;d=c[i>>2]|0;f=12-d|0;if((f|0)>0){g=b+12|0;e=c[b>>2]|0;do{d=e<>2]=d;c[i>>2]=0;e=c[g>>2]|0;h=a[e>>0]|0;do if(h<<24>>24!=-1){if(!(d&134217728)){e=e+1|0;c[g>>2]=e;a[e>>0]=d>>>19;e=c[b>>2]&524287;c[b>>2]=e;c[i>>2]=8;d=8;break}a[e>>0]=h+1<<24>>24;d=c[g>>2]|0;if((a[d>>0]|0)==-1){h=c[b>>2]&134217727;c[b>>2]=h;e=d+1|0;c[g>>2]=e;a[e>>0]=h>>>20;e=c[b>>2]&1048575;c[b>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[g>>2]=e;a[e>>0]=(c[b>>2]|0)>>>19;e=c[b>>2]&524287;c[b>>2]=e;c[i>>2]=8;d=8;break}}else{e=e+1|0;c[g>>2]=e;a[e>>0]=d>>>20;e=c[b>>2]&1048575;c[b>>2]=e;c[i>>2]=7;d=7}while(0);f=f-d|0}while((f|0)>0)}else g=b+12|0;d=c[g>>2]|0;e=a[d>>0]|0;if(e<<24>>24==-1)return;f=c[b>>2]|0;if(!(f&134217728)){h=d+1|0;c[g>>2]=h;a[h>>0]=f>>>19;c[b>>2]=c[b>>2]&524287;c[i>>2]=8;return}a[d>>0]=e+1<<24>>24;d=c[g>>2]|0;if((a[d>>0]|0)==-1){f=c[b>>2]&134217727;c[b>>2]=f;h=d+1|0;c[g>>2]=h;a[h>>0]=f>>>20;c[b>>2]=c[b>>2]&1048575;c[i>>2]=7;return}else{h=d+1|0;c[g>>2]=h;a[h>>0]=(c[b>>2]|0)>>>19;c[b>>2]=c[b>>2]&524287;c[i>>2]=8;return}}function uh(a){a=a|0;c[a+100>>2]=a+96;lh(a,1);lh(a,0);lh(a,1);lh(a,0);return}function vh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[b+100>>2]=b+24;c[b+16>>2]=e;c[b+20>>2]=e+f;h=b+12|0;c[h>>2]=e;do if(f){i=d[e>>0]<<16;c[b>>2]=i;g=e+1|0;if((f|0)==1)f=255;else f=d[g>>0]|0;if((a[e>>0]|0)!=-1){c[h>>2]=g;g=i|f<<8;c[b>>2]=g;f=b+8|0;c[f>>2]=8;h=b;i=1;break}if(f>>>0>143){g=i|65280;c[b>>2]=g;f=b+8|0;c[f>>2]=8;h=b;i=1;break}else{c[h>>2]=g;g=i+(f<<9)|0;c[b>>2]=g;f=b+8|0;c[f>>2]=7;h=b;i=0;break}}else{c[b>>2]=16776960;f=b+8|0;c[f>>2]=8;g=16776960;h=b;i=1}while(0);c[h>>2]=g<<7;c[f>>2]=i;c[b+4>>2]=32768;return 1}function wh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=c[b+100>>2]|0;g=c[f>>2]|0;j=c[g>>2]|0;n=b+4|0;i=(c[n>>2]|0)-j|0;c[n>>2]=i;h=c[b>>2]|0;if(h>>>16>>>0>>0){c[n>>2]=j;e=c[g+4>>2]|0;if(i>>>0>>0)c[f>>2]=c[g+8>>2];else{c[f>>2]=c[g+12>>2];e=1-e|0}k=b+8|0;l=b+12|0;m=b+20|0;g=c[k>>2]|0;f=h;do{do if(!g){h=c[l>>2]|0;g=c[m>>2]|0;if((h|0)==(g|0)){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}i=h+1|0;if((i|0)==(g|0))g=255;else g=d[i>>0]|0;if((a[h>>0]|0)!=-1){c[l>>2]=i;f=f+(g<<8)|0;c[b>>2]=f;c[k>>2]=8;g=8;break}if(g>>>0>143){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}else{c[l>>2]=i;f=f+(g<<9)|0;c[b>>2]=f;c[k>>2]=7;g=7;break}}while(0);j=j<<1;c[n>>2]=j;f=f<<1;c[b>>2]=f;g=g+-1|0;c[k>>2]=g}while(j>>>0<32768);return e|0}h=h-(j<<16)|0;c[b>>2]=h;if(i&32768){b=c[g+4>>2]|0;return b|0}e=c[g+4>>2]|0;if(j>>>0>i>>>0){c[f>>2]=c[g+12>>2];e=1-e|0}else c[f>>2]=c[g+8>>2];k=b+8|0;l=b+12|0;m=b+20|0;g=c[k>>2]|0;f=h;j=i;do{do if(!g){h=c[l>>2]|0;g=c[m>>2]|0;if((h|0)==(g|0)){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}i=h+1|0;if((i|0)==(g|0))g=255;else g=d[i>>0]|0;if((a[h>>0]|0)!=-1){c[l>>2]=i;f=f+(g<<8)|0;c[b>>2]=f;c[k>>2]=8;g=8;break}if(g>>>0>143){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}else{c[l>>2]=i;f=f+(g<<9)|0;c[b>>2]=f;c[k>>2]=7;g=7;break}}while(0);j=j<<1;c[n>>2]=j;f=f<<1;c[b>>2]=f;g=g+-1|0;c[k>>2]=g}while(j>>>0<32768);return e|0}function xh(){return Pc(28)|0}function yh(a){a=a|0;if(!a)return;Uc(a);return}function zh(b,d,e){b=b|0;d=d|0;e=e|0;c[b+20>>2]=d;c[b+8>>2]=e;c[b+12>>2]=0;a[b>>0]=0;c[b+4>>2]=0;return}function Ah(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=b+4|0;d=c[g>>2]|0;do if(!d){c[g>>2]=8;e=b+12|0;f=c[e>>2]|0;if((f|0)==(c[b+8>>2]|0)){a[b>>0]=-1;d=8;e=-1;break}if((a[b>>0]|0)==-1){c[g>>2]=7;d=7}else d=8;h=a[(c[b+20>>2]|0)+f>>0]|0;a[b>>0]=h;c[e>>2]=f+1;e=h}else e=a[b>>0]|0;while(0);h=d+-1|0;c[g>>2]=h;return (e&255)>>>h&1|0}function Bh(){var a=0;if(!(c[665]|0))a=2712;else a=c[(Ca()|0)+60>>2]|0;return a|0}function Ch(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[22198+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=22286;e=5;break}}if((e|0)==2)if(!c)b=22286;else{b=22286;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function Dh(a){a=a|0;if(a>>>0>4294963200){c[(Bh()|0)>>2]=0-a;a=-1}return a|0}function Eh(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Ti(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Eh(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+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return +a}function Fh(a,b){a=+a;b=b|0;return +(+Eh(a,b))}function Gh(a,b){a=+a;b=b|0;return +(+Jh(a,b))}function Hh(a){a=+a;return ~~+Ih(a)|0}function Ih(a){a=+a;var b=0;b=(g[k>>2]=a,c[k>>2]|0);if((b&2130706432)>>>0<=1249902592){b=(b|0)<0;a=b?a+-8388608.0+8388608.0:a+8388608.0+-8388608.0;if(a==0.0)a=b?-0.0:0.0}return +a}function Jh(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Ri(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Kh(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;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[(Bh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Lh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Kh(a,b,0)|0;return a|0}function Mh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(ri(24090,f<<24>>24,4)|0){e=Fi(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(ti(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(ti(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ra(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ra(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ra(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Fa(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=60;c[e+36>>2]=61;c[e+40>>2]=3;c[e+12>>2]=1;if(!(c[666]|0))c[e+76>>2]=-1;Ia(2688);f=c[671]|0;c[e+56>>2]=f;if(f)c[f+52>>2]=e;c[671]=e;Ga(2688)}}else{c[(Bh()|0)>>2]=22;e=0}i=o;return e|0}function Nh(b){b=b|0;var c=0,d=0,e=0;d=(ti(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(ti(b,120)|0)==0;d=e?d:d|128;b=(ti(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Oh(a){a=a|0;return 0}function Ph(a){a=a|0;return}function Qh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Xh(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Ra[c[b+36>>2]&63](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Rh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=Dh(Ja(6,d|0)|0)|0;i=b;return a|0}function Sh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[665]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Dh(Na(145,h|0)|0)|0}else{ua(5,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Dh(Na(145,g|0)|0)|0;qa(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((Dh(Ma(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[665]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Dh(Oa(146,n|0)|0)|0}else{ua(6,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Dh(Oa(146,m|0)|0)|0;qa(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Vh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=61;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Fa(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Uh(b,d,e)|0;i=g;return f|0}function Wh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Ra[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Xh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;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 Yh(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Ia(2688);d=c[a+52>>2]|0;b=a+56|0;if(d)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b)c[b+52>>2]=d;if((c[671]|0)==(a|0))c[671]=b;Ga(2688)}b=Zh(a)|0;b=Wa[c[a+12>>2]&15](a)|0|b;d=c[a+92>>2]|0;if(d)Gi(d);if(!e)Gi(a);return b|0}function Zh(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=zi(a)|0;break}d=(Oh(a)|0)==0;b=zi(a)|0;if(!d)Ph(a)}else{if(!(c[677]|0))b=0;else b=Zh(c[677]|0)|0;Ia(2688);a=c[671]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Oh(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=zi(a)|0|b;if(d)Ph(a);a=c[a+56>>2]|0}while((a|0)!=0);Ga(2688)}while(0);return b|0}function _h(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(ri(24090,a[d>>0]|0,4)|0){h=Nh(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Dh(Ka(5,e|0)|0)|0;if((e|0)>=0){b=Mh(e,d)|0;if(!b){c[f>>2]=e;Ja(6,f|0)|0;b=0}}else b=0}else{c[(Bh()|0)>>2]=22;b=0}i=g;return b|0}function $h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=oi(a,b,f)|0;i=e;return d|0}function ai(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Oh(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Qh(d,b)|0;Ph(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Qh(d,b)|0}while(0);return e|0}function bi(a,b){a=a|0;b=b|0;return (ki(a,wi(a)|0,1,b)|0)+-1|0}function ci(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Oh(f)|0;else k=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:j;Ui(b|0,h|0,i|0)|0;c[g>>2]=h+i;b=b+i|0;g=j-i|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(Wh(f)|0){e=h;break}g=Ra[c[i>>2]&63](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k)Ph(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)Ph(f);return e|0}function di(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;f=a+20|0;e=a+28|0;if((c[f>>2]|0)>>>0>(c[e>>2]|0)>>>0?(Ra[c[a+36>>2]&63](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[e>>2]=0;c[f>>2]=0;if((Ra[c[a+40>>2]&63](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Oh(a)|0)==0;b=di(a,b,d)|0;if(!e)Ph(a)}else b=di(a,b,d)|0;return b|0}function fi(a,b,c){a=a|0;b=b|0;c=c|0;return ei(a,b,c)|0}function gi(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Ra[c[a+40>>2]&63](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function hi(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Oh(a)|0)==0;a=gi(a)|0}else a=gi(a)|0;return a|0}function ii(a){a=a|0;return hi(a)|0}function ji(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Xh(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=Ra[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Ra[c[e+36>>2]&63](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);Ui(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}while(0);return f|0}function ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=_(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Oh(e)|0)==0;a=ji(a,f,e)|0;if(!g)Ph(e)}else a=ji(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function li(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=oi(c[676]|0,a,e)|0;i=d;return b|0}function mi(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[676]|0;if((c[f+76>>2]|0)>-1)g=Oh(f)|0;else g=0;do if((bi(b,f)|0)<0)d=1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;d=0;break}d=(Qh(f,10)|0)<0}while(0);if(g)Ph(f);return d<<31>>31|0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=qi(a,b,f)|0;i=e;return d|0}function oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((Ai(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Oh(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=Ai(b,d,o,q,r)|0;if(h){Ra[c[b+36>>2]&63](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=Ai(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Ph(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function pi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=2716;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(Bh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=oi(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;return pi(a,2147483647,b,c)|0}function ri(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=_(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return ((e|0)!=0?b:0)|0}function si(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ti(b,c){b=b|0;c=c|0;b=ui(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function ui(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(wi(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009)break b;b=b+4|0;e=c[b>>2]|0}while(((e&-2139062144^-2139062144)&e+-16843009|0)==0);while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function vi(a,b){a=a|0;b=b|0;si(a,b)|0;return a|0}function wi(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function xi(a){a=a|0;if(!(c[a+68>>2]|0))Ph(a);return}function yi(a){a=a|0;if(!(c[a+68>>2]|0))Ph(a);return}function zi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ra[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Ra[c[a+40>>2]&63](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0} -function Ai(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;$=X;aa=$-Z|0;O=-2-Z|0;P=$+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(Bh()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)ji(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}while(0);do if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}while(0);e:do if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1;while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[25126+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}Ci(ba,s,g)}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=Ti(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=25606;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=25606;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=Oi(0,0,n|0,o|0)|0;o=C;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=25606;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?25606:25608;L=76}else{p=1;s=25607;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=25606;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=25606;n=N;break}case 109:{n=Ch(c[(Bh()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:25616;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){Ei(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?25624:25629}else{G=1;H=25626}else{q=-q;G=1;H=25623}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+Fh(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;D=u|32;if((D|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v;while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=Di(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[25590+H>>0]|w;q=(q-+(H|0))*16.0;do if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;Ei(e,32,K,p,I);if(!(c[e>>2]&32))ji(y,x,e)|0;Ei(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))ji(da,n,e)|0;o=$-t|0;Ei(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))ji(t,o,e)|0;Ei(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0>>0)r=s;else{o=0;do{B=Ri(c[r>>2]|0,0,t|0)|0;B=Si(B|0,C|0,o|0,0)|0;o=C;A=$i(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=_i(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(D|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do if(w>>>0

>>0){o=(1<>>x;r=0;t=w;do{B=c[t>>2]|0;c[t>>2]=(B>>>x)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0

>>0);o=(c[w>>2]|0)==0?w+4|0:w;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[w>>2]|0)==0?w+4|0:w;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[ea>>2]|0)+x|0;c[ea>>2]=o;if((o|0)>=0){w=r;break}else w=r}}else w=r;do if(w>>>0

>>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0;while(0);A=(D|0)==103;B=(n|0)!=0;r=n-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}while(0);do if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}while(0);D=r+4|0;w=s;p=p>>>0>D>>>0?D:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;D=p;break}}do if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do if(z){p=c[D+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8;while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=Di(r,((r|0)<0)<<31>>31,X)|0;if(($-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while(($-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=$-E|0;u=E}y=G+1+n+s+o|0;Ei(e,32,K,y,I);if(!(c[e>>2]&32))ji(H,G,e)|0;Ei(e,48,K,y,I^65536);do if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=Di(c[o>>2]|0,0,R)|0;do if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}while(0);if(!(c[e>>2]&32))ji(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(x){if(c[e>>2]&32)break;ji(25658,1,e)|0}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=Di(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))ji(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}Ei(e,48,n+9|0,9,0)}else{t=z?D:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=Di(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))ji(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}ji(25658,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}while(0);p=S-o|0;if(!(c[e>>2]&32))ji(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}Ei(e,48,n+18|0,18,0);if(c[e>>2]&32)break;ji(u,$-u|0,e)|0}while(0);Ei(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Ei(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){ji(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))ji(s?(t?25650:25654):t?25642:25646,3,e)|0;Ei(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=25606;n=N}}while(0);g:do if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[25590+(o&15)>>0]|s;o=Ti(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=25606;L=77}else{o=t;t=2;s=25606+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=25606;L=77}}else if((L|0)==76){n=Di(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=ri(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=25606;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Lh(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}Ei(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Lh(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))ji(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}while(0);if((L|0)==98){L=0;Ei(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;Ei(e,32,n,r,p);if(!(c[e>>2]&32))ji(u,t,e)|0;Ei(e,48,n,r,p^65536);Ei(e,48,o,s,0);if(!(c[e>>2]&32))ji(w,s,e)|0;Ei(e,32,n,r,p^8192);w=J}h:do if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;Ci(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0;while(0);i=ha;return m|0}function Bi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;Ui(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Ci(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:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+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 Di(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=$i(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=_i(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}else{b=e;break}}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 Ei(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;Qi(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){ji(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;ji(h,f,a)|0}while(0);i=j;return}function Fi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[735]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=2980+(e<<2)|0;e=2980+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[739]|0)>>>0)ta();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else ta()}else c[735]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[737]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=2980+(e<<2)|0;e=2980+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[739]|0)>>>0)ta();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[737]|0;break}else ta()}else{c[735]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[740]|0;d=k>>>3;b=d<<1;e=2980+(b<<2)|0;a=c[735]|0;d=1<>2]|0;if(b>>>0<(c[739]|0)>>>0)ta();else{l=a;m=b}}else{c[735]=a|d;l=2980+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[737]=h;c[740]=i;M=j;return M|0}a=c[736]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[3244+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[739]|0;if(e>>>0>>0)ta();i=e+o|0;if(e>>>0>=i>>>0)ta();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)ta();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)ta();b=f+12|0;if((c[b>>2]|0)!=(e|0))ta();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else ta()}while(0);do if(h){b=c[e+28>>2]|0;a=3244+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[739]|0;if(n>>>0>>0)ta();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)ta();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[737]|0;if(b){g=c[740]|0;d=b>>>3;b=d<<1;f=2980+(b<<2)|0;a=c[735]|0;d=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{p=b;q=a}}else{c[735]=a|d;p=2980+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[737]=j;c[740]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[736]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[3244+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[3244+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[737]|0)-m|0)>>>0:0){f=c[739]|0;if(j>>>0>>0)ta();h=j+m|0;if(j>>>0>=h>>>0)ta();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)ta();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)ta();b=e+12|0;if((c[b>>2]|0)!=(j|0))ta();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else ta()}while(0);do if(g){b=c[j+28>>2]|0;a=3244+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[739]|0;if(o>>>0>>0)ta();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)ta();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{s=b;t=a}}else{c[735]=d|b;s=2980+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=3244+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[736]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[739]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else ta()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[737]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[740]|0;if(b>>>0>15){c[740]=a+q;c[737]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[737]=0;c[740]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[738]|0;if(a>>>0>q>>>0){L=a-q|0;c[738]=L;M=c[741]|0;c[741]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[853]|0)){a=za(30)|0;if(!(a+-1&a)){c[855]=a;c[854]=a;c[856]=-1;c[857]=-1;c[858]=0;c[846]=0;c[853]=(La(0)|0)&-16^1431655768;break}else ta()}while(0);j=q+48|0;i=c[855]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[845]|0;if((a|0)!=0?(t=c[843]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[846]&4)){a=c[741]|0;e:do if(a){f=3388;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[738]|0)&i;if(d>>>0<2147483647){f=xa(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=xa(0)|0;if((g|0)!=(-1|0)){a=g;d=c[854]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[843]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[845]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=xa(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[855]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((xa(u|0)|0)==(-1|0)){xa(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[846]=c[846]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=xa(l|0)|0,x=xa(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[843]|0)+p|0;c[843]=a;if(a>>>0>(c[844]|0)>>>0)c[844]=a;h=c[741]|0;g:do if(h){g=3388;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[738]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[741]=h+L;c[738]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[742]=c[857];break}a=c[739]|0;if(w>>>0>>0){c[739]=w;a=w}d=w+p|0;g=3388;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=3388;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[740]|0)){M=(c[737]|0)+l|0;c[737]=M;c[740]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)ta();a=f+12|0;if((c[a>>2]|0)!=(b|0))ta();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else ta()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=3244+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[739]|0)>>>0)ta();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[736]=c[736]&~(1<>>0>>0)ta();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)ta();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[739]|0)>>>0)ta();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=2980+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)ta();if((c[e+12>>2]|0)==(b|0))break;ta()}while(0);if((f|0)==(e|0)){c[735]=c[735]&~(1<>>0>>0)ta();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}ta()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0>=(c[739]|0)>>>0){K=b;L=a;break}ta()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=3244+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[736]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[739]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else ta()}else{M=(c[738]|0)+l|0;c[738]=M;c[741]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=3388;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[741]=w+d;c[738]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[742]=c[857];d=a+4|0;c[d>>2]=27;c[b>>2]=c[847];c[b+4>>2]=c[848];c[b+8>>2]=c[849];c[b+12>>2]=c[850];c[847]=w;c[848]=p;c[850]=0;c[849]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{G=b;H=a}}else{c[735]=d|b;G=2980+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=3244+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[736]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[739]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else ta()}}else{M=c[739]|0;if((M|0)==0|w>>>0>>0)c[739]=w;c[847]=w;c[848]=p;c[850]=0;c[744]=c[853];c[743]=-1;b=0;do{M=b<<1;L=2980+(M<<2)|0;c[2980+(M+3<<2)>>2]=L;c[2980+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[741]=w+M;c[738]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[742]=c[857]}while(0);b=c[738]|0;if(b>>>0>q>>>0){L=b-q|0;c[738]=L;M=c[741]|0;c[741]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(Bh()|0)>>2]=12;M=0;return M|0}function Gi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[739]|0;if(b>>>0>>0)ta();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)ta();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)ta();if((l|0)==(c[740]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[737]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=2980+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)ta();if((c[e+12>>2]|0)!=(l|0))ta()}if((d|0)==(e|0)){c[735]=c[735]&~(1<>>0>>0)ta();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else ta()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)ta();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)ta();b=f+12|0;if((c[b>>2]|0)!=(l|0))ta();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else ta()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=3244+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[739]|0;if(k>>>0>>0)ta();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)ta();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)ta();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))ta();if(!(d&2)){if((q|0)==(c[741]|0)){t=(c[738]|0)+g|0;c[738]=t;c[741]=u;c[u+4>>2]=t|1;if((u|0)!=(c[740]|0))return;c[740]=0;c[737]=0;return}if((q|0)==(c[740]|0)){t=(c[737]|0)+g|0;c[737]=t;c[740]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[739]|0)>>>0)ta();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[739]|0)>>>0)ta();e=d+12|0;if((c[e>>2]|0)!=(q|0))ta();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else ta()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=3244+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[739]|0;if(p>>>0>>0)ta();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)ta();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=2980+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[739]|0)>>>0)ta();if((c[e+12>>2]|0)!=(q|0))ta()}if((d|0)==(e|0)){c[735]=c[735]&~(1<>>0<(c[739]|0)>>>0)ta();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else ta()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[740]|0)){c[737]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=2980+(d<<2)|0;e=c[735]|0;b=1<>2]|0;if(d>>>0<(c[739]|0)>>>0)ta();else{r=b;s=d}}else{c[735]=e|b;r=2980+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=3244+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[736]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[739]|0)>>>0)ta();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[739]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else ta()}else{c[736]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[743]|0)+-1|0;c[743]=u;if(!u)b=3396;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[743]=-1;return}function Hi(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Fi(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;Qi(b|0,0,d|0)|0;return b|0}function Ii(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Fi(b)|0;return a|0}if(b>>>0>4294967231){c[(Bh()|0)>>2]=12;a=0;return a|0}d=Ki(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Fi(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;Ui(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Gi(a);a=d;return a|0}function Ji(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;do if((b|0)!=8){e=b>>>2;if((b&3|0)!=0|(e|0)==0){a=22;return a|0}if(e+1073741823&e){a=22;return a|0}if((-64-b|0)>>>0>>0){a=12;return a|0}else{e=Li(b>>>0<16?16:b,d)|0;break}}else e=Fi(d)|0;while(0);if(!e){a=12;return a|0}c[a>>2]=e;a=0;return a|0}function Ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[739]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))ta();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))ta();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[855]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Mi(a+b|0,d);return a|0}if((l|0)==(c[741]|0)){d=(c[738]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[741]=a+b;c[738]=n;return a|0}if((l|0)==(c[740]|0)){e=(c[737]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[737]=d;c[740]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)ta();d=f+12|0;if((c[d>>2]|0)!=(l|0))ta();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else ta()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=3244+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[739]|0;if(k>>>0>>0)ta();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)ta();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(l|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else ta()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Mi(a+b|0,n);return a|0}return 0}function Li(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0<16?16:a;if(a+-1&a){d=16;while(1)if(d>>>0>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(Bh()|0)>>2]=12;i=0;return i|0}h=b>>>0<11?16:b+11&-8;e=Fi(h+12+a|0)|0;if(!e){i=0;return i|0}b=e+-8|0;d=a+-1|0;do if(e&d){f=e+d&0-a;d=f+-8|0;g=b;f=(d-g|0)>>>0>15?d:f+(a+-8)|0;g=f-g|0;a=e+-4|0;e=c[a>>2]|0;d=(e&-8)-g|0;if(!(e&3)){c[f>>2]=(c[b>>2]|0)+g;c[f+4>>2]=d;b=f;break}else{e=f+4|0;c[e>>2]=d|c[e>>2]&1|2;d=f+(d+4)|0;c[d>>2]=c[d>>2]|1;c[a>>2]=g|c[a>>2]&1|2;c[e>>2]=c[e>>2]|1;Mi(b,g);b=f;break}}while(0);a=b+4|0;d=c[a>>2]|0;if((d&3|0)!=0?(i=d&-8,i>>>0>(h+16|0)>>>0):0){g=i-h|0;c[a>>2]=h|d&1|2;c[b+(h|4)>>2]=g|3;i=b+(i|4)|0;c[i>>2]=c[i>>2]|1;Mi(b+h|0,g)}i=b+8|0;return i|0}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[739]|0;if(n>>>0>>0)ta();if((n|0)==(c[740]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[737]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(n|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else ta()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)ta();d=g+12|0;if((c[d>>2]|0)!=(n|0))ta();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else ta()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=3244+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[739]|0;if(l>>>0>>0)ta();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)ta();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[739]|0;if(q>>>0>>0)ta();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[741]|0)){s=(c[738]|0)+h|0;c[738]=s;c[741]=t;c[t+4>>2]=s|1;if((t|0)!=(c[740]|0))return;c[740]=0;c[737]=0;return}if((q|0)==(c[740]|0)){s=(c[737]|0)+h|0;c[737]=s;c[740]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)ta();d=g+12|0;if((c[d>>2]|0)!=(q|0))ta();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else ta()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=3244+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[739]|0;if(p>>>0>>0)ta();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)ta();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(q|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else ta()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[740]|0)){c[737]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=2980+(e<<2)|0;f=c[735]|0;d=1<>2]|0;if(e>>>0<(c[739]|0)>>>0)ta();else{r=d;s=e}}else{c[735]=f|d;r=2980+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=3244+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[736]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[739]|0)>>>0)ta();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[739]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))ta();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function Ni(){}function Oi(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 (C=d,a-c>>>0|0)|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<>c-32|0}function Qi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>>0;return (C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Ui(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return ya(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function Vi(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function Wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Oi(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return Oi((aj(h,g,Oi(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function Yi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=Oi(h^a,g^b,h,g)|0;b=C;aj(a,b,Oi(l^d,k^e,l,k)|0,C,j)|0;e=Oi(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function Zi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=Wi(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function _i(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return aj(a,b,c,d,0)|0}function $i(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;aj(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function aj(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;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=Vi(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Vi(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Si(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;Oi(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Oi(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (C=o,p)|0}function bj(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Qa[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function cj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ra[a&63](b|0,c|0,d|0)|0}function dj(a,b){a=a|0;b=b|0;return +Sa[a&3](b|0)}function ej(a,b){a=a|0;b=b|0;Ta[a&7](b|0)}function fj(a,b,c){a=a|0;b=b|0;c=c|0;Ua[a&7](b|0,c|0)}function gj(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Va[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function hj(a,b){a=a|0;b=b|0;return Wa[a&15](b|0)|0}function ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Xa[a&15](b|0,c|0,d|0)}function jj(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return Ya[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function kj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Za[a&63](b|0,c|0,d|0,e|0)|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;return _a[a&7](b|0,c|0)|0}function mj(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 $a[a&3](b|0,c|0,d|0,e|0,f|0)|0}function nj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ab[a&3](b|0,c|0,d|0,e|0)}function oj(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;ba(0);return 0}function pj(a,b,c){a=a|0;b=b|0;c=c|0;ba(1);return 0}function qj(a){a=a|0;ba(2);return 0.0}function rj(a){a=a|0;ba(3)}function sj(a,b){a=a|0;b=b|0;ba(4)}function tj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(5);return 0}function uj(a){a=a|0;ba(6);return 0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;ba(7)}function wj(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;ba(8);return 0}function xj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(9);return 0}function yj(a,b){a=a|0;b=b|0;ba(10);return 0}function zj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function Aj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)} - -// EMSCRIPTEN_END_FUNCS -var Qa=[oj,ed,We,oj];var Ra=[pj,Bi,Vh,Th,Ab,Bb,Cb,Db,Hc,Ic,Kc,$c,nd,Oe,af,od,pd,Ne,Pe,Lc,Mc,Nc,Oc,td,ud,vd,wd,yd,zd,Bd,Cd,Dd,Ed,Fd,Gd,Hd,Id,Jd,Kd,Ld,Md,Nd,Od,Pd,Qd,Rd,Sd,Td,Ud,Vd,Wd,Xd,ef,ff,gf,hf,jf,kf,lf,mf,Sh,Uh,pj,pj];var Sa=[qj,Yd,Zd,qj];var Ta=[rj,Yc,Ve,gg,hg,xi,yi,rj];var Ua=[sj,mb,nb,ob,Wb,Wc,Le,sj];var Va=[tj,dd,Ue,rd,Te,tj,tj,tj];var Wa=[uj,Rh,jd,kd,$e,_e,Yh,Kg,Hg,uj,uj,uj,uj,uj,uj,uj];var Xa=[vj,Ge,He,Ie,Je,Ae,Be,Ce,De,we,xe,ye,ze,gd,Ze,vj];var Ya=[wj,cd,Se,wj];var Za=[xj,de,ee,fe,ge,he,ie,je,ke,le,me,ne,oe,pe,qe,re,se,te,ue,ve,xf,yf,zf,rf,sf,tf,uf,vf,wf,wb,xb,yb,zb,ld,ad,Ke,Re,qd,Zc,Qe,Me,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj];var _a=[yj,Jc,nf,of,pf,qf,yj,yj];var $a=[zj,md,Xe,zj];var ab=[Aj,Og,Rg,Aj];return{_opj_stream_destroy:Fb,_opj_stream_set_read_function:Gb,_opj_read_tile_header:mc,_opj_set_warning_handler:cc,_opj_destroy_cstr_info:Cc,_opj_image_create:Yb,_opj_set_error_handler:dc,_opj_stream_set_user_data:Kb,_opj_end_decompress:wc,_bitshift64Lshr:Ti,_opj_stream_set_seek_function:Hb,_opj_decode:kc,_opj_set_decoded_resolution_factor:pc,_i64Add:Si,_opj_stream_create_default_file_stream:Fc,_opj_set_default_decoder_parameters:hc,_bitshift64Ashr:Pi,_opj_get_decoded_tile:oc,_memset:Qi,_opj_version:fc,_memcpy:Ui,_opj_destroy_cstr_index:Ec,_opj_stream_set_user_data_length:Lb,_opj_stream_set_skip_function:Jb,_opj_image_destroy:Zb,_opj_stream_create_file_stream:Gc,_opj_setup_encoder:sc,_opj_stream_default_create:Eb,_bitshift64Shl:Ri,_opj_stream_create:vb,_jp2_version:lb,_i64Subtract:Oi,_opj_get_cstr_index:Dc,_opj_encode:uc,_opj_read_header:jc,_opj_get_cstr_info:Bc,_opj_set_default_encoder_parameters:rc,_opj_set_decode_area:lc,_opj_stream_set_write_function:Ib,_opj_dump_codec:Ac,_opj_create_decompress:gc,_opj_decode_tile_data:nc,_free:Gi,_opj_image_tile_create:ac,_opj_set_MCT:xc,_opj_set_info_handler:bc,_opj_start_compress:tc,_opj_write_tile:yc,_opj_setup_decoder:ic,_malloc:Fi,_opj_end_compress:vc,_opj_destroy_codec:zc,_jp2_decode:kb,_opj_stream_create_buffer_stream:ec,_opj_create_compress:qc,runPostSets:Ni,stackAlloc:bb,stackSave:cb,stackRestore:db,establishStackSpace:eb,setThrew:fb,setTempRet0:ib,getTempRet0:jb,dynCall_iiiiiiii:bj,dynCall_iiii:cj,dynCall_di:dj,dynCall_vi:ej,dynCall_vii:fj,dynCall_iiiiiii:gj,dynCall_ii:hj,dynCall_viii:ij,dynCall_iiiiiiiiiiii:jj,dynCall_iiiii:kj,dynCall_iii:lj,dynCall_iiiiii:mj,dynCall_viiii:nj}}) - - -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _opj_stream_destroy=Module["_opj_stream_destroy"]=asm["_opj_stream_destroy"];var _opj_stream_set_read_function=Module["_opj_stream_set_read_function"]=asm["_opj_stream_set_read_function"];var _opj_read_tile_header=Module["_opj_read_tile_header"]=asm["_opj_read_tile_header"];var _opj_set_warning_handler=Module["_opj_set_warning_handler"]=asm["_opj_set_warning_handler"];var _opj_destroy_cstr_info=Module["_opj_destroy_cstr_info"]=asm["_opj_destroy_cstr_info"];var _opj_image_create=Module["_opj_image_create"]=asm["_opj_image_create"];var _opj_set_error_handler=Module["_opj_set_error_handler"]=asm["_opj_set_error_handler"];var _opj_image_tile_create=Module["_opj_image_tile_create"]=asm["_opj_image_tile_create"];var _opj_end_decompress=Module["_opj_end_decompress"]=asm["_opj_end_decompress"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _opj_stream_set_seek_function=Module["_opj_stream_set_seek_function"]=asm["_opj_stream_set_seek_function"];var _opj_decode=Module["_opj_decode"]=asm["_opj_decode"];var _opj_set_decoded_resolution_factor=Module["_opj_set_decoded_resolution_factor"]=asm["_opj_set_decoded_resolution_factor"];var _opj_stream_create_default_file_stream=Module["_opj_stream_create_default_file_stream"]=asm["_opj_stream_create_default_file_stream"];var _opj_encode=Module["_opj_encode"]=asm["_opj_encode"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _opj_get_decoded_tile=Module["_opj_get_decoded_tile"]=asm["_opj_get_decoded_tile"];var _memset=Module["_memset"]=asm["_memset"];var _opj_version=Module["_opj_version"]=asm["_opj_version"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _opj_destroy_cstr_index=Module["_opj_destroy_cstr_index"]=asm["_opj_destroy_cstr_index"];var _opj_stream_set_user_data_length=Module["_opj_stream_set_user_data_length"]=asm["_opj_stream_set_user_data_length"];var _opj_stream_set_skip_function=Module["_opj_stream_set_skip_function"]=asm["_opj_stream_set_skip_function"];var _opj_image_destroy=Module["_opj_image_destroy"]=asm["_opj_image_destroy"];var _opj_stream_create_file_stream=Module["_opj_stream_create_file_stream"]=asm["_opj_stream_create_file_stream"];var _opj_setup_encoder=Module["_opj_setup_encoder"]=asm["_opj_setup_encoder"];var _opj_stream_default_create=Module["_opj_stream_default_create"]=asm["_opj_stream_default_create"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _opj_stream_create=Module["_opj_stream_create"]=asm["_opj_stream_create"];var _jp2_version=Module["_jp2_version"]=asm["_jp2_version"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _opj_get_cstr_index=Module["_opj_get_cstr_index"]=asm["_opj_get_cstr_index"];var _opj_set_default_decoder_parameters=Module["_opj_set_default_decoder_parameters"]=asm["_opj_set_default_decoder_parameters"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _opj_get_cstr_info=Module["_opj_get_cstr_info"]=asm["_opj_get_cstr_info"];var _opj_set_default_encoder_parameters=Module["_opj_set_default_encoder_parameters"]=asm["_opj_set_default_encoder_parameters"];var _opj_set_decode_area=Module["_opj_set_decode_area"]=asm["_opj_set_decode_area"];var _opj_stream_set_write_function=Module["_opj_stream_set_write_function"]=asm["_opj_stream_set_write_function"];var _opj_dump_codec=Module["_opj_dump_codec"]=asm["_opj_dump_codec"];var _opj_read_header=Module["_opj_read_header"]=asm["_opj_read_header"];var _opj_create_decompress=Module["_opj_create_decompress"]=asm["_opj_create_decompress"];var _opj_decode_tile_data=Module["_opj_decode_tile_data"]=asm["_opj_decode_tile_data"];var _opj_set_info_handler=Module["_opj_set_info_handler"]=asm["_opj_set_info_handler"];var _opj_stream_set_user_data=Module["_opj_stream_set_user_data"]=asm["_opj_stream_set_user_data"];var _opj_set_MCT=Module["_opj_set_MCT"]=asm["_opj_set_MCT"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _opj_start_compress=Module["_opj_start_compress"]=asm["_opj_start_compress"];var _opj_write_tile=Module["_opj_write_tile"]=asm["_opj_write_tile"];var _opj_setup_decoder=Module["_opj_setup_decoder"]=asm["_opj_setup_decoder"];var _malloc=Module["_malloc"]=asm["_malloc"];var _opj_end_compress=Module["_opj_end_compress"]=asm["_opj_end_compress"];var _opj_destroy_codec=Module["_opj_destroy_codec"]=asm["_opj_destroy_codec"];var _jp2_decode=Module["_jp2_decode"]=asm["_jp2_decode"];var _opj_stream_create_buffer_stream=Module["_opj_stream_create_buffer_stream"]=asm["_opj_stream_create_buffer_stream"];var _opj_create_compress=Module["_opj_create_compress"]=asm["_opj_create_compress"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=asm["dynCall_iiiiiiiiiiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run() - - - - - - return Module; -}; - - -/*** EXPORTS FROM exports-loader ***/ -module.exports = OpenJPEG; - -/***/ }), - -/***/ "../node_modules/worker-loader/dist/workers/InlineWorker.js": -/*!******************************************************************!*\ - !*** ../node_modules/worker-loader/dist/workers/InlineWorker.js ***! - \******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// http://stackoverflow.com/questions/10343913/how-to-create-a-web-worker-from-a-string - -var URL = window.URL || window.webkitURL; - -module.exports = function (content, url) { - try { - try { - var blob; - - try { - // BlobBuilder = Deprecated, but widely implemented - var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder; - - blob = new BlobBuilder(); - - blob.append(content); - - blob = blob.getBlob(); - } catch (e) { - // The proposed API - blob = new Blob([content]); - } - - return new Worker(URL.createObjectURL(blob)); - } catch (e) { - return new Worker('data:application/javascript,' + encodeURIComponent(content)); - } - } catch (e) { - if (!url) { - throw Error('Inline worker is not supported'); - } - - return new Worker(url); - } -}; - -/***/ }), - -/***/ "./externalModules.js": -/*!****************************!*\ - !*** ./externalModules.js ***! - \****************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _imageLoader_registerLoaders_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./imageLoader/registerLoaders.js */ "./imageLoader/registerLoaders.js"); -/* eslint import/extensions:0 */ - -var cornerstone; -var dicomParser; -var external = { - set cornerstone(cs) { - cornerstone = cs; - Object(_imageLoader_registerLoaders_js__WEBPACK_IMPORTED_MODULE_0__["default"])(cornerstone); - }, - - get cornerstone() { - if (!cornerstone) { - if (window && window.cornerstone) { - cornerstone = window.cornerstone; - Object(_imageLoader_registerLoaders_js__WEBPACK_IMPORTED_MODULE_0__["default"])(cornerstone); - } else { - throw new Error('cornerstoneWADOImageLoader requires a copy of Cornerstone to work properly. Please add cornerstoneWADOImageLoader.external.cornerstone = cornerstone; to your application.'); - } - } - - return cornerstone; - }, - - set dicomParser(dp) { - dicomParser = dp; - }, - - get dicomParser() { - if (!dicomParser) { - if (window && window.dicomParser) { - dicomParser = window.dicomParser; - } else { - throw new Error('cornerstoneWADOImageLoader requires a copy of dicomParser to work properly. Please add cornerstoneWADOImageLoader.external.dicomParser = dicomParser; to your application.'); - } - } - - return dicomParser; - } - -}; -/* harmony default export */ __webpack_exports__["default"] = (external); - -/***/ }), - -/***/ "./imageLoader/colorSpaceConverters/convertPALETTECOLOR.js": -/*!*****************************************************************!*\ - !*** ./imageLoader/colorSpaceConverters/convertPALETTECOLOR.js ***! - \*****************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* eslint no-bitwise: 0 */ -function convertLUTto8Bit(lut, shift) { - var numEntries = lut.length; - var cleanedLUT = new Uint8ClampedArray(numEntries); - - for (var i = 0; i < numEntries; ++i) { - cleanedLUT[i] = lut[i] >> shift; - } - - return cleanedLUT; -} -/** - * Convert pixel data with PALETTE COLOR Photometric Interpretation to RGBA - * - * @param {ImageFrame} imageFrame - * @param {Uint8ClampedArray} rgbaBuffer - * @returns {void} - */ - - -/* harmony default export */ __webpack_exports__["default"] = (function (imageFrame, rgbaBuffer) { - var numPixels = imageFrame.columns * imageFrame.rows; - var pixelData = imageFrame.pixelData; - var rData = imageFrame.redPaletteColorLookupTableData; - var gData = imageFrame.greenPaletteColorLookupTableData; - var bData = imageFrame.bluePaletteColorLookupTableData; - var len = imageFrame.redPaletteColorLookupTableData.length; - var palIndex = 0; - var rgbaIndex = 0; - var start = imageFrame.redPaletteColorLookupTableDescriptor[1]; - var shift = imageFrame.redPaletteColorLookupTableDescriptor[2] === 8 ? 0 : 8; - var rDataCleaned = convertLUTto8Bit(rData, shift); - var gDataCleaned = convertLUTto8Bit(gData, shift); - var bDataCleaned = convertLUTto8Bit(bData, shift); - - for (var i = 0; i < numPixels; ++i) { - var value = pixelData[palIndex++]; - - if (value < start) { - value = 0; - } else if (value > start + len - 1) { - value = len - 1; - } else { - value -= start; - } - - rgbaBuffer[rgbaIndex++] = rDataCleaned[value]; - rgbaBuffer[rgbaIndex++] = gDataCleaned[value]; - rgbaBuffer[rgbaIndex++] = bDataCleaned[value]; - rgbaBuffer[rgbaIndex++] = 255; - } -}); - -/***/ }), - -/***/ "./imageLoader/colorSpaceConverters/convertRGBColorByPixel.js": -/*!********************************************************************!*\ - !*** ./imageLoader/colorSpaceConverters/convertRGBColorByPixel.js ***! - \********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony default export */ __webpack_exports__["default"] = (function (imageFrame, rgbaBuffer) { - if (imageFrame === undefined) { - throw new Error('decodeRGB: rgbBuffer must not be undefined'); - } - - if (imageFrame.length % 3 !== 0) { - throw new Error('decodeRGB: rgbBuffer length must be divisible by 3'); - } - - var numPixels = imageFrame.length / 3; - var rgbIndex = 0; - var rgbaIndex = 0; - - for (var i = 0; i < numPixels; i++) { - rgbaBuffer[rgbaIndex++] = imageFrame[rgbIndex++]; // red - - rgbaBuffer[rgbaIndex++] = imageFrame[rgbIndex++]; // green - - rgbaBuffer[rgbaIndex++] = imageFrame[rgbIndex++]; // blue - - rgbaBuffer[rgbaIndex++] = 255; // alpha - } -}); - -/***/ }), - -/***/ "./imageLoader/colorSpaceConverters/convertRGBColorByPlane.js": -/*!********************************************************************!*\ - !*** ./imageLoader/colorSpaceConverters/convertRGBColorByPlane.js ***! - \********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony default export */ __webpack_exports__["default"] = (function (imageFrame, rgbaBuffer) { - if (imageFrame === undefined) { - throw new Error('decodeRGB: rgbBuffer must not be undefined'); - } - - if (imageFrame.length % 3 !== 0) { - throw new Error('decodeRGB: rgbBuffer length must be divisible by 3'); - } - - var numPixels = imageFrame.length / 3; - var rgbaIndex = 0; - var rIndex = 0; - var gIndex = numPixels; - var bIndex = numPixels * 2; - - for (var i = 0; i < numPixels; i++) { - rgbaBuffer[rgbaIndex++] = imageFrame[rIndex++]; // red - - rgbaBuffer[rgbaIndex++] = imageFrame[gIndex++]; // green - - rgbaBuffer[rgbaIndex++] = imageFrame[bIndex++]; // blue - - rgbaBuffer[rgbaIndex++] = 255; // alpha - } -}); - -/***/ }), - -/***/ "./imageLoader/colorSpaceConverters/convertYBRFullByPixel.js": -/*!*******************************************************************!*\ - !*** ./imageLoader/colorSpaceConverters/convertYBRFullByPixel.js ***! - \*******************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony default export */ __webpack_exports__["default"] = (function (imageFrame, rgbaBuffer) { - if (imageFrame === undefined) { - throw new Error('decodeRGB: ybrBuffer must not be undefined'); - } - - if (imageFrame.length % 3 !== 0) { - throw new Error('decodeRGB: ybrBuffer length must be divisble by 3'); - } - - var numPixels = imageFrame.length / 3; - var ybrIndex = 0; - var rgbaIndex = 0; - - for (var i = 0; i < numPixels; i++) { - var y = imageFrame[ybrIndex++]; - var cb = imageFrame[ybrIndex++]; - var cr = imageFrame[ybrIndex++]; - rgbaBuffer[rgbaIndex++] = y + 1.40200 * (cr - 128); // red - - rgbaBuffer[rgbaIndex++] = y - 0.34414 * (cb - 128) - 0.71414 * (cr - 128); // green - - rgbaBuffer[rgbaIndex++] = y + 1.77200 * (cb - 128); // blue - - rgbaBuffer[rgbaIndex++] = 255; // alpha - } -}); - -/***/ }), - -/***/ "./imageLoader/colorSpaceConverters/convertYBRFullByPlane.js": -/*!*******************************************************************!*\ - !*** ./imageLoader/colorSpaceConverters/convertYBRFullByPlane.js ***! - \*******************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony default export */ __webpack_exports__["default"] = (function (imageFrame, rgbaBuffer) { - if (imageFrame === undefined) { - throw new Error('decodeRGB: ybrBuffer must not be undefined'); - } - - if (imageFrame.length % 3 !== 0) { - throw new Error('decodeRGB: ybrBuffer length must be divisble by 3'); - } - - var numPixels = imageFrame.length / 3; - var rgbaIndex = 0; - var yIndex = 0; - var cbIndex = numPixels; - var crIndex = numPixels * 2; - - for (var i = 0; i < numPixels; i++) { - var y = imageFrame[yIndex++]; - var cb = imageFrame[cbIndex++]; - var cr = imageFrame[crIndex++]; - rgbaBuffer[rgbaIndex++] = y + 1.40200 * (cr - 128); // red - - rgbaBuffer[rgbaIndex++] = y - 0.34414 * (cb - 128) - 0.71414 * (cr - 128); // green - - rgbaBuffer[rgbaIndex++] = y + 1.77200 * (cb - 128); // blue - - rgbaBuffer[rgbaIndex++] = 255; // alpha - } -}); - -/***/ }), - -/***/ "./imageLoader/colorSpaceConverters/index.js": -/*!***************************************************!*\ - !*** ./imageLoader/colorSpaceConverters/index.js ***! - \***************************************************/ -/*! exports provided: convertRGBColorByPixel, convertRGBColorByPlane, convertYBRFullByPixel, convertYBRFullByPlane, convertPALETTECOLOR */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _convertRGBColorByPixel_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./convertRGBColorByPixel.js */ "./imageLoader/colorSpaceConverters/convertRGBColorByPixel.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "convertRGBColorByPixel", function() { return _convertRGBColorByPixel_js__WEBPACK_IMPORTED_MODULE_0__["default"]; }); - -/* harmony import */ var _convertRGBColorByPlane_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./convertRGBColorByPlane.js */ "./imageLoader/colorSpaceConverters/convertRGBColorByPlane.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "convertRGBColorByPlane", function() { return _convertRGBColorByPlane_js__WEBPACK_IMPORTED_MODULE_1__["default"]; }); - -/* harmony import */ var _convertYBRFullByPixel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./convertYBRFullByPixel.js */ "./imageLoader/colorSpaceConverters/convertYBRFullByPixel.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "convertYBRFullByPixel", function() { return _convertYBRFullByPixel_js__WEBPACK_IMPORTED_MODULE_2__["default"]; }); - -/* harmony import */ var _convertYBRFullByPlane_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./convertYBRFullByPlane.js */ "./imageLoader/colorSpaceConverters/convertYBRFullByPlane.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "convertYBRFullByPlane", function() { return _convertYBRFullByPlane_js__WEBPACK_IMPORTED_MODULE_3__["default"]; }); - -/* harmony import */ var _convertPALETTECOLOR_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./convertPALETTECOLOR.js */ "./imageLoader/colorSpaceConverters/convertPALETTECOLOR.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "convertPALETTECOLOR", function() { return _convertPALETTECOLOR_js__WEBPACK_IMPORTED_MODULE_4__["default"]; }); - - - - - - - - -/***/ }), - -/***/ "./imageLoader/configure.js": -/*!**********************************!*\ - !*** ./imageLoader/configure.js ***! - \**********************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/index.js */ "./imageLoader/internal/index.js"); - - -function configure(options) { - Object(_internal_index_js__WEBPACK_IMPORTED_MODULE_0__["setOptions"])(options); -} - -/* harmony default export */ __webpack_exports__["default"] = (configure); - -/***/ }), - -/***/ "./imageLoader/convertColorSpace.js": -/*!******************************************!*\ - !*** ./imageLoader/convertColorSpace.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return convertColorSpace; }); -/* harmony import */ var _colorSpaceConverters_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colorSpaceConverters/index.js */ "./imageLoader/colorSpaceConverters/index.js"); - - -function convertRGB(imageFrame, rgbaBuffer) { - if (imageFrame.planarConfiguration === 0) { - Object(_colorSpaceConverters_index_js__WEBPACK_IMPORTED_MODULE_0__["convertRGBColorByPixel"])(imageFrame.pixelData, rgbaBuffer); - } else { - Object(_colorSpaceConverters_index_js__WEBPACK_IMPORTED_MODULE_0__["convertRGBColorByPlane"])(imageFrame.pixelData, rgbaBuffer); - } -} - -function convertYBRFull(imageFrame, rgbaBuffer) { - if (imageFrame.planarConfiguration === 0) { - Object(_colorSpaceConverters_index_js__WEBPACK_IMPORTED_MODULE_0__["convertYBRFullByPixel"])(imageFrame.pixelData, rgbaBuffer); - } else { - Object(_colorSpaceConverters_index_js__WEBPACK_IMPORTED_MODULE_0__["convertYBRFullByPlane"])(imageFrame.pixelData, rgbaBuffer); - } -} - -function convertColorSpace(imageFrame, imageData) { - var rgbaBuffer = imageData.data; // convert based on the photometric interpretation - - if (imageFrame.photometricInterpretation === 'RGB') { - convertRGB(imageFrame, rgbaBuffer); - } else if (imageFrame.photometricInterpretation === 'YBR_RCT') { - convertRGB(imageFrame, rgbaBuffer); - } else if (imageFrame.photometricInterpretation === 'YBR_ICT') { - convertRGB(imageFrame, rgbaBuffer); - } else if (imageFrame.photometricInterpretation === 'PALETTE COLOR') { - Object(_colorSpaceConverters_index_js__WEBPACK_IMPORTED_MODULE_0__["convertPALETTECOLOR"])(imageFrame, rgbaBuffer); - } else if (imageFrame.photometricInterpretation === 'YBR_FULL_422') { - convertRGB(imageFrame, rgbaBuffer); - } else if (imageFrame.photometricInterpretation === 'YBR_FULL') { - convertYBRFull(imageFrame, rgbaBuffer); - } else { - throw new Error("No color space conversion for photometric interpretation ".concat(imageFrame.photometricInterpretation)); - } -} - -/***/ }), - -/***/ "./imageLoader/createImage.js": -/*!************************************!*\ - !*** ./imageLoader/createImage.js ***! - \************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _externalModules_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../externalModules.js */ "./externalModules.js"); -/* harmony import */ var _getImageFrame_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getImageFrame.js */ "./imageLoader/getImageFrame.js"); -/* harmony import */ var _decodeImageFrame_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./decodeImageFrame.js */ "./imageLoader/decodeImageFrame.js"); -/* harmony import */ var _isColorImage_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isColorImage.js */ "./imageLoader/isColorImage.js"); -/* harmony import */ var _convertColorSpace_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./convertColorSpace.js */ "./imageLoader/convertColorSpace.js"); -/* harmony import */ var _shared_getMinMax_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../shared/getMinMax.js */ "./shared/getMinMax.js"); -/* harmony import */ var _isJPEGBaseline8BitColor_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isJPEGBaseline8BitColor.js */ "./imageLoader/isJPEGBaseline8BitColor.js"); - - - - - - - -var lastImageIdDrawn = ''; - -function isModalityLUTForDisplay(sopClassUid) { - // special case for XA and XRF - // https://groups.google.com/forum/#!searchin/comp.protocols.dicom/Modality$20LUT$20XA/comp.protocols.dicom/UBxhOZ2anJ0/D0R_QP8V2wIJ - return sopClassUid !== '1.2.840.10008.5.1.4.1.1.12.1' && // XA - sopClassUid !== '1.2.840.10008.5.1.4.1.1.12.2.1'; // XRF -} - -function convertToIntPixelData(floatPixelData) { - var floatMinMax = Object(_shared_getMinMax_js__WEBPACK_IMPORTED_MODULE_5__["default"])(floatPixelData); - var floatRange = Math.abs(floatMinMax.max - floatMinMax.min); - var intRange = 65535; - var slope = floatRange / intRange; - var intercept = floatMinMax.min; - var numPixels = floatPixelData.length; - var intPixelData = new Uint16Array(numPixels); - var min = 65535; - var max = 0; - - for (var i = 0; i < numPixels; i++) { - var rescaledPixel = Math.floor((floatPixelData[i] - intercept) / slope); - intPixelData[i] = rescaledPixel; - min = Math.min(min, rescaledPixel); - max = Math.max(max, rescaledPixel); - } - - return { - min: min, - max: max, - intPixelData: intPixelData, - slope: slope, - intercept: intercept - }; -} -/** - * Helper function to set pixel data to the right typed array. This is needed because web workers - * can transfer array buffers but not typed arrays - * @param imageFrame - */ - - -function setPixelDataType(imageFrame) { - if (imageFrame.bitsAllocated === 32) { - imageFrame.pixelData = new Float32Array(imageFrame.pixelData); - } else if (imageFrame.bitsAllocated === 16) { - if (imageFrame.pixelRepresentation === 0) { - imageFrame.pixelData = new Uint16Array(imageFrame.pixelData); - } else { - imageFrame.pixelData = new Int16Array(imageFrame.pixelData); - } - } else { - imageFrame.pixelData = new Uint8Array(imageFrame.pixelData); - } -} - -function createImage(imageId, pixelData, transferSyntax, options) { - if (!pixelData || !pixelData.length) { - return Promise.reject(new Error('The file does not contain image data.')); - } - - var cornerstone = _externalModules_js__WEBPACK_IMPORTED_MODULE_0__["default"].cornerstone; - var canvas = document.createElement('canvas'); - var imageFrame = Object(_getImageFrame_js__WEBPACK_IMPORTED_MODULE_1__["default"])(imageId); - var decodePromise = Object(_decodeImageFrame_js__WEBPACK_IMPORTED_MODULE_2__["default"])(imageFrame, transferSyntax, pixelData, canvas, options); - return new Promise(function (resolve, reject) { - decodePromise.then(function (imageFrame) { - var imagePlaneModule = cornerstone.metaData.get('imagePlaneModule', imageId) || {}; - var voiLutModule = cornerstone.metaData.get('voiLutModule', imageId) || {}; - var modalityLutModule = cornerstone.metaData.get('modalityLutModule', imageId) || {}; - var sopCommonModule = cornerstone.metaData.get('sopCommonModule', imageId) || {}; - var isColorImage = Object(_isColorImage_js__WEBPACK_IMPORTED_MODULE_3__["default"])(imageFrame.photometricInterpretation); // JPEGBaseline (8 bits) is already returning the pixel data in the right format (rgba) - // because it's using a canvas to load and decode images. - - if (!Object(_isJPEGBaseline8BitColor_js__WEBPACK_IMPORTED_MODULE_6__["default"])(imageFrame, transferSyntax)) { - setPixelDataType(imageFrame); // convert color space - - if (isColorImage) { - // setup the canvas context - canvas.height = imageFrame.rows; - canvas.width = imageFrame.columns; - var context = canvas.getContext('2d'); - var imageData = context.createImageData(imageFrame.columns, imageFrame.rows); - Object(_convertColorSpace_js__WEBPACK_IMPORTED_MODULE_4__["default"])(imageFrame, imageData); - imageFrame.imageData = imageData; - imageFrame.pixelData = imageData.data; // calculate smallest and largest PixelValue of the converted pixelData - - var minMax = Object(_shared_getMinMax_js__WEBPACK_IMPORTED_MODULE_5__["default"])(imageFrame.pixelData); - imageFrame.smallestPixelValue = minMax.min; - imageFrame.largestPixelValue = minMax.max; - } - } - - var image = { - imageId: imageId, - color: isColorImage, - columnPixelSpacing: imagePlaneModule.columnPixelSpacing, - columns: imageFrame.columns, - height: imageFrame.rows, - intercept: modalityLutModule.rescaleIntercept ? modalityLutModule.rescaleIntercept : 0, - invert: imageFrame.photometricInterpretation === 'MONOCHROME1', - minPixelValue: imageFrame.smallestPixelValue, - maxPixelValue: imageFrame.largestPixelValue, - rowPixelSpacing: imagePlaneModule.rowPixelSpacing, - rows: imageFrame.rows, - sizeInBytes: imageFrame.pixelData.length, - slope: modalityLutModule.rescaleSlope ? modalityLutModule.rescaleSlope : 1, - width: imageFrame.columns, - windowCenter: voiLutModule.windowCenter ? voiLutModule.windowCenter[0] : undefined, - windowWidth: voiLutModule.windowWidth ? voiLutModule.windowWidth[0] : undefined, - decodeTimeInMS: imageFrame.decodeTimeInMS, - floatPixelData: undefined - }; // add function to return pixel data - - if (imageFrame.pixelData instanceof Float32Array) { - var floatPixelData = imageFrame.pixelData; - var results = convertToIntPixelData(floatPixelData); - image.minPixelValue = results.min; - image.maxPixelValue = results.max; - image.slope = results.slope; - image.intercept = results.intercept; - image.floatPixelData = floatPixelData; - - image.getPixelData = function () { - return results.intPixelData; - }; - } else { - image.getPixelData = function () { - return imageFrame.pixelData; - }; - } - - if (image.color) { - image.getCanvas = function () { - if (lastImageIdDrawn === imageId) { - return canvas; - } - - canvas.height = image.rows; - canvas.width = image.columns; - var context = canvas.getContext('2d'); - context.putImageData(imageFrame.imageData, 0, 0); - lastImageIdDrawn = imageId; - return canvas; - }; - } // Modality LUT - - - if (modalityLutModule.modalityLUTSequence && modalityLutModule.modalityLUTSequence.length > 0 && isModalityLUTForDisplay(sopCommonModule.sopClassUID)) { - image.modalityLUT = modalityLutModule.modalityLUTSequence[0]; - } // VOI LUT - - - if (voiLutModule.voiLUTSequence && voiLutModule.voiLUTSequence.length > 0) { - image.voiLUT = voiLutModule.voiLUTSequence[0]; - } - - if (image.color) { - image.windowWidth = 255; - image.windowCenter = 127; - } // set the ww/wc to cover the dynamic range of the image if no values are supplied - - - if (image.windowCenter === undefined || image.windowWidth === undefined) { - var maxVoi = image.maxPixelValue * image.slope + image.intercept; - var minVoi = image.minPixelValue * image.slope + image.intercept; - image.windowWidth = maxVoi - minVoi; - image.windowCenter = (maxVoi + minVoi) / 2; - } - - resolve(image); - }, reject); - }); -} - -/* harmony default export */ __webpack_exports__["default"] = (createImage); - -/***/ }), - -/***/ "./imageLoader/decodeImageFrame.js": -/*!*****************************************!*\ - !*** ./imageLoader/decodeImageFrame.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_options_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/options.js */ "./imageLoader/internal/options.js"); -/* harmony import */ var _webWorkerManager_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webWorkerManager.js */ "./imageLoader/webWorkerManager.js"); -/* harmony import */ var _decodeJPEGBaseline8BitColor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./decodeJPEGBaseline8BitColor.js */ "./imageLoader/decodeJPEGBaseline8BitColor.js"); -/* harmony import */ var _shared_decodeImageFrame_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared/decodeImageFrame.js */ "./shared/decodeImageFrame.js"); -/* harmony import */ var _shared_calculateMinMax_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../shared/calculateMinMax.js */ "./shared/calculateMinMax.js"); -/* harmony import */ var _shared_decoders_decodeJPEG2000_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../shared/decoders/decodeJPEG2000.js */ "./shared/decoders/decodeJPEG2000.js"); -/* harmony import */ var _shared_decoders_decodeJPEGLS_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../shared/decoders/decodeJPEGLS.js */ "./shared/decoders/decodeJPEGLS.js"); - - - // TODO: Find a way to allow useWebWorkers: false that doesn't make the main bundle huge - - - - - -var codecsInitialized = false; - -function processDecodeTask(imageFrame, transferSyntax, pixelData, options) { - var priority = options.priority || undefined; - var transferList = options.transferPixelData ? [pixelData.buffer] : undefined; - var loaderOptions = Object(_internal_options_js__WEBPACK_IMPORTED_MODULE_0__["getOptions"])(); - var strict = loaderOptions.strict, - decodeConfig = loaderOptions.decodeConfig, - useWebWorkers = loaderOptions.useWebWorkers; - - if (useWebWorkers === false) { - if (codecsInitialized === false) { - Object(_shared_decoders_decodeJPEG2000_js__WEBPACK_IMPORTED_MODULE_5__["initializeJPEG2000"])(decodeConfig); - Object(_shared_decoders_decodeJPEGLS_js__WEBPACK_IMPORTED_MODULE_6__["initializeJPEGLS"])(decodeConfig); - codecsInitialized = true; - } - - return new Promise(function (resolve, reject) { - try { - var decodeArguments = [imageFrame, transferSyntax, pixelData, decodeConfig, options]; - var decodedImageFrame = _shared_decodeImageFrame_js__WEBPACK_IMPORTED_MODULE_3__["default"].apply(void 0, decodeArguments); - Object(_shared_calculateMinMax_js__WEBPACK_IMPORTED_MODULE_4__["default"])(decodedImageFrame, strict); - resolve(decodedImageFrame); - } catch (error) { - reject(error); - } - }); - } - - return _webWorkerManager_js__WEBPACK_IMPORTED_MODULE_1__["default"].addTask('decodeTask', { - imageFrame: imageFrame, - transferSyntax: transferSyntax, - pixelData: pixelData, - options: options - }, priority, transferList).promise; -} - -function decodeImageFrame(imageFrame, transferSyntax, pixelData, canvas) { - var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {}; - - // TODO: Turn this into a switch statement instead - if (transferSyntax === '1.2.840.10008.1.2') { - // Implicit VR Little Endian - return processDecodeTask(imageFrame, transferSyntax, pixelData, options); - } else if (transferSyntax === '1.2.840.10008.1.2.1') { - // Explicit VR Little Endian - return processDecodeTask(imageFrame, transferSyntax, pixelData, options); - } else if (transferSyntax === '1.2.840.10008.1.2.2') { - // Explicit VR Big Endian (retired) - return processDecodeTask(imageFrame, transferSyntax, pixelData, options); - } else if (transferSyntax === '1.2.840.10008.1.2.1.99') { - // Deflate transfer syntax (deflated by dicomParser) - return processDecodeTask(imageFrame, transferSyntax, pixelData, options); - } else if (transferSyntax === '1.2.840.10008.1.2.5') { - // RLE Lossless - return processDecodeTask(imageFrame, transferSyntax, pixelData, options); - } else if (transferSyntax === '1.2.840.10008.1.2.4.50') { - // JPEG Baseline lossy process 1 (8 bit) - // Handle 8-bit JPEG Baseline color images using the browser's built-in - // JPEG decoding - if (imageFrame.bitsAllocated === 8 && (imageFrame.samplesPerPixel === 3 || imageFrame.samplesPerPixel === 4)) { - return Object(_decodeJPEGBaseline8BitColor_js__WEBPACK_IMPORTED_MODULE_2__["default"])(imageFrame, pixelData, canvas); - } - - return processDecodeTask(imageFrame, transferSyntax, pixelData, options); - } else if (transferSyntax === '1.2.840.10008.1.2.4.51') { - // JPEG Baseline lossy process 2 & 4 (12 bit) - return processDecodeTask(imageFrame, transferSyntax, pixelData, options); - } else if (transferSyntax === '1.2.840.10008.1.2.4.57') { - // JPEG Lossless, Nonhierarchical (Processes 14) - return processDecodeTask(imageFrame, transferSyntax, pixelData, options); - } else if (transferSyntax === '1.2.840.10008.1.2.4.70') { - // JPEG Lossless, Nonhierarchical (Processes 14 [Selection 1]) - return processDecodeTask(imageFrame, transferSyntax, pixelData, options); - } else if (transferSyntax === '1.2.840.10008.1.2.4.80') { - // JPEG-LS Lossless Image Compression - return processDecodeTask(imageFrame, transferSyntax, pixelData, options); - } else if (transferSyntax === '1.2.840.10008.1.2.4.81') { - // JPEG-LS Lossy (Near-Lossless) Image Compression - return processDecodeTask(imageFrame, transferSyntax, pixelData, options); - } else if (transferSyntax === '1.2.840.10008.1.2.4.90') { - // JPEG 2000 Lossless - return processDecodeTask(imageFrame, transferSyntax, pixelData, options); - } else if (transferSyntax === '1.2.840.10008.1.2.4.91') { - // JPEG 2000 Lossy - return processDecodeTask(imageFrame, transferSyntax, pixelData, options); - } - /* Don't know if these work... - // JPEG 2000 Part 2 Multicomponent Image Compression (Lossless Only) - else if(transferSyntax === "1.2.840.10008.1.2.4.92") - { - return cornerstoneWADOImageLoader.decodeJPEG2000(dataSet, frame); - } - // JPEG 2000 Part 2 Multicomponent Image Compression - else if(transferSyntax === "1.2.840.10008.1.2.4.93") - { - return cornerstoneWADOImageLoader.decodeJPEG2000(dataSet, frame); - } - */ - - - return new Promise(function (resolve, reject) { - reject(new Error("No decoder for transfer syntax ".concat(transferSyntax))); - }); -} - -/* harmony default export */ __webpack_exports__["default"] = (decodeImageFrame); - -/***/ }), - -/***/ "./imageLoader/decodeJPEGBaseline8BitColor.js": -/*!****************************************************!*\ - !*** ./imageLoader/decodeJPEGBaseline8BitColor.js ***! - \****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _shared_getMinMax_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/getMinMax.js */ "./shared/getMinMax.js"); - -/** - * Special decoder for 8 bit jpeg that leverages the browser's built in JPEG decoder for increased performance - */ - -function arrayBufferToString(buffer) { - return binaryToString(String.fromCharCode.apply(null, Array.prototype.slice.apply(new Uint8Array(buffer)))); -} - -function binaryToString(binary) { - var error; - - try { - return decodeURIComponent(escape(binary)); - } catch (_error) { - error = _error; - - if (error instanceof URIError) { - return binary; - } - - throw error; - } -} - -function decodeJPEGBaseline8BitColor(imageFrame, pixelData, canvas) { - var start = new Date().getTime(); - var imgBlob = new Blob([pixelData], { - type: 'image/jpeg' - }); - return new Promise(function (resolve, reject) { - var fileReader = new FileReader(); - - if (fileReader.readAsBinaryString === undefined) { - fileReader.readAsArrayBuffer(imgBlob); - } else { - fileReader.readAsBinaryString(imgBlob); // doesn't work on IE11 - } - - fileReader.onload = function () { - var img = new Image(); - - img.onload = function () { - canvas.height = img.height; - canvas.width = img.width; - imageFrame.rows = img.height; - imageFrame.columns = img.width; - var context = canvas.getContext('2d'); - context.drawImage(this, 0, 0); - var imageData = context.getImageData(0, 0, img.width, img.height); - var end = new Date().getTime(); - imageFrame.pixelData = imageData.data; - imageFrame.imageData = imageData; - imageFrame.decodeTimeInMS = end - start; // calculate smallest and largest PixelValue - - var minMax = Object(_shared_getMinMax_js__WEBPACK_IMPORTED_MODULE_0__["default"])(imageFrame.pixelData); - imageFrame.smallestPixelValue = minMax.min; - imageFrame.largestPixelValue = minMax.max; - resolve(imageFrame); - }; - - img.onerror = function (error) { - reject(error); - }; - - if (fileReader.readAsBinaryString === undefined) { - img.src = "data:image/jpeg;base64,".concat(window.btoa(arrayBufferToString(fileReader.result))); - } else { - img.src = "data:image/jpeg;base64,".concat(window.btoa(fileReader.result)); // doesn't work on IE11 - } - }; - - fileReader.onerror = function (e) { - reject(e); - }; - }); -} - -/* harmony default export */ __webpack_exports__["default"] = (decodeJPEGBaseline8BitColor); - -/***/ }), - -/***/ "./imageLoader/getImageFrame.js": -/*!**************************************!*\ - !*** ./imageLoader/getImageFrame.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _externalModules_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../externalModules.js */ "./externalModules.js"); - - -function getImageFrame(imageId) { - var cornerstone = _externalModules_js__WEBPACK_IMPORTED_MODULE_0__["default"].cornerstone; - var imagePixelModule = cornerstone.metaData.get('imagePixelModule', imageId); - return { - samplesPerPixel: imagePixelModule.samplesPerPixel, - photometricInterpretation: imagePixelModule.photometricInterpretation, - planarConfiguration: imagePixelModule.planarConfiguration, - rows: imagePixelModule.rows, - columns: imagePixelModule.columns, - bitsAllocated: imagePixelModule.bitsAllocated, - bitsStored: imagePixelModule.bitsStored, - pixelRepresentation: imagePixelModule.pixelRepresentation, - // 0 = unsigned, - smallestPixelValue: imagePixelModule.smallestPixelValue, - largestPixelValue: imagePixelModule.largestPixelValue, - redPaletteColorLookupTableDescriptor: imagePixelModule.redPaletteColorLookupTableDescriptor, - greenPaletteColorLookupTableDescriptor: imagePixelModule.greenPaletteColorLookupTableDescriptor, - bluePaletteColorLookupTableDescriptor: imagePixelModule.bluePaletteColorLookupTableDescriptor, - redPaletteColorLookupTableData: imagePixelModule.redPaletteColorLookupTableData, - greenPaletteColorLookupTableData: imagePixelModule.greenPaletteColorLookupTableData, - bluePaletteColorLookupTableData: imagePixelModule.bluePaletteColorLookupTableData, - pixelData: undefined // populated later after decoding - - }; -} - -/* harmony default export */ __webpack_exports__["default"] = (getImageFrame); - -/***/ }), - -/***/ "./imageLoader/index.js": -/*!******************************!*\ - !*** ./imageLoader/index.js ***! - \******************************/ -/*! exports provided: convertRGBColorByPixel, convertRGBColorByPlane, convertYBRFullByPixel, convertYBRFullByPlane, convertPALETTECOLOR, wadouri, wadors, configure, convertColorSpace, createImage, decodeImageFrame, decodeJPEGBaseline8BitColor, getImageFrame, getMinMax, isColorImage, isJPEGBaseline8BitColor, webWorkerManager, version, internal, external, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _colorSpaceConverters_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colorSpaceConverters/index.js */ "./imageLoader/colorSpaceConverters/index.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "convertRGBColorByPixel", function() { return _colorSpaceConverters_index_js__WEBPACK_IMPORTED_MODULE_0__["convertRGBColorByPixel"]; }); - -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "convertRGBColorByPlane", function() { return _colorSpaceConverters_index_js__WEBPACK_IMPORTED_MODULE_0__["convertRGBColorByPlane"]; }); - -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "convertYBRFullByPixel", function() { return _colorSpaceConverters_index_js__WEBPACK_IMPORTED_MODULE_0__["convertYBRFullByPixel"]; }); - -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "convertYBRFullByPlane", function() { return _colorSpaceConverters_index_js__WEBPACK_IMPORTED_MODULE_0__["convertYBRFullByPlane"]; }); - -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "convertPALETTECOLOR", function() { return _colorSpaceConverters_index_js__WEBPACK_IMPORTED_MODULE_0__["convertPALETTECOLOR"]; }); - -/* harmony import */ var _wadouri_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./wadouri/index.js */ "./imageLoader/wadouri/index.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "wadouri", function() { return _wadouri_index_js__WEBPACK_IMPORTED_MODULE_1__["default"]; }); - -/* harmony import */ var _wadors_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./wadors/index.js */ "./imageLoader/wadors/index.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "wadors", function() { return _wadors_index_js__WEBPACK_IMPORTED_MODULE_2__["default"]; }); - -/* harmony import */ var _configure_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./configure.js */ "./imageLoader/configure.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "configure", function() { return _configure_js__WEBPACK_IMPORTED_MODULE_3__["default"]; }); - -/* harmony import */ var _convertColorSpace_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./convertColorSpace.js */ "./imageLoader/convertColorSpace.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "convertColorSpace", function() { return _convertColorSpace_js__WEBPACK_IMPORTED_MODULE_4__["default"]; }); - -/* harmony import */ var _createImage_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createImage.js */ "./imageLoader/createImage.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createImage", function() { return _createImage_js__WEBPACK_IMPORTED_MODULE_5__["default"]; }); - -/* harmony import */ var _decodeImageFrame_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./decodeImageFrame.js */ "./imageLoader/decodeImageFrame.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "decodeImageFrame", function() { return _decodeImageFrame_js__WEBPACK_IMPORTED_MODULE_6__["default"]; }); - -/* harmony import */ var _decodeJPEGBaseline8BitColor_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./decodeJPEGBaseline8BitColor.js */ "./imageLoader/decodeJPEGBaseline8BitColor.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "decodeJPEGBaseline8BitColor", function() { return _decodeJPEGBaseline8BitColor_js__WEBPACK_IMPORTED_MODULE_7__["default"]; }); - -/* harmony import */ var _getImageFrame_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./getImageFrame.js */ "./imageLoader/getImageFrame.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getImageFrame", function() { return _getImageFrame_js__WEBPACK_IMPORTED_MODULE_8__["default"]; }); - -/* harmony import */ var _shared_getMinMax_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../shared/getMinMax.js */ "./shared/getMinMax.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getMinMax", function() { return _shared_getMinMax_js__WEBPACK_IMPORTED_MODULE_9__["default"]; }); - -/* harmony import */ var _isColorImage_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./isColorImage.js */ "./imageLoader/isColorImage.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isColorImage", function() { return _isColorImage_js__WEBPACK_IMPORTED_MODULE_10__["default"]; }); - -/* harmony import */ var _isJPEGBaseline8BitColor_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./isJPEGBaseline8BitColor.js */ "./imageLoader/isJPEGBaseline8BitColor.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isJPEGBaseline8BitColor", function() { return _isJPEGBaseline8BitColor_js__WEBPACK_IMPORTED_MODULE_11__["default"]; }); - -/* harmony import */ var _webWorkerManager_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./webWorkerManager.js */ "./imageLoader/webWorkerManager.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "webWorkerManager", function() { return _webWorkerManager_js__WEBPACK_IMPORTED_MODULE_12__["default"]; }); - -/* harmony import */ var _version_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../version.js */ "./version.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "version", function() { return _version_js__WEBPACK_IMPORTED_MODULE_13__["default"]; }); - -/* harmony import */ var _internal_index_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./internal/index.js */ "./imageLoader/internal/index.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "internal", function() { return _internal_index_js__WEBPACK_IMPORTED_MODULE_14__["internal"]; }); - -/* harmony import */ var _externalModules_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../externalModules.js */ "./externalModules.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "external", function() { return _externalModules_js__WEBPACK_IMPORTED_MODULE_15__["default"]; }); - - - - - - - - - - - - - - - - - -var cornerstoneWADOImageLoader = { - convertRGBColorByPixel: _colorSpaceConverters_index_js__WEBPACK_IMPORTED_MODULE_0__["convertRGBColorByPixel"], - convertRGBColorByPlane: _colorSpaceConverters_index_js__WEBPACK_IMPORTED_MODULE_0__["convertRGBColorByPlane"], - convertYBRFullByPixel: _colorSpaceConverters_index_js__WEBPACK_IMPORTED_MODULE_0__["convertYBRFullByPixel"], - convertYBRFullByPlane: _colorSpaceConverters_index_js__WEBPACK_IMPORTED_MODULE_0__["convertYBRFullByPlane"], - convertPALETTECOLOR: _colorSpaceConverters_index_js__WEBPACK_IMPORTED_MODULE_0__["convertPALETTECOLOR"], - wadouri: _wadouri_index_js__WEBPACK_IMPORTED_MODULE_1__["default"], - wadors: _wadors_index_js__WEBPACK_IMPORTED_MODULE_2__["default"], - configure: _configure_js__WEBPACK_IMPORTED_MODULE_3__["default"], - convertColorSpace: _convertColorSpace_js__WEBPACK_IMPORTED_MODULE_4__["default"], - createImage: _createImage_js__WEBPACK_IMPORTED_MODULE_5__["default"], - decodeImageFrame: _decodeImageFrame_js__WEBPACK_IMPORTED_MODULE_6__["default"], - decodeJPEGBaseline8BitColor: _decodeJPEGBaseline8BitColor_js__WEBPACK_IMPORTED_MODULE_7__["default"], - getImageFrame: _getImageFrame_js__WEBPACK_IMPORTED_MODULE_8__["default"], - getMinMax: _shared_getMinMax_js__WEBPACK_IMPORTED_MODULE_9__["default"], - isColorImage: _isColorImage_js__WEBPACK_IMPORTED_MODULE_10__["default"], - isJPEGBaseline8BitColor: _isJPEGBaseline8BitColor_js__WEBPACK_IMPORTED_MODULE_11__["default"], - webWorkerManager: _webWorkerManager_js__WEBPACK_IMPORTED_MODULE_12__["default"], - version: _version_js__WEBPACK_IMPORTED_MODULE_13__["default"], - internal: _internal_index_js__WEBPACK_IMPORTED_MODULE_14__["internal"], - external: _externalModules_js__WEBPACK_IMPORTED_MODULE_15__["default"] -}; - -/* harmony default export */ __webpack_exports__["default"] = (cornerstoneWADOImageLoader); - -/***/ }), - -/***/ "./imageLoader/internal/index.js": -/*!***************************************!*\ - !*** ./imageLoader/internal/index.js ***! - \***************************************/ -/*! exports provided: setOptions, getOptions, xhrRequest, internal */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "internal", function() { return internal; }); -/* harmony import */ var _xhrRequest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./xhrRequest.js */ "./imageLoader/internal/xhrRequest.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "xhrRequest", function() { return _xhrRequest_js__WEBPACK_IMPORTED_MODULE_0__["default"]; }); - -/* harmony import */ var _options_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./options.js */ "./imageLoader/internal/options.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setOptions", function() { return _options_js__WEBPACK_IMPORTED_MODULE_1__["setOptions"]; }); - -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getOptions", function() { return _options_js__WEBPACK_IMPORTED_MODULE_1__["getOptions"]; }); - - - -var internal = { - xhrRequest: _xhrRequest_js__WEBPACK_IMPORTED_MODULE_0__["default"], - setOptions: _options_js__WEBPACK_IMPORTED_MODULE_1__["setOptions"], - getOptions: _options_js__WEBPACK_IMPORTED_MODULE_1__["getOptions"] -}; - - -/***/ }), - -/***/ "./imageLoader/internal/options.js": -/*!*****************************************!*\ - !*** ./imageLoader/internal/options.js ***! - \*****************************************/ -/*! exports provided: setOptions, getOptions */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setOptions", function() { return setOptions; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getOptions", function() { return getOptions; }); -var options = { - // callback allowing customization of the xhr (e.g. adding custom auth headers, cors, etc) - beforeSend: function beforeSend() - /* xhr, imageId */ - {}, - // callback allowing modification of newly created image objects - imageCreated: function imageCreated() - /* image */ - {}, - strict: false, - useWebWorkers: true, - decodeConfig: { - usePDFJS: false - } -}; -function setOptions(newOptions) { - options = Object.assign(options, newOptions); -} -function getOptions() { - return options; -} - -/***/ }), - -/***/ "./imageLoader/internal/xhrRequest.js": -/*!********************************************!*\ - !*** ./imageLoader/internal/xhrRequest.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _externalModules_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../externalModules.js */ "./externalModules.js"); -/* harmony import */ var _options_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./options.js */ "./imageLoader/internal/options.js"); - - - -function xhrRequest(url, imageId) { - var headers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - var params = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - var cornerstone = _externalModules_js__WEBPACK_IMPORTED_MODULE_0__["default"].cornerstone; - var options = Object(_options_js__WEBPACK_IMPORTED_MODULE_1__["getOptions"])(); // Make the request for the DICOM P10 SOP Instance - - return new Promise(function (resolve, reject) { - var xhr = new XMLHttpRequest(); - xhr.open('get', url, true); - xhr.responseType = 'arraybuffer'; - options.beforeSend(xhr, imageId, headers, params); - Object.keys(headers).forEach(function (key) { - xhr.setRequestHeader(key, headers[key]); - }); - params.deferred = { - resolve: resolve, - reject: reject - }; - params.url = url; - params.imageId = imageId; // Event triggered when downloading an image starts - - xhr.onloadstart = function (event) { - // Action - if (options.onloadstart) { - options.onloadstart(event, params); - } // Event - - - var eventData = { - url: url, - imageId: imageId - }; - cornerstone.triggerEvent(cornerstone.events, 'cornerstoneimageloadstart', eventData); - }; // Event triggered when downloading an image ends - - - xhr.onloadend = function (event) { - // Action - if (options.onloadend) { - options.onloadend(event, params); - } - - var eventData = { - url: url, - imageId: imageId - }; // Event - - cornerstone.triggerEvent(cornerstone.events, 'cornerstoneimageloadend', eventData); - }; // handle response data - - - xhr.onreadystatechange = function (event) { - // Action - if (options.onreadystatechange) { - options.onreadystatechange(event, params); - return; - } // Default action - // TODO: consider sending out progress messages here as we receive the pixel data - - - if (xhr.readyState === 4) { - if (xhr.status === 200) { - resolve(xhr.response, xhr); - } else { - // request failed, reject the Promise - reject(xhr); - } - } - }; // Event triggered when downloading an image progresses - - - xhr.onprogress = function (oProgress) { - // console.log('progress:',oProgress) - var loaded = oProgress.loaded; // evt.loaded the bytes browser receive - - var total; - var percentComplete; - - if (oProgress.lengthComputable) { - total = oProgress.total; // evt.total the total bytes seted by the header - - percentComplete = Math.round(loaded / total * 100); - } // Action - - - if (options.onprogress) { - options.onprogress(oProgress, params); - } // Event - - - var eventData = { - url: url, - imageId: imageId, - loaded: loaded, - total: total, - percentComplete: percentComplete - }; - cornerstone.triggerEvent(cornerstone.events, 'cornerstoneimageloadprogress', eventData); - }; - - xhr.send(); - }); -} - -/* harmony default export */ __webpack_exports__["default"] = (xhrRequest); - -/***/ }), - -/***/ "./imageLoader/isColorImage.js": -/*!*************************************!*\ - !*** ./imageLoader/isColorImage.js ***! - \*************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony default export */ __webpack_exports__["default"] = (function (photoMetricInterpretation) { - return photoMetricInterpretation === 'RGB' || photoMetricInterpretation === 'PALETTE COLOR' || photoMetricInterpretation === 'YBR_FULL' || photoMetricInterpretation === 'YBR_FULL_422' || photoMetricInterpretation === 'YBR_PARTIAL_422' || photoMetricInterpretation === 'YBR_PARTIAL_420' || photoMetricInterpretation === 'YBR_RCT' || photoMetricInterpretation === 'YBR_ICT'; -}); - -/***/ }), - -/***/ "./imageLoader/isJPEGBaseline8BitColor.js": -/*!************************************************!*\ - !*** ./imageLoader/isJPEGBaseline8BitColor.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -function isJPEGBaseline8BitColor(imageFrame, transferSyntax) { - transferSyntax = transferSyntax || imageFrame.transferSyntax; - - if (imageFrame.bitsAllocated === 8 && transferSyntax === '1.2.840.10008.1.2.4.50' && (imageFrame.samplesPerPixel === 3 || imageFrame.samplesPerPixel === 4)) { - return true; - } -} - -/* harmony default export */ __webpack_exports__["default"] = (isJPEGBaseline8BitColor); - -/***/ }), - -/***/ "./imageLoader/registerLoaders.js": -/*!****************************************!*\ - !*** ./imageLoader/registerLoaders.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _wadors_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wadors/index.js */ "./imageLoader/wadors/index.js"); -/* harmony import */ var _wadouri_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./wadouri/index.js */ "./imageLoader/wadouri/index.js"); - - -/** - * Register the WADO-URI and WADO-RS image loaders and metaData providers - * with an instance of Cornerstone Core. - * - * @param cornerstone The Cornerstone Core library to register the image loaders with - */ - -function registerLoaders(cornerstone) { - _wadors_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].register(cornerstone); - _wadouri_index_js__WEBPACK_IMPORTED_MODULE_1__["default"].register(cornerstone); -} - -/* harmony default export */ __webpack_exports__["default"] = (registerLoaders); - -/***/ }), - -/***/ "./imageLoader/wadors/findIndexOfString.js": -/*!*************************************************!*\ - !*** ./imageLoader/wadors/findIndexOfString.js ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -function checkToken(token, data, dataOffset) { - if (dataOffset + token.length > data.length) { - return false; - } - - var endIndex = dataOffset; - - for (var i = 0; i < token.length; i++) { - if (token[i] !== data[endIndex++]) { - return false; - } - } - - return true; -} - -function stringToUint8Array(str) { - var uint = new Uint8Array(str.length); - - for (var i = 0, j = str.length; i < j; i++) { - uint[i] = str.charCodeAt(i); - } - - return uint; -} - -function findIndexOfString(data, str, offset) { - offset = offset || 0; - var token = stringToUint8Array(str); - - for (var i = offset; i < data.length; i++) { - if (token[0] === data[i]) { - // console.log('match @', i); - if (checkToken(token, data, i)) { - return i; - } - } - } - - return -1; -} - -/* harmony default export */ __webpack_exports__["default"] = (findIndexOfString); - -/***/ }), - -/***/ "./imageLoader/wadors/getPixelData.js": -/*!********************************************!*\ - !*** ./imageLoader/wadors/getPixelData.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../internal/index.js */ "./imageLoader/internal/index.js"); -/* harmony import */ var _findIndexOfString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./findIndexOfString.js */ "./imageLoader/wadors/findIndexOfString.js"); - - - -function findBoundary(header) { - for (var i = 0; i < header.length; i++) { - if (header[i].substr(0, 2) === '--') { - return header[i]; - } - } -} - -function findContentType(header) { - for (var i = 0; i < header.length; i++) { - if (header[i].substr(0, 13) === 'Content-Type:') { - return header[i].substr(13).trim(); - } - } -} - -function uint8ArrayToString(data, offset, length) { - offset = offset || 0; - length = length || data.length - offset; - var str = ''; - - for (var i = offset; i < offset + length; i++) { - str += String.fromCharCode(data[i]); - } - - return str; -} - -function getPixelData(uri, imageId) { - var mediaType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'application/octet-stream'; - var headers = { - accept: mediaType - }; - return new Promise(function (resolve, reject) { - var loadPromise = Object(_internal_index_js__WEBPACK_IMPORTED_MODULE_0__["xhrRequest"])(uri, imageId, headers); - loadPromise.then(function (imageFrameAsArrayBuffer - /* , xhr*/ - ) { - // request succeeded, Parse the multi-part mime response - var response = new Uint8Array(imageFrameAsArrayBuffer); // First look for the multipart mime header - - var tokenIndex = Object(_findIndexOfString_js__WEBPACK_IMPORTED_MODULE_1__["default"])(response, '\r\n\r\n'); - - if (tokenIndex === -1) { - reject(new Error('invalid response - no multipart mime header')); - } - - var header = uint8ArrayToString(response, 0, tokenIndex); // Now find the boundary marker - - var split = header.split('\r\n'); - var boundary = findBoundary(split); - - if (!boundary) { - reject(new Error('invalid response - no boundary marker')); - } - - var offset = tokenIndex + 4; // skip over the \r\n\r\n - // find the terminal boundary marker - - var endIndex = Object(_findIndexOfString_js__WEBPACK_IMPORTED_MODULE_1__["default"])(response, boundary, offset); - - if (endIndex === -1) { - reject(new Error('invalid response - terminating boundary not found')); - } // Remove \r\n from the length - - - var length = endIndex - offset - 2; // return the info for this pixel data - - resolve({ - contentType: findContentType(split), - imageFrame: { - pixelData: new Uint8Array(imageFrameAsArrayBuffer, offset, length) - } - }); - }); - }); -} - -/* harmony default export */ __webpack_exports__["default"] = (getPixelData); - -/***/ }), - -/***/ "./imageLoader/wadors/index.js": -/*!*************************************!*\ - !*** ./imageLoader/wadors/index.js ***! - \*************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _metaData_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./metaData/index.js */ "./imageLoader/wadors/metaData/index.js"); -/* harmony import */ var _findIndexOfString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./findIndexOfString.js */ "./imageLoader/wadors/findIndexOfString.js"); -/* harmony import */ var _getPixelData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getPixelData.js */ "./imageLoader/wadors/getPixelData.js"); -/* harmony import */ var _metaDataManager_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./metaDataManager.js */ "./imageLoader/wadors/metaDataManager.js"); -/* harmony import */ var _loadImage_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./loadImage.js */ "./imageLoader/wadors/loadImage.js"); -/* harmony import */ var _register_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./register.js */ "./imageLoader/wadors/register.js"); - - - - - - -var metaData = { - getNumberString: _metaData_index_js__WEBPACK_IMPORTED_MODULE_0__["getNumberString"], - getNumberValue: _metaData_index_js__WEBPACK_IMPORTED_MODULE_0__["getNumberValue"], - getNumberValues: _metaData_index_js__WEBPACK_IMPORTED_MODULE_0__["getNumberValues"], - getValue: _metaData_index_js__WEBPACK_IMPORTED_MODULE_0__["getValue"], - metaDataProvider: _metaData_index_js__WEBPACK_IMPORTED_MODULE_0__["metaDataProvider"] -}; -/* harmony default export */ __webpack_exports__["default"] = ({ - metaData: metaData, - findIndexOfString: _findIndexOfString_js__WEBPACK_IMPORTED_MODULE_1__["default"], - getPixelData: _getPixelData_js__WEBPACK_IMPORTED_MODULE_2__["default"], - loadImage: _loadImage_js__WEBPACK_IMPORTED_MODULE_4__["default"], - metaDataManager: _metaDataManager_js__WEBPACK_IMPORTED_MODULE_3__["default"], - register: _register_js__WEBPACK_IMPORTED_MODULE_5__["default"] -}); - -/***/ }), - -/***/ "./imageLoader/wadors/loadImage.js": -/*!*****************************************!*\ - !*** ./imageLoader/wadors/loadImage.js ***! - \*****************************************/ -/*! exports provided: getTransferSyntaxForContentType, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTransferSyntaxForContentType", function() { return getTransferSyntaxForContentType; }); -/* harmony import */ var _metaDataManager_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./metaDataManager.js */ "./imageLoader/wadors/metaDataManager.js"); -/* harmony import */ var _getPixelData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getPixelData.js */ "./imageLoader/wadors/getPixelData.js"); -/* harmony import */ var _createImage_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../createImage.js */ "./imageLoader/createImage.js"); - - - -/** - * Helper method to extract the transfer-syntax from the response of the server. - * @param {string} contentType The value of the content-type header as returned by the WADO-RS server. - * @return The transfer-syntax as announced by the server, or Implicit Little Endian by default. - */ - -function getTransferSyntaxForContentType(contentType) { - var defaultTransferSyntax = '1.2.840.10008.1.2'; // Default is Implicit Little Endian. - - if (!contentType) { - return defaultTransferSyntax; - } // Browse through the content type parameters - - - var parameters = contentType.split(';'); - var params = {}; - parameters.forEach(function (parameter) { - // Look for a transfer-syntax=XXXX pair - var parameterValues = parameter.split('='); - - if (parameterValues.length !== 2) { - return; - } - - var value = parameterValues[1].trim().replace(/"/g, ''); - params[parameterValues[0].trim()] = value; - }); // This is useful if the PACS doesn't respond with a syntax - // in the content type. - // http://dicom.nema.org/medical/dicom/current/output/chtml/part18/chapter_6.html#table_6.1.1.8-3b - - var defaultTransferSyntaxByType = { - 'image/jpeg': '1.2.840.10008.1.2.4.70', - 'image/x-dicom-rle': '1.2.840.10008.1.2.5', - 'image/x-jls': '1.2.840.10008.1.2.4.80', - 'image/jp2': '1.2.840.10008.1.2.4.90', - 'image/jpx': '1.2.840.10008.1.2.4.92' - }; - - if (params['transfer-syntax']) { - return params['transfer-syntax']; - } else if (contentType && !Object.keys(params).length && defaultTransferSyntaxByType[contentType]) { - // dcm4che seems to be reporting the content type as just 'image/jp2'? - return defaultTransferSyntaxByType[contentType]; - } else if (params.type && defaultTransferSyntaxByType[params.type]) { - return defaultTransferSyntaxByType[params.type]; - } - - return defaultTransferSyntax; -} - -function loadImage(imageId, options) { - var start = new Date().getTime(); - var uri = imageId.substring(7); - var promise = new Promise(function (resolve, reject) { - // check to make sure we have metadata for this imageId - var metaData = _metaDataManager_js__WEBPACK_IMPORTED_MODULE_0__["default"].get(imageId); - - if (metaData === undefined) { - var error = new Error("no metadata for imageId ".concat(imageId)); - return reject(error); - } // TODO: load bulk data items that we might need - - - var mediaType = 'multipart/related; type="application/octet-stream"'; // 'image/dicom+jp2'; - // get the pixel data from the server - - Object(_getPixelData_js__WEBPACK_IMPORTED_MODULE_1__["default"])(uri, imageId, mediaType).then(function (result) { - var transferSyntax = getTransferSyntaxForContentType(result.contentType); - var pixelData = result.imageFrame.pixelData; - var imagePromise = Object(_createImage_js__WEBPACK_IMPORTED_MODULE_2__["default"])(imageId, pixelData, transferSyntax, options); - imagePromise.then(function (image) { - // add the loadTimeInMS property - var end = new Date().getTime(); - image.loadTimeInMS = end - start; - resolve(image); - }, reject); - }, reject); - }); - return { - promise: promise, - cancelFn: undefined - }; -} - -/* harmony default export */ __webpack_exports__["default"] = (loadImage); - -/***/ }), - -/***/ "./imageLoader/wadors/metaData/getNumberString.js": -/*!********************************************************!*\ - !*** ./imageLoader/wadors/metaData/getNumberString.js ***! - \********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _getValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getValue.js */ "./imageLoader/wadors/metaData/getValue.js"); - -/** - * Returns the first string value as a Javascript number - * - * @param element - The javascript object for the specified element in the metadata - * @param [index] - the index of the value in a multi-valued element, default is 0 - * @param [defaultValue] - The default value to return if the element does not exist - * @returns {*} - */ - -function getNumberString(element, index, defaultValue) { - var value = Object(_getValue_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element, index, defaultValue); - - if (value === undefined) { - return; - } - - return parseFloat(value); -} - -/* harmony default export */ __webpack_exports__["default"] = (getNumberString); - -/***/ }), - -/***/ "./imageLoader/wadors/metaData/getNumberValue.js": -/*!*******************************************************!*\ - !*** ./imageLoader/wadors/metaData/getNumberValue.js ***! - \*******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _getValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getValue.js */ "./imageLoader/wadors/metaData/getValue.js"); - - -function getNumberValue(element, index) { - var value = Object(_getValue_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element, index); - - if (value === undefined) { - return; - } - - return parseFloat(value); -} - -/* harmony default export */ __webpack_exports__["default"] = (getNumberValue); - -/***/ }), - -/***/ "./imageLoader/wadors/metaData/getNumberValues.js": -/*!********************************************************!*\ - !*** ./imageLoader/wadors/metaData/getNumberValues.js ***! - \********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/** - * Returns the values as an array of javascript numbers - * - * @param element - The javascript object for the specified element in the metadata - * @param [minimumLength] - the minimum number of values - * @returns {*} - */ -function getNumberValues(element, minimumLength) { - if (!element) { - return; - } // Value is not present if the attribute has a zero length value - - - if (!element.Value) { - return; - } // make sure we have the expected length - - - if (minimumLength && element.Value.length < minimumLength) { - return; - } - - var values = []; - - for (var i = 0; i < element.Value.length; i++) { - values.push(parseFloat(element.Value[i])); - } - - return values; -} - -/* harmony default export */ __webpack_exports__["default"] = (getNumberValues); - -/***/ }), - -/***/ "./imageLoader/wadors/metaData/getOverlayPlaneModule.js": -/*!**************************************************************!*\ - !*** ./imageLoader/wadors/metaData/getOverlayPlaneModule.js ***! - \**************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return getOverlayPlaneModule; }); -/* harmony import */ var _getValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getValue.js */ "./imageLoader/wadors/metaData/getValue.js"); -/* harmony import */ var _getNumberValue_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getNumberValue.js */ "./imageLoader/wadors/metaData/getNumberValue.js"); - - -function getOverlayPlaneModule(metaData) { - var overlays = []; - - for (var overlayGroup = 0x00; overlayGroup <= 0x1E; overlayGroup += 0x02) { - var groupStr = "x60".concat(overlayGroup.toString(16)); - - if (groupStr.length === 4) { - groupStr = "x600".concat(overlayGroup.toString(16)); - } - - var data = Object(_getValue_js__WEBPACK_IMPORTED_MODULE_0__["default"])(metaData["".concat(groupStr, "3000")]); - - if (!data) { - continue; - } - - var pixelData = []; - - for (var i = 0; i < data.length; i++) { - for (var k = 0; k < 8; k++) { - var byte_as_int = metaData.Value[data.dataOffset + i]; - pixelData[i * 8 + k] = byte_as_int >> k & 1; // eslint-disable-line no-bitwise - } - } - - overlays.push({ - rows: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_1__["default"])(metaData["".concat(groupStr, "0010")]), - columns: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_1__["default"])(metaData["".concat(groupStr, "0011")]), - type: Object(_getValue_js__WEBPACK_IMPORTED_MODULE_0__["default"])(metaData["".concat(groupStr, "0040")]), - x: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_1__["default"])(metaData["".concat(groupStr, "0050")], 1) - 1, - y: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_1__["default"])(metaData["".concat(groupStr, "0050")], 0) - 1, - pixelData: pixelData, - description: Object(_getValue_js__WEBPACK_IMPORTED_MODULE_0__["default"])(metaData["".concat(groupStr, "0022")]), - label: Object(_getValue_js__WEBPACK_IMPORTED_MODULE_0__["default"])(metaData["".concat(groupStr, "1500")]), - roiArea: Object(_getValue_js__WEBPACK_IMPORTED_MODULE_0__["default"])(metaData["".concat(groupStr, "1301")]), - roiMean: Object(_getValue_js__WEBPACK_IMPORTED_MODULE_0__["default"])(metaData["".concat(groupStr, "1302")]), - roiStandardDeviation: Object(_getValue_js__WEBPACK_IMPORTED_MODULE_0__["default"])(metaData["".concat(groupStr, "1303")]) - }); - } - - return { - overlays: overlays - }; -} - -/***/ }), - -/***/ "./imageLoader/wadors/metaData/getValue.js": -/*!*************************************************!*\ - !*** ./imageLoader/wadors/metaData/getValue.js ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/** - * Returns the raw value - * - * @param element - The javascript object for the specified element in the metadata - * @param [index] - the index of the value in a multi-valued element, default is 0 - * @param [defaultValue] - The default value to return if the element does not exist - * @returns {*} - */ -function getValue(element, index, defaultValue) { - index = index || 0; - - if (!element) { - return defaultValue; - } // Value is not present if the attribute has a zero length value - - - if (!element.Value) { - return defaultValue; - } // make sure we have the specified index - - - if (element.Value.length <= index) { - return defaultValue; - } - - return element.Value[index]; -} - -/* harmony default export */ __webpack_exports__["default"] = (getValue); - -/***/ }), - -/***/ "./imageLoader/wadors/metaData/index.js": -/*!**********************************************!*\ - !*** ./imageLoader/wadors/metaData/index.js ***! - \**********************************************/ -/*! exports provided: getNumberString, getNumberValue, getNumberValues, getValue, metaDataProvider */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _getNumberString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNumberString.js */ "./imageLoader/wadors/metaData/getNumberString.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getNumberString", function() { return _getNumberString_js__WEBPACK_IMPORTED_MODULE_0__["default"]; }); - -/* harmony import */ var _getNumberValue_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getNumberValue.js */ "./imageLoader/wadors/metaData/getNumberValue.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getNumberValue", function() { return _getNumberValue_js__WEBPACK_IMPORTED_MODULE_1__["default"]; }); - -/* harmony import */ var _getNumberValues_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getNumberValues.js */ "./imageLoader/wadors/metaData/getNumberValues.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getNumberValues", function() { return _getNumberValues_js__WEBPACK_IMPORTED_MODULE_2__["default"]; }); - -/* harmony import */ var _getValue_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getValue.js */ "./imageLoader/wadors/metaData/getValue.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getValue", function() { return _getValue_js__WEBPACK_IMPORTED_MODULE_3__["default"]; }); - -/* harmony import */ var _metaDataProvider_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./metaDataProvider.js */ "./imageLoader/wadors/metaData/metaDataProvider.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "metaDataProvider", function() { return _metaDataProvider_js__WEBPACK_IMPORTED_MODULE_4__["default"]; }); - - - - - - - -/***/ }), - -/***/ "./imageLoader/wadors/metaData/metaDataProvider.js": -/*!*********************************************************!*\ - !*** ./imageLoader/wadors/metaData/metaDataProvider.js ***! - \*********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _externalModules_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../externalModules.js */ "./externalModules.js"); -/* harmony import */ var _getNumberValues_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getNumberValues.js */ "./imageLoader/wadors/metaData/getNumberValues.js"); -/* harmony import */ var _getValue_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getValue.js */ "./imageLoader/wadors/metaData/getValue.js"); -/* harmony import */ var _getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getNumberValue.js */ "./imageLoader/wadors/metaData/getNumberValue.js"); -/* harmony import */ var _getOverlayPlaneModule_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getOverlayPlaneModule.js */ "./imageLoader/wadors/metaData/getOverlayPlaneModule.js"); -/* harmony import */ var _metaDataManager_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../metaDataManager.js */ "./imageLoader/wadors/metaDataManager.js"); - - - - - - - -function metaDataProvider(type, imageId) { - var dicomParser = _externalModules_js__WEBPACK_IMPORTED_MODULE_0__["default"].dicomParser; - var metaData = _metaDataManager_js__WEBPACK_IMPORTED_MODULE_5__["default"].get(imageId); - - if (!metaData) { - return; - } - - if (type === 'generalSeriesModule') { - return { - modality: Object(_getValue_js__WEBPACK_IMPORTED_MODULE_2__["default"])(metaData['00080060']), - seriesInstanceUID: Object(_getValue_js__WEBPACK_IMPORTED_MODULE_2__["default"])(metaData['0020000e']), - seriesNumber: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00200011']), - studyInstanceUID: Object(_getValue_js__WEBPACK_IMPORTED_MODULE_2__["default"])(metaData['0020000d']), - seriesDate: dicomParser.parseDA(Object(_getValue_js__WEBPACK_IMPORTED_MODULE_2__["default"])(metaData['00080021'])), - seriesTime: dicomParser.parseTM(Object(_getValue_js__WEBPACK_IMPORTED_MODULE_2__["default"])(metaData['00080031'], 0, '')) - }; - } - - if (type === 'patientStudyModule') { - return { - patientAge: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00101010']), - patientSize: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00101020']), - patientWeight: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00101030']) - }; - } - - if (type === 'imagePlaneModule') { - var imageOrientationPatient = Object(_getNumberValues_js__WEBPACK_IMPORTED_MODULE_1__["default"])(metaData['00200037'], 6); - var imagePositionPatient = Object(_getNumberValues_js__WEBPACK_IMPORTED_MODULE_1__["default"])(metaData['00200032'], 3); - var pixelSpacing = Object(_getNumberValues_js__WEBPACK_IMPORTED_MODULE_1__["default"])(metaData['00280030'], 2); - var columnPixelSpacing = null; - var rowPixelSpacing = null; - - if (pixelSpacing) { - rowPixelSpacing = pixelSpacing[0]; - columnPixelSpacing = pixelSpacing[1]; - } - - var rowCosines = null; - var columnCosines = null; - - if (imageOrientationPatient) { - rowCosines = [parseFloat(imageOrientationPatient[0]), parseFloat(imageOrientationPatient[1]), parseFloat(imageOrientationPatient[2])]; - columnCosines = [parseFloat(imageOrientationPatient[3]), parseFloat(imageOrientationPatient[4]), parseFloat(imageOrientationPatient[5])]; - } - - return { - frameOfReferenceUID: Object(_getValue_js__WEBPACK_IMPORTED_MODULE_2__["default"])(metaData['00200052']), - rows: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00280010']), - columns: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00280011']), - imageOrientationPatient: imageOrientationPatient, - rowCosines: rowCosines, - columnCosines: columnCosines, - imagePositionPatient: imagePositionPatient, - sliceThickness: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00180050']), - sliceLocation: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00201041']), - pixelSpacing: pixelSpacing, - rowPixelSpacing: rowPixelSpacing, - columnPixelSpacing: columnPixelSpacing - }; - } - - if (type === 'imagePixelModule') { - return { - samplesPerPixel: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00280002']), - photometricInterpretation: Object(_getValue_js__WEBPACK_IMPORTED_MODULE_2__["default"])(metaData['00280004']), - rows: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00280010']), - columns: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00280011']), - bitsAllocated: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00280100']), - bitsStored: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00280101']), - highBit: Object(_getValue_js__WEBPACK_IMPORTED_MODULE_2__["default"])(metaData['00280102']), - pixelRepresentation: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00280103']), - planarConfiguration: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00280006']), - pixelAspectRatio: Object(_getValue_js__WEBPACK_IMPORTED_MODULE_2__["default"])(metaData['00280034']), - smallestPixelValue: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00280106']), - largestPixelValue: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00280107']), - redPaletteColorLookupTableDescriptor: Object(_getNumberValues_js__WEBPACK_IMPORTED_MODULE_1__["default"])(metaData['00281101']), - greenPaletteColorLookupTableDescriptor: Object(_getNumberValues_js__WEBPACK_IMPORTED_MODULE_1__["default"])(metaData['00281102']), - bluePaletteColorLookupTableDescriptor: Object(_getNumberValues_js__WEBPACK_IMPORTED_MODULE_1__["default"])(metaData['00281103']), - redPaletteColorLookupTableData: Object(_getNumberValues_js__WEBPACK_IMPORTED_MODULE_1__["default"])(metaData['00281201']), - greenPaletteColorLookupTableData: Object(_getNumberValues_js__WEBPACK_IMPORTED_MODULE_1__["default"])(metaData['00281202']), - bluePaletteColorLookupTableData: Object(_getNumberValues_js__WEBPACK_IMPORTED_MODULE_1__["default"])(metaData['00281203']) - }; - } - - if (type === 'voiLutModule') { - return { - // TODO VOT LUT Sequence - windowCenter: Object(_getNumberValues_js__WEBPACK_IMPORTED_MODULE_1__["default"])(metaData['00281050'], 1), - windowWidth: Object(_getNumberValues_js__WEBPACK_IMPORTED_MODULE_1__["default"])(metaData['00281051'], 1) - }; - } - - if (type === 'modalityLutModule') { - return { - // TODO VOT LUT Sequence - rescaleIntercept: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00281052']), - rescaleSlope: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(metaData['00281053']), - rescaleType: Object(_getValue_js__WEBPACK_IMPORTED_MODULE_2__["default"])(metaData['00281054']) - }; - } - - if (type === 'sopCommonModule') { - return { - sopClassUID: Object(_getValue_js__WEBPACK_IMPORTED_MODULE_2__["default"])(metaData['00080016']), - sopInstanceUID: Object(_getValue_js__WEBPACK_IMPORTED_MODULE_2__["default"])(metaData['00080018']) - }; - } - - if (type === 'petIsotopeModule') { - var radiopharmaceuticalInfo = Object(_getValue_js__WEBPACK_IMPORTED_MODULE_2__["default"])(metaData['00540016']); - - if (radiopharmaceuticalInfo === undefined) { - return; - } - - return { - radiopharmaceuticalInfo: { - radiopharmaceuticalStartTime: dicomParser.parseTM(Object(_getValue_js__WEBPACK_IMPORTED_MODULE_2__["default"])(radiopharmaceuticalInfo['00181072'], 0, '')), - radionuclideTotalDose: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(radiopharmaceuticalInfo['00181074']), - radionuclideHalfLife: Object(_getNumberValue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(radiopharmaceuticalInfo['00181075']) - } - }; - } - - if (type === 'overlayPlaneModule') { - return Object(_getOverlayPlaneModule_js__WEBPACK_IMPORTED_MODULE_4__["default"])(metaData); - } -} - -/* harmony default export */ __webpack_exports__["default"] = (metaDataProvider); - -/***/ }), - -/***/ "./imageLoader/wadors/metaDataManager.js": -/*!***********************************************!*\ - !*** ./imageLoader/wadors/metaDataManager.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -var imageIds = []; - -function add(imageId, metadata) { - imageIds[imageId] = metadata; -} - -function get(imageId) { - return imageIds[imageId]; -} - -function remove(imageId) { - imageIds[imageId] = undefined; -} - -function purge() { - imageIds = []; -} - -/* harmony default export */ __webpack_exports__["default"] = ({ - add: add, - get: get, - remove: remove, - purge: purge -}); - -/***/ }), - -/***/ "./imageLoader/wadors/register.js": -/*!****************************************!*\ - !*** ./imageLoader/wadors/register.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _loadImage_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./loadImage.js */ "./imageLoader/wadors/loadImage.js"); -/* harmony import */ var _metaData_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./metaData/index.js */ "./imageLoader/wadors/metaData/index.js"); - - -/* harmony default export */ __webpack_exports__["default"] = (function (cornerstone) { - // register wadors scheme and metadata provider - cornerstone.registerImageLoader('wadors', _loadImage_js__WEBPACK_IMPORTED_MODULE_0__["default"]); - cornerstone.metaData.addProvider(_metaData_index_js__WEBPACK_IMPORTED_MODULE_1__["metaDataProvider"]); -}); - -/***/ }), - -/***/ "./imageLoader/wadouri/dataSetCacheManager.js": -/*!****************************************************!*\ - !*** ./imageLoader/wadouri/dataSetCacheManager.js ***! - \****************************************************/ -/*! exports provided: getInfo, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getInfo", function() { return getInfo; }); -/* harmony import */ var _externalModules_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../externalModules.js */ "./externalModules.js"); -/* harmony import */ var _internal_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../internal/index.js */ "./imageLoader/internal/index.js"); - - -/** - * This object supports loading of DICOM P10 dataset from a uri and caching it so it can be accessed - * by the caller. This allows a caller to access the datasets without having to go through cornerstone's - * image loader mechanism. One reason a caller may need to do this is to determine the number of frames - * in a multiframe sop instance so it can create the imageId's correctly. - */ - -var cacheSizeInBytes = 0; -var loadedDataSets = {}; -var promises = {}; // returns true if the wadouri for the specified index has been loaded - -function isLoaded(uri) { - return loadedDataSets[uri] !== undefined; -} - -function get(uri) { - if (!loadedDataSets[uri]) { - return; - } - - return loadedDataSets[uri].dataSet; -} // loads the dicom dataset from the wadouri sp - - -function load(uri) { - var loadRequest = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _internal_index_js__WEBPACK_IMPORTED_MODULE_1__["xhrRequest"]; - var imageId = arguments.length > 2 ? arguments[2] : undefined; - var cornerstone = _externalModules_js__WEBPACK_IMPORTED_MODULE_0__["default"].cornerstone, - dicomParser = _externalModules_js__WEBPACK_IMPORTED_MODULE_0__["default"].dicomParser; // if already loaded return it right away - - if (loadedDataSets[uri]) { - // console.log('using loaded dataset ' + uri); - return new Promise(function (resolve) { - loadedDataSets[uri].cacheCount++; - resolve(loadedDataSets[uri].dataSet); - }); - } // if we are currently loading this uri, increment the cacheCount and return its promise - - - if (promises[uri]) { - // console.log('returning existing load promise for ' + uri); - promises[uri].cacheCount++; - return promises[uri]; - } // This uri is not loaded or being loaded, load it via an xhrRequest - - - var loadDICOMPromise = loadRequest(uri, imageId); // handle success and failure of the XHR request load - - var promise = new Promise(function (resolve, reject) { - loadDICOMPromise.then(function (dicomPart10AsArrayBuffer - /* , xhr*/ - ) { - var byteArray = new Uint8Array(dicomPart10AsArrayBuffer); // Reject the promise if parsing the dicom file fails - - var dataSet; - - try { - dataSet = dicomParser.parseDicom(byteArray); - } catch (error) { - return reject(error); - } - - loadedDataSets[uri] = { - dataSet: dataSet, - cacheCount: promise.cacheCount - }; - cacheSizeInBytes += dataSet.byteArray.length; - resolve(dataSet); - cornerstone.triggerEvent(cornerstone.events, 'datasetscachechanged', { - uri: uri, - action: 'loaded', - cacheInfo: getInfo() - }); - }, reject).then(function () { - // Remove the promise if success - delete promises[uri]; - }, function () { - // Remove the promise if failure - delete promises[uri]; - }); - }); - promise.cacheCount = 1; - promises[uri] = promise; - return promise; -} // remove the cached/loaded dicom dataset for the specified wadouri to free up memory - - -function unload(uri) { - var cornerstone = _externalModules_js__WEBPACK_IMPORTED_MODULE_0__["default"].cornerstone; // console.log('unload for ' + uri); - - if (loadedDataSets[uri]) { - loadedDataSets[uri].cacheCount--; - - if (loadedDataSets[uri].cacheCount === 0) { - // console.log('removing loaded dataset for ' + uri); - cacheSizeInBytes -= loadedDataSets[uri].dataSet.byteArray.length; - delete loadedDataSets[uri]; - cornerstone.triggerEvent(cornerstone.events, 'datasetscachechanged', { - uri: uri, - action: 'unloaded', - cacheInfo: getInfo() - }); - } - } -} - -function getInfo() { - return { - cacheSizeInBytes: cacheSizeInBytes, - numberOfDataSetsCached: Object.keys(loadedDataSets).length - }; -} // removes all cached datasets from memory - -function purge() { - loadedDataSets = {}; - promises = {}; -} - -/* harmony default export */ __webpack_exports__["default"] = ({ - isLoaded: isLoaded, - load: load, - unload: unload, - getInfo: getInfo, - purge: purge, - get: get -}); - -/***/ }), - -/***/ "./imageLoader/wadouri/fileManager.js": -/*!********************************************!*\ - !*** ./imageLoader/wadouri/fileManager.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -var files = []; - -function add(file) { - var fileIndex = files.push(file); - return "dicomfile:".concat(fileIndex - 1); -} - -function get(index) { - return files[index]; -} - -function remove(index) { - files[index] = undefined; -} - -function purge() { - files = []; -} - -/* harmony default export */ __webpack_exports__["default"] = ({ - add: add, - get: get, - remove: remove, - purge: purge -}); - -/***/ }), - -/***/ "./imageLoader/wadouri/getEncapsulatedImageFrame.js": -/*!**********************************************************!*\ - !*** ./imageLoader/wadouri/getEncapsulatedImageFrame.js ***! - \**********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return getEncapsulatedImageFrame; }); -/* harmony import */ var _externalModules_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../externalModules.js */ "./externalModules.js"); - -/** - * Function to deal with extracting an image frame from an encapsulated data set. - */ - -function framesAreFragmented(dataSet) { - var numberOfFrames = dataSet.intString('x00280008'); - var pixelDataElement = dataSet.elements.x7fe00010; - return numberOfFrames !== pixelDataElement.fragments.length; -} - -function getEncapsulatedImageFrame(dataSet, frameIndex) { - var dicomParser = _externalModules_js__WEBPACK_IMPORTED_MODULE_0__["default"].dicomParser; - - if (dataSet.elements.x7fe00010 && dataSet.elements.x7fe00010.basicOffsetTable.length) { - // Basic Offset Table is not empty - return dicomParser.readEncapsulatedImageFrame(dataSet, dataSet.elements.x7fe00010, frameIndex); - } // Empty basic offset table - - - if (framesAreFragmented(dataSet)) { - var basicOffsetTable = dicomParser.createJPEGBasicOffsetTable(dataSet, dataSet.elements.x7fe00010); - return dicomParser.readEncapsulatedImageFrame(dataSet, dataSet.elements.x7fe00010, frameIndex, basicOffsetTable); - } - - return dicomParser.readEncapsulatedPixelDataFromFragments(dataSet, dataSet.elements.x7fe00010, frameIndex); -} - -/***/ }), - -/***/ "./imageLoader/wadouri/getPixelData.js": -/*!*********************************************!*\ - !*** ./imageLoader/wadouri/getPixelData.js ***! - \*********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _getEncapsulatedImageFrame_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getEncapsulatedImageFrame.js */ "./imageLoader/wadouri/getEncapsulatedImageFrame.js"); -/* harmony import */ var _getUncompressedImageFrame_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getUncompressedImageFrame.js */ "./imageLoader/wadouri/getUncompressedImageFrame.js"); - - - -function getPixelData(dataSet) { - var frameIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; - var pixelDataElement = dataSet.elements.x7fe00010 || dataSet.elements.x7fe00008; - - if (!pixelDataElement) { - return null; - } - - if (pixelDataElement.encapsulatedPixelData) { - return Object(_getEncapsulatedImageFrame_js__WEBPACK_IMPORTED_MODULE_0__["default"])(dataSet, frameIndex); - } - - return Object(_getUncompressedImageFrame_js__WEBPACK_IMPORTED_MODULE_1__["default"])(dataSet, frameIndex); -} - -/* harmony default export */ __webpack_exports__["default"] = (getPixelData); - -/***/ }), - -/***/ "./imageLoader/wadouri/getUncompressedImageFrame.js": -/*!**********************************************************!*\ - !*** ./imageLoader/wadouri/getUncompressedImageFrame.js ***! - \**********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _unpackBinaryFrame_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./unpackBinaryFrame.js */ "./imageLoader/wadouri/unpackBinaryFrame.js"); - -/** - * Function to deal with extracting an image frame from an encapsulated data set. - */ - -function getUncompressedImageFrame(dataSet, frameIndex) { - var pixelDataElement = dataSet.elements.x7fe00010 || dataSet.elements.x7fe00008; - var bitsAllocated = dataSet.uint16('x00280100'); - var rows = dataSet.uint16('x00280010'); - var columns = dataSet.uint16('x00280011'); - var samplesPerPixel = dataSet.uint16('x00280002'); - var pixelDataOffset = pixelDataElement.dataOffset; - var pixelsPerFrame = rows * columns * samplesPerPixel; - var frameOffset; - - if (bitsAllocated === 8) { - frameOffset = pixelDataOffset + frameIndex * pixelsPerFrame; - - if (frameOffset >= dataSet.byteArray.length) { - throw new Error('frame exceeds size of pixelData'); - } - - return new Uint8Array(dataSet.byteArray.buffer, frameOffset, pixelsPerFrame); - } else if (bitsAllocated === 16) { - frameOffset = pixelDataOffset + frameIndex * pixelsPerFrame * 2; - - if (frameOffset >= dataSet.byteArray.length) { - throw new Error('frame exceeds size of pixelData'); - } - - return new Uint8Array(dataSet.byteArray.buffer, frameOffset, pixelsPerFrame * 2); - } else if (bitsAllocated === 1) { - frameOffset = pixelDataOffset + frameIndex * pixelsPerFrame * 0.125; - - if (frameOffset >= dataSet.byteArray.length) { - throw new Error('frame exceeds size of pixelData'); - } - - return Object(_unpackBinaryFrame_js__WEBPACK_IMPORTED_MODULE_0__["default"])(dataSet.byteArray, frameOffset, pixelsPerFrame); - } else if (bitsAllocated === 32) { - frameOffset = pixelDataOffset + frameIndex * pixelsPerFrame * 4; - - if (frameOffset >= dataSet.byteArray.length) { - throw new Error('frame exceeds size of pixelData'); - } - - return new Uint8Array(dataSet.byteArray.buffer, frameOffset, pixelsPerFrame * 4); - } - - throw new Error('unsupported pixel format'); -} - -/* harmony default export */ __webpack_exports__["default"] = (getUncompressedImageFrame); - -/***/ }), - -/***/ "./imageLoader/wadouri/index.js": -/*!**************************************!*\ - !*** ./imageLoader/wadouri/index.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _metaData_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./metaData/index.js */ "./imageLoader/wadouri/metaData/index.js"); -/* harmony import */ var _dataSetCacheManager_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dataSetCacheManager.js */ "./imageLoader/wadouri/dataSetCacheManager.js"); -/* harmony import */ var _fileManager_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fileManager.js */ "./imageLoader/wadouri/fileManager.js"); -/* harmony import */ var _getEncapsulatedImageFrame_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getEncapsulatedImageFrame.js */ "./imageLoader/wadouri/getEncapsulatedImageFrame.js"); -/* harmony import */ var _getUncompressedImageFrame_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getUncompressedImageFrame.js */ "./imageLoader/wadouri/getUncompressedImageFrame.js"); -/* harmony import */ var _loadFileRequest_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./loadFileRequest.js */ "./imageLoader/wadouri/loadFileRequest.js"); -/* harmony import */ var _loadImage_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./loadImage.js */ "./imageLoader/wadouri/loadImage.js"); -/* harmony import */ var _parseImageId_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./parseImageId.js */ "./imageLoader/wadouri/parseImageId.js"); -/* harmony import */ var _unpackBinaryFrame_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./unpackBinaryFrame.js */ "./imageLoader/wadouri/unpackBinaryFrame.js"); -/* harmony import */ var _register_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./register.js */ "./imageLoader/wadouri/register.js"); - - - - - - - - - - -var metaData = { - getImagePixelModule: _metaData_index_js__WEBPACK_IMPORTED_MODULE_0__["getImagePixelModule"], - getLUTs: _metaData_index_js__WEBPACK_IMPORTED_MODULE_0__["getLUTs"], - getModalityLUTOutputPixelRepresentation: _metaData_index_js__WEBPACK_IMPORTED_MODULE_0__["getModalityLUTOutputPixelRepresentation"], - getNumberValues: _metaData_index_js__WEBPACK_IMPORTED_MODULE_0__["getNumberValues"], - metaDataProvider: _metaData_index_js__WEBPACK_IMPORTED_MODULE_0__["metaDataProvider"] -}; -/* harmony default export */ __webpack_exports__["default"] = ({ - metaData: metaData, - dataSetCacheManager: _dataSetCacheManager_js__WEBPACK_IMPORTED_MODULE_1__["default"], - fileManager: _fileManager_js__WEBPACK_IMPORTED_MODULE_2__["default"], - getEncapsulatedImageFrame: _getEncapsulatedImageFrame_js__WEBPACK_IMPORTED_MODULE_3__["default"], - getUncompressedImageFrame: _getUncompressedImageFrame_js__WEBPACK_IMPORTED_MODULE_4__["default"], - loadFileRequest: _loadFileRequest_js__WEBPACK_IMPORTED_MODULE_5__["default"], - loadImageFromPromise: _loadImage_js__WEBPACK_IMPORTED_MODULE_6__["loadImageFromPromise"], - getLoaderForScheme: _loadImage_js__WEBPACK_IMPORTED_MODULE_6__["getLoaderForScheme"], - loadImage: _loadImage_js__WEBPACK_IMPORTED_MODULE_6__["loadImage"], - parseImageId: _parseImageId_js__WEBPACK_IMPORTED_MODULE_7__["default"], - unpackBinaryFrame: _unpackBinaryFrame_js__WEBPACK_IMPORTED_MODULE_8__["default"], - register: _register_js__WEBPACK_IMPORTED_MODULE_9__["default"] -}); - -/***/ }), - -/***/ "./imageLoader/wadouri/loadFileRequest.js": -/*!************************************************!*\ - !*** ./imageLoader/wadouri/loadFileRequest.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _parseImageId_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./parseImageId.js */ "./imageLoader/wadouri/parseImageId.js"); -/* harmony import */ var _fileManager_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./fileManager.js */ "./imageLoader/wadouri/fileManager.js"); - - - -function loadFileRequest(uri) { - var parsedImageId = Object(_parseImageId_js__WEBPACK_IMPORTED_MODULE_0__["default"])(uri); - var fileIndex = parseInt(parsedImageId.url, 10); - var file = _fileManager_js__WEBPACK_IMPORTED_MODULE_1__["default"].get(fileIndex); - return new Promise(function (resolve, reject) { - var fileReader = new FileReader(); - - fileReader.onload = function (e) { - var dicomPart10AsArrayBuffer = e.target.result; - resolve(dicomPart10AsArrayBuffer); - }; - - fileReader.onerror = reject; - fileReader.readAsArrayBuffer(file); - }); -} - -/* harmony default export */ __webpack_exports__["default"] = (loadFileRequest); - -/***/ }), - -/***/ "./imageLoader/wadouri/loadImage.js": -/*!******************************************!*\ - !*** ./imageLoader/wadouri/loadImage.js ***! - \******************************************/ -/*! exports provided: loadImageFromPromise, getLoaderForScheme, loadImage */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadImageFromPromise", function() { return loadImageFromPromise; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getLoaderForScheme", function() { return getLoaderForScheme; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadImage", function() { return loadImage; }); -/* harmony import */ var _createImage_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createImage.js */ "./imageLoader/createImage.js"); -/* harmony import */ var _parseImageId_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parseImageId.js */ "./imageLoader/wadouri/parseImageId.js"); -/* harmony import */ var _dataSetCacheManager_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataSetCacheManager.js */ "./imageLoader/wadouri/dataSetCacheManager.js"); -/* harmony import */ var _loadFileRequest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./loadFileRequest.js */ "./imageLoader/wadouri/loadFileRequest.js"); -/* harmony import */ var _getPixelData_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getPixelData.js */ "./imageLoader/wadouri/getPixelData.js"); -/* harmony import */ var _internal_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../internal/index.js */ "./imageLoader/internal/index.js"); - - - - - - // add a decache callback function to clear out our dataSetCacheManager - -function addDecache(imageLoadObject, imageId) { - imageLoadObject.decache = function () { - // console.log('decache'); - var parsedImageId = Object(_parseImageId_js__WEBPACK_IMPORTED_MODULE_1__["default"])(imageId); - _dataSetCacheManager_js__WEBPACK_IMPORTED_MODULE_2__["default"].unload(parsedImageId.url); - }; -} - -function loadImageFromPromise(dataSetPromise, imageId) { - var frame = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; - var sharedCacheKey = arguments.length > 3 ? arguments[3] : undefined; - var options = arguments.length > 4 ? arguments[4] : undefined; - var callbacks = arguments.length > 5 ? arguments[5] : undefined; - var start = new Date().getTime(); - var imageLoadObject = { - cancelFn: undefined - }; - imageLoadObject.promise = new Promise(function (resolve, reject) { - dataSetPromise.then(function (dataSet - /* , xhr*/ - ) { - var pixelData = Object(_getPixelData_js__WEBPACK_IMPORTED_MODULE_4__["default"])(dataSet, frame); - var transferSyntax = dataSet.string('x00020010'); - var loadEnd = new Date().getTime(); - var imagePromise = Object(_createImage_js__WEBPACK_IMPORTED_MODULE_0__["default"])(imageId, pixelData, transferSyntax, options); - addDecache(imageLoadObject, imageId); - imagePromise.then(function (image) { - image.data = dataSet; - image.sharedCacheKey = sharedCacheKey; - var end = new Date().getTime(); - image.loadTimeInMS = loadEnd - start; - image.totalTimeInMS = end - start; - - if (callbacks !== undefined && callbacks.imageDoneCallback !== undefined) { - callbacks.imageDoneCallback(image); - } - - resolve(image); - }, function (error) { - // Reject the error, and the dataSet - reject({ - error: error, - dataSet: dataSet - }); - }); - }, function (error) { - // Reject the error - reject({ - error: error - }); - }); - }); - return imageLoadObject; -} - -function loadImageFromDataSet(dataSet, imageId) { - var frame = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; - var sharedCacheKey = arguments.length > 3 ? arguments[3] : undefined; - var options = arguments.length > 4 ? arguments[4] : undefined; - var start = new Date().getTime(); - var promise = new Promise(function (resolve, reject) { - var loadEnd = new Date().getTime(); - var imagePromise; - - try { - var pixelData = Object(_getPixelData_js__WEBPACK_IMPORTED_MODULE_4__["default"])(dataSet, frame); - var transferSyntax = dataSet.string('x00020010'); - imagePromise = Object(_createImage_js__WEBPACK_IMPORTED_MODULE_0__["default"])(imageId, pixelData, transferSyntax, options); - } catch (error) { - // Reject the error, and the dataSet - reject({ - error: error, - dataSet: dataSet - }); - return; - } - - imagePromise.then(function (image) { - image.data = dataSet; - image.sharedCacheKey = sharedCacheKey; - var end = new Date().getTime(); - image.loadTimeInMS = loadEnd - start; - image.totalTimeInMS = end - start; - resolve(image); - }, reject); - }); - return { - promise: promise, - cancelFn: undefined - }; -} - -function getLoaderForScheme(scheme) { - if (scheme === 'dicomweb' || scheme === 'wadouri') { - return _internal_index_js__WEBPACK_IMPORTED_MODULE_5__["xhrRequest"]; - } else if (scheme === 'dicomfile') { - return _loadFileRequest_js__WEBPACK_IMPORTED_MODULE_3__["default"]; - } -} - -function loadImage(imageId) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var parsedImageId = Object(_parseImageId_js__WEBPACK_IMPORTED_MODULE_1__["default"])(imageId); - options = Object.assign({}, options); - var loader = options.loader; - - if (loader === undefined) { - loader = getLoaderForScheme(parsedImageId.scheme); - } else { - delete options.loader; - } // if the dataset for this url is already loaded, use it - - - if (_dataSetCacheManager_js__WEBPACK_IMPORTED_MODULE_2__["default"].isLoaded(parsedImageId.url)) { - var dataSet = _dataSetCacheManager_js__WEBPACK_IMPORTED_MODULE_2__["default"].get(parsedImageId.url, loader, imageId); - return loadImageFromDataSet(dataSet, imageId, parsedImageId.frame, parsedImageId.url, options); - } // load the dataSet via the dataSetCacheManager - - - var dataSetPromise = _dataSetCacheManager_js__WEBPACK_IMPORTED_MODULE_2__["default"].load(parsedImageId.url, loader, imageId); - return loadImageFromPromise(dataSetPromise, imageId, parsedImageId.frame, parsedImageId.url, options); -} - - - -/***/ }), - -/***/ "./imageLoader/wadouri/metaData/getImagePixelModule.js": -/*!*************************************************************!*\ - !*** ./imageLoader/wadouri/metaData/getImagePixelModule.js ***! - \*************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -function getLutDescriptor(dataSet, tag) { - if (!dataSet.elements[tag] || dataSet.elements[tag].length !== 6) { - return; - } - - return [dataSet.uint16(tag, 0), dataSet.uint16(tag, 1), dataSet.uint16(tag, 2)]; -} - -function getLutData(lutDataSet, tag, lutDescriptor) { - var lut = []; - var lutData = lutDataSet.elements[tag]; - - for (var i = 0; i < lutDescriptor[0]; i++) { - // Output range is always unsigned - if (lutDescriptor[2] === 16) { - lut[i] = lutDataSet.uint16(tag, i); - } else { - lut[i] = lutDataSet.byteArray[i + lutData.dataOffset]; - } - } - - return lut; -} - -function populatePaletteColorLut(dataSet, imagePixelModule) { - imagePixelModule.redPaletteColorLookupTableDescriptor = getLutDescriptor(dataSet, 'x00281101'); - imagePixelModule.greenPaletteColorLookupTableDescriptor = getLutDescriptor(dataSet, 'x00281102'); - imagePixelModule.bluePaletteColorLookupTableDescriptor = getLutDescriptor(dataSet, 'x00281103'); // The first Palette Color Lookup Table Descriptor value is the number of entries in the lookup table. - // When the number of table entries is equal to 2ˆ16 then this value shall be 0. - // See http://dicom.nema.org/MEDICAL/DICOM/current/output/chtml/part03/sect_C.7.6.3.html#sect_C.7.6.3.1.5 - - if (imagePixelModule.redPaletteColorLookupTableDescriptor[0] === 0) { - imagePixelModule.redPaletteColorLookupTableDescriptor[0] = 65536; - imagePixelModule.greenPaletteColorLookupTableDescriptor[0] = 65536; - imagePixelModule.bluePaletteColorLookupTableDescriptor[0] = 65536; - } // The third Palette Color Lookup Table Descriptor value specifies the number of bits for each entry in the Lookup Table Data. - // It shall take the value of 8 or 16. - // The LUT Data shall be stored in a format equivalent to 8 bits allocated when the number of bits for each entry is 8, and 16 bits allocated when the number of bits for each entry is 16, where in both cases the high bit is equal to bits allocated-1. - // The third value shall be identical for each of the Red, Green and Blue Palette Color Lookup Table Descriptors. - // - // Note: Some implementations have encoded 8 bit entries with 16 bits allocated, padding the high bits; - // this can be detected by comparing the number of entries specified in the LUT Descriptor with the actual value length of the LUT Data entry. - // The value length in bytes should equal the number of entries if bits allocated is 8, and be twice as long if bits allocated is 16. - - - var numLutEntries = imagePixelModule.redPaletteColorLookupTableDescriptor[0]; - var lutData = dataSet.elements.x00281201; - var lutBitsAllocated = lutData.length === numLutEntries ? 8 : 16; // If the descriptors do not appear to have the correct values, correct them - - if (imagePixelModule.redPaletteColorLookupTableDescriptor[2] !== lutBitsAllocated) { - imagePixelModule.redPaletteColorLookupTableDescriptor[2] = lutBitsAllocated; - imagePixelModule.greenPaletteColorLookupTableDescriptor[2] = lutBitsAllocated; - imagePixelModule.bluePaletteColorLookupTableDescriptor[2] = lutBitsAllocated; - } - - imagePixelModule.redPaletteColorLookupTableData = getLutData(dataSet, 'x00281201', imagePixelModule.redPaletteColorLookupTableDescriptor); - imagePixelModule.greenPaletteColorLookupTableData = getLutData(dataSet, 'x00281202', imagePixelModule.greenPaletteColorLookupTableDescriptor); - imagePixelModule.bluePaletteColorLookupTableData = getLutData(dataSet, 'x00281203', imagePixelModule.bluePaletteColorLookupTableDescriptor); -} - -function populateSmallestLargestPixelValues(dataSet, imagePixelModule) { - var pixelRepresentation = dataSet.uint16('x00280103'); - - if (pixelRepresentation === 0) { - imagePixelModule.smallestPixelValue = dataSet.uint16('x00280106'); - imagePixelModule.largestPixelValue = dataSet.uint16('x00280107'); - } else { - imagePixelModule.smallestPixelValue = dataSet.int16('x00280106'); - imagePixelModule.largestPixelValue = dataSet.int16('x00280107'); - } -} - -function getImagePixelModule(dataSet) { - var imagePixelModule = { - samplesPerPixel: dataSet.uint16('x00280002'), - photometricInterpretation: dataSet.string('x00280004'), - rows: dataSet.uint16('x00280010'), - columns: dataSet.uint16('x00280011'), - bitsAllocated: dataSet.uint16('x00280100'), - bitsStored: dataSet.uint16('x00280101'), - highBit: dataSet.uint16('x00280102'), - pixelRepresentation: dataSet.uint16('x00280103'), - planarConfiguration: dataSet.uint16('x00280006'), - pixelAspectRatio: dataSet.string('x00280034') - }; - populateSmallestLargestPixelValues(dataSet, imagePixelModule); - - if (imagePixelModule.photometricInterpretation === 'PALETTE COLOR' && dataSet.elements.x00281101) { - populatePaletteColorLut(dataSet, imagePixelModule); - } - - return imagePixelModule; -} - -/* harmony default export */ __webpack_exports__["default"] = (getImagePixelModule); - -/***/ }), - -/***/ "./imageLoader/wadouri/metaData/getLUTs.js": -/*!*************************************************!*\ - !*** ./imageLoader/wadouri/metaData/getLUTs.js ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -function getLUT(pixelRepresentation, lutDataSet) { - var numLUTEntries = lutDataSet.uint16('x00283002', 0); - - if (numLUTEntries === 0) { - numLUTEntries = 65535; - } - - var firstValueMapped = 0; - - if (pixelRepresentation === 0) { - firstValueMapped = lutDataSet.uint16('x00283002', 1); - } else { - firstValueMapped = lutDataSet.int16('x00283002', 1); - } - - var numBitsPerEntry = lutDataSet.uint16('x00283002', 2); // console.log('LUT(', numLUTEntries, ',', firstValueMapped, ',', numBitsPerEntry, ')'); - - var lut = { - id: '1', - firstValueMapped: firstValueMapped, - numBitsPerEntry: numBitsPerEntry, - lut: [] - }; // console.log("minValue=", minValue, "; maxValue=", maxValue); - - for (var i = 0; i < numLUTEntries; i++) { - if (pixelRepresentation === 0) { - lut.lut[i] = lutDataSet.uint16('x00283006', i); - } else { - lut.lut[i] = lutDataSet.int16('x00283006', i); - } - } - - return lut; -} - -function getLUTs(pixelRepresentation, lutSequence) { - if (!lutSequence || !lutSequence.items || !lutSequence.items.length) { - return; - } - - var luts = []; - - for (var i = 0; i < lutSequence.items.length; i++) { - var lutDataSet = lutSequence.items[i].dataSet; - var lut = getLUT(pixelRepresentation, lutDataSet); - - if (lut) { - luts.push(lut); - } - } - - return luts; -} - -/* harmony default export */ __webpack_exports__["default"] = (getLUTs); - -/***/ }), - -/***/ "./imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.js": -/*!*********************************************************************************!*\ - !*** ./imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.js ***! - \*********************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* eslint no-bitwise: 0 */ -function getMinStoredPixelValue(dataSet) { - var pixelRepresentation = dataSet.uint16('x00280103'); - var bitsStored = dataSet.uint16('x00280101'); - - if (pixelRepresentation === 0) { - return 0; - } - - return -1 << bitsStored - 1; -} // 0 = unsigned / US, 1 = signed / SS - - -function getModalityLUTOutputPixelRepresentation(dataSet) { - // CT SOP Classes are always signed - var sopClassUID = dataSet.string('x00080016'); - - if (sopClassUID === '1.2.840.10008.5.1.4.1.1.2' || sopClassUID === '1.2.840.10008.5.1.4.1.1.2.1') { - return 1; - } // if rescale intercept and rescale slope are present, pass the minimum stored - // pixel value through them to see if we get a signed output range - - - var rescaleIntercept = dataSet.floatString('x00281052'); - var rescaleSlope = dataSet.floatString('x00281053'); - - if (rescaleIntercept !== undefined && rescaleSlope !== undefined) { - var minStoredPixelValue = getMinStoredPixelValue(dataSet); // - - var minModalityLutValue = minStoredPixelValue * rescaleSlope + rescaleIntercept; - - if (minModalityLutValue < 0) { - return 1; - } - - return 0; - } // Output of non linear modality lut is always unsigned - - - if (dataSet.elements.x00283000 && dataSet.elements.x00283000.length > 0) { - return 0; - } // If no modality lut transform, output is same as pixel representation - - - return dataSet.uint16('x00280103'); -} - -/* harmony default export */ __webpack_exports__["default"] = (getModalityLUTOutputPixelRepresentation); - -/***/ }), - -/***/ "./imageLoader/wadouri/metaData/getNumberValues.js": -/*!*********************************************************!*\ - !*** ./imageLoader/wadouri/metaData/getNumberValues.js ***! - \*********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -function getNumberValues(dataSet, tag, minimumLength) { - var values = []; - var valueAsString = dataSet.string(tag); - - if (!valueAsString) { - return; - } - - var split = valueAsString.split('\\'); - - if (minimumLength && split.length < minimumLength) { - return; - } - - for (var i = 0; i < split.length; i++) { - values.push(parseFloat(split[i])); - } - - return values; -} - -/* harmony default export */ __webpack_exports__["default"] = (getNumberValues); - -/***/ }), - -/***/ "./imageLoader/wadouri/metaData/getOverlayPlaneModule.js": -/*!***************************************************************!*\ - !*** ./imageLoader/wadouri/metaData/getOverlayPlaneModule.js ***! - \***************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return getOverlayPlaneModule; }); -function getOverlayPlaneModule(dataSet) { - var overlays = []; - - for (var overlayGroup = 0x00; overlayGroup <= 0x1E; overlayGroup += 0x02) { - var groupStr = "x60".concat(overlayGroup.toString(16)); - - if (groupStr.length === 4) { - groupStr = "x600".concat(overlayGroup.toString(16)); - } - - var data = dataSet.elements["".concat(groupStr, "3000")]; - - if (!data) { - continue; - } - - var pixelData = []; - - for (var i = 0; i < data.length; i++) { - for (var k = 0; k < 8; k++) { - var byte_as_int = dataSet.byteArray[data.dataOffset + i]; - pixelData[i * 8 + k] = byte_as_int >> k & 1; // eslint-disable-line no-bitwise - } - } - - overlays.push({ - rows: dataSet.uint16("".concat(groupStr, "0010")), - columns: dataSet.uint16("".concat(groupStr, "0011")), - type: dataSet.string("".concat(groupStr, "0040")), - x: dataSet.int16("".concat(groupStr, "0050"), 1) - 1, - y: dataSet.int16("".concat(groupStr, "0050"), 0) - 1, - pixelData: pixelData, - description: dataSet.string("".concat(groupStr, "0022")), - label: dataSet.string("".concat(groupStr, "1500")), - roiArea: dataSet.string("".concat(groupStr, "1301")), - roiMean: dataSet.string("".concat(groupStr, "1302")), - roiStandardDeviation: dataSet.string("".concat(groupStr, "1303")) - }); - } - - return { - overlays: overlays - }; -} - -/***/ }), - -/***/ "./imageLoader/wadouri/metaData/index.js": -/*!***********************************************!*\ - !*** ./imageLoader/wadouri/metaData/index.js ***! - \***********************************************/ -/*! exports provided: getImagePixelModule, getLUTs, getModalityLUTOutputPixelRepresentation, getNumberValues, metaDataProvider */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _getImagePixelModule_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getImagePixelModule.js */ "./imageLoader/wadouri/metaData/getImagePixelModule.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getImagePixelModule", function() { return _getImagePixelModule_js__WEBPACK_IMPORTED_MODULE_0__["default"]; }); - -/* harmony import */ var _getLUTs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getLUTs.js */ "./imageLoader/wadouri/metaData/getLUTs.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getLUTs", function() { return _getLUTs_js__WEBPACK_IMPORTED_MODULE_1__["default"]; }); - -/* harmony import */ var _getModalityLUTOutputPixelRepresentation_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getModalityLUTOutputPixelRepresentation.js */ "./imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getModalityLUTOutputPixelRepresentation", function() { return _getModalityLUTOutputPixelRepresentation_js__WEBPACK_IMPORTED_MODULE_2__["default"]; }); - -/* harmony import */ var _getNumberValues_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getNumberValues.js */ "./imageLoader/wadouri/metaData/getNumberValues.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getNumberValues", function() { return _getNumberValues_js__WEBPACK_IMPORTED_MODULE_3__["default"]; }); - -/* harmony import */ var _metaDataProvider_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./metaDataProvider.js */ "./imageLoader/wadouri/metaData/metaDataProvider.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "metaDataProvider", function() { return _metaDataProvider_js__WEBPACK_IMPORTED_MODULE_4__["default"]; }); - - - - - - - -/***/ }), - -/***/ "./imageLoader/wadouri/metaData/metaDataProvider.js": -/*!**********************************************************!*\ - !*** ./imageLoader/wadouri/metaData/metaDataProvider.js ***! - \**********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _externalModules_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../externalModules.js */ "./externalModules.js"); -/* harmony import */ var _getNumberValues_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getNumberValues.js */ "./imageLoader/wadouri/metaData/getNumberValues.js"); -/* harmony import */ var _parseImageId_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../parseImageId.js */ "./imageLoader/wadouri/parseImageId.js"); -/* harmony import */ var _dataSetCacheManager_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dataSetCacheManager.js */ "./imageLoader/wadouri/dataSetCacheManager.js"); -/* harmony import */ var _getImagePixelModule_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getImagePixelModule.js */ "./imageLoader/wadouri/metaData/getImagePixelModule.js"); -/* harmony import */ var _getOverlayPlaneModule_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getOverlayPlaneModule.js */ "./imageLoader/wadouri/metaData/getOverlayPlaneModule.js"); -/* harmony import */ var _getLUTs_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getLUTs.js */ "./imageLoader/wadouri/metaData/getLUTs.js"); -/* harmony import */ var _getModalityLUTOutputPixelRepresentation_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./getModalityLUTOutputPixelRepresentation.js */ "./imageLoader/wadouri/metaData/getModalityLUTOutputPixelRepresentation.js"); - - - - - - - - - -function metaDataProvider(type, imageId) { - var dicomParser = _externalModules_js__WEBPACK_IMPORTED_MODULE_0__["default"].dicomParser; - var parsedImageId = Object(_parseImageId_js__WEBPACK_IMPORTED_MODULE_2__["default"])(imageId); - var dataSet = _dataSetCacheManager_js__WEBPACK_IMPORTED_MODULE_3__["default"].get(parsedImageId.url); - - if (!dataSet) { - return; - } - - if (type === 'generalSeriesModule') { - return { - modality: dataSet.string('x00080060'), - seriesInstanceUID: dataSet.string('x0020000e'), - seriesNumber: dataSet.intString('x00200011'), - studyInstanceUID: dataSet.string('x0020000d'), - seriesDate: dicomParser.parseDA(dataSet.string('x00080021')), - seriesTime: dicomParser.parseTM(dataSet.string('x00080031') || '') - }; - } - - if (type === 'patientStudyModule') { - return { - patientAge: dataSet.intString('x00101010'), - patientSize: dataSet.floatString('x00101020'), - patientWeight: dataSet.floatString('x00101030') - }; - } - - if (type === 'imagePlaneModule') { - var imageOrientationPatient = Object(_getNumberValues_js__WEBPACK_IMPORTED_MODULE_1__["default"])(dataSet, 'x00200037', 6); - var imagePositionPatient = Object(_getNumberValues_js__WEBPACK_IMPORTED_MODULE_1__["default"])(dataSet, 'x00200032', 3); - var pixelSpacing = Object(_getNumberValues_js__WEBPACK_IMPORTED_MODULE_1__["default"])(dataSet, 'x00280030', 2); - var columnPixelSpacing = null; - var rowPixelSpacing = null; - - if (pixelSpacing) { - rowPixelSpacing = pixelSpacing[0]; - columnPixelSpacing = pixelSpacing[1]; - } - - var rowCosines = null; - var columnCosines = null; - - if (imageOrientationPatient) { - rowCosines = [parseFloat(imageOrientationPatient[0]), parseFloat(imageOrientationPatient[1]), parseFloat(imageOrientationPatient[2])]; - columnCosines = [parseFloat(imageOrientationPatient[3]), parseFloat(imageOrientationPatient[4]), parseFloat(imageOrientationPatient[5])]; - } - - return { - frameOfReferenceUID: dataSet.string('x00200052'), - rows: dataSet.uint16('x00280010'), - columns: dataSet.uint16('x00280011'), - imageOrientationPatient: imageOrientationPatient, - rowCosines: rowCosines, - columnCosines: columnCosines, - imagePositionPatient: imagePositionPatient, - sliceThickness: dataSet.floatString('x00180050'), - sliceLocation: dataSet.floatString('x00201041'), - pixelSpacing: pixelSpacing, - rowPixelSpacing: rowPixelSpacing, - columnPixelSpacing: columnPixelSpacing - }; - } - - if (type === 'imagePixelModule') { - return Object(_getImagePixelModule_js__WEBPACK_IMPORTED_MODULE_4__["default"])(dataSet); - } - - if (type === 'modalityLutModule') { - return { - rescaleIntercept: dataSet.floatString('x00281052'), - rescaleSlope: dataSet.floatString('x00281053'), - rescaleType: dataSet.string('x00281054'), - modalityLUTSequence: Object(_getLUTs_js__WEBPACK_IMPORTED_MODULE_6__["default"])(dataSet.uint16('x00280103'), dataSet.elements.x00283000) - }; - } - - if (type === 'voiLutModule') { - var modalityLUTOutputPixelRepresentation = Object(_getModalityLUTOutputPixelRepresentation_js__WEBPACK_IMPORTED_MODULE_7__["default"])(dataSet); - return { - windowCenter: Object(_getNumberValues_js__WEBPACK_IMPORTED_MODULE_1__["default"])(dataSet, 'x00281050', 1), - windowWidth: Object(_getNumberValues_js__WEBPACK_IMPORTED_MODULE_1__["default"])(dataSet, 'x00281051', 1), - voiLUTSequence: Object(_getLUTs_js__WEBPACK_IMPORTED_MODULE_6__["default"])(modalityLUTOutputPixelRepresentation, dataSet.elements.x00283010) - }; - } - - if (type === 'sopCommonModule') { - return { - sopClassUID: dataSet.string('x00080016'), - sopInstanceUID: dataSet.string('x00080018') - }; - } - - if (type === 'petIsotopeModule') { - var radiopharmaceuticalInfo = dataSet.elements.x00540016; - - if (radiopharmaceuticalInfo === undefined) { - return; - } - - var firstRadiopharmaceuticalInfoDataSet = radiopharmaceuticalInfo.items[0].dataSet; - return { - radiopharmaceuticalInfo: { - radiopharmaceuticalStartTime: dicomParser.parseTM(firstRadiopharmaceuticalInfoDataSet.string('x00181072') || ''), - radionuclideTotalDose: firstRadiopharmaceuticalInfoDataSet.floatString('x00181074'), - radionuclideHalfLife: firstRadiopharmaceuticalInfoDataSet.floatString('x00181075') - } - }; - } - - if (type === 'overlayPlaneModule') { - return Object(_getOverlayPlaneModule_js__WEBPACK_IMPORTED_MODULE_5__["default"])(dataSet); - } -} - -/* harmony default export */ __webpack_exports__["default"] = (metaDataProvider); - -/***/ }), - -/***/ "./imageLoader/wadouri/parseImageId.js": -/*!*********************************************!*\ - !*** ./imageLoader/wadouri/parseImageId.js ***! - \*********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -function parseImageId(imageId) { - // build a url by parsing out the url scheme and frame index from the imageId - var firstColonIndex = imageId.indexOf(':'); - var url = imageId.substring(firstColonIndex + 1); - var frameIndex = url.indexOf('frame='); - var frame; - - if (frameIndex !== -1) { - var frameStr = url.substr(frameIndex + 6); - frame = parseInt(frameStr, 10); - url = url.substr(0, frameIndex - 1); - } - - return { - scheme: imageId.substr(0, firstColonIndex), - url: url, - frame: frame - }; -} - -/* harmony default export */ __webpack_exports__["default"] = (parseImageId); - -/***/ }), - -/***/ "./imageLoader/wadouri/register.js": -/*!*****************************************!*\ - !*** ./imageLoader/wadouri/register.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _loadImage_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./loadImage.js */ "./imageLoader/wadouri/loadImage.js"); -/* harmony import */ var _metaData_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./metaData/index.js */ "./imageLoader/wadouri/metaData/index.js"); - - -/* harmony default export */ __webpack_exports__["default"] = (function (cornerstone) { - // register dicomweb and wadouri image loader prefixes - cornerstone.registerImageLoader('dicomweb', _loadImage_js__WEBPACK_IMPORTED_MODULE_0__["loadImage"]); - cornerstone.registerImageLoader('wadouri', _loadImage_js__WEBPACK_IMPORTED_MODULE_0__["loadImage"]); - cornerstone.registerImageLoader('dicomfile', _loadImage_js__WEBPACK_IMPORTED_MODULE_0__["loadImage"]); // add wadouri metadata provider - - cornerstone.metaData.addProvider(_metaData_index_js__WEBPACK_IMPORTED_MODULE_1__["metaDataProvider"]); -}); - -/***/ }), - -/***/ "./imageLoader/wadouri/unpackBinaryFrame.js": -/*!**************************************************!*\ - !*** ./imageLoader/wadouri/unpackBinaryFrame.js ***! - \**************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* eslint no-bitwise: 0 */ -function isBitSet(_byte, bitPos) { - return _byte & 1 << bitPos; -} -/** - * Function to deal with unpacking a binary frame - */ - - -function unpackBinaryFrame(byteArray, frameOffset, pixelsPerFrame) { - // Create a new pixel array given the image size - var pixelData = new Uint8Array(pixelsPerFrame); - - for (var i = 0; i < pixelsPerFrame; i++) { - // Compute byte position - var bytePos = Math.floor(i / 8); // Get the current byte - - var _byte2 = byteArray[bytePos + frameOffset]; // Bit position (0-7) within byte - - var bitPos = i % 8; // Check whether bit at bitpos is set - - pixelData[i] = isBitSet(_byte2, bitPos) ? 1 : 0; - } - - return pixelData; -} - -/* harmony default export */ __webpack_exports__["default"] = (unpackBinaryFrame); - -/***/ }), - -/***/ "./imageLoader/webWorkerManager.js": -/*!*****************************************!*\ - !*** ./imageLoader/webWorkerManager.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _webWorker_index_worker_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../webWorker/index.worker.js */ "./webWorker/index.worker.js"); -/* harmony import */ var _webWorker_index_worker_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_webWorker_index_worker_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _internal_options_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/options.js */ "./imageLoader/internal/options.js"); - - // the taskId to assign to the next task added via addTask() - -var nextTaskId = 0; // array of queued tasks sorted with highest priority task first - -var tasks = []; // array of web workers to dispatch decode tasks to - -var webWorkers = []; // The options for CornerstoneWADOImageLoader - -var options = Object(_internal_options_js__WEBPACK_IMPORTED_MODULE_1__["getOptions"])(); -var defaultConfig = { - maxWebWorkers: navigator.hardwareConcurrency || 1, - startWebWorkersOnDemand: true, - webWorkerTaskPaths: [], - taskConfiguration: { - decodeTask: { - initializeCodecsOnStartup: false, - usePDFJS: false, - strict: options.strict - } - } -}; -var config; -var statistics = { - maxWebWorkers: 0, - numWebWorkers: 0, - numTasksQueued: 0, - numTasksExecuting: 0, - numTasksCompleted: 0, - totalTaskTimeInMS: 0, - totalTimeDelayedInMS: 0 -}; -/** - * Function to start a task on a web worker - */ - -function startTaskOnWebWorker() { - // return immediately if no decode tasks to do - if (!tasks.length) { - return; - } // look for a web worker that is ready - - - for (var i = 0; i < webWorkers.length; i++) { - if (webWorkers[i].status === 'ready') { - // mark it as busy so tasks are not assigned to it - webWorkers[i].status = 'busy'; // get the highest priority task - - var task = tasks.shift(); - task.start = new Date().getTime(); // update stats with how long this task was delayed (waiting in queue) - - var end = new Date().getTime(); - statistics.totalTimeDelayedInMS += end - task.added; // assign this task to this web worker and send the web worker - // a message to execute it - - webWorkers[i].task = task; - webWorkers[i].worker.postMessage({ - taskType: task.taskType, - workerIndex: i, - data: task.data - }, task.transferList); - statistics.numTasksExecuting++; - return; - } - } // if no available web workers and we haven't started max web workers, start a new one - - - if (webWorkers.length < config.maxWebWorkers) { - spawnWebWorker(); - } -} -/** - * Function to handle a message from a web worker - * @param msg - */ - - -function handleMessageFromWorker(msg) { - // console.log('handleMessageFromWorker', msg.data); - if (msg.data.taskType === 'initialize') { - webWorkers[msg.data.workerIndex].status = 'ready'; - startTaskOnWebWorker(); - } else { - var start = webWorkers[msg.data.workerIndex].task.start; - var action = msg.data.status === 'success' ? 'resolve' : 'reject'; - webWorkers[msg.data.workerIndex].task.deferred[action](msg.data.result); - webWorkers[msg.data.workerIndex].task = undefined; - statistics.numTasksExecuting--; - webWorkers[msg.data.workerIndex].status = 'ready'; - statistics.numTasksCompleted++; - var end = new Date().getTime(); - statistics.totalTaskTimeInMS += end - start; - startTaskOnWebWorker(); - } -} -/** - * Spawns a new web worker - */ - - -function spawnWebWorker() { - // prevent exceeding maxWebWorkers - if (webWorkers.length >= config.maxWebWorkers) { - return; - } // spawn the webworker - - - var worker = new _webWorker_index_worker_js__WEBPACK_IMPORTED_MODULE_0___default.a(); - webWorkers.push({ - worker: worker, - status: 'initializing' - }); - worker.addEventListener('message', handleMessageFromWorker); - worker.postMessage({ - taskType: 'initialize', - workerIndex: webWorkers.length - 1, - config: config - }); -} -/** - * Initialization function for the web worker manager - spawns web workers - * @param configObject - */ - - -function initialize(configObject) { - configObject = configObject || defaultConfig; // prevent being initialized more than once - - if (config) { - throw new Error('WebWorkerManager already initialized'); - } - - config = configObject; - config.maxWebWorkers = config.maxWebWorkers || navigator.hardwareConcurrency || 1; // Spawn new web workers - - if (!config.startWebWorkersOnDemand) { - for (var i = 0; i < config.maxWebWorkers; i++) { - spawnWebWorker(); - } - } -} -/** - * Terminate all running web workers. - */ - - -function terminate() { - for (var i = 0; i < webWorkers.length; i++) { - webWorkers[i].worker.terminate(); - } - - webWorkers.length = 0; - config = undefined; -} -/** - * dynamically loads a web worker task - * @param sourcePath - * @param taskConfig - */ - - -function loadWebWorkerTask(sourcePath, taskConfig) { - // add it to the list of web worker tasks paths so on demand web workers - // load this properly - config.webWorkerTaskPaths.push(sourcePath); // if a task specific configuration is provided, merge it into the config - - if (taskConfig) { - config.taskConfiguration = Object.assign(config.taskConfiguration, taskConfig); - } // tell each spawned web worker to load this task - - - for (var i = 0; i < webWorkers.length; i++) { - webWorkers[i].worker.postMessage({ - taskType: 'loadWebWorkerTask', - workerIndex: webWorkers.length - 1, - sourcePath: sourcePath, - config: config - }); - } -} -/** - * Function to add a decode task to be performed - * - * @param taskType - the taskType for this task - * @param data - data specific to the task - * @param priority - optional priority of the task (defaults to 0), > 0 is higher, < 0 is lower - * @param transferList - optional array of data to transfer to web worker - * @returns {*} - */ - - -function addTask(taskType, data) { - var priority = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; - var transferList = arguments.length > 3 ? arguments[3] : undefined; - - if (!config) { - initialize(); - } - - var deferred = {}; - var promise = new Promise(function (resolve, reject) { - deferred = { - resolve: resolve, - reject: reject - }; - }); // find the right spot to insert this decode task (based on priority) - - var i; - - for (i = 0; i < tasks.length; i++) { - if (tasks[i].priority < priority) { - break; - } - } - - var taskId = nextTaskId++; // insert the decode task at position i - - tasks.splice(i, 0, { - taskId: taskId, - taskType: taskType, - status: 'ready', - added: new Date().getTime(), - data: data, - deferred: deferred, - priority: priority, - transferList: transferList - }); // try to start a task on the web worker since we just added a new task and a web worker may be available - - startTaskOnWebWorker(); - return { - taskId: taskId, - promise: promise - }; -} -/** - * Changes the priority of a queued task - * @param taskId - the taskId to change the priority of - * @param priority - priority of the task (defaults to 0), > 0 is higher, < 0 is lower - * @returns boolean - true on success, false if taskId not found - */ - - -function setTaskPriority(taskId) { - var priority = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; - - // search for this taskId - for (var i = 0; i < tasks.length; i++) { - if (tasks[i].taskId === taskId) { - // taskId found, remove it - var task = tasks.splice(i, 1)[0]; // set its priority - - task.priority = priority; // find the right spot to insert this decode task (based on priority) - - for (i = 0; i < tasks.length; i++) { - if (tasks[i].priority < priority) { - break; - } - } // insert the decode task at position i - - - tasks.splice(i, 0, task); - return true; - } - } - - return false; -} -/** - * Cancels a queued task and rejects - * @param taskId - the taskId to cancel - * @param reason - optional reason the task was rejected - * @returns boolean - true on success, false if taskId not found - */ - - -function cancelTask(taskId, reason) { - // search for this taskId - for (var i = 0; i < tasks.length; i++) { - if (tasks[i].taskId === taskId) { - // taskId found, remove it - var task = tasks.splice(i, 1); - task.deferred.reject(reason); - return true; - } - } - - return false; -} -/** - * Function to return the statistics on running web workers - * @returns object containing statistics - */ - - -function getStatistics() { - statistics.maxWebWorkers = config.maxWebWorkers; - statistics.numWebWorkers = webWorkers.length; - statistics.numTasksQueued = tasks.length; - return statistics; -} - -/* harmony default export */ __webpack_exports__["default"] = ({ - initialize: initialize, - loadWebWorkerTask: loadWebWorkerTask, - addTask: addTask, - getStatistics: getStatistics, - setTaskPriority: setTaskPriority, - cancelTask: cancelTask, - webWorkers: webWorkers, - terminate: terminate -}); - -/***/ }), - -/***/ "./shared/calculateMinMax.js": -/*!***********************************!*\ - !*** ./shared/calculateMinMax.js ***! - \***********************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return calculateMinMax; }); -/* harmony import */ var _getMinMax_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getMinMax.js */ "./shared/getMinMax.js"); - -/** - * Check the minimum and maximum values in the imageFrame pixel data - * match with the provided smallestPixelValue and largestPixelValue metaData. - * - * If 'strict' is true, log to the console a warning if these values do not match. - * Otherwise, correct them automatically. - * - * @param {Object} imageFrame - * @param {Boolean} strict If 'strict' is true, log to the console a warning if these values do not match. - * Otherwise, correct them automatically.Default is true. - */ - -function calculateMinMax(imageFrame) { - var strict = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - var minMax = Object(_getMinMax_js__WEBPACK_IMPORTED_MODULE_0__["default"])(imageFrame.pixelData); - var mustAssign = !(isNumber(imageFrame.smallestPixelValue) && isNumber(imageFrame.largestPixelValue)); - - if (strict === true && !mustAssign) { - if (imageFrame.smallestPixelValue !== minMax.min) { - console.warn('Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably.'); - } - - if (imageFrame.largestPixelValue !== minMax.max) { - console.warn('Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably.'); - } - } else { - imageFrame.smallestPixelValue = minMax.min; - imageFrame.largestPixelValue = minMax.max; - } -} - -function isNumber(numValue) { - return typeof numValue === 'number'; -} - -/***/ }), - -/***/ "./shared/decodeImageFrame.js": -/*!************************************!*\ - !*** ./shared/decodeImageFrame.js ***! - \************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _decoders_decodeLittleEndian_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./decoders/decodeLittleEndian.js */ "./shared/decoders/decodeLittleEndian.js"); -/* harmony import */ var _decoders_decodeBigEndian_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./decoders/decodeBigEndian.js */ "./shared/decoders/decodeBigEndian.js"); -/* harmony import */ var _decoders_decodeRLE_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./decoders/decodeRLE.js */ "./shared/decoders/decodeRLE.js"); -/* harmony import */ var _decoders_decodeJPEGBaseline_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./decoders/decodeJPEGBaseline.js */ "./shared/decoders/decodeJPEGBaseline.js"); -/* harmony import */ var _decoders_decodeJPEGLossless_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./decoders/decodeJPEGLossless.js */ "./shared/decoders/decodeJPEGLossless.js"); -/* harmony import */ var _decoders_decodeJPEGLS_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./decoders/decodeJPEGLS.js */ "./shared/decoders/decodeJPEGLS.js"); -/* harmony import */ var _decoders_decodeJPEG2000_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./decoders/decodeJPEG2000.js */ "./shared/decoders/decodeJPEG2000.js"); - - - - - - - - -function decodeImageFrame(imageFrame, transferSyntax, pixelData, decodeConfig, options) { - var start = new Date().getTime(); - - if (transferSyntax === '1.2.840.10008.1.2') { - // Implicit VR Little Endian - imageFrame = Object(_decoders_decodeLittleEndian_js__WEBPACK_IMPORTED_MODULE_0__["default"])(imageFrame, pixelData); - } else if (transferSyntax === '1.2.840.10008.1.2.1') { - // Explicit VR Little Endian - imageFrame = Object(_decoders_decodeLittleEndian_js__WEBPACK_IMPORTED_MODULE_0__["default"])(imageFrame, pixelData); - } else if (transferSyntax === '1.2.840.10008.1.2.2') { - // Explicit VR Big Endian (retired) - imageFrame = Object(_decoders_decodeBigEndian_js__WEBPACK_IMPORTED_MODULE_1__["default"])(imageFrame, pixelData); - } else if (transferSyntax === '1.2.840.10008.1.2.1.99') { - // Deflate transfer syntax (deflated by dicomParser) - imageFrame = Object(_decoders_decodeLittleEndian_js__WEBPACK_IMPORTED_MODULE_0__["default"])(imageFrame, pixelData); - } else if (transferSyntax === '1.2.840.10008.1.2.5') { - // RLE Lossless - imageFrame = Object(_decoders_decodeRLE_js__WEBPACK_IMPORTED_MODULE_2__["default"])(imageFrame, pixelData); - } else if (transferSyntax === '1.2.840.10008.1.2.4.50') { - // JPEG Baseline lossy process 1 (8 bit) - imageFrame = Object(_decoders_decodeJPEGBaseline_js__WEBPACK_IMPORTED_MODULE_3__["default"])(imageFrame, pixelData); - } else if (transferSyntax === '1.2.840.10008.1.2.4.51') { - // JPEG Baseline lossy process 2 & 4 (12 bit) - imageFrame = Object(_decoders_decodeJPEGBaseline_js__WEBPACK_IMPORTED_MODULE_3__["default"])(imageFrame, pixelData); - } else if (transferSyntax === '1.2.840.10008.1.2.4.57') { - // JPEG Lossless, Nonhierarchical (Processes 14) - imageFrame = Object(_decoders_decodeJPEGLossless_js__WEBPACK_IMPORTED_MODULE_4__["default"])(imageFrame, pixelData); - } else if (transferSyntax === '1.2.840.10008.1.2.4.70') { - // JPEG Lossless, Nonhierarchical (Processes 14 [Selection 1]) - imageFrame = Object(_decoders_decodeJPEGLossless_js__WEBPACK_IMPORTED_MODULE_4__["default"])(imageFrame, pixelData); - } else if (transferSyntax === '1.2.840.10008.1.2.4.80') { - // JPEG-LS Lossless Image Compression - imageFrame = Object(_decoders_decodeJPEGLS_js__WEBPACK_IMPORTED_MODULE_5__["default"])(imageFrame, pixelData); - } else if (transferSyntax === '1.2.840.10008.1.2.4.81') { - // JPEG-LS Lossy (Near-Lossless) Image Compression - imageFrame = Object(_decoders_decodeJPEGLS_js__WEBPACK_IMPORTED_MODULE_5__["default"])(imageFrame, pixelData); - } else if (transferSyntax === '1.2.840.10008.1.2.4.90') { - // JPEG 2000 Lossless - imageFrame = Object(_decoders_decodeJPEG2000_js__WEBPACK_IMPORTED_MODULE_6__["default"])(imageFrame, pixelData, decodeConfig, options); - } else if (transferSyntax === '1.2.840.10008.1.2.4.91') { - // JPEG 2000 Lossy - imageFrame = Object(_decoders_decodeJPEG2000_js__WEBPACK_IMPORTED_MODULE_6__["default"])(imageFrame, pixelData, decodeConfig, options); - } else { - throw new Error("no decoder for transfer syntax ".concat(transferSyntax)); - } - /* Don't know if these work... - // JPEG 2000 Part 2 Multicomponent Image Compression (Lossless Only) - else if(transferSyntax === "1.2.840.10008.1.2.4.92") - { - return decodeJPEG2000(dataSet, frame); - } - // JPEG 2000 Part 2 Multicomponent Image Compression - else if(transferSyntax === "1.2.840.10008.1.2.4.93") - { - return decodeJPEG2000(dataSet, frame); - } - */ - - - var shouldShift = imageFrame.pixelRepresentation !== undefined && imageFrame.pixelRepresentation === 1; - var shift = shouldShift && imageFrame.bitsStored !== undefined ? 32 - imageFrame.bitsStored : undefined; - - if (shouldShift && shift !== undefined) { - for (var i = 0; i < imageFrame.pixelData.length; i++) { - // eslint-disable-next-line no-bitwise - imageFrame.pixelData[i] = imageFrame.pixelData[i] << shift >> shift; - } - } - - var end = new Date().getTime(); - imageFrame.decodeTimeInMS = end - start; - return imageFrame; -} - -/* harmony default export */ __webpack_exports__["default"] = (decodeImageFrame); - -/***/ }), - -/***/ "./shared/decoders/decodeBigEndian.js": -/*!********************************************!*\ - !*** ./shared/decoders/decodeBigEndian.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* eslint no-bitwise: 0 */ -function swap16(val) { - return (val & 0xFF) << 8 | val >> 8 & 0xFF; -} - -function decodeBigEndian(imageFrame, pixelData) { - if (imageFrame.bitsAllocated === 16) { - var arrayBuffer = pixelData.buffer; - var offset = pixelData.byteOffset; - var length = pixelData.length; // if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array - // buffers on it - - if (offset % 2) { - arrayBuffer = arrayBuffer.slice(offset); - offset = 0; - } - - if (imageFrame.pixelRepresentation === 0) { - imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2); - } else { - imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2); - } // Do the byte swap - - - for (var i = 0; i < imageFrame.pixelData.length; i++) { - imageFrame.pixelData[i] = swap16(imageFrame.pixelData[i]); - } - } else if (imageFrame.bitsAllocated === 8) { - imageFrame.pixelData = pixelData; - } - - return imageFrame; -} - -/* harmony default export */ __webpack_exports__["default"] = (decodeBigEndian); - -/***/ }), - -/***/ "./shared/decoders/decodeJPEG2000.js": -/*!*******************************************!*\ - !*** ./shared/decoders/decodeJPEG2000.js ***! - \*******************************************/ -/*! exports provided: default, initializeJPEG2000 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initializeJPEG2000", function() { return initializeJPEG2000; }); -/* harmony import */ var _codecs_openJPEG_FixedMemory_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../codecs/openJPEG-FixedMemory.js */ "../codecs/openJPEG-FixedMemory.js"); -/* harmony import */ var _codecs_openJPEG_FixedMemory_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codecs_openJPEG_FixedMemory_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _codecs_jpx_min_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../codecs/jpx.min.js */ "../codecs/jpx.min.js"); -/* harmony import */ var _codecs_jpx_min_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_codecs_jpx_min_js__WEBPACK_IMPORTED_MODULE_1__); - - - -function decodeJpx(imageFrame, pixelData) { - var jpxImage = new _codecs_jpx_min_js__WEBPACK_IMPORTED_MODULE_1___default.a(); - jpxImage.parse(pixelData); - var tileCount = jpxImage.tiles.length; - - if (tileCount !== 1) { - throw new Error("JPEG2000 decoder returned a tileCount of ".concat(tileCount, ", when 1 is expected")); - } - - imageFrame.columns = jpxImage.width; - imageFrame.rows = jpxImage.height; - imageFrame.pixelData = jpxImage.tiles[0].items; - return imageFrame; -} - -var openJPEG; - -function decodeOpenJPEG(data, bytesPerPixel, signed) { - var dataPtr = openJPEG._malloc(data.length); - - openJPEG.writeArrayToMemory(data, dataPtr); // create param outpout - - var imagePtrPtr = openJPEG._malloc(4); - - var imageSizePtr = openJPEG._malloc(4); - - var imageSizeXPtr = openJPEG._malloc(4); - - var imageSizeYPtr = openJPEG._malloc(4); - - var imageSizeCompPtr = openJPEG._malloc(4); - - var t0 = new Date().getTime(); - var ret = openJPEG.ccall('jp2_decode', 'number', ['number', 'number', 'number', 'number', 'number', 'number', 'number'], [dataPtr, data.length, imagePtrPtr, imageSizePtr, imageSizeXPtr, imageSizeYPtr, imageSizeCompPtr]); // add num vomp..etc - - if (ret !== 0) { - console.log('[opj_decode] decoding failed!'); - - openJPEG._free(dataPtr); - - openJPEG._free(openJPEG.getValue(imagePtrPtr, '*')); - - openJPEG._free(imageSizeXPtr); - - openJPEG._free(imageSizeYPtr); - - openJPEG._free(imageSizePtr); - - openJPEG._free(imageSizeCompPtr); - - return; - } - - var imagePtr = openJPEG.getValue(imagePtrPtr, '*'); - var image = { - length: openJPEG.getValue(imageSizePtr, 'i32'), - sx: openJPEG.getValue(imageSizeXPtr, 'i32'), - sy: openJPEG.getValue(imageSizeYPtr, 'i32'), - nbChannels: openJPEG.getValue(imageSizeCompPtr, 'i32'), - // hard coded for now - perf_timetodecode: undefined, - pixelData: undefined - }; // Copy the data from the EMSCRIPTEN heap into the correct type array - - var length = image.sx * image.sy * image.nbChannels; - var src32 = new Int32Array(openJPEG.HEAP32.buffer, imagePtr, length); - - if (bytesPerPixel === 1) { - if (Uint8Array.from) { - image.pixelData = Uint8Array.from(src32); - } else { - image.pixelData = new Uint8Array(length); - - for (var i = 0; i < length; i++) { - image.pixelData[i] = src32[i]; - } - } - } else if (signed) { - if (Int16Array.from) { - image.pixelData = Int16Array.from(src32); - } else { - image.pixelData = new Int16Array(length); - - for (var _i = 0; _i < length; _i++) { - image.pixelData[_i] = src32[_i]; - } - } - } else if (Uint16Array.from) { - image.pixelData = Uint16Array.from(src32); - } else { - image.pixelData = new Uint16Array(length); - - for (var _i2 = 0; _i2 < length; _i2++) { - image.pixelData[_i2] = src32[_i2]; - } - } - - var t1 = new Date().getTime(); - image.perf_timetodecode = t1 - t0; // free - - openJPEG._free(dataPtr); - - openJPEG._free(imagePtrPtr); - - openJPEG._free(imagePtr); - - openJPEG._free(imageSizePtr); - - openJPEG._free(imageSizeXPtr); - - openJPEG._free(imageSizeYPtr); - - openJPEG._free(imageSizeCompPtr); - - return image; -} - -function decodeOpenJpeg2000(imageFrame, pixelData) { - var bytesPerPixel = imageFrame.bitsAllocated <= 8 ? 1 : 2; - var signed = imageFrame.pixelRepresentation === 1; - var image = decodeOpenJPEG(pixelData, bytesPerPixel, signed); - imageFrame.columns = image.sx; - imageFrame.rows = image.sy; - imageFrame.pixelData = image.pixelData; - - if (image.nbChannels > 1) { - imageFrame.photometricInterpretation = 'RGB'; - } - - return imageFrame; -} - -function initializeJPEG2000(decodeConfig) { - // check to make sure codec is loaded - if (!decodeConfig.usePDFJS) { - if (typeof _codecs_openJPEG_FixedMemory_js__WEBPACK_IMPORTED_MODULE_0___default.a === 'undefined') { - throw new Error('OpenJPEG decoder not loaded'); - } - } - - if (!openJPEG) { - openJPEG = _codecs_openJPEG_FixedMemory_js__WEBPACK_IMPORTED_MODULE_0___default()(); - - if (!openJPEG || !openJPEG._jp2_decode) { - throw new Error('OpenJPEG failed to initialize'); - } - } -} - -function decodeJPEG2000(imageFrame, pixelData, decodeConfig) { - var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - initializeJPEG2000(decodeConfig); - - if (options.usePDFJS || decodeConfig.usePDFJS) { - // OHIF image-JPEG2000 https://github.com/OHIF/image-JPEG2000 - // console.log('PDFJS') - return decodeJpx(imageFrame, pixelData); - } // OpenJPEG2000 https://github.com/jpambrun/openjpeg - // console.log('OpenJPEG') - - - return decodeOpenJpeg2000(imageFrame, pixelData); -} - -/* harmony default export */ __webpack_exports__["default"] = (decodeJPEG2000); - - -/***/ }), - -/***/ "./shared/decoders/decodeJPEGBaseline.js": -/*!***********************************************!*\ - !*** ./shared/decoders/decodeJPEGBaseline.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _codecs_jpeg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../codecs/jpeg.js */ "../codecs/jpeg.js"); -/* harmony import */ var _codecs_jpeg_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codecs_jpeg_js__WEBPACK_IMPORTED_MODULE_0__); - - -function decodeJPEGBaseline(imageFrame, pixelData) { - // check to make sure codec is loaded - if (typeof _codecs_jpeg_js__WEBPACK_IMPORTED_MODULE_0___default.a === 'undefined') { - throw new Error('No JPEG Baseline decoder loaded'); - } - - var jpeg = new _codecs_jpeg_js__WEBPACK_IMPORTED_MODULE_0___default.a(); - jpeg.parse(pixelData); // Do not use the internal jpeg.js color transformation, - // since we will handle this afterwards - - jpeg.colorTransform = false; - - if (imageFrame.bitsAllocated === 8) { - imageFrame.pixelData = jpeg.getData(imageFrame.columns, imageFrame.rows); - return imageFrame; - } else if (imageFrame.bitsAllocated === 16) { - imageFrame.pixelData = jpeg.getData16(imageFrame.columns, imageFrame.rows); - return imageFrame; - } -} - -/* harmony default export */ __webpack_exports__["default"] = (decodeJPEGBaseline); - -/***/ }), - -/***/ "./shared/decoders/decodeJPEGLS.js": -/*!*****************************************!*\ - !*** ./shared/decoders/decodeJPEGLS.js ***! - \*****************************************/ -/*! exports provided: default, initializeJPEGLS */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initializeJPEGLS", function() { return initializeJPEGLS; }); -/* harmony import */ var _codecs_charLS_FixedMemory_browser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../codecs/charLS-FixedMemory-browser.js */ "../codecs/charLS-FixedMemory-browser.js"); -/* harmony import */ var _codecs_charLS_FixedMemory_browser_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codecs_charLS_FixedMemory_browser_js__WEBPACK_IMPORTED_MODULE_0__); - -var charLS; - -function jpegLSDecode(data, isSigned) { - // prepare input parameters - var dataPtr = charLS._malloc(data.length); - - charLS.writeArrayToMemory(data, dataPtr); // prepare output parameters - - var imagePtrPtr = charLS._malloc(4); - - var imageSizePtr = charLS._malloc(4); - - var widthPtr = charLS._malloc(4); - - var heightPtr = charLS._malloc(4); - - var bitsPerSamplePtr = charLS._malloc(4); - - var stridePtr = charLS._malloc(4); - - var allowedLossyErrorPtr = charLS._malloc(4); - - var componentsPtr = charLS._malloc(4); - - var interleaveModePtr = charLS._malloc(4); // Decode the image - - - var result = charLS.ccall('jpegls_decode', 'number', ['number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number'], [dataPtr, data.length, imagePtrPtr, imageSizePtr, widthPtr, heightPtr, bitsPerSamplePtr, stridePtr, componentsPtr, allowedLossyErrorPtr, interleaveModePtr]); // Extract result values into object - - var image = { - result: result, - width: charLS.getValue(widthPtr, 'i32'), - height: charLS.getValue(heightPtr, 'i32'), - bitsPerSample: charLS.getValue(bitsPerSamplePtr, 'i32'), - stride: charLS.getValue(stridePtr, 'i32'), - components: charLS.getValue(componentsPtr, 'i32'), - allowedLossyError: charLS.getValue(allowedLossyErrorPtr, 'i32'), - interleaveMode: charLS.getValue(interleaveModePtr, 'i32'), - pixelData: undefined - }; // Copy image from emscripten heap into appropriate array buffer type - - var imagePtr = charLS.getValue(imagePtrPtr, '*'); - - if (image.bitsPerSample <= 8) { - image.pixelData = new Uint8Array(image.width * image.height * image.components); - image.pixelData.set(new Uint8Array(charLS.HEAP8.buffer, imagePtr, image.pixelData.length)); - } else if (isSigned) { - image.pixelData = new Int16Array(image.width * image.height * image.components); - image.pixelData.set(new Int16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length)); - } else { - image.pixelData = new Uint16Array(image.width * image.height * image.components); - image.pixelData.set(new Uint16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length)); - } // free memory and return image object - - - charLS._free(dataPtr); - - charLS._free(imagePtr); - - charLS._free(imagePtrPtr); - - charLS._free(imageSizePtr); - - charLS._free(widthPtr); - - charLS._free(heightPtr); - - charLS._free(bitsPerSamplePtr); - - charLS._free(stridePtr); - - charLS._free(componentsPtr); - - charLS._free(interleaveModePtr); - - return image; -} - -function initializeJPEGLS() { - // check to make sure codec is loaded - if (typeof _codecs_charLS_FixedMemory_browser_js__WEBPACK_IMPORTED_MODULE_0___default.a === 'undefined') { - throw new Error('No JPEG-LS decoder loaded'); - } // Try to initialize CharLS - // CharLS https://github.com/cornerstonejs/charls - - - if (!charLS) { - charLS = _codecs_charLS_FixedMemory_browser_js__WEBPACK_IMPORTED_MODULE_0___default()(); - - if (!charLS || !charLS._jpegls_decode) { - throw new Error('JPEG-LS failed to initialize'); - } - } -} - -function decodeJPEGLS(imageFrame, pixelData) { - initializeJPEGLS(); - var image = jpegLSDecode(pixelData, imageFrame.pixelRepresentation === 1); // throw error if not success or too much data - - if (image.result !== 0 && image.result !== 6) { - throw new Error("JPEG-LS decoder failed to decode frame (error code ".concat(image.result, ")")); - } - - imageFrame.columns = image.width; - imageFrame.rows = image.height; - imageFrame.pixelData = image.pixelData; - return imageFrame; -} - -/* harmony default export */ __webpack_exports__["default"] = (decodeJPEGLS); - - -/***/ }), - -/***/ "./shared/decoders/decodeJPEGLossless.js": -/*!***********************************************!*\ - !*** ./shared/decoders/decodeJPEGLossless.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _codecs_jpegLossless_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../codecs/jpegLossless.js */ "../codecs/jpegLossless.js"); -/* harmony import */ var _codecs_jpegLossless_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codecs_jpegLossless_js__WEBPACK_IMPORTED_MODULE_0__); - - -function decodeJPEGLossless(imageFrame, pixelData) { - // check to make sure codec is loaded - if (typeof _codecs_jpegLossless_js__WEBPACK_IMPORTED_MODULE_0___default.a === 'undefined' || typeof _codecs_jpegLossless_js__WEBPACK_IMPORTED_MODULE_0___default.a.lossless === 'undefined' || typeof _codecs_jpegLossless_js__WEBPACK_IMPORTED_MODULE_0___default.a.lossless.Decoder === 'undefined') { - throw new Error('No JPEG Lossless decoder loaded'); - } - - var byteOutput = imageFrame.bitsAllocated <= 8 ? 1 : 2; // console.time('jpeglossless'); - - var buffer = pixelData.buffer; - var decoder = new _codecs_jpegLossless_js__WEBPACK_IMPORTED_MODULE_0___default.a.lossless.Decoder(); - var decompressedData = decoder.decode(buffer, pixelData.byteOffset, pixelData.length, byteOutput); // console.timeEnd('jpeglossless'); - - if (imageFrame.pixelRepresentation === 0) { - if (imageFrame.bitsAllocated === 16) { - imageFrame.pixelData = new Uint16Array(decompressedData.buffer); - return imageFrame; - } // untested! - - - imageFrame.pixelData = new Uint8Array(decompressedData.buffer); - return imageFrame; - } - - imageFrame.pixelData = new Int16Array(decompressedData.buffer); - return imageFrame; -} - -/* harmony default export */ __webpack_exports__["default"] = (decodeJPEGLossless); - -/***/ }), - -/***/ "./shared/decoders/decodeLittleEndian.js": -/*!***********************************************!*\ - !*** ./shared/decoders/decodeLittleEndian.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -function decodeLittleEndian(imageFrame, pixelData) { - var arrayBuffer = pixelData.buffer; - var offset = pixelData.byteOffset; - var length = pixelData.length; - - if (imageFrame.bitsAllocated === 16) { - // if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array - // buffers on it - if (offset % 2) { - arrayBuffer = arrayBuffer.slice(offset); - offset = 0; - } - - if (imageFrame.pixelRepresentation === 0) { - imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2); - } else { - imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2); - } - } else if (imageFrame.bitsAllocated === 8 || imageFrame.bitsAllocated === 1) { - imageFrame.pixelData = pixelData; - } else if (imageFrame.bitsAllocated === 32) { - // if pixel data is not aligned on even boundary, shift it - if (offset % 2) { - arrayBuffer = arrayBuffer.slice(offset); - offset = 0; - } - - imageFrame.pixelData = new Float32Array(arrayBuffer, offset, length / 4); - } - - return imageFrame; -} - -/* harmony default export */ __webpack_exports__["default"] = (decodeLittleEndian); - -/***/ }), - -/***/ "./shared/decoders/decodeRLE.js": -/*!**************************************!*\ - !*** ./shared/decoders/decodeRLE.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -function decodeRLE(imageFrame, pixelData) { - if (imageFrame.bitsAllocated === 8) { - if (imageFrame.planarConfiguration) { - return decode8Planar(imageFrame, pixelData); - } - - return decode8(imageFrame, pixelData); - } else if (imageFrame.bitsAllocated === 16) { - return decode16(imageFrame, pixelData); - } - - throw new Error('unsupported pixel format for RLE'); -} - -function decode8(imageFrame, pixelData) { - var frameData = pixelData; - var frameSize = imageFrame.rows * imageFrame.columns; - var outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel); - var header = new DataView(frameData.buffer, frameData.byteOffset); - var data = new Int8Array(frameData.buffer, frameData.byteOffset); - var out = new Int8Array(outFrame); - var outIndex = 0; - var numSegments = header.getInt32(0, true); - - for (var s = 0; s < numSegments; ++s) { - outIndex = s; - var inIndex = header.getInt32((s + 1) * 4, true); - var maxIndex = header.getInt32((s + 2) * 4, true); - - if (maxIndex === 0) { - maxIndex = frameData.length; - } - - var endOfSegment = frameSize * numSegments; - - while (inIndex < maxIndex) { - var n = data[inIndex++]; - - if (n >= 0 && n <= 127) { - // copy n bytes - for (var i = 0; i < n + 1 && outIndex < endOfSegment; ++i) { - out[outIndex] = data[inIndex++]; - outIndex += imageFrame.samplesPerPixel; - } - } else if (n <= -1 && n >= -127) { - var value = data[inIndex++]; // run of n bytes - - for (var j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) { - out[outIndex] = value; - outIndex += imageFrame.samplesPerPixel; - } - } - /* else if (n === -128) { - } // do nothing */ - - } - } - - imageFrame.pixelData = new Uint8Array(outFrame); - return imageFrame; -} - -function decode8Planar(imageFrame, pixelData) { - var frameData = pixelData; - var frameSize = imageFrame.rows * imageFrame.columns; - var outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel); - var header = new DataView(frameData.buffer, frameData.byteOffset); - var data = new Int8Array(frameData.buffer, frameData.byteOffset); - var out = new Int8Array(outFrame); - var outIndex = 0; - var numSegments = header.getInt32(0, true); - - for (var s = 0; s < numSegments; ++s) { - outIndex = s * frameSize; - var inIndex = header.getInt32((s + 1) * 4, true); - var maxIndex = header.getInt32((s + 2) * 4, true); - - if (maxIndex === 0) { - maxIndex = frameData.length; - } - - var endOfSegment = frameSize * numSegments; - - while (inIndex < maxIndex) { - var n = data[inIndex++]; - - if (n >= 0 && n <= 127) { - // copy n bytes - for (var i = 0; i < n + 1 && outIndex < endOfSegment; ++i) { - out[outIndex] = data[inIndex++]; - outIndex++; - } - } else if (n <= -1 && n >= -127) { - var value = data[inIndex++]; // run of n bytes - - for (var j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) { - out[outIndex] = value; - outIndex++; - } - } - /* else if (n === -128) { - } // do nothing */ - - } - } - - imageFrame.pixelData = new Uint8Array(outFrame); - return imageFrame; -} - -function decode16(imageFrame, pixelData) { - var frameData = pixelData; - var frameSize = imageFrame.rows * imageFrame.columns; - var outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel * 2); - var header = new DataView(frameData.buffer, frameData.byteOffset); - var data = new Int8Array(frameData.buffer, frameData.byteOffset); - var out = new Int8Array(outFrame); - var numSegments = header.getInt32(0, true); - - for (var s = 0; s < numSegments; ++s) { - var outIndex = 0; - var highByte = s === 0 ? 1 : 0; - var inIndex = header.getInt32((s + 1) * 4, true); - var maxIndex = header.getInt32((s + 2) * 4, true); - - if (maxIndex === 0) { - maxIndex = frameData.length; - } - - while (inIndex < maxIndex) { - var n = data[inIndex++]; - - if (n >= 0 && n <= 127) { - for (var i = 0; i < n + 1 && outIndex < frameSize; ++i) { - out[outIndex * 2 + highByte] = data[inIndex++]; - outIndex++; - } - } else if (n <= -1 && n >= -127) { - var value = data[inIndex++]; - - for (var j = 0; j < -n + 1 && outIndex < frameSize; ++j) { - out[outIndex * 2 + highByte] = value; - outIndex++; - } - } - /* else if (n === -128) { - } // do nothing */ - - } - } - - if (imageFrame.pixelRepresentation === 0) { - imageFrame.pixelData = new Uint16Array(outFrame); - } else { - imageFrame.pixelData = new Int16Array(outFrame); - } - - return imageFrame; -} - -/* harmony default export */ __webpack_exports__["default"] = (decodeRLE); - -/***/ }), - -/***/ "./shared/getMinMax.js": -/*!*****************************!*\ - !*** ./shared/getMinMax.js ***! - \*****************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/** - * Calculate the minimum and maximum values in an Array - * - * @param {Number[]} storedPixelData - * @return {{min: Number, max: Number}} - */ -function getMinMax(storedPixelData) { - // we always calculate the min max values since they are not always - // present in DICOM and we don't want to trust them anyway as cornerstone - // depends on us providing reliable values for these - var min = storedPixelData[0]; - var max = storedPixelData[0]; - var storedPixel; - var numPixels = storedPixelData.length; - - for (var index = 1; index < numPixels; index++) { - storedPixel = storedPixelData[index]; - min = Math.min(min, storedPixel); - max = Math.max(max, storedPixel); - } - - return { - min: min, - max: max - }; -} - -/* harmony default export */ __webpack_exports__["default"] = (getMinMax); - -/***/ }), - -/***/ "./version.js": -/*!********************!*\ - !*** ./version.js ***! - \********************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony default export */ __webpack_exports__["default"] = ('3.0.6'); - -/***/ }), - -/***/ "./webWorker/index.worker.js": -/*!***********************************!*\ - !*** ./webWorker/index.worker.js ***! - \***********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = function() { - return __webpack_require__(/*! !../node_modules/worker-loader/dist/workers/InlineWorker.js */ "../node_modules/worker-loader/dist/workers/InlineWorker.js")("/*! cornerstone-wado-image-loader - 3.0.6 - 2019-09-19 | (c) 2019 Chris Hafey | https://github.com/cornerstonejs/cornerstoneWADOImageLoader */\n/******/ (function(modules) { // webpackBootstrap\n/******/ \tvar parentHotUpdateCallback = this[\"webpackHotUpdate_name_\"];\n/******/ \tthis[\"webpackHotUpdate_name_\"] = // eslint-disable-next-line no-unused-vars\n/******/ \tfunction webpackHotUpdateCallback(chunkId, moreModules) {\n/******/ \t\thotAddUpdateChunk(chunkId, moreModules);\n/******/ \t\tif (parentHotUpdateCallback) parentHotUpdateCallback(chunkId, moreModules);\n/******/ \t} ;\n/******/\n/******/ \t// eslint-disable-next-line no-unused-vars\n/******/ \tfunction hotDownloadUpdateChunk(chunkId) {\n/******/ \t\timportScripts(__webpack_require__.p + \"\" + chunkId + \".\" + hotCurrentHash + \".hot-update.js\");\n/******/ \t}\n/******/\n/******/ \t// eslint-disable-next-line no-unused-vars\n/******/ \tfunction hotDownloadManifest(requestTimeout) {\n/******/ \t\trequestTimeout = requestTimeout || 10000;\n/******/ \t\treturn new Promise(function(resolve, reject) {\n/******/ \t\t\tif (typeof XMLHttpRequest === \"undefined\") {\n/******/ \t\t\t\treturn reject(new Error(\"No browser support\"));\n/******/ \t\t\t}\n/******/ \t\t\ttry {\n/******/ \t\t\t\tvar request = new XMLHttpRequest();\n/******/ \t\t\t\tvar requestPath = __webpack_require__.p + \"\" + hotCurrentHash + \".hot-update.json\";\n/******/ \t\t\t\trequest.open(\"GET\", requestPath, true);\n/******/ \t\t\t\trequest.timeout = requestTimeout;\n/******/ \t\t\t\trequest.send(null);\n/******/ \t\t\t} catch (err) {\n/******/ \t\t\t\treturn reject(err);\n/******/ \t\t\t}\n/******/ \t\t\trequest.onreadystatechange = function() {\n/******/ \t\t\t\tif (request.readyState !== 4) return;\n/******/ \t\t\t\tif (request.status === 0) {\n/******/ \t\t\t\t\t// timeout\n/******/ \t\t\t\t\treject(\n/******/ \t\t\t\t\t\tnew Error(\"Manifest request to \" + requestPath + \" timed out.\")\n/******/ \t\t\t\t\t);\n/******/ \t\t\t\t} else if (request.status === 404) {\n/******/ \t\t\t\t\t// no update available\n/******/ \t\t\t\t\tresolve();\n/******/ \t\t\t\t} else if (request.status !== 200 && request.status !== 304) {\n/******/ \t\t\t\t\t// other failure\n/******/ \t\t\t\t\treject(new Error(\"Manifest request to \" + requestPath + \" failed.\"));\n/******/ \t\t\t\t} else {\n/******/ \t\t\t\t\t// success\n/******/ \t\t\t\t\ttry {\n/******/ \t\t\t\t\t\tvar update = JSON.parse(request.responseText);\n/******/ \t\t\t\t\t} catch (e) {\n/******/ \t\t\t\t\t\treject(e);\n/******/ \t\t\t\t\t\treturn;\n/******/ \t\t\t\t\t}\n/******/ \t\t\t\t\tresolve(update);\n/******/ \t\t\t\t}\n/******/ \t\t\t};\n/******/ \t\t});\n/******/ \t}\n/******/\n/******/ \t//eslint-disable-next-line no-unused-vars\n/******/ \tfunction hotDisposeChunk(chunkId) {\n/******/ \t\tdelete installedChunks[chunkId];\n/******/ \t}\n/******/\n/******/ \tvar hotApplyOnUpdate = true;\n/******/ \t// eslint-disable-next-line no-unused-vars\n/******/ \tvar hotCurrentHash = \"922d2a9b8827ff21dc41\";\n/******/ \tvar hotRequestTimeout = 10000;\n/******/ \tvar hotCurrentModuleData = {};\n/******/ \tvar hotCurrentChildModule;\n/******/ \t// eslint-disable-next-line no-unused-vars\n/******/ \tvar hotCurrentParents = [];\n/******/ \t// eslint-disable-next-line no-unused-vars\n/******/ \tvar hotCurrentParentsTemp = [];\n/******/\n/******/ \t// eslint-disable-next-line no-unused-vars\n/******/ \tfunction hotCreateRequire(moduleId) {\n/******/ \t\tvar me = installedModules[moduleId];\n/******/ \t\tif (!me) return __webpack_require__;\n/******/ \t\tvar fn = function(request) {\n/******/ \t\t\tif (me.hot.active) {\n/******/ \t\t\t\tif (installedModules[request]) {\n/******/ \t\t\t\t\tif (installedModules[request].parents.indexOf(moduleId) === -1) {\n/******/ \t\t\t\t\t\tinstalledModules[request].parents.push(moduleId);\n/******/ \t\t\t\t\t}\n/******/ \t\t\t\t} else {\n/******/ \t\t\t\t\thotCurrentParents = [moduleId];\n/******/ \t\t\t\t\thotCurrentChildModule = request;\n/******/ \t\t\t\t}\n/******/ \t\t\t\tif (me.children.indexOf(request) === -1) {\n/******/ \t\t\t\t\tme.children.push(request);\n/******/ \t\t\t\t}\n/******/ \t\t\t} else {\n/******/ \t\t\t\tconsole.warn(\n/******/ \t\t\t\t\t\"[HMR] unexpected require(\" +\n/******/ \t\t\t\t\t\trequest +\n/******/ \t\t\t\t\t\t\") from disposed module \" +\n/******/ \t\t\t\t\t\tmoduleId\n/******/ \t\t\t\t);\n/******/ \t\t\t\thotCurrentParents = [];\n/******/ \t\t\t}\n/******/ \t\t\treturn __webpack_require__(request);\n/******/ \t\t};\n/******/ \t\tvar ObjectFactory = function ObjectFactory(name) {\n/******/ \t\t\treturn {\n/******/ \t\t\t\tconfigurable: true,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: function() {\n/******/ \t\t\t\t\treturn __webpack_require__[name];\n/******/ \t\t\t\t},\n/******/ \t\t\t\tset: function(value) {\n/******/ \t\t\t\t\t__webpack_require__[name] = value;\n/******/ \t\t\t\t}\n/******/ \t\t\t};\n/******/ \t\t};\n/******/ \t\tfor (var name in __webpack_require__) {\n/******/ \t\t\tif (\n/******/ \t\t\t\tObject.prototype.hasOwnProperty.call(__webpack_require__, name) &&\n/******/ \t\t\t\tname !== \"e\" &&\n/******/ \t\t\t\tname !== \"t\"\n/******/ \t\t\t) {\n/******/ \t\t\t\tObject.defineProperty(fn, name, ObjectFactory(name));\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tfn.e = function(chunkId) {\n/******/ \t\t\tif (hotStatus === \"ready\") hotSetStatus(\"prepare\");\n/******/ \t\t\thotChunksLoading++;\n/******/ \t\t\treturn __webpack_require__.e(chunkId).then(finishChunkLoading, function(err) {\n/******/ \t\t\t\tfinishChunkLoading();\n/******/ \t\t\t\tthrow err;\n/******/ \t\t\t});\n/******/\n/******/ \t\t\tfunction finishChunkLoading() {\n/******/ \t\t\t\thotChunksLoading--;\n/******/ \t\t\t\tif (hotStatus === \"prepare\") {\n/******/ \t\t\t\t\tif (!hotWaitingFilesMap[chunkId]) {\n/******/ \t\t\t\t\t\thotEnsureUpdateChunk(chunkId);\n/******/ \t\t\t\t\t}\n/******/ \t\t\t\t\tif (hotChunksLoading === 0 && hotWaitingFiles === 0) {\n/******/ \t\t\t\t\t\thotUpdateDownloaded();\n/******/ \t\t\t\t\t}\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t\tfn.t = function(value, mode) {\n/******/ \t\t\tif (mode & 1) value = fn(value);\n/******/ \t\t\treturn __webpack_require__.t(value, mode & ~1);\n/******/ \t\t};\n/******/ \t\treturn fn;\n/******/ \t}\n/******/\n/******/ \t// eslint-disable-next-line no-unused-vars\n/******/ \tfunction hotCreateModule(moduleId) {\n/******/ \t\tvar hot = {\n/******/ \t\t\t// private stuff\n/******/ \t\t\t_acceptedDependencies: {},\n/******/ \t\t\t_declinedDependencies: {},\n/******/ \t\t\t_selfAccepted: false,\n/******/ \t\t\t_selfDeclined: false,\n/******/ \t\t\t_disposeHandlers: [],\n/******/ \t\t\t_main: hotCurrentChildModule !== moduleId,\n/******/\n/******/ \t\t\t// Module API\n/******/ \t\t\tactive: true,\n/******/ \t\t\taccept: function(dep, callback) {\n/******/ \t\t\t\tif (dep === undefined) hot._selfAccepted = true;\n/******/ \t\t\t\telse if (typeof dep === \"function\") hot._selfAccepted = dep;\n/******/ \t\t\t\telse if (typeof dep === \"object\")\n/******/ \t\t\t\t\tfor (var i = 0; i < dep.length; i++)\n/******/ \t\t\t\t\t\thot._acceptedDependencies[dep[i]] = callback || function() {};\n/******/ \t\t\t\telse hot._acceptedDependencies[dep] = callback || function() {};\n/******/ \t\t\t},\n/******/ \t\t\tdecline: function(dep) {\n/******/ \t\t\t\tif (dep === undefined) hot._selfDeclined = true;\n/******/ \t\t\t\telse if (typeof dep === \"object\")\n/******/ \t\t\t\t\tfor (var i = 0; i < dep.length; i++)\n/******/ \t\t\t\t\t\thot._declinedDependencies[dep[i]] = true;\n/******/ \t\t\t\telse hot._declinedDependencies[dep] = true;\n/******/ \t\t\t},\n/******/ \t\t\tdispose: function(callback) {\n/******/ \t\t\t\thot._disposeHandlers.push(callback);\n/******/ \t\t\t},\n/******/ \t\t\taddDisposeHandler: function(callback) {\n/******/ \t\t\t\thot._disposeHandlers.push(callback);\n/******/ \t\t\t},\n/******/ \t\t\tremoveDisposeHandler: function(callback) {\n/******/ \t\t\t\tvar idx = hot._disposeHandlers.indexOf(callback);\n/******/ \t\t\t\tif (idx >= 0) hot._disposeHandlers.splice(idx, 1);\n/******/ \t\t\t},\n/******/\n/******/ \t\t\t// Management API\n/******/ \t\t\tcheck: hotCheck,\n/******/ \t\t\tapply: hotApply,\n/******/ \t\t\tstatus: function(l) {\n/******/ \t\t\t\tif (!l) return hotStatus;\n/******/ \t\t\t\thotStatusHandlers.push(l);\n/******/ \t\t\t},\n/******/ \t\t\taddStatusHandler: function(l) {\n/******/ \t\t\t\thotStatusHandlers.push(l);\n/******/ \t\t\t},\n/******/ \t\t\tremoveStatusHandler: function(l) {\n/******/ \t\t\t\tvar idx = hotStatusHandlers.indexOf(l);\n/******/ \t\t\t\tif (idx >= 0) hotStatusHandlers.splice(idx, 1);\n/******/ \t\t\t},\n/******/\n/******/ \t\t\t//inherit from previous dispose call\n/******/ \t\t\tdata: hotCurrentModuleData[moduleId]\n/******/ \t\t};\n/******/ \t\thotCurrentChildModule = undefined;\n/******/ \t\treturn hot;\n/******/ \t}\n/******/\n/******/ \tvar hotStatusHandlers = [];\n/******/ \tvar hotStatus = \"idle\";\n/******/\n/******/ \tfunction hotSetStatus(newStatus) {\n/******/ \t\thotStatus = newStatus;\n/******/ \t\tfor (var i = 0; i < hotStatusHandlers.length; i++)\n/******/ \t\t\thotStatusHandlers[i].call(null, newStatus);\n/******/ \t}\n/******/\n/******/ \t// while downloading\n/******/ \tvar hotWaitingFiles = 0;\n/******/ \tvar hotChunksLoading = 0;\n/******/ \tvar hotWaitingFilesMap = {};\n/******/ \tvar hotRequestedFilesMap = {};\n/******/ \tvar hotAvailableFilesMap = {};\n/******/ \tvar hotDeferred;\n/******/\n/******/ \t// The update info\n/******/ \tvar hotUpdate, hotUpdateNewHash;\n/******/\n/******/ \tfunction toModuleId(id) {\n/******/ \t\tvar isNumber = +id + \"\" === id;\n/******/ \t\treturn isNumber ? +id : id;\n/******/ \t}\n/******/\n/******/ \tfunction hotCheck(apply) {\n/******/ \t\tif (hotStatus !== \"idle\") {\n/******/ \t\t\tthrow new Error(\"check() is only allowed in idle status\");\n/******/ \t\t}\n/******/ \t\thotApplyOnUpdate = apply;\n/******/ \t\thotSetStatus(\"check\");\n/******/ \t\treturn hotDownloadManifest(hotRequestTimeout).then(function(update) {\n/******/ \t\t\tif (!update) {\n/******/ \t\t\t\thotSetStatus(\"idle\");\n/******/ \t\t\t\treturn null;\n/******/ \t\t\t}\n/******/ \t\t\thotRequestedFilesMap = {};\n/******/ \t\t\thotWaitingFilesMap = {};\n/******/ \t\t\thotAvailableFilesMap = update.c;\n/******/ \t\t\thotUpdateNewHash = update.h;\n/******/\n/******/ \t\t\thotSetStatus(\"prepare\");\n/******/ \t\t\tvar promise = new Promise(function(resolve, reject) {\n/******/ \t\t\t\thotDeferred = {\n/******/ \t\t\t\t\tresolve: resolve,\n/******/ \t\t\t\t\treject: reject\n/******/ \t\t\t\t};\n/******/ \t\t\t});\n/******/ \t\t\thotUpdate = {};\n/******/ \t\t\tvar chunkId = \"main\";\n/******/ \t\t\t// eslint-disable-next-line no-lone-blocks\n/******/ \t\t\t{\n/******/ \t\t\t\t/*globals chunkId */\n/******/ \t\t\t\thotEnsureUpdateChunk(chunkId);\n/******/ \t\t\t}\n/******/ \t\t\tif (\n/******/ \t\t\t\thotStatus === \"prepare\" &&\n/******/ \t\t\t\thotChunksLoading === 0 &&\n/******/ \t\t\t\thotWaitingFiles === 0\n/******/ \t\t\t) {\n/******/ \t\t\t\thotUpdateDownloaded();\n/******/ \t\t\t}\n/******/ \t\t\treturn promise;\n/******/ \t\t});\n/******/ \t}\n/******/\n/******/ \t// eslint-disable-next-line no-unused-vars\n/******/ \tfunction hotAddUpdateChunk(chunkId, moreModules) {\n/******/ \t\tif (!hotAvailableFilesMap[chunkId] || !hotRequestedFilesMap[chunkId])\n/******/ \t\t\treturn;\n/******/ \t\thotRequestedFilesMap[chunkId] = false;\n/******/ \t\tfor (var moduleId in moreModules) {\n/******/ \t\t\tif (Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n/******/ \t\t\t\thotUpdate[moduleId] = moreModules[moduleId];\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tif (--hotWaitingFiles === 0 && hotChunksLoading === 0) {\n/******/ \t\t\thotUpdateDownloaded();\n/******/ \t\t}\n/******/ \t}\n/******/\n/******/ \tfunction hotEnsureUpdateChunk(chunkId) {\n/******/ \t\tif (!hotAvailableFilesMap[chunkId]) {\n/******/ \t\t\thotWaitingFilesMap[chunkId] = true;\n/******/ \t\t} else {\n/******/ \t\t\thotRequestedFilesMap[chunkId] = true;\n/******/ \t\t\thotWaitingFiles++;\n/******/ \t\t\thotDownloadUpdateChunk(chunkId);\n/******/ \t\t}\n/******/ \t}\n/******/\n/******/ \tfunction hotUpdateDownloaded() {\n/******/ \t\thotSetStatus(\"ready\");\n/******/ \t\tvar deferred = hotDeferred;\n/******/ \t\thotDeferred = null;\n/******/ \t\tif (!deferred) return;\n/******/ \t\tif (hotApplyOnUpdate) {\n/******/ \t\t\t// Wrap deferred object in Promise to mark it as a well-handled Promise to\n/******/ \t\t\t// avoid triggering uncaught exception warning in Chrome.\n/******/ \t\t\t// See https://bugs.chromium.org/p/chromium/issues/detail?id=465666\n/******/ \t\t\tPromise.resolve()\n/******/ \t\t\t\t.then(function() {\n/******/ \t\t\t\t\treturn hotApply(hotApplyOnUpdate);\n/******/ \t\t\t\t})\n/******/ \t\t\t\t.then(\n/******/ \t\t\t\t\tfunction(result) {\n/******/ \t\t\t\t\t\tdeferred.resolve(result);\n/******/ \t\t\t\t\t},\n/******/ \t\t\t\t\tfunction(err) {\n/******/ \t\t\t\t\t\tdeferred.reject(err);\n/******/ \t\t\t\t\t}\n/******/ \t\t\t\t);\n/******/ \t\t} else {\n/******/ \t\t\tvar outdatedModules = [];\n/******/ \t\t\tfor (var id in hotUpdate) {\n/******/ \t\t\t\tif (Object.prototype.hasOwnProperty.call(hotUpdate, id)) {\n/******/ \t\t\t\t\toutdatedModules.push(toModuleId(id));\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t\tdeferred.resolve(outdatedModules);\n/******/ \t\t}\n/******/ \t}\n/******/\n/******/ \tfunction hotApply(options) {\n/******/ \t\tif (hotStatus !== \"ready\")\n/******/ \t\t\tthrow new Error(\"apply() is only allowed in ready status\");\n/******/ \t\toptions = options || {};\n/******/\n/******/ \t\tvar cb;\n/******/ \t\tvar i;\n/******/ \t\tvar j;\n/******/ \t\tvar module;\n/******/ \t\tvar moduleId;\n/******/\n/******/ \t\tfunction getAffectedStuff(updateModuleId) {\n/******/ \t\t\tvar outdatedModules = [updateModuleId];\n/******/ \t\t\tvar outdatedDependencies = {};\n/******/\n/******/ \t\t\tvar queue = outdatedModules.map(function(id) {\n/******/ \t\t\t\treturn {\n/******/ \t\t\t\t\tchain: [id],\n/******/ \t\t\t\t\tid: id\n/******/ \t\t\t\t};\n/******/ \t\t\t});\n/******/ \t\t\twhile (queue.length > 0) {\n/******/ \t\t\t\tvar queueItem = queue.pop();\n/******/ \t\t\t\tvar moduleId = queueItem.id;\n/******/ \t\t\t\tvar chain = queueItem.chain;\n/******/ \t\t\t\tmodule = installedModules[moduleId];\n/******/ \t\t\t\tif (!module || module.hot._selfAccepted) continue;\n/******/ \t\t\t\tif (module.hot._selfDeclined) {\n/******/ \t\t\t\t\treturn {\n/******/ \t\t\t\t\t\ttype: \"self-declined\",\n/******/ \t\t\t\t\t\tchain: chain,\n/******/ \t\t\t\t\t\tmoduleId: moduleId\n/******/ \t\t\t\t\t};\n/******/ \t\t\t\t}\n/******/ \t\t\t\tif (module.hot._main) {\n/******/ \t\t\t\t\treturn {\n/******/ \t\t\t\t\t\ttype: \"unaccepted\",\n/******/ \t\t\t\t\t\tchain: chain,\n/******/ \t\t\t\t\t\tmoduleId: moduleId\n/******/ \t\t\t\t\t};\n/******/ \t\t\t\t}\n/******/ \t\t\t\tfor (var i = 0; i < module.parents.length; i++) {\n/******/ \t\t\t\t\tvar parentId = module.parents[i];\n/******/ \t\t\t\t\tvar parent = installedModules[parentId];\n/******/ \t\t\t\t\tif (!parent) continue;\n/******/ \t\t\t\t\tif (parent.hot._declinedDependencies[moduleId]) {\n/******/ \t\t\t\t\t\treturn {\n/******/ \t\t\t\t\t\t\ttype: \"declined\",\n/******/ \t\t\t\t\t\t\tchain: chain.concat([parentId]),\n/******/ \t\t\t\t\t\t\tmoduleId: moduleId,\n/******/ \t\t\t\t\t\t\tparentId: parentId\n/******/ \t\t\t\t\t\t};\n/******/ \t\t\t\t\t}\n/******/ \t\t\t\t\tif (outdatedModules.indexOf(parentId) !== -1) continue;\n/******/ \t\t\t\t\tif (parent.hot._acceptedDependencies[moduleId]) {\n/******/ \t\t\t\t\t\tif (!outdatedDependencies[parentId])\n/******/ \t\t\t\t\t\t\toutdatedDependencies[parentId] = [];\n/******/ \t\t\t\t\t\taddAllToSet(outdatedDependencies[parentId], [moduleId]);\n/******/ \t\t\t\t\t\tcontinue;\n/******/ \t\t\t\t\t}\n/******/ \t\t\t\t\tdelete outdatedDependencies[parentId];\n/******/ \t\t\t\t\toutdatedModules.push(parentId);\n/******/ \t\t\t\t\tqueue.push({\n/******/ \t\t\t\t\t\tchain: chain.concat([parentId]),\n/******/ \t\t\t\t\t\tid: parentId\n/******/ \t\t\t\t\t});\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/\n/******/ \t\t\treturn {\n/******/ \t\t\t\ttype: \"accepted\",\n/******/ \t\t\t\tmoduleId: updateModuleId,\n/******/ \t\t\t\toutdatedModules: outdatedModules,\n/******/ \t\t\t\toutdatedDependencies: outdatedDependencies\n/******/ \t\t\t};\n/******/ \t\t}\n/******/\n/******/ \t\tfunction addAllToSet(a, b) {\n/******/ \t\t\tfor (var i = 0; i < b.length; i++) {\n/******/ \t\t\t\tvar item = b[i];\n/******/ \t\t\t\tif (a.indexOf(item) === -1) a.push(item);\n/******/ \t\t\t}\n/******/ \t\t}\n/******/\n/******/ \t\t// at begin all updates modules are outdated\n/******/ \t\t// the \"outdated\" status can propagate to parents if they don't accept the children\n/******/ \t\tvar outdatedDependencies = {};\n/******/ \t\tvar outdatedModules = [];\n/******/ \t\tvar appliedUpdate = {};\n/******/\n/******/ \t\tvar warnUnexpectedRequire = function warnUnexpectedRequire() {\n/******/ \t\t\tconsole.warn(\n/******/ \t\t\t\t\"[HMR] unexpected require(\" + result.moduleId + \") to disposed module\"\n/******/ \t\t\t);\n/******/ \t\t};\n/******/\n/******/ \t\tfor (var id in hotUpdate) {\n/******/ \t\t\tif (Object.prototype.hasOwnProperty.call(hotUpdate, id)) {\n/******/ \t\t\t\tmoduleId = toModuleId(id);\n/******/ \t\t\t\t/** @type {TODO} */\n/******/ \t\t\t\tvar result;\n/******/ \t\t\t\tif (hotUpdate[id]) {\n/******/ \t\t\t\t\tresult = getAffectedStuff(moduleId);\n/******/ \t\t\t\t} else {\n/******/ \t\t\t\t\tresult = {\n/******/ \t\t\t\t\t\ttype: \"disposed\",\n/******/ \t\t\t\t\t\tmoduleId: id\n/******/ \t\t\t\t\t};\n/******/ \t\t\t\t}\n/******/ \t\t\t\t/** @type {Error|false} */\n/******/ \t\t\t\tvar abortError = false;\n/******/ \t\t\t\tvar doApply = false;\n/******/ \t\t\t\tvar doDispose = false;\n/******/ \t\t\t\tvar chainInfo = \"\";\n/******/ \t\t\t\tif (result.chain) {\n/******/ \t\t\t\t\tchainInfo = \"\\nUpdate propagation: \" + result.chain.join(\" -> \");\n/******/ \t\t\t\t}\n/******/ \t\t\t\tswitch (result.type) {\n/******/ \t\t\t\t\tcase \"self-declined\":\n/******/ \t\t\t\t\t\tif (options.onDeclined) options.onDeclined(result);\n/******/ \t\t\t\t\t\tif (!options.ignoreDeclined)\n/******/ \t\t\t\t\t\t\tabortError = new Error(\n/******/ \t\t\t\t\t\t\t\t\"Aborted because of self decline: \" +\n/******/ \t\t\t\t\t\t\t\t\tresult.moduleId +\n/******/ \t\t\t\t\t\t\t\t\tchainInfo\n/******/ \t\t\t\t\t\t\t);\n/******/ \t\t\t\t\t\tbreak;\n/******/ \t\t\t\t\tcase \"declined\":\n/******/ \t\t\t\t\t\tif (options.onDeclined) options.onDeclined(result);\n/******/ \t\t\t\t\t\tif (!options.ignoreDeclined)\n/******/ \t\t\t\t\t\t\tabortError = new Error(\n/******/ \t\t\t\t\t\t\t\t\"Aborted because of declined dependency: \" +\n/******/ \t\t\t\t\t\t\t\t\tresult.moduleId +\n/******/ \t\t\t\t\t\t\t\t\t\" in \" +\n/******/ \t\t\t\t\t\t\t\t\tresult.parentId +\n/******/ \t\t\t\t\t\t\t\t\tchainInfo\n/******/ \t\t\t\t\t\t\t);\n/******/ \t\t\t\t\t\tbreak;\n/******/ \t\t\t\t\tcase \"unaccepted\":\n/******/ \t\t\t\t\t\tif (options.onUnaccepted) options.onUnaccepted(result);\n/******/ \t\t\t\t\t\tif (!options.ignoreUnaccepted)\n/******/ \t\t\t\t\t\t\tabortError = new Error(\n/******/ \t\t\t\t\t\t\t\t\"Aborted because \" + moduleId + \" is not accepted\" + chainInfo\n/******/ \t\t\t\t\t\t\t);\n/******/ \t\t\t\t\t\tbreak;\n/******/ \t\t\t\t\tcase \"accepted\":\n/******/ \t\t\t\t\t\tif (options.onAccepted) options.onAccepted(result);\n/******/ \t\t\t\t\t\tdoApply = true;\n/******/ \t\t\t\t\t\tbreak;\n/******/ \t\t\t\t\tcase \"disposed\":\n/******/ \t\t\t\t\t\tif (options.onDisposed) options.onDisposed(result);\n/******/ \t\t\t\t\t\tdoDispose = true;\n/******/ \t\t\t\t\t\tbreak;\n/******/ \t\t\t\t\tdefault:\n/******/ \t\t\t\t\t\tthrow new Error(\"Unexception type \" + result.type);\n/******/ \t\t\t\t}\n/******/ \t\t\t\tif (abortError) {\n/******/ \t\t\t\t\thotSetStatus(\"abort\");\n/******/ \t\t\t\t\treturn Promise.reject(abortError);\n/******/ \t\t\t\t}\n/******/ \t\t\t\tif (doApply) {\n/******/ \t\t\t\t\tappliedUpdate[moduleId] = hotUpdate[moduleId];\n/******/ \t\t\t\t\taddAllToSet(outdatedModules, result.outdatedModules);\n/******/ \t\t\t\t\tfor (moduleId in result.outdatedDependencies) {\n/******/ \t\t\t\t\t\tif (\n/******/ \t\t\t\t\t\t\tObject.prototype.hasOwnProperty.call(\n/******/ \t\t\t\t\t\t\t\tresult.outdatedDependencies,\n/******/ \t\t\t\t\t\t\t\tmoduleId\n/******/ \t\t\t\t\t\t\t)\n/******/ \t\t\t\t\t\t) {\n/******/ \t\t\t\t\t\t\tif (!outdatedDependencies[moduleId])\n/******/ \t\t\t\t\t\t\t\toutdatedDependencies[moduleId] = [];\n/******/ \t\t\t\t\t\t\taddAllToSet(\n/******/ \t\t\t\t\t\t\t\toutdatedDependencies[moduleId],\n/******/ \t\t\t\t\t\t\t\tresult.outdatedDependencies[moduleId]\n/******/ \t\t\t\t\t\t\t);\n/******/ \t\t\t\t\t\t}\n/******/ \t\t\t\t\t}\n/******/ \t\t\t\t}\n/******/ \t\t\t\tif (doDispose) {\n/******/ \t\t\t\t\taddAllToSet(outdatedModules, [result.moduleId]);\n/******/ \t\t\t\t\tappliedUpdate[moduleId] = warnUnexpectedRequire;\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t}\n/******/\n/******/ \t\t// Store self accepted outdated modules to require them later by the module system\n/******/ \t\tvar outdatedSelfAcceptedModules = [];\n/******/ \t\tfor (i = 0; i < outdatedModules.length; i++) {\n/******/ \t\t\tmoduleId = outdatedModules[i];\n/******/ \t\t\tif (\n/******/ \t\t\t\tinstalledModules[moduleId] &&\n/******/ \t\t\t\tinstalledModules[moduleId].hot._selfAccepted &&\n/******/ \t\t\t\t// removed self-accepted modules should not be required\n/******/ \t\t\t\tappliedUpdate[moduleId] !== warnUnexpectedRequire\n/******/ \t\t\t) {\n/******/ \t\t\t\toutdatedSelfAcceptedModules.push({\n/******/ \t\t\t\t\tmodule: moduleId,\n/******/ \t\t\t\t\terrorHandler: installedModules[moduleId].hot._selfAccepted\n/******/ \t\t\t\t});\n/******/ \t\t\t}\n/******/ \t\t}\n/******/\n/******/ \t\t// Now in \"dispose\" phase\n/******/ \t\thotSetStatus(\"dispose\");\n/******/ \t\tObject.keys(hotAvailableFilesMap).forEach(function(chunkId) {\n/******/ \t\t\tif (hotAvailableFilesMap[chunkId] === false) {\n/******/ \t\t\t\thotDisposeChunk(chunkId);\n/******/ \t\t\t}\n/******/ \t\t});\n/******/\n/******/ \t\tvar idx;\n/******/ \t\tvar queue = outdatedModules.slice();\n/******/ \t\twhile (queue.length > 0) {\n/******/ \t\t\tmoduleId = queue.pop();\n/******/ \t\t\tmodule = installedModules[moduleId];\n/******/ \t\t\tif (!module) continue;\n/******/\n/******/ \t\t\tvar data = {};\n/******/\n/******/ \t\t\t// Call dispose handlers\n/******/ \t\t\tvar disposeHandlers = module.hot._disposeHandlers;\n/******/ \t\t\tfor (j = 0; j < disposeHandlers.length; j++) {\n/******/ \t\t\t\tcb = disposeHandlers[j];\n/******/ \t\t\t\tcb(data);\n/******/ \t\t\t}\n/******/ \t\t\thotCurrentModuleData[moduleId] = data;\n/******/\n/******/ \t\t\t// disable module (this disables requires from this module)\n/******/ \t\t\tmodule.hot.active = false;\n/******/\n/******/ \t\t\t// remove module from cache\n/******/ \t\t\tdelete installedModules[moduleId];\n/******/\n/******/ \t\t\t// when disposing there is no need to call dispose handler\n/******/ \t\t\tdelete outdatedDependencies[moduleId];\n/******/\n/******/ \t\t\t// remove \"parents\" references from all children\n/******/ \t\t\tfor (j = 0; j < module.children.length; j++) {\n/******/ \t\t\t\tvar child = installedModules[module.children[j]];\n/******/ \t\t\t\tif (!child) continue;\n/******/ \t\t\t\tidx = child.parents.indexOf(moduleId);\n/******/ \t\t\t\tif (idx >= 0) {\n/******/ \t\t\t\t\tchild.parents.splice(idx, 1);\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t}\n/******/\n/******/ \t\t// remove outdated dependency from module children\n/******/ \t\tvar dependency;\n/******/ \t\tvar moduleOutdatedDependencies;\n/******/ \t\tfor (moduleId in outdatedDependencies) {\n/******/ \t\t\tif (\n/******/ \t\t\t\tObject.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)\n/******/ \t\t\t) {\n/******/ \t\t\t\tmodule = installedModules[moduleId];\n/******/ \t\t\t\tif (module) {\n/******/ \t\t\t\t\tmoduleOutdatedDependencies = outdatedDependencies[moduleId];\n/******/ \t\t\t\t\tfor (j = 0; j < moduleOutdatedDependencies.length; j++) {\n/******/ \t\t\t\t\t\tdependency = moduleOutdatedDependencies[j];\n/******/ \t\t\t\t\t\tidx = module.children.indexOf(dependency);\n/******/ \t\t\t\t\t\tif (idx >= 0) module.children.splice(idx, 1);\n/******/ \t\t\t\t\t}\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t}\n/******/\n/******/ \t\t// Now in \"apply\" phase\n/******/ \t\thotSetStatus(\"apply\");\n/******/\n/******/ \t\thotCurrentHash = hotUpdateNewHash;\n/******/\n/******/ \t\t// insert new code\n/******/ \t\tfor (moduleId in appliedUpdate) {\n/******/ \t\t\tif (Object.prototype.hasOwnProperty.call(appliedUpdate, moduleId)) {\n/******/ \t\t\t\tmodules[moduleId] = appliedUpdate[moduleId];\n/******/ \t\t\t}\n/******/ \t\t}\n/******/\n/******/ \t\t// call accept handlers\n/******/ \t\tvar error = null;\n/******/ \t\tfor (moduleId in outdatedDependencies) {\n/******/ \t\t\tif (\n/******/ \t\t\t\tObject.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)\n/******/ \t\t\t) {\n/******/ \t\t\t\tmodule = installedModules[moduleId];\n/******/ \t\t\t\tif (module) {\n/******/ \t\t\t\t\tmoduleOutdatedDependencies = outdatedDependencies[moduleId];\n/******/ \t\t\t\t\tvar callbacks = [];\n/******/ \t\t\t\t\tfor (i = 0; i < moduleOutdatedDependencies.length; i++) {\n/******/ \t\t\t\t\t\tdependency = moduleOutdatedDependencies[i];\n/******/ \t\t\t\t\t\tcb = module.hot._acceptedDependencies[dependency];\n/******/ \t\t\t\t\t\tif (cb) {\n/******/ \t\t\t\t\t\t\tif (callbacks.indexOf(cb) !== -1) continue;\n/******/ \t\t\t\t\t\t\tcallbacks.push(cb);\n/******/ \t\t\t\t\t\t}\n/******/ \t\t\t\t\t}\n/******/ \t\t\t\t\tfor (i = 0; i < callbacks.length; i++) {\n/******/ \t\t\t\t\t\tcb = callbacks[i];\n/******/ \t\t\t\t\t\ttry {\n/******/ \t\t\t\t\t\t\tcb(moduleOutdatedDependencies);\n/******/ \t\t\t\t\t\t} catch (err) {\n/******/ \t\t\t\t\t\t\tif (options.onErrored) {\n/******/ \t\t\t\t\t\t\t\toptions.onErrored({\n/******/ \t\t\t\t\t\t\t\t\ttype: \"accept-errored\",\n/******/ \t\t\t\t\t\t\t\t\tmoduleId: moduleId,\n/******/ \t\t\t\t\t\t\t\t\tdependencyId: moduleOutdatedDependencies[i],\n/******/ \t\t\t\t\t\t\t\t\terror: err\n/******/ \t\t\t\t\t\t\t\t});\n/******/ \t\t\t\t\t\t\t}\n/******/ \t\t\t\t\t\t\tif (!options.ignoreErrored) {\n/******/ \t\t\t\t\t\t\t\tif (!error) error = err;\n/******/ \t\t\t\t\t\t\t}\n/******/ \t\t\t\t\t\t}\n/******/ \t\t\t\t\t}\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t}\n/******/\n/******/ \t\t// Load self accepted modules\n/******/ \t\tfor (i = 0; i < outdatedSelfAcceptedModules.length; i++) {\n/******/ \t\t\tvar item = outdatedSelfAcceptedModules[i];\n/******/ \t\t\tmoduleId = item.module;\n/******/ \t\t\thotCurrentParents = [moduleId];\n/******/ \t\t\ttry {\n/******/ \t\t\t\t__webpack_require__(moduleId);\n/******/ \t\t\t} catch (err) {\n/******/ \t\t\t\tif (typeof item.errorHandler === \"function\") {\n/******/ \t\t\t\t\ttry {\n/******/ \t\t\t\t\t\titem.errorHandler(err);\n/******/ \t\t\t\t\t} catch (err2) {\n/******/ \t\t\t\t\t\tif (options.onErrored) {\n/******/ \t\t\t\t\t\t\toptions.onErrored({\n/******/ \t\t\t\t\t\t\t\ttype: \"self-accept-error-handler-errored\",\n/******/ \t\t\t\t\t\t\t\tmoduleId: moduleId,\n/******/ \t\t\t\t\t\t\t\terror: err2,\n/******/ \t\t\t\t\t\t\t\toriginalError: err\n/******/ \t\t\t\t\t\t\t});\n/******/ \t\t\t\t\t\t}\n/******/ \t\t\t\t\t\tif (!options.ignoreErrored) {\n/******/ \t\t\t\t\t\t\tif (!error) error = err2;\n/******/ \t\t\t\t\t\t}\n/******/ \t\t\t\t\t\tif (!error) error = err;\n/******/ \t\t\t\t\t}\n/******/ \t\t\t\t} else {\n/******/ \t\t\t\t\tif (options.onErrored) {\n/******/ \t\t\t\t\t\toptions.onErrored({\n/******/ \t\t\t\t\t\t\ttype: \"self-accept-errored\",\n/******/ \t\t\t\t\t\t\tmoduleId: moduleId,\n/******/ \t\t\t\t\t\t\terror: err\n/******/ \t\t\t\t\t\t});\n/******/ \t\t\t\t\t}\n/******/ \t\t\t\t\tif (!options.ignoreErrored) {\n/******/ \t\t\t\t\t\tif (!error) error = err;\n/******/ \t\t\t\t\t}\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t}\n/******/\n/******/ \t\t// handle errors in accept handlers and self accepted module load\n/******/ \t\tif (error) {\n/******/ \t\t\thotSetStatus(\"fail\");\n/******/ \t\t\treturn Promise.reject(error);\n/******/ \t\t}\n/******/\n/******/ \t\thotSetStatus(\"idle\");\n/******/ \t\treturn new Promise(function(resolve) {\n/******/ \t\t\tresolve(outdatedModules);\n/******/ \t\t});\n/******/ \t}\n/******/\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {},\n/******/ \t\t\thot: hotCreateModule(moduleId),\n/******/ \t\t\tparents: (hotCurrentParentsTemp = hotCurrentParents, hotCurrentParents = [], hotCurrentParentsTemp),\n/******/ \t\t\tchildren: []\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId));\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// __webpack_hash__\n/******/ \t__webpack_require__.h = function() { return hotCurrentHash; };\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn hotCreateRequire(\"../node_modules/babel-loader/lib/index.js!../node_modules/eslint-loader/index.js?!./webWorker/index.worker.js\")(__webpack_require__.s = \"../node_modules/babel-loader/lib/index.js!../node_modules/eslint-loader/index.js?!./webWorker/index.worker.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"../codecs/charLS-FixedMemory-browser.js\":\n/*!***********************************************!*\\\n !*** ../codecs/charLS-FixedMemory-browser.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n/*! CharLS.js - v2.0.1 - 2016-06-08 | (c) 2016 Chris Hafey | https://github.com/chafey/charls */\n\n// Notes:\n// - Had to patch parsejsfunc\nvar CharLS = function(Module) {\n Module = Module || {};\n\n var Module;if(!Module)Module=(typeof CharLS!==\"undefined\"?CharLS:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window===\"object\";var ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";var ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof require===\"function\"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module[\"print\"])Module[\"print\"]=function print(x){process[\"stdout\"].write(x+\"\\n\")};if(!Module[\"printErr\"])Module[\"printErr\"]=function printErr(x){process[\"stderr\"].write(x+\"\\n\")};var nodeFS=require(\"fs\");var nodePath=require(\"path\");Module[\"read\"]=function read(filename,binary){filename=nodePath[\"normalize\"](filename);var ret=nodeFS[\"readFileSync\"](filename);if(!ret&&filename!=nodePath[\"resolve\"](filename)){filename=path.join(__dirname,\"..\",\"src\",filename);ret=nodeFS[\"readFileSync\"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module[\"readBinary\"]=function readBinary(filename){var ret=Module[\"read\"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module[\"load\"]=function load(f){globalEval(read(f))};if(!Module[\"thisProgram\"]){if(process[\"argv\"].length>1){Module[\"thisProgram\"]=process[\"argv\"][1].replace(/\\\\/g,\"/\")}else{Module[\"thisProgram\"]=\"unknown-program\"}}Module[\"arguments\"]=process[\"argv\"].slice(2);if(typeof module!==\"undefined\"){module[\"exports\"]=Module}process[\"on\"](\"uncaughtException\",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module[\"inspect\"]=(function(){return\"[Emscripten Module object]\"})}else if(ENVIRONMENT_IS_SHELL){if(!Module[\"print\"])Module[\"print\"]=print;if(typeof printErr!=\"undefined\")Module[\"printErr\"]=printErr;if(typeof read!=\"undefined\"){Module[\"read\"]=read}else{Module[\"read\"]=function read(){throw\"no read() available (jsc?)\"}}Module[\"readBinary\"]=function readBinary(f){if(typeof readbuffer===\"function\"){return new Uint8Array(readbuffer(f))}var data=read(f,\"binary\");assert(typeof data===\"object\");return data};if(typeof scriptArgs!=\"undefined\"){Module[\"arguments\"]=scriptArgs}else if(typeof arguments!=\"undefined\"){Module[\"arguments\"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module[\"read\"]=function read(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!=\"undefined\"){Module[\"arguments\"]=arguments}if(typeof console!==\"undefined\"){if(!Module[\"print\"])Module[\"print\"]=function print(x){console.log(x)};if(!Module[\"printErr\"])Module[\"printErr\"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module[\"print\"])Module[\"print\"]=TRY_USE_DUMP&&typeof dump!==\"undefined\"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module[\"load\"]=importScripts}if(typeof Module[\"setWindowTitle\"]===\"undefined\"){Module[\"setWindowTitle\"]=(function(title){document.title=title})}}else{throw\"Unknown runtime environment. Where are we?\"}function globalEval(x){eval.call(null,x)}if(!Module[\"load\"]&&Module[\"read\"]){Module[\"load\"]=function load(f){globalEval(Module[\"read\"](f))}}if(!Module[\"print\"]){Module[\"print\"]=(function(){})}if(!Module[\"printErr\"]){Module[\"printErr\"]=Module[\"print\"]}if(!Module[\"arguments\"]){Module[\"arguments\"]=[]}if(!Module[\"thisProgram\"]){Module[\"thisProgram\"]=\"./this.program\"}Module.print=Module[\"print\"];Module.printErr=Module[\"printErr\"];Module[\"preRun\"]=[];Module[\"postRun\"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case\"i1\":case\"i8\":return 1;case\"i16\":return 2;case\"i32\":return 4;case\"i64\":return 8;case\"float\":return 4;case\"double\":return 8;default:{if(type[type.length-1]===\"*\"){return Runtime.QUANTUM_SIZE}else if(type[0]===\"i\"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type===\"double\"||type===\"i64\"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type==\"i64\"||type==\"double\"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module[\"dynCall_\"+sig].apply(null,args)}else{return Module[\"dynCall_\"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module[\"Runtime\"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort(\"Assertion failed: \"+text)}}var globalScope=this;function getCFunc(ident){var func=Module[\"_\"+ident];if(!func){try{func=eval(\"_\"+ident)}catch(e){}}assert(func,\"Cannot call unknown function \"+ident+\" (perhaps LLVM optimizations or closure removed it?)\");return func}var cwrap,ccall;((function(){var JSfuncs={\"stackSave\":(function(){Runtime.stackSave()}),\"stackRestore\":(function(){Runtime.stackRestore()}),\"arrayToC\":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),\"stringToC\":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={\"string\":JSfuncs[\"stringToC\"],\"array\":JSfuncs[\"arrayToC\"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case\"i8\":HEAP8[ptr>>0]=value;break;case\"i16\":HEAP16[ptr>>1]=value;break;case\"i32\":HEAP32[ptr>>2]=value;break;case\"i64\":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case\"float\":HEAPF32[ptr>>2]=value;break;case\"double\":HEAPF64[ptr>>3]=value;break;default:abort(\"invalid type for setValue: \"+type)}}Module[\"setValue\"]=setValue;function getValue(ptr,type,noSafe){type=type||\"i8\";if(type.charAt(type.length-1)===\"*\")type=\"i32\";switch(type){case\"i1\":return HEAP8[ptr>>0];case\"i8\":return HEAP8[ptr>>0];case\"i16\":return HEAP16[ptr>>1];case\"i32\":return HEAP32[ptr>>2];case\"i64\":return HEAP32[ptr>>2];case\"float\":return HEAPF32[ptr>>2];case\"double\":return HEAPF64[ptr>>3];default:abort(\"invalid type for setValue: \"+type)}return null}Module[\"getValue\"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module[\"ALLOC_NORMAL\"]=ALLOC_NORMAL;Module[\"ALLOC_STACK\"]=ALLOC_STACK;Module[\"ALLOC_STATIC\"]=ALLOC_STATIC;Module[\"ALLOC_DYNAMIC\"]=ALLOC_DYNAMIC;Module[\"ALLOC_NONE\"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab===\"number\"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types===\"string\"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType===\"i8\"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret=\"\";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module[\"UTF8ToString\"](ptr)}Module[\"Pointer_stringify\"]=Pointer_stringify;function AsciiToString(ptr){var str=\"\";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module[\"AsciiToString\"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module[\"stringToAscii\"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str=\"\";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module[\"UTF8ArrayToString\"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module[\"UTF8ToString\"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module[\"stringToUTF8Array\"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module[\"stringToUTF8\"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module[\"lengthBytesUTF8\"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str=\"\";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module[\"UTF16ToString\"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module[\"stringToUTF16\"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module[\"lengthBytesUTF16\"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str=\"\";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module[\"UTF32ToString\"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module[\"stringToUTF32\"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module[\"lengthBytesUTF32\"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module[\"___cxa_demangle\"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module[\"___cxa_demangle\"](buf,0,0,status);if(getValue(status,\"i32\")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={\"v\":\"void\",\"b\":\"bool\",\"c\":\"char\",\"s\":\"short\",\"i\":\"int\",\"l\":\"long\",\"f\":\"float\",\"d\":\"double\",\"w\":\"wchar_t\",\"a\":\"signed char\",\"h\":\"unsigned char\",\"t\":\"unsigned short\",\"j\":\"unsigned int\",\"m\":\"unsigned long\",\"x\":\"long long\",\"y\":\"unsigned long long\",\"z\":\"...\"};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre=\"\";for(var a=0;a\"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case\"P\":list.push(parse(true,1,true)[0]+\"*\");break;case\"R\":list.push(parse(true,1,true)[0]+\"&\");break;case\"L\":{i++;var end=func.indexOf(\"E\",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case\"A\":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!==\"_\")throw\"?\";i++;list.push(parse(true,1,true)[0]+\" [\"+size+\"]\");break};case\"E\":break paramLoop;default:ret+=\"?\"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]===\"void\")list=[];if(rawList){if(ret){list.push(ret+\"?\")}return list}else{return ret+flushList()}}var parsed=func;try{if(func==\"Object._main\"||func==\"_main\"){return\"main()\"}if(typeof func===\"number\")func=Pointer_stringify(func);if(func[0]!==\"_\")return func;if(func[1]!==\"_\")return func;if(func[2]!==\"Z\")return func;switch(func[3]){case\"n\":return\"operator new()\";case\"d\":return\"operator delete()\"}parsed=parse()}catch(e){parsed+=\"?\"}if(parsed.indexOf(\"?\")>=0&&!hasLibcxxabi){Runtime.warnOnce(\"warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling\")}return parsed}function demangleAll(text){return text.replace(/__Z[\\w\\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+\" [\"+y+\"]\"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return\"(no stack trace available)\"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module[\"stackTrace\"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort(\"Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value \"+TOTAL_MEMORY+\", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 \")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module[\"TOTAL_STACK\"]||5242880;var TOTAL_MEMORY=Module[\"TOTAL_MEMORY\"]||4e8;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback==\"function\"){callback();continue}var func=callback.func;if(typeof func===\"number\"){if(callback.arg===undefined){Runtime.dynCall(\"v\",func)}else{Runtime.dynCall(\"vi\",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module[\"addOnPreRun\"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module[\"addOnInit\"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module[\"addOnPreMain\"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module[\"addOnExit\"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module[\"addOnPostRun\"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module[\"intArrayFromString\"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join(\"\")}Module[\"intArrayToString\"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module[\"writeStringToMemory\"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module[\"writeArrayToMemory\"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module[\"writeAsciiToMemory\"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math[\"imul\"]||Math[\"imul\"](4294967295,5)!==-5)Math[\"imul\"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math[\"imul\"];if(!Math[\"clz32\"])Math[\"clz32\"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math[\"clz32\"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}Module[\"addRunDependency\"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module[\"removeRunDependency\"]=removeRunDependency;Module[\"preloadedImages\"]={};Module[\"preloadedAudios\"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+59744;__ATINIT__.push({func:(function(){__GLOBAL__I_000101()})},{func:(function(){__GLOBAL__sub_I_jpegls_cpp()})},{func:(function(){__GLOBAL__sub_I_iostream_cpp()})});allocate([0,0,0,0,0,0,0,0,84,144,0,0,31,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,237,191,0,0,48,0,0,0,0,0,0,0,44,144,0,0,41,192,0,0,84,144,0,0,55,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,115,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,192,0,0,152,3,0,0,0,0,0,0,84,144,0,0,241,192,0,0,216,3,0,0,0,0,0,0,84,144,0,0,55,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,95,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,135,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,216,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,241,193,0,0,48,0,0,0,0,0,0,0,44,144,0,0,13,194,0,0,84,144,0,0,80,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,44,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,139,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,179,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,219,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,3,195,0,0,48,0,0,0,0,0,0,0,84,144,0,0,103,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,157,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,211,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,8,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,71,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,138,196,0,0,160,1,0,0,0,0,0,0,44,144,0,0,120,196,0,0,84,144,0,0,187,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,246,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,49,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,103,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,157,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,210,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,17,198,0,0,160,1,0,0,0,0,0,0,84,144,0,0,86,198,0,0,72,3,0,0,0,0,0,0,84,144,0,0,162,198,0,0,56,2,0,0,0,0,0,0,44,144,0,0,182,198,0,0,84,144,0,0,196,198,0,0,56,2,0,0,0,0,0,0,84,144,0,0,112,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,125,199,0,0,84,144,0,0,138,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,156,199,0,0,84,144,0,0,169,199,0,0,96,2,0,0,0,0,0,0,84,144,0,0,181,199,0,0,120,2,0,0,0,0,0,0,84,144,0,0,214,199,0,0,144,2,0,0,0,0,0,0,84,144,0,0,28,200,0,0,144,2,0,0,0,0,0,0,84,144,0,0,248,199,0,0,176,2,0,0,0,0,0,0,84,144,0,0,62,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,99,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,182,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,245,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,13,222,0,0,152,3,0,0,0,0,0,0,84,144,0,0,38,222,0,0,152,3,0,0,0,0,0,0,44,144,0,0,62,222,0,0,84,144,0,0,87,222,0,0,104,2,0,0,0,0,0,0,44,144,0,0,110,222,0,0,84,144,0,0,135,222,0,0,72,3,0,0,0,0,0,0,84,144,0,0,161,222,0,0,56,3,0,0,0,0,0,0,44,144,0,0,187,222,0,0,84,144,0,0,205,222,0,0,112,3,0,0,0,0,0,0,84,144,0,0,247,222,0,0,112,3,0,0,0,0,0,0,44,144,0,0,33,223,0,0,44,144,0,0,82,223,0,0,124,144,0,0,131,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,178,223,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,124,144,0,0,225,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,16,224,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,84,144,0,0,63,224,0,0,80,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,144,0,0,187,224,0,0,48,3,0,0,0,0,0,0,124,144,0,0,209,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,124,144,0,0,227,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,5,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,40,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,75,225,0,0,144,4,0,0,0,0,0,0,84,144,0,0,109,225,0,0,144,4,0,0,0,0,0,0,124,144,0,0,144,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,178,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,200,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,220,225,0,0,32,4,0,0,0,0,0,0,124,144,0,0,240,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,84,144,0,0,2,226,0,0,32,4,0,0,0,0,0,0,84,144,0,0,23,226,0,0,32,4,0,0,0,0,0,0,124,144,0,0,44,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,80,10,0,0,0,0,0,0,124,144,0,0,112,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,104,10,0,0,0,0,0,0,124,144,0,0,180,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,128,10,0,0,0,0,0,0,124,144,0,0,248,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,152,10,0,0,0,0,0,0,124,144,0,0,60,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,184,10,0,0,0,8,0,0,124,144,0,0,129,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,192,10,0,0,0,8,0,0,124,144,0,0,198,227,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,11,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,80,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,108,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,136,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,164,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,192,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,216,10,0,0,0,0,0,0,124,144,0,0,6,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,224,10,0,0,0,0,0,0,124,144,0,0,76,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,232,10,0,0,0,0,0,0,124,144,0,0,146,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,240,10,0,0,0,0,0,0,124,144,0,0,216,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,124,144,0,0,237,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,144,0,0,73,233,0,0,44,144,0,0,50,233,0,0,124,144,0,0,28,233,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,237,232,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,215,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,124,144,0,0,168,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,44,144,0,0,149,232,0,0,44,144,0,0,115,232,0,0,44,144,0,0,81,232,0,0,44,144,0,0,60,232,0,0,44,144,0,0,39,232,0,0,44,144,0,0,14,232,0,0,44,144,0,0,245,231,0,0,44,144,0,0,220,231,0,0,44,144,0,0,195,231,0,0,44,144,0,0,171,231,0,0,44,144,0,0,190,232,0,0,44,144,0,0,3,233],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([156,143,0,0,0,0,0,0,8,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,248,1,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,1,0,0,5,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,7,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,200,1,0,0,9,0,0,0,10,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,184,1,0,0,11,0,0,0,12,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,168,1,0,0,13,0,0,0,14,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,144,1,0,0,15,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,128,1,0,0,17,0,0,0,18,0,0,0,9,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,112,1,0,0,19,0,0,0,20,0,0,0,10,0,0,0,2,0,0,0,10,0,0,0,0,0,0,0,96,1,0,0,21,0,0,0,22,0,0,0,11,0,0,0,3,0,0,0,11,0,0,0,0,0,0,0,80,1,0,0,23,0,0,0,24,0,0,0,12,0,0,0,4,0,0,0,12,0,0,0,0,0,0,0,64,1,0,0,25,0,0,0,26,0,0,0,13,0,0,0,5,0,0,0,13,0,0,0,0,0,0,0,240,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,6,0,0,0,14,0,0,0,0,0,0,0,224,0,0,0,29,0,0,0,30,0,0,0,15,0,0,0,7,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,31,0,0,0,32,0,0,0,16,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,200,0,0,0,33,0,0,0,34,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,184,0,0,0,33,0,0,0,35,0,0,0,3,0,0,0,4,0,0,0,56,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,200,255,255,255,200,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,56,0,0,0,0,0,0,0,104,0,0,0,40,0,0,0,41,0,0,0,200,255,255,255,200,255,255,255,104,0,0,0,42,0,0,0,43,0,0,0,0,0,0,0,88,0,0,0,44,0,0,0,45,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,17,0,0,0,3,0,0,0,18,0,0,0,104,141,0,0,64,141,0,0,84,141,0,0,124,141,0,0,0,0,0,0,32,0,0,0,46,0,0,0,47,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,56,0,0,0,48,0,0,0,49,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,72,0,0,0,50,0,0,0,51,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,120,0,0,0,52,0,0,0,53,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,136,0,0,0,54,0,0,0,55,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,152,0,0,0,56,0,0,0,57,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,168,0,0,0,58,0,0,0,59,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,216,0,0,0,60,0,0,0,61,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,62,0,0,0,63,0,0,0,20,0,0,0,21,0,0,0,0,0,0,0,16,1,0,0,64,0,0,0,65,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,32,1,0,0,66,0,0,0,67,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,48,1,0,0,68,0,0,0,69,0,0,0,26,0,0,0,27,0,0,0,0,0,0,0,160,1,0,0,70,0,0,0,71,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,24,2,0,0,72,0,0,0,73,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,40,2,0,0,74,0,0,0,75,0,0,0,18,0,0,0,0,0,0,0,64,2,0,0,76,0,0,0,77,0,0,0,19,0,0,0,2,0,0,0,0,0,0,0,80,2,0,0,78,0,0,0,79,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,104,2,0,0,80,0,0,0,81,0,0,0,7,0,0,0,0,0,0,0,128,2,0,0,82,0,0,0,83,0,0,0,8,0,0,0,0,0,0,0,160,2,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,2,0,0,0,9,0,0,0,28,0,0,0,0,0,0,0,208,2,0,0,84,0,0,0,88,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,3,0,0,0,10,0,0,0,29,0,0,0,0,0,0,0,224,2,0,0,84,0,0,0,89,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,4,0,0,0,11,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,1,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,88,146,0,0,200,146,0,0,56,147,0,0,56,147,0,0,120,187,0,0,168,155,0,0,168,149,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,9,0,0,0,159,219,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,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,9,0,0,0,151,215,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,9,0,0,0,143,211,0,0,0,4,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,10,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+35640);allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+39844);allocate([240,2,0,0,90,0,0,0,91,0,0,0,20,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,14,0,0,0,20,0,0,0,0,0,0,0,0,3,0,0,90,0,0,0,92,0,0,0,21,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,16,0,0,0,21,0,0,0,15,0,0,0,22,0,0,0,0,0,0,0,16,3,0,0,93,0,0,0,94,0,0,0,22,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,32,3,0,0,93,0,0,0,95,0,0,0,23,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,19,0,0,0,20,0,0,0,25,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,56,3,0,0,96,0,0,0,97,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,3,0,0,93,0,0,0,98,0,0,0,17,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,160,3,0,0,90,0,0,0,99,0,0,0,24,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,15,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,168,3,0,0,100,0,0,0,101,0,0,0,248,255,255,255,248,255,255,255,168,3,0,0,102,0,0,0,103,0,0,0,8,0,0,0,0,0,0,0,192,3,0,0,104,0,0,0,105,0,0,0,248,255,255,255,248,255,255,255,192,3,0,0,106,0,0,0,107,0,0,0,4,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,252,255,255,255,252,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,4,0,0,0,0,0,0,0,240,3,0,0,108,0,0,0,109,0,0,0,252,255,255,255,252,255,255,255,240,3,0,0,110,0,0,0,111,0,0,0,0,0,0,0,96,3,0,0,112,0,0,0,113,0,0,0,7,0,0,0,0,0,0,0,112,3,0,0,114,0,0,0,115,0,0,0,0,0,0,0,8,4,0,0,72,0,0,0,116,0,0,0,21,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,117,0,0,0,118,0,0,0,119,0,0,0,1,0,0,0,33,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,5,0,0,120,0,0,0,121,0,0,0,119,0,0,0,2,0,0,0,34,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,5,0,0,122,0,0,0,123,0,0,0,119,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,5,0,0,124,0,0,0,125,0,0,0,119,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,5,0,0,126,0,0,0,127,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,5,0,0,128,0,0,0,129,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,26,0,0,0,3,0,0,0,4,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,5,0,0,130,0,0,0,131,0,0,0,119,0,0,0,22,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,248,255,255,255,224,5,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,0,0,132,0,0,0,133,0,0,0,119,0,0,0,30,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,2,0,0,0,248,255,255,255,8,6,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,6,0,0,134,0,0,0,135,0,0,0,119,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,6,0,0,136,0,0,0,137,0,0,0,119,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,6,0,0,138,0,0,0,139,0,0,0,119,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,40,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,6,0,0,140,0,0,0,141,0,0,0,119,0,0,0,41,0,0,0,42,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,43,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,6,0,0,142,0,0,0,143,0,0,0,119,0,0,0,44,0,0,0,45,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,46,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,6,0,0,144,0,0,0,145,0,0,0,119,0,0,0,47,0,0,0,48,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,49,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,6,0,0,146,0,0,0,147,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,0,0,148,0,0,0,149,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,7,0,0,150,0,0,0,151,0,0,0,119,0,0,0,1,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,7,0,0,152,0,0,0,153,0,0,0,119,0,0,0,2,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,0,0,154,0,0,0,155,0,0,0,119,0,0,0,19,0,0,0,7,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,7,0,0,156,0,0,0,157,0,0,0,119,0,0,0,20,0,0,0,8,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,4,0,0,158,0,0,0,159,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,5,0,0,160,0,0,0,161,0,0,0,119,0,0,0,27,0,0,0,21,0,0,0,28,0,0,0,22,0,0,0,29,0,0,0,9,0,0,0,23,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,4,0,0,162,0,0,0,163,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,12,0,0,0,50,0,0,0,51,0,0,0,13,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,5,0,0,164,0,0,0,165,0,0,0,119,0,0,0,53,0,0,0,54,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,80,5,0,0,166,0,0,0,167,0,0,0,119,0,0,0,55,0,0,0,56,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,0,0,0,0,32,4,0,0,168,0,0,0,169,0,0,0,119,0,0,0,0,0,0,0,48,4,0,0,168,0,0,0,170,0,0,0,119,0,0,0,24,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,30,0,0,0,25,0,0,0,31,0,0,0,26,0,0,0,32,0,0,0,13,0,0,0,27,0,0,0,14,0,0,0,0,0,0,0,80,4,0,0,168,0,0,0,171,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,15,0,0,0,57,0,0,0,58,0,0,0,16,0,0,0,59,0,0,0,0,0,0,0,112,4,0,0,168,0,0,0,172,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,17,0,0,0,60,0,0,0,61,0,0,0,18,0,0,0,62,0,0,0,0,0,0,0,144,4,0,0,168,0,0,0,173,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,176,4,0,0,168,0,0,0,174,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,192,4,0,0,168,0,0,0,175,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,32,2,32,2,32,2,32,2,32,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,96,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,213,8,213,8,213,8,213,8,213,8,213,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,4,192,4,192,4,192,4,192,4,192,4,192,8,214,8,214,8,214,8,214,8,214,8,214,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,4,192,4,192,4,192,4,192,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,119,83,116,114,101,97,109,32,111,114,32,114,97,119,68,97,116,97,32,110,101,101,100,115,32,116,111,32,114,101,102,101,114,101,110,99,101,32,116,111,32,115,111,109,101,116,104,105,110,103,0,119,105,100,116,104,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,104,101,105,103,104,116,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,98,105,116,115,112,101,114,115,97,109,112,108,101,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,50,44,32,49,54,93,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,110,101,101,100,115,32,116,111,32,98,101,32,115,101,116,32,116,111,32,97,32,118,97,108,117,101,32,111,102,32,123,78,111,110,101,44,32,83,97,109,112,108,101,44,32,76,105,110,101,125,0,99,111,109,112,111,110,101,110,116,115,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,50,53,53,93,0,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,119,105,116,104,32,116,104,101,32,111,116,104,101,114,32,112,97,114,97,109,101,116,101,114,115,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,110,111,116,32,98,101,32,115,101,116,32,116,111,32,83,97,109,112,108,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,52,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,32,111,110,108,121,32,98,101,32,115,101,116,32,116,111,32,78,111,110,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,49,0,67,111,108,111,114,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,0,78,111,32,109,111,114,101,32,98,121,116,101,115,32,97,118,97,105,108,97,98,108,101,32,105,110,32,105,110,112,117,116,32,98,117,102,102,101,114,44,32,115,116,105,108,108,32,110,101,101,100,101,100,105,110,103,32,0,65,110,32,111,100,100,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,40,0,41,32,99,97,110,110,111,116,32,98,101,32,115,119,97,112,112,101,100,46,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,69,0,49,49,80,114,111,99,101,115,115,76,105,110,101,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,105,110,103,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,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,49,49,57,98,97,115,105,99,95,111,115,116,114,105,110,103,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,116,69,69,0,50,50,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,83,116,114,101,97,109,0,50,53,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,67,111,109,112,111,110,101,110,116,0,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,104,69,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,67,104,97,114,76,83,32,101,114,114,111,114,0,99,104,97,114,108,115,0,49,53,99,104,97,114,108,115,95,99,97,116,101,103,111,114,121,0,112,97,114,97,109,115,46,88,116,104,117,109,98,110,97,105,108,32,105,115,32,62,32,48,32,98,117,116,32,112,97,114,97,109,115,46,116,104,117,109,98,110,97,105,108,32,61,61,32,110,117,108,108,95,112,116,114,0,49,55,74,112,101,103,77,97,114,107,101,114,83,101,103,109,101,110,116,0,49,49,74,112,101,103,83,101,103,109,101,110,116,0,50,48,74,112,101,103,73,109,97,103,101,68,97,116,97,83,101,103,109,101,110,116,0,69,120,112,101,99,116,101,100,32,74,80,69,71,32,77,97,114,107,101,114,32,115,116,97,114,116,32,98,121,116,101,32,48,120,70,70,32,98,117,116,32,116,104,101,32,98,121,116,101,32,118,97,108,117,101,32,119,97,115,32,48,120,0,74,80,69,71,32,101,110,99,111,100,105,110,103,32,119,105,116,104,32,109,97,114,107,101,114,32,0,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,0,85,110,107,110,111,119,110,32,74,80,69,71,32,109,97,114,107,101,114,32,0,32,101,110,99,111,117,110,116,101,114,101,100,46,0,109,114,102,120,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,83,116,57,116,121,112,101,95,105,110,102,111,0,83,116,56,98,97,100,95,99,97,115,116,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,101,120,99,101,112,116,105,111,110,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+42396);allocate([32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,80,79,83,73,88],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+52636);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,58,32,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,105,111,115,116,114,101,97,109,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,37,112,0,67,0,37,0,0,0,0,0,108,0,108,108,0,0,76,0,37,112,0,0,0,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,37,72,58,37,77,37,72,58,37,77,58,37,83,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,48,49,50,51,52,53,54,55,56,57,0,37,76,102,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,0,37,46,48,76,102,0,116,114,117,101,0,102,97,108,115,101,0,83,117,110,100,97,121,0,77,111,110,100,97,121,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,84,104,117,114,115,100,97,121,0,70,114,105,100,97,121,0,83,97,116,117,114,100,97,121,0,83,117,110,0,77,111,110,0,84,117,101,0,87,101,100,0,84,104,117,0,70,114,105,0,83,97,116,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,77,97,114,99,104,0,65,112,114,105,108,0,77,97,121,0,74,117,110,101,0,74,117,108,121,0,65,117,103,117,115,116,0,83,101,112,116,101,109,98,101,114,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,68,101,99,101,109,98,101,114,0,74,97,110,0,70,101,98,0,77,97,114,0,65,112,114,0,74,117,110,0,74,117,108,0,65,117,103,0,83,101,112,0,79,99,116,0,78,111,118,0,68,101,99,0,65,77,0,80,77,0,37,109,47,37,100,47,37,121,0,37,72,58,37,77,58,37,83,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,37,73,58,37,77,58,37,83,32,37,112,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+56215);var tempDoublePtr=Runtime.alignMemory(allocate(12,\"i8\",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module[\"_i64Subtract\"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw\"Assertion failed: \"+Pointer_stringify(condition)+\", at: \"+[filename?Pointer_stringify(filename):\"unknown filename\",line,func?Pointer_stringify(func):\"unknown function\"]+\" at \"+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall(\"vi\",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm[\"setTempRet0\"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm[\"setTempRet0\"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module[\"___cxa_is_pointer_type\"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm[\"setTempRet0\"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm[\"setTempRet0\"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!(\"uncaught_exception\"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}Module[\"_memset\"]=_memset;var _BDtoILow=true;var _emscripten_resume=true;function ___gxx_personality_v0(){}var _emscripten_landingpad=true;function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):\"\"};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_1[rule])}var WEEKDAYS=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];var MONTHS=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];function leadingSomething(value,digits,character){var str=typeof value===\"number\"?value.toString():value||\"\";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={\"%a\":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),\"%A\":(function(date){return WEEKDAYS[date.tm_wday]}),\"%b\":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),\"%B\":(function(date){return MONTHS[date.tm_mon]}),\"%C\":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),\"%d\":(function(date){return leadingNulls(date.tm_mday,2)}),\"%e\":(function(date){return leadingSomething(date.tm_mday,2,\" \")}),\"%g\":(function(date){return getWeekBasedYear(date).toString().substring(2)}),\"%G\":(function(date){return getWeekBasedYear(date)}),\"%H\":(function(date){return leadingNulls(date.tm_hour,2)}),\"%I\":(function(date){return leadingNulls(date.tm_hour<13?date.tm_hour:date.tm_hour-12,2)}),\"%j\":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),\"%m\":(function(date){return leadingNulls(date.tm_mon+1,2)}),\"%M\":(function(date){return leadingNulls(date.tm_min,2)}),\"%n\":(function(){return\"\\n\"}),\"%p\":(function(date){if(date.tm_hour>0&&date.tm_hour<13){return\"AM\"}else{return\"PM\"}}),\"%S\":(function(date){return leadingNulls(date.tm_sec,2)}),\"%t\":(function(){return\"\\t\"}),\"%u\":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),\"%U\":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?\"01\":\"00\"}),\"%V\":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return\"53\"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return\"01\"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?\"+\":\"-\")+String(\"0000\"+off).slice(-4)}),\"%Z\":(function(date){return date.tm_zone}),\"%%\":(function(){return\"%\"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _abort(){Module[\"abort\"]()}function _free(){}Module[\"_free\"]=_free;function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}function ___cxa_end_catch(){if(___cxa_end_catch.rethrown){___cxa_end_catch.rethrown=false;return}asm[\"setThrew\"](0);var ptr=EXCEPTIONS.caught.pop();if(ptr){EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(ptr));EXCEPTIONS.last=0}}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall(\"v\",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}function ___setErrNo(value){if(Module[\"___errno_location\"])HEAP32[Module[\"___errno_location\"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator===\"object\")return navigator[\"hardwareConcurrency\"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}var _fabs=Math_abs;var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}var PATH=undefined;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method=\"timeout\"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method=\"rAF\"}else if(mode==2){if(!window[\"setImmediate\"]){var setImmediates=[];var emscriptenMainLoopMessageId=\"__emcc\";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener(\"message\",Browser_setImmediate_messageHandler,true);window[\"setImmediate\"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,\"*\")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window[\"setImmediate\"](Browser.mainLoop.runner)};Browser.mainLoop.method=\"immediate\"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module[\"noExitRuntime\"]=true;assert(!Browser.mainLoop.func,\"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.\");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker \"'+blocker.name+'\" took '+(Date.now()-start)+\" ms\");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method===\"timeout\"&&Module.ctx){Module.printErr(\"Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!\");Browser.mainLoop.method=\"\"}Browser.mainLoop.runIter((function(){if(typeof arg!==\"undefined\"){Runtime.dynCall(\"vi\",func,[arg])}else{Runtime.dynCall(\"v\",func)}}));if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw\"SimulateInfiniteLoop\"}}var Browser={mainLoop:{scheduler:null,method:\"\",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module[\"setStatus\"]){var message=Module[\"statusMessage\"]||\"Please wait...\";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src=\"data:audio/x-\"+name.substr(-3)+\";base64,\"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module[\"preloadPlugins\"].push(audioPlugin);var canvas=Module[\"canvas\"];function pointerLockChange(){Browser.pointerLock=document[\"pointerLockElement\"]===canvas||document[\"mozPointerLockElement\"]===canvas||document[\"webkitPointerLockElement\"]===canvas||document[\"msPointerLockElement\"]===canvas}if(canvas){canvas.requestPointerLock=canvas[\"requestPointerLock\"]||canvas[\"mozRequestPointerLock\"]||canvas[\"webkitRequestPointerLock\"]||canvas[\"msRequestPointerLock\"]||(function(){});canvas.exitPointerLock=document[\"exitPointerLock\"]||document[\"mozExitPointerLock\"]||document[\"webkitExitPointerLock\"]||document[\"msExitPointerLock\"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener(\"pointerlockchange\",pointerLockChange,false);document.addEventListener(\"mozpointerlockchange\",pointerLockChange,false);document.addEventListener(\"webkitpointerlockchange\",pointerLockChange,false);document.addEventListener(\"mspointerlockchange\",pointerLockChange,false);if(Module[\"elementPointerLock\"]){canvas.addEventListener(\"click\",(function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor=\"black\"}else{ctx=canvas.getContext(\"2d\")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx===\"undefined\",\"cannot set in module if GLctx is used, but we are a non-GL context that would replace it\");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer===\"undefined\")Browser.lockPointer=true;if(typeof Browser.resizeCanvas===\"undefined\")Browser.resizeCanvas=false;if(typeof Browser.vrDevice===\"undefined\")Browser.vrDevice=null;var canvas=Module[\"canvas\"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document[\"webkitFullScreenElement\"]||document[\"webkitFullscreenElement\"]||document[\"mozFullScreenElement\"]||document[\"mozFullscreenElement\"]||document[\"fullScreenElement\"]||document[\"fullscreenElement\"]||document[\"msFullScreenElement\"]||document[\"msFullscreenElement\"]||document[\"webkitCurrentFullScreenElement\"])===canvasContainer){canvas.cancelFullScreen=document[\"cancelFullScreen\"]||document[\"mozCancelFullScreen\"]||document[\"webkitCancelFullScreen\"]||document[\"msExitFullscreen\"]||document[\"exitFullscreen\"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module[\"onFullScreen\"])Module[\"onFullScreen\"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener(\"fullscreenchange\",fullScreenChange,false);document.addEventListener(\"mozfullscreenchange\",fullScreenChange,false);document.addEventListener(\"webkitfullscreenchange\",fullScreenChange,false);document.addEventListener(\"MSFullscreenChange\",fullScreenChange,false)}var canvasContainer=document.createElement(\"div\");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer[\"requestFullScreen\"]||canvasContainer[\"mozRequestFullScreen\"]||canvasContainer[\"msRequestFullscreen\"]||(canvasContainer[\"webkitRequestFullScreen\"]?(function(){canvasContainer[\"webkitRequestFullScreen\"](Element[\"ALLOW_KEYBOARD_INPUT\"])}):null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window===\"undefined\"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window[\"requestAnimationFrame\"]||window[\"mozRequestAnimationFrame\"]||window[\"webkitRequestAnimationFrame\"]||window[\"msRequestAnimationFrame\"]||window[\"oRequestAnimationFrame\"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module[\"noExitRuntime\"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module[\"noExitRuntime\"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{\"jpg\":\"image/jpeg\",\"jpeg\":\"image/jpeg\",\"png\":\"image/png\",\"bmp\":\"image/bmp\",\"ogg\":\"audio/ogg\",\"wav\":\"audio/wav\",\"mp3\":\"audio/mpeg\"}[name.substr(name.lastIndexOf(\".\")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator[\"getUserMedia\"]||navigator[\"mozGetUserMedia\"]}window.getUserMedia(func)}),getMovementX:(function(event){return event[\"movementX\"]||event[\"mozMovementX\"]||event[\"webkitMovementX\"]||0}),getMovementY:(function(event){return event[\"movementY\"]||event[\"mozMovementY\"]||event[\"webkitMovementY\"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case\"DOMMouseScroll\":delta=event.detail;break;case\"mousewheel\":delta=event.wheelDelta;break;case\"wheel\":delta=event[\"deltaY\"];break;default:throw\"unrecognized mouse wheel event: \"+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!=\"mousemove\"&&\"mozMovementX\"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!=\"undefined\"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module[\"canvas\"].getBoundingClientRect();var cw=Module[\"canvas\"].width;var ch=Module[\"canvas\"].height;var scrollX=typeof window.scrollX!==\"undefined\"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!==\"undefined\"?window.scrollY:window.pageYOffset;if(event.type===\"touchstart\"||event.type===\"touchend\"||event.type===\"touchmove\"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type===\"touchstart\"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type===\"touchend\"||event.type===\"touchmove\"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),xhrLoad:(function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)}),asyncLoad:(function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file \"'+url+'\" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency(\"al \"+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file \"'+url+'\" failed.'}}));if(!noRunDep)addRunDependency(\"al \"+url)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module[\"canvas\"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module[\"canvas\"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:(function(){if(typeof SDL!=\"undefined\"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!=\"undefined\"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module[\"forcedAspectRatio\"]&&Module[\"forcedAspectRatio\"]>0){if(w/h>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module[\"_i64Add\"]=_i64Add;Module[\"_bitshift64Lshr\"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw\"Pure virtual function called!\"}var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall(\"vi\",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,\"cannot pop if something else added meanwhile!\");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_guard_release(){}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _llvm_eh_typeid_for(type){return type}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module[\"_memcpy\"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_mutex_lock(){}var _emscripten_postinvoke=true;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort(\"cannot dynamically allocate, sbrk now has control\")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module[\"_bitshift64Shl\"]=_bitshift64Shl;function ___cxa_guard_abort(){}Module[\"_memmove\"]=_memmove;var _emscripten_preinvoke=true;var _BItoD=true;function _pthread_cond_wait(){return 0}function ___cxa_rethrow(){___cxa_end_catch.rethrown=true;var ptr=EXCEPTIONS.caught.pop();EXCEPTIONS.last=ptr;throw ptr}function _pthread_mutex_unlock(){}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer)___syscall146.buffer=[];var buffer=___syscall146.buffer;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function $b(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function ac(a){a=a|0;D=a}function bc(){return D|0}function cc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+128|0;p=w+44|0;s=w+8|0;l=w+4|0;n=w;q=e+4|0;r=e+8|0;o=0;Aa(35,c[e>>2]|0,c[q>>2]|0,c[r>>2]|0,f|0);m=o;o=0;if(!(m&1)){j=p;h=j+84|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(h|0));f=p+12|0;if((c[f>>2]|0)==0?(k=$(((c[p+8>>2]|0)+7|0)/8|0,c[p>>2]|0)|0,c[f>>2]=k,(c[p+24>>2]|0)!=0):0)c[f>>2]=$(c[p+16>>2]|0,k)|0;o=0;ha(176,s|0);m=o;o=0;if(!(m&1)){f=p+56|0;do if(c[f>>2]|0){o=0;f=ka(66,f|0)|0;m=o;o=0;if(!(m&1)){c[l>>2]=f;h=s+28|0;j=c[h>>2]|0;if(j>>>0<(c[s+32>>2]|0)>>>0){c[j>>2]=f;c[h>>2]=j+4;c[l>>2]=0;t=19;break}o=0;ia(57,s+24|0,l|0);m=o;o=0;if(m&1){h=Na(824,0)|0;f=D;j=c[l>>2]|0;c[l>>2]=0;if(!j)break;Bb[c[(c[j>>2]|0)+4>>2]&255](j);break}else{f=c[l>>2]|0;c[l>>2]=0;if(!f){t=19;break}Bb[c[(c[f>>2]|0)+4>>2]&255](f);t=19;break}}else t=15}else t=19;while(0);a:do if((t|0)==19){j=p+4|0;k=p+8|0;l=p+16|0;o=0;f=va(14,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;m=o;o=0;if(!(m&1)){c[n>>2]=f;m=s+28|0;h=c[m>>2]|0;do if(h>>>0>=(c[s+32>>2]|0)>>>0){o=0;ia(57,s+24|0,n|0);h=o;o=0;if(h&1){h=Na(824,0)|0;f=D;j=c[n>>2]|0;c[n>>2]=0;if(!j)break a;Bb[c[(c[j>>2]|0)+4>>2]&255](j);break a}else{f=c[n>>2]|0;c[n>>2]=0;if(!f)break;Bb[c[(c[f>>2]|0)+4>>2]&255](f);break}}else{c[h>>2]=f;c[m>>2]=h+4;c[n>>2]=0}while(0);f=c[p+28>>2]|0;if((f|0)!=0?(o=0,ia(58,s|0,f|0),t=o,o=0,t&1):0){t=15;break}b:do if(!(c[p+24>>2]|0)){f=$(c[j>>2]|0,c[p>>2]|0)|0;f=$(f,((c[k>>2]|0)+7|0)/8|0)|0;if((c[l>>2]|0)>0){j=0;while(1){o=0;wa(4,s|0,e|0,p|0);t=o;o=0;if(t&1)break;h=c[q>>2]|0;if(h){c[q>>2]=h+f;c[r>>2]=(c[r>>2]|0)-f}j=j+1|0;if((j|0)>=(c[l>>2]|0))break b}h=Na(824,0)|0;f=D;t=16;break a}}else{o=0;wa(4,s|0,e|0,p|0);t=o;o=0;if(t&1){t=15;break a}}while(0);o=0;ra(33,s|0,b|0)|0;t=o;o=0;if(!(t&1)){c[d>>2]=c[s+16>>2];if(g)a[g>>0]=0;j=s+24|0;f=c[j>>2]|0;if(f){h=c[m>>2]|0;if((h|0)!=(f|0)){do{g=h+-4|0;c[m>>2]=g;h=c[g>>2]|0;c[g>>2]=0;if(h)Bb[c[(c[h>>2]|0)+4>>2]&255](h);h=c[m>>2]|0}while((h|0)!=(f|0));f=c[j>>2]|0}cj(f)}g=0;i=w;return g|0}else t=15}else t=15}while(0);if((t|0)==15){h=Na(824,0)|0;f=D;t=16}m=s+24|0;j=c[m>>2]|0;if(j){l=s+28|0;k=c[l>>2]|0;if((k|0)!=(j|0)){do{s=k+-4|0;c[l>>2]=s;k=c[s>>2]|0;c[s>>2]=0;if(k)Bb[c[(c[k>>2]|0)+4>>2]&255](k);k=c[l>>2]|0}while((k|0)!=(j|0));j=c[m>>2]|0}cj(j)}}else t=5}else t=5;if((t|0)==5){h=Na(824,0)|0;f=D}s=(f|0)==(Ta(824)|0);k=Va(h|0)|0;f=(g|0)==0;if(!s){if(!f)a[g>>0]=0;Xa();g=14;i=w;return g|0}j=k+12|0;do if(!f){f=c[j>>2]|0;o=0;h=ua(1)|0;s=o;o=0;if(!(s&1))if((f|0)==(h|0)){ml(g,Eb[c[(c[k>>2]|0)+8>>2]&127](k)|0)|0;t=60;break}else{a[g>>0]=0;t=60;break}}else t=60;while(0);if((t|0)==60?(u=c[j>>2]|0,o=0,v=ua(1)|0,g=o,o=0,!(g&1)):0){g=(u|0)==(v|0)?c[k+8>>2]|0:13;Xa();i=w;return g|0}f=Na()|0;o=0;xa(3);w=o;o=0;if(w&1){w=Na(0)|0;ec(w)}else Ya(f|0);return 0}function dc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;l=i;i=i+112|0;g=l+96|0;k=l+84|0;m=l+72|0;n=l+60|0;p=l+48|0;q=l+36|0;r=l+24|0;s=l+12|0;t=l;j=(b|0)==0;if((a|0)==0&j){f=Ma(16)|0;o=0;wa(5,g|0,48504,52);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,g|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(g);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}h=c[e>>2]|0;if((h+-1|0)>>>0>65534){f=Ma(16)|0;o=0;wa(5,k|0,48557,41);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,k|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(k);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}g=c[e+4>>2]|0;if((g+-1|0)>>>0>65534){f=Ma(16)|0;o=0;wa(5,m|0,48599,42);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,m|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(m);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}f=c[e+8>>2]|0;if((f+-2|0)>>>0>14){f=Ma(16)|0;o=0;wa(5,n|0,48642,46);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,n|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(n);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}a=c[e+24>>2]|0;if(a>>>0>=3){f=Ma(16)|0;o=0;wa(5,p|0,48689,65);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,p|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(p);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}b=c[e+16>>2]|0;if((b+-1|0)>>>0>254){f=Ma(16)|0;o=0;wa(5,q|0,48755,44);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,q|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(q);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}if(!j?(q=$(g,h)|0,($($(q,(f|0)>8?2:1)|0,b)|0)>>>0>d>>>0):0){f=Ma(16)|0;o=0;wa(5,r|0,48800,58);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,r|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(r);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}switch(b|0){case 4:{if((a|0)!=2){i=l;return}f=Ma(16)|0;o=0;wa(5,s|0,48859,73);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,s|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(s);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}case 3:{i=l;return}default:{if(!a){i=l;return}f=Ma(16)|0;o=0;wa(5,t|0,48933,73);s=o;o=0;if(!(s&1)){o=0;b=ua(1)|0;s=o;o=0;if(!(s&1)?(o=0,Aa(36,f|0,1,b|0,t|0),s=o,o=0,!(s&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(t);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}}}function ec(a){a=a|0;Va(a|0)|0;jj()}function fc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;h=n+116|0;j=n;o=0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];ia(59,j|0,h|0);g=o;o=0;if(!(g&1)){if(e){g=j+16|0;d=g+84|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(d|0))}o=0;c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];ia(60,j|0,h|0);j=o;o=0;if(!(j&1)){if(f)a[f>>0]=0;m=0;i=n;return m|0}}b=Na(824,0)|0;j=D;j=(j|0)==(Ta(824)|0);b=Va(b|0)|0;d=(f|0)==0;if(!j){if(!d)a[f>>0]=0;Xa();m=14;i=n;return m|0}g=b+12|0;do if(!d){d=c[g>>2]|0;o=0;e=ua(1)|0;j=o;o=0;if(!(j&1))if((d|0)==(e|0)){ml(f,Eb[c[(c[b>>2]|0)+8>>2]&127](b)|0)|0;m=10;break}else{a[f>>0]=0;m=10;break}}else m=10;while(0);if((m|0)==10?(k=c[g>>2]|0,o=0,l=ua(1)|0,m=o,o=0,!(m&1)):0){m=(k|0)==(l|0)?c[b+8>>2]|0:13;Xa();i=n;return m|0}d=Na()|0;o=0;xa(3);n=o;o=0;if(n&1){n=Na(0)|0;ec(n)}else Ya(d|0);return 0}function gc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+128|0;g=l+116|0;f=l;o=0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];ia(59,f|0,g|0);g=o;o=0;if((!(g&1)?(o=0,ha(177,f|0),g=o,o=0,!(g&1)):0)?(o=0,ia(61,f|0,1),g=o,o=0,!(g&1)):0){b=f+16|0;f=d+84|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(f|0));if(e)a[e>>0]=0;e=0;i=l;return e|0}g=Na(824,0)|0;d=D;d=(d|0)==(Ta(824)|0);g=Va(g|0)|0;b=(e|0)==0;if(!d){if(!b)a[e>>0]=0;Xa();e=14;i=l;return e|0}d=g+12|0;do if(!b){b=c[d>>2]|0;o=0;f=ua(1)|0;m=o;o=0;if(!(m&1))if((b|0)==(f|0)){ml(e,Eb[c[(c[g>>2]|0)+8>>2]&127](g)|0)|0;k=13;break}else{a[e>>0]=0;k=13;break}}else k=13;while(0);if((k|0)==13?(h=c[d>>2]|0,o=0,j=ua(1)|0,m=o,o=0,!(m&1)):0){m=(h|0)==(j|0)?c[g+8>>2]|0:13;Xa();i=l;return m|0}b=Na()|0;o=0;xa(3);m=o;o=0;if(m&1){m=Na(0)|0;ec(m)}else Ya(b|0);return 0}function hc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;k=n+36|0;j=n+24|0;l=n+12|0;m=n;if(!((a|0)!=0&(d|0)!=0&(e|0)!=0&(g|0)!=0)){f=1;i=n;return f|0}c[l>>2]=0;c[l+4>>2]=a;c[l+8>>2]=b;c[m>>2]=0;c[m+4>>2]=e;c[m+8>>2]=f;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];f=cc(j,d,k,g,h)|0;i=n;return f|0}function ic(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f+12|0;h=f;j=h;c[j>>2]=0;c[j+4>>2]=0;c[h+4>>2]=a;c[h+8>>2]=b;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];d=gc(g,d,e)|0;i=f;return d|0}function jc(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,j=0,k=0,l=0,m=0;h=i;i=i+48|0;j=h+36|0;k=h+24|0;m=h+12|0;l=h;c[m>>2]=0;c[m+4>>2]=a;c[m+8>>2]=b;c[l>>2]=0;c[l+4>>2]=d;c[l+8>>2]=e;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];e=fc(k,j,f,g)|0;i=h;return e|0}function kc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+4|0;d=c[a>>2]|0;f=((c[k>>2]|0)-d>>2)+1|0;if(f>>>0>1073741823){$i(a);d=c[a>>2]|0}l=a+8|0;e=(c[l>>2]|0)-d|0;if(e>>2>>>0<536870911){e=e>>1;e=e>>>0>>0?f:e;d=(c[k>>2]|0)-d>>2;if(!e){g=0;h=0}else i=6}else{e=1073741823;d=(c[k>>2]|0)-d>>2;i=6}if((i|0)==6){g=e;h=bj(e<<2)|0}f=h+(d<<2)|0;e=f;j=h+(g<<2)|0;i=c[b>>2]|0;c[b>>2]=0;c[f>>2]=i;i=h+(d+1<<2)|0;h=c[a>>2]|0;d=c[k>>2]|0;if((d|0)==(h|0)){f=a;g=k}else{do{d=d+-4|0;b=c[d>>2]|0;c[d>>2]=0;c[f+-4>>2]=b;f=e+-4|0;e=f}while((d|0)!=(h|0));d=e;f=a;g=k;e=d;h=c[a>>2]|0;d=c[k>>2]|0}c[f>>2]=e;c[g>>2]=i;c[l>>2]=j;f=h;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;c[d>>2]=0;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e)}while((d|0)!=(f|0));if(!h)return;cj(h);return}function lc(){if(a[8]|0)return 35648;if(!(Ha(8)|0))return 35648;kb(72,35648,n|0)|0;Pa(8);return 35648}function mc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;Ei(l,(1<>2]|0;m=h+1|0;e=m<<1;c[b>>2]=0;j=b+4|0;c[j>>2]=0;c[b+8>>2]=0;a:do if(m){if(!((h|0)<-1?(o=0,ha(178,b|0),k=o,o=0,k&1):0))f=4;if((f|0)==4?(o=0,g=ka(67,e|0)|0,k=o,o=0,!(k&1)):0){c[j>>2]=g;c[b>>2]=g;c[b+8>>2]=g+e;d=g;while(1){a[d>>0]=0;d=(c[j>>2]|0)+1|0;c[j>>2]=d;e=e+-1|0;if(!e)break a}}e=Na()|0;d=c[b>>2]|0;if(!d)Ya(e|0);if((c[j>>2]|0)!=(d|0))c[j>>2]=d;cj(d);Ya(e|0)}while(0);d=~h;if((h|0)<(d|0)){i=n;return}j=l+12|0;k=l+8|0;h=l+4|0;g=d;do{d=c[j>>2]|0;if((g|0)>(0-d|0)){e=c[k>>2]|0;if((g|0)>(0-e|0)){f=c[h>>2]|0;if((g|0)>(0-f|0))if((g|0)>=0)if((g|0)>0)if((f|0)<=(g|0))if((e|0)>(g|0))d=2;else d=(d|0)>(g|0)?3:4;else d=1;else d=0;else d=-1;else d=-2}else d=-3}else d=-4;a[(c[b>>2]|0)+(g+m)>>0]=d;g=g+1|0}while((g|0)<(m|0));i=n;return}function nc(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=c[f+16>>2]|0;switch(q|0){case 64:case 0:{o=0;d=ra(34,d|0,e|0)|0;e=o;o=0;if(e&1)r=16;else g=d;break}default:{h=(1<>2])+-1|0;p=c[e+20>>2]|0;n=p<<1;n=((n+h|0)/(n|1|0)|0)+1|0;d=0;while(1)if((1<>2]|0;o=0;g=ka(67,4624)|0;m=o;o=0;if(m&1)r=16;else{i=((j|0)<8?8:j)+j<<1;k=g+4|0;l=e;m=k+84|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));k=g+88|0;m=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));c[g>>2]=35660;c[g+128>>2]=h;c[g+132>>2]=n;c[g+136>>2]=p;c[g+140>>2]=d;c[g+144>>2]=j;c[g+148>>2]=i;c[g+152>>2]=q;d=g+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+172>>2]=c[e>>2];c[g+176>>2]=0;c[g+180>>2]=0;c[g+184>>2]=0;d=g+4568|0;h=g+188|0;do{c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;b[h+10>>1]=1;h=h+12|0}while((h|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1}}}if((r|0)==16){r=Na()|0;Ya(r|0)}if(!g)return g|0;o=0;ia(c[(c[g>>2]|0)+12>>2]|0,g|0,f|0);r=o;o=0;if(!(r&1))return g|0;d=Na()|0;if(!g){r=d;Ya(r|0)}Bb[c[(c[g>>2]|0)+4>>2]&255](g);r=d;Ya(r|0);return 0}function oc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=(c[e+24>>2]|0)==2;if(f?(c[e+16>>2]|0)!=3:0){e=0;return e|0}n=c[e+20>>2]|0;d=c[e+8>>2]|0;a:do if(!n){if(f){if((d|0)!=8)break;g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35688;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}switch(d|0){case 8:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35716;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}case 12:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35744;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}case 16:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35772;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}default:break a}}while(0);m=(1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35800;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35660;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}}if((d|0)>=17){e=0;return e|0}i=n<<1;i=((i+m|0)/(i|1|0)|0)+1|0;if(f){d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35828;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35856;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}return 0}function pc(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=c[f+16>>2]|0;switch(q|0){case 64:case 0:{o=0;d=ra(35,d|0,e|0)|0;e=o;o=0;if(e&1)r=16;else g=d;break}default:{h=(1<>2])+-1|0;p=c[e+20>>2]|0;n=p<<1;n=((n+h|0)/(n|1|0)|0)+1|0;d=0;while(1)if((1<>2]|0;o=0;g=ka(67,4632)|0;m=o;o=0;if(m&1)r=16;else{i=((j|0)<8?8:j)+j<<1;c[g+4>>2]=0;k=g+8|0;l=e;m=k+84|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;m=g+116|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[g>>2]=35884;c[g+136>>2]=h;c[g+140>>2]=n;c[g+144>>2]=p;c[g+148>>2]=d;c[g+152>>2]=j;c[g+156>>2]=i;c[g+160>>2]=q;d=g+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+180>>2]=c[e>>2];c[g+184>>2]=0;c[g+188>>2]=0;c[g+192>>2]=0;d=g+4576|0;h=g+196|0;do{c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;b[h+10>>1]=1;h=h+12|0}while((h|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1}}}if((r|0)==16){r=Na()|0;Ya(r|0)}if(!g)return g|0;o=0;ia(c[(c[g>>2]|0)+8>>2]|0,g|0,f|0);r=o;o=0;if(!(r&1))return g|0;d=Na()|0;if(!g){r=d;Ya(r|0)}Bb[c[(c[g>>2]|0)+4>>2]&255](g);r=d;Ya(r|0);return 0}function qc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=(c[e+24>>2]|0)==2;if(f?(c[e+16>>2]|0)!=3:0){e=0;return e|0}n=c[e+20>>2]|0;d=c[e+8>>2]|0;a:do if(!n){if(f){if((d|0)!=8)break;g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;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[g>>2]=35912;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}switch(d|0){case 8:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;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[g>>2]=35940;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}case 12:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;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[g>>2]=35968;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}case 16:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;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[g>>2]=35996;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}default:break a}}while(0);m=(1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36024;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=35884;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}}if((d|0)>=17){e=0;return e|0}i=n<<1;i=((i+m|0)/(i|1|0)|0)+1|0;if(f){d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36052;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36080;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}return 0}function rc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=2832;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=4880);iw(2832,0,2048)|0;a=0;do{h=2832+(a+128<<3)|0;c[h>>2]=0;c[h+4>>2]=1;a=a+1|0}while((a|0)!=128);a=3088;c[a>>2]=1;c[a+4>>2]=3;a=3096;c[a>>2]=1;c[a+4>>2]=3;a=3104;c[a>>2]=1;c[a+4>>2]=3;a=3112;c[a>>2]=1;c[a+4>>2]=3;a=3120;c[a>>2]=1;c[a+4>>2]=3;a=3128;c[a>>2]=1;c[a+4>>2]=3;a=3136;c[a>>2]=1;c[a+4>>2]=3;a=3144;c[a>>2]=1;c[a+4>>2]=3;a=3152;c[a>>2]=1;c[a+4>>2]=3;a=3160;c[a>>2]=1;c[a+4>>2]=3;a=3168;c[a>>2]=1;c[a+4>>2]=3;a=3176;c[a>>2]=1;c[a+4>>2]=3;a=3184;c[a>>2]=1;c[a+4>>2]=3;a=3192;c[a>>2]=1;c[a+4>>2]=3;a=3200;c[a>>2]=1;c[a+4>>2]=3;a=3208;c[a>>2]=1;c[a+4>>2]=3;a=3216;c[a>>2]=1;c[a+4>>2]=3;a=3224;c[a>>2]=1;c[a+4>>2]=3;a=3232;c[a>>2]=1;c[a+4>>2]=3;a=3240;c[a>>2]=1;c[a+4>>2]=3;a=3248;c[a>>2]=1;c[a+4>>2]=3;a=3256;c[a>>2]=1;c[a+4>>2]=3;a=3264;c[a>>2]=1;c[a+4>>2]=3;a=3272;c[a>>2]=1;c[a+4>>2]=3;a=3280;c[a>>2]=1;c[a+4>>2]=3;a=3288;c[a>>2]=1;c[a+4>>2]=3;a=3296;c[a>>2]=1;c[a+4>>2]=3;a=3304;c[a>>2]=1;c[a+4>>2]=3;a=3312;c[a>>2]=1;c[a+4>>2]=3;a=3320;c[a>>2]=1;c[a+4>>2]=3;a=3328;c[a>>2]=1;c[a+4>>2]=3;a=3336;c[a>>2]=1;c[a+4>>2]=3;a=2896;c[a>>2]=2;c[a+4>>2]=5;a=2904;c[a>>2]=2;c[a+4>>2]=5;a=2912;c[a>>2]=2;c[a+4>>2]=5;a=2920;c[a>>2]=2;c[a+4>>2]=5;a=2928;c[a>>2]=2;c[a+4>>2]=5;a=2936;c[a>>2]=2;c[a+4>>2]=5;a=2944;c[a>>2]=2;c[a+4>>2]=5;a=2952;c[a>>2]=2;c[a+4>>2]=5;a=2848;c[a>>2]=3;c[a+4>>2]=7;a=2856;c[a>>2]=3;c[a+4>>2]=7;a=0;do{h=2832+(a+64<<3)|0;c[h>>2]=-1;c[h+4>>2]=2;a=a+1|0}while((a|0)!=64);a=2960;c[a>>2]=-2;c[a+4>>2]=4;a=2968;c[a>>2]=-2;c[a+4>>2]=4;a=2976;c[a>>2]=-2;c[a+4>>2]=4;a=2984;c[a>>2]=-2;c[a+4>>2]=4;a=2992;c[a>>2]=-2;c[a+4>>2]=4;a=3e3;c[a>>2]=-2;c[a+4>>2]=4;a=3008;c[a>>2]=-2;c[a+4>>2]=4;a=3016;c[a>>2]=-2;c[a+4>>2]=4;a=3024;c[a>>2]=-2;c[a+4>>2]=4;a=3032;c[a>>2]=-2;c[a+4>>2]=4;a=3040;c[a>>2]=-2;c[a+4>>2]=4;a=3048;c[a>>2]=-2;c[a+4>>2]=4;a=3056;c[a>>2]=-2;c[a+4>>2]=4;a=3064;c[a>>2]=-2;c[a+4>>2]=4;a=3072;c[a>>2]=-2;c[a+4>>2]=4;a=3080;c[a>>2]=-2;c[a+4>>2]=4;a=2864;c[a>>2]=-3;c[a+4>>2]=6;a=2872;c[a>>2]=-3;c[a+4>>2]=6;a=2880;c[a>>2]=-3;c[a+4>>2]=6;a=2888;c[a>>2]=-3;c[a+4>>2]=6;a=2840;c[a>>2]=-4;c[a+4>>2]=8;a=4880;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=6928);iw(4880,0,2048)|0;d=2;a=0;f=0;g=0;while(1){d=d<<16>>16;b=8-d|0;e=1<>2]=f;c[h+4>>2]=d;b=b+1|0}while((b|0)<(e|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==7){b=2;f=1;g=-1;h=-1;break}else{d=(a>>1)+2|0;f=b>>16}}while(1){d=b<<16>>16;a=8-d|0;e=1<>2]=g;c[f+4>>2]=d;b=b+1|0}while((b|0)<(e|0))}a=(h<<16)+-65536|0;f=a>>31^a>>15;b=(f>>1)+2|0;if((b|0)>8){a=6928;break}else{g=a>>16;h=h+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=8976);iw(6928,0,2048)|0;f=3;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==12){f=3;b=1;e=-1;g=-1;break}else{f=(a>>2)+3|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>2)+3|0;if((f|0)>8){a=8976;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=11024);iw(8976,0,2048)|0;f=4;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==20){f=4;b=1;e=-1;g=-1;break}else{f=(a>>3)+4|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>3)+4|0;if((f|0)>8){a=11024;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=13072);iw(11024,0,2048)|0;f=5;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==32){f=5;b=1;e=-1;g=-1;break}else{f=(a>>4)+5|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>4)+5|0;if((f|0)>8){a=13072;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=15120);iw(13072,0,2048)|0;f=6;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==48){f=6;b=1;e=-1;g=-1;break}else{f=(a>>5)+6|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>5)+6|0;if((f|0)>8){a=15120;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=17168);iw(15120,0,2048)|0;f=7;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==64){f=7;b=1;e=-1;g=-1;break}else{f=(a>>6)+7|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>6)+7|0;if((f|0)>8){a=17168;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=19216);iw(17168,0,2048)|0;f=8;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==64){g=8;e=1;f=-1;h=-1;break}else{f=(a>>7)+8|0;e=b>>16}}while(1){a=8-g|0;d=1<>2]=f;c[e+4>>2]=g;b=b+1|0}while((b|0)<(d|0))}b=(h<<16)+-65536|0;e=b>>31^b>>15;a=e>>7;if((a|0)>0){a=19216;break}else{g=a+8|0;f=b>>16;h=h+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=21264);iw(19216,0,2048)|0;a=21264;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=23312);iw(21264,0,2048)|0;a=23312;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=25360);iw(23312,0,2048)|0;a=25360;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=27408);iw(25360,0,2048)|0;a=27408;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=29456);iw(27408,0,2048)|0;a=29456;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=31504);iw(29456,0,2048)|0;a=31504;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=33552);iw(31504,0,2048)|0;a=33552;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=35600);iw(33552,0,2048)|0;mc(35600,8);kb(179,35600,n|0)|0;mc(35612,10);kb(179,35612,n|0)|0;mc(35624,12);kb(179,35624,n|0)|0;mc(35636,16);kb(179,35636,n|0)|0;return}function sc(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;a=a+4|0;if((c[a>>2]|0)!=(b|0))c[a>>2]=b;cj(b);return}function tc(a){a=a|0;var b=0,d=0;c[a>>2]=36080;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function uc(a){a=a|0;var b=0,d=0;c[a>>2]=36080;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function vc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;he(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function wc(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35856;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Yd(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Yd(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function xc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function yc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36460;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36436;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Ac(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36412;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Bc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36388;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+32|0;Jm(i,d)|0;h=b+44|0;c[h>>2]=0;j=b+48|0;g=c[j>>2]|0;if(g&8){d=a[i>>0]|0;if(!(d&1)){d=((d&255)>>>1)+(i+1)|0;c[h>>2]=d;e=i+1|0;f=i+1|0}else{d=(c[b+40>>2]|0)+(c[b+36>>2]|0)|0;c[h>>2]=d;f=c[b+40>>2]|0;e=f}c[b+8>>2]=e;c[b+12>>2]=f;c[b+16>>2]=d}if(!(g&16))return;d=a[i>>0]|0;if(!(d&1)){g=(d&255)>>>1;c[h>>2]=i+1+g;d=10;h=g}else{g=c[b+36>>2]|0;c[h>>2]=(c[b+40>>2]|0)+g;d=(c[i>>2]&-2)+-1|0;h=g}Mm(i,d,0);d=a[i>>0]|0;if(!(d&1)){g=i+1|0;f=(d&255)>>>1;e=i+1|0}else{e=c[b+40>>2]|0;g=e;f=c[b+36>>2]|0}d=b+24|0;c[d>>2]=e;c[b+20>>2]=e;c[b+28>>2]=g+f;if(!(c[j>>2]&3))return;c[d>>2]=e+h;return}function Dc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;j=q+16|0;p=q+8|0;k=q;o=0;ia(65,p|0,b|0);m=o;o=0;a:do if(m&1){e=Na(0)|0;f=b;g=b}else{do if(a[p>>0]|0){f=c[(c[b>>2]|0)+-12>>2]|0;c[k>>2]=c[b+(f+24)>>2];l=b+f|0;m=c[b+(f+4)>>2]|0;g=d+e|0;f=b+(f+76)|0;e=c[f>>2]|0;do if((e|0)==-1){o=0;e=ka(68,l|0)|0;r=o;o=0;if(r&1)n=13;else{c[j>>2]=e;o=0;e=ra(37,j|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(j);e=h<<24>>24;c[f>>2]=e;n=9;break}e=Na(0)|0;Gs(j)}}else n=9;while(0);if((n|0)==9){o=0;c[j>>2]=c[k>>2];e=ja(39,j|0,d|0,((m&176|0)==32?g:d)|0,g|0,l|0,e&255|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break;else n=13}else n=13}if((n|0)==13)e=Na(0)|0;ho(p);f=b;g=b;break a}while(0);ho(p);i=q;return b|0}while(0);Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();i=q;return b|0}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0);return 0}function Ec(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[d+48>>2]|0;if(e&16){e=d+44|0;f=c[e>>2]|0;g=c[d+24>>2]|0;if(f>>>0>>0)c[e>>2]=g;else g=f;f=c[d+20>>2]|0;h=g-f|0;if(h>>>0>4294967279)_i(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{d=h+16&-16;e=bj(d)|0;c[b+8>>2]=e;c[b>>2]=d|1;c[b+4>>2]=h}if((f|0)!=(g|0)){d=e;while(1){a[d>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(g|0))break;else d=d+1|0}e=e+h|0}a[e>>0]=0;return}if(!(e&8)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}f=c[d+8>>2]|0;d=c[d+16>>2]|0;h=d-f|0;if(h>>>0>4294967279)_i(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{g=h+16&-16;e=bj(g)|0;c[b+8>>2]=e;c[b>>2]=g|1;c[b+4>>2]=h}if((f|0)!=(d|0)){g=e;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(d|0))break;else g=g+1|0}e=e+h|0}a[e>>0]=0;return}function Fc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36364;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Gc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36340;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Hc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36316;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Ic(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36316;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Jc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36316;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Kc(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;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;Pc(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Pc(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;Mc(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Nc(a,f,b,d,e);return}}function Mc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=d+4|0;j=c[m>>2]|0;do if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{o=c[j>>2]|0;m=e[n+(f*6|0)+2>>1]<>1]<>1]<>1]=(m+49152+((d+i|0)>>>2)&65535)>>>o;b[g+(f*6|0)+2>>1]=d>>>o;b[g+(f*6|0)+4>>1]=i>>>o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{h=e[n+(f*6|0)+2>>1]<>1]<>1]<>1]=(h+49152+((d+o|0)>>>2)&65535)>>>j;b[g+(f+i<<1)>>1]=d>>>j;b[g+(f+l<<1)>>1]=o>>>j;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;m=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;p=e[n+(f<<3)+2>>1]<>1]<>1]<>1]=(p+49152+((h+d|0)>>>2)&65535)>>>j;b[g+(f+i<<1)>>1]=h>>>j;b[g+(f+l<<1)>>1]=d>>>j;b[g+(f+m<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}default:return}}function Nc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}while(0);t=h;fn(m);Ya(t|0)}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Mc(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Mc(b,t,e,f,g);i=q;return}function Oc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+176|0;e=g+152|0;l=g+16|0;j=g;if(!(d&1)){e=(d|0)/4|0;if((d|0)>3){f=0;do{l=b+(f<<2)|0;k=c[l>>2]|0;c[l>>2]=k>>>8&16711935|k<<8&-16711936;f=f+1|0}while((f|0)<(e|0))}if(!(d&3)){i=g;return}j=b+(d+-2)|0;l=b+(d+-1)|0;k=a[j>>0]|0;a[j>>0]=a[l>>0]|0;a[l>>0]=k;i=g;return}k=l+56|0;h=l+4|0;c[l>>2]=36160;c[k>>2]=36180;o=0;ia(62,l+56|0,h|0);g=o;o=0;if(g&1){l=Na()|0;fn(k);Ya(l|0)}c[l+128>>2]=0;c[l+132>>2]=-1;c[l>>2]=36200;c[l+56>>2]=36220;o=0;ha(180,h|0);g=o;o=0;do if(g&1)e=Na()|0;else{c[h>>2]=36236;g=l+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[l+52>>2]=16;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;o=0;ia(63,h|0,e|0);b=o;o=0;if(b&1){l=Na()|0;Im(e);Im(g);nn(h);e=l;break}Im(e);o=0;e=ma(28,l|0,49087,24)|0;b=o;o=0;if((!(b&1)?(o=0,f=ra(36,e|0,d|0)|0,d=o,o=0,!(d&1)):0)?(o=0,ma(28,f|0,49112,20)|0,d=o,o=0,!(d&1)):0){b=Ma(16)|0;o=0;ia(64,j|0,h|0);d=o;o=0;if(!(d&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,b|0,1,35648,j|0);d=o;o=0;if(d&1)f=1;else{o=0;wa(6,b|0,824,96);o=0;f=0}e=Na()|0;Im(j);if(!f){j=e;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}}else e=Na()|0;La(b|0);j=e;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}j=Na()|0;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}while(0);l=e;fn(k);Ya(l|0)}function Pc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=d+4|0;j=c[n>>2]|0;a:do switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{i=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>1]<>2)+16384|0;b[g+(d*6|0)>>1]=(k+32768+m&65535)>>>i;b[g+(d*6|0)+2>>1]=(m&65535)>>>i;b[g+(d*6|0)+4>>1]=(l+32768+m&65535)>>>i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{m=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>1]<>2)+16384|0;b[g+(d*6|0)>>1]=(q+32768+o&65535)>>>m;b[g+(d*6|0)+2>>1]=(o&65535)>>>m;b[g+(d*6|0)+4>>1]=(p+32768+o&65535)>>>m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{q=c[j>>2]|0;p=e[f+(k+i<<1)>>1]<>1]<>1]<>2)+16384|0;r=b[f+(k+d<<1)>>1]|0;t=mw((o&65535)>>>q&65535|0,0,16)|0;p=(p+32768+o&65535)>>>q|D;r=mw(r&65535|0,0,48)|0;r=t|(s+32768+o&65535)>>>q&65535|r;p=p&65535|D;q=g+(k<<3)|0;o=q;b[o>>1]=r;b[o+2>>1]=r>>>16;q=q+4|0;b[q>>1]=p;b[q+2>>1]=p>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){t=j+4|0;s=b[j>>1]|0;b[j>>1]=b[t>>1]|0;b[t>>1]=s;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function Qc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36340;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Rc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36340;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);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;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;Wc(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Wc(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Tc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;Uc(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Vc(a,f,b,d,e);return}}function Uc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=d+4|0;j=c[m>>2]|0;do if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{i=c[j>>2]|0;m=e[n+(f*6|0)>>1]<>1]<>1]<>>1)&65535)>>>i&65535;b[g+(f*6|0)>>1]=(m+32768-d&65535)>>>i;b[g+(f*6|0)+2>>1]=(d&65535)>>>i;b[g+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{h=e[n+(f*6|0)>>1]<>1]<>1]<>>1)&65535)>>>j&65535;b[g+(f<<1)>>1]=(h+32768-d&65535)>>>j;b[g+(f+i<<1)>>1]=(d&65535)>>>j;b[g+(f+l<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;m=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;p=e[n+(f<<3)>>1]<>1]<>1]<>>1)&65535)>>>j&65535;b[g+(f<<1)>>1]=(p+32768-h&65535)>>>j;b[g+(f+i<<1)>>1]=(h&65535)>>>j;b[g+(f+l<<1)>>1]=d;b[g+(f+m<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}default:return}}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,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}while(0);t=h;fn(m);Ya(t|0)}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Uc(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Uc(b,t,e,f,g);i=q;return}function Wc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=d+4|0;j=c[n>>2]|0;a:do switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{m=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>1]<>>1)&65535)>>>m&65535;b[g+(d*6|0)>>1]=k>>>m;b[g+(d*6|0)+2>>1]=l>>>m;b[g+(d*6|0)+4>>1]=i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{o=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>1]<>>1)&65535)>>>o&65535;b[g+(d*6|0)>>1]=q>>>o;b[g+(d*6|0)+2>>1]=p>>>o;b[g+(d*6|0)+4>>1]=m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{o=c[j>>2]|0;q=e[f+(k+i<<1)>>1]<>1]<>1]<>>1)&65535)>>>o;r=b[f+(k+d<<1)>>1]|0;q=mw(q>>>o&65535|0,0,16)|0;p=D|p;r=mw(r&65535|0,0,48)|0;r=s>>>o&65535|q|r;p=p&65535|D;q=g+(k<<3)|0;o=q;b[o>>1]=r;b[o+2>>1]=r>>>16;q=q+4|0;b[q>>1]=p;b[q+2>>1]=p>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){s=j+4|0;r=b[j>>1]|0;b[j>>1]=b[s>>1]|0;b[s>>1]=r;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function Xc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36364;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Yc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36364;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Zc(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;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;bd(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;bd(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function _c(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;$c(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{ad(a,f,b,d,e);return}}function $c(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;m=d+4|0;j=c[m>>2]|0;do if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{i=c[j>>2]|0;d=e[n+(f*6|0)+2>>1]<>1]<>>i&65535;b[g+(f*6|0)>>1]=((e[n+(f*6|0)>>1]<>>i;b[g+(f*6|0)+2>>1]=(d&65535)>>>i;b[g+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{d=e[n+(f*6|0)+2>>1]<>1]<>>j&65535;b[g+(f<<1)>>1]=((e[n+(f*6|0)>>1]<>>j;b[g+(f+i<<1)>>1]=(d&65535)>>>j;b[g+(f+l<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;l=(i|0)<(h|0)?i:h;if((l|0)<=0)return;m=i<<1;k=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;h=e[n+(f<<3)+2>>1]<>1]<>>j&65535;b[g+(f<<1)>>1]=((e[n+(f<<3)>>1]<>>j;b[g+(f+i<<1)>>1]=(h&65535)>>>j;b[g+(f+m<<1)>>1]=d;b[g+(f+k<<1)>>1]=o;f=f+1|0}while((f|0)!=(l|0));return}default:return}}function ad(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}while(0);t=h;fn(m);Ya(t|0)}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;$c(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;$c(b,t,e,f,g);i=q;return}function bd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=d+4|0;j=c[n>>2]|0;a:do switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{m=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>>m&65535;b[g+(d*6|0)>>1]=((e[f+(d*6|0)>>1]<>>m;b[g+(d*6|0)+2>>1]=(l&65535)>>>m;b[g+(d*6|0)+4>>1]=i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{o=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>>o&65535;b[g+(d*6|0)>>1]=((e[f+(d<<1)>>1]<>>o;b[g+(d*6|0)+2>>1]=(p&65535)>>>o;b[g+(d*6|0)+4>>1]=m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{q=c[j>>2]|0;s=e[f+(k+i<<1)>>1]<>1]<>>q;o=(s+32768+(e[f+(k+l<<1)>>1]<>>q;r=b[f+(k+d<<1)>>1]|0;q=mw((s&65535)>>>q&65535|0,0,16)|0;o=o|D;r=mw(r&65535|0,0,48)|0;r=q|p&65535|r;o=o&65535|D;p=g+(k<<3)|0;q=p;b[q>>1]=r;b[q+2>>1]=r>>>16;p=p+4|0;b[p>>1]=o;b[p+2>>1]=o>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){s=j+4|0;r=b[j>>1]|0;b[j>>1]=b[s>>1]|0;b[s>>1]=r;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function cd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0;p=i;i=i+16|0;m=p;n=c[b>>2]|0;if(!n){b=0;i=p;return b|0}q=d;k=f-q|0;l=g+12|0;j=c[l>>2]|0;k=(j|0)>(k|0)?j-k|0:0;j=e;g=j-q|0;if((g|0)>0?(Gb[c[(c[n>>2]|0)+48>>2]&63](n,d,g)|0)!=(g|0):0){c[b>>2]=0;q=0;i=p;return q|0}do if((k|0)>0){Hm(m,k,h);o=0;g=ma(c[(c[n>>2]|0)+48>>2]|0,n|0,((a[m>>0]&1)==0?m+1|0:c[m+8>>2]|0)|0,k|0)|0;q=o;o=0;if(q&1){q=Na()|0;Im(m);Ya(q|0)}if((g|0)==(k|0)){Im(m);break}c[b>>2]=0;Im(m);q=0;i=p;return q|0}while(0);f=f-j|0;if((f|0)>0?(Gb[c[(c[n>>2]|0)+48>>2]&63](n,e,f)|0)!=(f|0):0){c[b>>2]=0;q=0;i=p;return q|0}c[l>>2]=0;q=n;i=p;return q|0}function dd(a){a=a|0;c[a>>2]=36236;Im(a+32|0);nn(a);return}function ed(a){a=a|0;c[a>>2]=36236;Im(a+32|0);nn(a);cj(a);return}function fd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=d+44|0;j=c[i>>2]|0;l=d+24|0;m=c[l>>2]|0;if(j>>>0>>0){c[i>>2]=m;j=m}k=j;i=h&24;if(!i){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((g|0)==1&(i|0)==24){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}a:do switch(g|0){case 0:{i=0;g=0;break}case 1:if(!(h&8)){g=m-(c[d+20>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}else{g=(c[d+12>>2]|0)-(c[d+8>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}case 2:{i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;g=j-i|0;i=g;g=((g|0)<0)<<31>>31;break}default:{d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}while(0);g=jw(i|0,g|0,e|0,f|0)|0;e=D;if((e|0)>=0){i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;f=j-i|0;j=((f|0)<0)<<31>>31;if(!((j|0)<(e|0)|(j|0)==(e|0)&f>>>0>>0)){i=h&8;if(!((g|0)==0&(e|0)==0)){if((i|0)!=0?(c[d+12>>2]|0)==0:0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((h&16|0)!=0&(m|0)==0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}if(i){c[d+12>>2]=(c[d+8>>2]|0)+g;c[d+16>>2]=k}if(h&16)c[l>>2]=(c[d+20>>2]|0)+g;d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=g;c[d+4>>2]=e;return}}d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}function gd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=d+8|0;Ib[c[(c[b>>2]|0)+16>>2]&15](a,b,c[d>>2]|0,c[d+4>>2]|0,0,e);return}function hd(a){a=a|0;var b=0,e=0,f=0,g=0;b=a+44|0;e=c[b>>2]|0;f=c[a+24>>2]|0;if(e>>>0>>0){c[b>>2]=f;e=f}if(!(c[a+48>>2]&8)){a=-1;return a|0}g=a+16|0;b=c[g>>2]|0;f=a+12|0;if(b>>>0>>0){f=c[f>>2]|0;c[g>>2]=e;b=e}else f=c[f>>2]|0;if(f>>>0>=b>>>0){a=-1;return a|0}a=d[f>>0]|0;return a|0}function id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+44|0;e=c[f>>2]|0;g=c[b+24>>2]|0;if(e>>>0>>0){c[f>>2]=g;e=g}j=b+8|0;f=c[j>>2]|0;k=b+12|0;h=c[k>>2]|0;i=f;if(f>>>0>=h>>>0){b=-1;return b|0}if((d|0)==-1){c[j>>2]=f;c[k>>2]=h+-1;c[b+16>>2]=e;b=0;return b|0}if(!(c[b+48>>2]&16)){g=d&255;f=h+-1|0;if(g<<24>>24!=(a[f>>0]|0)){b=-1;return b|0}}else{g=d&255;f=h+-1|0}c[j>>2]=i;c[k>>2]=f;c[b+16>>2]=e;a[f>>0]=g;b=d;return b|0}function jd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+16|0;n=t;if((d|0)==-1){b=0;i=t;return b|0}p=b+12|0;q=b+8|0;r=(c[p>>2]|0)-(c[q>>2]|0)|0;s=b+24|0;e=c[s>>2]|0;m=b+28|0;f=c[m>>2]|0;do if((e|0)==(f|0)){k=b+48|0;if(!(c[k>>2]&16)){b=-1;i=t;return b|0}l=b+20|0;j=c[l>>2]|0;g=e-j|0;h=b+44|0;j=(c[h>>2]|0)-j|0;f=b+32|0;o=0;ia(67,f|0,0);e=o;o=0;if(!(e&1)){if(!(a[f>>0]&1))e=10;else e=(c[f>>2]&-2)+-1|0;o=0;wa(8,f|0,e|0,0);e=o;o=0;if(!(e&1)){e=a[f>>0]|0;if(!(e&1)){f=f+1|0;e=(e&255)>>>1}else{f=c[b+40>>2]|0;e=c[b+36>>2]|0}u=f+e|0;c[l>>2]=f;c[m>>2]=u;l=f+g|0;c[s>>2]=l;e=f+j|0;c[h>>2]=e;f=u;break}}u=Na(0)|0;Va(u|0)|0;Xa();u=-1;i=t;return u|0}else{u=b+44|0;k=b+48|0;h=u;l=e;e=c[u>>2]|0}while(0);j=l+1|0;c[n>>2]=j;g=c[(j>>>0>>0?h:n)>>2]|0;c[h>>2]=g;if(c[k>>2]&8){e=b+32|0;if(!(a[e>>0]&1))e=e+1|0;else e=c[b+40>>2]|0;c[q>>2]=e;c[p>>2]=e+r;c[b+16>>2]=g}if((l|0)==(f|0)){u=Lb[c[(c[b>>2]|0)+52>>2]&63](b,d&255)|0;i=t;return u|0}else{c[s>>2]=j;a[l>>0]=d;u=d&255;i=t;return u|0}return 0}function kd(a){a=a|0;var b=0,d=0;c[a>>2]=36200;b=a+56|0;c[b>>2]=36220;d=a+4|0;c[d>>2]=36236;Im(a+36|0);nn(d);fn(b);return}function ld(a){a=a|0;var b=0,d=0;c[a>>2]=36200;b=a+56|0;c[b>>2]=36220;d=a+4|0;c[d>>2]=36236;Im(a+36|0);nn(d);fn(b);cj(a);return}function md(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[(c[a>>2]|0)+-12>>2]|0;b=a+f|0;c[b>>2]=36200;d=a+(f+56)|0;c[d>>2]=36220;e=a+(f+4)|0;c[e>>2]=36236;Im(a+(f+36)|0);nn(e);fn(d);cj(b);return}function nd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36388;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function od(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36388;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function pd(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;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;td(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;td(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;rd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{sd(a,f,b,d,e);return}}function rd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;l=d+4|0;j=c[l>>2]|0;do if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{l=e[m+(j*6|0)+2>>1]|0;i=32768-l+(e[m+(j*6|0)+4>>1]|0)|0;n=(e[m+(j*6|0)>>1]|0)-l+32768|0;b[g+(j*6|0)>>1]=l+49152+(((i&65535)+(n&65535)|0)>>>2);b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{l=e[m+(f*6|0)+2>>1]|0;h=32768-l+(e[m+(f*6|0)+4>>1]|0)|0;n=(e[m+(f*6|0)>>1]|0)-l+32768|0;b[g+(f<<1)>>1]=l+49152+(((h&65535)+(n&65535)|0)>>>2);b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{n=b[m+(k<<3)+6>>1]|0;o=e[m+(k<<3)+2>>1]|0;l=32768-o+(e[m+(k<<3)+4>>1]|0)|0;h=(e[m+(k<<3)>>1]|0)-o+32768|0;b[g+(k<<1)>>1]=o+49152+(((l&65535)+(h&65535)|0)>>>2);b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function sd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}while(0);t=h;fn(m);Ya(t|0)}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;rd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;rd(b,t,e,f,g);i=q;return}function td(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=d+4|0;d=c[m>>2]|0;a:do switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=e[f+(d*6|0)+2>>1]|0;k=e[f+(d*6|0)+4>>1]|0;i=(e[f+(d*6|0)>>1]|0)-((k+l|0)>>>2)+16384|0;b[g+(d*6|0)>>1]=k+32768+i;b[g+(d*6|0)+2>>1]=i;b[g+(d*6|0)+4>>1]=l+32768+i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=e[f+(k+i<<1)>>1]|0;o=e[f+(k+j<<1)>>1]|0;l=(e[f+(k<<1)>>1]|0)-((o+n|0)>>>2)+16384|0;b[g+(k*6|0)>>1]=o+32768+l;b[g+(k*6|0)+2>>1]=l;b[g+(k*6|0)+4>>1]=n+32768+l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{n=e[f+(k+i<<1)>>1]|0;p=e[f+(k+d<<1)>>1]|0;o=(e[f+(k<<1)>>1]|0)-((p+n|0)>>>2)+16384|0;q=b[f+(k+j<<1)>>1]|0;r=mw(o&65535|0,0,16)|0;n=n+32768+o|D;q=mw(q&65535|0,0,48)|0;q=r|p+32768+o&65535|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){r=d+4|0;q=b[d>>1]|0;b[d>>1]=b[r>>1]|0;b[r>>1]=q;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function ud(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36412;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function vd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36412;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function wd(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;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Ad(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Ad(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;yd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{zd(a,f,b,d,e);return}}function yd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=d+4|0;j=c[l>>2]|0;do if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{k=e[m+(j*6|0)>>1]|0;i=b[m+(j*6|0)+2>>1]|0;l=i&65535;n=(e[m+(j*6|0)+4>>1]|0)+32768-((l+k|0)>>>1)&65535;b[g+(j*6|0)>>1]=k+32768-l;b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{h=b[m+(f*6|0)+2>>1]|0;k=e[m+(f*6|0)>>1]|0;l=h&65535;n=(e[m+(f*6|0)+4>>1]|0)+32768-((l+k|0)>>>1)&65535;b[g+(f<<1)>>1]=k+32768-l;b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{l=b[m+(k<<3)+2>>1]|0;n=b[m+(k<<3)+6>>1]|0;p=e[m+(k<<3)>>1]|0;o=l&65535;h=(e[m+(k<<3)+4>>1]|0)+32768-((o+p|0)>>>1)&65535;b[g+(k<<1)>>1]=p+32768-o;b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function zd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}while(0);t=h;fn(m);Ya(t|0)}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;yd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;yd(b,t,e,f,g);i=q;return}function Ad(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;i=l&65535;k=(e[f+(d*6|0)>>1]|0)+32768+i|0;i=(e[f+(d*6|0)+4>>1]|0)+32768+(((k&65535)+i|0)>>>1)&65535;b[g+(d*6|0)>>1]=k;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;l=n&65535;o=(e[f+(k<<1)>>1]|0)+32768+l|0;l=(e[f+(k+j<<1)>>1]|0)+32768+(((o&65535)+l|0)>>>1)&65535;b[g+(k*6|0)>>1]=o;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{o=b[f+(k+i<<1)>>1]|0;n=o&65535;p=(e[f+(k<<1)>>1]|0)+32768+n&65535;n=(e[f+(k+d<<1)>>1]|0)+32768+((p+n|0)>>>1)|0;q=b[f+(k+j<<1)>>1]|0;o=mw(o&65535|0,0,16)|0;n=D|n;q=mw(q&65535|0,0,48)|0;q=p|o|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Bd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36436;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Cd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36436;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Dd(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;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Hd(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Hd(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Ed(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Fd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Gd(a,f,b,d,e);return}}function Fd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;l=d+4|0;j=c[l>>2]|0;do if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{i=b[m+(j*6|0)+2>>1]|0;l=i&65535;n=32768-l+(e[m+(j*6|0)+4>>1]|0)&65535;b[g+(j*6|0)>>1]=(e[m+(j*6|0)>>1]|0)+32768-l;b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{h=b[m+(f*6|0)+2>>1]|0;l=h&65535;n=32768-l+(e[m+(f*6|0)+4>>1]|0)&65535;b[g+(f<<1)>>1]=(e[m+(f*6|0)>>1]|0)+32768-l;b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{l=b[m+(k<<3)+2>>1]|0;n=b[m+(k<<3)+6>>1]|0;o=l&65535;h=32768-o+(e[m+(k<<3)+4>>1]|0)&65535;b[g+(k<<1)>>1]=(e[m+(k<<3)>>1]|0)+32768-o;b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function Gd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}while(0);t=h;fn(m);Ya(t|0)}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Fd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Fd(b,t,e,f,g);i=q;return}function Hd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;k=l&65535;i=k+32768+(e[f+(d*6|0)+4>>1]|0)&65535;b[g+(d*6|0)>>1]=(e[f+(d*6|0)>>1]|0)+32768+k;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;o=n&65535;l=o+32768+(e[f+(k+j<<1)>>1]|0)&65535;b[g+(k*6|0)>>1]=(e[f+(k<<1)>>1]|0)+32768+o;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{o=b[f+(k+i<<1)>>1]|0;n=o&65535;p=(e[f+(k<<1)>>1]|0)+32768+n|0;n=n+32768+(e[f+(k+d<<1)>>1]|0)|0;q=b[f+(k+j<<1)>>1]|0;o=mw(o&65535|0,0,16)|0;n=D|n;q=mw(q&65535|0,0,48)|0;q=p&65535|o|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Id(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36460;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Jd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36460;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Kd(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;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Od(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Od(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Ld(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Md(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Nd(a,f,b,d,e);return}}function Md(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;k=d+4|0;i=c[k>>2]|0;do if(!(a[i+32>>0]|0))l=e;else{d=d+8|0;lw(c[d>>2]|0,e|0,g*6|0)|0;i=c[k>>2]|0;j=c[i+16>>2]|0;if((g|0)<=0){l=c[d>>2]|0;break}d=c[d>>2]|0;i=d;e=0;while(1){l=i+4|0;m=b[i>>1]|0;b[i>>1]=b[l>>1]|0;b[l>>1]=m;e=e+1|0;if((e|0)==(g|0))break;else i=i+(j<<1)|0}l=d;i=c[k>>2]|0}while(0);switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{h=b[l+(i*6|0)+2>>1]|0;m=b[l+(i*6|0)+4>>1]|0;b[f+(i*6|0)>>1]=b[l+(i*6|0)>>1]|0;b[f+(i*6|0)+2>>1]=h;b[f+(i*6|0)+4>>1]=m;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;d=h<<1;e=0;do{g=b[l+(e*6|0)+2>>1]|0;m=b[l+(e*6|0)+4>>1]|0;b[f+(e<<1)>>1]=b[l+(e*6|0)>>1]|0;b[f+(e+h<<1)>>1]=g;b[f+(e+d<<1)>>1]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;d=h<<1;e=h*3|0;j=0;do{k=b[l+(j<<3)+2>>1]|0;g=b[l+(j<<3)+4>>1]|0;m=b[l+(j<<3)+6>>1]|0;b[f+(j<<1)>>1]=b[l+(j<<3)>>1]|0;b[f+(j+h<<1)>>1]=k;b[f+(j+d<<1)>>1]=g;b[f+(j+e<<1)>>1]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Nd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}while(0);t=h;fn(m);Ya(t|0)}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Md(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Md(b,t,e,f,g);i=q;return}function Od(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;i=b[f+(d*6|0)+4>>1]|0;b[g+(d*6|0)>>1]=b[f+(d*6|0)>>1]|0;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;l=b[f+(k+j<<1)>>1]|0;b[g+(k*6|0)>>1]=b[f+(k<<1)>>1]|0;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{n=b[f+(k<<1)>>1]|0;q=b[f+(k+j<<1)>>1]|0;o=e[f+(k+d<<1)>>1]|0;p=mw(e[f+(k+i<<1)>>1]|0,0,16)|0;o=D|o;q=mw(q&65535|0,0,48)|0;q=p|n&65535|q;o=o&65535|D;n=g+(k<<3)|0;p=n;b[p>>1]=q;b[p+2>>1]=q>>>16;n=n+4|0;b[n>>1]=o;b[n+2>>1]=o>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Pd(a){a=a|0;return}function Qd(a){a=a|0;cj(a);return}function Rd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;e=$(c[b+8>>2]|0,e)|0;b=c[b+4>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,d,e)|0)==(e|0))return;f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,3,35648);b=o;o=0;if(b&1){b=Na()|0;La(f|0);Ya(b|0)}else lb(f|0,824,96)}function Sd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,p=0;p=i;i=i+16|0;m=p;l=b+8|0;g=c[l>>2]|0;f=$(g,e)|0;do if(f){j=b+4|0;h=f;while(1){g=c[j>>2]|0;g=Gb[c[(c[g>>2]|0)+32>>2]&63](g,d,h)|0;if(!g)break;f=h-g|0;if((h|0)==(g|0)){k=11;break}else h=f}if((k|0)==11){g=c[l>>2]|0;h=f;break}f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,3,35648);b=o;o=0;if(b&1){b=Na()|0;La(f|0);Ya(b|0)}else lb(f|0,824,96)}else h=0;while(0);if((g|0)==2){Oc(d,e<<1);g=c[l>>2]|0}f=c[b+12>>2]|0;if((f|0)<=($(g,e)|0)){i=p;return}b=c[b+4>>2]|0;Ib[c[(c[b>>2]|0)+16>>2]&15](m,b,f-h|0,0,1,24);i=p;return}function Td(a){a=a|0;cj(a);return}function Ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;lw(c[e>>2]|0,b|0,$(c[a+8>>2]|0,d)|0)|0;c[e>>2]=(c[e>>2]|0)+(c[a+12>>2]|0);return}function Vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;lw(b|0,c[e>>2]|0,$(c[a+8>>2]|0,d)|0)|0;c[e>>2]=(c[e>>2]|0)+(c[a+12>>2]|0);return}function Wd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c[b+112>>2]=0;c[b+108>>2]=0;l=c[d>>2]|0;g=l;do if(l){i=b+92|0;l=b+96|0;j=c[l>>2]|0;k=c[i>>2]|0;e=k;f=j-e|0;if(f>>>0>=4e4)if(f>>>0>4e4?(h=k+4e4|0,(j|0)!=(h|0)):0){c[l>>2]=h;h=e}else h=e;else{Xd(i,4e4-f|0);h=c[i>>2]|0;g=c[d>>2]|0}e=b+116|0;c[e>>2]=h;j=b+124|0;c[j>>2]=h;k=b+104|0;c[k>>2]=g;f=g;if(g){if((c[f+12>>2]|0)==(c[f+16>>2]|0)){d=(Eb[c[(c[g>>2]|0)+36>>2]&127](f)|0)==-1;f=c[j>>2]|0;if(d)break;g=c[e>>2]|0}else{f=h;g=h}i=f-g|0;if(i>>>0<=64){h=b+92|0;if((f|0)==(g|0))f=g;else{f=g;g=0;do{a[(c[h>>2]|0)+g>>0]=a[f+g>>0]|0;g=g+1|0;f=c[e>>2]|0}while(g>>>0>>0);g=c[j>>2]|0}h=c[h>>2]|0;d=h;m=d-f|0;c[e>>2]=h;f=g+m|0;c[j>>2]=f;h=b+120|0;c[h>>2]=(c[h>>2]|0)+m;k=c[k>>2]|0;f=Gb[c[(c[k>>2]|0)+32>>2]&63](k,f,(c[l>>2]|0)-(d+i)|0)|0;f=(c[j>>2]|0)+f|0;c[j>>2]=f}}else f=h}else{c[b+104>>2]=0;f=c[d+4>>2]|0;e=b+116|0;c[e>>2]=f;f=f+(c[d+8>>2]|0)|0;c[b+124>>2]=f}while(0);e=c[e>>2]|0;if(e>>>0>=f>>>0){l=e;m=b+120|0;c[m>>2]=l;ge(b);return}while(1){if((a[e>>0]|0)==-1){f=20;break}e=e+1|0;if(e>>>0>=f>>>0){f=20;break}}if((f|0)==20){m=b+120|0;c[m>>2]=e;ge(b);return}}function Xd(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;k=b+8|0;g=c[k>>2]|0;l=b+4|0;e=c[l>>2]|0;f=e;if((g-f|0)>>>0>=d>>>0){do{a[e>>0]=0;e=(c[l>>2]|0)+1|0;c[l>>2]=e;d=d+-1|0}while((d|0)!=0);return}e=c[b>>2]|0;h=f-e+d|0;if((h|0)<0){$i(b);g=c[k>>2]|0;e=c[b>>2]|0}f=g-e|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f;e=(c[l>>2]|0)-e|0;if(!f){g=0;i=0;h=e}else j=8}else{f=2147483647;e=(c[l>>2]|0)-e|0;j=8}if((j|0)==8){g=f;i=bj(f)|0;h=e}e=i+h|0;g=i+g|0;f=e;do{a[f>>0]=0;f=e+1|0;e=f;d=d+-1|0}while((d|0)!=0);d=c[b>>2]|0;f=(c[l>>2]|0)-d|0;j=i+(h-f)|0;lw(j|0,d|0,f|0)|0;c[b>>2]=j;c[l>>2]=e;c[k>>2]=g;if(!d)return;cj(d);return}function Yd(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+180|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((j|0)==18){h=a+12|0;a:do if((c[h>>2]|0)>0){j=a+4604|0;k=($(t,s)|0)+1|0;l=a+4608|0;m=a+92|0;n=(t|0)>0;p=a+4600|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(68,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40;while(0);do if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Zd(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4604|0;f=c[p>>2]|0;s=d+180|0;if((c[s>>2]|0)<=0)return;q=d+4608|0;r=d+4612|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(ce(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=be(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function _d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+104|0;if((c[g>>2]|0)>>>0<4)$d(b);h=b+100|0;i=b+112|0;j=b+96|0;k=b+108|0;l=b+116|0;d=c[h>>2]|0;f=0;do{e=a[i>>0]|0;if((d|0)>31)break;d=c[j>>2]|0;if(!(e<<24>>24)){a[c[k>>2]>>0]=d>>>24;c[j>>2]=c[j>>2]<<8;d=(c[h>>2]|0)+8|0}else{a[c[k>>2]>>0]=d>>>25;c[j>>2]=c[j>>2]<<7;d=(c[h>>2]|0)+7|0}c[h>>2]=d;m=c[k>>2]|0;e=(a[m>>0]|0)==-1&1;a[i>>0]=e;c[k>>2]=m+1;c[g>>2]=(c[g>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1;f=f+1|0}while((f|0)<4);if(!(e<<24>>24))ae(b,0,(d|0)%8|0);else ae(b,0,(d+-1|0)%8|0);if((c[g>>2]|0)>>>0<4)$d(b);d=c[h>>2]|0;e=0;do{if((d|0)>31)break;d=c[j>>2]|0;if(!(a[i>>0]|0)){a[c[k>>2]>>0]=d>>>24;c[j>>2]=c[j>>2]<<8;d=(c[h>>2]|0)+8|0}else{a[c[k>>2]>>0]=d>>>25;c[j>>2]=c[j>>2]<<7;d=(c[h>>2]|0)+7|0}c[h>>2]=d;m=c[k>>2]|0;a[i>>0]=(a[m>>0]|0)==-1&1;c[k>>2]=m+1;c[g>>2]=(c[g>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1;e=e+1|0}while((e|0)<4);if(!(c[b+132>>2]|0))return;$d(b);return}function $d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+132>>2]|0;if(!d){d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,4,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}e=b+108|0;f=b+120|0;h=c[f>>2]|0;g=(c[e>>2]|0)-h|0;if((Gb[c[(c[d>>2]|0)+48>>2]&63](d,h,g)|0)==(g|0)){h=c[f>>2]|0;c[e>>2]=h;c[b+104>>2]=(c[b+124>>2]|0)-h;return}d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,4,35648);h=o;o=0;if(!(h&1))lb(d|0,824,96);h=Na()|0;La(d|0);Ya(h|0)}function ae(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;l=b+100|0;e=(c[l>>2]|0)-e|0;c[l>>2]=e;if((e|0)>-1){m=b+96|0;c[m>>2]=c[m>>2]|d<>2]=c[m>>2]|d>>0-e;k=b+104|0;if((c[k>>2]|0)>>>0<4){$d(b);e=c[l>>2]|0}h=b+112|0;i=b+108|0;j=b+116|0;f=0;while(1){if((e|0)>31)break;e=c[m>>2]|0;if(!(a[h>>0]|0)){a[c[i>>2]>>0]=e>>>24;c[m>>2]=c[m>>2]<<8;e=(c[l>>2]|0)+8|0}else{a[c[i>>2]>>0]=e>>>25;c[m>>2]=c[m>>2]<<7;e=(c[l>>2]|0)+7|0}c[l>>2]=e;n=c[i>>2]|0;a[h>>0]=(a[n>>0]|0)==-1&1;c[i>>2]=n+1;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;f=f+1|0;if((f|0)>=4){g=11;break}}a:do if((g|0)==11)if((e|0)<0){c[m>>2]=c[m>>2]|d>>0-e;if((c[k>>2]|0)>>>0<4){$d(b);e=c[l>>2]|0;f=0}else f=0;do{if((e|0)>31)break a;e=c[m>>2]|0;if(!(a[h>>0]|0)){a[c[i>>2]>>0]=e>>>24;c[m>>2]=c[m>>2]<<8;e=(c[l>>2]|0)+8|0}else{a[c[i>>2]>>0]=e>>>25;c[m>>2]=c[m>>2]<<7;e=(c[l>>2]|0)+7|0}c[l>>2]=e;n=c[i>>2]|0;a[h>>0]=(a[n>>0]|0)==-1&1;c[i>>2]=n+1;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;f=f+1|0}while((f|0)<4)}while(0);c[m>>2]=c[m>>2]|d<>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;fe(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&65535;return r|0}r=g&~(d>>31);r=r&65535;return r|0}function ce(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=(c[a+180>>2]|0)-d|0;m=c[a+4608>>2]|0;n=c[a+4604>>2]|0;h=b[m+(d+-1<<1)>>1]|0;k=h&65535;f=c[a+144>>2]|0;i=0;while(1){g=m+(i+d<<1)|0;j=(e[g>>1]|0)-k|0;if((((j|0)>-1?j:0-j|0)|0)>(f|0))break;b[g>>1]=h;i=i+1|0;if((i|0)==(l|0)){i=l;break}}h=(i|0)==(l|0);j=a+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(a,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]=de(a,e[d>>1]|0,k,e[n+(l<<1)>>1]|0)|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;a=i+1|0;return a|0}if(!f){a=l;return a|0}ae(a,1,1);a=l;return a|0}function de(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;i=d-e|0;j=a+136|0;h=a+144|0;f=c[h>>2]|0;if((((i|0)>-1?i:0-i|0)|0)>(f|0)){g=e-d>>31|1;b=$(g,b-e|0)|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;d=((b|0)<0?f:0)+b|0;f=d-((d|0)<((f+1|0)/2|0|0)?0:f)|0;ee(a,a+4576|0,f);f=$(f,g)|0;g=c[h>>2]|0;h=g<<1|1;f=($(f,h)|0)+e|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&65535;return j|0}j=b&~(f>>31);j=j&65535;return j|0}else{b=b-d|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;g=((b|0)<0?f:0)+b|0;f=g-((g|0)<((f+1|0)/2|0|0)?0:f)|0;ee(a,a+4588|0,f);g=c[h>>2]|0;h=g<<1|1;f=($(h,f)|0)+d|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&65535;return j|0}j=b&~(f>>31);j=j&65535;return j|0}return 0}function ee(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;fe(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>2]|0;l=b+120|0;if(e>>>0<((c[l>>2]|0)+-3|0)>>>0){l=b+112|0;j=c[l>>2]|0;b=b+108|0;c[b>>2]=(d[e+1>>0]<<16|d[e>>0]<<24|d[e+2>>0]<<8|d[e+3>>0])>>>j|c[b>>2];b=32-j>>3;c[k>>2]=e+b;c[l>>2]=(b<<3)+j;return}j=b+104|0;f=c[j>>2]|0;do if(f){if((c[f+12>>2]|0)==(c[f+16>>2]|0)){if((Eb[c[(c[f>>2]|0)+36>>2]&127](f)|0)==-1)break;e=c[k>>2]|0}h=b+124|0;f=c[h>>2]|0;i=f-e|0;if(i>>>0<=64){g=b+92|0;if((f|0)==(e|0))f=e;else{f=0;do{a[(c[g>>2]|0)+f>>0]=a[e+f>>0]|0;f=f+1|0;e=c[k>>2]|0}while(f>>>0>>0);f=e;e=c[h>>2]|0}p=c[g>>2]|0;g=p;m=g-f|0;c[k>>2]=p;f=e+m|0;c[h>>2]=f;c[l>>2]=(c[l>>2]|0)+m;j=c[j>>2]|0;j=Gb[c[(c[j>>2]|0)+32>>2]&63](j,f,(c[b+96>>2]|0)-(g+i)|0)|0;c[h>>2]=(c[h>>2]|0)+j}}while(0);j=b+112|0;i=b+108|0;b=c[b+124>>2]|0;h=b+-1|0;e=c[k>>2]|0;while(1){if(e>>>0>=b>>>0){f=14;break}g=a[e>>0]|0;f=g&255;g=g<<24>>24==-1;if(g){if((e|0)==(h|0)){f=25;break}e=e+1|0;if((a[e>>0]|0)<0){f=25;break}}else e=e+1|0;p=c[j>>2]|0;c[i>>2]=f<<24-p|c[i>>2];c[k>>2]=e;p=p+(g?7:8)|0;c[j>>2]=p;if((p|0)>=24){f=33;break}}if((f|0)==14){if((c[j>>2]|0)>=1)return;e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);p=o;o=0;if(!(p&1))lb(e|0,824,96);p=Na()|0;La(e|0);Ya(p|0)}else if((f|0)==25){if((c[j>>2]|0)>=1)return;e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);p=o;o=0;if(!(p&1))lb(e|0,824,96);p=Na()|0;La(e|0);Ya(p|0)}else if((f|0)==33){a:do if(e>>>0>>0)do{if((a[e>>0]|0)==-1)break a;e=e+1|0}while(e>>>0>>0);while(0);c[l>>2]=e;return}}function he(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0;while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function ie(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;k=b+8|0;g=c[k>>2]|0;l=b+4|0;e=c[l>>2]|0;f=e;if((g-f|0)>>>0>=d>>>0){do{a[e>>0]=0;e=(c[l>>2]|0)+1|0;c[l>>2]=e;d=d+-1|0}while((d|0)!=0);return}e=c[b>>2]|0;h=f-e+d|0;if((h|0)<0){$i(b);g=c[k>>2]|0;e=c[b>>2]|0}f=g-e|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f;e=(c[l>>2]|0)-e|0;if(!f){g=0;i=0;h=e}else j=8}else{f=2147483647;e=(c[l>>2]|0)-e|0;j=8}if((j|0)==8){g=f;i=bj(f)|0;h=e}e=i+h|0;g=i+g|0;f=e;do{a[f>>0]=0;f=e+1|0;e=f;d=d+-1|0}while((d|0)!=0);d=c[b>>2]|0;f=(c[l>>2]|0)-d|0;j=i+(h-f)|0;lw(j|0,d|0,f|0)|0;c[b>>2]=j;c[l>>2]=e;c[k>>2]=g;if(!d)return;cj(d);return}function je(a){a=a|0;var b=0,d=0;c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function ke(a){a=a|0;var b=0,d=0;c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function le(a){a=a|0;var b=0,d=0;c[a>>2]=36052;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function me(a){a=a|0;var b=0,d=0;c[a>>2]=36052;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ne(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;xe(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function oe(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35828;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];qe(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;qe(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}\n function pe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function qe(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=a+180|0;r=(c[q>>2]|0)+4|0;if((c[a+32>>2]|0)==1)s=c[a+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;do if(d){if(!(d>>>0>715827882?(o=0,ha(178,w|0),v=o,o=0,v&1):0))j=6;if((j|0)==6?(o=0,e=ka(67,d*6|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;f=e+(d*6|0)|0;c[w+8>>2]=f;while(1){b[e>>1]=0;b[e+2>>1]=0;b[e+4>>1]=0;d=d+-1|0;if(!d)break;else e=e+6|0}c[x>>2]=f;break}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do if(!s)j=20;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))j=18;if((j|0)==18?(g=s<<2,o=0,h=ka(67,g|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=h;j=h+(s<<2)|0;c[t+8>>2]=j;iw(h|0,0,g|0)|0;c[v>>2]=j;j=20;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((j|0)==20){g=a+12|0;a:do if((c[g>>2]|0)>0){h=a+4604|0;j=($(s,r)|0)+1|0;k=a+4608|0;l=a+92|0;m=(s|0)>0;n=a+4600|0;p=0;b:while(1){e=c[w>>2]|0;d=e+6|0;c[h>>2]=d;e=e+(j*6|0)|0;c[k>>2]=e;if(!(p&1))d=e;else{c[h>>2]=e;c[k>>2]=d}f=c[l>>2]|0;o=0;Aa(c[(c[f>>2]|0)+12>>2]|0,f|0,d|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){j=30;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*6|0)|0;e=e+((y+-1|0)*6|0)|0;b[d>>1]=b[e>>1]|0;b[d+2>>1]=b[e+2>>1]|0;b[d+4>>1]=b[e+4>>1]|0;e=(c[k>>2]|0)+-6|0;d=c[h>>2]|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;b[e+4>>1]=b[d+4>>1]|0;o=0;ia(69,a|0,0);e=o;o=0;if(e&1){j=29;break b}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*6|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*6|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42;while(0);do if((j|0)==42){o=0;ha(182,a|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);i=u;return}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}function re(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;B=d+180|0;if((c[B>>2]|0)<=0)return;C=d+4608|0;D=d+4604|0;E=d+4612|0;A=0;while(1){x=A+-1|0;j=c[C>>2]|0;k=c[D>>2]|0;f=A+1|0;i=e[k+(A*6|0)>>1]|0;z=c[E>>2]|0;l=e[k+(x*6|0)>>1]|0;m=i-l|0;n=e[j+(x*6|0)>>1]|0;o=l-n|0;p=((((a[z+((e[k+(f*6|0)>>1]|0)-i)>>0]|0)*9|0)+(a[z+m>>0]|0)|0)*9|0)+(a[z+o>>0]|0)|0;h=e[k+(A*6|0)+2>>1]|0;q=e[k+(x*6|0)+2>>1]|0;r=h-q|0;s=e[j+(x*6|0)+2>>1]|0;t=q-s|0;u=((((a[z+((e[k+(f*6|0)+2>>1]|0)-h)>>0]|0)*9|0)+(a[z+r>>0]|0)|0)*9|0)+(a[z+t>>0]|0)|0;g=e[k+(A*6|0)+4>>1]|0;v=e[k+(x*6|0)+4>>1]|0;w=g-v|0;x=e[j+(x*6|0)+4>>1]|0;y=v-x|0;z=((((a[z+((e[k+(f*6|0)+4>>1]|0)-g)>>0]|0)*9|0)+(a[z+w>>0]|0)|0)*9|0)+(a[z+y>>0]|0)|0;if(!(u|p|z))f=(se(d,A,0)|0)+A|0;else{k=e[j+(A*6|0)>>1]|0;j=i-n>>31;if((j^o|0)>=0)if((j^m|0)<0)i=n;else i=n-l+i|0;k=te(d,p,k,i,0)|0;j=e[(c[C>>2]|0)+(A*6|0)+2>>1]|0;i=h-s>>31;if((i^t|0)>=0)if((i^r|0)<0)h=s;else h=s-q+h|0;i=te(d,u,j,h,0)|0;j=e[(c[C>>2]|0)+(A*6|0)+4>>1]|0;h=g-x>>31;if((h^y|0)>=0)if((h^w|0)<0)g=x;else g=x-v+g|0;y=te(d,z,j,g,0)|0;z=c[C>>2]|0;b[z+(A*6|0)>>1]=k;b[z+(A*6|0)+2>>1]=i;b[z+(A*6|0)+4>>1]=y}if((f|0)<(c[B>>2]|0))A=f;else break}return}function se(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=i;i=i+48|0;r=B+30|0;q=B+24|0;p=B+18|0;s=B+12|0;x=B+6|0;y=B;z=(c[a+180>>2]|0)-d|0;A=c[a+4608>>2]|0;t=c[a+4604>>2]|0;w=d+-1|0;u=b[A+(w*6|0)>>1]|0;v=b[A+(w*6|0)+2>>1]|0;w=b[A+(w*6|0)+4>>1]|0;f=u&65535;g=a+144|0;h=v&65535;j=w&65535;o=0;while(1){m=o+d|0;k=A+(m*6|0)|0;l=A+(m*6|0)+2|0;m=A+(m*6|0)+4|0;C=(e[k>>1]|0)-f|0;n=c[g>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(e[l>>1]|0)-h|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(e[m>>1]|0)-j|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;b[k>>1]=u;b[l>>1]=v;b[m>>1]=w;o=o+1|0;if((o|0)==(z|0)){o=z;break}}h=(o|0)==(z|0);j=a+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(o|0))f=o;else{f=o;do{ae(a,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]=b[C>>1]|0;b[x+2>>1]=b[C+2>>1]|0;b[x+4>>1]=b[C+4>>1]|0;b[y>>1]=u;b[y+2>>1]=v;b[y+4>>1]=w;d=t+(d*6|0)|0;b[p>>1]=b[x>>1]|0;b[p+2>>1]=b[x+2>>1]|0;b[p+4>>1]=b[x+4>>1]|0;b[q>>1]=b[y>>1]|0;b[q+2>>1]=b[y+2>>1]|0;b[q+4>>1]=b[y+4>>1]|0;b[r>>1]=b[d>>1]|0;b[r+2>>1]=b[d+2>>1]|0;b[r+4>>1]=b[d+4>>1]|0;ve(s,a,p,q,r);b[C>>1]=b[s>>1]|0;b[C+2>>1]=b[s+2>>1]|0;b[C+4>>1]=b[s+4>>1]|0;C=c[j>>2]|0;c[j>>2]=(C|0)<1?0:C+-1|0;C=o+1|0;i=B;return C|0}if(!f){C=z;i=B;return C|0}ae(a,1,1);C=z;i=B;return C|0}function te(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;ue(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&65535;return r|0}r=g&~(d>>31);r=r&65535;return r|0}function ue(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>1]|0;p=o-(e[g>>1]|0)>>31|1;i=$(p,(e[f>>1]|0)-o|0)|0;m=d+144|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;w=d+140|0;l=c[w>>2]|0;k=((i|0)<0?l:0)+i|0;l=k-((k|0)<((l+1|0)/2|0|0)?0:l)|0;k=d+4576|0;we(d,k,l);t=e[h+2>>1]|0;u=t-(e[g+2>>1]|0)>>31|1;i=$(u,(e[f+2>>1]|0)-t|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;q=c[w>>2]|0;v=((i|0)<0?q:0)+i|0;q=v-((v|0)<((q+1|0)/2|0|0)?0:q)|0;we(d,k,q);v=e[h+4>>1]|0;s=v-(e[g+4>>1]|0)>>31|1;i=$(s,(e[f+4>>1]|0)-v|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;n=c[w>>2]|0;i=((i|0)<0?n:0)+i|0;n=i-((i|0)<((n+1|0)/2|0|0)?0:n)|0;we(d,k,n);k=c[m>>2]|0;m=k<<1|1;i=($($(m,l)|0,p)|0)+o|0;f=0-k|0;if((i|0)>=(f|0)){j=c[r>>2]|0;if((j+k|0)<(i|0)){i=i-($(c[w>>2]|0,m)|0)|0;g=j}else g=j}else{i=($(c[w>>2]|0,m)|0)+i|0;g=c[r>>2]|0}if((i&g|0)!=(i|0))i=g&~(i>>31);h=i&65535;i=($($(m,q)|0,u)|0)+t|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)!=(i|0))i=g&~(i>>31);j=i&65535;i=($($(m,n)|0,s)|0)+v|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)==(i|0)){w=i;w=w&65535;b[a>>1]=h;v=a+2|0;b[v>>1]=j;a=a+4|0;b[a>>1]=w;return}w=g&~(i>>31);w=w&65535;b[a>>1]=h;v=a+2|0;b[v>>1]=j;a=a+4|0;b[a>>1]=w;return}function we(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;ue(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function xe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0;while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function ye(a){a=a|0;var b=0,d=0;c[a>>2]=36024;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function ze(a){a=a|0;var b=0,d=0;c[a>>2]=36024;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Ae(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;pf(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function Be(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35800;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Ce(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function De(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36712;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Ee(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36688;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Fe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36664;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Ge(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36640;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function He(a){a=a|0;var b=0,d=0;c[a>>2]=36640;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function Ie(a){a=a|0;var b=0,d=0;c[a>>2]=36640;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Je(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;Ne(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;Ne(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Le(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Me(a,f,b,d,e);return}}function Le(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{j=d[k+(i*3|0)+1>>0]|0;h=128-j+(d[k+(i*3|0)+2>>0]|0)|0;l=(d[k+(i*3|0)>>0]|0)-j+128|0;m=f+(i*3|0)|0;a[m>>0]=j+192+(((h&255)+(l&255)|0)>>>2);a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{g=d[k+(e*3|0)+1>>0]|0;l=128-g+(d[k+(e*3|0)+2>>0]|0)|0;m=(d[k+(e*3|0)>>0]|0)-g+128|0;a[f+e>>0]=g+192+(((l&255)+(m&255)|0)>>>2);a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{m=a[k+(j<<2)+3>>0]|0;n=d[k+(j<<2)+1>>0]|0;g=128-n+(d[k+(j<<2)+2>>0]|0)|0;l=(d[k+(j<<2)>>0]|0)-n+128|0;a[f+j>>0]=n+192+(((g&255)+(l&255)|0)>>>2);a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Me(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Le(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Le(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}while(0);s=h;fn(e);Ya(s|0)}function Ne(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=b+4|0;b=c[l>>2]|0;a:do switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=d[e+(b*3|0)+1>>0]|0;i=d[e+(b*3|0)+2>>0]|0;k=(d[e+(b*3|0)>>0]|0)-((i+j|0)>>>2)+64|0;h=f+(b*3|0)|0;a[h>>0]=i+128+k;a[h+1>>0]=k;a[h+2>>0]=j+128+k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=d[e+(j+h)>>0]|0;o=d[e+(j+i)>>0]|0;m=(d[e+j>>0]|0)-((o+n|0)>>>2)+64|0;k=f+(j*3|0)|0;a[k>>0]=o+128+m;a[k+1>>0]=m;a[k+2>>0]=n+128+m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{m=d[e+(j+h)>>0]|0;p=d[e+(j+b)>>0]|0;n=(d[e+j>>0]|0)-((p+m|0)>>>2)+64|0;o=f+(j<<2)|0;n=n<<8&65280|d[e+(j+i)>>0]<<24|p+128+n&255|m+128+n<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){p=b+2|0;o=a[b>>0]|0;a[b>>0]=a[p>>0]|0;a[p>>0]=o;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function Oe(a){a=a|0;var b=0,d=0;c[a>>2]=36664;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function Pe(a){a=a|0;var b=0,d=0;c[a>>2]=36664;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Qe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;Ue(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;Ue(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Se(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Te(a,f,b,d,e);return}}function Se(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{e=d[k+(i*3|0)>>0]|0;h=a[k+(i*3|0)+1>>0]|0;j=h&255;l=(d[k+(i*3|0)+2>>0]|0)+128-((j+e|0)>>>1)&255;m=f+(i*3|0)|0;a[m>>0]=e+128-j;a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{l=a[k+(e*3|0)+1>>0]|0;j=d[k+(e*3|0)>>0]|0;g=l&255;m=(d[k+(e*3|0)+2>>0]|0)+128-((g+j|0)>>>1)&255;a[f+e>>0]=j+128-g;a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{g=a[k+(j<<2)+1>>0]|0;m=a[k+(j<<2)+3>>0]|0;o=d[k+(j<<2)>>0]|0;n=g&255;l=(d[k+(j<<2)+2>>0]|0)+128-((n+o|0)>>>1)&255;a[f+j>>0]=o+128-n;a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Te(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Se(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Se(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}while(0);s=h;fn(e);Ya(s|0)}function Ue(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=b+4|0;b=c[l>>2]|0;a:do switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;k=j&255;i=(d[e+(b*3|0)>>0]|0)+128+k|0;k=(d[e+(b*3|0)+2>>0]|0)+128+(((i&255)+k|0)>>>1)&255;h=f+(b*3|0)|0;a[h>>0]=i;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;m=n&255;o=(d[e+j>>0]|0)+128+m|0;m=(d[e+(j+i)>>0]|0)+128+(((o&255)+m|0)>>>1)&255;k=f+(j*3|0)|0;a[k>>0]=o;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=d[e+(j+h)>>0]|0;m=(d[e+j>>0]|0)+128+n&255;o=f+(j<<2)|0;n=m|n<<8|d[e+(j+i)>>0]<<24|(d[e+(j+b)>>0]|0)+128+((m+n|0)>>>1)<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){o=b+2|0;n=a[b>>0]|0;a[b>>0]=a[o>>0]|0;a[o>>0]=n;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function Ve(a){a=a|0;var b=0,d=0;c[a>>2]=36688;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function We(a){a=a|0;var b=0,d=0;c[a>>2]=36688;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Xe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;$e(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;$e(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Ze(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{_e(a,f,b,d,e);return}}function Ze(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{h=a[k+(i*3|0)+1>>0]|0;j=h&255;l=128-j+(d[k+(i*3|0)+2>>0]|0)&255;m=f+(i*3|0)|0;a[m>>0]=(d[k+(i*3|0)>>0]|0)+128-j;a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{l=a[k+(e*3|0)+1>>0]|0;g=l&255;m=128-g+(d[k+(e*3|0)+2>>0]|0)&255;a[f+e>>0]=(d[k+(e*3|0)>>0]|0)+128-g;a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{g=a[k+(j<<2)+1>>0]|0;m=a[k+(j<<2)+3>>0]|0;n=g&255;l=128-n+(d[k+(j<<2)+2>>0]|0)&255;a[f+j>>0]=(d[k+(j<<2)>>0]|0)+128-n;a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function _e(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Ze(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Ze(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}while(0);s=h;fn(e);Ya(s|0)}function $e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=b+4|0;b=c[l>>2]|0;a:do switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;i=j&255;k=i+128+(d[e+(b*3|0)+2>>0]|0)&255;h=f+(b*3|0)|0;a[h>>0]=(d[e+(b*3|0)>>0]|0)+128+i;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;o=n&255;m=o+128+(d[e+(j+i)>>0]|0)&255;k=f+(j*3|0)|0;a[k>>0]=(d[e+j>>0]|0)+128+o;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=d[e+(j+h)>>0]|0;o=f+(j<<2)|0;n=(d[e+j>>0]|0)+128+n&255|n<<8|d[e+(j+i)>>0]<<24|n+128+(d[e+(j+b)>>0]|0)<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){o=b+2|0;n=a[b>>0]|0;a[b>>0]=a[o>>0]|0;a[o>>0]=n;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function af(a){a=a|0;var b=0,d=0;c[a>>2]=36712;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function bf(a){a=a|0;var b=0,d=0;c[a>>2]=36712;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function cf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;gf(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;gf(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;ef(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{ff(a,f,b,d,e);return}}function ef(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=b+4|0;h=c[j>>2]|0;if(!(a[h+32>>0]|0))j=d;else{i=b+8|0;lw(c[i>>2]|0,d|0,f*3|0)|0;h=c[j>>2]|0;d=c[h+16>>2]|0;if((f|0)>0){h=c[i>>2]|0;b=0;while(1){k=h+2|0;l=a[h>>0]|0;a[h>>0]=a[k>>0]|0;a[k>>0]=l;b=b+1|0;if((b|0)==(f|0))break;else h=h+d|0}h=c[j>>2]|0}j=c[i>>2]|0}switch(c[h+16>>2]|0){case 3:{if((c[h+24>>2]|0)==2){if((f|0)>0)h=0;else return;do{g=a[j+(h*3|0)+1>>0]|0;k=a[j+(h*3|0)+2>>0]|0;l=e+(h*3|0)|0;a[l>>0]=a[j+(h*3|0)>>0]|0;a[l+1>>0]=g;a[l+2>>0]=k;h=h+1|0}while((h|0)!=(f|0));return}h=(g|0)<(f|0)?g:f;if((h|0)<=0)return;b=g<<1;d=0;do{k=a[j+(d*3|0)+1>>0]|0;l=a[j+(d*3|0)+2>>0]|0;a[e+d>>0]=a[j+(d*3|0)>>0]|0;a[e+(d+g)>>0]=k;a[e+(d+b)>>0]=l;d=d+1|0}while((d|0)!=(h|0));return}case 4:{if((c[h+24>>2]|0)!=1)return;h=(g|0)<(f|0)?g:f;if((h|0)<=0)return;b=g<<1;d=g*3|0;i=0;do{f=a[j+(i<<2)+1>>0]|0;k=a[j+(i<<2)+2>>0]|0;l=a[j+(i<<2)+3>>0]|0;a[e+i>>0]=a[j+(i<<2)>>0]|0;a[e+(i+g)>>0]=f;a[e+(i+b)>>0]=k;a[e+(i+d)>>0]=l;i=i+1|0}while((i|0)!=(h|0));return}default:return}}function ff(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;ef(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){ef(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}while(0);s=h;fn(e);Ya(s|0)}function gf(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;b=c[l>>2]|0;a:do switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;k=a[e+(b*3|0)+2>>0]|0;h=f+(b*3|0)|0;a[h>>0]=a[e+(b*3|0)>>0]|0;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;m=a[e+(j+i)>>0]|0;k=f+(j*3|0)|0;a[k>>0]=a[e+j>>0]|0;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=f+(j<<2)|0;m=d[e+(j+h)>>0]<<8|d[e+j>>0]|d[e+(j+b)>>0]<<16|d[e+(j+i)>>0]<<24;a[n>>0]=m;a[n+1>>0]=m>>8;a[n+2>>0]=m>>16;a[n+3>>0]=m>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){n=b+2|0;m=a[b>>0]|0;a[b>>0]=a[n>>0]|0;a[n>>0]=m;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function hf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+180|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do if(d){if(!(d>>>0>1431655765?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[x>>2]|0)+3|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((h|0)==19){g=b+12|0;b:do if((c[g>>2]|0)>0){h=b+4604|0;j=($(s,r)|0)+1|0;k=b+4608|0;l=b+92|0;m=(s|0)>0;n=b+4600|0;p=0;c:while(1){f=c[w>>2]|0;d=f+3|0;c[h>>2]=d;e=f+(j*3|0)|0;c[k>>2]=e;if(!(p&1))d=j;else{c[h>>2]=e;c[k>>2]=d;d=1}e=c[l>>2]|0;o=0;Aa(c[(c[e>>2]|0)+12>>2]|0,e|0,f+(d*3|0)|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*3|0)|0;e=e+((y+-1|0)*3|0)|0;a[d>>0]=a[e>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;d=c[h>>2]|0;e=(c[k>>2]|0)+-3|0;a[e>>0]=a[d>>0]|0;a[e+1>>0]=a[d+1>>0]|0;a[e+2>>0]=a[d+2>>0]|0;o=0;ia(70,b|0,0);e=o;o=0;if(e&1){h=28;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*3|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*3|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){f=Na()|0;break}else if((h|0)==29){f=Na()|0;break}}else h=41;while(0);do if((h|0)==41){o=0;ha(182,b|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=u;return}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function jf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+180|0;if((c[A>>2]|0)<=0)return;B=b+4608|0;C=b+4604|0;D=b+4612|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=(kf(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=lf(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=lf(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=lf(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function kf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=i;i=i+32|0;A=B+15|0;q=B+12|0;p=B+9|0;r=B+6|0;w=B+3|0;x=B;y=(c[b+180>>2]|0)-e|0;z=c[b+4608>>2]|0;s=c[b+4604>>2]|0;v=z+((e+-1|0)*3|0)|0;t=a[v>>0]|0;u=a[v+1>>0]|0;v=a[v+2>>0]|0;f=t&255;g=b+144|0;h=u&255;j=v&255;o=0;while(1){k=z+((o+e|0)*3|0)|0;l=k+1|0;m=k+2|0;C=(d[k>>0]|0)-f|0;n=c[g>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(d[l>>0]|0)-h|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(d[m>>0]|0)-j|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;a[k>>0]=t;a[l>>0]=u;a[m>>0]=v;o=o+1|0;if((o|0)==(y|0)){o=y;break}}h=(o|0)==(y|0);j=b+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(o|0))f=o;else{f=o;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]=a[C>>0]|0;a[w+1>>0]=a[C+1>>0]|0;a[w+2>>0]=a[C+2>>0]|0;a[x>>0]=t;a[x+1>>0]=u;a[x+2>>0]=v;e=s+(e*3|0)|0;a[p>>0]=a[w>>0]|0;a[p+1>>0]=a[w+1>>0]|0;a[p+2>>0]=a[w+2>>0]|0;a[q>>0]=a[x>>0]|0;a[q+1>>0]=a[x+1>>0]|0;a[q+2>>0]=a[x+2>>0]|0;a[A>>0]=a[e>>0]|0;a[A+1>>0]=a[e+1>>0]|0;a[A+2>>0]=a[e+2>>0]|0;nf(r,b,p,q,A);a[C>>0]=a[r>>0]|0;a[C+1>>0]=a[r+1>>0]|0;a[C+2>>0]=a[r+2>>0]|0;C=c[j>>2]|0;c[j>>2]=(C|0)<1?0:C+-1|0;C=o+1|0;i=B;return C|0}if(!f){C=y;i=B;return C|0}ae(b,1,1);C=y;i=B;return C|0}function lf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;mf(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&255;return r|0}r=g&~(d>>31);r=r&255;return r|0}function mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>0]|0;p=o-(d[g>>0]|0)>>31|1;i=$(p,(d[f>>0]|0)-o|0)|0;m=e+144|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;w=e+140|0;l=c[w>>2]|0;k=((i|0)<0?l:0)+i|0;l=k-((k|0)<((l+1|0)/2|0|0)?0:l)|0;k=e+4576|0;of(e,k,l);t=d[h+1>>0]|0;u=t-(d[g+1>>0]|0)>>31|1;i=$(u,(d[f+1>>0]|0)-t|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;q=c[w>>2]|0;v=((i|0)<0?q:0)+i|0;q=v-((v|0)<((q+1|0)/2|0|0)?0:q)|0;of(e,k,q);v=d[h+2>>0]|0;s=v-(d[g+2>>0]|0)>>31|1;i=$(s,(d[f+2>>0]|0)-v|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;n=c[w>>2]|0;i=((i|0)<0?n:0)+i|0;n=i-((i|0)<((n+1|0)/2|0|0)?0:n)|0;of(e,k,n);k=c[m>>2]|0;m=k<<1|1;i=($($(m,l)|0,p)|0)+o|0;f=0-k|0;if((i|0)>=(f|0)){j=c[r>>2]|0;if((j+k|0)<(i|0)){i=i-($(c[w>>2]|0,m)|0)|0;g=j}else g=j}else{i=($(c[w>>2]|0,m)|0)+i|0;g=c[r>>2]|0}if((i&g|0)!=(i|0))i=g&~(i>>31);h=i&255;i=($($(m,q)|0,u)|0)+t|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)!=(i|0))i=g&~(i>>31);j=i&255;i=($($(m,n)|0,s)|0)+v|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)==(i|0)){w=i;w=w&255;a[b>>0]=h;v=b+1|0;a[v>>0]=j;b=b+2|0;a[b>>0]=w;return}w=g&~(i>>31);w=w&255;a[b>>0]=h;v=b+1|0;a[v>>0]=j;b=b+2|0;a[b>>0]=w;return}function of(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;mf(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function pf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0;while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function qf(a){a=a|0;var b=0,d=0;c[a>>2]=35996;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function rf(a){a=a|0;var b=0,d=0;c[a>>2]=35996;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function sf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,65535,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Bf(d);g=0;do{c[d+172+(g*12|0)>>2]=1024;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=1024;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=1024;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function tf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35772;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];vf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;vf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function uf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function vf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+156|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((j|0)==18){h=a+12|0;a:do if((c[h>>2]|0)>0){j=a+4580|0;k=($(t,s)|0)+1|0;l=a+4584|0;m=a+92|0;n=(t|0)>0;p=a+4576|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(71,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40;while(0);do if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function wf(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4580|0;f=c[p>>2]|0;s=d+156|0;if((c[s>>2]|0)<=0)return;q=d+4584|0;r=d+4588|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(yf(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=xf(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function xf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&65535|0)==(g|0))m=g;else m=g>>31&65535^65535;j=(e-m^q)-q<<16;l=j>>16;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;f=g^l;f=f>>30^f<<1;g=f>>h;if((g|0)<47){if((g|0)>30){i=(g|0)/2|0;ae(a,0,i);g=g-i|0}ae(a,1,g+1|0);ae(a,f&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-65536?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}function yf(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[a+156>>2]|0)-d|0;k=c[a+4584>>2]|0;m=c[a+4580>>2]|0;h=b[k+(d+-1<<1)>>1]|0;g=0;while(1){f=k+(g+d<<1)|0;if((b[f>>1]|0)!=h<<16>>16){n=g;break}b[f>>1]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&65535;h=(n|0)==(j|0);l=a+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(a,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]|0;f=e[m+(f<<1)>>1]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<16>>16;zf(a,a+4564|0,f);f=f+i|0}else{m=f-i>>31|1;d=($(g-f<<16,m)|0)>>16;zf(a,a+4552|0,d);f=($(d,m)|0)+f|0}b[h>>1]=f;a=c[l>>2]|0;c[l>>2]=(a|0)<1?0:a+-1|0;a=n+1|0;return a|0}function zf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Af(b,h,g,63-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Af(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-16|0;if((e|0)<(d+-17|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-47|0)}else ae(a,1,f);ae(a,c+65535&65535,16);return}function Bf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,65535,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8909]|0;c[b+4588>>2]=l+(((c[8910]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=131072){if(h>>>0>131072?(j=d+131072|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,131072-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+65536;j=b+168|0;g=b+164|0;h=-65536;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==65536)break}i=m;return}function Cf(a){a=a|0;var b=0,d=0;c[a>>2]=35968;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Df(a){a=a|0;var b=0,d=0;c[a>>2]=35968;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Ef(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,4095,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Nf(d);g=0;do{c[d+172+(g*12|0)>>2]=64;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=64;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=64;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function Ff(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35744;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Gf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Hf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+156|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((j|0)==18){h=a+12|0;a:do if((c[h>>2]|0)>0){j=a+4580|0;k=($(t,s)|0)+1|0;l=a+4584|0;m=a+92|0;n=(t|0)>0;p=a+4576|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(72,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40;while(0);do if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function If(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4580|0;f=c[p>>2]|0;s=d+156|0;if((c[s>>2]|0)<=0)return;q=d+4584|0;r=d+4588|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(Kf(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=Jf(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function Jf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&4095|0)==(g|0))m=g;else m=g>>31&4095^4095;j=(e-m^q)-q<<20;l=j>>20;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;f=g^l;f=f>>30^f<<1;g=f>>h;if((g|0)<35){if((g|0)>30){i=(g|0)/2|0;ae(a,0,i);g=g-i|0}ae(a,1,g+1|0);ae(a,f&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-1048576?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}function Kf(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[a+156>>2]|0)-d|0;k=c[a+4584>>2]|0;m=c[a+4580>>2]|0;h=b[k+(d+-1<<1)>>1]|0;g=0;while(1){f=k+(g+d<<1)|0;if((b[f>>1]|0)!=h<<16>>16){n=g;break}b[f>>1]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&65535;h=(n|0)==(j|0);l=a+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(a,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]|0;f=e[m+(f<<1)>>1]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<20>>20;Lf(a,a+4564|0,f);f=f+i|0}else{m=f-i>>31|1;d=($(g-f<<20,m)|0)>>20;Lf(a,a+4552|0,d);f=($(d,m)|0)+f|0}b[h>>1]=f&4095;a=c[l>>2]|0;c[l>>2]=(a|0)<1?0:a+-1|0;a=n+1|0;return a|0}function Lf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Mf(b,h,g,47-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Mf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-12|0;if((e|0)<(d+-13|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-43|0)}else ae(a,1,f);ae(a,c+4095&4095,12);return}function Nf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,4095,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8906]|0;c[b+4588>>2]=l+(((c[8907]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=8192){if(h>>>0>8192?(j=d+8192|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,8192-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+4096;j=b+168|0;g=b+164|0;h=-4096;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==4096)break}i=m;return}function Of(a){a=a|0;var b=0,d=0;c[a>>2]=35940;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Pf(a){a=a|0;var b=0,d=0;c[a>>2]=35940;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Qf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Zf(d);g=0;do{c[d+172+(g*12|0)>>2]=4;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=4;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=4;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function Rf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35716;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Tf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Tf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Sf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Tf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+156|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do if(d){if(!((d|0)<0?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[x>>2]|0)+1|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}e=Na()|0;d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}while(0);if((h|0)==19){g=b+12|0;b:do if((c[g>>2]|0)>0){h=b+4580|0;j=($(s,r)|0)+1|0;k=b+4584|0;l=b+92|0;m=(s|0)>0;n=b+4576|0;p=0;c:while(1){e=c[w>>2]|0;d=e+1|0;c[h>>2]=d;e=e+j|0;c[k>>2]=e;if(!(p&1))d=e;else{c[h>>2]=e;c[k>>2]=d}f=c[l>>2]|0;o=0;Aa(c[(c[f>>2]|0)+12>>2]|0,f|0,d|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[h>>2]|0;e=c[t>>2]|0;f=0;do{c[n>>2]=c[e+(f<<2)>>2];e=c[q>>2]|0;a[d+e>>0]=a[d+(e+-1)>>0]|0;a[(c[k>>2]|0)+-1>>0]=a[c[h>>2]>>0]|0;o=0;ia(73,b|0,0);e=o;o=0;if(e&1){h=28;break c}e=c[t>>2]|0;c[e+(f<<2)>>2]=c[n>>2];d=(c[h>>2]|0)+r|0;c[h>>2]=d;c[k>>2]=(c[k>>2]|0)+r;f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){e=Na()|0;break}else if((h|0)==29){e=Na()|0;break}}else h=41;while(0);do if((h|0)==41){o=0;ha(182,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return}while(0);d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}function Uf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4580|0;e=c[o>>2]|0;r=b+156|0;if((c[r>>2]|0)<=0)return;p=b+4584|0;q=b+4588|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(Wf(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=Vf(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function Vf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&255|0)==(g|0))m=g;else m=g>>31&255^255;j=(e-m^q)-q<<24;l=j>>24;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;g=g^l;g=g>>30^g<<1;f=g>>h;if((f|0)<23){ae(a,1,f+1|0);ae(a,g&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-16777216?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}function Wf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[b+156>>2]|0)-e|0;k=c[b+4584>>2]|0;m=c[b+4580>>2]|0;h=a[k+(e+-1)>>0]|0;g=0;while(1){f=k+(g+e)|0;if((a[f>>0]|0)!=h<<24>>24){n=g;break}a[f>>0]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&255;h=(n|0)==(j|0);l=b+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(b,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]|0;f=d[m+f>>0]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<24>>24;Xf(b,b+4564|0,f);f=f+i|0}else{m=f-i>>31|1;e=($(g-f<<24,m)|0)>>24;Xf(b,b+4552|0,e);f=($(e,m)|0)+f|0}a[h>>0]=f;b=c[l>>2]|0;c[l>>2]=(b|0)<1?0:b+-1|0;b=n+1|0;return b|0}function Xf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Yf(b,h,g,31-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-8|0;if((e|0)<(d+-9|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-39|0)}else ae(a,1,f);ae(a,c+255&255,8);return}function Zf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8900]|0;c[b+4588>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+256;j=b+168|0;g=b+164|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function _f(a){a=a|0;var b=0,d=0;c[a>>2]=35912;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function $f(a){a=a|0;var b=0,d=0;c[a>>2]=35912;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ag(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;jg(d);g=0;do{c[d+172+(g*12|0)>>2]=4;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=4;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=4;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function bg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35688;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];dg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;dg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function cg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function dg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+156|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do if(d){if(!(d>>>0>1431655765?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[x>>2]|0)+3|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((h|0)==19){g=b+12|0;b:do if((c[g>>2]|0)>0){h=b+4580|0;j=($(s,r)|0)+1|0;k=b+4584|0;l=b+92|0;m=(s|0)>0;n=b+4576|0;p=0;c:while(1){f=c[w>>2]|0;d=f+3|0;c[h>>2]=d;e=f+(j*3|0)|0;c[k>>2]=e;if(!(p&1))d=j;else{c[h>>2]=e;c[k>>2]=d;d=1}e=c[l>>2]|0;o=0;Aa(c[(c[e>>2]|0)+12>>2]|0,e|0,f+(d*3|0)|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*3|0)|0;e=e+((y+-1|0)*3|0)|0;a[d>>0]=a[e>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;d=c[h>>2]|0;e=(c[k>>2]|0)+-3|0;a[e>>0]=a[d>>0]|0;a[e+1>>0]=a[d+1>>0]|0;a[e+2>>0]=a[d+2>>0]|0;o=0;ia(74,b|0,0);e=o;o=0;if(e&1){h=28;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*3|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*3|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){f=Na()|0;break}else if((h|0)==29){f=Na()|0;break}}else h=41;while(0);do if((h|0)==41){o=0;ha(182,b|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=u;return}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function eg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+156|0;if((c[A>>2]|0)<=0)return;B=b+4584|0;C=b+4580|0;D=b+4588|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=(fg(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=gg(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=gg(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=gg(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function fg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=(c[b+156>>2]|0)-e|0;n=c[b+4584>>2]|0;o=c[b+4580>>2]|0;l=n+((e+-1|0)*3|0)|0;p=a[l>>0]|0;k=a[l+1>>0]|0;l=a[l+2>>0]|0;i=0;while(1){f=n+((i+e|0)*3|0)|0;g=f+1|0;h=f+2|0;if(!(((a[f>>0]|0)==p<<24>>24?(a[g>>0]|0)==k<<24>>24:0)&(a[h>>0]|0)==l<<24>>24))break;a[f>>0]=p;a[g>>0]=k;a[h>>0]=l;i=i+1|0;if((i|0)==(m|0)){i=m;break}}h=(i|0)==(m|0);j=b+4576|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]|0;e=m+2|0;f=a[e>>0]|0;o=o+(q*3|0)|0;q=a[o+1>>0]|0;t=a[o+2>>0]|0;o=d[o>>0]|0;h=o-(p&255)>>31|1;g=($((d[m>>0]|0)-o<<24,h)|0)>>24;s=b+4552|0;hg(b,s,g);p=q&255;q=p-(k&255)>>31|1;r=($((r&255)-p<<24,q)|0)>>24;hg(b,s,r);k=t&255;l=k-(l&255)>>31|1;f=($((f&255)-k<<24,l)|0)>>24;hg(b,s,f);p=($(r,q)|0)+p&255;b=($(f,l)|0)+k&255;a[m>>0]=($(g,h)|0)+o;a[n>>0]=p;a[e>>0]=b;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;b=i+1|0;return b|0}if(!f){t=m;return t|0}ae(b,1,1);t=m;return t|0}function gg(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&255|0)==(g|0))m=g;else m=g>>31&255^255;j=(e-m^q)-q<<24;l=j>>24;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;g=g^l;g=g>>30^g<<1;f=g>>h;if((f|0)<23){ae(a,1,f+1|0);ae(a,g&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-16777216?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}function hg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;ig(b,h,g,31-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function ig(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-8|0;if((e|0)<(d+-9|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-39|0)}else ae(a,1,f);ae(a,c+255&255,8);return}function jg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8900]|0;c[b+4588>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+256;j=b+168|0;g=b+164|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function kg(a){a=a|0;var b=0,d=0;c[a>>2]=35884;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function lg(a){a=a|0;var b=0,d=0;c[a>>2]=35884;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function mg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;wg(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function ng(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35660;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];pg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;pg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}\n function og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function pg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;u=i;i=i+32|0;w=u+12|0;t=u;r=b+180|0;s=(c[r>>2]|0)+4|0;if((c[b+32>>2]|0)==1)p=c[b+24>>2]|0;else p=1;d=$(p<<1,s)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do if(d){if(!((d|0)<0?(o=0,ha(178,w|0),v=o,o=0,v&1):0))q=6;if((q|0)==6?(o=0,e=ka(67,d|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[x>>2]|0)+1|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do if(!p)q=19;else{if(!(p>>>0>1073741823?(o=0,ha(178,t|0),n=o,o=0,n&1):0))q=17;if((q|0)==17?(f=p<<2,o=0,g=ka(67,f|0)|0,n=o,o=0,!(n&1)):0){c[t>>2]=g;q=g+(p<<2)|0;c[t+8>>2]=q;iw(g|0,0,f|0)|0;c[v>>2]=q;q=19;break}e=Na()|0;d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}while(0);if((q|0)==19){j=b+12|0;b:do if((c[j>>2]|0)>0){k=b+4604|0;l=($(p,s)|0)+1|0;m=b+4608|0;n=b+92|0;h=b+4600|0;if((p|0)>0)g=0;else{f=0;while(1){e=c[w>>2]|0;d=e+1|0;c[k>>2]=d;e=e+l|0;c[m>>2]=e;if(!(f&1))d=e;else{c[k>>2]=e;c[m>>2]=d}p=c[n>>2]|0;o=0;Aa(c[(c[p>>2]|0)+12>>2]|0,p|0,d|0,c[r>>2]|0,s|0);p=o;o=0;if(p&1)break;f=f+1|0;if((f|0)>=(c[j>>2]|0)){q=45;break b}}e=Na()|0;break}c:while(1){e=c[w>>2]|0;d=e+1|0;c[k>>2]=d;e=e+l|0;c[m>>2]=e;if(!(g&1))d=e;else{c[k>>2]=e;c[m>>2]=d}q=c[n>>2]|0;o=0;Aa(c[(c[q>>2]|0)+12>>2]|0,q|0,d|0,c[r>>2]|0,s|0);q=o;o=0;if(q&1){q=28;break}d=c[t>>2]|0;e=c[k>>2]|0;f=0;do{c[h>>2]=c[d+(f<<2)>>2];q=c[r>>2]|0;a[e+q>>0]=a[e+(q+-1)>>0]|0;a[(c[m>>2]|0)+-1>>0]=a[c[k>>2]>>0]|0;o=0;ia(75,b|0,0);q=o;o=0;if(q&1){q=36;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[h>>2];e=(c[k>>2]|0)+s|0;c[k>>2]=e;c[m>>2]=(c[m>>2]|0)+s;f=f+1|0}while((f|0)<(p|0));g=g+1|0;if((g|0)>=(c[j>>2]|0)){q=45;break b}}if((q|0)==28){e=Na()|0;break}else if((q|0)==36){e=Na()|0;break}}else q=45;while(0);do if((q|0)==45){o=0;ha(182,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return}while(0);d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}function qg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4604|0;e=c[o>>2]|0;r=b+180|0;if((c[r>>2]|0)<=0)return;p=b+4608|0;q=b+4612|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(sg(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=rg(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function rg(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;vg(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&255;return r|0}r=g&~(d>>31);r=r&255;return r|0}function sg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=(c[b+180>>2]|0)-e|0;m=c[b+4608>>2]|0;n=c[b+4604>>2]|0;h=a[m+(e+-1)>>0]|0;k=h&255;f=b+144|0;i=0;while(1){g=m+(i+e)|0;j=(d[g>>0]|0)-k|0;if((((j|0)>-1?j:0-j|0)|0)>(c[f>>2]|0))break;a[g>>0]=h;i=i+1|0;if((i|0)==(l|0)){i=l;break}}h=(i|0)==(l|0);j=b+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]=tg(b,d[e>>0]|0,k,d[n+l>>0]|0)|0;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;b=i+1|0;return b|0}if(!f){b=l;return b|0}ae(b,1,1);b=l;return b|0}function tg(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;i=d-e|0;j=a+136|0;h=a+144|0;f=c[h>>2]|0;if((((i|0)>-1?i:0-i|0)|0)>(f|0)){g=e-d>>31|1;b=$(g,b-e|0)|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;d=((b|0)<0?f:0)+b|0;f=d-((d|0)<((f+1|0)/2|0|0)?0:f)|0;ug(a,a+4576|0,f);f=$(f,g)|0;g=c[h>>2]|0;h=g<<1|1;f=($(f,h)|0)+e|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&255;return j|0}j=b&~(f>>31);j=j&255;return j|0}else{b=b-d|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;g=((b|0)<0?f:0)+b|0;f=g-((g|0)<((f+1|0)/2|0|0)?0:f)|0;ug(a,a+4588|0,f);g=c[h>>2]|0;h=g<<1|1;f=($(h,f)|0)+d|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&255;return j|0}j=b&~(f>>31);j=j&255;return j|0}return 0}function ug(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;vg(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0;while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function xg(a){a=a|0;var b=0,d=0;c[a>>2]=35856;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function yg(a){a=a|0;var b=0,d=0;c[a>>2]=35856;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function zg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Ag(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;Lg(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function Bg(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;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Cg(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Cg(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=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;A=i;i=i+32|0;C=A+12|0;z=A;w=a+172|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((j|0)==18){h=a+8|0;a:do if((c[h>>2]|0)>0){j=a+4596|0;k=$(y,x)|0;l=k+1|0;m=a+4600|0;n=(y|0)>0;p=a+160|0;q=a+168|0;r=a+164|0;s=a+156|0;t=a+88|0;u=a+4592|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(76,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42;while(0);do if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Dg(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=d+4596|0;g=c[q>>2]|0;u=d+172|0;f=c[u>>2]|0;if((f|0)<=0)return;r=d+4600|0;s=d+4604|0;t=d+4592|0;l=g;j=e[g+-2>>1]|0;g=e[g>>1]|0;p=0;while(1){n=c[r>>2]|0;k=b[n+(p+-1<<1)>>1]|0;o=k&65535;i=p+1|0;h=e[l+(i<<1)>>1]|0;m=c[s>>2]|0;l=g-j|0;j=j-o|0;m=((((a[m+(h-g)>>0]|0)*9|0)+(a[m+l>>0]|0)|0)*9|0)+(a[m+j>>0]|0)|0;n=n+(p<<1)|0;if(!m){f=Gg(d,k,n,f-p|0)|0;g=f+p|0;if((g|0)!=(c[u>>2]|0)){o=Hg(d,o,e[(c[q>>2]|0)+(g<<1)>>1]|0)|0;b[(c[r>>2]|0)+(g<<1)>>1]=o;o=c[t>>2]|0;c[t>>2]=(o|0)<1?0:o+-1|0;f=f+1|0}i=f+p|0;h=c[q>>2]|0;g=e[h+(i+-1<<1)>>1]|0;h=e[h+(i<<1)>>1]|0}else{f=g-o>>31;if((f^j|0)<0)f=g;else f=o+((f^l|0)<0?0:l)|0;o=Fg(d,m,e[n>>1]|0,f,0)|0;b[(c[r>>2]|0)+(p<<1)>>1]=o}f=c[u>>2]|0;if((f|0)<=(i|0))break;l=c[q>>2]|0;j=g;g=h;p=i}return}function Eg(b){b=b|0;var d=0,e=0,f=0,g=0;f=b+116|0;e=c[f>>2]|0;if((a[e>>0]|0)!=-1){g=b+112|0;d=c[g>>2]|0;if((d|0)<1){ge(b);d=c[g>>2]|0;e=c[f>>2]|0}b=b+108|0;f=c[b>>2]|0;c[g>>2]=d+-1;d=f<<1;c[b>>2]=d;if((a[e>>0]|0)!=-1){d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,6,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}}else d=c[b+108>>2]|0;if(!d)return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,6,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}function Fg(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&65535;return d|0}d=f&~(h>>31);d=d&65535;return d|0}function Gg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4592|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=b-d|0;h=a+128|0;e=a+136|0;if((((g|0)>-1?g:0-g|0)|0)>(c[e>>2]|0)){b=$(Ig(a,a+4568|0)|0,d-b>>31|1)|0;f=c[e>>2]|0;g=f<<1|1;b=($(b,g)|0)+d|0;if((b|0)>=(0-f|0)){e=c[h>>2]|0;if((e+f|0)<(b|0))b=b-($(c[a+132>>2]|0,g)|0)|0}else{b=($(c[a+132>>2]|0,g)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&65535;return a|0}a=e&~(b>>31);a=a&65535;return a|0}else{d=Ig(a,a+4580|0)|0;g=c[e>>2]|0;f=g<<1|1;b=($(f,d)|0)+b|0;if((b|0)>=(0-g|0)){e=c[h>>2]|0;if((e+g|0)<(b|0))b=b-($(c[a+132>>2]|0,f)|0)|0}else{b=($(c[a+132>>2]|0,f)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&65535;return a|0}a=e&~(b>>31);a=a&65535;return a|0}return 0}function Ig(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function Jg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=a+112|0;if((c[g>>2]|0)<16)ge(a);h=a+108|0;d=c[h>>2]|0;if((d|0)>=0)if(!(d&1073741824))if(!(d&536870912))if(!(d&268435456))if(!(d&134217728))if(!(d&67108864))if(!(d&33554432))if(!(d&16777216))if(!(d&8388608))if(!(d&4194304))if(!(d&2097152))if(!(d&1048576))if(!(d&524288))if(!(d&262144))if(!(d&131072)){f=d>>>12&16;b=f+-1|0;if(!f){b=(c[g>>2]|0)+-15|0;c[g>>2]=b;e=d<<15;c[h>>2]=e;d=b;b=15;while(1){if((d|0)<1){ge(a);f=c[h>>2]|0;d=c[g>>2]|0}else f=e;d=d+-1|0;c[g>>2]=d;e=f<<1;c[h>>2]=e;if((f|0)<0)break;else b=b+1|0}return b|0}}else b=14;else b=13;else b=12;else b=11;else b=10;else b=9;else b=8;else b=7;else b=6;else b=5;else b=4;else b=3;else b=2;else b=1;else b=0;a=b+1|0;c[g>>2]=(c[g>>2]|0)-a;c[h>>2]=d<>2]|0;if((e|0)<(d|0)){ge(b);e=c[f>>2]|0;if((e|0)<(d|0)){e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);b=o;o=0;if(b&1){b=Na()|0;La(e|0);Ya(b|0)}else lb(e|0,824,96)}}g=b+108|0;b=c[g>>2]|0;c[f>>2]=e-d;c[g>>2]=b<>>(32-d|0)|0}function Lg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0;while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function Mg(a){a=a|0;var b=0,d=0;c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Ng(a){a=a|0;var b=0,d=0;c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Og(a){a=a|0;var b=0,d=0;c[a>>2]=35828;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Pg(a){a=a|0;var b=0,d=0;c[a>>2]=35828;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Qg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Rg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;Zg(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function Sg(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;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Tg(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Tg(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=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;A=i;i=i+32|0;C=A+12|0;z=A;w=a+172|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do if(d){if(!(d>>>0>715827882?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(o=0,e=ka(67,d*6|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;f=e+(d*6|0)|0;c[C+8>>2]=f;while(1){b[e>>1]=0;b[e+2>>1]=0;b[e+4>>1]=0;d=d+-1|0;if(!d)break;else e=e+6|0}c[D>>2]=f;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do if(!y)j=20;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=18;if((j|0)==18?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=20;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((j|0)==20){h=a+8|0;a:do if((c[h>>2]|0)>0){j=a+4596|0;k=$(y,x)|0;l=k+1|0;m=a+4600|0;n=(y|0)>0;p=a+160|0;q=a+168|0;r=a+164|0;s=a+156|0;t=a+88|0;u=a+4592|0;v=0;b:while(1){f=c[C>>2]|0;e=f+6|0;c[j>>2]=e;f=f+(l*6|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*6|0)|0;e=e+((d+-1|0)*6|0)|0;b[g>>1]=b[e>>1]|0;b[g+2>>1]=b[e+2>>1]|0;b[g+4>>1]=b[e+4>>1]|0;g=(c[m>>2]|0)+-6|0;e=c[j>>2]|0;b[g>>1]=b[e>>1]|0;b[g+2>>1]=b[e+2>>1]|0;b[g+4>>1]=b[e+4>>1]|0;o=0;ia(77,a|0,0);g=o;o=0;if(g&1){j=31;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*6|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*6|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*6|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=32;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=44;break a}}if((j|0)==31){f=Na()|0;break}else if((j|0)==32){f=Na()|0;break}}else j=44;while(0);do if((j|0)==44){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);i=A;return}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}function Ug(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=i;i=i+32|0;D=N+24|0;M=N+18|0;L=N+12|0;E=N+6|0;F=N;G=d+172|0;f=c[G>>2]|0;if((f|0)<=0){i=N;return}H=d+4600|0;I=d+4596|0;J=d+4604|0;K=d+4592|0;C=0;while(1){h=C+-1|0;j=c[H>>2]|0;O=c[I>>2]|0;g=C+1|0;k=e[O+(C*6|0)>>1]|0;B=c[J>>2]|0;l=e[O+(h*6|0)>>1]|0;m=k-l|0;n=e[j+(h*6|0)>>1]|0;o=l-n|0;p=((((a[B+((e[O+(g*6|0)>>1]|0)-k)>>0]|0)*9|0)+(a[B+m>>0]|0)|0)*9|0)+(a[B+o>>0]|0)|0;q=e[O+(C*6|0)+2>>1]|0;r=e[O+(h*6|0)+2>>1]|0;s=q-r|0;t=e[j+(h*6|0)+2>>1]|0;u=r-t|0;v=((((a[B+((e[O+(g*6|0)+2>>1]|0)-q)>>0]|0)*9|0)+(a[B+s>>0]|0)|0)*9|0)+(a[B+u>>0]|0)|0;w=e[O+(C*6|0)+4>>1]|0;x=e[O+(h*6|0)+4>>1]|0;y=w-x|0;z=e[j+(h*6|0)+4>>1]|0;A=x-z|0;B=((((a[B+((e[O+(g*6|0)+4>>1]|0)-w)>>0]|0)*9|0)+(a[B+y>>0]|0)|0)*9|0)+(a[B+A>>0]|0)|0;if(!(v|p|B)){g=j+(h*6|0)|0;b[L>>1]=b[g>>1]|0;b[L+2>>1]=b[g+2>>1]|0;b[L+4>>1]=b[g+4>>1]|0;b[D>>1]=b[g>>1]|0;b[D+2>>1]=b[g+2>>1]|0;b[D+4>>1]=b[g+4>>1]|0;f=Vg(d,D,j+(C*6|0)|0,f-C|0)|0;g=f+C|0;if((g|0)!=(c[G>>2]|0)){O=(c[I>>2]|0)+(g*6|0)|0;b[F>>1]=b[O>>1]|0;b[F+2>>1]=b[O+2>>1]|0;b[F+4>>1]=b[O+4>>1]|0;O=(c[H>>2]|0)+(g*6|0)|0;b[M>>1]=b[L>>1]|0;b[M+2>>1]=b[L+2>>1]|0;b[M+4>>1]=b[L+4>>1]|0;b[D>>1]=b[F>>1]|0;b[D+2>>1]=b[F+2>>1]|0;b[D+4>>1]=b[F+4>>1]|0;Wg(E,d,M,D);b[O>>1]=b[E>>1]|0;b[O+2>>1]=b[E+2>>1]|0;b[O+4>>1]=b[E+4>>1]|0;O=c[K>>2]|0;c[K>>2]=(O|0)<1?0:O+-1|0;f=f+1|0}g=f+C|0}else{h=e[j+(C*6|0)>>1]|0;f=k-n>>31;if((f^o|0)>=0)if((f^m|0)<0)f=n;else f=n-l+k|0;else f=k;k=Xg(d,p,h,f,0)|0;h=e[(c[H>>2]|0)+(C*6|0)+2>>1]|0;f=q-t>>31;if((f^u|0)>=0)if((f^s|0)<0)f=t;else f=t-r+q|0;else f=q;h=Xg(d,v,h,f,0)|0;j=e[(c[H>>2]|0)+(C*6|0)+4>>1]|0;f=w-z>>31;if((f^A|0)>=0)if((f^y|0)<0)f=z;else f=z-x+w|0;else f=w;B=Xg(d,B,j,f,0)|0;O=c[H>>2]|0;b[O+(C*6|0)>>1]=k;b[O+(C*6|0)+2>>1]=h;b[O+(C*6|0)+4>>1]=B}f=c[G>>2]|0;if((g|0)>=(f|0))break;else C=g}i=N;return}function Vg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4592|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)<=0)return h|0;i=0;do{r=f+(i*6|0)|0;b[r>>1]=b[e>>1]|0;b[r+2>>1]=b[e+2>>1]|0;b[r+4>>1]=b[e+4>>1]|0;i=i+1|0}while((i|0)!=(h|0));return h|0}function Wg(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=d+4568|0;o=Yg(d,l)|0;j=Yg(d,l)|0;l=Yg(d,l)|0;i=d+128|0;h=e[g>>1]|0;m=c[d+136>>2]|0;n=m<<1|1;h=($($(n,o)|0,h-(e[f>>1]|0)>>31|1)|0)+h|0;o=0-m|0;if((h|0)>=(o|0)){i=c[i>>2]|0;if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else{h=($(c[d+132>>2]|0,n)|0)+h|0;i=c[i>>2]|0}if((h&i|0)!=(h|0))h=i&~(h>>31);k=h&65535;h=e[g+2>>1]|0;h=($($(n,j)|0,h-(e[f+2>>1]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else h=($(c[d+132>>2]|0,n)|0)+h|0;if((h&i|0)!=(h|0))h=i&~(h>>31);j=h&65535;h=e[g+4>>1]|0;h=($($(n,l)|0,h-(e[f+4>>1]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else h=($(c[d+132>>2]|0,n)|0)+h|0;if((h&i|0)==(h|0)){d=h;d=d&65535;b[a>>1]=k;o=a+2|0;b[o>>1]=j;a=a+4|0;b[a>>1]=d;return}d=i&~(h>>31);d=d&65535;b[a>>1]=k;o=a+2|0;b[o>>1]=j;a=a+4|0;b[a>>1]=d;return}function Xg(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&65535;return d|0}d=f&~(h>>31);d=d&65535;return d|0}function Yg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function Zg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0;while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function _g(a){a=a|0;var b=0,d=0;c[a>>2]=35800;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function $g(a){a=a|0;var b=0,d=0;c[a>>2]=35800;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ah(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function bh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;jh(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function ch(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;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);dh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function dh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,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;A=i;i=i+32|0;C=A+12|0;z=A;w=b+172|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do if(d){if(!(d>>>0>1431655765?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[D>>2]|0)+3|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((h|0)==19){h=b+8|0;b:do if((c[h>>2]|0)>0){j=b+4596|0;k=$(y,x)|0;l=k+1|0;m=b+4600|0;n=(y|0)>0;p=b+160|0;q=b+168|0;r=b+164|0;s=b+156|0;t=b+88|0;u=b+4592|0;v=0;c:while(1){f=c[C>>2]|0;e=f+3|0;c[j>>2]=e;f=f+(l*3|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*3|0)|0;e=e+((d+-1|0)*3|0)|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;e=c[j>>2]|0;g=(c[m>>2]|0)+-3|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;o=0;ia(78,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*3|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*3|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*3|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){f=Na()|0;break}else if((h|0)==31){f=Na()|0;break}}else h=43;while(0);do if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=A;return}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function eh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=i;i=i+16|0;C=M+12|0;L=M+9|0;K=M+6|0;D=M+3|0;E=M;F=b+172|0;e=c[F>>2]|0;if((e|0)<=0){i=M;return}G=b+4600|0;H=b+4596|0;I=b+4604|0;J=b+4592|0;B=0;while(1){y=B+-1|0;g=c[G>>2]|0;h=g+(y*3|0)|0;N=c[H>>2]|0;f=B+1|0;j=d[N+(B*3|0)>>0]|0;A=c[I>>2]|0;k=d[N+(y*3|0)>>0]|0;l=j-k|0;m=d[h>>0]|0;n=k-m|0;o=((((a[A+((d[N+(f*3|0)>>0]|0)-j)>>0]|0)*9|0)+(a[A+l>>0]|0)|0)*9|0)+(a[A+n>>0]|0)|0;p=d[N+(B*3|0)+1>>0]|0;q=d[N+(y*3|0)+1>>0]|0;r=p-q|0;s=d[g+(y*3|0)+1>>0]|0;t=q-s|0;u=((((a[A+((d[N+(f*3|0)+1>>0]|0)-p)>>0]|0)*9|0)+(a[A+r>>0]|0)|0)*9|0)+(a[A+t>>0]|0)|0;v=d[N+(B*3|0)+2>>0]|0;w=d[N+(y*3|0)+2>>0]|0;x=v-w|0;y=d[g+(y*3|0)+2>>0]|0;z=w-y|0;A=((((a[A+((d[N+(f*3|0)+2>>0]|0)-v)>>0]|0)*9|0)+(a[A+x>>0]|0)|0)*9|0)+(a[A+z>>0]|0)|0;if(!(u|o|A)){a[K>>0]=a[h>>0]|0;a[K+1>>0]=a[h+1>>0]|0;a[K+2>>0]=a[h+2>>0]|0;a[C>>0]=a[h>>0]|0;a[C+1>>0]=a[h+1>>0]|0;a[C+2>>0]=a[h+2>>0]|0;e=fh(b,C,g+(B*3|0)|0,e-B|0)|0;f=e+B|0;if((f|0)!=(c[F>>2]|0)){N=(c[H>>2]|0)+(f*3|0)|0;a[E>>0]=a[N>>0]|0;a[E+1>>0]=a[N+1>>0]|0;a[E+2>>0]=a[N+2>>0]|0;N=c[G>>2]|0;a[L>>0]=a[K>>0]|0;a[L+1>>0]=a[K+1>>0]|0;a[L+2>>0]=a[K+2>>0]|0;a[C>>0]=a[E>>0]|0;a[C+1>>0]=a[E+1>>0]|0;a[C+2>>0]=a[E+2>>0]|0;gh(D,b,L,C);N=N+(f*3|0)|0;a[N>>0]=a[D>>0]|0;a[N+1>>0]=a[D+1>>0]|0;a[N+2>>0]=a[D+2>>0]|0;N=c[J>>2]|0;c[J>>2]=(N|0)<1?0:N+-1|0;e=e+1|0}f=e+B|0}else{g=d[g+(B*3|0)>>0]|0;e=j-m>>31;if((e^n|0)>=0)if((e^l|0)<0)e=m;else e=m-k+j|0;else e=j;j=hh(b,o,g,e,0)|0;g=d[(c[G>>2]|0)+(B*3|0)+1>>0]|0;e=p-s>>31;if((e^t|0)>=0)if((e^r|0)<0)e=s;else e=s-q+p|0;else e=p;g=hh(b,u,g,e,0)|0;h=d[(c[G>>2]|0)+(B*3|0)+2>>0]|0;e=v-y>>31;if((e^z|0)>=0)if((e^x|0)<0)e=y;else e=y-w+v|0;else e=v;A=hh(b,A,h,e,0)|0;N=(c[G>>2]|0)+(B*3|0)|0;a[N>>0]=j;a[N+1>>0]=g;a[N+2>>0]=A}e=c[F>>2]|0;if((f|0)>=(e|0))break;else B=f}i=M;return}function fh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4592|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;h=0;do{q=e+(h*3|0)|0;a[q>>0]=a[d>>0]|0;a[q+1>>0]=a[d+1>>0]|0;a[q+2>>0]=a[d+2>>0]|0;h=h+1|0}while((h|0)!=(g|0));return g|0}function gh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=e+4568|0;o=ih(e,l)|0;j=ih(e,l)|0;l=ih(e,l)|0;i=e+128|0;h=d[g>>0]|0;m=c[e+136>>2]|0;n=m<<1|1;h=($($(n,o)|0,h-(d[f>>0]|0)>>31|1)|0)+h|0;o=0-m|0;if((h|0)>=(o|0)){i=c[i>>2]|0;if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else{h=($(c[e+132>>2]|0,n)|0)+h|0;i=c[i>>2]|0}if((h&i|0)!=(h|0))h=i&~(h>>31);k=h&255;h=d[g+1>>0]|0;h=($($(n,j)|0,h-(d[f+1>>0]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else h=($(c[e+132>>2]|0,n)|0)+h|0;if((h&i|0)!=(h|0))h=i&~(h>>31);j=h&255;h=d[g+2>>0]|0;h=($($(n,l)|0,h-(d[f+2>>0]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else h=($(c[e+132>>2]|0,n)|0)+h|0;if((h&i|0)==(h|0)){e=h;e=e&255;a[b>>0]=k;o=b+1|0;a[o>>0]=j;b=b+2|0;a[b>>0]=e;return}e=i&~(h>>31);e=e&255;a[b>>0]=k;o=b+1|0;a[o>>0]=j;b=b+2|0;a[b>>0]=e;return}function hh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&255;return d|0}d=f&~(h>>31);d=d&255;return d|0}function ih(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function jh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0;while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function kh(a){a=a|0;var b=0,d=0;c[a>>2]=35772;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function lh(a){a=a|0;var b=0,d=0;c[a>>2]=35772;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function mh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function nh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,65535,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;vh(d);g=0;do{c[d+164+(g*12|0)>>2]=1024;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=1024;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=1024;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function oh(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;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);ph(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function ph(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=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;A=i;i=i+32|0;C=A+12|0;z=A;w=a+148|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((j|0)==18){h=a+8|0;a:do if((c[h>>2]|0)>0){j=a+4572|0;k=$(y,x)|0;l=k+1|0;m=a+4576|0;n=(y|0)>0;p=a+136|0;q=a+144|0;r=a+140|0;s=a+132|0;t=a+88|0;u=a+4568|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(79,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42;while(0);do if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function qh(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4572|0;f=c[p>>2]|0;s=d+148|0;if((c[s>>2]|0)<=0)return;q=d+4576|0;r=d+4580|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(sh(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=rh(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function rh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&65535|0)!=(f|0))f=f>>31&65535^65535;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<47){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}function sh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4576|0;h=c[i>>2]|0;f=b[h+(d+-1<<1)>>1]|0;j=a+148|0;h=th(a,f,h+(d<<1)|0,(c[j>>2]|0)-d|0)|0;g=h+d|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&65535;d=e[(c[a+4572>>2]|0)+(g<<1)>>1]|0;j=f-d|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(uh(a,a+4556|0)|0)+f|0;else f=($(uh(a,a+4544|0)|0,d-f>>31|1)|0)+d|0;b[(c[i>>2]|0)+(g<<1)>>1]=f;j=a+4568|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;j=h+1|0;return j|0}function th(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4568|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function uh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do if((f|0)<(46-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,16)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function vh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,65535,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8909]|0;c[b+4580>>2]=l+(((c[8910]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=131072){if(h>>>0>131072?(j=d+131072|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,131072-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+65536;j=b+160|0;g=b+156|0;h=-65536;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==65536)break}i=m;return}function wh(a){a=a|0;var b=0,d=0;c[a>>2]=35744;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function xh(a){a=a|0;var b=0,d=0;c[a>>2]=35744;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function yh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function zh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,4095,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;Hh(d);g=0;do{c[d+164+(g*12|0)>>2]=64;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=64;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=64;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Ah(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;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Bh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Bh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=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;A=i;i=i+32|0;C=A+12|0;z=A;w=a+148|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((j|0)==18){h=a+8|0;a:do if((c[h>>2]|0)>0){j=a+4572|0;k=$(y,x)|0;l=k+1|0;m=a+4576|0;n=(y|0)>0;p=a+136|0;q=a+144|0;r=a+140|0;s=a+132|0;t=a+88|0;u=a+4568|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(80,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42;while(0);do if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Ch(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4572|0;f=c[p>>2]|0;s=d+148|0;if((c[s>>2]|0)<=0)return;q=d+4576|0;r=d+4580|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(Eh(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=Dh(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function Dh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&4095|0)!=(f|0))f=f>>31&4095^4095;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<35){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}function Eh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4576|0;h=c[i>>2]|0;f=b[h+(d+-1<<1)>>1]|0;j=a+148|0;h=Fh(a,f,h+(d<<1)|0,(c[j>>2]|0)-d|0)|0;g=h+d|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&65535;d=e[(c[a+4572>>2]|0)+(g<<1)>>1]|0;j=f-d|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(Gh(a,a+4556|0)|0)+f|0;else f=($(Gh(a,a+4544|0)|0,d-f>>31|1)|0)+d|0;b[(c[i>>2]|0)+(g<<1)>>1]=f&4095;j=a+4568|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;j=h+1|0;return j|0}function Fh(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4568|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function Gh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do if((f|0)<(34-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,12)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Hh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,4095,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8906]|0;c[b+4580>>2]=l+(((c[8907]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=8192){if(h>>>0>8192?(j=d+8192|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,8192-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+4096;j=b+160|0;g=b+156|0;h=-4096;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==4096)break}i=m;return}function Ih(a){a=a|0;var b=0,d=0;c[a>>2]=35716;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Jh(a){a=a|0;var b=0,d=0;c[a>>2]=35716;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Kh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Lh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;Th(d);g=0;do{c[d+164+(g*12|0)>>2]=4;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=4;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=4;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Mh(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;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Nh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Nh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,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;A=i;i=i+32|0;C=A+12|0;z=A;w=b+148|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[D>>2]|0)+1|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}e=Na()|0;d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}while(0);if((h|0)==19){h=b+8|0;b:do if((c[h>>2]|0)>0){j=b+4572|0;k=$(y,x)|0;l=k+1|0;m=b+4576|0;n=(y|0)>0;p=b+136|0;q=b+144|0;r=b+140|0;s=b+132|0;t=b+88|0;u=b+4568|0;v=0;c:while(1){f=c[C>>2]|0;e=f+1|0;c[j>>2]=e;f=f+l|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;a[e+g>>0]=a[e+(g+-1)>>0]|0;a[(c[m>>2]|0)+-1>>0]=a[c[j>>2]>>0]|0;o=0;ia(81,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+x|0;c[j>>2]=e;d=(c[m>>2]|0)+x|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){e=Na()|0;break}else if((h|0)==31){e=Na()|0;break}}else h=43;while(0);do if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);i=A;return}while(0);d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}function Oh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4572|0;e=c[o>>2]|0;r=b+148|0;if((c[r>>2]|0)<=0)return;p=b+4576|0;q=b+4580|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(Qh(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=Ph(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function Ph(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&255|0)!=(f|0))f=f>>31&255^255;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<23){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}function Qh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=b+4576|0;h=c[i>>2]|0;f=a[h+(e+-1)>>0]|0;j=b+148|0;h=Rh(b,f,h+e|0,(c[j>>2]|0)-e|0)|0;g=h+e|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&255;e=d[(c[b+4572>>2]|0)+g>>0]|0;j=f-e|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(Sh(b,b+4556|0)|0)+f|0;else f=($(Sh(b,b+4544|0)|0,e-f>>31|1)|0)+e|0;a[(c[i>>2]|0)+g>>0]=f;j=b+4568|0;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;j=h+1|0;return j|0}function Rh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4568|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;iw(e|0,d|0,g|0)|0;return g|0}function Sh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do if((f|0)<(22-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,8)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Th(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8900]|0;c[b+4580>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+256;j=b+160|0;g=b+156|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function Uh(a){a=a|0;var b=0,d=0;c[a>>2]=35688;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Vh(a){a=a|0;var b=0,d=0;c[a>>2]=35688;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Wh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Xh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;di(d);g=0;do{c[d+164+(g*12|0)>>2]=4;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=4;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=4;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Yh(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;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Zh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Zh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,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;A=i;i=i+32|0;C=A+12|0;z=A;w=b+148|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do if(d){if(!(d>>>0>1431655765?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[D>>2]|0)+3|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}while(0);if((h|0)==19){h=b+8|0;b:do if((c[h>>2]|0)>0){j=b+4572|0;k=$(y,x)|0;l=k+1|0;m=b+4576|0;n=(y|0)>0;p=b+136|0;q=b+144|0;r=b+140|0;s=b+132|0;t=b+88|0;u=b+4568|0;v=0;c:while(1){f=c[C>>2]|0;e=f+3|0;c[j>>2]=e;f=f+(l*3|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*3|0)|0;e=e+((d+-1|0)*3|0)|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;e=c[j>>2]|0;g=(c[m>>2]|0)+-3|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;o=0;ia(82,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*3|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*3|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*3|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){f=Na()|0;break}else if((h|0)==31){f=Na()|0;break}}else h=43;while(0);do if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=A;return}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function _h(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+148|0;if((c[A>>2]|0)<=0)return;B=b+4576|0;C=b+4572|0;D=b+4580|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=($h(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=ai(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=ai(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=ai(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function $h(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=i;i=i+16|0;n=l+3|0;o=l;h=b+4576|0;e=c[h>>2]|0;f=e+((d+-1|0)*3|0)|0;j=a[f>>0]|0;k=a[f+1>>0]|0;f=a[f+2>>0]|0;a[o>>0]=j;a[o+1>>0]=k;a[o+2>>0]=f;m=b+148|0;g=(c[m>>2]|0)-d|0;a[n>>0]=a[o>>0]|0;a[n+1>>0]=a[o+1>>0]|0;a[n+2>>0]=a[o+2>>0]|0;g=bi(b,n,e+(d*3|0)|0,g)|0;e=g+d|0;if((e|0)==(c[m>>2]|0)){o=g;i=l;return o|0}n=(c[b+4572>>2]|0)+(e*3|0)|0;d=a[n>>0]|0;m=a[n+1>>0]|0;n=a[n+2>>0]|0;o=c[h>>2]|0;p=b+4544|0;h=ci(b,p)|0;q=ci(b,p)|0;d=d&255;m=m&255;m=($(m-(k&255)>>31|1,q)|0)+m&255;n=n&255;n=($(n-(f&255)>>31|1,ci(b,p)|0)|0)+n&255;o=o+(e*3|0)|0;a[o>>0]=($(d-(j&255)>>31|1,h)|0)+d;a[o+1>>0]=m;a[o+2>>0]=n;o=b+4568|0;n=c[o>>2]|0;c[o>>2]=(n|0)<1?0:n+-1|0;o=g+1|0;i=l;return o|0}function ai(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&255|0)!=(f|0))f=f>>31&255^255;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<23){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}function bi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4568|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;h=0;do{q=e+(h*3|0)|0;a[q>>0]=a[d>>0]|0;a[q+1>>0]=a[d+1>>0]|0;a[q+2>>0]=a[d+2>>0]|0;h=h+1|0}while((h|0)!=(g|0));return g|0}function ci(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do if((f|0)<(22-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,8)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}\n function Lp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+128|0;h=n;q=n+116|0;r=n+104|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,0,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(3,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=Uu(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function Mp(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,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+240|0;h=n+8|0;a=n;q=n+204|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,0,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,23,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(3,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=Uu(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function Np(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=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;z=i;i=i+352|0;u=z+312|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+316|0;t=z+80|0;k=z+84|0;y=z+76|0;x=z+72|0;v=z+68|0;w=z+64|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58898,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,c[q>>2]=c[d+8>>2],h[q+8>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<3)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}while(0);do if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(4,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(40,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Op(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+16|0;z=y;x=Is(j,44212)|0;v=Is(j,44368)|0;Cb[c[(c[v>>2]|0)+20>>2]&127](z,v);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,j|0)|0;w=o;o=0;if(w&1)u=8;else{m=c[h>>2]|0;c[h>>2]=m+4;c[m>>2]=j;m=b+1|0;u=10}break}default:{m=b;u=10}}a:do if((u|0)==10){w=e;b:do if((w-m|0)>1?(a[m>>0]|0)==48:0){k=m+1|0;switch(a[k>>0]|0){case 88:case 120:break;default:{u=11;break b}}o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,48)|0;t=o;o=0;if(t&1){u=8;break a}t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=j;m=m+2|0;o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,a[k>>0]|0)|0;t=o;o=0;if(t&1){u=8;break a}t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=j;if(m>>>0>>0){j=m;while(1){k=a[j>>0]|0;o=0;l=ua(3)|0;t=o;o=0;if(t&1)break;o=0;k=ra(39,k<<24>>24|0,l|0)|0;t=o;o=0;if(t&1)break;if(!k){t=m;break b}j=j+1|0;if(j>>>0>=e>>>0){t=m;break b}}j=Na()|0;break a}else{t=m;j=m}}else u=11;while(0);c:do if((u|0)==11)if(m>>>0>>0){j=m;while(1){k=a[j>>0]|0;o=0;l=ua(3)|0;t=o;o=0;if(t&1)break;o=0;k=ra(40,k<<24>>24|0,l|0)|0;t=o;o=0;if(t&1)break;if(!k){t=m;break c}j=j+1|0;if(j>>>0>=e>>>0){t=m;break c}}j=Na()|0;break a}else{t=m;j=m}while(0);r=a[z>>0]|0;s=z+4|0;if(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0){if((t|0)!=(j|0)?(n=j+-1|0,t>>>0>>0):0){l=t;k=n;do{r=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=r;l=l+1|0;k=k+-1|0}while(l>>>0>>0)}o=0;n=ka(c[(c[v>>2]|0)+16>>2]|0,v|0)|0;r=o;o=0;if(r&1){u=8;break}p=z+8|0;q=z+1|0;d:do if(t>>>0>>0){k=0;l=0;r=t;while(1){m=a[((a[z>>0]&1)==0?q:c[p>>2]|0)+l>>0]|0;if(m<<24>>24>0&(k|0)==(m<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=n;k=a[z>>0]|0;m=0;l=(l>>>0<(((k&1)==0?(k&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+l|0}else m=k;o=0;k=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,a[r>>0]|0)|0;A=o;o=0;if(A&1)break;A=c[h>>2]|0;c[h>>2]=A+4;c[A>>2]=k;r=r+1|0;if(r>>>0>=j>>>0)break d;else k=m+1|0}j=Na()|0;break a}while(0);k=f+(t-b<<2)|0;m=c[h>>2]|0;if((k|0)!=(m|0)){l=m+-4|0;if(k>>>0>>0){do{A=c[k>>2]|0;c[k>>2]=c[l>>2];c[l>>2]=A;k=k+4|0;l=l+-4|0}while(k>>>0>>0);n=x;k=m}else{n=x;k=m}}else n=x}else{o=0;va(c[(c[x>>2]|0)+48>>2]|0,x|0,t|0,j|0,c[h>>2]|0)|0;A=o;o=0;if(A&1){u=8;break}k=(c[h>>2]|0)+(j-t<<2)|0;c[h>>2]=k;n=x}e:do if(j>>>0>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46){l=j;break}o=0;l=ra(c[(c[n>>2]|0)+44>>2]|0,x|0,k|0)|0;A=o;o=0;if(A&1){u=4;break}A=c[h>>2]|0;k=A+4|0;c[h>>2]=k;c[A>>2]=l;j=j+1|0;if(j>>>0>=e>>>0)break e}if((u|0)==4){j=Na()|0;break a}o=0;j=ka(c[(c[v>>2]|0)+12>>2]|0,v|0)|0;A=o;o=0;if(A&1){u=8;break a}A=c[h>>2]|0;k=A+4|0;c[h>>2]=k;c[A>>2]=j;j=l+1|0}while(0);o=0;va(c[(c[x>>2]|0)+48>>2]|0,x|0,j|0,e|0,k|0)|0;A=o;o=0;if(A&1)u=8;else{A=(c[h>>2]|0)+(w-j<<2)|0;c[h>>2]=A;c[g>>2]=(d|0)==(e|0)?A:f+(d-b<<2)|0;Im(z);i=y;return}}while(0);if((u|0)==8)j=Na()|0;Im(z);Ya(j|0)}function Pp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=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;z=i;i=i+352|0;u=z+304|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+308|0;t=z+72|0;k=z+76|0;y=z+68|0;x=z+64|0;v=z+60|0;w=z+56|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58899,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,h[q>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<3)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}while(0);do if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(4,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(40,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Qp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+192|0;l=q;b=q+180|0;n=q+160|0;p=q+12|0;k=q+8|0;m=q+4|0;a[b>>0]=a[58901]|0;a[b+1>>0]=a[58902]|0;a[b+2>>0]=a[58903]|0;a[b+3>>0]=a[58904]|0;a[b+4>>0]=a[58905]|0;a[b+5>>0]=a[58906]|0;h=Xo()|0;c[l>>2]=g;b=Su(n,20,h,b,l)|0;g=n+b|0;h=vp(n,g,e)|0;j=jn(e)|0;c[k>>2]=j;o=0;k=ra(37,k|0,44212)|0;r=o;o=0;if(r&1){r=Na()|0;pm(j)|0;Ya(r|0)}else{pm(j)|0;Pb[c[(c[k>>2]|0)+48>>2]&31](k,n,g,p)|0;r=p+(b<<2)|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];r=Uu(l,p,(h|0)==(g|0)?r:p+(h-n<<2)|0,r,e,f)|0;i=q;return r|0}return 0}function Rp(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,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;C=i;i=i+32|0;w=C+16|0;v=C+12|0;z=C+8|0;x=C+4|0;y=C;n=jn(h)|0;c[z>>2]=n;o=0;z=ra(37,z|0,44220)|0;u=o;o=0;if(u&1){C=Na()|0;pm(n)|0;Ya(C|0)}pm(n)|0;c[j>>2]=0;u=z+8|0;n=c[f>>2]|0;a:do if((l|0)!=(m|0)){b:while(1){p=n;if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0;p=0}}else n=0;s=(n|0)==0;r=c[g>>2]|0;q=r;do if(r){if((c[r+12>>2]|0)==(c[r+16>>2]|0)?(Eb[c[(c[r>>2]|0)+36>>2]&127](r)|0)==-1:0){c[g>>2]=0;q=0;B=12;break}if(!s){B=13;break b}}else B=12;while(0);if((B|0)==12){B=0;if(s){B=13;break}else r=0}c:do if((Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[l>>0]|0,0)|0)<<24>>24==37){r=l+1|0;if((r|0)==(m|0)){B=17;break b}t=Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[r>>0]|0,0)|0;switch(t<<24>>24){case 48:case 69:{s=l+2|0;if((s|0)==(m|0)){B=20;break b}l=r;r=Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[s>>0]|0,0)|0;n=t;break}default:{r=t;n=0}}t=c[(c[e>>2]|0)+36>>2]|0;c[x>>2]=p;c[y>>2]=q;c[v>>2]=c[x>>2];c[w>>2]=c[y>>2];c[f>>2]=Sb[t&15](e,v,w,h,j,k,r,n)|0;l=l+2|0}else{p=a[l>>0]|0;if(p<<24>>24>-1?(A=c[u>>2]|0,(b[A+(p<<24>>24<<1)>>1]&8192)!=0):0){do{l=l+1|0;if((l|0)==(m|0)){l=m;break}p=a[l>>0]|0;if(p<<24>>24<=-1)break}while((b[A+(p<<24>>24<<1)>>1]&8192)!=0);p=r;while(1){if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;q=(n|0)==0;do if(r){if((c[r+12>>2]|0)!=(c[r+16>>2]|0))if(q){t=p;break}else break c;if((Eb[c[(c[r>>2]|0)+36>>2]&127](r)|0)!=-1)if(q^(p|0)==0){t=p;r=p;break}else break c;else{c[g>>2]=0;p=0;B=39;break}}else B=39;while(0);if((B|0)==39){B=0;if(q)break c;else{t=p;r=0}}q=n+12|0;p=c[q>>2]|0;s=n+16|0;if((p|0)==(c[s>>2]|0))p=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else p=d[p>>0]|0;if((p&255)<<24>>24<=-1)break c;if(!(b[(c[u>>2]|0)+(p<<24>>24<<1)>>1]&8192))break c;p=c[q>>2]|0;if((p|0)==(c[s>>2]|0)){Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;p=t;continue}else{c[q>>2]=p+1;p=t;continue}}}q=n+12|0;p=c[q>>2]|0;r=n+16|0;if((p|0)==(c[r>>2]|0))p=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else p=d[p>>0]|0;t=Lb[c[(c[z>>2]|0)+12>>2]&63](z,p&255)|0;if(t<<24>>24!=(Lb[c[(c[z>>2]|0)+12>>2]&63](z,a[l>>0]|0)|0)<<24>>24){B=57;break b}p=c[q>>2]|0;if((p|0)==(c[r>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else c[q>>2]=p+1;l=l+1|0}while(0);n=c[f>>2]|0;if(!((l|0)!=(m|0)&(c[j>>2]|0)==0))break a}if((B|0)==13){c[j>>2]=4;break}else if((B|0)==17){c[j>>2]=4;break}else if((B|0)==20){c[j>>2]=4;break}else if((B|0)==57){c[j>>2]=4;n=c[f>>2]|0;break}}while(0);if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;l=(n|0)==0;p=c[g>>2]|0;do if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0)?(Eb[c[(c[p>>2]|0)+36>>2]&127](p)|0)==-1:0){c[g>>2]=0;B=67;break}if(!l)B=68}else B=67;while(0);if((B|0)==67?l:0)B=68;if((B|0)==68)c[j>>2]=c[j>>2]|2;i=C;return n|0}function Sp(a){a=a|0;return}function Tp(a){a=a|0;cj(a);return}function Up(a){a=a|0;return 2}function Vp(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Rp(a,k,j,e,f,g,58907,58915)|0;i=h;return a|0}function Wp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;o=b+8|0;o=Eb[c[(c[o>>2]|0)+20>>2]&127](o)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];e=a[o>>0]|0;p=(e&1)==0;d=p?o+1|0:c[o+8>>2]|0;e=d+(p?(e&255)>>>1:c[o+4>>2]|0)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=Rp(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function Xp(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,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];Yp(a,g+24|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function Yp(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,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[c[a>>2]>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(xu(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function Zp(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,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];_p(a,g+16|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function _p(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,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(xu(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function $p(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,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];aq(a,g+20|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function aq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function bq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;U=i;i=i+144|0;l=U+132|0;k=U+116|0;N=U+128|0;x=U+124|0;I=U+120|0;O=U+112|0;P=U+108|0;Q=U+104|0;R=U+100|0;S=U+96|0;T=U+92|0;m=U+88|0;n=U+84|0;p=U+80|0;q=U+76|0;r=U+72|0;s=U+68|0;t=U+64|0;u=U+60|0;v=U+56|0;w=U+52|0;y=U+48|0;z=U+44|0;A=U+40|0;B=U+36|0;C=U+32|0;D=U+28|0;E=U+24|0;F=U+20|0;G=U+16|0;H=U+12|0;J=U+8|0;K=U+4|0;L=U;c[g>>2]=0;M=jn(f)|0;c[N>>2]=M;o=0;N=ra(37,N|0,44220)|0;W=o;o=0;if(W&1){W=Na()|0;pm(M)|0;Ya(W|0)}pm(M)|0;do switch(j<<24>>24|0){case 65:case 97:{c[x>>2]=c[e>>2];c[l>>2]=c[x>>2];Yp(b,h+24|0,d,l,g,N);V=28;break}case 104:case 66:case 98:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];_p(b,h+16|0,d,l,g,N);V=28;break}case 99:{V=b+8|0;V=Eb[c[(c[V>>2]|0)+12>>2]&127](V)|0;c[O>>2]=c[d>>2];c[P>>2]=c[e>>2];j=a[V>>0]|0;e=(j&1)==0;W=e?V+1|0:c[V+8>>2]|0;V=W+(e?(j&255)>>>1:c[V+4>>2]|0)|0;c[k>>2]=c[O>>2];c[l>>2]=c[P>>2];c[d>>2]=Rp(b,k,l,f,g,h,W,V)|0;V=28;break}case 101:case 100:{c[Q>>2]=c[e>>2];c[l>>2]=c[Q>>2];cq(b,h+12|0,d,l,g,N);V=28;break}case 68:{c[R>>2]=c[d>>2];c[S>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[S>>2];c[d>>2]=Rp(b,k,l,f,g,h,58915,58923)|0;V=28;break}case 70:{c[T>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[T>>2];c[l>>2]=c[m>>2];c[d>>2]=Rp(b,k,l,f,g,h,58923,58931)|0;V=28;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];dq(b,h+8|0,d,l,g,N);V=28;break}case 73:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];eq(b,h+8|0,d,l,g,N);V=28;break}case 106:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];fq(b,h+28|0,d,l,g,N);V=28;break}case 109:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];gq(b,h+16|0,d,l,g,N);V=28;break}case 77:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];hq(b,h+4|0,d,l,g,N);V=28;break}case 116:case 110:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];iq(b,d,l,g,N);V=28;break}case 112:{c[u>>2]=c[e>>2];c[l>>2]=c[u>>2];jq(b,h+8|0,d,l,g,N);V=28;break}case 114:{c[v>>2]=c[d>>2];c[w>>2]=c[e>>2];c[k>>2]=c[v>>2];c[l>>2]=c[w>>2];c[d>>2]=Rp(b,k,l,f,g,h,58931,58942)|0;V=28;break}case 82:{c[y>>2]=c[d>>2];c[z>>2]=c[e>>2];c[k>>2]=c[y>>2];c[l>>2]=c[z>>2];c[d>>2]=Rp(b,k,l,f,g,h,58942,58947)|0;V=28;break}case 83:{c[A>>2]=c[e>>2];c[l>>2]=c[A>>2];kq(b,h,d,l,g,N);V=28;break}case 84:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[k>>2]=c[B>>2];c[l>>2]=c[C>>2];c[d>>2]=Rp(b,k,l,f,g,h,58947,58955)|0;V=28;break}case 119:{c[D>>2]=c[e>>2];c[l>>2]=c[D>>2];lq(b,h+24|0,d,l,g,N);V=28;break}case 120:{W=c[(c[b>>2]|0)+20>>2]|0;c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[k>>2]=c[E>>2];c[l>>2]=c[F>>2];k=Db[W&63](b,k,l,f,g,h)|0;break}case 88:{V=b+8|0;V=Eb[c[(c[V>>2]|0)+24>>2]&127](V)|0;c[G>>2]=c[d>>2];c[H>>2]=c[e>>2];j=a[V>>0]|0;e=(j&1)==0;W=e?V+1|0:c[V+8>>2]|0;V=W+(e?(j&255)>>>1:c[V+4>>2]|0)|0;c[k>>2]=c[G>>2];c[l>>2]=c[H>>2];c[d>>2]=Rp(b,k,l,f,g,h,W,V)|0;V=28;break}case 121:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];aq(b,h+20|0,d,l,g,N);V=28;break}case 89:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];mq(b,h+20|0,d,l,g,N);V=28;break}case 37:{c[L>>2]=c[e>>2];c[l>>2]=c[L>>2];nq(b,d,l,g,N);V=28;break}default:{c[g>>2]=c[g>>2]|4;V=28}}while(0);if((V|0)==28)k=c[d>>2]|0;i=U;return k|0}function cq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function dq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function eq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function fq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function gq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function hq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function iq(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){h=c[e>>2]|0;do if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0;while(0);h=(h|0)==0;a=c[f>>2]|0;do if(a){if((c[a+12>>2]|0)!=(c[a+16>>2]|0))if(h)break;else break a;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)!=-1)if(h)break;else break a;else{c[f>>2]=0;k=12;break}}else k=12;while(0);if((k|0)==12){k=0;if(h){a=0;break}else a=0}h=c[e>>2]|0;i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=d[i>>0]|0;if((h&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(h<<24>>24<<1)>>1]&8192))break;h=c[e>>2]|0;a=h+12|0;i=c[a>>2]|0;if((i|0)==(c[h+16>>2]|0)){Eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;continue}else{c[a>>2]=i+1;continue}}h=c[e>>2]|0;do if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0;while(0);h=(h|0)==0;do if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1:0){c[f>>2]=0;k=32;break}if(!h)k=33}else k=32;while(0);if((k|0)==32?h:0)k=33;if((k|0)==33)c[g>>2]=c[g>>2]|2;return}function jq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=Eb[c[(c[m>>2]|0)+8>>2]&127](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=xu(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4;while(0);i=n;return}function kq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function lq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function mq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function nq(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a=c[b>>2]|0;do if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}}else a=0;while(0);h=(a|0)==0;a=c[e>>2]|0;do if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1:0){c[e>>2]=0;j=11;break}if(h){i=a;j=13}else j=12}else j=11;while(0);if((j|0)==11)if(h)j=12;else{i=0;j=13}a:do if((j|0)==12)c[f>>2]=c[f>>2]|6;else if((j|0)==13){a=c[b>>2]|0;h=c[a+12>>2]|0;if((h|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=d[h>>0]|0;if((Gb[c[(c[g>>2]|0)+36>>2]&63](g,a&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}a=c[b>>2]|0;h=a+12|0;g=c[h>>2]|0;if((g|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;a=c[b>>2]|0;if(!a)a=0;else j=21}else{c[h>>2]=g+1;j=21}do if((j|0)==21)if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}while(0);a=(a|0)==0;do if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1:0){c[e>>2]=0;j=30;break}if(a)break a}else j=30;while(0);if((j|0)==30?!a:0)break;c[f>>2]=c[f>>2]|2}while(0);return}function oq(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+32|0;s=x+16|0;r=x+12|0;v=x+8|0;t=x+4|0;u=x;k=jn(e)|0;c[v>>2]=k;o=0;v=ra(37,v|0,44212)|0;q=o;o=0;if(q&1){x=Na()|0;pm(k)|0;Ya(x|0)}pm(k)|0;c[f>>2]=0;k=c[b>>2]|0;a:do if((h|0)!=(j|0)){b:while(1){m=k;if(k){l=c[k+12>>2]|0;if((l|0)==(c[k+16>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;if((l|0)==-1){c[b>>2]=0;k=0;p=1;q=0}else{p=0;q=m}}else{k=0;p=1;q=m}n=c[d>>2]|0;l=n;do if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0))m=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(p)break;else{w=17;break b}else{c[d>>2]=0;l=0;w=15;break}}else w=15;while(0);if((w|0)==15){w=0;if(p){w=17;break}else n=0}c:do if((Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[h>>2]|0,0)|0)<<24>>24==37){m=h+4|0;if((m|0)==(j|0)){w=21;break b}p=Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[m>>2]|0,0)|0;switch(p<<24>>24){case 48:case 69:{n=h+8|0;if((n|0)==(j|0)){w=24;break b}h=m;m=Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[n>>2]|0,0)|0;k=p;break}default:{m=p;k=0}}p=c[(c[a>>2]|0)+36>>2]|0;c[t>>2]=q;c[u>>2]=l;c[r>>2]=c[t>>2];c[s>>2]=c[u>>2];c[b>>2]=Sb[p&15](a,r,s,e,f,g,m,k)|0;h=h+8|0}else{if(!(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,c[h>>2]|0)|0)){m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;q=Lb[c[(c[v>>2]|0)+28>>2]&63](v,l)|0;if((q|0)!=(Lb[c[(c[v>>2]|0)+28>>2]&63](v,c[h>>2]|0)|0)){w=61;break b}l=c[m>>2]|0;if((l|0)==(c[n>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else c[m>>2]=l+4;h=h+4|0;break}do{h=h+4|0;if((h|0)==(j|0)){h=j;break}}while(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,c[h>>2]|0)|0);l=n;p=n;while(1){if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))m=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else m=c[m>>2]|0;if((m|0)==-1){c[b>>2]=0;n=1;k=0}else n=0}else{n=1;k=0}do if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))m=Eb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(n^(l|0)==0){q=l;p=l;break}else break c;else{c[d>>2]=0;l=0;w=44;break}}else w=44;while(0);if((w|0)==44){w=0;if(n)break c;else{q=l;p=0}}m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;if(!(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,l)|0))break c;l=c[m>>2]|0;if((l|0)==(c[n>>2]|0)){Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;l=q;continue}else{c[m>>2]=l+4;l=q;continue}}}while(0);k=c[b>>2]|0;if(!((h|0)!=(j|0)&(c[f>>2]|0)==0))break a}if((w|0)==17){c[f>>2]=4;break}else if((w|0)==21){c[f>>2]=4;break}else if((w|0)==24){c[f>>2]=4;break}else if((w|0)==61){c[f>>2]=4;k=c[b>>2]|0;break}}while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}h=c[d>>2]|0;do if(h){l=c[h+12>>2]|0;if((l|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=c[l>>2]|0;if((h|0)!=-1)if(m)break;else{w=76;break}else{c[d>>2]=0;w=74;break}}else w=74;while(0);if((w|0)==74?m:0)w=76;if((w|0)==76)c[f>>2]=c[f>>2]|2;i=x;return k|0}function pq(a){a=a|0;return}function qq(a){a=a|0;cj(a);return}function rq(a){a=a|0;return 2}function sq(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=oq(a,k,j,e,f,g,44788,44820)|0;i=h;return a|0}function tq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;q=b+8|0;q=Eb[c[(c[q>>2]|0)+20>>2]&127](q)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];o=a[q>>0]|0;p=(o&1)==0;e=q+4|0;d=p?e:c[q+8>>2]|0;e=d+((p?(o&255)>>>1:c[e>>2]|0)<<2)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=oq(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function uq(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,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];vq(a,g+24|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function vq(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,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[c[a>>2]>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Iu(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function wq(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,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];xq(a,g+16|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function xq(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,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Iu(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function yq(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,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];zq(a,g+20|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function zq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function Aq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;U=i;i=i+144|0;l=U+132|0;k=U+116|0;N=U+128|0;x=U+124|0;I=U+120|0;O=U+112|0;P=U+108|0;Q=U+104|0;R=U+100|0;S=U+96|0;T=U+92|0;m=U+88|0;n=U+84|0;p=U+80|0;q=U+76|0;r=U+72|0;s=U+68|0;t=U+64|0;u=U+60|0;v=U+56|0;w=U+52|0;y=U+48|0;z=U+44|0;A=U+40|0;B=U+36|0;C=U+32|0;D=U+28|0;E=U+24|0;F=U+20|0;G=U+16|0;H=U+12|0;J=U+8|0;K=U+4|0;L=U;c[g>>2]=0;M=jn(f)|0;c[N>>2]=M;o=0;N=ra(37,N|0,44212)|0;W=o;o=0;if(W&1){W=Na()|0;pm(M)|0;Ya(W|0)}pm(M)|0;do switch(j<<24>>24|0){case 65:case 97:{c[x>>2]=c[e>>2];c[l>>2]=c[x>>2];vq(b,h+24|0,d,l,g,N);V=28;break}case 104:case 66:case 98:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];xq(b,h+16|0,d,l,g,N);V=28;break}case 99:{W=b+8|0;W=Eb[c[(c[W>>2]|0)+12>>2]&127](W)|0;c[O>>2]=c[d>>2];c[P>>2]=c[e>>2];j=a[W>>0]|0;e=(j&1)==0;V=W+4|0;W=e?V:c[W+8>>2]|0;V=W+((e?(j&255)>>>1:c[V>>2]|0)<<2)|0;c[k>>2]=c[O>>2];c[l>>2]=c[P>>2];c[d>>2]=oq(b,k,l,f,g,h,W,V)|0;V=28;break}case 101:case 100:{c[Q>>2]=c[e>>2];c[l>>2]=c[Q>>2];Bq(b,h+12|0,d,l,g,N);V=28;break}case 68:{c[R>>2]=c[d>>2];c[S>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[S>>2];c[d>>2]=oq(b,k,l,f,g,h,44820,44852)|0;V=28;break}case 70:{c[T>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[T>>2];c[l>>2]=c[m>>2];c[d>>2]=oq(b,k,l,f,g,h,44852,44884)|0;V=28;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];Cq(b,h+8|0,d,l,g,N);V=28;break}case 73:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];Dq(b,h+8|0,d,l,g,N);V=28;break}case 106:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];Eq(b,h+28|0,d,l,g,N);V=28;break}case 109:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];Fq(b,h+16|0,d,l,g,N);V=28;break}case 77:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];Gq(b,h+4|0,d,l,g,N);V=28;break}case 116:case 110:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];Hq(b,d,l,g,N);V=28;break}case 112:{c[u>>2]=c[e>>2];c[l>>2]=c[u>>2];Iq(b,h+8|0,d,l,g,N);V=28;break}case 114:{c[v>>2]=c[d>>2];c[w>>2]=c[e>>2];c[k>>2]=c[v>>2];c[l>>2]=c[w>>2];c[d>>2]=oq(b,k,l,f,g,h,44884,44928)|0;V=28;break}case 82:{c[y>>2]=c[d>>2];c[z>>2]=c[e>>2];c[k>>2]=c[y>>2];c[l>>2]=c[z>>2];c[d>>2]=oq(b,k,l,f,g,h,44928,44948)|0;V=28;break}case 83:{c[A>>2]=c[e>>2];c[l>>2]=c[A>>2];Jq(b,h,d,l,g,N);V=28;break}case 84:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[k>>2]=c[B>>2];c[l>>2]=c[C>>2];c[d>>2]=oq(b,k,l,f,g,h,44948,44980)|0;V=28;break}case 119:{c[D>>2]=c[e>>2];c[l>>2]=c[D>>2];Kq(b,h+24|0,d,l,g,N);V=28;break}case 120:{W=c[(c[b>>2]|0)+20>>2]|0;c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[k>>2]=c[E>>2];c[l>>2]=c[F>>2];k=Db[W&63](b,k,l,f,g,h)|0;break}case 88:{W=b+8|0;W=Eb[c[(c[W>>2]|0)+24>>2]&127](W)|0;c[G>>2]=c[d>>2];c[H>>2]=c[e>>2];j=a[W>>0]|0;e=(j&1)==0;V=W+4|0;W=e?V:c[W+8>>2]|0;V=W+((e?(j&255)>>>1:c[V>>2]|0)<<2)|0;c[k>>2]=c[G>>2];c[l>>2]=c[H>>2];c[d>>2]=oq(b,k,l,f,g,h,W,V)|0;V=28;break}case 121:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];zq(b,h+20|0,d,l,g,N);V=28;break}case 89:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];Lq(b,h+20|0,d,l,g,N);V=28;break}case 37:{c[L>>2]=c[e>>2];c[l>>2]=c[L>>2];Mq(b,d,l,g,N);V=28;break}default:{c[g>>2]=c[g>>2]|4;V=28}}while(0);if((V|0)==28)k=c[d>>2]|0;i=U;return k|0}function Bq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Cq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Dq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Eq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Fq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function Gq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Hq(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;a:while(1){a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15;while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if(!(Gb[c[(c[f>>2]|0)+12>>2]&63](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;continue}else{c[g>>2]=h+4;continue}}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break;else{i=39;break}else{c[d>>2]=0;i=37;break}}else i=37;while(0);if((i|0)==37?g:0)i=39;if((i|0)==39)c[e>>2]=c[e>>2]|2;return}function Iq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=Eb[c[(c[m>>2]|0)+8>>2]&127](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=Iu(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4;while(0);i=n;return}function Jq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Kq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Lq(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,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function Mq(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;a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14;while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((Gb[c[(c[f>>2]|0)+52>>2]&63](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;a=c[b>>2]|0;if(!a)g=1;else j=25}else{c[g>>2]=h+4;j=25}do if((j|0)==25){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}while(0);do if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break a;else break;else{c[d>>2]=0;j=37;break}}else j=37;while(0);if((j|0)==37?!g:0)break;c[e>>2]=c[e>>2]|2}while(0);return}function Nq(a){a=a|0;Oq(a+8|0);return}function Oq(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;o=0;d=ua(3)|0;e=o;o=0;do if(!(e&1)){if((b|0)!=(d|0)?(o=0,ha(188,c[a>>2]|0),e=o,o=0,e&1):0)break;return}while(0);e=Na(0)|0;ec(e)}function Pq(a){a=a|0;Oq(a+8|0);cj(a);return}function Qq(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;l=i;i=i+112|0;k=l+4|0;e=l;c[e>>2]=k+100;Rq(b+8|0,k,e,g,h,j);g=c[e>>2]|0;e=c[d>>2]|0;if((k|0)!=(g|0))do{j=a[k>>0]|0;do if(e){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){d=(Lb[c[(c[e>>2]|0)+52>>2]&63](e,j&255)|0)==-1;e=d?0:e;break}else{c[f>>2]=h+1;a[h>>0]=j;break}}else e=0;while(0);k=k+1|0}while((k|0)!=(g|0));i=l;return e|0}function Rq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;a[l>>0]=37;j=l+1|0;a[j>>0]=g;k=l+2|0;a[k>>0]=h;a[l+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}c[e>>2]=d+(Ra(d|0,(c[e>>2]|0)-d|0,l|0,f|0,c[b>>2]|0)|0);i=m;return}function Sq(a){a=a|0;Oq(a+8|0);return}function Tq(a){a=a|0;Oq(a+8|0);cj(a);return}function Uq(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0;j=i;i=i+416|0;e=j+8|0;d=j;c[d>>2]=e+400;Vq(a+8|0,e,d,f,g,h);a=c[d>>2]|0;d=c[b>>2]|0;if((e|0)!=(a|0)){f=e;do{e=c[f>>2]|0;if(!d)d=0;else{g=d+24|0;h=c[g>>2]|0;if((h|0)==(c[d+28>>2]|0))e=Lb[c[(c[d>>2]|0)+52>>2]&63](d,e)|0;else{c[g>>2]=h+4;c[h>>2]=e}d=(e|0)==-1?0:d}f=f+4|0}while((f|0)!=(a|0))}i=j;return d|0}function Vq(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,j=0,k=0,l=0,m=0;h=i;i=i+128|0;l=h+16|0;m=h+12|0;j=h;k=h+8|0;c[m>>2]=l+100;Rq(a,l,m,e,f,g);f=j;c[f>>2]=0;c[f+4>>2]=0;c[k>>2]=l;f=(c[d>>2]|0)-b>>2;g=qk(c[a>>2]|0)|0;o=0;f=va(18,b|0,k|0,f|0,j|0)|0;a=o;o=0;if(a&1){f=Na()|0;if((g|0)!=0?(o=0,ka(75,g|0)|0,m=o,o=0,m&1):0){m=Na(0)|0;ec(m)}Ya(f|0)}if((g|0)!=0?(o=0,ka(75,g|0)|0,m=o,o=0,m&1):0){m=Na(0)|0;ec(m)}if((f|0)==-1)Rr(58955);else{c[d>>2]=b+(f<<2);i=h;return}}function Wq(a){a=a|0;return}function Xq(a){a=a|0;cj(a);return}function Yq(a){a=a|0;return 127}function Zq(a){a=a|0;return 127}function _q(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function $q(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function ar(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function br(a,b){a=a|0;b=b|0;Hm(a,1,45);return}function cr(a){a=a|0;return 0}function dr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function er(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function fr(a){a=a|0;return}function gr(a){a=a|0;cj(a);return}function hr(a){a=a|0;return 127}function ir(a){a=a|0;return 127}function jr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function kr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function lr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function mr(a,b){a=a|0;b=b|0;Hm(a,1,45);return}function nr(a){a=a|0;return 0}function or(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function pr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function qr(a){a=a|0;return}function rr(a){a=a|0;cj(a);return}function sr(a){a=a|0;return 2147483647}function tr(a){a=a|0;return 2147483647}function ur(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function vr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function wr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function xr(a,b){a=a|0;b=b|0;Vm(a,1,45);return}function yr(a){a=a|0;return 0}function zr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Ar(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Br(a){a=a|0;return}function Cr(a){a=a|0;cj(a);return}function Dr(a){a=a|0;return 2147483647}function Er(a){a=a|0;return 2147483647}function Fr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Gr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Hr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Ir(a,b){a=a|0;b=b|0;Vm(a,1,45);return}function Jr(a){a=a|0;return 0}function Kr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Lr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Mr(a){a=a|0;return}function Nr(a){a=a|0;cj(a);return}function Or(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;B=i;i=i+240|0;z=B+24|0;A=B;b=B+136|0;D=B+16|0;y=B+12|0;C=B+8|0;p=B+134|0;l=B+4|0;x=B+124|0;c[D>>2]=b;E=D+4|0;c[E>>2]=189;m=b+100|0;o=0;k=ka(68,g|0)|0;w=o;o=0;if(!(w&1)){c[C>>2]=k;o=0;b=ra(37,C|0,44220)|0;w=o;o=0;a:do if(!(w&1)?(a[p>>0]=0,c[l>>2]=c[e>>2],n=c[g+4>>2]|0,o=0,c[z>>2]=c[l>>2],n=la(1,d|0,z|0,f|0,C|0,n|0,h|0,p|0,b|0,D|0,y|0,m|0)|0,w=o,o=0,!(w&1)):0){b:do if(n){o=0;va(c[(c[b>>2]|0)+32>>2]|0,b|0,58976,58986,x|0)|0;w=o;o=0;if(w&1){G=10;break a}l=c[y>>2]|0;m=c[D>>2]|0;b=l-m|0;if((b|0)>98){b=Fl(b+2|0)|0;k=b;if(!b){o=0;xa(6);w=o;o=0;if(!(w&1)){b=0;G=13}}else G=13}else{k=0;b=z;G=13}do if((G|0)==13){if(a[p>>0]|0){a[b>>0]=45;b=b+1|0}v=x+10|0;w=x;if(m>>>0>>0){n=x+1|0;f=n+1|0;g=f+1|0;p=g+1|0;q=p+1|0;r=q+1|0;s=r+1|0;t=s+1|0;u=t+1|0;do{l=a[m>>0]|0;do if((a[x>>0]|0)!=l<<24>>24)if((a[n>>0]|0)!=l<<24>>24)if((a[f>>0]|0)!=l<<24>>24)if((a[g>>0]|0)!=l<<24>>24)if((a[p>>0]|0)==l<<24>>24)l=p;else{if((a[q>>0]|0)==l<<24>>24){l=q;break}if((a[r>>0]|0)==l<<24>>24){l=r;break}if((a[s>>0]|0)==l<<24>>24){l=s;break}if((a[t>>0]|0)==l<<24>>24){l=t;break}l=(a[u>>0]|0)==l<<24>>24?u:v}else l=g;else l=f;else l=n;else l=x;while(0);a[b>>0]=a[58976+(l-w)>>0]|0;m=m+1|0;b=b+1|0}while(m>>>0<(c[y>>2]|0)>>>0)}a[b>>0]=0;c[A>>2]=j;if(($k(z,58987,A)|0)!=1?(o=0,ha(190,58991),j=o,o=0,j&1):0)break;if(k)Gl(k);break b}while(0);b=Na()|0;if(!k){l=b;k=D;break a}Gl(k);l=b;k=D;break a}while(0);b=c[d>>2]|0;do if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}if((b|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}}else b=0;while(0);k=(b|0)==0;b=c[e>>2]|0;do if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}if((b|0)==-1){c[e>>2]=0;G=37;break}}if(!k)G=38}else G=37;while(0);if((G|0)==37?k:0)G=38;if((G|0)==38)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(c[C>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if((b|0)!=0?(o=0,ha(c[E>>2]|0,b|0),G=o,o=0,G&1):0){G=Na(0)|0;ec(G)}i=B;return k|0}else G=10;while(0);if((G|0)==10){l=Na()|0;k=D}pm(c[C>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=0;if(!b)F=l;else{k=c[E>>2]|0;G=45}}else{l=Na()|0;c[D>>2]=0;k=189;G=45}if((G|0)==45){o=0;ha(k|0,b|0);G=o;o=0;if(G&1){G=Na(0)|0;ec(G)}else F=l}Ya(F|0);return 0}function Pr(a){a=a|0;return}function Qr(e,f,g,h,j,k,l,m,n,p,q){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;ba=i;i=i+512|0;P=ba+88|0;u=ba+96|0;da=ba+80|0;T=ba+72|0;S=ba+68|0;U=ba+500|0;Q=ba+497|0;V=ba+496|0;Y=ba+56|0;aa=ba+44|0;_=ba+32|0;Z=ba+20|0;$=ba+8|0;R=ba+4|0;X=ba;c[P>>2]=q;c[da>>2]=u;ca=da+4|0;c[ca>>2]=189;c[T>>2]=u;c[S>>2]=u+400;c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;o=0;qa(1,g|0,h|0,U|0,Q|0,V|0,Y|0,aa|0,_|0,Z|0,R|0);O=o;o=0;a:do if(O&1)m=Na()|0;else{c[p>>2]=c[n>>2];I=m+8|0;J=_+4|0;K=Z+4|0;L=Z+8|0;M=Z+1|0;N=_+8|0;O=_+1|0;z=(j&512|0)!=0;A=aa+8|0;B=aa+1|0;C=aa+4|0;D=$+4|0;E=$+8|0;F=$+1|0;G=U+3|0;H=Y+4|0;y=0;t=0;b:while(1){q=c[e>>2]|0;do if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0;while(0);q=(q|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(q){x=m;break}else{W=235;break b}o=0;g=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=24;break b}if((g|0)!=-1)if(q){x=m;break}else{W=235;break b}else{c[f>>2]=0;W=15;break}}else W=15;while(0);if((W|0)==15){W=0;if(q){W=235;break}else x=0}c:do switch(a[U+y>>0]|0){case 1:{if((y|0)!=3){q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=24;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24<=-1){W=40;break b}if(!(b[(c[I>>2]|0)+(q<<24>>24<<1)>>1]&8192)){W=40;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=24;break b}}else{c[m>>2]=g+1;q=d[g>>0]|0}o=0;ia(67,$|0,q&255|0);W=o;o=0;if(W&1){W=24;break b}else{q=x;h=x;W=42}}break}case 0:{if((y|0)!=3){q=x;h=x;W=42}break}case 3:{m=a[_>>0]|0;q=(m&1)==0?(m&255)>>>1:c[J>>2]|0;g=a[Z>>0]|0;h=(g&1)==0?(g&255)>>>1:c[K>>2]|0;if((q|0)!=(0-h|0)){if(!q){q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}m=a[Z>>0]|0}else{q=d[m>>0]|0;m=g}if((q&255)<<24>>24!=(a[((m&1)==0?M:c[L>>2]|0)>>0]|0))break c;q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;a[l>>0]=1;x=a[Z>>0]|0;t=((x&1)==0?(x&255)>>>1:c[K>>2]|0)>>>0>1?Z:t;break c}j=c[e>>2]|0;r=c[j+12>>2]|0;g=c[j+16>>2]|0;q=(r|0)==(g|0);if(!h){if(q){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}m=a[_>>0]|0}else q=d[r>>0]|0;if((q&255)<<24>>24!=(a[((m&1)==0?O:c[N>>2]|0)>>0]|0)){a[l>>0]=1;break c}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;x=a[_>>0]|0;t=((x&1)==0?(x&255)>>>1:c[J>>2]|0)>>>0>1?_:t;break c}if(q){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}g=c[e>>2]|0;m=a[_>>0]|0;j=g;r=c[g+12>>2]|0;g=c[g+16>>2]|0}else q=d[r>>0]|0;h=j+12|0;g=(r|0)==(g|0);if((q&255)<<24>>24==(a[((m&1)==0?O:c[N>>2]|0)>>0]|0)){if(g){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[h>>2]=r+1;x=a[_>>0]|0;t=((x&1)==0?(x&255)>>>1:c[J>>2]|0)>>>0>1?_:t;break c}if(g){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}}else q=d[r>>0]|0;if((q&255)<<24>>24!=(a[((a[Z>>0]&1)==0?M:c[L>>2]|0)>>0]|0)){W=104;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;a[l>>0]=1;x=a[Z>>0]|0;t=((x&1)==0?(x&255)>>>1:c[K>>2]|0)>>>0>1?Z:t}break}case 2:{if(!(y>>>0<2|(t|0)!=0)?!(z|(y|0)==2&(a[G>>0]|0)!=0):0){t=0;break c}v=a[aa>>0]|0;q=(v&1)==0;w=c[A>>2]|0;g=q?B:w;s=g;d:do if((y|0)!=0?(d[U+(y+-1)>>0]|0)<2:0){r=q?(v&255)>>>1:c[C>>2]|0;h=g+r|0;j=c[I>>2]|0;e:do if(!r)m=s;else{r=g;m=s;do{q=a[r>>0]|0;if(q<<24>>24<=-1)break e;if(!(b[j+(q<<24>>24<<1)>>1]&8192))break e;r=r+1|0;m=r}while((r|0)!=(h|0))}while(0);h=m-s|0;j=a[$>>0]|0;q=(j&1)==0;j=q?(j&255)>>>1:c[D>>2]|0;if(j>>>0>=h>>>0){q=q?F:c[E>>2]|0;r=q+j|0;if((m|0)!=(s|0)){q=q+(j-h)|0;while(1){if((a[q>>0]|0)!=(a[g>>0]|0)){m=s;break d}q=q+1|0;if((q|0)==(r|0))break;else g=g+1|0}}}else m=s}else m=s;while(0);q=(v&1)==0;q=(q?B:w)+(q?(v&255)>>>1:c[C>>2]|0)|0;f:do if((m|0)!=(q|0)){j=x;h=x;q=m;while(1){m=c[e>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=21;break b}if((m|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}}else m=0;while(0);g=(m|0)==0;do if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){m=j;r=h;break}else break f;o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=21;break b}if((m|0)!=-1)if(g^(j|0)==0){m=j;r=j;break}else break f;else{c[f>>2]=0;m=0;W=131;break}}else{m=j;W=131}while(0);if((W|0)==131){W=0;if(g)break f;else r=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=21;break b}}else g=d[h>>0]|0;if((g&255)<<24>>24!=(a[q>>0]|0))break f;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=21;break b}}else c[h>>2]=j+1;q=q+1|0;g=a[aa>>0]|0;x=(g&1)==0;g=(x?B:c[A>>2]|0)+(x?(g&255)>>>1:c[C>>2]|0)|0;if((q|0)==(g|0)){q=g;break}else{j=m;h=r}}}while(0);if(z?(x=a[aa>>0]|0,w=(x&1)==0,(q|0)!=((w?B:c[A>>2]|0)+(w?(x&255)>>>1:c[C>>2]|0)|0)):0){W=143;break b}break}case 4:{s=a[V>>0]|0;m=x;j=x;q=0;g:while(1){g=c[e>>2]|0;do if(g){if((c[g+12>>2]|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=23;break b}if((g|0)==-1){c[e>>2]=0;g=0;break}else{g=c[e>>2]|0;break}}}else g=0;while(0);h=(g|0)==0;do if(j){if((c[j+12>>2]|0)!=(c[j+16>>2]|0))if(h){r=m;break}else{h=m;break g}o=0;g=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=23;break b}if((g|0)!=-1)if(h^(m|0)==0){r=m;j=m;break}else{h=m;break g}else{c[f>>2]=0;m=0;W=156;break}}else W=156;while(0);if((W|0)==156){W=0;if(h){h=m;break}else{r=m;j=0}}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=23;break b}}else m=d[g>>0]|0;g=m&255;if(g<<24>>24>-1?(b[(c[I>>2]|0)+(m<<24>>24<<1)>>1]&2048)!=0:0){m=c[p>>2]|0;if((m|0)==(c[P>>2]|0)){o=0;wa(12,n|0,p|0,P|0);x=o;o=0;if(x&1){W=23;break b}m=c[p>>2]|0}c[p>>2]=m+1;a[m>>0]=g;q=q+1|0}else{x=a[Y>>0]|0;if(!(g<<24>>24==s<<24>>24&((q|0)!=0?(((x&1)==0?(x&255)>>>1:c[H>>2]|0)|0)!=0:0))){h=r;break}if((u|0)==(c[S>>2]|0)){o=0;wa(13,da|0,T|0,S|0);x=o;o=0;if(x&1){W=23;break b}u=c[T>>2]|0}x=u+4|0;c[T>>2]=x;c[u>>2]=q;u=x;q=0}m=c[e>>2]|0;g=m+12|0;h=c[g>>2]|0;if((h|0)==(c[m+16>>2]|0)){o=0;ka(c[(c[m>>2]|0)+40>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=23;break b}else{m=r;continue}}else{c[g>>2]=h+1;m=r;continue}}if((q|0)!=0?(c[da>>2]|0)!=(u|0):0){if((u|0)==(c[S>>2]|0)){o=0;wa(13,da|0,T|0,S|0);x=o;o=0;if(x&1){W=24;break b}u=c[T>>2]|0}x=u+4|0;c[T>>2]=x;c[u>>2]=q;u=x}r=c[R>>2]|0;if((r|0)>0){q=c[e>>2]|0;do if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0;while(0);q=(q|0)==0;do if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0)){o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=24;break b}if((m|0)==-1){c[f>>2]=0;W=193;break}}if(!q){W=198;break b}}else W=193;while(0);if((W|0)==193){W=0;if(q){W=198;break b}else h=0}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24!=(a[Q>>0]|0)){W=198;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;if((r|0)>0){j=h;g=h;s=r;while(1){q=c[e>>2]|0;do if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=22;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0;while(0);m=(q|0)==0;do if(g){if((c[g+12>>2]|0)!=(c[g+16>>2]|0))if(m){q=j;r=g;break}else{W=222;break b}o=0;q=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=22;break b}if((q|0)!=-1)if(m^(j|0)==0){q=j;r=j;break}else{W=222;break b}else{c[f>>2]=0;q=0;W=215;break}}else{q=j;W=215}while(0);if((W|0)==215){W=0;if(m){W=222;break b}else r=0}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=22;break b}}else m=d[g>>0]|0;if((m&255)<<24>>24<=-1){W=222;break b}if(!(b[(c[I>>2]|0)+(m<<24>>24<<1)>>1]&2048)){W=222;break b}if((c[p>>2]|0)==(c[P>>2]|0)?(o=0,wa(12,n|0,p|0,P|0),x=o,o=0,x&1):0){W=22;break b}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=22;break b}}else m=d[g>>0]|0;g=c[p>>2]|0;c[p>>2]=g+1;a[g>>0]=m;m=s;s=s+-1|0;c[R>>2]=s;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=22;break b}}else c[h>>2]=j+1;if((m|0)<=1)break;else{j=q;g=r}}}}if((c[p>>2]|0)==(c[n>>2]|0)){W=233;break b}break}default:{}}while(0);h:do if((W|0)==42)while(1){W=0;m=c[e>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=20;break b}if((m|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}}else m=0;while(0);g=(m|0)==0;do if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){j=q;break}else break h;o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=20;break b}if((m|0)!=-1)if(g^(q|0)==0){j=q;h=q;break}else break h;else{c[f>>2]=0;q=0;W=54;break}}else W=54;while(0);if((W|0)==54){W=0;if(g)break h;else{j=q;h=0}}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=20;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24<=-1)break h;if(!(b[(c[I>>2]|0)+(q<<24>>24<<1)>>1]&8192))break h;q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=20;break b}}else{c[m>>2]=g+1;q=d[g>>0]|0}o=0;ia(67,$|0,q&255|0);W=o;o=0;if(W&1){W=20;break b}else{q=j;W=42}}while(0);y=y+1|0;if(y>>>0>=4){W=235;break}}i:switch(W|0){case 20:{m=Na()|0;break a}case 21:{m=Na()|0;break a}case 22:{m=Na()|0;break a}case 23:{m=Na()|0;break a}case 24:{m=Na()|0;break a}case 40:{c[k>>2]=c[k>>2]|4;m=0;break}case 104:{c[k>>2]=c[k>>2]|4;m=0;break}case 143:{c[k>>2]=c[k>>2]|4;m=0;break}case 198:{c[k>>2]=c[k>>2]|4;m=0;break}case 222:{c[k>>2]=c[k>>2]|4;m=0;break}case 233:{c[k>>2]=c[k>>2]|4;m=0;break}case 235:{j:do if(t){j=t+1|0;r=t+8|0;s=t+4|0;g=1;k:while(1){q=a[t>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[s>>2]|0;if(g>>>0>=q>>>0)break j;q=c[e>>2]|0;do if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break k}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0;while(0);m=(q|0)==0;q=c[f>>2]|0;do if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break k}if((q|0)==-1){c[f>>2]=0;W=253;break}}if(!m){W=260;break k}}else W=253;while(0);if((W|0)==253?(W=0,m):0){W=260;break}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break}}else q=d[m>>0]|0;if(!(a[t>>0]&1))m=j;else m=c[r>>2]|0;if((q&255)<<24>>24!=(a[m+g>>0]|0)){W=260;break}q=g+1|0;m=c[e>>2]|0;g=m+12|0;h=c[g>>2]|0;if((h|0)==(c[m+16>>2]|0)){o=0;ka(c[(c[m>>2]|0)+40>>2]|0,m|0)|0;p=o;o=0;if(p&1){W=19;break}else{g=q;continue}}else{c[g>>2]=h+1;g=q;continue}}if((W|0)==19){m=Na()|0;break a}else if((W|0)==260){c[k>>2]=c[k>>2]|4;m=0;break i}}while(0);q=c[da>>2]|0;if((q|0)!=(u|0)?(c[X>>2]=0,Ur(Y,q,u,X),(c[X>>2]|0)!=0):0){c[k>>2]=c[k>>2]|4;m=0}else m=1;break}}Im($);Im(Z);Im(_);Im(aa);Im(Y);q=c[da>>2]|0;c[da>>2]=0;if((q|0)!=0?(o=0,ha(c[ca>>2]|0,q|0),da=o,o=0,da&1):0){da=Na(0)|0;ec(da)}i=ba;return m|0}while(0);Im($);Im(Z);Im(_);Im(aa);Im(Y);q=c[da>>2]|0;c[da>>2]=0;if((q|0)!=0?(o=0,ha(c[ca>>2]|0,q|0),da=o,o=0,da&1):0){da=Na(0)|0;ec(da)}Ya(m|0);return 0}function Rr(a){a=a|0;var b=0;b=Ma(8)|0;o=0;ia(90,b|0,a|0);a=o;o=0;if(a&1){a=Na()|0;La(b|0);Ya(a|0)}else lb(b|0,616,80)}function Sr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=i;i=i+144|0;k=w+24|0;b=w+32|0;x=w+16|0;s=w+8|0;p=w+4|0;q=w+28|0;l=w;c[x>>2]=b;A=x+4|0;c[A>>2]=189;m=b+100|0;o=0;v=ka(68,g|0)|0;n=o;o=0;if(!(n&1)){c[p>>2]=v;o=0;n=ra(37,p|0,44220)|0;b=o;o=0;a:do if(!(b&1)?(a[q>>0]=0,t=c[e>>2]|0,c[l>>2]=t,r=c[g+4>>2]|0,u=t,o=0,c[k>>2]=c[l>>2],r=la(1,d|0,k|0,f|0,p|0,r|0,h|0,q|0,n|0,x|0,s|0,m|0)|0,g=o,o=0,!(g&1)):0){if(r){if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}if(a[q>>0]|0){o=0;b=ra(c[(c[n>>2]|0)+28>>2]|0,n|0,45)|0;g=o;o=0;if(g&1)break;o=0;ia(67,j|0,b|0);g=o;o=0;if(g&1)break}o=0;l=ra(c[(c[n>>2]|0)+28>>2]|0,n|0,48)|0;g=o;o=0;if(g&1)break;b=c[x>>2]|0;m=c[s>>2]|0;k=m+-1|0;b:do if(b>>>0>>0)do{if((a[b>>0]|0)!=l<<24>>24)break b;b=b+1|0}while(b>>>0>>0);while(0);o=0;ma(32,j|0,b|0,m|0)|0;j=o;o=0;if(j&1)break}b=c[d>>2]|0;do if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1)break a;if((b|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}}else b=0;while(0);k=(b|0)==0;do if(t){if((c[u+12>>2]|0)==(c[u+16>>2]|0)){o=0;b=ka(c[(c[t>>2]|0)+36>>2]|0,u|0)|0;u=o;o=0;if(u&1)break a;if((b|0)==-1){c[e>>2]=0;z=29;break}}if(!k)z=30}else z=29;while(0);if((z|0)==29?k:0)z=30;if((z|0)==30)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(v)|0;b=c[x>>2]|0;c[x>>2]=0;if((b|0)!=0?(o=0,ha(c[A>>2]|0,b|0),A=o,o=0,A&1):0){A=Na(0)|0;ec(A)}i=w;return k|0}while(0);k=Na()|0;pm(v)|0;b=c[x>>2]|0;c[x>>2]=0;if(!b)y=k;else z=36}else{k=Na()|0;c[x>>2]=0;z=36}if((z|0)==36){o=0;ha(c[A>>2]|0,b|0);A=o;o=0;if(A&1){A=Na(0)|0;ec(A)}else y=k}Ya(y|0);return 0}function Tr(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+100|0;p=z+88|0;q=z+76|0;r=z+64|0;s=z+52|0;t=z+48|0;u=z+36|0;v=z+24|0;w=z+12|0;x=z;do if(b){b=Is(d,43828)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](n,b);x=c[n>>2]|0;a[e>>0]=x;a[e+1>>0]=x>>8;a[e+2>>0]=x>>16;a[e+3>>0]=x>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)};c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Im(p);Cb[c[(c[b>>2]|0)+28>>2]&127](q,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)};c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Im(q);a[f>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](r,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)};c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);Cb[c[(c[b>>2]|0)+24>>2]&127](s,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Im(s);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(d,43764)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](t,b);t=c[t>>2]|0;a[e>>0]=t;a[e+1>>0]=t>>8;a[e+2>>0]=t>>16;a[e+3>>0]=t>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](u,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)};c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Im(u);Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)};c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Im(v);a[f>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](w,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)};c[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[b>>2]|0)+24>>2]&127](x,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Im(x);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}while(0);c[m>>2]=y;i=z;return}function Ur(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=a[b>>0]|0;i=b+4|0;h=c[i>>2]|0;a:do if(((g&1)==0?(g&255)>>>1:h)|0){if((d|0)!=(e|0)){g=e+-4|0;if(g>>>0>d>>>0){h=d;do{j=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=j;h=h+4|0;g=g+-4|0}while(h>>>0>>0)}g=a[b>>0]|0;h=c[i>>2]|0}j=(g&1)==0;i=j?b+1|0:c[b+8>>2]|0;e=e+-4|0;b=i+(j?(g&255)>>>1:h)|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;b:do if(e>>>0>d>>>0){while(1){if(!g?(h<<24>>24|0)!=(c[d>>2]|0):0)break;i=(b-i|0)>1?i+1|0:i;d=d+4|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;if(d>>>0>=e>>>0)break b}c[f>>2]=4;break a}while(0);if(!g?((c[e>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}while(0);return}function Vr(a){a=a|0;return}function Wr(a){a=a|0;cj(a);return}function Xr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;B=i;i=i+576|0;x=B+424|0;A=B;b=B+24|0;D=B+16|0;y=B+12|0;C=B+8|0;p=B+464|0;l=B+4|0;z=B+468|0;c[D>>2]=b;F=D+4|0;c[F>>2]=189;m=b+400|0;o=0;k=ka(68,g|0)|0;w=o;o=0;if(!(w&1)){c[C>>2]=k;o=0;b=ra(37,C|0,44212)|0;w=o;o=0;a:do if(!(w&1)?(a[p>>0]=0,c[l>>2]=c[e>>2],n=c[g+4>>2]|0,o=0,c[x>>2]=c[l>>2],n=la(2,d|0,x|0,f|0,C|0,n|0,h|0,p|0,b|0,D|0,y|0,m|0)|0,w=o,o=0,!(w&1)):0){b:do if(n){o=0;va(c[(c[b>>2]|0)+48>>2]|0,b|0,59007,59017,x|0)|0;w=o;o=0;if(w&1){G=10;break a}l=c[y>>2]|0;m=c[D>>2]|0;b=l-m|0;if((b|0)>392){b=Fl((b>>2)+2|0)|0;k=b;if(!b){o=0;xa(6);w=o;o=0;if(!(w&1)){b=0;G=13}}else G=13}else{k=0;b=z;G=13}do if((G|0)==13){if(a[p>>0]|0){a[b>>0]=45;b=b+1|0}v=x+40|0;w=x;if(m>>>0>>0){n=x+4|0;f=n+4|0;g=f+4|0;p=g+4|0;q=p+4|0;r=q+4|0;s=r+4|0;t=s+4|0;u=t+4|0;do{l=c[m>>2]|0;do if((c[x>>2]|0)!=(l|0))if((c[n>>2]|0)!=(l|0))if((c[f>>2]|0)!=(l|0))if((c[g>>2]|0)!=(l|0))if((c[p>>2]|0)==(l|0))l=p;else{if((c[q>>2]|0)==(l|0)){l=q;break}if((c[r>>2]|0)==(l|0)){l=r;break}if((c[s>>2]|0)==(l|0)){l=s;break}if((c[t>>2]|0)==(l|0)){l=t;break}l=(c[u>>2]|0)==(l|0)?u:v}else l=g;else l=f;else l=n;else l=x;while(0);a[b>>0]=a[59007+(l-w>>2)>>0]|0;m=m+4|0;b=b+1|0}while(m>>>0<(c[y>>2]|0)>>>0)}a[b>>0]=0;c[A>>2]=j;if(($k(z,58987,A)|0)!=1?(o=0,ha(190,58991),j=o,o=0,j&1):0)break;if(k)Gl(k);break b}while(0);b=Na()|0;if(!k){l=b;k=D;break a}Gl(k);l=b;k=D;break a}while(0);b=c[d>>2]|0;do if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}}else b=c[k>>2]|0;if((b|0)==-1){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1;while(0);b=c[e>>2]|0;do if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}}else b=c[k>>2]|0;if((b|0)!=-1)if(l)break;else{G=40;break}else{c[e>>2]=0;G=38;break}}else G=38;while(0);if((G|0)==38?l:0)G=40;if((G|0)==40)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(c[C>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if((b|0)!=0?(o=0,ha(c[F>>2]|0,b|0),G=o,o=0,G&1):0){G=Na(0)|0;ec(G)}i=B;return k|0}else G=10;while(0);if((G|0)==10){l=Na()|0;k=D}pm(c[C>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=0;if(!b)E=l;else{k=c[F>>2]|0;G=47}}else{l=Na()|0;c[D>>2]=0;k=189;G=47}if((G|0)==47){o=0;ha(k|0,b|0);G=o;o=0;if(G&1){G=Na(0)|0;ec(G)}else E=l}Ya(E|0);return 0}function Yr(b,e,f,g,h,j,k,l,m,n,p){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;Y=i;i=i+512|0;K=Y+96|0;q=Y+104|0;_=Y+88|0;O=Y+80|0;N=Y+76|0;P=Y+504|0;L=Y+72|0;Q=Y+68|0;T=Y+56|0;X=Y+44|0;V=Y+32|0;U=Y+20|0;W=Y+8|0;M=Y+4|0;S=Y;c[K>>2]=p;c[_>>2]=q;Z=_+4|0;c[Z>>2]=189;c[O>>2]=q;c[N>>2]=q+400;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[X>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;o=0;qa(2,f|0,g|0,P|0,L|0,Q|0,T|0,X|0,V|0,U|0,M|0);J=o;o=0;a:do if(J&1)f=Na()|0;else{c[n>>2]=c[m>>2];G=V+4|0;H=U+4|0;I=U+8|0;J=V+8|0;z=(h&512|0)!=0;A=X+8|0;B=X+4|0;C=W+4|0;D=W+8|0;E=P+3|0;F=T+4|0;y=0;s=0;b:while(1){p=c[b>>2]|0;do if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[f>>2]|0;if((p|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);f=c[e>>2]|0;do if(f){p=c[f+12>>2]|0;if((p|0)==(c[f+16>>2]|0)){o=0;p=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[p>>2]|0;if((p|0)!=-1)if(g){x=f;break}else{t=q;R=244;break b}else{c[e>>2]=0;R=16;break}}else R=16;while(0);if((R|0)==16){R=0;if(g){t=q;R=244;break}else x=0}c:do switch(a[P+y>>0]|0){case 1:{if((y|0)!=3){p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=26;break b}}else p=c[f>>2]|0;o=0;p=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,p|0)|0;R=o;o=0;if(R&1){R=26;break b}if(!p){R=42;break b}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=26;break b}}else{c[f>>2]=g+4;p=c[g>>2]|0}o=0;ia(92,W|0,p|0);R=o;o=0;if(R&1){R=26;break b}else{p=x;h=x;R=44}}else p=q;break}case 0:{if((y|0)==3)p=q;else{p=x;h=x;R=44}break}case 3:{f=a[V>>0]|0;p=(f&1)==0?(f&255)>>>1:c[G>>2]|0;g=a[U>>0]|0;h=(g&1)==0?(g&255)>>>1:c[H>>2]|0;if((p|0)==(0-h|0))p=q;else{if(!p){p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}f=a[U>>0]|0}else{p=c[f>>2]|0;f=g}if((p|0)!=(c[((f&1)==0?H:c[I>>2]|0)>>2]|0)){p=q;break c}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;a[k>>0]=1;x=a[U>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[H>>2]|0)>>>0>1?U:s;break c}r=c[b>>2]|0;t=c[r+12>>2]|0;g=c[r+16>>2]|0;p=(t|0)==(g|0);if(!h){if(p){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}f=a[V>>0]|0}else p=c[t>>2]|0;if((p|0)!=(c[((f&1)==0?G:c[J>>2]|0)>>2]|0)){a[k>>0]=1;p=q;break c}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;x=a[V>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[G>>2]|0)>>>0>1?V:s;break c}if(p){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}g=c[b>>2]|0;f=a[V>>0]|0;r=g;t=c[g+12>>2]|0;g=c[g+16>>2]|0}else p=c[t>>2]|0;h=r+12|0;g=(t|0)==(g|0);if((p|0)==(c[((f&1)==0?G:c[J>>2]|0)>>2]|0)){if(g){o=0;ka(c[(c[r>>2]|0)+40>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[h>>2]=t+4;x=a[V>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[G>>2]|0)>>>0>1?V:s;break c}if(g){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[t>>2]|0;if((p|0)!=(c[((a[U>>0]&1)==0?H:c[I>>2]|0)>>2]|0)){R=107;break b}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;a[k>>0]=1;x=a[U>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[H>>2]|0)>>>0>1?U:s}break}case 2:{if(!(y>>>0<2|(s|0)!=0)?!(z|(y|0)==2&(a[E>>0]|0)!=0):0){p=q;s=0;break c}h=a[X>>0]|0;g=c[A>>2]|0;f=(h&1)==0?B:g;p=f;d:do if((y|0)!=0?(d[P+(y+-1)>>0]|0)<2:0){w=(h&1)==0;e:do if((f|0)!=((w?B:g)+((w?(h&255)>>>1:c[B>>2]|0)<<2)|0)){h=f;while(1){o=0;f=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,c[h>>2]|0)|0;w=o;o=0;if(w&1){R=23;break b}if(!f)break;h=h+4|0;p=h;f=a[X>>0]|0;g=c[A>>2]|0;w=(f&1)==0;if((h|0)==((w?B:g)+((w?(f&255)>>>1:c[B>>2]|0)<<2)|0)){h=f;break e}}h=a[X>>0]|0;g=c[A>>2]|0}while(0);t=(h&1)==0?B:g;f=t;u=p-f>>2;v=a[W>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:c[C>>2]|0;if(v>>>0>=u>>>0){r=r?C:c[D>>2]|0;w=r+(v<<2)|0;if(!u)f=p;else{r=r+(v-u<<2)|0;while(1){if((c[r>>2]|0)!=(c[t>>2]|0))break d;r=r+4|0;if((r|0)==(w|0)){f=p;break}else t=t+4|0}}}}else f=p;while(0);p=(h&1)==0;p=(p?B:g)+((p?(h&255)>>>1:c[B>>2]|0)<<2)|0;f:do if((f|0)!=(p|0)){r=x;h=x;p=f;while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=22;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=22;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(r|0)==0){f=r;t=r;break}else break f;else{c[e>>2]=0;f=0;R=136;break}}else{f=r;R=136}while(0);if((R|0)==136){R=0;if(g)break f;else t=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=22;break b}}else g=c[h>>2]|0;if((g|0)!=(c[p>>2]|0))break f;g=c[b>>2]|0;h=g+12|0;r=c[h>>2]|0;if((r|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=22;break b}}else c[h>>2]=r+4;p=p+4|0;g=a[X>>0]|0;x=(g&1)==0;g=(x?B:c[A>>2]|0)+((x?(g&255)>>>1:c[B>>2]|0)<<2)|0;if((p|0)==(g|0)){p=g;break}else{r=f;h=t}}}while(0);if(z?(x=a[X>>0]|0,w=(x&1)==0,(p|0)!=((w?B:c[A>>2]|0)+((w?(x&255)>>>1:c[B>>2]|0)<<2)|0)):0){R=148;break b}else p=q;break}case 4:{v=c[Q>>2]|0;u=x;r=x;p=q;f=0;g:while(1){g=c[b>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=25;break b}}else g=c[h>>2]|0;if((g|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);do if(r){g=c[r+12>>2]|0;if((g|0)==(c[r+16>>2]|0)){o=0;g=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=25;break b}}else g=c[g>>2]|0;if((g|0)!=-1)if(h^(u|0)==0){g=u;t=u;break}else{q=u;break g}else{c[e>>2]=0;g=0;R=162;break}}else{g=u;R=162}while(0);if((R|0)==162){R=0;if(h){q=g;break}else t=0}h=c[b>>2]|0;q=c[h+12>>2]|0;if((q|0)==(c[h+16>>2]|0)){o=0;h=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=25;break b}}else h=c[q>>2]|0;o=0;q=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,2048,h|0)|0;x=o;o=0;if(x&1){R=25;break b}if(q){q=c[n>>2]|0;if((q|0)==(c[K>>2]|0)){o=0;wa(14,m|0,n|0,K|0);x=o;o=0;if(x&1){R=25;break b}q=c[n>>2]|0}c[n>>2]=q+4;c[q>>2]=h;f=f+1|0}else{x=a[T>>0]|0;if(!((h|0)==(v|0)&((f|0)!=0?(((x&1)==0?(x&255)>>>1:c[F>>2]|0)|0)!=0:0))){q=g;break}if((p|0)==(c[N>>2]|0)){o=0;wa(13,_|0,O|0,N|0);x=o;o=0;if(x&1){R=25;break b}p=c[O>>2]|0}x=p+4|0;c[O>>2]=x;c[p>>2]=f;p=x;f=0}h=c[b>>2]|0;q=h+12|0;r=c[q>>2]|0;if((r|0)==(c[h+16>>2]|0)){o=0;ka(c[(c[h>>2]|0)+40>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=25;break b}else{u=g;r=t;continue}}else{c[q>>2]=r+4;u=g;r=t;continue}}if((f|0)!=0?(c[_>>2]|0)!=(p|0):0){if((p|0)==(c[N>>2]|0)){o=0;wa(13,_|0,O|0,N|0);x=o;o=0;if(x&1){R=26;break b}p=c[O>>2]|0}x=p+4|0;c[O>>2]=x;c[p>>2]=f;p=x}t=c[M>>2]|0;if((t|0)>0){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(q){f=c[q+12>>2]|0;if((f|0)==(c[q+16>>2]|0)){o=0;f=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g)break;else{R=206;break b}else{c[e>>2]=0;R=200;break}}else R=200;while(0);if((R|0)==200){R=0;if(g){R=206;break b}else q=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[g>>2]|0;if((f|0)!=(c[L>>2]|0)){R=206;break b}f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;if((h|0)==(c[f+16>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[g>>2]=h+4;if((t|0)>0){r=q;h=q;u=t;while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=24;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=24;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(r|0)==0){f=r;t=r;break}else{R=231;break b}else{c[e>>2]=0;f=0;R=224;break}}else{f=r;R=224}while(0);if((R|0)==224){R=0;if(g){R=231;break b}else t=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=24;break b}}else g=c[h>>2]|0;o=0;g=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,2048,g|0)|0;x=o;o=0;if(x&1){R=24;break b}if(!g){R=231;break b}if((c[n>>2]|0)==(c[K>>2]|0)?(o=0,wa(14,m|0,n|0,K|0),x=o,o=0,x&1):0){R=24;break b}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=24;break b}}else g=c[h>>2]|0;h=c[n>>2]|0;c[n>>2]=h+4;c[h>>2]=g;g=u;u=u+-1|0;c[M>>2]=u;h=c[b>>2]|0;q=h+12|0;r=c[q>>2]|0;if((r|0)==(c[h+16>>2]|0)){o=0;ka(c[(c[h>>2]|0)+40>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=24;break b}}else c[q>>2]=r+4;if((g|0)<=1)break;else{r=f;h=t}}}}if((c[n>>2]|0)==(c[m>>2]|0)){R=242;break b}break}default:p=q}while(0);h:do if((R|0)==44)while(1){R=0;f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=21;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=21;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(p|0)==0){r=p;h=p;break}else{p=q;break h}else{c[e>>2]=0;p=0;R=57;break}}else R=57;while(0);if((R|0)==57){R=0;if(g){p=q;break h}else{r=p;h=0}}p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=21;break b}}else p=c[f>>2]|0;o=0;p=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,p|0)|0;x=o;o=0;if(x&1){R=21;break b}if(!p){p=q;break h}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=21;break b}}else{c[f>>2]=g+4;p=c[g>>2]|0}o=0;ia(92,W|0,p|0);R=o;o=0;if(R&1){R=21;break b}else{p=r;R=44}}while(0);y=y+1|0;if(y>>>0>=4){t=p;R=244;break}else q=p}i:switch(R|0){case 21:{f=Na()|0;break a}case 22:{f=Na()|0;break a}case 23:{f=Na()|0;break a}case 24:{f=Na()|0;break a}case 25:{f=Na()|0;break a}case 26:{f=Na()|0;break a}case 42:{c[j>>2]=c[j>>2]|4;f=0;break}case 107:{c[j>>2]=c[j>>2]|4;f=0;break}case 148:{c[j>>2]=c[j>>2]|4;f=0;break}case 206:{c[j>>2]=c[j>>2]|4;f=0;break}case 231:{c[j>>2]=c[j>>2]|4;f=0;break}case 242:{c[j>>2]=c[j>>2]|4;f=0;break}case 244:{j:do if(s){q=s+4|0;r=s+8|0;h=1;k:while(1){p=a[s>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[q>>2]|0;if(h>>>0>=p>>>0)break j;p=c[b>>2]|0;do if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break k}}else p=c[f>>2]|0;if((p|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);p=c[e>>2]|0;do if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break k}}else p=c[f>>2]|0;if((p|0)!=-1)if(g)break;else{R=271;break k}else{c[e>>2]=0;R=263;break}}else R=263;while(0);if((R|0)==263?(R=0,g):0){R=271;break}p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break}}else p=c[f>>2]|0;if(!(a[s>>0]&1))f=q;else f=c[r>>2]|0;if((p|0)!=(c[f+(h<<2)>>2]|0)){R=271;break}p=h+1|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;if((h|0)==(c[f+16>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;n=o;o=0;if(n&1){R=20;break}else{h=p;continue}}else{c[g>>2]=h+4;h=p;continue}}if((R|0)==20){f=Na()|0;break a}else if((R|0)==271){c[j>>2]=c[j>>2]|4;f=0;break i}}while(0);p=c[_>>2]|0;if((p|0)!=(t|0)?(c[S>>2]=0,Ur(T,p,t,S),(c[S>>2]|0)!=0):0){c[j>>2]=c[j>>2]|4;f=0}else f=1;break}}Wm(W);Wm(U);Wm(V);Wm(X);Im(T);p=c[_>>2]|0;c[_>>2]=0;if((p|0)!=0?(o=0,ha(c[Z>>2]|0,p|0),_=o,o=0,_&1):0){_=Na(0)|0;ec(_)}i=Y;return f|0}while(0);Wm(W);Wm(U);Wm(V);Wm(X);Im(T);p=c[_>>2]|0;c[_>>2]=0;if((p|0)!=0?(o=0,ha(c[Z>>2]|0,p|0),_=o,o=0,_&1):0){_=Na(0)|0;ec(_)}Ya(f|0);return 0}function Zr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=i;i=i+432|0;k=w+424|0;b=w+24|0;y=w+16|0;s=w+8|0;p=w+4|0;q=w+428|0;l=w;c[y>>2]=b;A=y+4|0;c[A>>2]=189;m=b+400|0;o=0;v=ka(68,g|0)|0;n=o;o=0;if(!(n&1)){c[p>>2]=v;o=0;n=ra(37,p|0,44212)|0;b=o;o=0;a:do if(!(b&1)?(a[q>>0]=0,t=c[e>>2]|0,c[l>>2]=t,r=c[g+4>>2]|0,u=t,o=0,c[k>>2]=c[l>>2],r=la(2,d|0,k|0,f|0,p|0,r|0,h|0,q|0,n|0,y|0,s|0,m|0)|0,g=o,o=0,!(g&1)):0){if(r){if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;if(a[q>>0]|0){o=0;b=ra(c[(c[n>>2]|0)+44>>2]|0,n|0,45)|0;g=o;o=0;if(g&1)break;o=0;ia(92,j|0,b|0);g=o;o=0;if(g&1)break}o=0;l=ra(c[(c[n>>2]|0)+44>>2]|0,n|0,48)|0;g=o;o=0;if(g&1)break;b=c[y>>2]|0;m=c[s>>2]|0;k=m+-4|0;b:do if(b>>>0>>0)do{if((c[b>>2]|0)!=(l|0))break b;b=b+4|0}while(b>>>0>>0);while(0);o=0;ma(33,j|0,b|0,m|0)|0;j=o;o=0;if(j&1)break}b=c[d>>2]|0;do if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1)break a}else b=c[k>>2]|0;if((b|0)==-1){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);do if(t){b=c[u+12>>2]|0;if((b|0)==(c[u+16>>2]|0)){o=0;b=ka(c[(c[t>>2]|0)+36>>2]|0,u|0)|0;u=o;o=0;if(u&1)break a}else b=c[b>>2]|0;if((b|0)!=-1)if(k)break;else{z=32;break}else{c[e>>2]=0;z=30;break}}else z=30;while(0);if((z|0)==30?k:0)z=32;if((z|0)==32)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(v)|0;b=c[y>>2]|0;c[y>>2]=0;if((b|0)!=0?(o=0,ha(c[A>>2]|0,b|0),A=o,o=0,A&1):0){A=Na(0)|0;ec(A)}i=w;return k|0}while(0);k=Na()|0;pm(v)|0;b=c[y>>2]|0;c[y>>2]=0;if(!b)x=k;else z=38}else{k=Na()|0;c[y>>2]=0;z=38}if((z|0)==38){o=0;ha(c[A>>2]|0,b|0);A=o;o=0;if(A&1){A=Na(0)|0;ec(A)}else x=k}Ya(x|0);return 0}function _r(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+100|0;p=z+88|0;q=z+76|0;r=z+64|0;s=z+52|0;t=z+48|0;u=z+36|0;v=z+24|0;w=z+12|0;x=z;do if(b){b=Is(d,43956)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](n,b);x=c[n>>2]|0;a[e>>0]=x;a[e+1>>0]=x>>8;a[e+2>>0]=x>>16;a[e+3>>0]=x>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)};c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Wm(p);Cb[c[(c[b>>2]|0)+28>>2]&127](q,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)};c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Wm(q);c[f>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](r,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)};c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);Cb[c[(c[b>>2]|0)+24>>2]&127](s,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;o=0;ia(93,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Wm(s);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(d,43892)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](t,b);t=c[t>>2]|0;a[e>>0]=t;a[e+1>>0]=t>>8;a[e+2>>0]=t>>16;a[e+3>>0]=t>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](u,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)};c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Wm(u);Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)};c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Wm(v);c[f>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](w,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)};c[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[b>>2]|0)+24>>2]&127](x,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;o=0;ia(93,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Wm(x);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}while(0);c[m>>2]=y;i=z;return}function $r(a){a=a|0;return}function as(a){a=a|0;cj(a);return}function bs(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,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;D=i;i=i+384|0;v=D+8|0;k=D;m=D+284|0;n=D+72|0;l=D+184|0;F=D+68|0;A=D+80|0;x=D+77|0;B=D+76|0;G=D+56|0;I=D+44|0;H=D+32|0;p=D+28|0;u=D+84|0;z=D+24|0;y=D+20|0;w=D+16|0;c[n>>2]=m;h[v>>3]=j;m=_k(m,100,59018,v)|0;do if(m>>>0>99){o=0;b=ua(3)|0;C=o;o=0;if(!(C&1)?(o=0,h[k>>3]=j,s=va(17,n|0,b|0,59018,k|0)|0,C=o,o=0,!(C&1)):0){b=c[n>>2]|0;if(!b){o=0;xa(6);C=o;o=0;if(C&1){b=0;k=0;C=7;break}b=c[n>>2]|0}l=Fl(s)|0;k=l;if(!l){o=0;xa(6);C=o;o=0;if(C&1)C=7;else{t=0;C=10}}else{t=l;C=10}}else{b=0;k=0;C=7}}else{k=0;b=0;t=l;s=m;C=10}while(0);if((C|0)==10){o=0;l=ka(68,f|0)|0;r=o;o=0;if(r&1)C=7;else{c[F>>2]=l;o=0;r=ra(37,F|0,44220)|0;q=o;o=0;if(!(q&1)?(q=c[n>>2]|0,o=0,va(c[(c[r>>2]|0)+32>>2]|0,r|0,q|0,q+s|0,t|0)|0,q=o,o=0,!(q&1)):0){if(!s)q=0;else q=(a[c[n>>2]>>0]|0)==45;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;o=0;qa(3,e|0,q|0,F|0,A|0,x|0,B|0,G|0,I|0,H|0,p|0);e=o;o=0;if(!(e&1)){p=c[p>>2]|0;if((s|0)>(p|0)){e=a[H>>0]|0;m=a[I>>0]|0;m=(s-p<<1|1)+p+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}else{e=a[H>>0]|0;m=a[I>>0]|0;m=p+2+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}if(m>>>0>100){m=Fl(m)|0;n=m;if(!m){o=0;xa(6);u=o;o=0;if(!(u&1)){m=0;C=26}}else C=26}else{n=0;m=u;C=26}if((C|0)==26){o=0;na(1,m|0,z|0,y|0,c[f+4>>2]|0,t|0,t+s|0,r|0,q|0,A|0,a[x>>0]|0,a[B>>0]|0,G|0,I|0,H|0,p|0);B=o;o=0;if(!(B&1)?(c[w>>2]=c[d>>2],d=c[z>>2]|0,E=c[y>>2]|0,o=0,c[v>>2]=c[w>>2],E=ja(39,v|0,m|0,d|0,E|0,f|0,g|0)|0,d=o,o=0,!(d&1)):0){if(n){Gl(n);l=c[F>>2]|0}Im(H);Im(I);Im(G);pm(l)|0;if(k)Gl(k);if(b)Gl(b);i=D;return E|0}}m=Na()|0;if(n){Gl(n);l=c[F>>2]|0}}else m=Na()|0;Im(H);Im(I);Im(G)}else m=Na()|0;pm(l)|0}}if((C|0)==7)m=Na()|0;if(k)Gl(k);if(b)Gl(b);Ya(m|0);return 0}function cs(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,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;D=i;i=i+112|0;q=D+108|0;r=D+96|0;u=D+92|0;v=D+80|0;w=D+68|0;x=D+56|0;y=D+52|0;z=D+40|0;A=D+36|0;B=D+24|0;s=D+12|0;t=D;do if(b){b=Is(e,43828)|0;e=c[b>>2]|0;do if(d){Cb[c[e+44>>2]&127](q,b);d=c[q>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](r,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);p=b;break}}else{Cb[c[e+40>>2]&127](u,b);d=c[u>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[v>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Im(v);p=b;break}}while(0);a[g>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[h>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[p>>2]|0)+20>>2]&127](w,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)};c[j>>2]=c[w>>2];c[j+4>>2]=c[w+4>>2];c[j+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[p>>2]|0)+24>>2]&127](x,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[x>>2];c[k+4>>2]=c[x+4>>2];c[k+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Im(x);C=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(e,43764)|0;e=c[b>>2]|0;do if(d){Cb[c[e+44>>2]&127](y,b);d=c[y>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](z,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[z>>2];c[l+4>>2]=c[z+4>>2];c[l+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;Im(z);n=b;break}}else{Cb[c[e+40>>2]&127](A,b);d=c[A>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](B,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[B>>2];c[l+4>>2]=c[B+4>>2];c[l+8>>2]=c[B+8>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;Im(B);n=b;break}}while(0);a[g>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[h>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[n>>2]|0)+20>>2]&127](s,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)};c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Im(s);Cb[c[(c[n>>2]|0)+24>>2]&127](t,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[t>>2];c[k+4>>2]=c[t+4>>2];c[k+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Im(t);C=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}while(0);c[m>>2]=C;i=D;return}function ds(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;c[f>>2]=d;N=q+4|0;O=q+8|0;P=q+1|0;H=p+4|0;I=(g&512|0)==0;J=p+8|0;K=p+1|0;L=j+8|0;M=(r|0)>0;A=o+4|0;B=o+8|0;C=o+1|0;D=r+1|0;F=-2-r-((r|0)<0?~r:-1)|0;G=(r|0)>0;z=0;do{switch(a[l+z>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];x=Lb[c[(c[j>>2]|0)+28>>2]&63](j,32)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;break}case 3:{y=a[q>>0]|0;s=(y&1)==0;if((s?(y&255)>>>1:c[N>>2]|0)|0){x=a[(s?P:c[O>>2]|0)>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}break}case 2:{u=a[p>>0]|0;s=(u&1)==0;u=s?(u&255)>>>1:c[H>>2]|0;if(!(I|(u|0)==0)){t=s?K:c[J>>2]|0;v=t+u|0;s=c[f>>2]|0;if(u)do{a[s>>0]=a[t>>0]|0;t=t+1|0;s=s+1|0}while((t|0)!=(v|0));c[f>>2]=s}break}case 4:{s=c[f>>2]|0;h=k?h+1|0:h;w=h;v=c[L>>2]|0;a:do if(h>>>0>>0){t=h;do{u=a[t>>0]|0;if(u<<24>>24<=-1)break a;if(!(b[v+(u<<24>>24<<1)>>1]&2048))break a;t=t+1|0}while(t>>>0>>0)}else t=h;while(0);u=t;if(M){x=-2-u-~(u>>>0>w>>>0?w:u)|0;x=F>>>0>x>>>0?F:x;if(t>>>0>h>>>0&G){u=t;w=r;while(1){u=u+-1|0;y=a[u>>0]|0;v=c[f>>2]|0;c[f>>2]=v+1;a[v>>0]=y;v=(w|0)>1;if(!(u>>>0>h>>>0&v))break;else w=w+-1|0}}else v=G;y=D+x|0;u=t+(x+1)|0;if(v)w=Lb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;else w=0;t=c[f>>2]|0;c[f>>2]=t+1;if((y|0)>0){v=y;while(1){a[t>>0]=w;t=c[f>>2]|0;c[f>>2]=t+1;if((v|0)>1)v=v+-1|0;else break}}a[t>>0]=m}else u=t;if((u|0)!=(h|0)){y=a[o>>0]|0;t=(y&1)==0;if(!((t?(y&255)>>>1:c[A>>2]|0)|0))t=-1;else t=a[(t?C:c[B>>2]|0)>>0]|0;if((u|0)!=(h|0)){v=0;w=0;while(1){if((w|0)==(t|0)){y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=n;v=v+1|0;y=a[o>>0]|0;t=(y&1)==0;if(v>>>0<(t?(y&255)>>>1:c[A>>2]|0)>>>0){t=a[(t?C:c[B>>2]|0)+v>>0]|0;t=t<<24>>24==127?-1:t<<24>>24;w=0}else{t=w;w=0}}u=u+-1|0;x=a[u>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;if((u|0)==(h|0))break;else w=w+1|0}}}else{x=Lb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}t=c[f>>2]|0;if((s|0)!=(t|0)?(E=t+-1|0,s>>>0>>0):0){t=E;do{y=a[s>>0]|0;a[s>>0]=a[t>>0]|0;a[t>>0]=y;s=s+1|0;t=t+-1|0}while(s>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);t=a[q>>0]|0;h=(t&1)==0;t=h?(t&255)>>>1:c[N>>2]|0;if(t>>>0>1){s=h?P:c[O>>2]|0;u=s+t|0;h=c[f>>2]|0;if((t|0)!=1){s=s+1|0;do{a[h>>0]=a[s>>0]|0;h=h+1|0;s=s+1|0}while((s|0)!=(u|0))}c[f>>2]=h}switch(g&176|0){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function es(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,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;z=i;i=i+176|0;r=z+56|0;B=z+52|0;x=z+64|0;u=z+61|0;y=z+60|0;C=z+40|0;E=z+28|0;D=z+16|0;m=z+12|0;q=z+68|0;w=z+8|0;v=z+4|0;s=z;b=jn(f)|0;c[B>>2]=b;o=0;t=ra(37,B|0,44220)|0;p=o;o=0;do if(p&1)F=13;else{n=a[h>>0]|0;j=(n&1)==0;p=h+4|0;if(!((j?(n&255)>>>1:c[p>>2]|0)|0))n=0;else{j=a[(j?h+1|0:c[h+8>>2]|0)>>0]|0;o=0;k=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,45)|0;n=o;o=0;if(n&1){F=13;break}n=j<<24>>24==k<<24>>24}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;qa(3,e|0,n|0,B|0,x|0,u|0,y|0,C|0,E|0,D|0,m|0);l=o;o=0;if(!(l&1)){l=a[h>>0]|0;e=c[p>>2]|0;j=(l&1)==0?(l&255)>>>1:e;m=c[m>>2]|0;if((j|0)>(m|0)){G=a[D>>0]|0;k=a[E>>0]|0;j=(j-m<<1|1)+m+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{G=a[D>>0]|0;j=a[E>>0]|0;j=m+2+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[E+4>>2]|0)|0}if(j>>>0>100){j=Fl(j)|0;k=j;if(!j){o=0;xa(6);G=o;o=0;if(!(G&1)){l=a[h>>0]|0;e=c[p>>2]|0;j=0;F=17}}else F=17}else{k=0;j=q;F=17}if((F|0)==17){G=(l&1)==0;h=G?h+1|0:c[h+8>>2]|0;o=0;na(1,j|0,w|0,v|0,c[f+4>>2]|0,h|0,h+(G?(l&255)>>>1:e)|0,t|0,n|0,x|0,a[u>>0]|0,a[y>>0]|0,C|0,E|0,D|0,m|0);G=o;o=0;if(!(G&1)?(c[s>>2]=c[d>>2],G=c[w>>2]|0,A=c[v>>2]|0,o=0,c[r>>2]=c[s>>2],A=ja(39,r|0,j|0,G|0,A|0,f|0,g|0)|0,G=o,o=0,!(G&1)):0){if(k){Gl(k);b=c[B>>2]|0}Im(D);Im(E);Im(C);pm(b)|0;i=z;return A|0}}j=Na()|0;if(k){Gl(k);b=c[B>>2]|0}}else j=Na()|0;Im(D);Im(E);Im(C)}while(0);if((F|0)==13)j=Na()|0;pm(b)|0;Ya(j|0);return 0}function fs(a){a=a|0;return}function gs(a){a=a|0;cj(a);return}function hs(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,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;D=i;i=i+992|0;v=D+8|0;k=D;m=D+888|0;n=D+880|0;l=D+480|0;F=D+76|0;A=D+884|0;x=D+72|0;B=D+68|0;G=D+56|0;I=D+44|0;H=D+32|0;p=D+28|0;u=D+80|0;z=D+24|0;y=D+20|0;w=D+16|0;c[n>>2]=m;h[v>>3]=j;m=_k(m,100,59018,v)|0;do if(m>>>0>99){o=0;b=ua(3)|0;C=o;o=0;if(!(C&1)?(o=0,h[k>>3]=j,s=va(17,n|0,b|0,59018,k|0)|0,C=o,o=0,!(C&1)):0){b=c[n>>2]|0;if(!b){o=0;xa(6);C=o;o=0;if(C&1){b=0;k=0;C=7;break}b=c[n>>2]|0}l=Fl(s<<2)|0;k=l;if(!l){o=0;xa(6);C=o;o=0;if(C&1)C=7;else{t=0;C=10}}else{t=l;C=10}}else{b=0;k=0;C=7}}else{k=0;b=0;t=l;s=m;C=10}while(0);if((C|0)==10){o=0;l=ka(68,f|0)|0;r=o;o=0;if(r&1)C=7;else{c[F>>2]=l;o=0;r=ra(37,F|0,44212)|0;q=o;o=0;if(!(q&1)?(q=c[n>>2]|0,o=0,va(c[(c[r>>2]|0)+48>>2]|0,r|0,q|0,q+s|0,t|0)|0,q=o,o=0,!(q&1)):0){if(!s)q=0;else q=(a[c[n>>2]>>0]|0)==45;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;o=0;qa(4,e|0,q|0,F|0,A|0,x|0,B|0,G|0,I|0,H|0,p|0);e=o;o=0;if(!(e&1)){p=c[p>>2]|0;if((s|0)>(p|0)){e=a[H>>0]|0;m=a[I>>0]|0;m=(s-p<<1|1)+p+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}else{e=a[H>>0]|0;m=a[I>>0]|0;m=p+2+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}if(m>>>0>100){m=Fl(m<<2)|0;n=m;if(!m){o=0;xa(6);u=o;o=0;if(!(u&1)){m=0;C=26}}else C=26}else{n=0;m=u;C=26}if((C|0)==26){o=0;na(2,m|0,z|0,y|0,c[f+4>>2]|0,t|0,t+(s<<2)|0,r|0,q|0,A|0,c[x>>2]|0,c[B>>2]|0,G|0,I|0,H|0,p|0);B=o;o=0;if(!(B&1)?(c[w>>2]=c[d>>2],d=c[z>>2]|0,E=c[y>>2]|0,o=0,c[v>>2]=c[w>>2],E=ja(40,v|0,m|0,d|0,E|0,f|0,g|0)|0,d=o,o=0,!(d&1)):0){if(n){Gl(n);l=c[F>>2]|0}Wm(H);Wm(I);Im(G);pm(l)|0;if(k)Gl(k);if(b)Gl(b);i=D;return E|0}}m=Na()|0;if(n){Gl(n);l=c[F>>2]|0}}else m=Na()|0;Wm(H);Wm(I);Im(G)}else m=Na()|0;pm(l)|0}}if((C|0)==7)m=Na()|0;if(k)Gl(k);if(b)Gl(b);Ya(m|0);return 0}function is(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+112|0;n=B+108|0;p=B+96|0;s=B+92|0;t=B+80|0;u=B+68|0;v=B+56|0;w=B+52|0;x=B+40|0;y=B+36|0;z=B+24|0;q=B+12|0;r=B;do if(b){b=Is(e,43956)|0;e=c[b>>2]|0;do if(d){Cb[c[e+44>>2]&127](n,b);d=c[n>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Wm(p);break}}else{Cb[c[e+40>>2]&127](s,b);d=c[s>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](t,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[t>>2];c[l+4>>2]=c[t+4>>2];c[l+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Wm(t);break}}while(0);c[g>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](u,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)};c[j>>2]=c[u>>2];c[j+4>>2]=c[u+4>>2];c[j+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Im(u);Cb[c[(c[b>>2]|0)+24>>2]&127](v,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Wm(v);A=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(e,43892)|0;e=c[b>>2]|0;do if(d){Cb[c[e+44>>2]&127](w,b);d=c[w>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](x,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[x>>2];c[l+4>>2]=c[x+4>>2];c[l+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Wm(x);break}}else{Cb[c[e+40>>2]&127](y,b);d=c[y>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](z,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[z>>2];c[l+4>>2]=c[z+4>>2];c[l+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;Wm(z);break}}while(0);c[g>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](q,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)};c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Im(q);Cb[c[(c[b>>2]|0)+24>>2]&127](r,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[r>>2];c[k+4>>2]=c[r+4>>2];c[k+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Wm(r);A=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}while(0);c[m>>2]=A;i=B;return}function js(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;c[e>>2]=b;J=p+4|0;K=p+8|0;C=o+4|0;D=(f&512|0)==0;E=o+8|0;F=(q|0)>0;G=n+4|0;H=n+8|0;I=n+1|0;A=(q|0)>0;z=0;do{switch(a[k+z>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];x=Lb[c[(c[i>>2]|0)+44>>2]&63](i,32)|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x;break}case 3:{y=a[p>>0]|0;r=(y&1)==0;if((r?(y&255)>>>1:c[J>>2]|0)|0){x=c[(r?J:c[K>>2]|0)>>2]|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x}break}case 2:{v=a[o>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:c[C>>2]|0;if(!(D|(v|0)==0)){r=r?C:c[E>>2]|0;t=r+(v<<2)|0;u=c[e>>2]|0;if(v){s=u;while(1){c[s>>2]=c[r>>2];r=r+4|0;if((r|0)==(t|0))break;else s=s+4|0}}c[e>>2]=u+(v<<2)}break}case 4:{r=c[e>>2]|0;g=j?g+4|0:g;a:do if(g>>>0>>0){s=g;do{if(!(Gb[c[(c[i>>2]|0)+12>>2]&63](i,2048,c[s>>2]|0)|0))break a;s=s+4|0}while(s>>>0>>0)}else s=g;while(0);if(F){if(s>>>0>g>>>0&A){v=c[e>>2]|0;u=q;while(1){s=s+-4|0;t=v+4|0;c[v>>2]=c[s>>2];w=u+-1|0;u=(u|0)>1;if(s>>>0>g>>>0&u){v=t;u=w}else{v=w;break}}c[e>>2]=t;t=v}else{u=A;t=q}if(u)w=Lb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;else w=0;x=c[e>>2]|0;u=t+((t|0)<0?~t:-1)|0;if((t|0)>0){v=x;while(1){c[v>>2]=w;if((t|0)>1){v=v+4|0;t=t+-1|0}else break}}c[e>>2]=x+(u+2<<2);c[x+(u+1<<2)>>2]=l}if((s|0)==(g|0)){x=Lb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;y=c[e>>2]|0;s=y+4|0;c[e>>2]=s;c[y>>2]=x}else{x=a[n>>0]|0;t=(x&1)==0;y=c[G>>2]|0;if(!((t?(x&255)>>>1:y)|0))t=-1;else t=a[(t?I:c[H>>2]|0)>>0]|0;if((s|0)!=(g|0)){w=0;x=0;while(1){u=c[e>>2]|0;if((x|0)==(t|0)){v=u+4|0;c[e>>2]=v;c[u>>2]=m;w=w+1|0;u=a[n>>0]|0;t=(u&1)==0;if(w>>>0<(t?(u&255)>>>1:y)>>>0){t=a[(t?I:c[H>>2]|0)+w>>0]|0;u=v;t=t<<24>>24==127?-1:t<<24>>24;v=0}else{u=v;t=x;v=0}}else v=x;s=s+-4|0;x=c[s>>2]|0;c[e>>2]=u+4;c[u>>2]=x;if((s|0)==(g|0))break;else x=v+1|0}}s=c[e>>2]|0}if((r|0)!=(s|0)?(B=s+-4|0,r>>>0>>0):0){s=B;do{y=c[r>>2]|0;c[r>>2]=c[s>>2];c[s>>2]=y;r=r+4|0;s=s+-4|0}while(r>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);r=a[p>>0]|0;g=(r&1)==0;r=g?(r&255)>>>1:c[J>>2]|0;if(r>>>0>1){s=g?J:c[K>>2]|0;g=s+4|0;s=s+(r<<2)|0;t=c[e>>2]|0;u=s-g|0;if((r|0)!=1){r=t;while(1){c[r>>2]=c[g>>2];g=g+4|0;if((g|0)==(s|0))break;else r=r+4|0}}c[e>>2]=t+(u>>>2<<2)}switch(f&176|0){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function ks(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,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;z=i;i=i+480|0;q=z+468|0;B=z+464|0;x=z+472|0;u=z+56|0;y=z+52|0;C=z+40|0;E=z+28|0;D=z+16|0;m=z+12|0;p=z+64|0;w=z+8|0;v=z+4|0;r=z;b=jn(f)|0;c[B>>2]=b;o=0;s=ra(37,B|0,44212)|0;t=o;o=0;do if(t&1)F=13;else{n=a[h>>0]|0;j=(n&1)==0;t=h+4|0;if(!((j?(n&255)>>>1:c[t>>2]|0)|0))n=0;else{j=c[(j?t:c[h+8>>2]|0)>>2]|0;o=0;k=ra(c[(c[s>>2]|0)+44>>2]|0,s|0,45)|0;n=o;o=0;if(n&1){F=13;break}n=(j|0)==(k|0)}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;qa(4,e|0,n|0,B|0,x|0,u|0,y|0,C|0,E|0,D|0,m|0);l=o;o=0;if(!(l&1)){l=a[h>>0]|0;e=c[t>>2]|0;j=(l&1)==0?(l&255)>>>1:e;m=c[m>>2]|0;if((j|0)>(m|0)){G=a[D>>0]|0;k=a[E>>0]|0;j=(j-m<<1|1)+m+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{G=a[D>>0]|0;j=a[E>>0]|0;j=m+2+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[E+4>>2]|0)|0}if(j>>>0>100){j=Fl(j<<2)|0;k=j;if(!j){o=0;xa(6);G=o;o=0;if(!(G&1)){l=a[h>>0]|0;e=c[t>>2]|0;j=0;F=17}}else F=17}else{k=0;j=p;F=17}if((F|0)==17){G=(l&1)==0;h=G?t:c[h+8>>2]|0;o=0;na(2,j|0,w|0,v|0,c[f+4>>2]|0,h|0,h+((G?(l&255)>>>1:e)<<2)|0,s|0,n|0,x|0,c[u>>2]|0,c[y>>2]|0,C|0,E|0,D|0,m|0);G=o;o=0;if(!(G&1)?(c[r>>2]=c[d>>2],G=c[w>>2]|0,A=c[v>>2]|0,o=0,c[q>>2]=c[r>>2],A=ja(40,q|0,j|0,G|0,A|0,f|0,g|0)|0,G=o,o=0,!(G&1)):0){if(k){Gl(k);b=c[B>>2]|0}Wm(D);Wm(E);Im(C);pm(b)|0;i=z;return A|0}}j=Na()|0;if(k){Gl(k);b=c[B>>2]|0}}else j=Na()|0;Wm(D);Wm(E);Im(C)}while(0);if((F|0)==13)j=Na()|0;pm(b)|0;Ya(j|0);return 0}function ls(a){a=a|0;return}function ms(a){a=a|0;cj(a);return}function ns(b,d,e){b=b|0;d=d|0;e=e|0;b=lk((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function os(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;k=i;i=i+16|0;l=k;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;j=a[h>>0]|0;m=(j&1)==0;d=m?h+1|0:c[h+8>>2]|0;j=m?(j&255)>>>1:c[h+4>>2]|0;h=d+j|0;a:do if((j|0)>0){while(1){o=0;ia(67,l|0,a[d>>0]|0);m=o;o=0;if(m&1)break;d=d+1|0;if(d>>>0>=h>>>0){j=4;break a}}d=Na()|0;j=7}else j=4;while(0);b:do if((j|0)==4){o=0;d=va(19,((e|0)==-1?-1:e<<1)|0,f|0,g|0,((a[l>>0]&1)==0?l+1|0:c[l+8>>2]|0)|0)|0;m=o;o=0;if(m&1){d=Na()|0;j=7;break}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;m=nl(d)|0;h=d+m|0;c:do if((m|0)>0){while(1){o=0;ia(67,b|0,a[d>>0]|0);m=o;o=0;if(m&1)break;d=d+1|0;if(d>>>0>=h>>>0)break c}d=Na()|0;Im(b);break b}while(0);Im(l);i=k;return}while(0);Im(l);Ya(d|0)}function ps(a,b){a=a|0;b=b|0;return}function qs(a){a=a|0;return}function rs(a){a=a|0;cj(a);return}function ss(b,d,e){b=b|0;d=d|0;e=e|0;b=lk((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function ts(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=i;i=i+224|0;p=w+184|0;n=w+192|0;m=w+180|0;q=w+176|0;u=w+168|0;t=w+40|0;s=w+32|0;v=w+28|0;x=w+16|0;l=w+8|0;r=w;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[l+4>>2]=0;c[l>>2]=44696;k=a[h>>0]|0;y=(k&1)==0;j=h+4|0;d=y?j:c[h+8>>2]|0;h=y?(k&255)>>>1:c[j>>2]|0;j=d+(h<<2)|0;k=n+32|0;a:do if((h|0)>0){b:while(1){c[q>>2]=d;o=0;h=ya(c[(c[l>>2]|0)+12>>2]|0,l|0,p|0,d|0,j|0,q|0,n|0,k|0,m|0)|0;y=o;o=0;if(y&1){h=12;break}if((h|0)==2?1:(c[q>>2]|0)==(d|0)){h=5;break}if(n>>>0<(c[m>>2]|0)>>>0){d=n;do{o=0;ia(67,x|0,a[d>>0]|0);y=o;o=0;if(y&1){h=11;break b}d=d+1|0}while(d>>>0<(c[m>>2]|0)>>>0)}d=c[q>>2]|0;if(!((h|0)!=2&d>>>0>>0)){h=9;break a}}if((h|0)==5){o=0;ha(190,58955);o=0;d=Na()|0}else if((h|0)==11)d=Na()|0;else if((h|0)==12)d=Na()|0}else h=9;while(0);c:do if((h|0)==9){o=0;d=va(19,((e|0)==-1?-1:e<<1)|0,f|0,g|0,((a[x>>0]&1)==0?x+1|0:c[x+8>>2]|0)|0)|0;y=o;o=0;if(y&1){d=Na()|0;break}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[r+4>>2]=0;c[r>>2]=44744;y=nl(d)|0;j=d+y|0;k=j;l=t+128|0;d:do if((y|0)>0){e:while(1){c[v>>2]=d;o=0;h=ya(c[(c[r>>2]|0)+16>>2]|0,r|0,u|0,d|0,((k-d|0)>32?d+32|0:j)|0,v|0,t|0,l|0,s|0)|0;y=o;o=0;if(y&1){h=24;break}if((h|0)==2?1:(c[v>>2]|0)==(d|0)){h=18;break}if(t>>>0<(c[s>>2]|0)>>>0){d=t;do{o=0;ia(92,b|0,c[d>>2]|0);y=o;o=0;if(y&1){h=23;break e}d=d+4|0}while(d>>>0<(c[s>>2]|0)>>>0)}d=c[v>>2]|0;if(!((h|0)!=2&d>>>0>>0))break d}if((h|0)==18){o=0;ha(190,58955);o=0;d=Na()|0}else if((h|0)==23)d=Na()|0;else if((h|0)==24)d=Na()|0;Wm(b);break c}while(0);Im(x);i=w;return}while(0);Im(x);Ya(d|0)}function us(a,b){a=a|0;b=b|0;return}function vs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;c[b+4>>2]=d+-1;c[b>>2]=44196;h=b+8|0;o=0;ia(94,h|0,28);g=o;o=0;if(g&1)d=Na()|0;else{g=b+144|0;o=0;wa(5,g|0,58885,1);f=o;o=0;if(f&1)d=Na()|0;else{e=c[h>>2]|0;f=b+12|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do d=d+-4|0;while((d|0)!=(e|0));c[f>>2]=d}c[495]=0;c[494]=43124;o=0;ia(95,b|0,1976);f=o;o=0;do if(((((((((((((!(f&1)?(c[497]=0,c[496]=43164,o=0,ia(96,b|0,1984),f=o,o=0,!(f&1)):0)?(c[499]=0,c[498]=44236,c[500]=0,a[2004]=0,c[500]=Os()|0,o=0,ia(97,b|0,1992),f=o,o=0,!(f&1)):0)?(c[503]=0,c[502]=44484,o=0,ia(98,b|0,2008),f=o,o=0,!(f&1)):0)?(c[505]=0,c[504]=44552,o=0,ia(99,b|0,2016),f=o,o=0,!(f&1)):0)?(o=0,ia(100,2024,1),f=o,o=0,!(f&1)):0)?(o=0,ia(101,b|0,2024),f=o,o=0,!(f&1)):0)?(c[511]=0,c[510]=44600,o=0,ia(102,b|0,2040),f=o,o=0,!(f&1)):0)?(c[513]=0,c[512]=44648,o=0,ia(103,b|0,2048),f=o,o=0,!(f&1)):0)?(Tt(2056,1),o=0,ia(104,b|0,2056),f=o,o=0,!(f&1)):0)?(Ut(2080,1),o=0,ia(105,b|0,2080),f=o,o=0,!(f&1)):0)?(c[529]=0,c[528]=43204,o=0,ia(106,b|0,2112),f=o,o=0,!(f&1)):0)?(c[531]=0,c[530]=43276,o=0,ia(107,b|0,2120),f=o,o=0,!(f&1)):0)?(c[533]=0,c[532]=43348,o=0,ia(108,b|0,2128),f=o,o=0,!(f&1)):0){c[535]=0;c[534]=43408;o=0;ia(109,b|0,2136);f=o;o=0;if(f&1){i=42;break}c[537]=0;c[536]=43716;o=0;ia(110,b|0,2144);f=o;o=0;if(f&1){i=42;break}c[539]=0;c[538]=43780;o=0;ia(111,b|0,2152);f=o;o=0;if(f&1){i=42;break}c[541]=0;c[540]=43844;o=0;ia(112,b|0,2160);f=o;o=0;if(f&1){i=42;break}c[543]=0;c[542]=43908;o=0;ia(113,b|0,2168);f=o;o=0;if(f&1){i=42;break}c[545]=0;c[544]=43972;o=0;ia(114,b|0,2176);f=o;o=0;if(f&1){i=42;break}c[547]=0;c[546]=44008;o=0;ia(115,b|0,2184);f=o;o=0;if(f&1){i=42;break}c[549]=0;c[548]=44044;o=0;ia(116,b|0,2192);f=o;o=0;if(f&1){i=42;break}c[551]=0;c[550]=44080;o=0;ia(117,b|0,2200);f=o;o=0;if(f&1){i=42;break}c[553]=0;c[552]=43468;c[554]=43516;o=0;ia(118,b|0,2208);f=o;o=0;if(f&1){i=42;break}c[557]=0;c[556]=43560;c[558]=43608;o=0;ia(119,b|0,2224);f=o;o=0;if(f&1){i=42;break}c[561]=0;c[560]=44464;o=0;d=ua(3)|0;f=o;o=0;if(f&1){d=Na()|0;break}c[562]=d;c[560]=43652;o=0;ia(120,b|0,2240);f=o;o=0;if(f&1){i=42;break}c[565]=0;c[564]=44464;o=0;d=ua(3)|0;f=o;o=0;if(f&1){d=Na()|0;break}c[566]=d;c[564]=43684;o=0;ia(121,b|0,2256);i=o;o=0;if(i&1){i=42;break}c[569]=0;c[568]=44116;o=0;ia(122,b|0,2272);i=o;o=0;if(i&1){i=42;break}c[571]=0;c[570]=44156;o=0;ia(123,b|0,2280);i=o;o=0;if(i&1){i=42;break}return}else i=42;while(0);if((i|0)==42)d=Na()|0;Im(g)}Dv(h)}Ya(d|0)}function ws(){var b=0;do if((a[2288]|0)==0?(Ha(2288)|0)!=0:0){o=0;ua(4)|0;b=o;o=0;if(b&1){b=Na()|0;sb(2288);Ya(b|0)}else{c[11246]=44980;Pa(2288);break}}while(0);return c[11246]|0}function xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;om(b);f=a+8|0;e=c[f>>2]|0;do if((c[a+12>>2]|0)-e>>2>>>0<=d>>>0){o=0;ia(124,f|0,d+1|0);a=o;o=0;if(!(a&1)){e=c[f>>2]|0;break}e=Na()|0;if(b)pm(b)|0;Ya(e|0)}while(0);a=c[e+(d<<2)>>2]|0;if(a){pm(a)|0;e=c[f>>2]|0}c[e+(d<<2)>>2]=b;return}function ys(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=44196;e=a+8|0;f=a+12|0;b=c[e>>2]|0;if((c[f>>2]|0)!=(b|0)){d=0;do{b=c[b+(d<<2)>>2]|0;if(b)pm(b)|0;d=d+1|0;b=c[e>>2]|0}while(d>>>0<(c[f>>2]|0)-b>>2>>>0)}Im(a+144|0);Dv(e);return}function zs(a){a=a|0;ys(a);cj(a);return}function As(a,b){a=a|0;b=b|0;if(Fv(a,b)|0)return c[(c[a+8>>2]|0)+(b<<2)>>2]|0;else{a=Ma(4)|0;qj(a);lb(a|0,640,82)}return 0}function Bs(){vs(2296,1);c[11245]=2296;return 44980}function Cs(){var a=0;a=c[(ws()|0)>>2]|0;c[11247]=a;om(a);return 44988}function Ds(){var b=0;do if((a[2456]|0)==0?(Ha(2456)|0)!=0:0){o=0;ua(5)|0;b=o;o=0;if(b&1){b=Na()|0;sb(2456);Ya(b|0)}else{c[11248]=44988;Pa(2456);break}}while(0);return c[11248]|0}function Es(a){a=a|0;var b=0,d=0;o=0;b=ua(6)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}else{d=c[b>>2]|0;c[a>>2]=d;om(d);return}}function Fs(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;om(b);return}function Gs(a){a=a|0;pm(c[a>>2]|0)|0;return}function Hs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((c[a>>2]|0)!=-1){c[b>>2]=a;c[b+4>>2]=191;c[b+8>>2]=0;Em(a,b,192)}i=d;return (c[a+4>>2]|0)+-1|0}function Is(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return As(a,Hs(b)|0)|0}function Js(a){a=a|0;cj(a);return}function Ks(a){a=a|0;if(a)Bb[c[(c[a>>2]|0)+4>>2]&255](a);return}function Ls(a){a=a|0;var b=0;b=c[11052]|0;c[11052]=b+1;c[a+4>>2]=b+1;return}function Ms(a){a=a|0;cj(a);return}function Ns(a,c,d){a=a|0;c=c|0;d=d|0;if(d>>>0<128)d=(b[(Os()|0)+(d<<1)>>1]&c)<<16>>16!=0;else d=0;return d|0}function Os(){var a=0,b=0;o=0;a=ua(7)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Ps(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;i=(f-d|0)>>>2;if((d|0)!=(f|0)){h=d;while(1){a=c[h>>2]|0;if(a>>>0<128)a=e[(Os()|0)+(a<<1)>>1]|0;else a=0;b[g>>1]=a;h=h+4|0;if((h|0)==(f|0))break;else g=g+2|0}}return d+(i<<2)|0}function Qs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0<128?(b[(Os()|0)+(a<<1)>>1]&d)<<16>>16!=0:0)break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}while(0);return e|0}function Rs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0>=128)break a;if(!((b[(Os()|0)+(a<<1)>>1]&d)<<16>>16))break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}while(0);return e|0}function Ss(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(Ts()|0)+(b<<2)>>2]|0;return b|0}function Ts(){var a=0,b=0;o=0;a=ua(8)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(Ts()|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function Vs(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(Ws()|0)+(b<<2)>>2]|0;return b|0}function Ws(){var a=0,b=0;o=0;a=ua(9)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(Ws()|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function Ys(a,b){a=a|0;b=b|0;return b<<24>>24|0}function Zs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((d|0)!=(e|0))while(1){c[f>>2]=a[d>>0];d=d+1|0;if((d|0)==(e|0))break;else f=f+4|0}return e|0}function _s(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function $s(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;i=(e-d|0)>>>2;if((d|0)!=(e|0)){h=d;b=g;while(1){g=c[h>>2]|0;a[b>>0]=g>>>0<128?g&255:f;h=h+4|0;if((h|0)==(e|0))break;else b=b+1|0}}return d+(i<<2)|0}function at(b){b=b|0;var d=0;c[b>>2]=44236;d=c[b+8>>2]|0;if((d|0)!=0?(a[b+12>>0]|0)!=0:0)dj(d);return}function bt(a){a=a|0;at(a);cj(a);return}function ct(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(Ts()|0)+((b&255)<<2)>>2]&255;return b|0}function dt(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(Ts()|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function et(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(Ws()|0)+(b<<24>>24<<2)>>2]&255;return b|0}function ft(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(Ws()|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function gt(a,b){a=a|0;b=b|0;return b|0}function ht(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;if((c|0)!=(d|0))while(1){a[e>>0]=a[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else e=e+1|0}return d|0}function it(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function jt(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((c|0)!=(d|0))while(1){b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;c=c+1|0;if((c|0)==(d|0))break;else f=f+1|0}return d|0}function kt(a){a=a|0;cj(a);return}function lt(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function mt(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function nt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function ot(a){a=a|0;return 1}function pt(a){a=a|0;return 1}function qt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=d-c|0;return (a>>>0>>0?a:e)|0}function rt(a){a=a|0;return 1}function st(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=44304;o=0;b=ua(3)|0;d=o;o=0;if(d&1){d=Na()|0;Ya(d|0)}else{c[a+8>>2]=b;return}}function tt(a){a=a|0;wu(a);cj(a);return}\n function xl(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;_=X;aa=_-Z|0;O=-2-Z|0;P=_+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(ck()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)Xk(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}while(0);do if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}while(0);e:do if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1;while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[56223+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}Cl(ba,s,g)}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=kw(o|0,p|0,3)|0;p=D}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=56703;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=56703;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=hw(0,0,n|0,o|0)|0;o=D;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=56703;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?56703:56705;L=76}else{p=1;s=56704;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=56703;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=56703;n=N;break}case 109:{n=dk(c[(ck()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:56713;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){El(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?56721:56726}else{G=1;H=56723}else{q=-q;G=1;H=56720}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+wk(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;C=u|32;if((C|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v;while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=Dl(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[56687+H>>0]|w;q=(q-+(H|0))*16.0;do if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;El(e,32,K,p,I);if(!(c[e>>2]&32))Xk(y,x,e)|0;El(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))Xk(da,n,e)|0;o=_-t|0;El(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))Xk(t,o,e)|0;El(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0>>0)r=s;else{o=0;do{B=mw(c[r>>2]|0,0,t|0)|0;B=jw(B|0,D|0,o|0,0)|0;o=D;A=vw(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=uw(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(C|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do if(w>>>0

>>0){o=(1<>>x;r=0;t=w;do{B=c[t>>2]|0;c[t>>2]=(B>>>x)+r;r=$(B&o,s)|0;t=t+4|0}while(t>>>0

>>0);o=(c[w>>2]|0)==0?w+4|0:w;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[w>>2]|0)==0?w+4|0:w;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[ea>>2]|0)+x|0;c[ea>>2]=o;if((o|0)>=0){w=r;break}else w=r}}else w=r;do if(w>>>0

>>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0;while(0);A=(C|0)==103;B=(n|0)!=0;r=n-((C|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}while(0);do if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}C=t+s|0;c[r>>2]=C;if(C>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}C=(c[s>>2]|0)+1|0;c[s>>2]=C;if(C>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}while(0);C=r+4|0;w=s;p=p>>>0>C>>>0?C:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;C=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;C=p;break}}do if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do if(z){p=c[C+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9;while(0);p=((C-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8;while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=Dl(r,((r|0)<0)<<31>>31,X)|0;if((_-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((_-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=_-E|0;u=E}y=G+1+n+s+o|0;El(e,32,K,y,I);if(!(c[e>>2]&32))Xk(H,G,e)|0;El(e,48,K,y,I^65536);do if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=Dl(c[o>>2]|0,0,R)|0;do if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}while(0);if(!(c[e>>2]&32))Xk(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(x){if(c[e>>2]&32)break;Xk(56755,1,e)|0}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=Dl(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))Xk(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}El(e,48,n+9|0,9,0)}else{t=z?C:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=Dl(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))Xk(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}Xk(56755,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}while(0);p=S-o|0;if(!(c[e>>2]&32))Xk(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}El(e,48,n+18|0,18,0);if(c[e>>2]&32)break;Xk(u,_-u|0,e)|0}while(0);El(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;El(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){Xk(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))Xk(s?(t?56747:56751):t?56739:56743,3,e)|0;El(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=56703;n=N}}while(0);g:do if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[56687+(o&15)>>0]|s;o=kw(o|0,p|0,4)|0;p=D}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=56703;L=77}else{o=t;t=2;s=56703+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=56703;L=77}}else if((L|0)==76){n=Dl(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=jl(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=56703;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Ik(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}El(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Ik(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))Xk(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}while(0);if((L|0)==98){L=0;El(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;El(e,32,n,r,p);if(!(c[e>>2]&32))Xk(u,t,e)|0;El(e,48,n,r,p^65536);El(e,48,o,s,0);if(!(c[e>>2]&32))Xk(w,s,e)|0;El(e,32,n,r,p^8192);w=J}h:do if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;Cl(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0;while(0);i=ha;return m|0}function yl(a,b,c){a=a|0;b=b|0;c=c|0;return Rk(a,b,c)|0}function zl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;gk(h,0);e=+ek(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b)c[b>>2]=(d|0)!=0?a+d|0:a;i=j;return +e}function Al(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;gk(j,0);e=fk(j,d,1,e,f)|0;if(b)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function Bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;lw(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Cl(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:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+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 Dl(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=vw(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=uw(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=D}else{b=e;break}}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 El(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;iw(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){Xk(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;Xk(h,f,a)|0}while(0);i=j;return}function Fl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[10218]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=40912+(e<<2)|0;e=40912+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[10222]|0)>>>0)Ga();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Ga()}else c[10218]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[10220]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=40912+(e<<2)|0;e=40912+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[10222]|0)>>>0)Ga();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[10220]|0;break}else Ga()}else{c[10218]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[10223]|0;d=k>>>3;b=d<<1;e=40912+(b<<2)|0;a=c[10218]|0;d=1<>2]|0;if(b>>>0<(c[10222]|0)>>>0)Ga();else{l=a;m=b}}else{c[10218]=a|d;l=40912+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[10220]=h;c[10223]=i;M=j;return M|0}a=c[10219]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[41176+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[10222]|0;if(e>>>0>>0)Ga();i=e+o|0;if(e>>>0>=i>>>0)Ga();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Ga();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Ga();b=f+12|0;if((c[b>>2]|0)!=(e|0))Ga();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Ga()}while(0);do if(h){b=c[e+28>>2]|0;a=41176+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[10222]|0;if(n>>>0>>0)Ga();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)Ga();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[10220]|0;if(b){g=c[10223]|0;d=b>>>3;b=d<<1;f=40912+(b<<2)|0;a=c[10218]|0;d=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{p=b;q=a}}else{c[10218]=a|d;p=40912+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[10220]=j;c[10223]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[10219]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[41176+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[41176+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[10220]|0)-m|0)>>>0:0){f=c[10222]|0;if(j>>>0>>0)Ga();h=j+m|0;if(j>>>0>=h>>>0)Ga();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Ga();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Ga();b=e+12|0;if((c[b>>2]|0)!=(j|0))Ga();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Ga()}while(0);do if(g){b=c[j+28>>2]|0;a=41176+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[10222]|0;if(o>>>0>>0)Ga();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)Ga();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{s=b;t=a}}else{c[10218]=d|b;s=40912+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=41176+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[10219]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[10222]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Ga()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[10220]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[10223]|0;if(b>>>0>15){c[10223]=a+q;c[10220]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[10220]=0;c[10223]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[10221]|0;if(a>>>0>q>>>0){L=a-q|0;c[10221]=L;M=c[10224]|0;c[10224]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[10336]|0)){a=_a(30)|0;if(!(a+-1&a)){c[10338]=a;c[10337]=a;c[10339]=-1;c[10340]=-1;c[10341]=0;c[10329]=0;c[10336]=(qb(0)|0)&-16^1431655768;break}else Ga()}while(0);j=q+48|0;i=c[10338]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[10328]|0;if((a|0)!=0?(t=c[10326]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[10329]&4)){a=c[10224]|0;e:do if(a){f=41320;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[10221]|0)&i;if(d>>>0<2147483647){f=Ua(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=Ua(0)|0;if((g|0)!=(-1|0)){a=g;d=c[10337]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[10326]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[10328]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=Ua(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[10338]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((Ua(u|0)|0)==(-1|0)){Ua(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[10329]=c[10329]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=Ua(l|0)|0,x=Ua(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[10326]|0)+p|0;c[10326]=a;if(a>>>0>(c[10327]|0)>>>0)c[10327]=a;h=c[10224]|0;g:do if(h){g=41320;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[10221]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[10224]=h+L;c[10221]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[10225]=c[10340];break}a=c[10222]|0;if(w>>>0>>0){c[10222]=w;a=w}d=w+p|0;g=41320;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=41320;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[10223]|0)){M=(c[10220]|0)+l|0;c[10220]=M;c[10223]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Ga();a=f+12|0;if((c[a>>2]|0)!=(b|0))Ga();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Ga()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=41176+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[10222]|0)>>>0)Ga();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[10219]=c[10219]&~(1<>>0>>0)Ga();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Ga();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=40912+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)Ga();if((c[e+12>>2]|0)==(b|0))break;Ga()}while(0);if((f|0)==(e|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Ga()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0>=(c[10222]|0)>>>0){K=b;L=a;break}Ga()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=41176+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[10219]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[10222]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Ga()}else{M=(c[10221]|0)+l|0;c[10221]=M;c[10224]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=41320;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[10224]=w+d;c[10221]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[10225]=c[10340];d=a+4|0;c[d>>2]=27;c[b>>2]=c[10330];c[b+4>>2]=c[10331];c[b+8>>2]=c[10332];c[b+12>>2]=c[10333];c[10330]=w;c[10331]=p;c[10333]=0;c[10332]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{G=b;H=a}}else{c[10218]=d|b;G=40912+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=41176+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[10219]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[10222]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Ga()}}else{M=c[10222]|0;if((M|0)==0|w>>>0>>0)c[10222]=w;c[10330]=w;c[10331]=p;c[10333]=0;c[10227]=c[10336];c[10226]=-1;b=0;do{M=b<<1;L=40912+(M<<2)|0;c[40912+(M+3<<2)>>2]=L;c[40912+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[10224]=w+M;c[10221]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[10225]=c[10340]}while(0);b=c[10221]|0;if(b>>>0>q>>>0){L=b-q|0;c[10221]=L;M=c[10224]|0;c[10224]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(ck()|0)>>2]=12;M=0;return M|0}function Gl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[10222]|0;if(b>>>0>>0)Ga();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Ga();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Ga();if((l|0)==(c[10223]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[10220]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=40912+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Ga();if((c[e+12>>2]|0)!=(l|0))Ga()}if((d|0)==(e|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Ga()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Ga();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ga();b=f+12|0;if((c[b>>2]|0)!=(l|0))Ga();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Ga()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=41176+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[10222]|0;if(k>>>0>>0)Ga();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)Ga();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Ga();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Ga();if(!(d&2)){if((q|0)==(c[10224]|0)){t=(c[10221]|0)+g|0;c[10221]=t;c[10224]=u;c[u+4>>2]=t|1;if((u|0)!=(c[10223]|0))return;c[10223]=0;c[10220]=0;return}if((q|0)==(c[10223]|0)){t=(c[10220]|0)+g|0;c[10220]=t;c[10223]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[10222]|0)>>>0)Ga();e=d+12|0;if((c[e>>2]|0)!=(q|0))Ga();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Ga()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=41176+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[10222]|0;if(p>>>0>>0)Ga();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Ga();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=40912+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[10222]|0)>>>0)Ga();if((c[e+12>>2]|0)!=(q|0))Ga()}if((d|0)==(e|0)){c[10218]=c[10218]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Ga()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[10223]|0)){c[10220]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=40912+(d<<2)|0;e=c[10218]|0;b=1<>2]|0;if(d>>>0<(c[10222]|0)>>>0)Ga();else{r=b;s=d}}else{c[10218]=e|b;r=40912+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=41176+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[10219]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[10222]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Ga()}else{c[10219]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[10226]|0)+-1|0;c[10226]=u;if(!u)b=41328;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[10226]=-1;return}function Hl(a,b){a=a|0;b=b|0;var d=0;if(a){d=$(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Fl(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;iw(b|0,0,d|0)|0;return b|0}function Il(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Fl(b)|0;return a|0}if(b>>>0>4294967231){c[(ck()|0)>>2]=12;a=0;return a|0}d=Jl(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Fl(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;lw(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Gl(a);a=d;return a|0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[10222]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Ga();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Ga();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[10338]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Kl(a+b|0,d);return a|0}if((l|0)==(c[10224]|0)){d=(c[10221]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[10224]=a+b;c[10221]=n;return a|0}if((l|0)==(c[10223]|0)){e=(c[10220]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[10220]=d;c[10223]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ga();d=f+12|0;if((c[d>>2]|0)!=(l|0))Ga();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Ga()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=41176+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[10222]|0;if(k>>>0>>0)Ga();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)Ga();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(l|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ga()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Kl(a+b|0,n);return a|0}return 0}function Kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[10222]|0;if(n>>>0>>0)Ga();if((n|0)==(c[10223]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[10220]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(n|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Ga()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Ga();d=g+12|0;if((c[d>>2]|0)!=(n|0))Ga();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Ga()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=41176+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[10222]|0;if(l>>>0>>0)Ga();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)Ga();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[10222]|0;if(q>>>0>>0)Ga();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[10224]|0)){s=(c[10221]|0)+h|0;c[10221]=s;c[10224]=t;c[t+4>>2]=s|1;if((t|0)!=(c[10223]|0))return;c[10223]=0;c[10220]=0;return}if((q|0)==(c[10223]|0)){s=(c[10220]|0)+h|0;c[10220]=s;c[10223]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Ga();d=g+12|0;if((c[d>>2]|0)!=(q|0))Ga();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Ga()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=41176+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[10222]|0;if(p>>>0>>0)Ga();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)Ga();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(q|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Ga()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[10223]|0)){c[10220]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=40912+(e<<2)|0;f=c[10218]|0;d=1<>2]|0;if(e>>>0<(c[10222]|0)>>>0)Ga();else{r=d;s=e}}else{c[10218]=f|d;r=40912+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=41176+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[10219]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[10222]|0)>>>0)Ga();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[10222]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Ga();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function Ll(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[9321]|0;Pl(42048,e,42104);c[10342]=42892;c[10344]=42912;c[10343]=0;a=c[10720]|0;o=0;ia(62,41368+a|0,42048);g=o;o=0;if(g&1){g=Na()|0;fn(41376);Ya(g|0)}c[41368+(a+72)>>2]=0;c[41368+(a+76)>>2]=-1;f=c[9322]|0;Ql(42152,f,42112);c[10364]=42972;c[10365]=42992;d=c[10740]|0;o=0;ia(62,41456+d|0,42152);g=o;o=0;if(g&1){g=Na()|0;fn(41460);Ya(g|0)}a=d+72|0;c[41456+a>>2]=0;b=d+76|0;c[41456+b>>2]=-1;g=c[9320]|0;Ql(42200,g,42120);c[10385]=42972;c[10386]=42992;o=0;ia(62,41540+d|0,42200);h=o;o=0;if(h&1){h=Na()|0;fn(41544);Ya(h|0)}c[41540+a>>2]=0;c[41540+b>>2]=-1;h=c[41540+((c[(c[10385]|0)+-12>>2]|0)+24)>>2]|0;c[10406]=42972;c[10407]=42992;o=0;ia(62,41624+d|0,h|0);h=o;o=0;if(h&1){h=Na()|0;fn(41628);Ya(h|0)}c[41624+a>>2]=0;c[41624+b>>2]=-1;c[41368+((c[(c[10342]|0)+-12>>2]|0)+72)>>2]=41456;a=41540+((c[(c[10385]|0)+-12>>2]|0)+4)|0;c[a>>2]=c[a>>2]|8192;c[41540+((c[(c[10385]|0)+-12>>2]|0)+72)>>2]=41456;Rl(42248,e,42128);c[10427]=42932;c[10429]=42952;c[10428]=0;a=c[10730]|0;o=0;ia(62,41708+a|0,42248);h=o;o=0;if(h&1){h=Na()|0;ln(41716);Ya(h|0)}c[41708+(a+72)>>2]=0;c[41708+(a+76)>>2]=-1;Sl(42304,f,42136);c[10449]=43012;c[10450]=43032;d=c[10750]|0;o=0;ia(62,41796+d|0,42304);h=o;o=0;if(h&1){h=Na()|0;ln(41800);Ya(h|0)}a=d+72|0;c[41796+a>>2]=0;b=d+76|0;c[41796+b>>2]=-1;Sl(42352,g,42144);c[10470]=43012;c[10471]=43032;o=0;ia(62,41880+d|0,42352);h=o;o=0;if(h&1){h=Na()|0;ln(41884);Ya(h|0)}c[41880+a>>2]=0;c[41880+b>>2]=-1;h=c[41880+((c[(c[10470]|0)+-12>>2]|0)+24)>>2]|0;c[10491]=43012;c[10492]=43032;o=0;ia(62,41964+d|0,h|0);h=o;o=0;if(h&1){h=Na()|0;ln(41968);Ya(h|0)}else{c[41964+a>>2]=0;c[41964+b>>2]=-1;c[41708+((c[(c[10427]|0)+-12>>2]|0)+72)>>2]=41796;h=41880+((c[(c[10470]|0)+-12>>2]|0)+4)|0;c[h>>2]=c[h>>2]|8192;c[41880+((c[(c[10470]|0)+-12>>2]|0)+72)>>2]=41796;return}}function Ml(a){a=a|0;o=0;ka(70,41456)|0;a=o;o=0;if(((!(a&1)?(o=0,ka(70,41624)|0,a=o,o=0,!(a&1)):0)?(o=0,ka(71,41796)|0,a=o,o=0,!(a&1)):0)?(o=0,ka(71,41964)|0,a=o,o=0,!(a&1)):0)return;a=Na(0)|0;ec(a)}function Nl(){Ll(0);kb(187,56757,n|0)|0;return}function Ol(){return}function Pl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;pn(b);c[b>>2]=42600;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;ia(23,b|0,f|0);e=o;o=0;if(e&1){h=Na()|0;Gs(f);nn(b);Ya(h|0)}else{Gs(f);i=g;return}}function Ql(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;pn(b);c[b>>2]=42536;c[b+32>>2]=d;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;d=ra(37,f|0,44280)|0;h=o;o=0;if(h&1){h=Na()|0;Gs(f);nn(b);Ya(h|0)}else{Gs(f);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=g;return}}function Rl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;En(b);c[b>>2]=42472;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;ia(21,b|0,f|0);e=o;o=0;if(e&1){h=Na()|0;Gs(f);Cn(b);Ya(h|0)}else{Gs(f);i=g;return}}function Sl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;En(b);c[b>>2]=42408;c[b+32>>2]=d;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;d=ra(37,f|0,44288)|0;h=o;o=0;if(h&1){h=Na()|0;Gs(f);Cn(b);Ya(h|0)}else{Gs(f);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=g;return}}function Tl(a){a=a|0;Cn(a);cj(a);return}function Ul(b,d){b=b|0;d=d|0;Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=Is(d,44288)|0;c[b+36>>2]=d;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function Vl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Yk(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((Vk(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function Wl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(!(a[b+44>>0]|0))if((e|0)>0){f=d;d=0;while(1){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,c[f>>2]|0)|0)==-1)break a;d=d+1|0;if((d|0)<(e|0))f=f+4|0;else break}}else d=0;else d=Yk(d,4,e,c[b+32>>2]|0)|0;while(0);return d|0}function Xl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do if(!q){c[e>>2]=d;if(a[b+44>>0]|0)if((Yk(e,4,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;l=e+4|0;m=b+36|0;g=b+40|0;h=p+8|0;j=p;k=b+32|0;while(1){b=c[m>>2]|0;b=Sb[c[(c[b>>2]|0)+12>>2]&15](b,c[g>>2]|0,e,l,n,p,h,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-j|0;if((Yk(p,1,b,c[k>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Yk(e,1,1,c[k>>2]|0)|0)!=1)e=-1;else r=11}else r=11;while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function Yl(b,d){b=b|0;d=d|0;var e=0,f=0;f=Is(d,44288)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)Rr(56783);return}function Zl(a){a=a|0;Cn(a);cj(a);return}function _l(a){a=a|0;return bm(a,0)|0}function $l(a){a=a|0;return bm(a,1)|0}function am(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+8|0;f=m+4|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do if(e){c[f>>2]=c[j>>2];e=c[b+36>>2]|0;switch(Sb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if((al(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}while(0);c[j>>2]=d;a[h>>0]=1}while(0);i=m;return d|0}function bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+32|0;q=r+16|0;p=r+8|0;m=r+4|0;n=r;g=b+52|0;a:do if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=-1;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;if((e|0)>0){g=0;do{f=Zk(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[q+g>>0]=f;g=g+1|0}while((g|0)<(e|0))}b:do if(!(a[b+53>>0]|0)){j=b+40|0;k=b+36|0;l=p+4|0;c:while(1){s=c[j>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[k>>2]|0;h=q+e|0;switch(Sb[c[(c[t>>2]|0)+16>>2]&15](t,s,q,h,m,p,l,n)|0){case 2:{e=-1;break a}case 3:break c;case 1:break;default:break b}t=c[j>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){e=-1;break a}f=Zk(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[h>>0]=f;e=e+1|0}c[p>>2]=a[q>>0]}else c[p>>2]=a[q>>0];while(0);if(d){e=c[p>>2]|0;c[b+48>>2]=e;break}while(1){if((e|0)<=0)break;e=e+-1|0;if((al(a[q+e>>0]|0,c[o>>2]|0)|0)==-1){e=-1;break a}}e=c[p>>2]|0}while(0);i=r;return e|0}function cm(a){a=a|0;nn(a);cj(a);return}function dm(b,d){b=b|0;d=d|0;Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=Is(d,44280)|0;c[b+36>>2]=d;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function em(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Yk(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((Vk(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function fm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;a:do if(!(a[b+44>>0]|0))if((f|0)>0){g=e;e=0;while(1){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,d[g>>0]|0)|0)==-1)break a;e=e+1|0;if((e|0)<(f|0))g=g+1|0;else break}}else e=0;else e=Yk(e,1,f,c[b+32>>2]|0)|0;while(0);return e|0}function gm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do if(!q){a[e>>0]=d;if(a[b+44>>0]|0)if((Yk(e,1,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;m=e+1|0;g=b+36|0;h=b+40|0;j=p+8|0;k=p;l=b+32|0;while(1){b=c[g>>2]|0;b=Sb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,e,m,n,p,j,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-k|0;if((Yk(p,1,b,c[l>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Yk(e,1,1,c[l>>2]|0)|0)!=1)e=-1;else r=11}else r=11;while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function hm(b,d){b=b|0;d=d|0;var e=0,f=0;f=Is(d,44280)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)Rr(56783);return}function im(a){a=a|0;nn(a);cj(a);return}function jm(a){a=a|0;return mm(a,0)|0}function km(a){a=a|0;return mm(a,1)|0}function lm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+4|0;f=m+8|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do if(e){a[f>>0]=c[j>>2];e=c[b+36>>2]|0;switch(Sb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if((al(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}while(0);c[j>>2]=d;a[h>>0]=1}while(0);i=m;return d|0}function mm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+32|0;r=s+16|0;q=s+8|0;n=s+4|0;o=s;h=b+52|0;a:do if(a[h>>0]|0){g=b+48|0;f=c[g>>2]|0;if(e){c[g>>2]=-1;a[h>>0]=0}}else{f=c[b+44>>2]|0;f=(f|0)>1?f:1;p=b+32|0;if((f|0)>0){h=0;do{g=Zk(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[r+h>>0]=g;h=h+1|0}while((h|0)<(f|0))}b:do if(!(a[b+53>>0]|0)){k=b+40|0;l=b+36|0;m=q+1|0;c:while(1){t=c[k>>2]|0;h=t;g=c[h>>2]|0;h=c[h+4>>2]|0;u=c[l>>2]|0;j=r+f|0;switch(Sb[c[(c[u>>2]|0)+16>>2]&15](u,t,r,j,n,q,m,o)|0){case 2:{f=-1;break a}case 3:break c;case 1:break;default:break b}u=c[k>>2]|0;c[u>>2]=g;c[u+4>>2]=h;if((f|0)==8){f=-1;break a}g=Zk(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[j>>0]=g;f=f+1|0}a[q>>0]=a[r>>0]|0}else a[q>>0]=a[r>>0]|0;while(0);if(e){f=a[q>>0]|0;c[b+48>>2]=f&255}else{while(1){if((f|0)<=0)break;f=f+-1|0;if((al(d[r+f>>0]|0,c[p>>2]|0)|0)==-1){f=-1;break a}}f=a[q>>0]|0}f=f&255}while(0);i=s;return f|0}function nm(a){a=a|0;return}function om(a){a=a|0;a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function pm(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b){Bb[c[(c[a>>2]|0)+8>>2]&255](a);a=1}else a=0;return a|0}function qm(b,d){b=b|0;d=d|0;c[b>>2]=36868;o=0;ia(86,b+4|0,((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0)|0);b=o;o=0;if(b&1){b=Na()|0;Ya(b|0)}else return}function rm(a,b){a=a|0;b=b|0;c[a>>2]=36868;o=0;ia(86,a+4|0,b|0);a=o;o=0;if(a&1){a=Na()|0;Ya(a|0)}else return}function sm(a,b){a=a|0;b=b|0;var d=0,e=0;e=nl(b)|0;d=bj(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=d+12|0;lw(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function tm(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=d;c[a+4>>2]=b;return}function um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;Qb[c[(c[a>>2]|0)+12>>2]&15](e,a,b);if((c[e+4>>2]|0)==(c[d+4>>2]|0))e=(c[e>>2]|0)==(c[d>>2]|0);else e=0;i=f;return e|0}function vm(a,b,d){a=a|0;b=b|0;d=d|0;return ((c[b>>2]|0)==(d|0)?(c[b+4>>2]|0)==(a|0):0)|0}function wm(a,b,c){a=a|0;b=b|0;c=c|0;b=dk(c)|0;Gm(a,b,nl(b)|0);return}function xm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=c[d>>2]|0;do if(f){g=a[e>>0]|0;if(!(g&1))g=(g&255)>>>1;else g=c[e+4>>2]|0;if(g){Pm(e,56990)|0;f=c[d>>2]|0}d=c[d+4>>2]|0;Qb[c[(c[d>>2]|0)+24>>2]&15](h,d,f);d=a[h>>0]|0;g=(d&1)==0;o=0;ma(30,e|0,(g?h+1|0:c[h+8>>2]|0)|0,(g?(d&255)>>>1:c[h+4>>2]|0)|0)|0;d=o;o=0;if(d&1){j=Na()|0;Im(h);Ya(j|0)}else{Im(h);break}}while(0);c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;i=j;return}function ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;e=f+12|0;g=f;Gm(g,d,nl(d)|0);o=0;wa(10,e|0,b|0,g|0);d=o;o=0;do if(!(d&1)){o=0;ia(87,a|0,e|0);d=o;o=0;if(d&1){f=Na()|0;Im(e);e=f;break}else{Im(e);Im(g);c[a>>2]=42664;d=c[b+4>>2]|0;g=a+8|0;c[g>>2]=c[b>>2];c[g+4>>2]=d;i=f;return}}else e=Na()|0;while(0);Im(g);Ya(e|0)}function zm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+48|0;f=g+24|0;j=g+16|0;h=g;c[j>>2]=b;c[j+4>>2]=d;Fm(h,e);o=0;wa(10,f|0,j|0,h|0);e=o;o=0;do if(!(e&1)){o=0;ia(87,a|0,f|0);j=o;o=0;if(j&1){j=Na()|0;Im(f);f=j;break}else{Im(f);Im(h);c[a>>2]=42664;c[a+8>>2]=b;c[a+12>>2]=d;i=g;return}}else f=Na()|0;while(0);Im(h);Ya(f|0)}function Am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+48|0;e=f+24|0;h=f+16|0;g=f;c[h>>2]=b;c[h+4>>2]=d;Gm(g,58898,0);o=0;wa(10,e|0,h|0,g|0);h=o;o=0;do if(!(h&1)){o=0;ia(87,a|0,e|0);h=o;o=0;if(h&1){h=Na()|0;Im(e);e=h;break}else{Im(e);Im(g);c[a>>2]=42664;c[a+8>>2]=b;c[a+12>>2]=d;i=f;return}}else e=Na()|0;while(0);Im(g);Ya(e|0)}function Bm(a){a=a|0;mj(a);return}function Cm(a){a=a|0;mj(a);cj(a);return}function Dm(a){a=a|0;return}function Em(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;rb(42676)|0;if((c[a>>2]|0)==1)do Da(42704,42676)|0;while((c[a>>2]|0)==1);do if(!(c[a>>2]|0)){c[a>>2]=1;o=0;ka(72,42676)|0;e=o;o=0;if((((!(e&1)?(o=0,ha(d|0,b|0),e=o,o=0,!(e&1)):0)?(o=0,ka(73,42676)|0,e=o,o=0,!(e&1)):0)?(c[a>>2]=-1,o=0,ka(72,42676)|0,e=o,o=0,!(e&1)):0)?(o=0,ka(74,42704)|0,e=o,o=0,!(e&1)):0)break;e=Na(0)|0;Va(e|0)|0;o=0;ka(73,42676)|0;e=o;o=0;if((!(e&1)?(c[a>>2]=0,o=0,ka(72,42676)|0,e=o,o=0,!(e&1)):0)?(o=0,ka(74,42704)|0,e=o,o=0,!(e&1)):0){o=0;xa(5);o=0}b=Na()|0;o=0;xa(3);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}else Ya(b|0)}else cb(42676)|0;while(0);return}function Fm(b,d){b=b|0;d=d|0;if(!(a[d>>0]&1)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}else Gm(b,c[d+8>>2]|0,c[d+4>>2]|0);return}function Gm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>4294967279)_i(b);if(e>>>0<11){a[b>>0]=e<<1;b=b+1|0}else{g=e+16&-16;f=bj(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}lw(b|0,d|0,e|0)|0;a[b+e>>0]=0;return}function Hm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>4294967279)_i(b);if(d>>>0<11){a[b>>0]=d<<1;b=b+1|0}else{g=d+16&-16;f=bj(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}iw(b|0,e|0,d|0)|0;a[b+d>>0]=0;return}function Im(b){b=b|0;if(a[b>>0]&1)cj(c[b+8>>2]|0);return}function Jm(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d>>0]|0;f=(e&1)==0;Lm(b,f?d+1|0:c[d+8>>2]|0,f?(e&255)>>>1:c[d+4>>2]|0)|0}return b|0}function Km(a,b){a=a|0;b=b|0;return Lm(a,b,nl(b)|0)|0}function Lm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=10;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do if(h>>>0>=e>>>0){if(g)f=b+1|0;else f=c[b+8>>2]|0;nw(f|0,d|0,e|0)|0;a[f+e>>0]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;Sm(b,h,e-h|0,f,0,f,e,d)}while(0);return b|0}function Mm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a[b>>0]|0;g=(f&1)==0;if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;do if(f>>>0>=d>>>0)if(g){a[b+1+d>>0]=0;a[b>>0]=d<<1;break}else{a[(c[b+8>>2]|0)+d>>0]=0;c[b+4>>2]=d;break}else Nm(b,d-f|0,e)|0;while(0);return}function Nm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(d){f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>>0){Tm(b,g,d-g+h|0,h,h,0,0);f=a[b>>0]|0}if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;iw(g+h|0,e|0,d|0)|0;f=h+d|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}return b|0}function Om(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>4294967279)_i(b);e=a[b>>0]|0;if(!(e&1))f=10;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<11)i=10;else i=(d+16&-16)+-1|0;a:do if((i|0)!=(f|0)){do if((i|0)!=10){d=i+1|0;if(i>>>0<=f>>>0){o=0;d=ka(67,d|0)|0;h=o;o=0;if(h&1){b=Na(0)|0;Va(b|0)|0;Xa();break a}}else d=bj(d)|0;if(!(e&1)){f=1;g=b+1|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+1|0;f=0;g=c[b+8>>2]|0;h=1}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;lw(d|0,g|0,e+1|0)|0;if(h)cj(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}while(0);return}function Pm(a,b){a=a|0;b=b|0;return Rm(a,b,nl(b)|0)|0}function Qm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=10;h=(e&255)>>>1}if((h|0)==(g|0)){Tm(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+1|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}a[e+h>>0]=d;a[e+f>>0]=0;return}function Rm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>=e>>>0){if(e){if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;lw(g+h|0,d|0,e|0)|0;f=h+e|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}}else Sm(b,g,e-g+h|0,h,h,0,e,d);return b|0}function Sm(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((-18-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))m=b+1|0;else m=c[b+8>>2]|0;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=bj(k)|0;if(g)lw(l|0,m|0,g|0)|0;if(i)lw(l+g|0,j|0,i|0)|0;e=f-h|0;if((e|0)!=(g|0))lw(l+(i+g)|0,m+(h+g)|0,e-g|0)|0;if((d|0)!=10)cj(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;a[l+d>>0]=0;return}function Tm(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))l=b+1|0;else l=c[b+8>>2]|0;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=bj(j)|0;if(g)lw(k|0,l|0,g|0)|0;e=f-h|0;if((e|0)!=(g|0))lw(k+(i+g)|0,l+(h+g)|0,e-g|0)|0;if((d|0)!=10)cj(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function Um(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>1073741807)_i(b);if(e>>>0<2){a[b>>0]=e<<1;b=b+4|0}else{g=e+4&-4;f=bj(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}ql(b,d,e)|0;c[b+(e<<2)>>2]=0;return}function Vm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>1073741807)_i(b);if(d>>>0<2){a[b>>0]=d<<1;b=b+4|0}else{g=d+4&-4;f=bj(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}sl(b,e,d)|0;c[b+(d<<2)>>2]=0;return}function Wm(b){b=b|0;if(a[b>>0]&1)cj(c[b+8>>2]|0);return}function Xm(a,b){a=a|0;b=b|0;return Ym(a,b,pl(b)|0)|0}function Ym(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=1;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do if(h>>>0>=e>>>0){if(g)f=b+4|0;else f=c[b+8>>2]|0;rl(f,d,e)|0;c[f+(e<<2)>>2]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;$m(b,h,e-h|0,f,0,f,e,d)}while(0);return b|0}function Zm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>1073741807)_i(b);e=a[b>>0]|0;if(!(e&1))f=1;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<2)i=1;else i=(d+4&-4)+-1|0;a:do if((i|0)!=(f|0)){do if((i|0)!=1){d=(i<<2)+4|0;if(i>>>0<=f>>>0){o=0;d=ka(67,d|0)|0;h=o;o=0;if(h&1){b=Na(0)|0;Va(b|0)|0;Xa();break a}}else d=bj(d)|0;if(!(e&1)){f=1;g=b+4|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+4|0;f=0;g=c[b+8>>2]|0;h=1}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;ql(d,g,e+1|0)|0;if(h)cj(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}while(0);return}function _m(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=1;h=(e&255)>>>1}if((h|0)==(g|0)){an(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+4|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}c[e+(h<<2)>>2]=d;c[e+(f<<2)>>2]=0;return}function $m(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((1073741806-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))m=b+4|0;else m=c[b+8>>2]|0;if(d>>>0<536870887){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<2?2:k+4&-4}else k=1073741807;l=bj(k<<2)|0;if(g)ql(l,m,g)|0;if(i)ql(l+(g<<2)|0,j,i)|0;e=f-h|0;if((e|0)!=(g|0))ql(l+(i+g<<2)|0,m+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)cj(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;c[l+(d<<2)>>2]=0;return}function an(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((1073741807-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))l=b+4|0;else l=c[b+8>>2]|0;if(d>>>0<536870887){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<2?2:j+4&-4}else j=1073741807;k=bj(j<<2)|0;if(g)ql(k,l,g)|0;e=f-h|0;if((e|0)!=(g|0))ql(k+(i+g<<2)|0,l+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)cj(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function bn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=d;f=e-g|0;if(f>>>0>4294967279)_i(b);if(f>>>0<11){a[b>>0]=f<<1;h=b+1|0}else{i=f+16&-16;h=bj(i)|0;c[b+8>>2]=h;c[b>>2]=i|1;c[b+4>>2]=f}b=e-g|0;if((d|0)!=(e|0)){f=h;while(1){a[f>>0]=a[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else f=f+1|0}}a[h+b>>0]=0;return}function cn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d;f=e-h|0;g=f>>2;if(g>>>0>1073741807)_i(b);if(g>>>0<2){a[b>>0]=f>>>1;b=b+4|0}else{i=g+4&-4;f=bj(i<<2)|0;c[b+8>>2]=f;c[b>>2]=i|1;c[b+4>>2]=g;b=f}g=(e-h|0)>>>2;if((d|0)!=(e|0)){f=b;while(1){c[f>>2]=c[d>>2];d=d+4|0;if((d|0)==(e|0))break;else f=f+4|0}}c[b+(g<<2)>>2]=0;return}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=(c[a+24>>2]|0)==0;c[a+16>>2]=f&1|b;if(!((f&1|b)&c[a+20>>2])){i=d;return}b=Ma(16)|0;so()|0;c[e>>2]=1;c[e+4>>2]=43112;o=0;wa(11,b|0,57437,e|0);f=o;o=0;if(f&1){f=Na()|0;La(b|0);Ya(f|0)}else lb(b|0,864,112)}function en(a){a=a|0;var b=0;c[a>>2]=43068;o=0;ia(88,a|0,0);b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else{Gs(a+28|0);Gl(c[a+32>>2]|0);Gl(c[a+36>>2]|0);Gl(c[a+48>>2]|0);Gl(c[a+60>>2]|0);return}}function fn(a){a=a|0;en(a);return}function gn(a){a=a|0;en(a);cj(a);return}function hn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+40>>2]|0;e=a+32|0;f=a+36|0;if(d)do{d=d+-1|0;Qb[c[(c[e>>2]|0)+(d<<2)>>2]&15](b,a,c[(c[f>>2]|0)+(d<<2)>>2]|0)}while((d|0)!=0);return}function jn(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;Fs(b,a+28|0);i=d;return c[b>>2]|0}function kn(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));Es(d);return}function ln(a){a=a|0;en(a);return}function mn(a){a=a|0;en(a);cj(a);return}function nn(a){a=a|0;c[a>>2]=42760;Gs(a+4|0);return}function on(a){a=a|0;c[a>>2]=42760;Gs(a+4|0);cj(a);return}function pn(a){a=a|0;c[a>>2]=42760;Es(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function qn(a,b){a=a|0;b=b|0;return}function rn(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function sn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function tn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function un(a){a=a|0;return 0}function vn(a){a=a|0;return 0}function wn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+12|0;i=b+16|0;a:do if((e|0)>0){g=d;d=0;while(1){f=c[h>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[h>>2]=f+1;f=a[f>>0]|0}else{f=Eb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((f|0)==-1)break a;f=f&255}a[g>>0]=f;d=d+1|0;if((d|0)<(e|0))g=g+1|0;else break}}else d=0;while(0);return d|0}function xn(a){a=a|0;return -1}function yn(a){a=a|0;var b=0;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+1;a=d[a>>0]|0}return a|0}function zn(a,b){a=a|0;b=b|0;return -1}function An(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=b+24|0;j=b+28|0;a:do if((f|0)>0){h=e;e=0;while(1){g=c[i>>2]|0;if(g>>>0>=(c[j>>2]|0)>>>0){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,d[h>>0]|0)|0)==-1)break a}else{k=a[h>>0]|0;c[i>>2]=g+1;a[g>>0]=k}e=e+1|0;if((e|0)<(f|0))h=h+1|0;else break}}else e=0;while(0);return e|0}function Bn(a,b){a=a|0;b=b|0;return -1}function Cn(a){a=a|0;c[a>>2]=42824;Gs(a+4|0);return}function Dn(a){a=a|0;c[a>>2]=42824;Gs(a+4|0);cj(a);return}function En(a){a=a|0;c[a>>2]=42824;Es(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function Fn(a,b){a=a|0;b=b|0;return}function Gn(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function Hn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function In(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function Jn(a){a=a|0;return 0}function Kn(a){a=a|0;return 0}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+12|0;h=a+16|0;a:do if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){e=Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((e|0)==-1)break a}else{c[g>>2]=e+4;e=c[e>>2]|0}c[f>>2]=e;b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0;while(0);return b|0}function Mn(a){a=a|0;return -1}function Nn(a){a=a|0;var b=0;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=c[a>>2]|0}return a|0}function On(a,b){a=a|0;b=b|0;return -1}function Pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+24|0;h=a+28|0;a:do if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){if((Lb[c[(c[a>>2]|0)+52>>2]&63](a,c[f>>2]|0)|0)==-1)break a}else{i=c[f>>2]|0;c[g>>2]=e+4;c[e>>2]=i}b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0;while(0);return b|0}function Qn(a,b){a=a|0;b=b|0;return -1}function Rn(a){a=a|0;en(a+8|0);return}function Sn(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function Tn(a){a=a|0;en(a+8|0);cj(a);return}function Un(a){a=a|0;Tn(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Vn(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;a:do if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){o=0;ia(65,e|0,b|0);d=o;o=0;b:do if(d&1)d=Na(0)|0;else{do if(a[e>>0]|0){d=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;d=ka(c[(c[d>>2]|0)+24>>2]|0,d|0)|0;g=o;o=0;if(!(g&1)){if((d|0)!=-1)break;g=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+g|0,c[b+(g+16)>>2]|1|0);g=o;o=0;if(!(g&1))break}d=Na(0)|0;ho(e);break b}while(0);ho(e);break a}while(0);Va(d|0)|0;o=0;ha(181,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=o;o=0;if(!(g&1)){Xa();break}d=Na()|0;o=0;xa(3);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else Ya(d|0)}while(0);i=f;return b|0}function Wn(a){a=a|0;var b=0;b=a+16|0;c[b>>2]=c[b>>2]|1;if(!(c[a+20>>2]&1))return;else mb()}function Xn(a){a=a|0;en(a+8|0);return}function Yn(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function Zn(a){a=a|0;en(a+8|0);cj(a);return}function _n(a){a=a|0;Zn(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function $n(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;a:do if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){o=0;ia(89,e|0,b|0);d=o;o=0;b:do if(d&1)d=Na(0)|0;else{do if(a[e>>0]|0){d=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;d=ka(c[(c[d>>2]|0)+24>>2]|0,d|0)|0;g=o;o=0;if(!(g&1)){if((d|0)!=-1)break;g=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+g|0,c[b+(g+16)>>2]|1|0);g=o;o=0;if(!(g&1))break}d=Na(0)|0;po(e);break b}while(0);po(e);break a}while(0);Va(d|0)|0;o=0;ha(181,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=o;o=0;if(!(g&1)){Xa();break}d=Na()|0;o=0;xa(3);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else Ya(d|0)}while(0);i=f;return b|0}function ao(a,b){a=a|0;b=b|0;return}function bo(a){a=a|0;en(a+4|0);return}function co(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function eo(a){a=a|0;en(a+4|0);cj(a);return}function fo(a){a=a|0;eo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function go(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)Vn(e)|0;a[b>>0]=1}return}function ho(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;do if((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Za()|0):0){b=c[a>>2]|0;b=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;b=ka(c[(c[b>>2]|0)+24>>2]|0,b|0)|0;d=o;o=0;if(!(d&1)){if((b|0)!=-1)break;b=c[a>>2]|0;d=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+d|0,c[b+(d+16)>>2]|1|0);d=o;o=0;if(!(d&1))break}d=Na(0)|0;Va(d|0)|0;o=0;xa(3);d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}}while(0);return}function io(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+20|0;l=q+16|0;n=q+8|0;e=q;o=0;ia(65,n|0,b|0);m=o;o=0;a:do if(m&1){e=Na(0)|0;f=b;g=b;p=19}else{do if(a[n>>0]|0){c[e>>2]=jn(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;o=0;m=ra(37,e|0,43392)|0;j=o;o=0;if(j&1){p=Na(0)|0;Gs(e);e=p}else{Gs(e);g=c[(c[b>>2]|0)+-12>>2]|0;j=c[b+(g+24)>>2]|0;f=b+g|0;g=b+(g+76)|0;e=c[g>>2]|0;do if((e|0)==-1){c[k>>2]=jn(f)|0;o=0;e=ra(37,k|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(k);e=h<<24>>24;c[g>>2]=e;p=10;break}e=Na(0)|0;Gs(k)}else p=10;while(0);if((p|0)==10){r=c[(c[m>>2]|0)+16>>2]|0;c[l>>2]=j;o=0;c[k>>2]=c[l>>2];e=sa(r|0,m|0,k|0,f|0,e&255|0,d|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break}e=Na(0)|0}}ho(n);f=b;g=b;p=19;break a}while(0);ho(n)}while(0);do if((p|0)==19){Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();break}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0)}while(0);i=q;return b|0}function jo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+20|0;l=q+16|0;n=q+8|0;e=q;o=0;ia(65,n|0,b|0);m=o;o=0;a:do if(m&1){e=Na(0)|0;f=b;g=b;p=19}else{do if(a[n>>0]|0){c[e>>2]=jn(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;o=0;m=ra(37,e|0,43392)|0;j=o;o=0;if(j&1){p=Na(0)|0;Gs(e);e=p}else{Gs(e);g=c[(c[b>>2]|0)+-12>>2]|0;j=c[b+(g+24)>>2]|0;f=b+g|0;g=b+(g+76)|0;e=c[g>>2]|0;do if((e|0)==-1){c[k>>2]=jn(f)|0;o=0;e=ra(37,k|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(k);e=h<<24>>24;c[g>>2]=e;p=10;break}e=Na(0)|0;Gs(k)}else p=10;while(0);if((p|0)==10){r=c[(c[m>>2]|0)+24>>2]|0;c[l>>2]=j;o=0;c[k>>2]=c[l>>2];e=sa(r|0,m|0,k|0,f|0,e&255|0,d|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break}e=Na(0)|0}}ho(n);f=b;g=b;p=19;break a}while(0);ho(n)}while(0);do if((p|0)==19){Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();break}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0)}while(0);i=q;return b|0}function ko(a){a=a|0;en(a+4|0);return}function lo(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function mo(a){a=a|0;en(a+4|0);cj(a);return}function no(a){a=a|0;mo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function oo(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)$n(e)|0;a[b>>0]=1}return}function po(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;do if((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Za()|0):0){b=c[a>>2]|0;b=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;b=ka(c[(c[b>>2]|0)+24>>2]|0,b|0)|0;d=o;o=0;if(!(d&1)){if((b|0)!=-1)break;b=c[a>>2]|0;d=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+d|0,c[b+(d+16)>>2]|1|0);d=o;o=0;if(!(d&1))break}d=Na(0)|0;Va(d|0)|0;o=0;xa(3);d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}}while(0);return}function qo(a){a=a|0;return 57453}function ro(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)!=1&(c|0)<257)wm(a,b,c);else Gm(a,57462,35);return}function so(){if((a[1048]|0)==0?(Ha(1048)|0)!=0:0){c[10778]=43084;kb(72,43112,n|0)|0;Pa(1048)}return 43112}function to(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+8|0;g=e;j=d;h=c[j+4>>2]|0;d=g;c[d>>2]=c[j>>2];c[d+4>>2]=h;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];ym(a,f,b);c[a>>2]=43048;i=e;return}function uo(a){a=a|0;Bm(a);return}function vo(a){a=a|0;Bm(a);cj(a);return}function wo(a){a=a|0;en(a);cj(a);return}function xo(a){a=a|0;cj(a);return}function yo(a){a=a|0;return}function zo(a){a=a|0;return}function Ao(a){a=a|0;cj(a);return}function Bo(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((e|0)==(f|0))h=6;else while(1){if((c|0)==(d|0)){c=-1;break a}b=a[c>>0]|0;g=a[e>>0]|0;if(b<<24>>24>24){c=-1;break a}if(g<<24>>24>24){c=1;break a}c=c+1|0;e=e+1|0;if((e|0)==(f|0)){h=6;break}}while(0);if((h|0)==6)c=(c|0)!=(d|0)&1;return c|0}function Co(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bn(a,c,d);return}function Do(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)==(d|0))b=0;else{b=0;do{b=(a[c>>0]|0)+(b<<4)|0;e=b&-268435456;b=(e>>>24|e)^b;c=c+1|0}while((c|0)!=(d|0))}return b|0}function Eo(a){a=a|0;return}function Fo(a){a=a|0;cj(a);return}function Go(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;a:do if((e|0)==(f|0))h=6;else while(1){if((b|0)==(d|0)){b=-1;break a}a=c[b>>2]|0;g=c[e>>2]|0;if((a|0)<(g|0)){b=-1;break a}if((g|0)<(a|0)){b=1;break a}b=b+4|0;e=e+4|0;if((e|0)==(f|0)){h=6;break}}while(0);if((h|0)==6)b=(b|0)!=(d|0)&1;return b|0}function Ho(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;cn(a,c,d);return}function Io(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))a=0;else{a=0;do{a=(c[b>>2]|0)+(a<<4)|0;e=a&-268435456;a=(e>>>24|e)^a;b=b+4|0}while((b|0)!=(d|0))}return a|0}function Jo(a){a=a|0;return}function Ko(a){a=a|0;cj(a);return}function Lo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;q=s+56|0;j=s+52|0;n=s+48|0;k=s+44|0;l=s+40|0;m=s+36|0;p=s+32|0;t=s+8|0;r=s;a:do if(!(c[f+4>>2]&1)){c[n>>2]=-1;t=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[j>>2]=c[k>>2];c[q>>2]=c[l>>2];j=Db[t&63](b,j,q,f,g,n)|0;c[d>>2]=j;switch(c[n>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{j=jn(f)|0;c[m>>2]=j;o=0;b=ra(37,m|0,44220)|0;n=o;o=0;do if(!(n&1)){pm(j)|0;j=jn(f)|0;c[p>>2]=j;o=0;l=ra(37,p|0,44360)|0;p=o;o=0;if(p&1){t=Na()|0;pm(j)|0;j=t;break}pm(j)|0;o=0;ia(c[(c[l>>2]|0)+24>>2]|0,t|0,l|0);p=o;o=0;if(!(p&1)){k=t+12|0;o=0;ia(c[(c[l>>2]|0)+28>>2]|0,k|0,l|0);p=o;o=0;if(!(p&1)){c[r>>2]=c[e>>2];o=0;c[q>>2]=c[r>>2];j=ea(7,d|0,q|0,t|0,t+24|0,b|0,g|0,1)|0;g=o;o=0;if(g&1){j=Na()|0;Im(t+12|0);Im(t);break}else{a[h>>0]=(j|0)==(t|0)&1;j=c[d>>2]|0;Im(t+12|0);Im(t);break a}}}else k=t;j=Na()|0;l=D;if((t|0)!=(k|0))do{k=k+-12|0;Im(k)}while((k|0)!=(t|0))}else{t=Na()|0;pm(j)|0;j=t}while(0);Ya(j|0)}while(0);i=s;return j|0}function Mo(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=yu(a,k,j,e,f,g)|0;i=h;return a|0}function No(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=zu(a,k,j,e,f,g)|0;i=h;return a|0}function Oo(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Au(a,k,j,e,f,g)|0;i=h;return a|0}function Po(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Bu(a,k,j,e,f,g)|0;i=h;return a|0}function Qo(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Cu(a,k,j,e,f,g)|0;i=h;return a|0}function Ro(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Du(a,k,j,e,f,g)|0;i=h;return a|0}function So(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Eu(a,k,j,e,f,g)|0;i=h;return a|0}function To(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Fu(a,k,j,e,f,g)|0;i=h;return a|0}function Uo(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Gu(a,k,j,e,f,g)|0;i=h;return a|0}function Vo(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;C=i;i=i+240|0;x=C;s=C+208|0;E=C+32|0;b=C+28|0;D=C+16|0;w=C+12|0;u=C+48|0;v=C+8|0;t=C+4|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;o=0;g=ka(68,g|0)|0;r=o;o=0;do if(r&1)b=Na()|0;else{c[b>>2]=g;o=0;b=ra(37,b|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,va(c[(c[b>>2]|0)+32>>2]|0,b|0,57498,57524,s|0)|0,r=o,o=0,!(r&1)):0){pm(g)|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;if(!(a[D>>0]&1))b=10;else b=(c[D>>2]&-2)+-1|0;o=0;wa(8,D|0,b|0,0);r=o;o=0;a:do if(!(r&1)){q=D+8|0;r=D+1|0;g=(a[D>>0]&1)==0?r:c[q>>2]|0;c[w>>2]=g;c[v>>2]=u;c[t>>2]=0;p=D+4|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){F=29;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){F=29;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;F=19;break}}else F=19;while(0);if((F|0)==19){F=0;if(l){k=0;break}else k=0}l=a[D>>0]|0;l=(l&1)==0?(l&255)>>>1:c[p>>2]|0;if((c[w>>2]|0)==(g+l|0)){o=0;wa(8,D|0,l<<1|0,0);n=o;o=0;if(n&1){F=29;break}if(!(a[D>>0]&1))g=10;else g=(c[D>>2]&-2)+-1|0;o=0;wa(8,D|0,g|0,0);n=o;o=0;if(n&1){F=29;break}g=(a[D>>0]&1)==0?r:c[q>>2]|0;c[w>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=29;break}}else l=d[l>>0]|0;if(Wo(l&255,16,g,w,t,0,E,u,v,s)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=29;break}else continue}else{c[m>>2]=k+1;continue}}if((F|0)==29){b=Na()|0;break}o=0;wa(8,D|0,(c[w>>2]|0)-g|0,0);G=o;o=0;if((!(G&1)?(y=a[D>>0]|0,z=c[q>>2]|0,o=0,A=ua(3)|0,G=o,o=0,!(G&1)):0)?(o=0,c[x>>2]=j,B=va(16,((y&1)==0?r:z)|0,A|0,58882,x|0)|0,G=o,o=0,!(G&1)):0){if((B|0)!=1)c[h>>2]=4;if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=30;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;G=o;o=0;if(G&1){F=30;break a}if((b|0)==-1){c[f>>2]=0;F=55;break}}if(!g)F=56}else F=55;while(0);if((F|0)==55?g:0)F=56;if((F|0)==56)c[h>>2]=c[h>>2]|2;G=c[e>>2]|0;Im(D);Im(E);i=C;return G|0}else F=30}else F=30;while(0);if((F|0)==30)b=Na()|0;Im(D);break}b=Na()|0;pm(g)|0}while(0);Im(E);Ya(b|0);return 0}function Wo(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i>>0]|0;if(b<<24>>24==h<<24>>24?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+26|0;m=l;while(1){if((a[m>>0]|0)==b<<24>>24)break;m=m+1|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[57498+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[57498+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function Xo(){var b=0,d=0;do if((a[1968]|0)==0?(Ha(1968)|0)!=0:0){o=0;b=ma(31,2147483647,58885,0)|0;d=o;o=0;if(d&1){d=Na()|0;sb(1968);Ya(d|0)}else{c[11196]=b;Pa(1968);break}}while(0);return c[11196]|0}function Yo(a){a=a|0;return}function Zo(a){a=a|0;cj(a);return}function _o(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;q=s+56|0;j=s+52|0;n=s+48|0;k=s+44|0;l=s+40|0;m=s+36|0;p=s+32|0;t=s+8|0;r=s;a:do if(!(c[f+4>>2]&1)){c[n>>2]=-1;t=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[j>>2]=c[k>>2];c[q>>2]=c[l>>2];j=Db[t&63](b,j,q,f,g,n)|0;c[d>>2]=j;switch(c[n>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{j=jn(f)|0;c[m>>2]=j;o=0;b=ra(37,m|0,44212)|0;n=o;o=0;do if(!(n&1)){pm(j)|0;j=jn(f)|0;c[p>>2]=j;o=0;l=ra(37,p|0,44368)|0;p=o;o=0;if(p&1){t=Na()|0;pm(j)|0;j=t;break}pm(j)|0;o=0;ia(c[(c[l>>2]|0)+24>>2]|0,t|0,l|0);p=o;o=0;if(!(p&1)){k=t+12|0;o=0;ia(c[(c[l>>2]|0)+28>>2]|0,k|0,l|0);p=o;o=0;if(!(p&1)){c[r>>2]=c[e>>2];o=0;c[q>>2]=c[r>>2];j=ea(8,d|0,q|0,t|0,t+24|0,b|0,g|0,1)|0;g=o;o=0;if(g&1){j=Na()|0;Wm(t+12|0);Wm(t);break}else{a[h>>0]=(j|0)==(t|0)&1;j=c[d>>2]|0;Wm(t+12|0);Wm(t);break a}}}else k=t;j=Na()|0;l=D;if((t|0)!=(k|0))do{k=k+-12|0;Wm(k)}while((k|0)!=(t|0))}else{t=Na()|0;pm(j)|0;j=t}while(0);Ya(j|0)}while(0);i=s;return j|0}function $o(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ju(a,k,j,e,f,g)|0;i=h;return a|0}function ap(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ku(a,k,j,e,f,g)|0;i=h;return a|0}function bp(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Lu(a,k,j,e,f,g)|0;i=h;return a|0}function cp(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Mu(a,k,j,e,f,g)|0;i=h;return a|0}function dp(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Nu(a,k,j,e,f,g)|0;i=h;return a|0}function ep(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ou(a,k,j,e,f,g)|0;i=h;return a|0}function fp(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Pu(a,k,j,e,f,g)|0;i=h;return a|0}function gp(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Qu(a,k,j,e,f,g)|0;i=h;return a|0}function hp(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,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ru(a,k,j,e,f,g)|0;i=h;return a|0}function ip(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,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;B=i;i=i+320|0;w=B;r=B+208|0;D=B+32|0;b=B+28|0;C=B+16|0;v=B+12|0;t=B+48|0;u=B+8|0;s=B+4|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;f=ka(68,f|0)|0;q=o;o=0;do if(q&1)b=Na()|0;else{c[b>>2]=f;o=0;b=ra(37,b|0,44212)|0;q=o;o=0;if(!(q&1)?(o=0,va(c[(c[b>>2]|0)+48>>2]|0,b|0,57498,57524,r|0)|0,q=o,o=0,!(q&1)):0){pm(f)|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;if(!(a[C>>0]&1))b=10;else b=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,b|0,0);q=o;o=0;a:do if(!(q&1)){p=C+8|0;q=C+1|0;b=(a[C>>0]&1)==0?q:c[p>>2]|0;c[v>>2]=b;c[u>>2]=t;c[s>>2]=0;n=C+4|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){E=30;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){E=30;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k){j=l;break}else{j=l;break b}else{c[e>>2]=0;E=20;break}}else E=20;while(0);if((E|0)==20){E=0;if(k){j=0;break}else j=0}k=a[C>>0]|0;k=(k&1)==0?(k&255)>>>1:c[n>>2]|0;if((c[v>>2]|0)==(b+k|0)){o=0;wa(8,C|0,k<<1|0,0);m=o;o=0;if(m&1){E=30;break}if(!(a[C>>0]&1))b=10;else b=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,b|0,0);m=o;o=0;if(m&1){E=30;break}b=(a[C>>0]&1)==0?q:c[p>>2]|0;c[v>>2]=b+k}l=f+12|0;k=c[l>>2]|0;m=f+16|0;if((k|0)==(c[m>>2]|0)){o=0;k=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=30;break}}else k=c[k>>2]|0;if(jp(k,16,b,v,s,0,D,t,u,r)|0)break;j=c[l>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=30;break}else{j=f;continue}}else{c[l>>2]=j+4;j=f;continue}}if((E|0)==30){b=Na()|0;break}o=0;wa(8,C|0,(c[v>>2]|0)-b|0,0);F=o;o=0;if((!(F&1)?(x=a[C>>0]|0,y=c[p>>2]|0,o=0,z=ua(3)|0,F=o,o=0,!(F&1)):0)?(o=0,c[w>>2]=h,A=va(16,((x&1)==0?q:y)|0,z|0,58882,w|0)|0,F=o,o=0,!(F&1)):0){if((A|0)!=1)c[g>>2]=4;if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=31;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;F=o;o=0;if(F&1){E=31;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{E=59;break}else{c[e>>2]=0;E=57;break}}else E=57;while(0);if((E|0)==57?f:0)E=59;if((E|0)==59)c[g>>2]=c[g>>2]|2;F=c[d>>2]|0;Im(C);Im(D);i=B;return F|0}else E=31}else E=31;while(0);if((E|0)==31)b=Na()|0;Im(C);break}b=Na()|0;pm(f)|0}while(0);Im(D);Ya(b|0);return 0}function jp(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i>>0]|0;if((b|0)==(h|0)?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+104|0;m=l;while(1){if((c[m>>2]|0)==(b|0))break;m=m+4|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;i=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((i|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[57498+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[57498+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function kp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;k=l;d=jn(d)|0;c[k>>2]=d;o=0;g=ra(37,k|0,44220)|0;m=o;o=0;if((((!(m&1)?(o=0,va(c[(c[g>>2]|0)+32>>2]|0,g|0,57498,57524,e|0)|0,m=o,o=0,!(m&1)):0)?(o=0,j=ra(37,k|0,44360)|0,m=o,o=0,!(m&1)):0)?(o=0,h=ka(c[(c[j>>2]|0)+16>>2]|0,j|0)|0,m=o,o=0,!(m&1)):0)?(a[f>>0]=h,o=0,ia(c[(c[j>>2]|0)+20>>2]|0,b|0,j|0),m=o,o=0,!(m&1)):0){pm(d)|0;i=l;return}m=Na()|0;pm(d)|0;Ya(m|0)}function lp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0;n=i;i=i+16|0;m=n;d=jn(d)|0;c[m>>2]=d;o=0;h=ra(37,m|0,44220)|0;p=o;o=0;if(((((!(p&1)?(o=0,va(c[(c[h>>2]|0)+32>>2]|0,h|0,57498,57530,e|0)|0,p=o,o=0,!(p&1)):0)?(o=0,l=ra(37,m|0,44360)|0,p=o,o=0,!(p&1)):0)?(o=0,j=ka(c[(c[l>>2]|0)+12>>2]|0,l|0)|0,p=o,o=0,!(p&1)):0)?(a[f>>0]=j,o=0,k=ka(c[(c[l>>2]|0)+16>>2]|0,l|0)|0,p=o,o=0,!(p&1)):0)?(a[g>>0]=k,o=0,ia(c[(c[l>>2]|0)+20>>2]|0,b|0,l|0),p=o,o=0,!(p&1)):0){pm(d)|0;i=n;return}p=Na()|0;pm(d)|0;Ya(p|0)}function mp(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do if(b<<24>>24==i<<24>>24)if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if(b<<24>>24==j<<24>>24?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+32|0;p=o;while(1){if((a[p>>0]|0)==b<<24>>24)break;p=p+1|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;if((i|0)>31)p=-1;else{j=a[57498+i>>0]|0;switch(i|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=j;p=0;break a}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>21){p=0;break a}c[n>>2]=(c[n>>2]|0)+1;p=0;break a}}}}while(0);return p|0}function np(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;j=k;b=jn(b)|0;c[j>>2]=b;o=0;f=ra(37,j|0,44212)|0;l=o;o=0;if((((!(l&1)?(o=0,va(c[(c[f>>2]|0)+48>>2]|0,f|0,57498,57524,d|0)|0,l=o,o=0,!(l&1)):0)?(o=0,h=ra(37,j|0,44368)|0,l=o,o=0,!(l&1)):0)?(o=0,g=ka(c[(c[h>>2]|0)+16>>2]|0,h|0)|0,l=o,o=0,!(l&1)):0)?(c[e>>2]=g,o=0,ia(c[(c[h>>2]|0)+20>>2]|0,a|0,h|0),l=o,o=0,!(l&1)):0){pm(b)|0;i=k;return}l=Na()|0;pm(b)|0;Ya(l|0)}function op(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;l=m;b=jn(b)|0;c[l>>2]=b;o=0;g=ra(37,l|0,44212)|0;n=o;o=0;if(((((!(n&1)?(o=0,va(c[(c[g>>2]|0)+48>>2]|0,g|0,57498,57530,d|0)|0,n=o,o=0,!(n&1)):0)?(o=0,k=ra(37,l|0,44368)|0,n=o,o=0,!(n&1)):0)?(o=0,h=ka(c[(c[k>>2]|0)+12>>2]|0,k|0)|0,n=o,o=0,!(n&1)):0)?(c[e>>2]=h,o=0,j=ka(c[(c[k>>2]|0)+16>>2]|0,k|0)|0,n=o,o=0,!(n&1)):0)?(c[f>>2]=j,o=0,ia(c[(c[k>>2]|0)+20>>2]|0,a|0,k|0),n=o,o=0,!(n&1)):0){pm(b)|0;i=m;return}n=Na()|0;pm(b)|0;Ya(n|0)}function pp(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do if((b|0)==(i|0))if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if((b|0)==(j|0)?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+128|0;p=o;while(1){if((c[p>>2]|0)==(b|0))break;p=p+4|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;p=i>>2;if((i|0)<=124){j=a[57498+p>>0]|0;switch(p|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;break}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}}}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>84)p=0;else{c[n>>2]=(c[n>>2]|0)+1;p=0}}else p=-1}while(0);return p|0}function qp(a){a=a|0;return}function rp(a){a=a|0;cj(a);return}function sp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n;a:do if(!(c[e+4>>2]&1)){m=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Mb[m&31](b,h,e,f,g&1)|0}else{h=jn(e)|0;c[k>>2]=h;o=0;j=ra(37,k|0,44360)|0;l=o;o=0;b:do if(l&1){n=Na()|0;pm(h)|0;h=n}else{pm(h)|0;h=c[j>>2]|0;if(g)Cb[c[h+24>>2]&127](m,j);else Cb[c[h+28>>2]&127](m,j);b=a[m>>0]|0;l=(b&1)==0;h=m+1|0;g=m+8|0;k=l?h:m+1|0;h=l?h:c[m+8>>2]|0;l=m+4|0;e=(b&1)==0;c:do if((h|0)!=((e?k:c[g>>2]|0)+(e?(b&255)>>>1:c[l>>2]|0)|0)){d:while(1){j=a[h>>0]|0;f=c[d>>2]|0;do if(f){e=f+24|0;b=c[e>>2]|0;if((b|0)!=(c[f+28>>2]|0)){c[e>>2]=b+1;a[b>>0]=j;break}o=0;j=ra(c[(c[f>>2]|0)+52>>2]|0,f|0,j&255|0)|0;b=o;o=0;if(b&1)break d;if((j|0)==-1)c[d>>2]=0}while(0);h=h+1|0;b=a[m>>0]|0;e=(b&1)==0;if((h|0)==((e?k:c[g>>2]|0)+(e?(b&255)>>>1:c[l>>2]|0)|0))break c}h=Na()|0;Im(m);break b}while(0);h=c[d>>2]|0;Im(m);break a}while(0);Ya(h|0)}while(0);i=n;return h|0}function tp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+64|0;h=n;q=n+56|0;r=n+44|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,1,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(1,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=cd(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function up(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=a[c>>0]|0;if(f<<24>>24){g=c;while(1){g=g+1|0;c=b+1|0;a[b>>0]=f;f=a[g>>0]|0;if(!(f<<24>>24)){b=c;break}else b=c}}a:do switch(e&74|0){case 64:{a[b>>0]=111;break}case 8:if(!(e&16384)){a[b>>0]=120;break a}else{a[b>>0]=88;break a}default:if(d){a[b>>0]=100;break a}else{a[b>>0]=117;break a}}while(0);return}function vp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do switch(c[e+4>>2]&176|0){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}while(0);return b|0}function wp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;t=Is(j,44220)|0;m=Is(j,44360)|0;Cb[c[(c[m>>2]|0)+20>>2]&127](w,m);r=a[w>>0]|0;s=w+4|0;a:do if(!(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0)){o=0;va(c[(c[t>>2]|0)+32>>2]|0,t|0,b|0,e|0,f|0)|0;u=o;o=0;if(u&1)u=5;else{j=f+(e-b)|0;c[h>>2]=j;u=29}}else{c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,j|0)|0;r=o;o=0;if(r&1){u=5;break a}l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=j;l=b+1|0;break}default:l=b}b:do if((e-l|0)>1?(a[l>>0]|0)==48:0){j=l+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break b}o=0;k=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,48)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+1;a[r>>0]=k;o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,a[j>>0]|0)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+1;a[r>>0]=j;l=l+2|0}while(0);if((l|0)!=(e|0)?(n=e+-1|0,l>>>0>>0):0){k=l;j=n;do{r=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=r;k=k+1|0;j=j+-1|0}while(k>>>0>>0)}o=0;n=ka(c[(c[m>>2]|0)+16>>2]|0,m|0)|0;r=o;o=0;if(!(r&1)){p=w+8|0;q=w+1|0;c:do if(l>>>0>>0){j=0;k=0;r=l;while(1){m=a[((a[w>>0]&1)==0?q:c[p>>2]|0)+k>>0]|0;if(m<<24>>24!=0&(j|0)==(m<<24>>24|0)){j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=n;j=a[w>>0]|0;m=0;k=(k>>>0<(((j&1)==0?(j&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+k|0}else m=j;o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,a[r>>0]|0)|0;x=o;o=0;if(x&1)break;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=j;r=r+1|0;if(r>>>0>=e>>>0)break c;else j=m+1|0}j=Na()|0;break a}while(0);k=b;j=f+(l-k)|0;b=c[h>>2]|0;if((j|0)==(b|0)){b=k;u=29}else{b=b+-1|0;if(j>>>0>>0)do{x=a[j>>0]|0;a[j>>0]=a[b>>0]|0;a[b>>0]=x;j=j+1|0;b=b+-1|0}while(j>>>0>>0);b=k;j=c[h>>2]|0;u=29}}else u=5}while(0);if((u|0)==5)j=Na()|0;else if((u|0)==29){c[g>>2]=(d|0)==(e|0)?j:f+(d-b)|0;Im(w);i=v;return}Im(w);Ya(j|0)}function xp(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,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+96|0;h=n+8|0;a=n;q=n+74|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,1,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,22,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(1,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=cd(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function yp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+64|0;h=n;q=n+56|0;r=n+44|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,0,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(1,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=cd(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function zp(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,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+112|0;h=n+8|0;a=n;q=n+75|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,0,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,23,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(1,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=cd(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function Ap(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=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;z=i;i=i+176|0;u=z+84|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+88|0;t=z+80|0;k=z+118|0;y=z+76|0;x=z+72|0;v=z+68|0;w=z+64|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58898,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,c[q>>2]=c[d+8>>2],h[q+8>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<1)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}while(0);do if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(2,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(39,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Bp(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}h=d&260;f=d>>>14;i=(h|0)==260;if(i)g=0;else{a[b>>0]=46;a[b+1>>0]=42;b=b+2|0;g=1}d=a[c>>0]|0;if(d<<24>>24){e=b;while(1){c=c+1|0;b=e+1|0;a[e>>0]=d;d=a[c>>0]|0;if(!(d<<24>>24))break;else e=b}}a:do switch(h|0){case 4:if(!(f&1)){a[b>>0]=102;break a}else{a[b>>0]=70;break a}case 256:if(!(f&1)){a[b>>0]=101;break a}else{a[b>>0]=69;break a}default:{d=(f&1|0)!=0;if(i)if(d){a[b>>0]=65;break a}else{a[b>>0]=97;break a}else if(d){a[b>>0]=71;break a}else{a[b>>0]=103;break a}}}while(0);return g|0}function Cp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;z=i;i=i+16|0;A=z;y=Is(j,44220)|0;w=Is(j,44360)|0;Cb[c[(c[w>>2]|0)+20>>2]&127](A,w);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,j|0)|0;x=o;o=0;if(x&1)v=8;else{n=c[h>>2]|0;c[h>>2]=n+1;a[n>>0]=j;n=b+1|0;v=10}break}default:{n=b;v=10}}a:do if((v|0)==10){x=e;b:do if((x-n|0)>1?(a[n>>0]|0)==48:0){l=n+1|0;switch(a[l>>0]|0){case 88:case 120:break;default:{v=11;break b}}o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,48)|0;u=o;o=0;if(u&1){v=8;break a}u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=j;n=n+2|0;o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,a[l>>0]|0)|0;u=o;o=0;if(u&1){v=8;break a}u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=j;if(n>>>0>>0){j=n;while(1){l=a[j>>0]|0;o=0;m=ua(3)|0;u=o;o=0;if(u&1)break;o=0;l=ra(39,l<<24>>24|0,m|0)|0;u=o;o=0;if(u&1)break;if(!l){u=n;break b}j=j+1|0;if(j>>>0>=e>>>0){u=n;break b}}j=Na()|0;break a}else{u=n;j=n}}else v=11;while(0);c:do if((v|0)==11)if(n>>>0>>0){j=n;while(1){l=a[j>>0]|0;o=0;m=ua(3)|0;u=o;o=0;if(u&1)break;o=0;l=ra(40,l<<24>>24|0,m|0)|0;u=o;o=0;if(u&1)break;if(!l){u=n;break c}j=j+1|0;if(j>>>0>=e>>>0){u=n;break c}}j=Na()|0;break a}else{u=n;j=n}while(0);s=a[A>>0]|0;t=A+4|0;if(((s&1)==0?(s&255)>>>1:c[t>>2]|0)|0){if((u|0)!=(j|0)?(p=j+-1|0,u>>>0

>>0):0){m=u;l=p;do{s=a[m>>0]|0;a[m>>0]=a[l>>0]|0;a[l>>0]=s;m=m+1|0;l=l+-1|0}while(m>>>0>>0)}o=0;p=ka(c[(c[w>>2]|0)+16>>2]|0,w|0)|0;s=o;o=0;if(s&1){v=8;break}q=A+8|0;r=A+1|0;d:do if(u>>>0>>0){l=0;m=0;s=u;while(1){n=a[((a[A>>0]&1)==0?r:c[q>>2]|0)+m>>0]|0;if(n<<24>>24>0&(l|0)==(n<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=p;l=a[A>>0]|0;n=0;m=(m>>>0<(((l&1)==0?(l&255)>>>1:c[t>>2]|0)+-1|0)>>>0&1)+m|0}else n=l;o=0;l=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,a[s>>0]|0)|0;B=o;o=0;if(B&1)break;B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=l;s=s+1|0;if(s>>>0>=j>>>0)break d;else l=n+1|0}j=Na()|0;break a}while(0);l=f+(u-b)|0;m=c[h>>2]|0;if((l|0)!=(m|0)?(k=m+-1|0,l>>>0>>0):0){do{B=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=B;l=l+1|0;k=k+-1|0}while(l>>>0>>0);l=y}else l=y}else{o=0;va(c[(c[y>>2]|0)+32>>2]|0,y|0,u|0,j|0,c[h>>2]|0)|0;B=o;o=0;if(B&1){v=8;break}c[h>>2]=(c[h>>2]|0)+(j-u);l=y}e:do if(j>>>0>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46)break;o=0;k=ra(c[(c[l>>2]|0)+28>>2]|0,y|0,k|0)|0;B=o;o=0;if(B&1){v=4;break}B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=k;j=j+1|0;if(j>>>0>=e>>>0)break e}if((v|0)==4){j=Na()|0;break a}o=0;k=ka(c[(c[w>>2]|0)+12>>2]|0,w|0)|0;B=o;o=0;if(B&1){v=8;break a}B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=k;j=j+1|0}while(0);o=0;va(c[(c[y>>2]|0)+32>>2]|0,y|0,j|0,e|0,c[h>>2]|0)|0;B=o;o=0;if(B&1)v=8;else{B=(c[h>>2]|0)+(x-j)|0;c[h>>2]=B;c[g>>2]=(d|0)==(e|0)?B:f+(d-b)|0;Im(A);i=z;return}}while(0);if((v|0)==8)j=Na()|0;Im(A);Ya(j|0)}function Dp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=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;z=i;i=i+176|0;u=z+76|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+80|0;t=z+72|0;k=z+110|0;y=z+68|0;x=z+64|0;v=z+60|0;w=z+56|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58899,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,h[q>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<1)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}while(0);do if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(2,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(39,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Ep(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+80|0;l=q;b=q+70|0;n=q+12|0;p=q+32|0;k=q+8|0;m=q+4|0;a[b>>0]=a[58901]|0;a[b+1>>0]=a[58902]|0;a[b+2>>0]=a[58903]|0;a[b+3>>0]=a[58904]|0;a[b+4>>0]=a[58905]|0;a[b+5>>0]=a[58906]|0;h=Xo()|0;c[l>>2]=g;b=Su(n,20,h,b,l)|0;g=n+b|0;h=vp(n,g,e)|0;j=jn(e)|0;c[k>>2]=j;o=0;k=ra(37,k|0,44220)|0;r=o;o=0;if(r&1){r=Na()|0;pm(j)|0;Ya(r|0)}else{pm(j)|0;Pb[c[(c[k>>2]|0)+32>>2]&31](k,n,g,p)|0;r=p+b|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];r=cd(l,p,(h|0)==(g|0)?r:p+(h-n)|0,r,e,f)|0;i=q;return r|0}return 0}function Fp(a){a=a|0;return}function Gp(a){a=a|0;cj(a);return}function Hp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+20|0;j=m+16|0;k=m+12|0;l=m;a:do if(!(c[e+4>>2]&1)){l=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Mb[l&31](b,h,e,f,g&1)|0}else{h=jn(e)|0;c[k>>2]=h;o=0;j=ra(37,k|0,44368)|0;k=o;o=0;b:do if(k&1){m=Na()|0;pm(h)|0;h=m}else{pm(h)|0;h=c[j>>2]|0;if(g)Cb[c[h+24>>2]&127](l,j);else Cb[c[h+28>>2]&127](l,j);b=a[l>>0]|0;e=(b&1)==0;h=l+4|0;g=l+8|0;k=e?h:l+4|0;h=e?h:c[l+8>>2]|0;e=(b&1)==0;c:do if((h|0)!=((e?k:c[g>>2]|0)+((e?(b&255)>>>1:c[k>>2]|0)<<2)|0)){while(1){j=c[h>>2]|0;f=c[d>>2]|0;if(f){e=f+24|0;b=c[e>>2]|0;if((b|0)==(c[f+28>>2]|0)){o=0;j=ra(c[(c[f>>2]|0)+52>>2]|0,f|0,j|0)|0;b=o;o=0;if(b&1)break}else{c[e>>2]=b+4;c[b>>2]=j}if((j|0)==-1)c[d>>2]=0}h=h+4|0;b=a[l>>0]|0;e=(b&1)==0;if((h|0)==((e?k:c[g>>2]|0)+((e?(b&255)>>>1:c[k>>2]|0)<<2)|0))break c}h=Na()|0;Wm(l);break b}while(0);h=c[d>>2]|0;Wm(l);break a}while(0);Ya(h|0)}while(0);i=m;return h|0}function Ip(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+128|0;h=n;q=n+116|0;r=n+104|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,1,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(3,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=Uu(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function Jp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;t=Is(j,44212)|0;m=Is(j,44368)|0;Cb[c[(c[m>>2]|0)+20>>2]&127](w,m);r=a[w>>0]|0;s=w+4|0;a:do if(!(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0)){o=0;va(c[(c[t>>2]|0)+48>>2]|0,t|0,b|0,e|0,f|0)|0;u=o;o=0;if(u&1)u=5;else{j=f+(e-b<<2)|0;c[h>>2]=j;u=28}}else{c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,j|0)|0;r=o;o=0;if(r&1){u=5;break a}l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=j;l=b+1|0;break}default:l=b}b:do if((e-l|0)>1?(a[l>>0]|0)==48:0){j=l+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{r=l;break b}}o=0;k=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,48)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+4;c[r>>2]=k;o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,a[j>>0]|0)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+4;c[r>>2]=j;r=l+2|0}else r=l;while(0);if((r|0)!=(e|0)?(n=e+-1|0,r>>>0>>0):0){k=r;j=n;do{q=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=q;k=k+1|0;j=j+-1|0}while(k>>>0>>0)}o=0;m=ka(c[(c[m>>2]|0)+16>>2]|0,m|0)|0;q=o;o=0;if(!(q&1)){n=w+8|0;p=w+1|0;c:do if(r>>>0>>0){j=0;k=0;q=r;while(1){l=a[((a[w>>0]&1)==0?p:c[n>>2]|0)+k>>0]|0;if(l<<24>>24!=0&(j|0)==(l<<24>>24|0)){j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=m;j=a[w>>0]|0;l=0;k=(k>>>0<(((j&1)==0?(j&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+k|0}else l=j;o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,a[q>>0]|0)|0;x=o;o=0;if(x&1)break;x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=j;q=q+1|0;if(q>>>0>=e>>>0)break c;else j=l+1|0}j=Na()|0;break a}while(0);l=b;j=f+(r-l<<2)|0;k=c[h>>2]|0;if((j|0)!=(k|0)){b=k+-4|0;if(j>>>0>>0){do{x=c[j>>2]|0;c[j>>2]=c[b>>2];c[b>>2]=x;j=j+4|0;b=b+-4|0}while(j>>>0>>0);b=l;j=k;u=28}else{b=l;j=k;u=28}}else{b=l;u=28}}else u=5}while(0);if((u|0)==5)j=Na()|0;else if((u|0)==28){c[g>>2]=(d|0)==(e|0)?j:f+(d-b<<2)|0;Im(w);i=v;return}Im(w);Ya(j|0)}function Kp(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,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+224|0;h=n+8|0;a=n;q=n+196|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,1,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,22,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(3,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=Uu(h,k,r,s,d,e)|0;i=n;return s|0}return 0}\n function ut(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+16|0;s=u;q=u+8|0;a:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break a;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}while(0);c[k>>2]=h;c[g>>2]=e;n=j;r=b+8|0;b:do if(!((h|0)==(j|0)|(e|0)==(f|0))){b=h;m=l;c:while(1){w=d;h=c[w+4>>2]|0;l=s;c[l>>2]=c[w>>2];c[l+4>>2]=h;l=qk(c[r>>2]|0)|0;o=0;h=sa(21,b|0,g|0,m-e>>2|0,n-b|0,d|0)|0;w=o;o=0;if(w&1){v=9;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=8;break}switch(h|0){case 0:{p=1;break b}case -1:{l=b;v=14;break c}default:{}}l=(c[k>>2]|0)+h|0;c[k>>2]=l;if((l|0)==(j|0)){v=27;break}if((m|0)==(f|0)){e=c[g>>2]|0;b=l;l=f}else{l=qk(c[r>>2]|0)|0;o=0;e=ma(34,q|0,0,d|0)|0;w=o;o=0;if(w&1){v=35;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=34;break}if((e|0)==-1){p=2;break b}if(e>>>0>(n-(c[k>>2]|0)|0)>>>0){p=1;break b}if(e){l=q;while(1){m=a[l>>0]|0;w=c[k>>2]|0;c[k>>2]=w+1;a[w>>0]=m;e=e+-1|0;if(!e)break;else l=l+1|0}}e=(c[g>>2]|0)+4|0;c[g>>2]=e;d:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break d;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}while(0);b=c[k>>2]|0}if((b|0)==(j|0)|(e|0)==(f|0)){v=47;break b}else m=l}if((v|0)==8){w=Na(0)|0;ec(w)}else if((v|0)==9){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==14){c[k>>2]=l;e:do if((e|0)!=(c[g>>2]|0)){while(1){w=c[e>>2]|0;b=qk(c[r>>2]|0)|0;o=0;l=ma(34,l|0,w|0,s|0)|0;w=o;o=0;if(w&1){t=b;break}if((b|0)!=0?(o=0,ka(75,b|0)|0,w=o,o=0,w&1):0){v=18;break}if((l|0)==-1)break e;l=(c[k>>2]|0)+l|0;c[k>>2]=l;e=e+4|0;if((e|0)==(c[g>>2]|0))break e}if((v|0)==18){w=Na(0)|0;ec(w)}e=Na()|0;if((t|0)!=0?(o=0,ka(75,t|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}while(0);c[g>>2]=e;p=2;break}else if((v|0)==27){e=c[g>>2]|0;v=47;break}else if((v|0)==34){w=Na(0)|0;ec(w)}else if((v|0)==35){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}else v=47;while(0);if((v|0)==47)p=(e|0)!=(f|0)&1;i=u;return p|0}function vt(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+16|0;t=u;a:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break a;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}while(0);c[k>>2]=h;c[g>>2]=e;p=j;r=b+8|0;b:do if(!((h|0)==(j|0)|(e|0)==(f|0))){b=h;n=l;c:while(1){m=d;l=c[m+4>>2]|0;h=t;c[h>>2]=c[m>>2];c[h+4>>2]=l;h=n;l=qk(c[r>>2]|0)|0;o=0;m=sa(22,b|0,g|0,h-e|0,p-b>>2|0,d|0)|0;w=o;o=0;if(w&1){v=9;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=8;break}switch(m|0){case 0:{q=2;break b}case -1:{l=b;v=14;break c}default:{}}b=(c[k>>2]|0)+(m<<2)|0;c[k>>2]=b;if((b|0)==(j|0)){v=31;break}e=c[g>>2]|0;if((n|0)==(f|0))l=f;else{l=qk(c[r>>2]|0)|0;o=0;e=va(20,b|0,e|0,1,d|0)|0;w=o;o=0;if(w&1){v=38;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=37;break}if(e){q=2;break b}c[k>>2]=(c[k>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;d:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break d;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}while(0);b=c[k>>2]|0}if((b|0)==(j|0)|(e|0)==(f|0)){v=47;break b}else n=l}if((v|0)==8){w=Na(0)|0;ec(w)}else if((v|0)==9){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==14){c[k>>2]=l;e:do if((e|0)!=(c[g>>2]|0)){b=l;f:while(1){l=qk(c[r>>2]|0)|0;o=0;b=va(20,b|0,e|0,h-e|0,t|0)|0;w=o;o=0;if(w&1){v=19;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=18;break}switch(b|0){case -1:{v=25;break f}case -2:{v=26;break f}case 0:{e=e+1|0;break}default:e=e+b|0}b=(c[k>>2]|0)+4|0;c[k>>2]=b;if((e|0)==(c[g>>2]|0)){s=e;break e}}if((v|0)==18){w=Na(0)|0;ec(w)}else if((v|0)==19){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==25){c[g>>2]=e;q=2;break b}else if((v|0)==26){c[g>>2]=e;q=1;break b}}else s=e;while(0);c[g>>2]=s;q=(s|0)!=(f|0)&1;break}else if((v|0)==31){e=c[g>>2]|0;v=47;break}else if((v|0)==37){w=Na(0)|0;ec(w)}else if((v|0)==38){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}else v=47;while(0);if((v|0)==47)q=(e|0)!=(f|0)&1;i=u;return q|0}function wt(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;j=i;i=i+16|0;h=j;c[g>>2]=e;e=qk(c[b+8>>2]|0)|0;o=0;b=ma(34,h|0,0,d|0)|0;d=o;o=0;if(d&1){h=Na()|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,j=o,o=0,j&1):0){j=Na(0)|0;ec(j)}Ya(h|0)}if((e|0)!=0?(o=0,ka(75,e|0)|0,d=o,o=0,d&1):0){d=Na(0)|0;ec(d)}switch(b|0){case 0:case -1:{h=2;break}default:{b=b+-1|0;if(b>>>0<=(f-(c[g>>2]|0)|0)>>>0)if(!b)h=0;else while(1){d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;b=b+-1|0;if(!b){h=0;break}else h=h+1|0}else h=1}}i=j;return h|0}function xt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+8|0;o=0;d=ka(75,c[b>>2]|0)|0;e=o;o=0;do if(e&1)f=16;else{o=0;e=ma(35,0,0,4)|0;a=o;o=0;if(a&1){a=Na(0)|0;if(!d)break;o=0;ka(75,d|0)|0;h=o;o=0;if(!(h&1))break;h=Na(0)|0;ec(h)}if((d|0)!=0?(o=0,ka(75,d|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}if(!e){a=c[b>>2]|0;if(a){o=0;a=ka(75,a|0)|0;h=o;o=0;if(h&1){f=16;break}if((a|0)!=0?(o=0,ka(75,a|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}else g=0}else g=1}else g=-1;return g|0}while(0);if((f|0)==16)a=Na(0)|0;ec(a);return 0}function yt(a){a=a|0;return 0}function zt(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;k=e;j=a+8|0;a:do if((d|0)==(e|0)|(f|0)==0)a=0;else{a=0;i=0;while(1){h=qk(c[j>>2]|0)|0;o=0;g=ma(36,d|0,k-d|0,b|0)|0;n=o;o=0;if(n&1){m=h;break}if((h|0)!=0?(o=0,ka(75,h|0)|0,n=o,o=0,n&1):0){l=5;break}switch(g|0){case -2:case -1:break a;case 0:{d=d+1|0;g=1;break}default:d=d+g|0}a=g+a|0;i=i+1|0;if((d|0)==(e|0)|i>>>0>=f>>>0)break a}if((l|0)==5){n=Na(0)|0;ec(n)}a=Na()|0;if((m|0)!=0?(o=0,ka(75,m|0)|0,n=o,o=0,n&1):0){n=Na(0)|0;ec(n)}Ya(a|0)}while(0);return a|0}function At(a){a=a|0;var b=0,d=0;a=c[a+8>>2]|0;if(a){o=0;a=ka(75,a|0)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}if((a|0)!=0?(o=0,ka(75,a|0)|0,d=o,o=0,d&1):0){d=Na(0)|0;ec(d)}else b=4}else b=1;return b|0}function Bt(a){a=a|0;cj(a);return}function Ct(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Hv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Dt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Iv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Et(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Ft(a){a=a|0;return 0}function Gt(a){a=a|0;return 0}function Ht(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Jv(c,d,e,1114111,0)|0}function It(a){a=a|0;return 4}function Jt(a){a=a|0;cj(a);return}function Kt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Kv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Lt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Lv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Mt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Nt(a){a=a|0;return 0}function Ot(a){a=a|0;return 0}function Pt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Mv(c,d,e,1114111,0)|0}function Qt(a){a=a|0;return 4}function Rt(a){a=a|0;cj(a);return}function St(a){a=a|0;cj(a);return}function Tt(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=44384;a[b+8>>0]=46;a[b+9>>0]=44;b=b+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Ut(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=44424;c[a+8>>2]=46;c[a+12>>2]=44;a=a+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Vt(a){a=a|0;c[a>>2]=44384;Im(a+12|0);return}function Wt(a){a=a|0;Vt(a);cj(a);return}function Xt(a){a=a|0;c[a>>2]=44424;Im(a+16|0);return}function Yt(a){a=a|0;Xt(a);cj(a);return}function Zt(b){b=b|0;return a[b+8>>0]|0}function _t(a){a=a|0;return c[a+8>>2]|0}function $t(b){b=b|0;return a[b+9>>0]|0}function au(a){a=a|0;return c[a+12>>2]|0}function bu(a,b){a=a|0;b=b|0;Fm(a,b+12|0);return}function cu(a,b){a=a|0;b=b|0;Fm(a,b+16|0);return}function du(a,b){a=a|0;b=b|0;Gm(a,59024,4);return}function eu(a,b){a=a|0;b=b|0;Um(a,44996,pl(44996)|0);return}function fu(a,b){a=a|0;b=b|0;Gm(a,59029,5);return}function gu(a,b){a=a|0;b=b|0;Um(a,45016,pl(45016)|0);return}function hu(a){a=a|0;switch(c[a+4>>2]&74|0){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function iu(b){b=b|0;do if((a[2464]|0)==0?(Ha(2464)|0)!=0:0){if((a[2472]|0)==0?(Ha(2472)|0)!=0:0){b=45040;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=45208);kb(193,0,n|0)|0;Pa(2472)}o=0;ra(41,45040,59035)|0;b=o;o=0;if(((((((((((((!(b&1)?(o=0,ra(41,45052,59042)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45064,59049)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45076,59057)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45088,59067)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45100,59076)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45112,59083)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45124,59092)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45136,59096)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45148,59100)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45160,59104)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45172,59108)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45184,59112)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45196,59116)|0,b=o,o=0,!(b&1)):0){c[11302]=45040;Pa(2464);break}b=Na()|0;sb(2464);Ya(b|0)}while(0);return c[11302]|0}function ju(b){b=b|0;do if((a[2480]|0)==0?(Ha(2480)|0)!=0:0){if((a[2488]|0)==0?(Ha(2488)|0)!=0:0){b=45212;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=45380);kb(194,0,n|0)|0;Pa(2488)}o=0;ra(42,45212,45380)|0;b=o;o=0;if(((((((((((((!(b&1)?(o=0,ra(42,45224,45408)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45236,45436)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45248,45468)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45260,45508)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45272,45544)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45284,45572)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45296,45608)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45308,45624)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45320,45640)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45332,45656)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45344,45672)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45356,45688)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45368,45704)|0,b=o,o=0,!(b&1)):0){c[11430]=45212;Pa(2480);break}b=Na()|0;sb(2480);Ya(b|0)}while(0);return c[11430]|0}function ku(b){b=b|0;a:do if((a[2496]|0)==0?(Ha(2496)|0)!=0:0){if((a[2504]|0)==0?(Ha(2504)|0)!=0:0){b=45724;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=46012);kb(195,0,n|0)|0;Pa(2504)}o=0;ra(41,45724,59120)|0;b=o;o=0;do if((((((((((((((!(b&1)?(o=0,ra(41,45736,59128)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45748,59137)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45760,59143)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45772,59149)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45784,59153)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45796,59158)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45808,59163)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45820,59170)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45832,59180)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45844,59188)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45856,59197)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45868,59206)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45880,59210)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45892,59214)|0,b=o,o=0,!(b&1)):0){o=0;ra(41,45904,59218)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45916,59149)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45928,59222)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45940,59226)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45952,59230)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45964,59234)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45976,59238)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45988,59242)|0;b=o;o=0;if(b&1)break;o=0;ra(41,46e3,59246)|0;b=o;o=0;if(b&1)break;c[11503]=45724;Pa(2496);break a}while(0);b=Na()|0;sb(2496);Ya(b|0)}while(0);return c[11503]|0}function lu(b){b=b|0;a:do if((a[2512]|0)==0?(Ha(2512)|0)!=0:0){if((a[2520]|0)==0?(Ha(2520)|0)!=0:0){b=46016;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=46304);kb(196,0,n|0)|0;Pa(2520)}o=0;ra(42,46016,46304)|0;b=o;o=0;do if((((((((((((((!(b&1)?(o=0,ra(42,46028,46336)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46040,46372)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46052,46396)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46064,46420)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46076,46436)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46088,46456)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46100,46476)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46112,46504)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46124,46544)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46136,46576)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46148,46612)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46160,46648)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46172,46664)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46184,46680)|0,b=o,o=0,!(b&1)):0){o=0;ra(42,46196,46696)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46208,46420)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46220,46712)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46232,46728)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46244,46744)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46256,46760)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46268,46776)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46280,46792)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46292,46808)|0;b=o;o=0;if(b&1)break;c[11706]=46016;Pa(2512);break a}while(0);b=Na()|0;sb(2512);Ya(b|0)}while(0);return c[11706]|0}function mu(b){b=b|0;do if((a[2528]|0)==0?(Ha(2528)|0)!=0:0){if((a[2536]|0)==0?(Ha(2536)|0)!=0:0){b=46828;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=47116);kb(197,0,n|0)|0;Pa(2536)}o=0;ra(41,46828,59250)|0;b=o;o=0;if(!(b&1)?(o=0,ra(41,46840,59253)|0,b=o,o=0,!(b&1)):0){c[11779]=46828;Pa(2528);break}b=Na()|0;sb(2528);Ya(b|0)}while(0);return c[11779]|0}function nu(b){b=b|0;do if((a[2544]|0)==0?(Ha(2544)|0)!=0:0){if((a[2552]|0)==0?(Ha(2552)|0)!=0:0){b=47120;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=47408);kb(198,0,n|0)|0;Pa(2552)}o=0;ra(42,47120,47408)|0;b=o;o=0;if(!(b&1)?(o=0,ra(42,47132,47420)|0,b=o,o=0,!(b&1)):0){c[11858]=47120;Pa(2544);break}b=Na()|0;sb(2544);Ya(b|0)}while(0);return c[11858]|0}function ou(b){b=b|0;do if((a[2560]|0)==0?(Ha(2560)|0)!=0:0){o=0;wa(5,47436,59256,8);b=o;o=0;if(b&1){b=Na()|0;sb(2560);Ya(b|0)}else{kb(199,47436,n|0)|0;Pa(2560);break}}while(0);return 47436}function pu(b){b=b|0;var c=0;do if((a[2568]|0)==0?(Ha(2568)|0)!=0:0){o=0;b=ka(76,47448)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47484,47448,b|0),c=o,o=0,!(c&1)):0){kb(200,47484,n|0)|0;Pa(2568);break}c=Na()|0;sb(2568);Ya(c|0)}while(0);return 47484}function qu(b){b=b|0;do if((a[2576]|0)==0?(Ha(2576)|0)!=0:0){o=0;wa(5,47496,59265,8);b=o;o=0;if(b&1){b=Na()|0;sb(2576);Ya(b|0)}else{kb(199,47496,n|0)|0;Pa(2576);break}}while(0);return 47496}function ru(b){b=b|0;var c=0;do if((a[2584]|0)==0?(Ha(2584)|0)!=0:0){o=0;b=ka(76,47508)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47544,47508,b|0),c=o,o=0,!(c&1)):0){kb(200,47544,n|0)|0;Pa(2584);break}c=Na()|0;sb(2584);Ya(c|0)}while(0);return 47544}function su(b){b=b|0;do if((a[2592]|0)==0?(Ha(2592)|0)!=0:0){o=0;wa(5,47556,59274,20);b=o;o=0;if(b&1){b=Na()|0;sb(2592);Ya(b|0)}else{kb(199,47556,n|0)|0;Pa(2592);break}}while(0);return 47556}function tu(b){b=b|0;var c=0;do if((a[2600]|0)==0?(Ha(2600)|0)!=0:0){o=0;b=ka(76,47568)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47652,47568,b|0),c=o,o=0,!(c&1)):0){kb(200,47652,n|0)|0;Pa(2600);break}c=Na()|0;sb(2600);Ya(c|0)}while(0);return 47652}function uu(b){b=b|0;do if((a[2608]|0)==0?(Ha(2608)|0)!=0:0){o=0;wa(5,47664,59295,11);b=o;o=0;if(b&1){b=Na()|0;sb(2608);Ya(b|0)}else{kb(199,47664,n|0)|0;Pa(2608);break}}while(0);return 47664}function vu(b){b=b|0;var c=0;do if((a[2616]|0)==0?(Ha(2616)|0)!=0:0){o=0;b=ka(76,47676)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47724,47676,b|0),c=o,o=0,!(c&1)):0){kb(200,47724,n|0)|0;Pa(2616);break}c=Na()|0;sb(2616);Ya(c|0)}while(0);return 47724}function wu(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=44304;a=a+8|0;b=c[a>>2]|0;o=0;d=ua(3)|0;e=o;o=0;do if(!(e&1)){if((b|0)!=(d|0)?(o=0,ha(188,c[a>>2]|0),e=o,o=0,e&1):0)break;return}while(0);e=Na(0)|0;ec(e)}function xu(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+112|0;m=z;p=(g-f|0)/12|0;do if(p>>>0>100){m=Fl(p)|0;if((m|0)==0?(o=0,xa(6),y=o,o=0,y&1):0){l=0;s=6;break}l=m;s=11}else{l=0;s=11}while(0);a:do if((s|0)==11){if((f|0)==(g|0))n=0;else{s=f;q=0;r=m;while(1){n=a[s>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[s+4>>2]|0;if(!n){a[r>>0]=2;n=q+1|0;p=p+-1|0}else{a[r>>0]=1;n=q}s=s+12|0;if((s|0)==(g|0))break;else{q=n;r=r+1|0}}}x=(f|0)==(g|0);y=(f|0)==(g|0);w=0;t=n;b:while(1){n=c[b>>2]|0;do if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;v=o;o=0;if(v&1){s=5;break b}if((n|0)==-1){c[b>>2]=0;n=0;break}else{n=c[b>>2]|0;break}}}else n=0;while(0);s=(n|0)==0;q=c[e>>2]|0;if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;n=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;v=o;o=0;if(v&1){s=5;break}if((n|0)==-1){c[e>>2]=0;q=0}}}else q=0;r=(q|0)==0;n=c[b>>2]|0;if(!((p|0)!=0&(s^r))){s=64;break}q=c[n+12>>2]|0;if((q|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;v=o;o=0;if(v&1){s=5;break}}else n=d[q>>0]|0;n=n&255;if(!k){o=0;n=ra(c[(c[h>>2]|0)+12>>2]|0,h|0,n|0)|0;v=o;o=0;if(v&1){s=5;break}}v=w+1|0;if(x){n=0;s=t}else{r=0;u=f;s=t;t=m;while(1){do if((a[t>>0]|0)==1){if(!(a[u>>0]&1))q=u+1|0;else q=c[u+8>>2]|0;q=a[q+w>>0]|0;if(!k){o=0;q=ra(c[(c[h>>2]|0)+12>>2]|0,h|0,q|0)|0;A=o;o=0;if(A&1){s=4;break b}}if(n<<24>>24!=q<<24>>24){a[t>>0]=0;q=r;p=p+-1|0;break}q=a[u>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[u+4>>2]|0;if((q|0)==(v|0)){a[t>>0]=2;q=1;s=s+1|0;p=p+-1|0}else q=1}else q=r;while(0);u=u+12|0;if((u|0)==(g|0)){n=q;break}else{r=q;t=t+1|0}}}if(!n){w=v;t=s;continue}n=c[b>>2]|0;q=n+12|0;r=c[q>>2]|0;if((r|0)==(c[n+16>>2]|0)){o=0;ka(c[(c[n>>2]|0)+40>>2]|0,n|0)|0;A=o;o=0;if(A&1){s=5;break}}else c[q>>2]=r+1;if((s+p|0)>>>0<2|y){w=v;t=s;continue}else{n=f;r=s;s=m}while(1){if((a[s>>0]|0)==2){q=a[n>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[n+4>>2]|0;if((q|0)!=(v|0)){a[s>>0]=0;r=r+-1|0}}n=n+12|0;if((n|0)==(g|0)){w=v;t=r;continue b}else s=s+1|0}}if((s|0)==4){f=Na()|0;break}else if((s|0)==5){f=Na()|0;break}else if((s|0)==64){do if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;A=o;o=0;if(A&1){s=6;break a}if((n|0)==-1){c[b>>2]=0;n=0;break}else{n=c[b>>2]|0;break}}}else n=0;while(0);p=(n|0)==0;do if(!r){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;n=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;A=o;o=0;if(A&1){s=6;break a}if((n|0)==-1){c[e>>2]=0;s=76;break}}if(!p)s=77}else s=76;while(0);if((s|0)==76?p:0)s=77;if((s|0)==77)c[j>>2]=c[j>>2]|2;c:do if((f|0)==(g|0))s=81;else while(1){if((a[m>>0]|0)==2)break c;f=f+12|0;if((f|0)==(g|0)){s=81;break}else m=m+1|0}while(0);if((s|0)==81){c[j>>2]=c[j>>2]|4;f=g}if(l)Gl(l);i=z;return f|0}}while(0);if((s|0)==6)f=Na()|0;if(l)Gl(l);Ya(f|0);return 0}function yu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(21,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49;while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25;while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function zu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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,E=0,F=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){E=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;k=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(k)break;else break b;o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;n=o;o=0;if(n&1){E=24;break b}if((m|0)!=-1)if(k)break;else break b;else{c[f>>2]=0;E=16;break}}else E=16;while(0);if((E|0)==16){E=0;if(k){l=0;break}else l=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){E=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){E=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+k}m=b+12|0;k=c[m>>2]|0;n=b+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}}else k=d[k>>0]|0;if(Wo(k&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[m>>2]=k+1;continue}}if((E|0)==24){b=Na()|0;break}F=a[C>>0]|0;if((((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){F=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=F}o=0;g=va(22,g|0,c[v>>2]|0,h|0,u|0)|0;k=D;F=o;o=0;if(!(F&1)){F=j;c[F>>2]=g;c[F+4>>2]=k;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((b|0)==-1){c[f>>2]=0;E=49;break}}if(!g)E=50}else E=49;while(0);if((E|0)==49?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;F=c[e>>2]|0;Im(B);Im(C);i=A;return F|0}else E=25}else E=25;while(0);if((E|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Au(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,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;B=i;i=i+240|0;u=B+202|0;l=B+200|0;D=B+24|0;C=B+12|0;w=B+8|0;z=B+40|0;A=B+4|0;x=B;v=hu(h)|0;kp(D,h,u,l);c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;if(!(a[C>>0]&1))e=10;else e=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,e|0,0);t=o;o=0;a:do if(!(t&1)){r=C+8|0;s=C+1|0;h=(a[C>>0]&1)==0?s:c[r>>2]|0;c[w>>2]=h;c[A>>2]=z;c[x>>2]=0;t=C+4|0;q=a[l>>0]|0;e=c[f>>2]|0;b:while(1){if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)){o=0;l=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;p=o;o=0;if(p&1){E=24;break}if((l|0)==-1){c[f>>2]=0;e=0}}}else e=0;m=(e|0)==0;l=c[g>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(m)break;else break b;o=0;n=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){E=24;break b}if((n|0)!=-1)if(m)break;else break b;else{c[g>>2]=0;E=16;break}}else E=16;while(0);if((E|0)==16){E=0;if(m){l=0;break}else l=0}m=a[C>>0]|0;m=(m&1)==0?(m&255)>>>1:c[t>>2]|0;if((c[w>>2]|0)==(h+m|0)){o=0;wa(8,C|0,m<<1|0,0);p=o;o=0;if(p&1){E=24;break}if(!(a[C>>0]&1))h=10;else h=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,h|0,0);p=o;o=0;if(p&1){E=24;break}h=(a[C>>0]&1)==0?s:c[r>>2]|0;c[w>>2]=h+m}n=e+12|0;m=c[n>>2]|0;p=e+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=24;break}}else m=d[m>>0]|0;if(Wo(m&255,v,h,w,x,q,D,z,A,u)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[e>>2]|0)+40>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[n>>2]=l+1;continue}}if((E|0)==24){e=Na()|0;break}F=a[D>>0]|0;if((((F&1)==0?(F&255)>>>1:c[D+4>>2]|0)|0)!=0?(y=c[A>>2]|0,(y-z|0)<160):0){F=c[x>>2]|0;c[A>>2]=y+4;c[y>>2]=F}o=0;h=va(23,h|0,c[w>>2]|0,j|0,v|0)|0;F=o;o=0;if(!(F&1)){b[k>>1]=h;Ur(D,z,c[A>>2]|0,j);if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)){o=0;h=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=25;break}if((h|0)==-1){c[f>>2]=0;e=0}}}else e=0;h=(e|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;e=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((e|0)==-1){c[g>>2]=0;E=49;break}}if(!h)E=50}else E=49;while(0);if((E|0)==49?h:0)E=50;if((E|0)==50)c[j>>2]=c[j>>2]|2;F=c[f>>2]|0;Im(C);Im(D);i=B;return F|0}else E=25}else E=25;while(0);if((E|0)==25)e=Na()|0;Im(C);Im(D);Ya(e|0);return 0}function Bu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(24,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49;while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25;while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Cu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(25,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49;while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25;while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Du(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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,E=0,F=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){E=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;k=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(k)break;else break b;o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;n=o;o=0;if(n&1){E=24;break b}if((m|0)!=-1)if(k)break;else break b;else{c[f>>2]=0;E=16;break}}else E=16;while(0);if((E|0)==16){E=0;if(k){l=0;break}else l=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){E=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){E=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+k}m=b+12|0;k=c[m>>2]|0;n=b+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}}else k=d[k>>0]|0;if(Wo(k&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[m>>2]=k+1;continue}}if((E|0)==24){b=Na()|0;break}F=a[C>>0]|0;if((((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){F=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=F}o=0;g=va(26,g|0,c[v>>2]|0,h|0,u|0)|0;k=D;F=o;o=0;if(!(F&1)){F=j;c[F>>2]=g;c[F+4>>2]=k;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((b|0)==-1){c[f>>2]=0;E=49;break}}if(!g)E=50}else E=49;while(0);if((E|0)==49?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;F=c[e>>2]|0;Im(B);Im(C);i=A;return F|0}else E=25}else E=25;while(0);if((E|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Eu(b,e,f,h,j,k){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0.0,m=0,n=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;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,h,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do if(!(v&1)){t=F+8|0;u=F+1|0;h=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=h;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16;while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(h+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))h=10;else h=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,h|0,0);q=o;o=0;if(q&1){H=24;break}h=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=h+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,h,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(1,h|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){g[k>>2]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;h=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((h|0)==-1){c[e>>2]=0;b=0}}}else b=0;h=(b|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!h)H=50}else H=49;while(0);if((H|0)==49?h:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25;while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Fu(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0.0,m=0,n=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;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,g,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do if(!(v&1)){t=F+8|0;u=F+1|0;g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16;while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(g+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))g=10;else g=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,g|0,0);q=o;o=0;if(q&1){H=24;break}g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,g,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(2,g|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){h[k>>3]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!g)H=50}else H=49;while(0);if((H|0)==49?g:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25;while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Gu(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0.0,m=0,n=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;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,g,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do if(!(v&1)){t=F+8|0;u=F+1|0;g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16;while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(g+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))g=10;else g=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,g|0,0);q=o;o=0;if(q&1){H=24;break}g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,g,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(3,g|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){h[k>>3]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!g)H=50}else H=49;while(0);if((H|0)==49?g:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25;while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Hu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=qk(b)|0;b=fl(a,d,g)|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}i=f;return b|0}function Iu(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+112|0;l=y;n=(f-e|0)/12|0;do if(n>>>0>100){l=Fl(n)|0;if((l|0)==0?(o=0,xa(6),x=o,o=0,x&1):0){k=0;q=6;break}k=l;q=11}else{k=0;q=11}while(0);a:do if((q|0)==11){if((e|0)==(f|0))m=0;else{r=e;p=0;q=l;while(1){m=a[r>>0]|0;if(!(m&1))m=(m&255)>>>1;else m=c[r+4>>2]|0;if(!m){a[q>>0]=2;m=p+1|0;n=n+-1|0}else{a[q>>0]=1;m=p}r=r+12|0;if((r|0)==(f|0))break;else{p=m;q=q+1|0}}}w=(e|0)==(f|0);x=(e|0)==(f|0);v=0;s=n;b:while(1){n=c[b>>2]|0;do if(n){p=c[n+12>>2]|0;if((p|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;u=o;o=0;if(u&1){q=5;break b}}else n=c[p>>2]|0;if((n|0)==-1){c[b>>2]=0;r=1;break}else{r=(c[b>>2]|0)==0;break}}else r=1;while(0);p=c[d>>2]|0;if(p){n=c[p+12>>2]|0;if((n|0)==(c[p+16>>2]|0)){o=0;n=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;u=o;o=0;if(u&1){q=5;break}}else n=c[n>>2]|0;if((n|0)==-1){c[d>>2]=0;p=0;q=1}else q=0}else{p=0;q=1}n=c[b>>2]|0;if(!((s|0)!=0&(r^q))){q=66;break}p=c[n+12>>2]|0;if((p|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;u=o;o=0;if(u&1){q=5;break}}else n=c[p>>2]|0;if(!j){o=0;n=ra(c[(c[g>>2]|0)+28>>2]|0,g|0,n|0)|0;u=o;o=0;if(u&1){q=5;break}}u=v+1|0;if(w){n=0;r=s}else{r=0;t=e;q=s;s=l;while(1){do if((a[s>>0]|0)==1){if(!(a[t>>0]&1))p=t+4|0;else p=c[t+8>>2]|0;p=c[p+(v<<2)>>2]|0;if(!j){o=0;p=ra(c[(c[g>>2]|0)+28>>2]|0,g|0,p|0)|0;z=o;o=0;if(z&1){q=4;break b}}if((n|0)!=(p|0)){a[s>>0]=0;p=r;q=q+-1|0;break}p=a[t>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[t+4>>2]|0;if((p|0)==(u|0)){a[s>>0]=2;p=1;m=m+1|0;q=q+-1|0}else p=1}else p=r;while(0);t=t+12|0;if((t|0)==(f|0)){n=p;r=q;break}else{r=p;s=s+1|0}}}if(!n){v=u;s=r;continue}n=c[b>>2]|0;p=n+12|0;q=c[p>>2]|0;if((q|0)==(c[n+16>>2]|0)){o=0;ka(c[(c[n>>2]|0)+40>>2]|0,n|0)|0;z=o;o=0;if(z&1){q=5;break}}else c[p>>2]=q+4;if((m+r|0)>>>0<2|x){v=u;s=r;continue}else{n=e;q=l}while(1){if((a[q>>0]|0)==2){p=a[n>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[n+4>>2]|0;if((p|0)!=(u|0)){a[q>>0]=0;m=m+-1|0}}n=n+12|0;if((n|0)==(f|0)){v=u;s=r;continue b}else q=q+1|0}}if((q|0)==4){e=Na()|0;break}else if((q|0)==5){e=Na()|0;break}else if((q|0)==66){do if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0)){o=0;m=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;z=o;o=0;if(z&1){q=6;break a}}else m=c[m>>2]|0;if((m|0)==-1){c[b>>2]=0;n=1;break}else{n=(c[b>>2]|0)==0;break}}else n=1;while(0);do if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0)){o=0;m=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;z=o;o=0;if(z&1){q=6;break a}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else{q=81;break}else{c[d>>2]=0;q=79;break}}else q=79;while(0);if((q|0)==79?n:0)q=81;if((q|0)==81)c[h>>2]=c[h>>2]|2;c:do if((e|0)==(f|0))q=85;else while(1){if((a[l>>0]|0)==2)break c;e=e+12|0;if((e|0)==(f|0)){q=85;break}else l=l+1|0}while(0);if((q|0)==85){c[h>>2]=c[h>>2]|4;e=f}if(k)Gl(k);i=y;return e|0}}while(0);if((q|0)==6)e=Na()|0;if(k)Gl(k);Ya(e|0);return 0}function Ju(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,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;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17;while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(21,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51;while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26;while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Ku(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,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,E=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0)){o=0;f=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;m=o;o=0;if(m&1){C=25;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(l)break;else break b;else{c[e>>2]=0;C=17;break}}else C=17;while(0);if((C|0)==17){C=0;if(l){k=0;break}else k=0}f=a[A>>0]|0;f=(f&1)==0?(f&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+f|0)){o=0;wa(8,A|0,f<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+f}l=j+12|0;f=c[l>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}}else f=c[f>>2]|0;if(jp(f,t,b,u,v,n,B,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0)){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}else continue}else{c[l>>2]=f+4;continue}}if((C|0)==25){b=Na()|0;break}E=a[B>>0]|0;if((((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){E=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=E}o=0;b=va(22,b|0,c[u>>2]|0,g|0,t|0)|0;f=D;E=o;o=0;if(!(E&1)){E=h;c[E>>2]=b;c[E+4>>2]=f;Ur(B,x,c[y>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51;while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;E=c[d>>2]|0;Im(A);Im(B);i=z;return E|0}else C=26}else C=26;while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Lu(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;A=i;i=i+320|0;t=A+208|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;np(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))d=10;else d=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,d|0,0);s=o;o=0;a:do if(!(s&1)){q=B+8|0;r=B+1|0;d=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=d;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=c[k>>2]|0;k=c[e>>2]|0;b:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0)){o=0;g=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=25;break}}else g=c[g>>2]|0;if((g|0)==-1){c[e>>2]=0;g=0;l=1}else{g=k;l=0}}else{g=0;l=1}m=c[f>>2]|0;do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0)){o=0;k=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;n=o;o=0;if(n&1){D=25;break b}}else k=c[k>>2]|0;if((k|0)!=-1)if(l)break;else{k=m;break b}else{c[f>>2]=0;D=17;break}}else D=17;while(0);if((D|0)==17){D=0;if(l){k=0;break}else m=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(d+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){D=25;break}if(!(a[B>>0]&1))d=10;else d=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,d|0,0);n=o;o=0;if(n&1){D=25;break}d=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=d+k}l=g+12|0;k=c[l>>2]|0;n=g+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=25;break}}else k=c[k>>2]|0;if(jp(k,u,d,v,w,p,C,y,z,t)|0){k=m;break}k=c[l>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=25;break}else{k=g;continue}}else{c[l>>2]=k+4;k=g;continue}}if((D|0)==25){d=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;d=va(23,d|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){b[j>>1]=d;Ur(C,y,c[z>>2]|0,h);if(g){d=c[g+12>>2]|0;if((d|0)==(c[g+16>>2]|0)){o=0;d=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=26;break}}else d=c[d>>2]|0;if((d|0)==-1){c[e>>2]=0;g=1}else g=0}else g=1;do if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0)){o=0;d=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=26;break a}}else d=c[d>>2]|0;if((d|0)!=-1)if(g)break;else{D=53;break}else{c[f>>2]=0;D=51;break}}else D=51;while(0);if((D|0)==51?g:0)D=53;if((D|0)==53)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=26}else D=26;while(0);if((D|0)==26)d=Na()|0;Im(B);Im(C);Ya(d|0);return 0}function Mu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,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;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17;while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(24,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51;while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26;while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Nu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,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;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17;while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(25,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51;while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26;while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Ou(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,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,E=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0)){o=0;f=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;m=o;o=0;if(m&1){C=25;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(l)break;else break b;else{c[e>>2]=0;C=17;break}}else C=17;while(0);if((C|0)==17){C=0;if(l){k=0;break}else k=0}f=a[A>>0]|0;f=(f&1)==0?(f&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+f|0)){o=0;wa(8,A|0,f<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+f}l=j+12|0;f=c[l>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}}else f=c[f>>2]|0;if(jp(f,t,b,u,v,n,B,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0)){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}else continue}else{c[l>>2]=f+4;continue}}if((C|0)==25){b=Na()|0;break}E=a[B>>0]|0;if((((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){E=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=E}o=0;b=va(26,b|0,c[u>>2]|0,g|0,t|0)|0;f=D;E=o;o=0;if(!(E&1)){E=h;c[E>>2]=b;c[E+4>>2]=f;Ur(B,x,c[y>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51;while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;E=c[d>>2]|0;Im(A);Im(B);i=z;return E|0}else C=26}else C=26;while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Pu(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0.0,l=0,m=0,n=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;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17;while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(1,b|0,c[x>>2]|0,h|0);H=o;o=0;if(!(H&1)){g[j>>2]=k;Ur(F,B,c[C>>2]|0,h);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51;while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[h>>2]=c[h>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26;while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Qu(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0.0,l=0,m=0,n=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;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17;while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(2,b|0,c[x>>2]|0,g|0);H=o;o=0;if(!(H&1)){h[j>>3]=k;Ur(F,B,c[C>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51;while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[g>>2]=c[g>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26;while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Ru(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0.0,l=0,m=0,n=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;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17;while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(3,b|0,c[x>>2]|0,g|0);H=o;o=0;if(!(H&1)){h[j>>3]=k;Ur(F,B,c[C>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51;while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[g>>2]=c[g>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26;while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Su(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=i;i=i+16|0;h=g;c[h>>2]=f;f=qk(d)|0;d=el(a,b,e,h)|0;if((f|0)!=0?(o=0,ka(75,f|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}i=g;return d|0}function Tu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=qk(b)|0;o=0;b=ma(37,a|0,d|0,g|0)|0;a=o;o=0;if(a&1){b=Na()|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}Ya(b|0)}else{if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}i=f;return b|0}return 0}function Uu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0;p=i;i=i+16|0;n=p;j=c[b>>2]|0;a:do if(!j)j=0;else{q=d;l=f-q>>2;m=g+12|0;k=c[m>>2]|0;l=(k|0)>(l|0)?k-l|0:0;k=e;q=k-q|0;g=q>>2;if((q|0)>0?(Gb[c[(c[j>>2]|0)+48>>2]&63](j,d,g)|0)!=(g|0):0){c[b>>2]=0;j=0;break}do if((l|0)>0){Vm(n,l,h);o=0;g=ma(c[(c[j>>2]|0)+48>>2]|0,j|0,((a[n>>0]&1)==0?n+4|0:c[n+8>>2]|0)|0,l|0)|0;q=o;o=0;if(q&1){q=Na()|0;Wm(n);Ya(q|0)}if((g|0)==(l|0)){Wm(n);break}else{c[b>>2]=0;Wm(n);j=0;break a}}while(0);q=f-k|0;f=q>>2;if((q|0)>0?(Gb[c[(c[j>>2]|0)+48>>2]&63](j,e,f)|0)!=(f|0):0){c[b>>2]=0;j=0;break}c[m>>2]=0}while(0);i=p;return j|0}function Vu(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=c[a>>2]|0;do if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0))if((Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1){c[a>>2]=0;i=0;break}else{i=c[a>>2]|0;break}}else i=0;while(0);j=(i|0)==0;i=c[e>>2]|0;do if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1:0){c[e>>2]=0;r=11;break}if(j)r=13;else r=12}else r=11;while(0);if((r|0)==11)if(j)r=12;else{i=0;r=13}a:do if((r|0)==12){c[f>>2]=c[f>>2]|6;i=0}else if((r|0)==13){j=c[a>>2]|0;k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=d[k>>0]|0;k=j&255;if(k<<24>>24>-1?(q=g+8|0,(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048)!=0):0){m=(Gb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24;j=c[a>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0)){Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;o=h;n=i;h=i;i=m}else{c[k>>2]=l+1;o=h;n=i;h=i;i=m}while(1){i=i+-48|0;p=o+-1|0;j=c[a>>2]|0;do if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0;while(0);l=(j|0)==0;if(h)if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;k=0;h=0}else{k=n;h=n}else k=n;else{k=n;h=0}j=c[a>>2]|0;if(!((o|0)>1&(l^(h|0)==0)))break;l=c[j+12>>2]|0;if((l|0)==(c[j+16>>2]|0))j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=d[l>>0]|0;l=j&255;if(l<<24>>24<=-1)break a;if(!(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=((Gb[c[(c[g>>2]|0)+36>>2]&63](g,l,0)|0)<<24>>24)+(i*10|0)|0;j=c[a>>2]|0;l=j+12|0;m=c[l>>2]|0;if((m|0)==(c[j+16>>2]|0)){Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;o=p;n=k;continue}else{c[l>>2]=m+1;o=p;n=k;continue}}do if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0;while(0);j=(j|0)==0;do if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)?(Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0)==-1:0){c[e>>2]=0;r=50;break}if(j)break a}else r=50;while(0);if((r|0)==50?!j:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}while(0);return i|0}function Wu(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;g=c[a>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=c[h>>2]|0;if((g|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);h=c[b>>2]|0;do if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else g=c[g>>2]|0;if((g|0)!=-1)if(i){o=17;break}else{o=16;break}else{c[b>>2]=0;o=14;break}}else o=14;while(0);if((o|0)==14)if(i)o=16;else{h=0;o=17}a:do if((o|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((o|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=c[i>>2]|0;if(!(Gb[c[(c[e>>2]|0)+12>>2]&63](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(Gb[c[(c[e>>2]|0)+52>>2]&63](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0)){Eb[c[(c[i>>2]|0)+40>>2]&127](i)|0;m=f;l=h;j=h}else{c[j>>2]=k+4;m=f;l=h;j=h}while(1){g=g+-48|0;n=m+-1|0;h=c[a>>2]|0;do if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=c[i>>2]|0;if((h|0)==-1){c[a>>2]=0;k=1;break}else{k=(c[a>>2]|0)==0;break}}else k=1;while(0);do if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;j=0;f=0;h=1;break}else{j=l;f=l;h=(l|0)==0;break}}else{j=l;f=0;h=1}while(0);i=c[a>>2]|0;if(!((m|0)>1&(k^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=c[h>>2]|0;if(!(Gb[c[(c[e>>2]|0)+12>>2]&63](e,2048,h)|0))break a;g=((Gb[c[(c[e>>2]|0)+52>>2]&63](e,h,0)|0)<<24>>24)+(g*10|0)|0;h=c[a>>2]|0;i=h+12|0;k=c[i>>2]|0;if((k|0)==(c[h+16>>2]|0)){Eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;m=n;l=j;j=f;continue}else{c[i>>2]=k+4;m=n;l=j;j=f;continue}}do if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=c[h>>2]|0;if((h|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);do if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=c[h>>2]|0;if((h|0)!=-1)if(i)break a;else break;else{c[b>>2]=0;o=60;break}}else o=60;while(0);if((o|0)==60?!i:0)break;c[d>>2]=c[d>>2]|2}while(0);return g|0}function Xu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h|0;i=Il(e?i:0,f)|0;if(!i)Sj();do if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}while(0);c[g>>2]=201;c[b>>2]=j+h;c[d>>2]=(c[a>>2]|0)+f;return}function Yu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h>>2;i=Il(e?i:0,f)|0;if(!i)Sj();do if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}while(0);c[g>>2]=201;c[b>>2]=j+(h<<2);c[d>>2]=(c[a>>2]|0)+(f>>>2<<2);return}function Zu(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;h=d;f=a[b>>0]|0;if(!(f&1)){g=10;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h|0;do if((e|0)!=(d|0)){if((g-k|0)>>>0>>0){Tm(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+1|0;else i=c[b+8>>2]|0;h=e+(k-h)|0;if((d|0)!=(e|0)){f=d;g=i+k|0;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else g=g+1|0}}a[i+h>>0]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}while(0);return b|0}function _u(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h>>2;i=Il(e?i:0,f)|0;if(!i)Sj();do if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}while(0);c[g>>2]=201;c[b>>2]=j+(h<<2);c[d>>2]=(c[a>>2]|0)+(f>>>2<<2);return}function $u(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;h=d;f=a[b>>0]|0;if(!(f&1)){g=1;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h>>2;do if(j){if((g-k|0)>>>0>>0){an(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+4|0;else i=c[b+8>>2]|0;h=k+((e-h|0)>>>2)|0;if((d|0)!=(e|0)){f=d;g=i+(k<<2)|0;while(1){c[g>>2]=c[f>>2];f=f+4|0;if((f|0)==(e|0))break;else g=g+4|0}}c[i+(h<<2)>>2]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}while(0);return b|0}function av(b,d){b=b|0;d=d|0;var e=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;do if(d){o=0;ia(125,b|0,d|0);e=o;o=0;if(e&1){e=Na()|0;Dv(b);Ya(e|0)}else{Uv(b,d);break}}while(0);return}function bv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43148)|0);return}function cv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43188)|0);return}function dv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44220)|0);return}function ev(a,b){a=a|0;b=b|0;xs(a,b,Hs(44212)|0);return}function fv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44280)|0);return}function gv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44288)|0);return}function hv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44344)|0);return}function iv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44352)|0);return}function jv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44360)|0);return}function kv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44368)|0);return}function lv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43260)|0);return}function mv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43332)|0);return}function nv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43392)|0);return}function ov(a,b){a=a|0;b=b|0;xs(a,b,Hs(43452)|0);return}function pv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43764)|0);return}function qv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43828)|0);return}function rv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43892)|0);return}function sv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43956)|0);return}function tv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43992)|0);return}function uv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44028)|0);return}function vv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44064)|0);return}function wv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44100)|0);return}function xv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43544)|0);return}function yv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43636)|0);return}function zv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43668)|0);return}function Av(a,b){a=a|0;b=b|0;xs(a,b,Hs(43700)|0);return}function Bv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44140)|0);return}function Cv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44180)|0);return}function Dv(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;do if(e){f=b+4|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do d=d+-4|0;while((d|0)!=(e|0));c[f>>2]=d}if((b+16|0)==(e|0)){a[b+128>>0]=0;break}else{cj(e);break}}while(0);return}function Ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+4|0;d=c[h>>2]|0;e=c[a>>2]|0;f=d-e>>2;if(f>>>0>=b>>>0){if(f>>>0>b>>>0?(g=e+(b<<2)|0,(d|0)!=(g|0)):0){do d=d+-4|0;while((d|0)!=(g|0));c[h>>2]=d}}else Tv(a,b-f|0);return}function Fv(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;if((c[a+12>>2]|0)-d>>2>>>0>b>>>0)d=(c[d+(b<<2)>>2]|0)!=0;else d=0;return d|0}function Gv(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;d=c[d+4>>2]|0;a=(c[a>>2]|0)+(d>>1)|0;if(d&1)b=c[(c[a>>2]|0)+b>>2]|0;Bb[b&255](a);return}function Hv(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do if((m|0)==4){n=f;d=c[g>>2]|0;if(d>>>0>>0)while(1){l=b[d>>1]|0;m=l&65535;if(m>>>0>k>>>0){d=2;break a}do if((l&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=l}else{if((l&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)>=56320){if((l&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;l=e[d>>1]|0;if((l&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}h=m&960;if(((h<<10)+65536|m<<10&64512|l&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(h>>>6)+1|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=d>>>2|240;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>2&15|d<<4&48|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m<<4&48|l>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=l&63|128}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d;if(d>>>0>=f>>>0){d=0;break}}else d=0}while(0);return d|0}function Iv(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;l=f;if((((l-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0){c[g>>2]=e+3;m=c[j>>2]|0}else m=h}else{m=h;l=f}q=i;h=c[g>>2]|0;e=h>>>0>>0;a:do if(e&m>>>0>>0)while(1){e=a[h>>0]|0;o=e&255;if(o>>>0>k>>>0){e=2;break a}do if(e<<24>>24>-1){b[m>>1]=e&255;c[g>>2]=h+1}else{if((e&255)<194){e=2;break a}if((e&255)<224){if((l-h|0)<2){e=1;break a}e=d[h+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|o<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+2;break}if((e&255)<240){if((l-h|0)<3){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;switch(o|0){case 224:{if((n&-32)<<24>>24!=-96){e=2;break a}break}case 237:{if((n&-32)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(n&255)<<6&4032|o<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+3;break}if((e&255)>=245){e=2;break a}if((l-h|0)<4){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;h=a[h+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){e=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=h&255;if((e&192|0)!=128){e=2;break a}if((q-m|0)<4){e=1;break a}o=o&7;h=n&255;n=p<<6;e=e&63;if((h<<12&258048|o<<18|n&4032|e)>>>0>k>>>0){e=2;break a}b[m>>1]=h<<2&60|p>>>4&3|((h>>>4&3|o<<2)<<6)+16320|55296;p=m+2|0;c[j>>2]=p;b[p>>1]=e|n&960|56320;c[g>>2]=(c[g>>2]|0)+4}while(0);m=(c[j>>2]|0)+2|0;c[j>>2]=m;h=c[g>>2]|0;e=h>>>0>>0;if(!(e&m>>>0>>0)){r=39;break}}else r=39;while(0);if((r|0)==39)e=e&1;return e|0}function Jv(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do if((e|0)!=0&g>>>0>>0){m=g;h=0;b:while(1){g=a[m>>0]|0;l=g&255;if(l>>>0>f>>>0){g=m;h=42;break a}do if(g<<24>>24>-1)g=m+1|0;else{if((g&255)<194){g=m;h=42;break a}if((g&255)<224){if((n-m|0)<2){g=m;h=42;break a}g=d[m+1>>0]|0;if((g&192|0)!=128){g=m;h=42;break a}if((g&63|l<<6&1984)>>>0>f>>>0){g=m;h=42;break a}g=m+2|0;break}if((g&255)<240){g=m;if((n-g|0)<3){g=m;h=42;break a}j=a[m+1>>0]|0;i=a[m+2>>0]|0;switch(l|0){case 224:{if((j&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((j&-32)<<24>>24!=-128){h=22;break b}break}default:if((j&-64)<<24>>24!=-128){h=24;break b}}g=i&255;if((g&192|0)!=128){g=m;h=42;break a}if(((j&255)<<6&4032|l<<12&61440|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+3|0;break}if((g&255)>=245){g=m;h=42;break a}g=m;if((e-h|0)>>>0<2|(n-g|0)<4){g=m;h=42;break a}k=a[m+1>>0]|0;i=a[m+2>>0]|0;j=a[m+3>>0]|0;switch(l|0){case 240:{if((k+112&255)>=48){h=32;break b}break}case 244:{if((k&-16)<<24>>24!=-128){h=34;break b}break}default:if((k&-64)<<24>>24!=-128){h=36;break b}}i=i&255;if((i&192|0)!=128){g=m;h=42;break a}g=j&255;if((g&192|0)!=128){g=m;h=42;break a}if(((k&255)<<12&258048|l<<18&1835008|i<<6&4032|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+4|0;h=h+1|0}while(0);h=h+1|0;if(!(h>>>0>>0&g>>>0>>0)){h=42;break a}else m=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42;while(0);if((h|0)==42)g=g-b|0;return g|0}function Kv(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do if((k|0)==4){b=c[e>>2]|0;if(b>>>0>>0)while(1){j=c[b>>2]|0;if(j>>>0>i>>>0|(j&-2048|0)==55296){b=2;break a}do if(j>>>0>=128){if(j>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}b=c[h>>2]|0;g=l-b|0;if(j>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=j}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b;if(b>>>0>=d>>>0){b=0;break}}else b=0}while(0);return b|0}function Lv(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;k=e;if((((k-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0){c[f>>2]=b+3;g=c[i>>2]|0;p=k}else p=k}else p=e;k=c[f>>2]|0;b=k>>>0>>0;a:do if(b&g>>>0>>0)while(1){b=a[k>>0]|0;o=b&255;do if(b<<24>>24>-1){if(o>>>0>j>>>0){b=2;break a}c[g>>2]=o;c[f>>2]=k+1}else{if((b&255)<194){b=2;break a}if((b&255)<224){if((p-k|0)<2){b=1;break a}b=d[k+1>>0]|0;if((b&192|0)!=128){b=2;break a}b=b&63|o<<6&1984;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+2;break}if((b&255)<240){if((p-k|0)<3){b=1;break a}l=a[k+1>>0]|0;b=a[k+2>>0]|0;switch(o|0){case 224:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case 237:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}b=b&255;if((b&192|0)!=128){b=2;break a}b=(l&255)<<6&4032|o<<12&61440|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+3;break}if((b&255)>=245){b=2;break a}if((p-k|0)<4){b=1;break a}n=a[k+1>>0]|0;b=a[k+2>>0]|0;l=a[k+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){b=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){b=2;break a}break}default:if((n&-64)<<24>>24!=-128){b=2;break a}}m=b&255;if((m&192|0)!=128){b=2;break a}b=l&255;if((b&192|0)!=128){b=2;break a}b=(n&255)<<12&258048|o<<18&1835008|m<<6&4032|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+4}while(0);g=(c[i>>2]|0)+4|0;c[i>>2]=g;k=c[f>>2]|0;b=k>>>0>>0;if(!(b&g>>>0>>0)){q=38;break}}else q=38;while(0);if((q|0)==38)b=b&1;return b|0}function Mv(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do if((e|0)!=0&g>>>0>>0){l=g;m=0;b:while(1){g=a[l>>0]|0;k=g&255;do if(g<<24>>24>-1){if(k>>>0>f>>>0){g=l;h=42;break a}g=l+1|0}else{if((g&255)<194){g=l;h=42;break a}if((g&255)<224){if((n-l|0)<2){g=l;h=42;break a}g=d[l+1>>0]|0;if((g&192|0)!=128){g=l;h=42;break a}if((g&63|k<<6&1984)>>>0>f>>>0){g=l;h=42;break a}g=l+2|0;break}if((g&255)<240){g=l;if((n-g|0)<3){g=l;h=42;break a}i=a[l+1>>0]|0;h=a[l+2>>0]|0;switch(k|0){case 224:{if((i&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((i&-32)<<24>>24!=-128){h=22;break b}break}default:if((i&-64)<<24>>24!=-128){h=24;break b}}g=h&255;if((g&192|0)!=128){g=l;h=42;break a}if(((i&255)<<6&4032|k<<12&61440|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+3|0;break}if((g&255)>=245){g=l;h=42;break a}g=l;if((n-g|0)<4){g=l;h=42;break a}j=a[l+1>>0]|0;h=a[l+2>>0]|0;i=a[l+3>>0]|0;switch(k|0){case 240:{if((j+112&255)>=48){h=32;break b}break}case 244:{if((j&-16)<<24>>24!=-128){h=34;break b}break}default:if((j&-64)<<24>>24!=-128){h=36;break b}}h=h&255;if((h&192|0)!=128){g=l;h=42;break a}g=i&255;if((g&192|0)!=128){g=l;h=42;break a}if(((j&255)<<12&258048|k<<18&1835008|h<<6&4032|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+4|0}while(0);m=m+1|0;if(!(m>>>0>>0&g>>>0>>0)){h=42;break a}else l=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42;while(0);if((h|0)==42)g=g-b|0;return g|0}function Nv(a){a=a|0;Im(45196);Im(45184);Im(45172);Im(45160);Im(45148);Im(45136);Im(45124);Im(45112);Im(45100);Im(45088);Im(45076);Im(45064);Im(45052);Im(45040);return}function Ov(a){a=a|0;Wm(45368);Wm(45356);Wm(45344);Wm(45332);Wm(45320);Wm(45308);Wm(45296);Wm(45284);Wm(45272);Wm(45260);Wm(45248);Wm(45236);Wm(45224);Wm(45212);return}function Pv(a){a=a|0;Im(46e3);Im(45988);Im(45976);Im(45964);Im(45952);Im(45940);Im(45928);Im(45916);Im(45904);Im(45892);Im(45880);Im(45868);Im(45856);Im(45844);Im(45832);Im(45820);Im(45808);Im(45796);Im(45784);Im(45772);Im(45760);Im(45748);Im(45736);Im(45724);return}function Qv(a){a=a|0;Wm(46292);Wm(46280);Wm(46268);Wm(46256);Wm(46244);Wm(46232);Wm(46220);Wm(46208);Wm(46196);Wm(46184);Wm(46172);Wm(46160);Wm(46148);Wm(46136);Wm(46124);Wm(46112);Wm(46100);Wm(46088);Wm(46076);Wm(46064);Wm(46052);Wm(46040);Wm(46028);Wm(46016);return}function Rv(a){a=a|0;Im(47104);Im(47092);Im(47080);Im(47068);Im(47056);Im(47044);Im(47032);Im(47020);Im(47008);Im(46996);Im(46984);Im(46972);Im(46960);Im(46948);Im(46936);Im(46924);Im(46912);Im(46900);Im(46888);Im(46876);Im(46864);Im(46852);Im(46840);Im(46828);return}function Sv(a){a=a|0;Wm(47396);Wm(47384);Wm(47372);Wm(47360);Wm(47348);Wm(47336);Wm(47324);Wm(47312);Wm(47300);Wm(47288);Wm(47276);Wm(47264);Wm(47252);Wm(47240);Wm(47228);Wm(47216);Wm(47204);Wm(47192);Wm(47180);Wm(47168);Wm(47156);Wm(47144);Wm(47132);Wm(47120);return}function Tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;g=c[a+8>>2]|0;d=c[a+4>>2]|0;if(g-d>>2>>>0>>0){e=c[a>>2]|0;h=d-e>>2;f=h+b|0;if(f>>>0>1073741823)$i(a);d=g-e|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?f:d}else d=1073741823;Vv(j,d,h,a+16|0);h=j+8|0;g=c[h>>2]|0;iw(g|0,0,b<<2|0)|0;c[h>>2]=g+(b<<2);Wv(a,j);Xv(j)}else Uv(a,b);i=k;return}function Uv(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Vv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;c[b+12>>2]=0;c[b+16>>2]=f;do if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=bj(d<<2)|0;break}}else f=0;while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[b+12>>2]=f+(d<<2);return}function Wv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;g=a+4|0;d=b+4|0;f=(c[g>>2]|0)-e|0;h=(c[d>>2]|0)+(0-(f>>2)<<2)|0;c[d>>2]=h;lw(h|0,e|0,f|0)|0;f=c[a>>2]|0;c[a>>2]=c[d>>2];c[d>>2]=f;f=b+8|0;e=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=e;f=a+8|0;a=b+12|0;e=c[f>>2]|0;c[f>>2]=c[a>>2];c[a>>2]=e;c[b>>2]=c[d>>2];return}function Xv(b){b=b|0;var d=0,e=0,f=0;e=c[b+4>>2]|0;f=b+8|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do d=d+-4|0;while((d|0)!=(e|0));c[f>>2]=d}e=c[b>>2]|0;do if(e){d=c[b+16>>2]|0;if((d|0)==(e|0)){a[d+112>>0]=0;break}else{cj(e);break}}while(0);return}function Yv(b,d){b=b|0;d=d|0;var e=0;if(d>>>0>1073741823)$i(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=bj(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function Zv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do if((a|0)!=(b|0)){f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0.0}while(0);i=j;return +e}function _v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do if((a|0)!=(b|0)){f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0.0}while(0);i=j;return +e}function $v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}while(0);i=j;return +e}function aw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;f=0;b=0;break}g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;b=Xj(b,j,f,Xo()|0)|0;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(d|0)){c[e>>2]=4;f=0;b=0;break}if((f|0)==34){c[e>>2]=4;f=-1;b=-1}else f=D}else{c[e>>2]=4;f=0;b=0}while(0);D=f;i=k;return b|0}function bw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}while(0);i=l;return b|0}function cw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}while(0);i=l;return b|0}function dw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==34){c[e>>2]=4;b=-1;break}else{b=b&65535;break}}else{c[e>>2]=4;b=0}while(0);i=l;return b|0}function ew(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do if((a|0)!=(b|0)){g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;a=Yj(a,j,e,Xo()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;e=0;a=0;break}if((f|0)==34){c[d>>2]=4;j=(e|0)>0|(e|0)==0&a>>>0>0;D=j?2147483647:-2147483648;i=k;return (j?-1:0)|0}}else{c[d>>2]=4;e=0;a=0}while(0);D=e;i=k;return a|0}function fw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do if((a|0)==(b|0)){c[d>>2]=4;a=0}else{g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;a=Yj(a,j,e,Xo()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;a=0;break}do if((f|0)==34){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}while(0);i=k;return a|0}function gw(){}function hw(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 iw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function jw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (D=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function kw(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 lw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Wa(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function mw(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else lw(b,c,d)|0;return b|0}function ow(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 pw(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function qw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=$(e,f)|0;d=a>>>16;a=(c>>>16)+($(e,d)|0)|0;e=b>>>16;b=$(e,f)|0;return (D=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function rw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=hw(j^a,i^b,j,i)|0;g=D;a=f^j;b=e^i;return hw((ww(h,g,hw(f^c,e^d,f,e)|0,D,0)|0)^a,D^b,a,b)|0}function sw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=hw(h^a,g^b,h,g)|0;b=D;ww(a,b,hw(l^d,k^e,l,k)|0,D,j)|0;e=hw(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=D;i=f;return (D=d,e)|0}function tw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=qw(e,f)|0;a=D;return (D=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function uw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ww(a,b,c,d,0)|0}function vw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;ww(a,b,d,e,f)|0;i=g;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function ww(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;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (D=n,f)|0}else{if(!g){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (D=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (D=n,f)|0}g=h-1|0;if(g&h){i=(ba(h|0)|0)+33-(ba(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (D=o,p)|0}else{p=pw(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (D=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (D=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (D=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((pw(i|0)|0)>>>0);return (D=o,p)|0}g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (D=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=jw(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;hw(k,d,e,n)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=hw(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (D=o,p)|0}function xw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return yb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function yw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;zb[a&15](b|0,c|0,d|0,e|0,f|0)}function zw(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;return Ab[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function Aw(a,b){a=a|0;b=b|0;Bb[a&255](b|0)}function Bw(a,b,c){a=a|0;b=b|0;c=c|0;Cb[a&127](b|0,c|0)}function Cw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Db[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Dw(a,b){a=a|0;b=b|0;return Eb[a&127](b|0)|0}function Ew(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return Fb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function Fw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gb[a&63](b|0,c|0,d|0)|0}function Gw(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;Hb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0,n|0,o|0,p|0)}function Hw(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;Ib[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function Iw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Jb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Jw(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;Kb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Kw(a,b,c){a=a|0;b=b|0;c=c|0;return Lb[a&63](b|0,c|0)|0}function Lw(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 Mb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function Mw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +Nb[a&3](b|0,c|0,d|0)}function Nw(a){a=a|0;return Ob[a&15]()|0}function Ow(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Pb[a&31](b|0,c|0,d|0,e|0)|0}function Pw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qb[a&15](b|0,c|0,d|0)}function Qw(a){a=a|0;Rb[a&7]()}function Rw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Sb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Sw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Tb[a&7](b|0,c|0,d|0,e|0,+f)|0}function Tw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ub[a&63](b|0,c|0,d|0,e|0)}function Uw(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;ca(0);return 0}function Vw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(1)}function Ww(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ca(2);return 0}function Xw(a){a=a|0;ca(3)}function Yw(a,b){a=a|0;b=b|0;ca(4)}function Zw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(5);return 0}function _w(a){a=a|0;ca(6);return 0}function $w(a){a=a|0;return cb(a|0)|0}function ax(a){a=a|0;return rb(a|0)|0}function bx(a){a=a|0;return hb(a|0)|0}function cx(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;ca(7);return 0}function dx(a,b,c){a=a|0;b=b|0;c=c|0;ca(8);return 0}function ex(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;ca(9)}function fx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(10)}function gx(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;ca(11)}function hx(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ca(12)}function ix(a,b){a=a|0;b=b|0;ca(13);return 0}function jx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(14);return 0}function kx(a,b,c){a=a|0;b=b|0;c=c|0;ca(15);return 0.0}function lx(){ca(16);return 0}function mx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(17);return 0}function nx(a,b,c){a=a|0;b=b|0;c=c|0;ca(18)}function ox(a,b,c){a=a|0;b=b|0;c=c|0;lb(a|0,b|0,c|0)}function px(){ca(19)}function qx(){pb()}function rx(){Xa()}function sx(){mb()}function tx(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ca(20);return 0}function ux(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ca(21);return 0}function vx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(22)}\n function di(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8900]|0;c[b+4580>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+256;j=b+160|0;g=b+156|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function ei(a){a=a|0;var b=0,d=0;c[a>>2]=35660;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function fi(a){a=a|0;var b=0,d=0;c[a>>2]=35660;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function gi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34;while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64;while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function hi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;pi(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function ii(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;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);ji(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function ji(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,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;A=i;i=i+32|0;C=A+12|0;z=A;k=b+172|0;y=(c[k>>2]|0)+4|0;if((c[b+28>>2]|0)==1)l=c[b+20>>2]|0;else l=1;d=$(l<<1,y)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))x=6;if((x|0)==6?(o=0,e=ka(67,d|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[D>>2]|0)+1|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do if(!l)x=19;else{if(!(l>>>0>1073741823?(o=0,ha(178,z|0),w=o,o=0,w&1):0))x=17;if((x|0)==17?(f=l<<2,o=0,g=ka(67,f|0)|0,w=o,o=0,!(w&1)):0){c[z>>2]=g;x=g+(l<<2)|0;c[z+8>>2]=x;iw(g|0,0,f|0)|0;c[B>>2]=x;x=19;break}e=Na()|0;d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}while(0);if((x|0)==19){m=b+8|0;d=c[m>>2]|0;b:do if((d|0)>0){n=b+4596|0;p=$(l,y)|0;q=p+1|0;r=b+4600|0;s=b+160|0;t=b+168|0;u=b+164|0;v=b+156|0;w=b+88|0;j=b+4592|0;if((l|0)>0)h=0;else{h=0;while(1){g=c[C>>2]|0;e=g+1|0;c[n>>2]=e;f=g+q|0;c[r>>2]=f;if(!(h&1))e=q;else{c[n>>2]=f;c[r>>2]=e;e=1}l=c[s>>2]|0;if((l|0)<=(h|0)?(h|0)<((c[t>>2]|0)+l|0):0){l=c[w>>2]|0;o=0;Aa(c[(c[l>>2]|0)+8>>2]|0,l|0,g+(e+((c[v>>2]|0)-p))|0,c[u>>2]|0,y|0);l=o;o=0;if(l&1)break;d=c[m>>2]|0}h=h+1|0;if((h|0)>=(d|0)){x=50;break b}}e=Na()|0;break}c:while(1){e=c[C>>2]|0;d=e+1|0;c[n>>2]=d;e=e+q|0;c[r>>2]=e;if(h&1){c[n>>2]=e;c[r>>2]=d;d=e}g=c[z>>2]|0;e=d;f=0;do{c[j>>2]=c[g+(f<<2)>>2];x=c[k>>2]|0;a[e+x>>0]=a[e+(x+-1)>>0]|0;a[(c[r>>2]|0)+-1>>0]=a[c[n>>2]>>0]|0;o=0;ia(83,b|0,0);x=o;o=0;if(x&1){x=38;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[j>>2];e=(c[n>>2]|0)+y|0;c[n>>2]=e;d=c[r>>2]|0;c[r>>2]=d+y;f=f+1|0}while((f|0)<(l|0));x=c[s>>2]|0;if(((x|0)<=(h|0)?(h|0)<((c[t>>2]|0)+x|0):0)?(x=c[w>>2]|0,o=0,Aa(c[(c[x>>2]|0)+8>>2]|0,x|0,d+(y+((c[v>>2]|0)-p))|0,c[u>>2]|0,y|0),x=o,o=0,x&1):0){x=30;break}h=h+1|0;if((h|0)>=(c[m>>2]|0)){x=50;break b}}if((x|0)==30){e=Na()|0;break}else if((x|0)==38){e=Na()|0;break}}else x=50;while(0);do if((x|0)==50){o=0;ha(183,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);i=A;return}while(0);d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}function ki(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=b+4596|0;f=c[p>>2]|0;t=b+172|0;e=c[t>>2]|0;if((e|0)<=0)return;q=b+4600|0;r=b+4604|0;s=b+4592|0;k=f;i=d[f+-1>>0]|0;f=d[f>>0]|0;o=0;while(1){m=c[q>>2]|0;j=a[m+(o+-1)>>0]|0;n=j&255;h=o+1|0;g=d[k+h>>0]|0;l=c[r>>2]|0;k=f-i|0;i=i-n|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;m=m+o|0;if(!l){e=mi(b,j,m,e-o|0)|0;f=e+o|0;if((f|0)!=(c[t>>2]|0)){n=ni(b,n,d[(c[p>>2]|0)+f>>0]|0)|0;a[(c[q>>2]|0)+f>>0]=n;n=c[s>>2]|0;c[s>>2]=(n|0)<1?0:n+-1|0;e=e+1|0}h=e+o|0;g=c[p>>2]|0;f=d[g+(h+-1)>>0]|0;g=d[g+h>>0]|0}else{e=f-n>>31;if((e^i|0)<0)e=f;else e=n+((e^k|0)<0?0:k)|0;n=li(b,l,d[m>>0]|0,e,0)|0;a[(c[q>>2]|0)+o>>0]=n}e=c[t>>2]|0;if((e|0)<=(h|0))break;k=c[p>>2]|0;i=f;f=g;o=h}return}function li(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&255;return d|0}d=f&~(h>>31);d=d&255;return d|0}function mi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4592|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;iw(e|0,d|0,g|0)|0;return g|0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=b-d|0;h=a+128|0;e=a+136|0;if((((g|0)>-1?g:0-g|0)|0)>(c[e>>2]|0)){b=$(oi(a,a+4568|0)|0,d-b>>31|1)|0;f=c[e>>2]|0;g=f<<1|1;b=($(b,g)|0)+d|0;if((b|0)>=(0-f|0)){e=c[h>>2]|0;if((e+f|0)<(b|0))b=b-($(c[a+132>>2]|0,g)|0)|0}else{b=($(c[a+132>>2]|0,g)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&255;return a|0}a=e&~(b>>31);a=a&255;return a|0}else{d=oi(a,a+4580|0)|0;g=c[e>>2]|0;f=g<<1|1;b=($(f,d)|0)+b|0;if((b|0)>=(0-g|0)){e=c[h>>2]|0;if((e+g|0)<(b|0))b=b-($(c[a+132>>2]|0,f)|0)|0}else{b=($(c[a+132>>2]|0,f)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&255;return a|0}a=e&~(b>>31);a=a&255;return a|0}return 0}function oi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function pi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0;while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function qi(a){a=a|0;cj(a);return}function ri(a){a=a|0;return 50767}function si(a,b,c){a=a|0;b=b|0;c=c|0;Gm(a,50754,12);return}function ti(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+16|0;t=s;c[t>>2]=0;u=t+4|0;c[u>>2]=0;c[t+8>>2]=0;q=t+8|0;o=0;g=ka(67,1)|0;p=o;o=0;a:do if((!(p&1)?(p=g+1|0,a[g>>0]=e,c[t>>2]=g,c[u>>2]=p,c[q>>2]=p,o=0,ia(84,t|0,d&65535|0),p=o,o=0,!(p&1)):0)?(o=0,ia(84,t|0,b&65535|0),p=o,o=0,!(p&1)):0){m=f&255;g=c[u>>2]|0;e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);p=o;o=0;if(p&1){r=52;break}b=c[t>>2]|0;e=c[q>>2]|0;d=b}l=d;g=e-l|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;e=c[u>>2]|0;k=e-l|0;if(!g){g=0;j=0}else r=12}else{k=c[u>>2]|0;g=2147483647;e=k;k=k-l|0;r=12}if((r|0)==12){o=0;j=ka(67,g|0)|0;p=o;o=0;if(p&1){r=52;break}}a[j+k>>0]=m;n=e-l|0;p=j+(k-n)|0;lw(p|0,d|0,n|0)|0;c[t>>2]=p;c[u>>2]=j+(k+1);c[q>>2]=j+g;if(b)cj(b)}else{a[g>>0]=m;c[u>>2]=(c[u>>2]|0)+1}b:do if((f|0)>0){p=0;while(1){p=p+1|0;n=p&255;g=c[u>>2]|0;d=c[q>>2]|0;if(g>>>0>=d>>>0){b=c[t>>2]|0;e=b;j=g-e+1|0;if((j|0)<0){o=0;ha(178,t|0);m=o;o=0;if(m&1)break;b=c[t>>2]|0;e=b;d=c[q>>2]|0}m=b;g=d-m|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;d=c[u>>2]|0;k=d-m|0;if(!g){l=0;j=0}else r=25}else{k=c[u>>2]|0;g=2147483647;d=k;k=k-m|0;r=25}if((r|0)==25){r=0;o=0;j=ka(67,g|0)|0;l=o;o=0;if(l&1)break;else l=g}a[j+k>>0]=n;g=j+(k+1)|0;m=d-m|0;n=j+(k-m)|0;lw(n|0,b|0,m|0)|0;c[t>>2]=n;c[u>>2]=g;c[q>>2]=j+l;if(e){cj(e);g=c[u>>2]|0}}else{a[g>>0]=n;g=(c[u>>2]|0)+1|0;c[u>>2]=g}e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);n=o;o=0;if(n&1)break;b=c[t>>2]|0;e=c[q>>2]|0;d=b}m=d;g=e-m|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;j=c[u>>2]|0;k=j-m|0;if(!g){l=0;e=0}else r=36}else{k=c[u>>2]|0;g=2147483647;j=k;k=k-m|0;r=36}if((r|0)==36){r=0;o=0;e=ka(67,g|0)|0;n=o;o=0;if(n&1)break;else l=g}a[e+k>>0]=17;g=e+(k+1)|0;m=j-m|0;n=e+(k-m)|0;lw(n|0,d|0,m|0)|0;c[t>>2]=n;c[u>>2]=g;c[q>>2]=e+l;if(b){cj(b);g=c[u>>2]|0}}else{a[g>>0]=17;g=(c[u>>2]|0)+1|0;c[u>>2]=g}e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);n=o;o=0;if(n&1)break;b=c[t>>2]|0;e=c[q>>2]|0;d=b}l=d;g=e-l|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;e=c[u>>2]|0;k=e-l|0;if(!g){g=0;j=0}else r=48}else{k=c[u>>2]|0;g=2147483647;e=k;k=k-l|0;r=48}if((r|0)==48){r=0;o=0;j=ka(67,g|0)|0;n=o;o=0;if(n&1)break}a[j+k>>0]=0;m=e-l|0;n=j+(k-m)|0;lw(n|0,d|0,m|0)|0;c[t>>2]=n;c[u>>2]=j+(k+1);c[q>>2]=j+g;if(b)cj(b)}else{a[g>>0]=0;c[u>>2]=(c[u>>2]|0)+1}if((p|0)>=(f|0))break b}h=Na()|0;break a}while(0);o=0;k=ka(67,20)|0;f=o;o=0;if(!(f&1)){c[k>>2]=36800;a[k+4>>0]=-9;b=k+8|0;c[b>>2]=0;j=k+12|0;c[j>>2]=0;e=k+16|0;c[e>>2]=0;g=c[u>>2]|0;f=c[t>>2]|0;d=g-f|0;do if((g|0)!=(f|0)){if(!((d|0)<0?(o=0,ha(178,b|0),f=o,o=0,f&1):0))r=62;if((r|0)==62?(o=0,h=ka(67,d|0)|0,f=o,o=0,!(f&1)):0){c[j>>2]=h;c[b>>2]=h;c[e>>2]=h+d;g=c[t>>2]|0;e=c[u>>2]|0;if((g|0)==(e|0))break;do{a[h>>0]=a[g>>0]|0;h=(c[j>>2]|0)+1|0;c[j>>2]=h;g=g+1|0}while((g|0)!=(e|0));g=c[t>>2]|0;break}h=Na()|0;g=c[b>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}cj(k);break a}while(0);if(!g){i=s;return k|0}if((c[u>>2]|0)!=(g|0))c[u>>2]=g;cj(g);i=s;return k|0}else r=52}else r=52;while(0);if((r|0)==52)h=Na()|0;g=c[t>>2]|0;if(!g)Ya(h|0);if((c[u>>2]|0)!=(g|0))c[u>>2]=g;cj(g);Ya(h|0);return 0}function ui(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;r=u+28|0;w=u+16|0;t=u+4|0;s=u;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;p=bj(5)|0;c[w>>2]=p;q=w+8|0;c[q>>2]=p+5;a[p>>0]=74;a[p+1>>0]=70;a[p+2>>0]=73;a[p+3>>0]=70;a[p+4>>0]=0;c[x>>2]=p+5;o=0;ia(84,w|0,c[b>>2]&65535|0);p=o;o=0;a:do if(!(p&1)){m=c[b+4>>2]&255;d=c[x>>2]|0;f=c[q>>2]|0;if(d>>>0>=f>>>0){g=c[w>>2]|0;h=g;j=d-h+1|0;if((j|0)<0){o=0;ha(178,w|0);p=o;o=0;if(p&1){v=43;break}h=c[w>>2]|0;f=c[q>>2]|0;g=h}l=g;d=f-l|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;f=c[x>>2]|0;k=f-l|0;if(!d){d=0;j=0}else v=10}else{k=c[x>>2]|0;d=2147483647;f=k;k=k-l|0;v=10}if((v|0)==10){o=0;j=ka(67,d|0)|0;p=o;o=0;if(p&1){v=43;break}}a[j+k>>0]=m;n=f-l|0;p=j+(k-n)|0;lw(p|0,g|0,n|0)|0;c[w>>2]=p;c[x>>2]=j+(k+1);c[q>>2]=j+d;if(h)cj(h)}else{a[d>>0]=m;c[x>>2]=(c[x>>2]|0)+1}o=0;ia(84,w|0,c[b+8>>2]&65535|0);p=o;o=0;if(!(p&1)?(o=0,ia(84,w|0,c[b+12>>2]&65535|0),p=o,o=0,!(p&1)):0){p=b+16|0;n=c[p>>2]&255;d=c[x>>2]|0;g=c[q>>2]|0;if(d>>>0>=g>>>0){h=c[w>>2]|0;f=h;j=d-f+1|0;if((j|0)<0){o=0;ha(178,w|0);m=o;o=0;if(m&1){v=43;break}h=c[w>>2]|0;f=h;g=c[q>>2]|0}m=h;d=g-m|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;j=c[x>>2]|0;k=j-m|0;if(!d){l=0;g=0}else v=23}else{k=c[x>>2]|0;d=2147483647;j=k;k=k-m|0;v=23}if((v|0)==23){o=0;g=ka(67,d|0)|0;l=o;o=0;if(l&1){v=43;break}else l=d}a[g+k>>0]=n;d=g+(k+1)|0;m=j-m|0;n=g+(k-m)|0;lw(n|0,h|0,m|0)|0;c[w>>2]=n;c[x>>2]=d;c[q>>2]=g+l;if(f){cj(f);d=c[x>>2]|0}}else{a[d>>0]=n;d=(c[x>>2]|0)+1|0;c[x>>2]=d}n=b+20|0;m=c[n>>2]&255;f=c[q>>2]|0;if(d>>>0>=f>>>0){g=c[w>>2]|0;h=g;j=d-h+1|0;if((j|0)<0){o=0;ha(178,w|0);l=o;o=0;if(l&1){v=43;break}h=c[w>>2]|0;f=c[q>>2]|0;g=h}l=g;d=f-l|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;f=c[x>>2]|0;k=f-l|0;if(!d){d=0;j=0}else v=34}else{k=c[x>>2]|0;d=2147483647;f=k;k=k-l|0;v=34}if((v|0)==34){o=0;j=ka(67,d|0)|0;y=o;o=0;if(y&1){v=43;break}}a[j+k>>0]=m;m=f-l|0;y=j+(k-m)|0;lw(y|0,g|0,m|0)|0;c[w>>2]=y;c[x>>2]=j+(k+1);c[q>>2]=j+d;if(h)cj(h)}else{a[d>>0]=m;c[x>>2]=(c[x>>2]|0)+1}d=c[p>>2]|0;do if((d|0)>0){if(!(c[b+24>>2]|0)){c[s>>2]=c[x>>2];y=0+($(d*3|0,c[n>>2]|0)|0)|0;o=0;c[r>>2]=c[s>>2];va(15,w|0,r|0,0,y|0)|0;y=o;o=0;if(y&1){v=43;break a}else break}f=Ma(16)|0;o=0;wa(5,t|0,50792,57);y=o;o=0;if(!(y&1)){o=0;d=ua(1)|0;y=o;o=0;if(!(y&1)?(o=0,Aa(36,f|0,1,d|0,t|0),y=o,o=0,!(y&1)):0){o=0;wa(6,f|0,824,96);o=0;e=0}else e=1;d=Na()|0;Im(t);if(!e){e=d;break a}}else d=Na()|0;La(f|0);e=d;break a}while(0);o=0;k=ka(67,20)|0;y=o;o=0;if(!(y&1)){c[k>>2]=36800;a[k+4>>0]=-32;h=k+8|0;c[h>>2]=0;j=k+12|0;c[j>>2]=0;f=k+16|0;c[f>>2]=0;d=c[x>>2]|0;y=c[w>>2]|0;g=d-y|0;do if((d|0)!=(y|0)){if(!((g|0)<0?(o=0,ha(178,h|0),y=o,o=0,y&1):0))v=53;if((v|0)==53?(o=0,e=ka(67,g|0)|0,y=o,o=0,!(y&1)):0){c[j>>2]=e;c[h>>2]=e;c[f>>2]=e+g;d=c[w>>2]|0;f=c[x>>2]|0;if((d|0)==(f|0))break;do{a[e>>0]=a[d>>0]|0;e=(c[j>>2]|0)+1|0;c[j>>2]=e;d=d+1|0}while((d|0)!=(f|0));d=c[w>>2]|0;break}d=Na()|0;e=c[h>>2]|0;if(e){if((c[j>>2]|0)!=(e|0))c[j>>2]=e;cj(e)}cj(k);v=44;break a}while(0);if(!d){i=u;return k|0}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return k|0}else v=43}else v=43}else v=43;while(0);if((v|0)==43){d=Na()|0;v=44}if((v|0)==44)e=d;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0);return 0}function vi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;k=i;i=i+16|0;m=k;c[m>>2]=0;n=m+4|0;c[n>>2]=0;c[m+8>>2]=0;o=0;d=ka(67,1)|0;j=o;o=0;a:do if((((((!(j&1)?(j=d+1|0,a[d>>0]=1,c[m>>2]=d,c[n>>2]=j,c[m+8>>2]=j,o=0,ia(84,m|0,c[b>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+4>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+8>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+12>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+16>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,l=ka(67,20)|0,j=o,o=0,!(j&1)):0){c[l>>2]=36800;a[l+4>>0]=-8;g=l+8|0;c[g>>2]=0;j=l+12|0;c[j>>2]=0;b=l+16|0;c[b>>2]=0;d=c[n>>2]|0;p=c[m>>2]|0;f=d-p|0;do if((d|0)!=(p|0)){if(!((f|0)<0?(o=0,ha(178,g|0),p=o,o=0,p&1):0))h=11;if((h|0)==11?(o=0,e=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[j>>2]=e;c[g>>2]=e;c[b>>2]=e+f;d=c[m>>2]|0;b=c[n>>2]|0;if((d|0)==(b|0))break;do{a[e>>0]=a[d>>0]|0;e=(c[j>>2]|0)+1|0;c[j>>2]=e;d=d+1|0}while((d|0)!=(b|0));d=c[m>>2]|0;break}e=Na()|0;d=c[g>>2]|0;if(d){if((c[j>>2]|0)!=(d|0))c[j>>2]=d;cj(d)}cj(l);break a}while(0);if(!d){i=k;return l|0}if((c[n>>2]|0)!=(d|0))c[n>>2]=d;cj(d);i=k;return l|0}else h=25;while(0);if((h|0)==25)e=Na()|0;d=c[m>>2]|0;if(!d)Ya(e|0);if((c[n>>2]|0)!=(d|0))c[n>>2]=d;cj(d);Ya(e|0);return 0}function wi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=bj(5)|0;a[h>>0]=109;a[h+1>>0]=114;a[h+2>>0]=102;a[h+3>>0]=120;a[h+4>>0]=b;o=0;g=ka(67,20)|0;f=o;o=0;if(f&1){g=Na()|0;cj(h);Ya(g|0)}c[g>>2]=36800;a[g+4>>0]=-24;b=g+8|0;c[b>>2]=0;d=g+12|0;c[d>>2]=0;e=g+16|0;c[e>>2]=0;o=0;f=ka(67,5)|0;i=o;o=0;if(!(i&1)){c[d>>2]=f;c[b>>2]=f;c[e>>2]=f+5;a[f>>0]=109;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=h+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=f+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=f+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;a[i>>0]=a[f+1>>0]|0;c[d>>2]=(c[d>>2]|0)+1;cj(h);return g|0}i=Na()|0;cj(g);cj(h);Ya(i|0);return 0}function xi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;t=w+8|0;o=0;g=ka(67,1)|0;s=o;o=0;a:do if(!(s&1)){k=g+1|0;s=k;a[g>>0]=d;c[w>>2]=g;c[x>>2]=s;c[t>>2]=s;if((d|0)>0){j=k;s=0;do{r=s+b&255;if(j>>>0>=k>>>0){g=c[w>>2]|0;l=g;j=j-l+1|0;if((j|0)<0){o=0;ha(178,w|0);q=o;o=0;if(q&1){u=28;break}l=c[w>>2]|0;k=c[t>>2]|0;q=l}else q=g;p=q;g=k-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;k=c[x>>2]|0;m=k-p|0;if(!g){n=0;j=0}else u=13}else{m=c[x>>2]|0;g=2147483647;k=m;m=m-p|0;u=13}if((u|0)==13){u=0;o=0;j=ka(67,g|0)|0;n=o;o=0;if(n&1){u=28;break}else n=g}a[j+m>>0]=r;g=j+(m+1)|0;p=k-p|0;r=j+(m-p)|0;lw(r|0,q|0,p|0)|0;c[w>>2]=r;c[x>>2]=g;c[t>>2]=j+n;if(l){cj(l);g=c[x>>2]|0}}else{a[j>>0]=r;g=(c[x>>2]|0)+1|0;c[x>>2]=g}k=c[t>>2]|0;if(g>>>0>=k>>>0){l=c[w>>2]|0;j=l;m=g-j+1|0;if((m|0)<0){o=0;ha(178,w|0);r=o;o=0;if(r&1){u=28;break}l=c[w>>2]|0;j=l;k=c[t>>2]|0}p=l;g=k-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?m:g;m=c[x>>2]|0;k=m-p|0;if(!g){g=0;n=0}else u=24}else{k=c[x>>2]|0;g=2147483647;m=k;k=k-p|0;u=24}if((u|0)==24){u=0;o=0;n=ka(67,g|0)|0;r=o;o=0;if(r&1){u=28;break}}a[n+k>>0]=0;q=m-p|0;r=n+(k-q)|0;lw(r|0,l|0,q|0)|0;c[w>>2]=r;c[x>>2]=n+(k+1);c[t>>2]=n+g;if(j)cj(j)}else{a[g>>0]=0;c[x>>2]=(c[x>>2]|0)+1}s=s+1|0;j=c[x>>2]|0;k=c[t>>2]|0}while((s|0)<(d|0));if((u|0)==28){h=Na()|0;break}g=e&255;if(j>>>0>>0){a[j>>0]=g;j=(c[x>>2]|0)+1|0;c[x>>2]=j}else u=37}else{j=k;g=e&255;u=37}if((u|0)==37){l=c[w>>2]|0;m=l;n=j-m+1|0;if((n|0)<0){o=0;ha(178,w|0);e=o;o=0;if(e&1){u=29;break}m=c[w>>2]|0;k=c[t>>2]|0;l=m}r=l;j=k-r|0;if(j>>>0<1073741823){j=j<<1;j=j>>>0>>0?n:j;n=c[x>>2]|0;p=n-r|0;if(!j){q=0;k=0}else u=43}else{p=c[x>>2]|0;j=2147483647;n=p;p=p-r|0;u=43}if((u|0)==43){o=0;k=ka(67,j|0)|0;e=o;o=0;if(e&1){u=29;break}else q=j}a[k+p>>0]=g;j=k+(p+1)|0;b=n-r|0;e=k+(p-b)|0;lw(e|0,l|0,b|0)|0;c[w>>2]=e;c[x>>2]=j;c[t>>2]=k+q;if(m){cj(m);j=c[x>>2]|0}}r=f&255;g=c[t>>2]|0;if(j>>>0>=g>>>0){k=c[w>>2]|0;l=k;j=j-l+1|0;if((j|0)<0){o=0;ha(178,w|0);f=o;o=0;if(f&1){u=29;break}l=c[w>>2]|0;g=c[t>>2]|0;k=l}q=k;g=g-q|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;m=c[x>>2]|0;n=m-q|0;if(!g){p=0;j=0}else u=54}else{n=c[x>>2]|0;g=2147483647;m=n;n=n-q|0;u=54}if((u|0)==54){o=0;j=ka(67,g|0)|0;f=o;o=0;if(f&1){u=29;break}else p=g}a[j+n>>0]=r;g=j+(n+1)|0;e=m-q|0;f=j+(n-e)|0;lw(f|0,k|0,e|0)|0;c[w>>2]=f;c[x>>2]=g;c[t>>2]=j+p;if(l){cj(l);g=c[x>>2]|0}}else{a[j>>0]=r;g=(c[x>>2]|0)+1|0;c[x>>2]=g}j=c[t>>2]|0;if(g>>>0>=j>>>0){k=c[w>>2]|0;l=k;m=g-l+1|0;if((m|0)<0){o=0;ha(178,w|0);f=o;o=0;if(f&1){u=29;break}l=c[w>>2]|0;j=c[t>>2]|0;k=l}p=k;g=j-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?m:g;j=c[x>>2]|0;n=j-p|0;if(!g){g=0;m=0}else u=65}else{n=c[x>>2]|0;g=2147483647;j=n;n=n-p|0;u=65}if((u|0)==65){o=0;m=ka(67,g|0)|0;f=o;o=0;if(f&1){u=29;break}}a[m+n>>0]=0;e=j-p|0;f=m+(n-e)|0;lw(f|0,k|0,e|0)|0;c[w>>2]=f;c[x>>2]=m+(n+1);c[t>>2]=m+g;if(l)cj(l)}else{a[g>>0]=0;c[x>>2]=(c[x>>2]|0)+1}o=0;n=ka(67,20)|0;t=o;o=0;if(!(t&1)){c[n>>2]=36800;a[n+4>>0]=-38;l=n+8|0;c[l>>2]=0;m=n+12|0;c[m>>2]=0;j=n+16|0;c[j>>2]=0;g=c[x>>2]|0;t=c[w>>2]|0;k=g-t|0;do if((g|0)!=(t|0)){if(!((k|0)<0?(o=0,ha(178,l|0),t=o,o=0,t&1):0))u=72;if((u|0)==72?(o=0,h=ka(67,k|0)|0,t=o,o=0,!(t&1)):0){c[m>>2]=h;c[l>>2]=h;c[j>>2]=h+k;g=c[w>>2]|0;j=c[x>>2]|0;if((g|0)==(j|0))break;do{a[h>>0]=a[g>>0]|0;h=(c[m>>2]|0)+1|0;c[m>>2]=h;g=g+1|0}while((g|0)!=(j|0));g=c[w>>2]|0;break}h=Na()|0;g=c[l>>2]|0;if(g){if((c[m>>2]|0)!=(g|0))c[m>>2]=g;cj(g)}cj(n);break a}while(0);if(!g){i=v;return n|0}if((c[x>>2]|0)!=(g|0))c[x>>2]=g;cj(g);i=v;return n|0}else u=29}else u=29;while(0);if((u|0)==29)h=Na()|0;g=c[w>>2]|0;if(!g)Ya(h|0);if((c[x>>2]|0)!=(g|0))c[x>>2]=g;cj(g);Ya(h|0);return 0}function yi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=(d&65535)>>>8&255;o=b+4|0;e=c[o>>2]|0;p=b+8|0;f=c[p>>2]|0;if(e>>>0>=f>>>0){g=c[b>>2]|0;h=g;i=e-h+1|0;if((i|0)<0){$i(b);h=c[b>>2]|0;f=c[p>>2]|0;g=h}m=g;e=f-m|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?i:e;i=c[o>>2]|0;f=i-m|0;if(!e){l=0;k=0;j=f;e=i}else q=8}else{f=c[o>>2]|0;e=2147483647;i=f;f=f-m|0;q=8}if((q|0)==8){l=e;k=bj(e)|0;j=f;e=i}a[k+j>>0]=n;f=k+(j+1)|0;m=e-m|0;n=k+(j-m)|0;lw(n|0,g|0,m|0)|0;c[b>>2]=n;c[o>>2]=f;c[p>>2]=k+l;if(h){cj(h);f=c[o>>2]|0}}else{a[e>>0]=n;f=(c[o>>2]|0)+1|0;c[o>>2]=f}m=d&255;e=c[p>>2]|0;if(f>>>0>>0){a[f>>0]=m;c[o>>2]=(c[o>>2]|0)+1;return}g=c[b>>2]|0;h=g;f=f-h+1|0;if((f|0)<0){$i(b);h=c[b>>2]|0;e=c[p>>2]|0;g=h}l=g;e=e-l|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?f:e;i=c[o>>2]|0;f=i-l|0;if(!e){k=0;j=0;e=i}else q=18}else{f=c[o>>2]|0;e=2147483647;i=f;f=f-l|0;q=18}if((q|0)==18){k=e;j=bj(e)|0;e=i}a[j+f>>0]=m;d=e-l|0;q=j+(f-d)|0;lw(q|0,g|0,d|0)|0;c[b>>2]=q;c[o>>2]=j+(f+1);c[p>>2]=j+k;if(!h)return;cj(h);return}function zi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=c[b>>2]|0;q=c[d>>2]|0;p=q;k=g;n=e;l=f-n|0;if((l|0)<=0){r=q;return r|0}o=b+8|0;d=c[o>>2]|0;r=b+4|0;m=c[r>>2]|0;h=m;if((l|0)<=(d-h|0)){j=h-p|0;if((l|0)>(j|0)){i=e+j|0;if((i|0)==(f|0))d=m;else{h=i;d=m;do{a[d>>0]=a[h>>0]|0;d=(c[r>>2]|0)+1|0;c[r>>2]=d;h=h+1|0}while((h|0)!=(f|0))}if((j|0)>0)j=d;else{r=q;return r|0}}else{j=m;i=f}g=j-(g+(l-k+p))|0;d=q+g|0;if(d>>>0>>0){h=j;do{a[h>>0]=a[d>>0]|0;d=d+1|0;h=(c[r>>2]|0)+1|0;c[r>>2]=h}while((d|0)!=(m|0))}nw(j+(0-g)|0,q|0,g|0)|0;nw(q|0,e|0,i-n|0)|0;r=q;return r|0}h=h-k+l|0;if((h|0)<0){$i(b);d=c[o>>2]|0;g=c[b>>2]|0}i=g;d=d-i|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?h:d;h=p-i|0;if(!d){i=0;l=0}else j=15}else{d=2147483647;h=p-i|0;j=15}if((j|0)==15){i=d;l=bj(d)|0}k=l+h|0;d=k;j=l+i|0;if((e|0)!=(f|0)){g=e;i=k;do{a[i>>0]=a[g>>0]|0;i=d+1|0;d=i;g=g+1|0}while((g|0)!=(f|0));g=c[b>>2]|0}e=p-g|0;f=l+(h-e)|0;lw(f|0,g|0,e|0)|0;p=(c[r>>2]|0)-p|0;e=d;lw(e|0,q|0,p|0)|0;d=c[b>>2]|0;c[b>>2]=f;c[r>>2]=e+p;c[o>>2]=j;if(!d){r=k;return r|0}cj(d);r=k;return r|0}function Ai(a){a=a|0;var b=0;c[a>>2]=36800;b=c[a+8>>2]|0;if(!b)return;a=a+12|0;if((c[a>>2]|0)!=(b|0))c[a>>2]=b;cj(b);return}function Bi(a){a=a|0;var b=0,d=0;c[a>>2]=36800;b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Ci(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;Di(d,-1);Di(d,a[b+4>>0]|0);g=b+12|0;f=b+8|0;b=(c[g>>2]|0)-(c[f>>2]|0)+2|0;Di(d,(b&65535)>>>8&255);Di(d,b&255);b=c[f>>2]|0;if((c[g>>2]|0)==(b|0))return;else e=0;do{Di(d,a[b+e>>0]|0);e=e+1|0;b=c[f>>2]|0}while(e>>>0<((c[g>>2]|0)-b|0)>>>0);return}function Di(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=c[b+4>>2]|0;if(g){e=g+24|0;f=c[e>>2]|0;if((f|0)==(c[g+28>>2]|0)){Lb[c[(c[g>>2]|0)+52>>2]&63](g,d&255)|0;return}else{c[e>>2]=f+1;a[f>>0]=d;return}}e=b+16|0;f=c[e>>2]|0;if(f>>>0<(c[b+12>>2]|0)>>>0){c[e>>2]=f+1;a[(c[b+8>>2]|0)+f>>0]=d;return}e=Ma(16)|0;o=0;f=ua(1)|0;d=o;o=0;if(d&1){d=Na()|0;La(e|0);Ya(d|0)}o=0;wa(7,e|0,4,f|0);d=o;o=0;if(d&1){d=Na()|0;La(e|0);Ya(d|0)}else lb(e|0,824,96)}function Ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;f=(b|0)<4095?(b+128|0)/256|0:16;g=(d*3|0)+2+f|0;e=d+1|0;g=(g|0)<(e|0)|(g|0)>(b|0)?e:g;c[a+4>>2]=g;e=(f<<2|3)+(d*5|0)|0;e=(e|0)>(b|0)|(e|0)<(g|0)?g:e;c[a+8>>2]=e;d=(d*7|0)+4+(f*17|0)|0;c[a+12>>2]=(d|0)>(b|0)|(d|0)<(e|0)?e:d;c[a>>2]=b;c[a+16>>2]=64;return}function Fi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+128|0;k=m+100|0;f=m+16|0;e=m+112|0;l=m+4|0;n=m;g=f;h=b+20|0;j=g+84|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[f+16>>2]=c[b+4>>2];h=pc(e,f,b+56|0)|0;e=c[(c[h>>2]|0)+16>>2]|0;b=b+8|0;o=0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];e=ra(e|0,h|0,k|0)|0;b=o;o=0;do if(b&1)e=Na()|0;else{g=d+4|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];g=d+16|0;b=c[g>>2]|0;k=l+8|0;c[k>>2]=(c[k>>2]|0)-b;k=l+4|0;c[k>>2]=(c[k>>2]|0)+b;k=c[(c[h>>2]|0)+12>>2]|0;c[n>>2]=e;o=0;e=va(k|0,h|0,n|0,l|0,((a[d>>0]|0)==0?0:(c[d+8>>2]|0)+b|0)|0)|0;l=o;o=0;if(l&1){e=Na()|0;f=c[n>>2]|0;c[n>>2]=0;if(!f)break;Bb[c[(c[f>>2]|0)+4>>2]&255](f);break}f=c[n>>2]|0;c[n>>2]=0;if(f)Bb[c[(c[f>>2]|0)+4>>2]&255](f);if(!(c[d+4>>2]|0))c[g>>2]=(c[g>>2]|0)+e;if(!h){i=m;return}Bb[c[(c[h>>2]|0)+4>>2]&255](h);i=m;return}while(0);if(!h)Ya(e|0);Bb[c[(c[h>>2]|0)+4>>2]&255](h);Ya(e|0)}function Gi(b,d){b=b|0;d=d|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];a[b+12>>0]=0;d=b+16|0;b=d+100|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));return}function Hi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+32|0;u=v+4|0;q=v+16|0;w=v;Ii(b);r=b+16|0;g=c[b+24>>2]|0;a:do if((g+-2|0)>>>0<=14){s=b+40|0;e=c[s>>2]|0;if(e>>>0>2)e=5;else{t=b+32|0;h=c[t>>2]|0;switch(h|0){case 0:{e=1;break a}case 4:{if((e|0)==2){e=2;break a}break}case 3:break;default:if(e){e=2;break a}}p=b+100|0;e=b+108|0;f=c[e>>2]|0;if((f|0)<1){f=c[r>>2]|0;c[e>>2]=f;e=c[b+20>>2]|0;c[b+112>>2]=e}else e=c[b+112>>2]|0;l=tw(e|0,((e|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;k=(g+7|0)/8|0;k=tw(l|0,D|0,k|0,((k|0)<0)<<31>>31|0)|0;l=d+4|0;e=c[l>>2]|0;j=d+8|0;if((e|0)!=0?(m=c[j>>2]|0,n=tw(h|0,((h|0)<0)<<31>>31|0,k|0,D|0)|0,g=D,0<(g|0)|0==(g|0)&m>>>0>>0):0){e=Ma(16)|0;o=0;f=ua(1)|0;w=o;o=0;if(!(w&1)?(o=0,wa(7,e|0,3,f|0),w=o,o=0,!(w&1)):0)lb(e|0,824,96);w=Na()|0;La(e|0);Ya(w|0)}m=b+52|0;n=b+12|0;if((h|0)>0)h=0;else{i=v;return}while(1){Ji(b,(h|0)==0);f=nc(q,r,m)|0;g=c[(c[f>>2]|0)+8>>2]|0;o=0;c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];g=ra(g|0,f|0,u|0)|0;x=o;o=0;if(x&1){g=32;break}x=c[(c[f>>2]|0)+16>>2]|0;c[w>>2]=g;o=0;fa(x|0,f|0,w|0,p|0,b|0,(a[n>>0]|0)!=0|0);x=o;o=0;if(x&1){g=30;break}g=c[w>>2]|0;c[w>>2]=0;if(g)Bb[c[(c[g>>2]|0)+4>>2]&255](g);if(!e)e=0;else{e=e+k|0;c[l>>2]=e;c[j>>2]=(c[j>>2]|0)-k}g=(c[s>>2]|0)==0;h=(g&1)+h|0;if(f)Bb[c[(c[f>>2]|0)+4>>2]&255](f);if(!g){g=34;break}if((h|0)>=(c[t>>2]|0)){g=34;break}}if((g|0)==30){e=Na()|0;g=c[w>>2]|0;c[w>>2]=0;if(g)Bb[c[(c[g>>2]|0)+4>>2]&255](g)}else if((g|0)==32){e=Na()|0;if(!f){x=e;Ya(x|0)}}else if((g|0)==34){i=v;return}Bb[c[(c[f>>2]|0)+4>>2]&255](f);x=e;Ya(x|0)}}else e=2;while(0);f=Ma(16)|0;o=0;g=ua(1)|0;x=o;o=0;if(!(x&1)?(o=0,wa(7,f|0,e|0,g|0),x=o,o=0,!(x&1)):0)lb(f|0,824,96);x=Na()|0;La(f|0);Ya(x|0)}function Ii(a){a=a|0;var b=0,c=0,d=0,e=0;if((Mi(a)|0)<<24>>24!=-40){b=Ma(16)|0;o=0;c=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,wa(7,b|0,5,c|0),e=o,o=0,!(e&1)):0)lb(b|0,824,96);e=Na()|0;La(b|0);Ya(e|0)}b=Mi(a)|0;if(b<<24>>24==-38)return;while(1){d=((Li(a)|0)&255)<<8;d=d|(Li(a)|0)&255;b=Ni(a,b)|0;c=-2-b+d|0;if((c|0)<0)break;if((c|0)>0){b=d+-2-b|0;c=0;do{Li(a)|0;c=c+1|0}while((c|0)!=(b|0))}b=Mi(a)|0;if(b<<24>>24==-38){e=8;break}}if((e|0)==8)return;b=Ma(16)|0;o=0;c=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,wa(7,b|0,5,c|0),e=o,o=0,!(e&1)):0)lb(b|0,824,96);e=Na()|0;La(b|0);Ya(e|0)}function Ji(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(!b){if((Li(a)|0)<<24>>24!=-1){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,12,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}if((Li(a)|0)<<24>>24!=-38){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}}Li(a)|0;Li(a)|0;d=Li(a)|0;e=d&255;do if(d<<24>>24==1){Li(a)|0;d=0;f=20}else{if((e|0)==(c[a+32>>2]|0)){b=Li(a)|0;if(!(d<<24>>24))break;else{d=0;f=20;break}}b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,2,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}while(0);if((f|0)==20)while(1){Li(a)|0;d=d+1|0;b=Li(a)|0;if((d|0)==(e|0))break;else f=20}c[a+36>>2]=b&255;f=Li(a)|0;d=a+40|0;c[d>>2]=f&255;if((f&255)>=3){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}if((Li(a)|0)<<24>>24){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}e=a+28|0;if(c[e>>2]|0)return;b=c[a+108>>2]|0;if(!b)b=c[a+16>>2]|0;if(!(c[d>>2]|0))d=1;else d=c[a+32>>2]|0;f=$(d,b)|0;c[e>>2]=$(f,((c[a+24>>2]|0)+7|0)/8|0)|0;return}function Ki(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((e|0)<=0)return;n=d+4|0;o=d+8|0;q=0;do{p=Li(b)|0;f=c[n>>2]|0;g=c[o>>2]|0;if(f>>>0>=g>>>0){h=c[d>>2]|0;i=h;j=f-i+1|0;if((j|0)<0){$i(d);i=c[d>>2]|0;g=c[o>>2]|0;h=i}m=h;f=g-m|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f;j=c[n>>2]|0;g=j-m|0;if(!f){l=0;k=0;f=j}else r=10}else{g=c[n>>2]|0;f=2147483647;j=g;g=g-m|0;r=10}if((r|0)==10){r=0;l=f;k=bj(f)|0;f=j}a[k+g>>0]=p;m=f-m|0;p=k+(g-m)|0;lw(p|0,h|0,m|0)|0;c[d>>2]=p;c[n>>2]=k+(g+1);c[o>>2]=k+l;if(i)cj(i)}else{a[f>>0]=p;c[n>>2]=(c[n>>2]|0)+1}q=q+1|0}while((q|0)!=(e|0));return}function Li(b){b=b|0;var e=0,f=0,g=0,h=0;f=c[b>>2]|0;if(f){b=f+12|0;e=c[b>>2]|0;if((e|0)==(c[f+16>>2]|0))b=Eb[c[(c[f>>2]|0)+40>>2]&127](f)|0;else{c[b>>2]=e+1;b=d[e>>0]|0}h=b&255;return h|0}g=b+8|0;h=c[g>>2]|0;if(h){b=b+4|0;e=c[b>>2]|0;f=a[e>>0]|0;if(!e){h=f;return h|0}c[b>>2]=e+1;c[g>>2]=h+-1;h=f;return h|0}b=Ma(16)|0;o=0;e=ua(1)|0;h=o;o=0;if(h&1){h=Na()|0;La(b|0);Ya(h|0)}o=0;wa(7,b|0,4,e|0);h=o;o=0;if(h&1){h=Na()|0;La(b|0);Ya(h|0)}else lb(b|0,824,96);return 0}function Mi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+176|0;b=d+152|0;k=d+16|0;h=d;j=Li(a)|0;e=j&255;if(j<<24>>24==-1){do b=Li(a)|0;while(b<<24>>24==-1);i=d;return b|0}j=k+56|0;g=k+4|0;c[k>>2]=36160;c[j>>2]=36180;o=0;ia(62,k+56|0,g|0);f=o;o=0;if(f&1){k=Na()|0;fn(j);Ya(k|0)}c[k+128>>2]=0;c[k+132>>2]=-1;c[k>>2]=36200;c[k+56>>2]=36220;o=0;ha(180,g|0);f=o;o=0;do if(f&1)b=Na()|0;else{c[g>>2]=36236;f=k+36|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[k+52>>2]=16;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;o=0;ia(63,g|0,b|0);d=o;o=0;if(d&1){k=Na()|0;Im(b);Im(f);nn(g);b=k;break}Im(b);c[k+((c[(c[k>>2]|0)+-12>>2]|0)+76)>>2]=48;o=0;b=ma(28,k|0,50907,62)|0;d=o;o=0;if(!(d&1)?(d=b+((c[(c[b>>2]|0)+-12>>2]|0)+4)|0,c[d>>2]=c[d>>2]&-75|8,d=b+((c[(c[b>>2]|0)+-12>>2]|0)+4)|0,c[d>>2]=c[d>>2]|16384,c[b+((c[(c[b>>2]|0)+-12>>2]|0)+12)>>2]=2,o=0,ra(38,b|0,e|0)|0,e=o,o=0,!(e&1)):0){d=Ma(16)|0;o=0;ia(64,h|0,g|0);e=o;o=0;if(!(e&1)){o=0;b=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,Aa(36,d|0,12,b|0,h|0),e=o,o=0,!(e&1)):0){o=0;wa(6,d|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(h);if(!a){h=b;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}}else b=Na()|0;La(d|0);h=b;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}h=Na()|0;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}while(0);k=b;fn(j);Ya(k|0);return 0}function Ni(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;d=i;i=i+320|0;j=d+300|0;m=d+152|0;k=d+288|0;n=d+16|0;l=d;switch(b<<24>>24){case -9:{c[a+24>>2]=(Li(a)|0)&255;p=((Li(a)|0)&255)<<8|(Li(a)|0)&255;c[a+16>>2]=((Li(a)|0)&255)<<8|(Li(a)|0)&255;c[a+20>>2]=p;c[a+32>>2]=(Li(a)|0)&255;p=6;i=d;return p|0}case -8:{p=Oi(a)|0;i=d;return p|0}case -24:{p=Pi(a)|0;i=d;return p|0}case -53:case -54:case -55:case -57:case -58:case -59:case -61:case -62:case -63:case -64:{h=m+56|0;f=m+4|0;c[m>>2]=36160;c[h>>2]=36180;o=0;ia(62,m+56|0,f|0);n=o;o=0;if(n&1){p=Na()|0;fn(h);Ya(p|0)}c[m+128>>2]=0;c[m+132>>2]=-1;c[m>>2]=36200;c[m+56>>2]=36220;o=0;ha(180,f|0);n=o;o=0;do if(n&1)a=Na()|0;else{c[f>>2]=36236;g=m+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[m+52>>2]=16;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;o=0;ia(63,f|0,j|0);n=o;o=0;if(n&1){a=Na()|0;Im(j);Im(g);nn(f);break}Im(j);o=0;a=ma(28,m|0,50970,26)|0;n=o;o=0;do if((!(n&1)?(o=0,e=ra(38,a|0,b&255|0)|0,n=o,o=0,!(n&1)):0)?(o=0,ma(28,e|0,50997,18)|0,n=o,o=0,!(n&1)):0){e=Ma(16)|0;o=0;ia(64,k|0,f|0);n=o;o=0;if(!(n&1)){o=0;a=ua(1)|0;n=o;o=0;if(!(n&1)?(o=0,Aa(36,e|0,10,a|0,k|0),n=o,o=0,!(n&1)):0){o=0;wa(6,e|0,824,96);o=0;d=0}else d=1;a=Na()|0;Im(k);if(!d)break}else a=Na()|0;La(e|0)}else p=20;while(0);if((p|0)==20)a=Na()|0;c[m>>2]=36200;c[h>>2]=36220;c[f>>2]=36236;Im(g);nn(f);fn(h);p=a;Ya(p|0)}while(0);p=a;fn(h);Ya(p|0)}case -25:case -32:case -2:{p=0;i=d;return p|0}default:{k=n+56|0;g=n+4|0;c[n>>2]=36160;c[k>>2]=36180;o=0;ia(62,n+56|0,g|0);m=o;o=0;if(m&1){p=Na()|0;fn(k);Ya(p|0)}c[n+128>>2]=0;c[n+132>>2]=-1;c[n>>2]=36200;c[n+56>>2]=36220;o=0;ha(180,g|0);m=o;o=0;do if(m&1)a=Na()|0;else{c[g>>2]=36236;h=n+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[n+52>>2]=16;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;o=0;ia(63,g|0,j|0);m=o;o=0;if(m&1){a=Na()|0;Im(j);Im(h);nn(g);break}Im(j);o=0;a=ma(28,n|0,51016,20)|0;m=o;o=0;do if((!(m&1)?(o=0,f=ra(38,a|0,b&255|0)|0,m=o,o=0,!(m&1)):0)?(o=0,ma(28,f|0,51037,13)|0,m=o,o=0,!(m&1)):0){e=Ma(16)|0;o=0;ia(64,l|0,g|0);m=o;o=0;if(!(m&1)){o=0;a=ua(1)|0;m=o;o=0;if(!(m&1)?(o=0,Aa(36,e|0,11,a|0,l|0),m=o,o=0,!(m&1)):0){o=0;wa(6,e|0,824,96);o=0;d=0}else d=1;a=Na()|0;Im(l);if(!d)break}else a=Na()|0;La(e|0)}else p=40;while(0);if((p|0)==40)a=Na()|0;c[n>>2]=36200;c[k>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(k);p=a;Ya(p|0)}while(0);p=a;fn(k);Ya(p|0)}}return 0}function Oi(a){a=a|0;var b=0;if((Li(a)|0)<<24>>24!=1){a=1;return a|0}b=((Li(a)|0)&255)<<8;c[a+52>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+56>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+60>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+64>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+68>>2]=b|(Li(a)|0)&255;a=11;return a|0}function Pi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d;c[f>>2]=0;g=f+4|0;c[g>>2]=0;c[f+8>>2]=0;o=0;wa(9,a|0,f|0,4);b=o;o=0;a:do if(b&1)e=3;else{b=c[f>>2]|0;b:do if(!(ol(b,51051,4)|0)){o=0;b=ka(69,a|0)|0;h=o;o=0;if(h&1){e=3;break a}b=b&255;switch(b|0){case 3:case 2:case 1:case 0:{c[a+44>>2]=b;a=5;b=c[f>>2]|0;break b}case 5:case 4:{b=Ma(16)|0;o=0;a=ua(1)|0;h=o;o=0;if(!(h&1)?(o=0,wa(7,b|0,7,a|0),h=o,o=0,!(h&1)):0){o=0;wa(6,b|0,824,96);o=0;e=3;break a}a=Na()|0;La(b|0);break a}default:{b=Ma(16)|0;o=0;a=ua(1)|0;h=o;o=0;if(!(h&1)?(o=0,wa(7,b|0,5,a|0),h=o,o=0,!(h&1)):0){o=0;wa(6,b|0,824,96);o=0;e=3;break a}a=Na()|0;La(b|0);break a}}}else a=4;while(0);if(!b){i=d;return a|0}if((c[g>>2]|0)!=(b|0))c[g>>2]=b;cj(b);i=d;return a|0}while(0);if((e|0)==3)a=Na()|0;b=c[f>>2]|0;if(!b)Ya(a|0);if((c[g>>2]|0)!=(b|0))c[g>>2]=b;cj(b);Ya(a|0);return 0}function Qi(a){a=a|0;var b=0,d=0,e=0;e=c[(c[a>>2]|0)+-12>>2]|0;c[a+e>>2]=36200;b=a+(e+56)|0;c[b>>2]=36220;d=a+(e+4)|0;c[d>>2]=36236;Im(a+(e+36)|0);nn(d);fn(b);return}function Ri(a){a=a|0;return}function Si(a){a=a|0;cj(a);return}function Ti(b){b=b|0;a[b>>0]=0;b=b+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f;b=wi(b)|0;c[g>>2]=b;d=a+28|0;e=c[d>>2]|0;if(e>>>0<(c[a+32>>2]|0)>>>0){c[e>>2]=b;c[d>>2]=e+4;c[g>>2]=0;i=f;return}o=0;ia(57,a+24|0,g|0);a=o;o=0;if(a&1){b=Na()|0;d=c[g>>2]|0;c[g>>2]=0;if(!d)Ya(b|0);Bb[c[(c[d>>2]|0)+4>>2]&255](d);Ya(b|0)}else{b=c[g>>2]|0;c[g>>2]=0;if(!b){i=f;return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);i=f;return}}function Vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+4|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];Di(a,-1);Di(a,-40);e=a+28|0;f=a+24|0;b=c[f>>2]|0;if((c[e>>2]|0)==(b|0)){Di(a,-1);Di(a,-39);a=a+16|0;a=c[a>>2]|0;return a|0}else d=0;do{g=c[b+(d<<2)>>2]|0;Cb[c[(c[g>>2]|0)+8>>2]&127](g,a);d=d+1|0;b=c[f>>2]|0}while(d>>>0<(c[e>>2]|0)-b>>2>>>0);Di(a,-1);Di(a,-39);g=a+16|0;g=c[g>>2]|0;return g|0}function Wi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;n=i;i=i+48|0;j=n+32|0;f=n+12|0;k=n+8|0;m=n+4|0;p=n;e=d+36|0;do if(((((c[e>>2]|0)==0?(c[d+40>>2]|0)==0:0)?(c[d+44>>2]|0)==0:0)?(c[d+48>>2]|0)==0:0)?(c[d+52>>2]|0)==0:0){e=c[d+8>>2]|0;if((e|0)<=12){g=a+28|0;h=a+32|0;break}Ei(f,(1<>2]|0);e=vi(f)|0;c[k>>2]=e;g=a+28|0;f=c[g>>2]|0;h=a+32|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[k>>2]=0;break}o=0;ia(57,a+24|0,k|0);j=o;o=0;if(!(j&1)){e=c[k>>2]|0;c[k>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[k>>2]|0;c[k>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}else l=6;while(0);do if((l|0)==6){e=vi(e)|0;c[j>>2]=e;g=a+28|0;f=c[g>>2]|0;h=a+32|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[j>>2]=0;break}o=0;ia(57,a+24|0,j|0);l=o;o=0;if(!(l&1)){e=c[j>>2]|0;c[j>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[j>>2]|0;c[j>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}while(0);e=a+20|0;f=(c[e>>2]|0)+1|0;c[e>>2]=f;e=c[d+24>>2]|0;j=(e|0)==0?1:c[d+16>>2]|0;e=xi(f,j,c[d+20>>2]|0,e)|0;c[m>>2]=e;f=c[g>>2]|0;do if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[m>>2]=0}else{o=0;ia(57,a+24|0,m|0);l=o;o=0;if(!(l&1)){e=c[m>>2]|0;c[m>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[m>>2]|0;c[m>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}while(0);k=bj(104)|0;c[k>>2]=36820;c[k+4>>2]=j;f=k+8|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];f=k+20|0;e=f+84|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));c[p>>2]=k;d=c[g>>2]|0;if(d>>>0<(c[h>>2]|0)>>>0){c[d>>2]=k;c[g>>2]=d+4;c[p>>2]=0;i=n;return}o=0;ia(57,a+24|0,p|0);a=o;o=0;if(a&1){d=Na()|0;e=c[p>>2]|0;c[p>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}else{d=c[p>>2]|0;c[p>>2]=0;if(!d){i=n;return}Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=n;return}}function Xi(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+96|0;p=q;o=ic(b,d,p,0)|0;if(o){g=o;i=q;return g|0}a[p+32>>0]=0;s=c[p+8>>2]|0;u=c[p>>2]|0;t=c[p+4>>2]|0;o=$(t,u)|0;r=c[p+16>>2]|0;o=$($(o,(s|0)<9?1:2)|0,r)|0;c[f>>2]=o;o=Fl(o)|0;c[e>>2]=o;c[g>>2]=u;c[h>>2]=t;c[j>>2]=s;c[k>>2]=c[p+12>>2];c[l>>2]=r;c[m>>2]=c[p+20>>2];c[n>>2]=c[p+24>>2];g=jc(o,c[f>>2]|0,b,d,0,0)|0;i=q;return g|0}function Yi(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;n=i;i=i+96|0;l=n+4|0;h=n;m=l;o=m+84|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(o|0));c[l+16>>2]=g;c[l+8>>2]=f;c[l>>2]=d;c[l+4>>2]=e;c[j>>2]=Fl(b)|0;c[h>>2]=0;d=hc(j,b,h,a,b,l,0)|0;c[k>>2]=c[h>>2];i=n;return d|0}function Zi(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;b=c[9320]|0;cl(b,a,d)|0;Wk(10,b)|0;Ga()}function _i(a){a=a|0;Ka(51337,51366,1164,51442)}function $i(a){a=a|0;Ka(51463,51486,303,51442)}function aj(){var a=0,b=0;a=i;i=i+16|0;if(!(db(37024,4)|0)){b=$a(c[9255]|0)|0;i=a;return b|0}else Zi(51562,a);return 0}function bj(a){a=a|0;var b=0;b=(a|0)==0?1:a;a=Fl(b)|0;a:do if(!a){while(1){a=kj()|0;if(!a)break;Rb[a&7]();a=Fl(b)|0;if(a)break a}b=Ma(4)|0;c[b>>2]=36844;lb(b|0,592,78)}while(0);return a|0}function cj(a){a=a|0;Gl(a);return}function dj(a){a=a|0;cj(a);return}function ej(a){a=a|0;c[a>>2]=36844;return}function fj(a){a=a|0;return}function gj(a){a=a|0;cj(a);return}function hj(a){a=a|0;return 51611}function ij(a){a=a|0;var b=0;b=i;i=i+16|0;o=0;xa(a|0);a=o;o=0;if(!(a&1)){o=0;ia(85,51626,b|0);o=0}a=Na(0)|0;Va(a|0)|0;o=0;ia(85,51666,b+8|0);o=0;a=Na(0)|0;o=0;xa(3);b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else ec(a)}function jj(){var a=0,b=0,d=0;o=0;a=ua(2)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}if(((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0)?(d=b+48|0,(c[d>>2]&-256|0)==1126902528?(c[d+4>>2]|0)==1129074247:0):0)ij(c[b+12>>2]|0);d=c[9208]|0;c[9208]=d+0;ij(d)}function kj(){var a=0;a=c[9214]|0;c[9214]=a+0;return a|0}function lj(a){a=a|0;return}function mj(a){a=a|0;c[a>>2]=36868;Vj(a+4|0);return}function nj(a){a=a|0;mj(a);cj(a);return}function oj(a){a=a|0;return c[a+4>>2]|0}function pj(a){a=a|0;return}function qj(a){a=a|0;c[a>>2]=36888;return}function rj(a){a=a|0;return}function sj(a){a=a|0;cj(a);return}function tj(a){a=a|0;return 51716}function uj(a){a=a|0;return}function vj(a){a=a|0;return}function wj(a){a=a|0;return}function xj(a){a=a|0;cj(a);return}function yj(a){a=a|0;cj(a);return}function zj(a){a=a|0;cj(a);return}function Aj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h;if((a|0)!=(b|0))if((b|0)!=0?(f=Gj(b,656,672,0)|0,(f|0)!=0):0){b=g;e=b+56|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;Ub[c[(c[f>>2]|0)+28>>2]&63](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;i=h;return b|0}function Bj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function Cj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Bj(0,b,d,e);return}function Dj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Bj(0,b,d,e);else{a=c[a+8>>2]|0;Ub[c[(c[a>>2]|0)+28>>2]&63](a,b,d,e)}return}function Ej(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;Ub[c[(c[a>>2]|0)+28>>2]&63](a,b,d+f|0,(g&2|0)!=0?e:2);return}function Fj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((b|0)!=(c[d+8>>2]|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;Ej(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{Ej(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else Bj(0,d,e,f);while(0);return}function Gj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r;p=c[d>>2]|0;o=d+(c[p+-8>>2]|0)|0;p=c[p+-4>>2]|0;c[q>>2]=f;c[q+4>>2]=d;c[q+8>>2]=e;c[q+12>>2]=g;g=q+16|0;d=q+20|0;e=q+24|0;h=q+28|0;j=q+32|0;k=q+40|0;l=(p|0)==(f|0);m=g;n=m+36|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));b[g+36>>1]=0;a[g+38>>0]=0;a:do if(l){c[q+48>>2]=1;Ib[c[(c[f>>2]|0)+20>>2]&15](f,q,o,o,1,0);g=(c[e>>2]|0)==1?o:0}else{zb[c[(c[p>>2]|0)+24>>2]&15](p,q,o,1,0);switch(c[q+36>>2]|0){case 0:{g=(c[k>>2]|0)==1&(c[h>>2]|0)==1&(c[j>>2]|0)==1?c[d>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((c[e>>2]|0)!=1?!((c[k>>2]|0)==0&(c[h>>2]|0)==1&(c[j>>2]|0)==1):0){g=0;break}g=c[g>>2]|0}while(0);i=r;return g|0}function Hj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;f=d+16|0;b=c[f>>2]|0;if(!b){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((b|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}b=d+24|0;f=c[b>>2]|0;if((f|0)==2){c[b>>2]=g;f=g}if((f|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function Ij(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){q=c[b+12>>2]|0;j=b+16+(q<<3)|0;Kj(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;i=c[b+8>>2]|0;if((i&2|0)==0?(k=d+36|0,(c[k>>2]|0)!=1):0){if(!(i&1)){i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[k>>2]|0)==1)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+24|0;b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[k>>2]|0)==1?(c[i>>2]|0)==1:0)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+54|0;while(1){if(a[i>>0]|0)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;m=d+44|0;if((c[m>>2]|0)==4)break;i=c[b+12>>2]|0;j=b+16+(i<<3)|0;k=d+52|0;f=d+53|0;n=d+54|0;l=b+8|0;o=d+24|0;b:do if((i|0)>0){i=0;h=0;b=b+16|0;while(1){a[k>>0]=0;a[f>>0]=0;Jj(b,d,e,e,1,g);if(a[n>>0]|0){q=20;break b}do if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[l>>2]&1)){h=1;q=20;break b}else{h=1;break}if((c[o>>2]|0)==1)break b;if(!(c[l>>2]&2))break b;else{i=1;h=1}}while(0);b=b+8|0;if(b>>>0>=j>>>0){q=20;break}}}else{i=0;h=0;q=20}while(0);do if((q|0)==20){if((!i?(c[p>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h)break}else q=24;if((q|0)==24?h:0)break;c[m>>2]=4;break a}while(0);c[m>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Jj(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;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Ib[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e+h|0,(i&2|0)!=0?f:2,g);return}function Kj(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;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;zb[c[(c[a>>2]|0)+24>>2]&15](a,b,d+g|0,(h&2|0)!=0?e:2,f);return}function Lj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){j=c[b+8>>2]|0;zb[c[(c[j>>2]|0)+24>>2]&15](j,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;if((c[f>>2]|0)==4)break;h=d+52|0;a[h>>0]=0;k=d+53|0;a[k>>0]=0;b=c[b+8>>2]|0;Ib[c[(c[b>>2]|0)+20>>2]&15](b,d,e,e,1,g);if(a[k>>0]|0){if(!(a[h>>0]|0)){h=1;j=13}}else{h=0;j=13}do if((j|0)==13){c[i>>2]=e;k=d+40|0;c[k>>2]=(c[k>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h)break}else j=16;if((j|0)==16?h:0)break;c[f>>2]=4;break a}while(0);c[f>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Mj(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;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(i=d+28|0,(c[i>>2]|0)!=1):0)c[i>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>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}while(0);return}function Nj(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((b|0)==(c[d+8>>2]|0))Hj(0,d,e,f,g);else{m=d+52|0;n=a[m>>0]|0;o=d+53|0;p=a[o>>0]|0;l=c[b+12>>2]|0;i=b+16+(l<<3)|0;a[m>>0]=0;a[o>>0]=0;Jj(b+16|0,d,e,f,g,h);a:do if((l|0)>1){j=d+24|0;k=b+8|0;l=d+54|0;b=b+24|0;do{if(a[l>>0]|0)break a;if(!(a[m>>0]|0)){if((a[o>>0]|0)!=0?(c[k>>2]&1|0)==0:0)break a}else{if((c[j>>2]|0)==1)break a;if(!(c[k>>2]&2))break a}a[m>>0]=0;a[o>>0]=0;Jj(b,d,e,f,g,h);b=b+8|0}while(b>>>0>>0)}while(0);a[m>>0]=n;a[o>>0]=p}return}function Oj(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((a|0)==(c[b+8>>2]|0))Hj(0,b,d,e,f);else{a=c[a+8>>2]|0;Ib[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e,f,g)}return}function Pj(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((a|0)==(c[b+8>>2]|0))Hj(0,b,d,e,f);return}function Qj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=c[d>>2];a=Gb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];i=f;return a&1|0}function Rj(a){a=a|0;if(!a)a=0;else a=(Gj(a,656,704,0)|0)!=0;return a&1|0}function Sj(){var a=0;a=Ma(4)|0;ej(a);lb(a|0,592,78)}function Tj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+48|0;h=f+32|0;d=f+24|0;j=f+16|0;g=f;f=f+36|0;a=aj()|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=c[9257];Zi(51919,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(Gb[c[(c[608>>2]|0)+16>>2]&63](608,e,f)|0){j=c[f>>2]|0;f=c[9257]|0;j=Eb[c[(c[j>>2]|0)+8>>2]&127](j)|0;c[g>>2]=f;c[g+4>>2]=a;c[g+8>>2]=j;Zi(51833,g)}else{c[j>>2]=c[9257];c[j+4>>2]=a;Zi(51878,j)}}Zi(51957,h)}function Uj(){var a=0;a=i;i=i+16|0;if(!(Fa(37020,184)|0)){i=a;return}else Zi(51730,a)}function Vj(a){a=a|0;var b=0,d=0;d=(c[a>>2]|0)+-4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if((b+-1|0)<0)cj((c[a>>2]|0)+-12|0);return}function Wj(a){a=a|0;var b=0;b=i;i=i+16|0;Gl(a);if(!(jb(c[9255]|0,0)|0)){i=b;return}else Zi(51780,b)}function Xj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=hl(a,b,c)|0;return a|0}function Yj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=il(a,b,c)|0;return a|0}function Zj(){return 37296}function _j(){return 37300}function $j(){return 37304}function ak(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function bk(a){a=a|0;if((a+-48|0)>>>0<10)a=1;else a=((a|32)+-97|0)>>>0<6;return a&1|0}function ck(){var a=0;if(!(c[9258]|0))a=37308;else a=c[(bb()|0)+60>>2]|0;return a|0}function dk(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[51978+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=52066;e=5;break}}if((e|0)==2)if(!c)b=52066;else{b=52066;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function ek(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;C=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0}while((ak(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=hk(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[53870+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=hk(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[56747+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=hk(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==40)e=1;else{if(!(c[C>>2]|0)){g=s;break a}c[E>>2]=(c[E>>2]|0)+-1;g=s;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=hk(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(ck()|0)>>2]=22;gk(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|32|0)!=120){if(!(c[C>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=hk(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=hk(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;k=jw(k|0,h|0,-1,-1)|0;h=D}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){r=m*.0625;p=w;j=r;g=g+r*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=jw(l|0,y|0,1,0)|0;v=x;u=D;n=1}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=hk(b)|0;w=p;m=j;continue}}if(!n){e=(c[C>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,(o|0)!=0):0)c[E>>2]=z+-2}else gk(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=jw(l|0,h|0,1,0)|0;h=D}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=tl(b,f)|0;e=D;if((h|0)==0&(e|0)==-2147483648){if(!f){gk(b,0);g=0.0;break a}if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=mw(o|0,n|0,2)|0;H=jw(H|0,D|0,-32,-1)|0;e=jw(H|0,D|0,h|0,e|0)|0;h=D;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(ck()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0>>0){c[(ck()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=jw(e|0,h|0,-1,-1)|0;h=D}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=hw(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=jw(l|0,h|0,e|0,D|0)|0;J=D;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+sk(+xk(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(ck()|0)>>2]=34;g=+yk(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=hk(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48){h=0;e=0;while(1){h=jw(h|0,e|0,-1,-1)|0;k=D;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=jw(y|0,v|0,1,0)|0;v=D;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=tl(b,f)|0;e=D;if((n|0)==0&(e|0)==-2147483648){if(!f){gk(b,0);g=0.0;break}if(!(c[C>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=jw(n|0,e|0,h|0,p|0)|0;u=y;p=D;n=v;A=173}while(0);if((A|0)==169)if(c[C>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(ck()|0)>>2]=22;gk(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(ck()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0>>0){c[(ck()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[37312+(8-h<<2)>>2]|0);break}b=K+27+($(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[37312+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[37312+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{C=H+(p<<2)|0;E=c[C>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[C>>2]=b;e=$((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w)break i;if((c[x>>2]|0)>>>0>=9007199){h=18;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=mw(c[p>>2]|0,0,29)|0;o=jw(o|0,D|0,n|0,0)|0;n=D;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=uw(o|0,n|0,1e9,0)|0;o=vw(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){y=l+1&127;x=H+((l+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(l|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(l|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(l|0))k=l;else break}u=(1<>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=$(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(l|0))break;else o=k}if(!n)continue;if((y|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(l<<2)>>2]=n;l=y}if((A|0)==220)if(p){c[H+(y+-1<<2)>>2]=0;h=l;l=y}else h=o;g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}r=+(I|0);j=r*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+sk(+xk(1.0,105-o|0),j);m=+uk(j,+xk(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=r*.75+g;break}if((k+3&127|0)==(l|0)){g=r*.5+g;break}else{g=r*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=r*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+uk(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+O(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(ck()|0)>>2]=34}while(0);g=+yk(g,e)}while(0);break a}default:{if(c[C>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(ck()|0)>>2]=22;gk(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*t}while(0);i=L;return +g}function fk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(ck()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0}while((ak(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=hk(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e&-17|0)==0&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=hk(b)|0;if((d[53879+(i+1)>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){gk(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[53879+(i+1)>>0]|0)>>>0>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;gk(b,0);c[(ck()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=hk(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=tw(e|0,j|0,10,0)|0;l=D;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=jw(k|0,l|0,f|0,m|0)|0;j=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[54136+((e*23|0)>>>5&7)>>0]|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f|i<>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0>>0))break;else i=k}f=0}else{f=0;k=0}l=kw(-1,-1,n|0)|0;m=D;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=mw(k|0,i|0,n|0)|0;f=D;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[53879+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f+($(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0>>0){n=uw(-1,-1,e|0,0)|0;o=D;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=tw(k|0,m|0,e|0,0)|0;l=D;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=jw(j|0,0,f|0,l|0)|0;f=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[53879+(i+1)>>0]|0)>>>0>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0}while((d[53879+(i+1)>>0]|0)>>>0>>0);c[(ck()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0>>0|(j|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(ck()|0)>>2]=34;g=jw(g|0,h|0,-1,-1)|0;h=D;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(ck()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=hw(i^e|0,j^g|0,e|0,g|0)|0;h=D}while(0);D=h;return g|0}function gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+4>>2]|0;e=c[a+8>>2]|0;f=e-d|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=d+b;else c[a+100>>2]=e;return}function hk(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Uk(b)|0;if((e|0)>=0){h=c[f>>2]|0;f=b+8|0;if(h){g=c[f>>2]|0;i=c[b+4>>2]|0;f=g;h=h-(c[b+108>>2]|0)+-1|0;if((f-i|0)>(h|0))c[b+100>>2]=i+h;else j=9}else{g=c[f>>2]|0;f=g;j=9}if((j|0)==9)c[b+100>>2]=f;f=c[b+4>>2]|0;if(g){b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function ik(a){a=a|0;if(a>>>0>4294963200){c[(ck()|0)>>2]=0-a;a=-1}return a|0}function jk(a){a=a|0;return 0}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function lk(a,b){a=a|0;b=b|0;return -1|0}function mk(a){a=a|0;Gl(a);return}function nk(a,b){a=a|0;b=b|0;return (a+-48|0)>>>0<10|0}function ok(a,b){a=a|0;b=b|0;return bk(a)|0}function pk(b,c,d){b=b|0;c=c|0;d=d|0;if(((a[c>>0]|0)!=0?(ll(c,58885)|0)!=0:0)?(ll(c,54145)|0)!=0:0)d=0;else if(!d)d=Hl(1,4)|0;return d|0}function qk(a){a=a|0;var b=0,d=0;b=(bb()|0)+176|0;d=c[b>>2]|0;if(a)c[b>>2]=a;return d|0}function rk(a,b){a=+a;b=+b;var d=0,e=0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;h[k>>3]=b;d=c[k+4>>2]&-2147483648|d&2147483647;c[k>>2]=e;c[k+4>>2]=d;return +(+h[k>>3])}function sk(a,b){a=+a;b=+b;return +(+rk(a,b))}function tk(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=kw(d|0,m|0,52)|0;e=e&2047;j=kw(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=mw(n|0,o|0,1)|0;l=D;a:do if(!((i|0)==0&(l|0)==0)?(g=o&2147483647,!(g>>>0>2146435072|(g|0)==2146435072&n>>>0>0|(e|0)==2047)):0){f=mw(d|0,m|0,1)|0;g=D;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=mw(d|0,m|0,12)|0;f=D;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=mw(g|0,f|0,1)|0;f=D}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=mw(d|0,m|0,1-e|0)|0;f=D}else f=m&1048575|1048576;if(!j){g=mw(n|0,o|0,12)|0;i=D;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=mw(g|0,i|0,1)|0;i=D}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=mw(n|0,o|0,1-j|0)|0;m=D}else m=o&1048575|1048576;l=hw(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=mw(d|0,f|0,1)|0;f=D;e=e+-1|0;l=hw(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=mw(d|0,f|0,1)|0;f=D;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=jw(d|0,f|0,0,-1048576)|0;d=D;e=mw(e|0,0,52)|0;d=d|D;e=o|e}else{e=kw(d|0,f|0,1-e|0)|0;d=D}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function uk(a,b){a=+a;b=+b;return +(+tk(a,b))}function vk(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=kw(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+vk(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+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return +a}function wk(a,b){a=+a;b=b|0;return +(+vk(a,b))}function xk(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=mw(d+1023|0,0,52)|0;b=D;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function yk(a,b){a=+a;b=b|0;return +(+xk(a,b))}function zk(a,b,c){a=a|0;b=b|0;c=c|0;return Ak(0,a,b,(c|0)!=0?c:37344)|0}function Ak(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?37348:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[37076+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(ck()|0)>>2]=84;f=-1}i=l;return f|0}function Bk(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Ck(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+1040|0;l=o+8|0;n=o;k=c[b>>2]|0;c[n>>2]=k;m=(a|0)!=0;e=m?e:256;a=m?a:l;g=k;a:do if((e|0)!=0&(k|0)!=0){j=e;k=g;e=0;while(1){g=d>>>2;h=g>>>0>=j>>>0;if(!(d>>>0>131|h)){g=k;break a}g=h?j:g;d=d-g|0;g=Dk(a,n,g,f)|0;if((g|0)==-1){e=d;break}p=(a|0)==(l|0);k=p?0:g;h=j-k|0;a=p?a:a+(g<<2)|0;e=g+e|0;g=c[n>>2]|0;if((j|0)!=(k|0)&(g|0)!=0){j=h;k=g}else{j=h;break a}}d=e;j=0;g=c[n>>2]|0;e=-1}else{j=e;e=0}while(0);b:do if((g|0)!=0?(j|0)!=0&(d|0)!=0:0){h=g;g=a;while(1){a=Ak(g,h,d,f)|0;if((a+2|0)>>>0<3)break;h=(c[n>>2]|0)+a|0;c[n>>2]=h;j=j+-1|0;e=e+1|0;if(!((j|0)!=0&(d|0)!=(a|0)))break b;else{d=d-a|0;g=g+4|0}}switch(a|0){case -1:{e=-1;break b}case 0:{c[n>>2]=0;break b}default:{c[f>>2]=0;break b}}}while(0);if(m)c[b>>2]=c[n>>2];i=o;return e|0}function Dk(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){g=f;j=h;m=16}else{c[g>>2]=0;l=b;g=f;k=i;m=37}else if(!b){g=f;m=7}else{i=b;g=f;m=6}a:while(1)if((m|0)==6){if(!g){m=26;break}else b=i;while(1){i=a[h>>0]|0;do if(((i&255)+-1|0)>>>0<127?g>>>0>4&(h&3|0)==0:0){j=h;while(1){h=c[j>>2]|0;if((h+-16843009|h)&-2139062144){i=h;h=j;m=32;break}c[b>>2]=h&255;c[b+4>>2]=d[j+1>>0];c[b+8>>2]=d[j+2>>0];h=j+4|0;i=b+16|0;c[b+12>>2]=d[j+3>>0];g=g+-4|0;if(g>>>0>4){b=i;j=h}else{m=31;break}}if((m|0)==31){b=i;i=a[h>>0]|0;break}else if((m|0)==32){i=i&255;break}}while(0);i=i&255;if((i+-1|0)>>>0>=127)break;h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g){m=26;break a}else b=b+4|0}i=i+-194|0;if(i>>>0>50){m=48;break}l=b;k=c[37076+(i<<2)>>2]|0;h=h+1|0;m=37;continue}else if((m|0)==7){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){i=c[h>>2]|0;if(!((i+-16843009|i)&-2139062144))do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(((i+-16843009|i)&-2139062144|0)==0);i=i&255}i=i&255;if((i+-1|0)>>>0<127){g=g+-1|0;h=h+1|0;m=7;continue}i=i+-194|0;if(i>>>0>50){m=48;break}i=c[37076+(i<<2)>>2]|0;j=h+1|0;m=16;continue}else if((m|0)==16){m=(d[j>>0]|0)>>>3;if((m+-16|m+(i>>26))>>>0>7){m=17;break}h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){m=20;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){m=23;break}h=j+3|0}}g=g+-1|0;m=7;continue}else if((m|0)==37){i=d[h>>0]|0;m=i>>>3;if((m+-16|m+(k>>26))>>>0>7){m=38;break}j=h+1|0;b=i+-128|k<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=41;break}j=h+2|0;b=i+-128|b<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=44;break}b=i+-128|b<<6;h=h+3|0}else h=j}else h=j;c[l>>2]=b;i=l+4|0;g=g+-1|0;m=6;continue}if((m|0)==17){h=j+-1|0;m=47}else if((m|0)==20){h=j+-1|0;m=47}else if((m|0)==23){h=j+-1|0;m=47}else if((m|0)==26)c[e>>2]=h;else if((m|0)==38){b=l;i=k;h=h+-1|0;m=47}else if((m|0)==41){g=l;f=h+-1|0;m=52}else if((m|0)==44){g=l;f=h+-1|0;m=52}if((m|0)==47)if(!i)m=48;else{g=b;f=h;m=52}if((m|0)==48)if(!(a[h>>0]|0)){if(b){c[b>>2]=0;c[e>>2]=0}f=f-g|0}else{g=b;f=h;m=52}if((m|0)==52){c[(ck()|0)>>2]=84;if(!g)f=-1;else{c[e>>2]=f;f=-1}}return f|0}function Ek(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k;a:do if(!e)g=0;else{do if(f){j=(b|0)==0?g:b;g=a[e>>0]|0;b=g&255;if(g<<24>>24>-1){c[j>>2]=b;g=g<<24>>24!=0&1;break a}g=b+-194|0;if(g>>>0<=50){b=e+1|0;h=c[37076+(g<<2)>>2]|0;if(f>>>0<4?(h&-2147483648>>>((f*6|0)+-6|0)|0)!=0:0)break;g=d[b>>0]|0;f=g>>>3;if((f+-16|f+(h>>26))>>>0<=7){g=g+-128|h<<6;if((g|0)>=0){c[j>>2]=g;g=2;break a}b=d[e+2>>0]|0;if((b&192|0)==128){b=b+-128|g<<6;if((b|0)>=0){c[j>>2]=b;g=3;break a}g=d[e+3>>0]|0;if((g&192|0)==128){c[j>>2]=g+-128|b<<6;g=4;break a}}}}}while(0);c[(ck()|0)>>2]=84;g=-1}while(0);i=k;return g|0}function Fk(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;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[(ck()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Gk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+272|0;j=m+8|0;l=m;h=c[b>>2]|0;c[l>>2]=h;k=(a|0)!=0;f=k?e:256;e=k?a:j;a=h;a:do if((f|0)!=0&(h|0)!=0){h=f;g=a;f=0;while(1){a=d>>>0>=h>>>0;if(!(a|d>>>0>32)){a=g;break a}a=a?h:d;d=d-a|0;a=Hk(e,l,a,0)|0;if((a|0)==-1){f=d;break}o=(e|0)==(j|0);n=o?0:a;g=h-n|0;e=o?e:e+a|0;f=a+f|0;a=c[l>>2]|0;if((h|0)!=(n|0)&(a|0)!=0){h=g;g=a}else{h=g;break a}}d=f;h=0;a=c[l>>2]|0;f=-1}else{h=f;f=0}while(0);b:do if((a|0)!=0?(h|0)!=0&(d|0)!=0:0){g=a;a=e;while(1){e=Fk(a,c[g>>2]|0,0)|0;if((e+1|0)>>>0<2)break;g=(c[l>>2]|0)+4|0;c[l>>2]=g;d=d+-1|0;f=f+1|0;if(!((h|0)!=(e|0)&(d|0)!=0))break b;else{h=h-e|0;a=a+e|0}}if(!e)c[l>>2]=0;else f=-1}while(0);if(k)c[b>>2]=c[l>>2];i=m;return f|0}function Hk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do if(!b){b=c[d>>2]|0;f=c[b>>2]|0;if(!f)e=0;else{e=0;do{if(f>>>0>127){f=Fk(j,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=Fk(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e;while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=19;break}h=Fk(j,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0>>0){g=22;break}Fk(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==19){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==22){e=e-f|0;break}}}while(0);i=k;return e|0}function Ik(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Fk(a,b,0)|0;return a|0}function Jk(a){a=a|0;return 0}function Kk(a){a=a|0;return}function Lk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Tk(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Gb[c[b+36>>2]&63](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Mk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=ik(nb(6,d|0)|0)|0;i=b;return a|0}function Nk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[9258]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=ik(vb(145,h|0)|0)|0}else{ob(185,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=ik(vb(145,g|0)|0)|0;gb(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Ok(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((ik(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Pk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[9258]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=ik(wb(146,n|0)|0)|0}else{ob(186,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=ik(wb(146,m|0)|0)|0;gb(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Qk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=8;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(eb(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Pk(b,d,e)|0;i=g;return f|0}function Rk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=jl(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;lw(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Sk(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Gb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Tk(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;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 Uk(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Sk(a)|0)!=0:0)b=-1;else if((Gb[c[a+32>>2]&63](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Vk(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=wl(a)|0;break}d=(Jk(a)|0)==0;b=wl(a)|0;if(!d)Kk(a)}else{if(!(c[9323]|0))b=0;else b=Vk(c[9323]|0)|0;Ea(37060);a=c[9264]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Jk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=wl(a)|0|b;if(d)Kk(a);a=c[a+56>>2]|0}while((a|0)!=0);fb(37060)}while(0);return b|0}function Wk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Jk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Lk(d,b)|0;Kk(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Lk(d,b)|0}while(0);return e|0}function Xk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Tk(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=Gb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Gb[c[e+36>>2]&63](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);lw(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}while(0);return f|0}function Yk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Jk(e)|0)==0;a=Xk(a,f,e)|0;if(!g)Kk(e)}else a=Xk(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Zk(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Jk(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=Uk(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=Uk(a)|0;break}}while(0);return b|0}function _k(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=el(a,b,d,g)|0;i=f;return e|0}function $k(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=fl(a,b,f)|0;i=e;return d|0}function al(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;do if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=Jk(d)|0;else g=0;if(!((c[d+8>>2]|0)==0?(Sk(d)|0)!=0:0))h=6;if((h|0)==6?(e=d+4|0,f=c[e>>2]|0,f>>>0>((c[d+44>>2]|0)+-8|0)>>>0):0){h=f+-1|0;c[e>>2]=h;a[h>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;Kk(d);break}if(g){Kk(d);b=-1}else b=-1}else b=-1;while(0);return b|0}function bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j;f=Fl(240)|0;do if(f){c[e>>2]=c[d>>2];e=el(f,240,b,e)|0;if(e>>>0<240){b=Il(f,e+1|0)|0;c[a>>2]=(b|0)!=0?b:f;break}Gl(f);if((e|0)>=0?(h=e+1|0,g=Fl(h)|0,c[a>>2]=g,(g|0)!=0):0)e=el(g,h,b,d)|0;else e=-1}else e=-1;while(0);i=j;return e|0}function cl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((xl(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Jk(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=xl(b,d,o,q,r)|0;if(h){Gb[c[b+36>>2]&63](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=xl(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Kk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function dl(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=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,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;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Jk(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;C=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(ak(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=152;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{gk(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=hk(e)|0}while((ak(o)|0)!=0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}gk(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0>>0)c[L>>2]=o+1;else{if((hk(e)|0)<0){N=152;break b}q=c[M>>2]|0}if(q)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r&239|0)==99){iw(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{Q=n+1|0;s=(a[Q>>0]|0)==94;o=s&1;r=s?Q:n;n=s?n+2|0:Q;iw(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=r+2|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=r+2|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=152;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Fl(r<<2)|0;if(!f){l=0;N=152;break b}}else f=x;c[J>>2]=0;c[C>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=hk(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Ak(K,y,1,J)|0){case -1:{l=0;N=152;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Il(f,l<<2)|0;if(!o){l=0;N=152;break b}Q=r;r=l;f=o;l=Q}if(!(Bk(J)|0)){l=0;N=152;break b}else{q=l;l=0}}else{if(t){l=Fl(r)|0;if(!l){l=0;f=0;N=152;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Il(l,f)|0;if(!o){f=0;N=152;break b}else{Q=r;r=f;l=o;o=Q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=134;break}case 111:{o=8;N=134;break}case 117:case 100:{o=10;N=134;break}case 105:{o=0;N=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+ek(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==134){N=0;o=fk(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{Q=x;c[Q>>2]=o;c[Q+4>>2]=D;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;gk(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=hk(e)|0;if((m|0)!=(d[n>>0]|0)){N=21;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(ak(d[m>>0]|0)|0))break;else n=m}gk(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=hk(e)|0}while((ak(m)|0)!=0);m=c[L>>2]|0;if(c[M>>2]|0){m=m+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==21){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=153}}else if((N|0)==152)if(!k){k=m;N=153}if((N|0)==153){m=k;k=-1}if(m){Gl(l);Gl(f)}}else k=0;while(0);if(O)Kk(e);i=P;return k|0}function el(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=37352;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(ck()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=cl(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function fl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=29;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=dl(e,b,d)|0;i=g;return h|0}function gl(a,b,c){a=a|0;b=b|0;c=c|0;return +(+zl(a,b,2))}function hl(a,b,c){a=a|0;b=b|0;c=c|0;a=Al(a,b,c,-1,-1)|0;return a|0}function il(a,b,c){a=a|0;b=b|0;c=c|0;a=Al(a,b,c,0,-2147483648)|0;return a|0}function jl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=$(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return ((e|0)!=0?b:0)|0}function kl(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ll(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function ml(a,b){a=a|0;b=b|0;kl(a,b)|0;return a|0}function nl(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function ol(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function pl(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(d|0)==0;if(a-b>>2>>>0>>0){if(!e)do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0)}else if(!e){e=b;b=a;while(1){d=d+-1|0;c[b>>2]=c[e>>2];if(!d)break;else{e=e+4|0;b=b+4|0}}}return a|0}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function tl(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=tw(f|0,b|0,10,0)|0;f=D;e=jw(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=jw(e|0,D|0,b|0,f|0)|0;b=D;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=hw(0,0,g|0,b|0)|0;f=a?D:b;e=a?e:g}D=f;return e|0}function ul(a){a=a|0;if(!(c[a+68>>2]|0))Kk(a);return}function vl(a){a=a|0;if(!(c[a+68>>2]|0))Kk(a);return}function wl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Gb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Gb[c[a+40>>2]&63](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}\n\n// EMSCRIPTEN_END_FUNCS\n var yb=[Uw,Qq,Uq,Or,Sr,Xr,Zr,xu,Iu,Uw,Uw,Uw,Uw,Uw,Uw,Uw];var zb=[Vw,ii,Yh,Mh,Ah,oh,ch,Sg,Bg,Mj,Lj,Ij,Vw,Vw,Vw,Vw];var Ab=[Ww,bs,hs,Ww];var Bb=[Xw,ei,fi,Uh,Vh,Ih,Jh,wh,xh,kh,lh,_g,$g,Og,Pg,xg,yg,kg,lg,_f,$f,Of,Pf,Cf,Df,qf,rf,ye,ze,le,me,tc,uc,Pd,Td,Qd,bo,eo,co,fo,kd,ld,Qi,md,dd,ed,Ic,Jc,Qc,Rc,Xc,Yc,nd,od,ud,vd,Bd,Cd,Id,Jd,je,ke,He,Ie,Oe,Pe,Ve,We,af,bf,Mg,Ng,Dm,qi,Ai,Bi,Ri,Si,fj,gj,mj,nj,rj,sj,uj,xj,vj,wj,yj,zj,Cn,Tl,Zl,nn,cm,im,Bm,Cm,on,Dn,Rn,Tn,Sn,Un,Xn,Zn,Yn,_n,ko,mo,lo,no,uo,vo,en,wo,xo,yo,Ao,Ks,Eo,Fo,Jo,Ko,Yo,Zo,qp,rp,Fp,Gp,Sp,Tp,pq,qq,Nq,Pq,Sq,Tq,Wq,Xq,fr,gr,qr,rr,Br,Cr,Mr,Nr,Vr,Wr,$r,as,fs,gs,ls,ms,qs,rs,ys,zs,at,bt,wu,tt,Vt,Wt,Xt,Yt,zo,Js,Ms,kt,Bt,Jt,Rt,St,Ti,Ii,$i,sc,pn,Wn,_d,Eg,Wj,ul,vl,Ml,mk,Pr,Rr,Ls,Gv,Nv,Ov,Pv,Qv,Rv,Sv,Im,Wm,Gl,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw];var Cb=[Yw,hi,Xh,Lh,zh,nh,bh,Rg,Ag,mg,ag,Qf,Ef,sf,Ae,ne,vc,qn,Ci,Fi,Ul,Yl,dm,hm,Fn,_q,$q,ar,br,dr,er,jr,kr,lr,mr,or,pr,ur,vr,wr,xr,zr,Ar,Fr,Gr,Hr,Ir,Kr,Lr,ps,us,bu,du,fu,cu,eu,gu,kc,Ui,Gi,Hi,Ji,kn,Cc,Ec,go,dn,Qm,Zd,re,jf,wf,If,Uf,eg,qg,Dg,Ug,eh,qh,Ch,Oh,_h,ki,yi,Zi,sm,qm,hn,oo,rm,Om,_m,Zm,av,bv,cv,dv,ev,fv,st,gv,hv,iv,jv,kv,lv,mv,nv,ov,pv,qv,rv,sv,tv,uv,vv,wv,xv,yv,zv,Av,Bv,Cv,Ev,Yv,Yw,Yw];var Db=[Zw,Lo,Mo,No,Oo,Po,Qo,Ro,So,To,Uo,Vo,_o,$o,ap,bp,cp,dp,ep,fp,gp,hp,ip,xp,zp,Kp,Mp,Vp,Wp,Xp,Zp,$p,sq,tq,uq,wq,yq,es,ks,cd,Uu,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw];var Eb=[_w,un,vn,hd,yn,ri,hj,oj,tj,Mk,Vl,Kn,Mn,Nn,Jn,_l,$l,em,xn,jm,km,qo,Up,iu,ku,mu,su,uu,ou,qu,rq,ju,lu,nu,tu,vu,pu,ru,Yq,Zq,cr,hr,ir,nr,sr,tr,yr,Dr,Er,Jr,xt,yt,At,Zt,$t,_t,au,ot,pt,rt,Ft,Gt,It,Nt,Ot,Qt,ui,bj,jn,Li,Vn,$n,$w,ax,bx,qk,pl,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w];var Fb=[cx,Qr,Yr,cx];var Gb=[dx,rn,wn,An,um,vm,Aj,Bl,Pk,Ok,Nk,Qk,Gn,Ln,Wl,Pn,fm,Do,Io,ns,ss,dt,ft,it,Ns,Us,Xs,_s,Dc,yl,Rm,pk,Zu,$u,Fk,Ek,zk,bl,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx];var Hb=[ex,ds,js,ex];var Ib=[fx,fd,Pj,Oj,Nj,Hn,sn,os,ts,fx,fx,fx,fx,fx,fx,fx];var Jb=[gx,wp,Cp,Jp,Op,gx,gx,gx];var Kb=[hx,Tr,_r,cs,is,hx,hx,hx];var Lb=[ix,gi,Wh,Kh,yh,mh,ah,Qg,zg,og,cg,Sf,Gf,uf,Ce,pe,xc,id,jd,On,Xl,am,Qn,zn,gm,lm,Bn,ct,et,gt,Ss,Vs,Ys,Vi,oc,qc,io,Is,jo,ok,nk,Km,Xm,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix];var Mb=[jx,Bo,Go,sp,tp,yp,Ep,Hp,Ip,Lp,Qp,jt,wt,zt,$s,nt,qt,Et,Ht,Mt,Pt,Gk,Ck,jx,jx,jx,jx,jx,jx,jx,jx,jx];var Nb=[kx,$v,_v,Zv];var Ob=[lx,lc,aj,Xo,Bs,Cs,Ds,Zj,$j,_j,lx,lx,lx,lx,lx,lx];var Pb=[mx,ng,bg,Rf,Ff,tf,Be,oe,wc,ht,Ps,Qs,Rs,Zs,ti,zi,Hu,Tu,Dk,kk,Ak,fw,ew,dw,cw,bw,aw,mx,mx,mx,mx,mx];var Qb=[nx,tm,si,ro,Wi,Gm,ox,Am,Mm,Ki,xm,to,Xu,Yu,_u,Um];var Rb=[px,qx,Tj,rx,Uj,sx,Sj,px];var Sb=[tx,bq,Aq,ut,vt,lt,mt,Ct,Dt,Kt,Lt,tx,tx,tx,tx,tx];var Tb=[ux,Ap,Dp,Np,Pp,ux,ux,ux];var Ub=[vx,Ud,Vd,Rd,Sd,gd,Kc,Lc,Sc,Tc,Zc,_c,pd,qd,wd,xd,Dd,Ed,Kd,Ld,Je,Ke,Qe,Re,Xe,Ye,cf,df,Cj,Dj,Fj,In,tn,Co,Ho,dc,zm,yc,zc,Ac,Bc,Fc,Gc,Hc,De,Ee,Fe,Ge,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx];return{_jpegls_encode:Yi,___cxa_can_catch:Qj,_free:Gl,_jpegls_decode:Xi,___cxa_is_pointer_type:Rj,_i64Add:jw,_memmove:nw,_i64Subtract:hw,_memset:iw,_malloc:Fl,_memcpy:lw,_bitshift64Lshr:kw,_bitshift64Shl:mw,__GLOBAL__I_000101:Nl,__GLOBAL__sub_I_jpegls_cpp:rc,__GLOBAL__sub_I_iostream_cpp:Ol,runPostSets:gw,stackAlloc:Vb,stackSave:Wb,stackRestore:Xb,establishStackSpace:Yb,setThrew:Zb,setTempRet0:ac,getTempRet0:bc,dynCall_iiiiiiii:xw,dynCall_viiiii:yw,dynCall_iiiiiid:zw,dynCall_vi:Aw,dynCall_vii:Bw,dynCall_iiiiiii:Cw,dynCall_ii:Dw,dynCall_iiiiiiiiiiii:Ew,dynCall_iiii:Fw,dynCall_viiiiiiiiiiiiiii:Gw,dynCall_viiiiii:Hw,dynCall_viiiiiii:Iw,dynCall_viiiiiiiiii:Jw,dynCall_iii:Kw,dynCall_iiiiii:Lw,dynCall_diii:Mw,dynCall_i:Nw,dynCall_iiiii:Ow,dynCall_viii:Pw,dynCall_v:Qw,dynCall_iiiiiiiii:Rw,dynCall_iiiiid:Sw,dynCall_viiii:Tw}})\n\n\n // EMSCRIPTEN_END_ASM\n (Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _jpegls_encode=Module[\"_jpegls_encode\"]=asm[\"_jpegls_encode\"];var ___cxa_can_catch=Module[\"___cxa_can_catch\"]=asm[\"___cxa_can_catch\"];var _free=Module[\"_free\"]=asm[\"_free\"];var _jpegls_decode=Module[\"_jpegls_decode\"]=asm[\"_jpegls_decode\"];var ___cxa_is_pointer_type=Module[\"___cxa_is_pointer_type\"]=asm[\"___cxa_is_pointer_type\"];var _i64Add=Module[\"_i64Add\"]=asm[\"_i64Add\"];var _memmove=Module[\"_memmove\"]=asm[\"_memmove\"];var _i64Subtract=Module[\"_i64Subtract\"]=asm[\"_i64Subtract\"];var _memset=Module[\"_memset\"]=asm[\"_memset\"];var _malloc=Module[\"_malloc\"]=asm[\"_malloc\"];var _memcpy=Module[\"_memcpy\"]=asm[\"_memcpy\"];var runPostSets=Module[\"runPostSets\"]=asm[\"runPostSets\"];var __GLOBAL__sub_I_iostream_cpp=Module[\"__GLOBAL__sub_I_iostream_cpp\"]=asm[\"__GLOBAL__sub_I_iostream_cpp\"];var _bitshift64Lshr=Module[\"_bitshift64Lshr\"]=asm[\"_bitshift64Lshr\"];var __GLOBAL__sub_I_jpegls_cpp=Module[\"__GLOBAL__sub_I_jpegls_cpp\"]=asm[\"__GLOBAL__sub_I_jpegls_cpp\"];var __GLOBAL__I_000101=Module[\"__GLOBAL__I_000101\"]=asm[\"__GLOBAL__I_000101\"];var _bitshift64Shl=Module[\"_bitshift64Shl\"]=asm[\"_bitshift64Shl\"];var dynCall_iiiiiiii=Module[\"dynCall_iiiiiiii\"]=asm[\"dynCall_iiiiiiii\"];var dynCall_viiiii=Module[\"dynCall_viiiii\"]=asm[\"dynCall_viiiii\"];var dynCall_iiiiiid=Module[\"dynCall_iiiiiid\"]=asm[\"dynCall_iiiiiid\"];var dynCall_vi=Module[\"dynCall_vi\"]=asm[\"dynCall_vi\"];var dynCall_vii=Module[\"dynCall_vii\"]=asm[\"dynCall_vii\"];var dynCall_iiiiiii=Module[\"dynCall_iiiiiii\"]=asm[\"dynCall_iiiiiii\"];var dynCall_ii=Module[\"dynCall_ii\"]=asm[\"dynCall_ii\"];var dynCall_iiiiiiiiiiii=Module[\"dynCall_iiiiiiiiiiii\"]=asm[\"dynCall_iiiiiiiiiiii\"];var dynCall_iiii=Module[\"dynCall_iiii\"]=asm[\"dynCall_iiii\"];var dynCall_viiiiiiiiiiiiiii=Module[\"dynCall_viiiiiiiiiiiiiii\"]=asm[\"dynCall_viiiiiiiiiiiiiii\"];var dynCall_viiiiii=Module[\"dynCall_viiiiii\"]=asm[\"dynCall_viiiiii\"];var dynCall_viiiiiii=Module[\"dynCall_viiiiiii\"]=asm[\"dynCall_viiiiiii\"];var dynCall_viiiiiiiiii=Module[\"dynCall_viiiiiiiiii\"]=asm[\"dynCall_viiiiiiiiii\"];var dynCall_iii=Module[\"dynCall_iii\"]=asm[\"dynCall_iii\"];var dynCall_iiiiii=Module[\"dynCall_iiiiii\"]=asm[\"dynCall_iiiiii\"];var dynCall_diii=Module[\"dynCall_diii\"]=asm[\"dynCall_diii\"];var dynCall_i=Module[\"dynCall_i\"]=asm[\"dynCall_i\"];var dynCall_iiiii=Module[\"dynCall_iiiii\"]=asm[\"dynCall_iiiii\"];var dynCall_viii=Module[\"dynCall_viii\"]=asm[\"dynCall_viii\"];var dynCall_v=Module[\"dynCall_v\"]=asm[\"dynCall_v\"];var dynCall_iiiiiiiii=Module[\"dynCall_iiiiiiiii\"]=asm[\"dynCall_iiiiiiiii\"];var dynCall_iiiiid=Module[\"dynCall_iiiiid\"]=asm[\"dynCall_iiiiid\"];var dynCall_viiii=Module[\"dynCall_viiii\"]=asm[\"dynCall_viiii\"];Runtime.stackAlloc=asm[\"stackAlloc\"];Runtime.stackSave=asm[\"stackSave\"];Runtime.stackRestore=asm[\"stackRestore\"];Runtime.establishStackSpace=asm[\"establishStackSpace\"];Runtime.setTempRet0=asm[\"setTempRet0\"];Runtime.getTempRet0=asm[\"getTempRet0\"];function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module[\"calledRun\"])run();if(!Module[\"calledRun\"])dependenciesFulfilled=runCaller};Module[\"callMain\"]=Module.callMain=function callMain(args){assert(runDependencies==0,\"cannot call main when async dependencies remain! (listen on __ATMAIN__)\");assert(__ATPRERUN__.length==0,\"cannot call main when preRun functions remain to be called\");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module[\"thisProgram\"]),\"i8\",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module[\"calledRun\"])return;function doRun(){if(Module[\"calledRun\"])return;Module[\"calledRun\"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();if(Module[\"_main\"]&&shouldRunNow)Module[\"callMain\"](args);postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout((function(){setTimeout((function(){Module[\"setStatus\"](\"\")}),1);doRun()}),1)}else{doRun()}}Module[\"run\"]=Module.run=run;function exit(status,implicit){if(implicit&&Module[\"noExitRuntime\"]){return}if(Module[\"noExitRuntime\"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module[\"onExit\"])Module[\"onExit\"](status)}if(ENVIRONMENT_IS_NODE){process[\"stdout\"][\"once\"](\"drain\",(function(){process[\"exit\"](status)}));console.log(\" \");setTimeout((function(){process[\"exit\"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit===\"function\"){quit(status)}throw new ExitStatus(status)}Module[\"exit\"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=\"\"}ABORT=true;EXITSTATUS=1;var extra=\"\\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.\";var output=\"abort(\"+what+\") at \"+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module[\"abort\"]=Module.abort=abort;if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}var shouldRunNow=true;if(Module[\"noInitialRun\"]){shouldRunNow=false}run()\n\n\n\n\n\n return Module;\n};\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = CharLS;\n\n/***/ }),\n\n/***/ \"../codecs/jpeg.js\":\n/*!*************************!*\\\n !*** ../codecs/jpeg.js ***!\n \\*************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// jshint ignore: start\n\n/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- /\n /* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */\n/*\n Copyright 2011 notmasteryet\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n */\n\n// - The JPEG specification can be found in the ITU CCITT Recommendation T.81\n// (www.w3.org/Graphics/JPEG/itu-t81.pdf)\n// - The JFIF specification can be found in the JPEG File Interchange Format\n// (www.w3.org/Graphics/JPEG/jfif3.pdf)\n// - The Adobe Application-Specific JPEG markers in the Supporting the DCT Filters\n// in PostScript Level 2, Technical Note #5116\n// (partners.adobe.com/public/developer/en/ps/sdk/5116.DCT_Filter.pdf)\n\nvar ColorSpace = {Unkown: 0, Grayscale: 1, AdobeRGB: 2, RGB: 3, CYMK: 4};\nvar JpegImage = (function jpegImage() {\n \"use strict\";\n var dctZigZag = new Int32Array([\n 0,\n 1, 8,\n 16, 9, 2,\n 3, 10, 17, 24,\n 32, 25, 18, 11, 4,\n 5, 12, 19, 26, 33, 40,\n 48, 41, 34, 27, 20, 13, 6,\n 7, 14, 21, 28, 35, 42, 49, 56,\n 57, 50, 43, 36, 29, 22, 15,\n 23, 30, 37, 44, 51, 58,\n 59, 52, 45, 38, 31,\n 39, 46, 53, 60,\n 61, 54, 47,\n 55, 62,\n 63\n ]);\n\n var dctCos1 = 4017; // cos(pi/16)\n var dctSin1 = 799; // sin(pi/16)\n var dctCos3 = 3406; // cos(3*pi/16)\n var dctSin3 = 2276; // sin(3*pi/16)\n var dctCos6 = 1567; // cos(6*pi/16)\n var dctSin6 = 3784; // sin(6*pi/16)\n var dctSqrt2 = 5793; // sqrt(2)\n var dctSqrt1d2 = 2896; // sqrt(2) / 2\n\n function constructor() {\n }\n\n function buildHuffmanTable(codeLengths, values) {\n var k = 0, code = [], i, j, length = 16;\n while (length > 0 && !codeLengths[length - 1])\n length--;\n code.push({children: [], index: 0});\n var p = code[0], q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push(q = {children: [], index: 0});\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n // p here points to last code\n code.push(q = {children: [], index: 0});\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n }\n\n function getBlockBufferOffset(component, row, col) {\n return 64 * ((component.blocksPerLine + 1) * row + col);\n }\n\n function decodeScan(data, offset,\n frame, components, resetInterval,\n spectralStart, spectralEnd,\n successivePrev, successive) {\n var precision = frame.precision;\n var samplesPerLine = frame.samplesPerLine;\n var scanLines = frame.scanLines;\n var mcusPerLine = frame.mcusPerLine;\n var progressive = frame.progressive;\n var maxH = frame.maxH, maxV = frame.maxV;\n\n var startOffset = offset, bitsData = 0, bitsCount = 0;\n\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return (bitsData >> bitsCount) & 1;\n }\n bitsData = data[offset++];\n if (bitsData == 0xFF) {\n var nextByte = data[offset++];\n if (nextByte) {\n throw \"unexpected marker: \" + ((bitsData << 8) | nextByte).toString(16);\n }\n // unstuff 0\n }\n bitsCount = 7;\n return bitsData >>> 7;\n }\n\n function decodeHuffman(tree) {\n var node = tree;\n var bit;\n while ((bit = readBit()) !== null) {\n node = node[bit];\n if (typeof node === 'number')\n return node;\n if (typeof node !== 'object')\n throw \"invalid huffman sequence\";\n }\n return null;\n }\n\n function receive(length) {\n var n = 0;\n while (length > 0) {\n var bit = readBit();\n if (bit === null)\n return;\n n = (n << 1) | bit;\n length--;\n }\n return n;\n }\n\n function receiveAndExtend(length) {\n var n = receive(length);\n if (n >= 1 << (length - 1))\n return n;\n return n + (-1 << length) + 1;\n }\n\n function decodeBaseline(component, offset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n component.blockData[offset] = (component.pred += diff);\n var k = 1;\n while (k < 64) {\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15)\n break;\n k += 16;\n continue;\n }\n k += r;\n var z = dctZigZag[k];\n component.blockData[offset + z] = receiveAndExtend(s);\n k++;\n }\n }\n\n function decodeDCFirst(component, offset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : (receiveAndExtend(t) << successive);\n component.blockData[offset] = (component.pred += diff);\n }\n\n function decodeDCSuccessive(component, offset) {\n component.blockData[offset] |= readBit() << successive;\n }\n\n var eobrun = 0;\n function decodeACFirst(component, offset) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n var k = spectralStart, e = spectralEnd;\n while (k <= e) {\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15, r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n k += 16;\n continue;\n }\n k += r;\n var z = dctZigZag[k];\n component.blockData[offset + z] = receiveAndExtend(s) * (1 << successive);\n k++;\n }\n }\n\n var successiveACState = 0, successiveACNextValue;\n function decodeACSuccessive(component, offset) {\n var k = spectralStart, e = spectralEnd, r = 0;\n while (k <= e) {\n var z = dctZigZag[k];\n switch (successiveACState) {\n case 0: // initial state\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15;\n r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1)\n throw \"invalid ACn encoding\";\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n continue;\n case 1: // skipping r zero items\n case 2:\n if (component.blockData[offset + z]) {\n component.blockData[offset + z] += (readBit() << successive);\n } else {\n r--;\n if (r === 0)\n successiveACState = successiveACState == 2 ? 3 : 0;\n }\n break;\n case 3: // set value for a zero item\n if (component.blockData[offset + z]) {\n component.blockData[offset + z] += (readBit() << successive);\n } else {\n component.blockData[offset + z] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n break;\n case 4: // eob\n if (component.blockData[offset + z]) {\n component.blockData[offset + z] += (readBit() << successive);\n }\n break;\n }\n k++;\n }\n if (successiveACState === 4) {\n eobrun--;\n if (eobrun === 0)\n successiveACState = 0;\n }\n }\n\n function decodeMcu(component, decode, mcu, row, col) {\n var mcuRow = (mcu / mcusPerLine) | 0;\n var mcuCol = mcu % mcusPerLine;\n var blockRow = mcuRow * component.v + row;\n var blockCol = mcuCol * component.h + col;\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, offset);\n }\n\n function decodeBlock(component, decode, mcu) {\n var blockRow = (mcu / component.blocksPerLine) | 0;\n var blockCol = mcu % component.blocksPerLine;\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, offset);\n }\n\n var componentsLength = components.length;\n var component, i, j, k, n;\n var decodeFn;\n if (progressive) {\n if (spectralStart === 0)\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n else\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n } else {\n decodeFn = decodeBaseline;\n }\n\n var mcu = 0, marker;\n var mcuExpected;\n if (componentsLength == 1) {\n mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n } else {\n mcuExpected = mcusPerLine * frame.mcusPerColumn;\n }\n if (!resetInterval) {\n resetInterval = mcuExpected;\n }\n\n var h, v;\n while (mcu < mcuExpected) {\n // reset interval stuff\n for (i = 0; i < componentsLength; i++) {\n components[i].pred = 0;\n }\n eobrun = 0;\n\n if (componentsLength == 1) {\n component = components[0];\n for (n = 0; n < resetInterval; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < resetInterval; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n mcu++;\n }\n }\n\n // find marker\n bitsCount = 0;\n marker = (data[offset] << 8) | data[offset + 1];\n if (marker <= 0xFF00) {\n throw \"marker was not found\";\n }\n\n if (marker >= 0xFFD0 && marker <= 0xFFD7) { // RSTx\n offset += 2;\n } else {\n break;\n }\n }\n\n return offset - startOffset;\n }\n\n // A port of poppler's IDCT method which in turn is taken from:\n // Christoph Loeffler, Adriaan Ligtenberg, George S. Moschytz,\n // \"Practical Fast 1-D DCT Algorithms with 11 Multiplications\",\n // IEEE Intl. Conf. on Acoustics, Speech & Signal Processing, 1989,\n // 988-991.\n function quantizeAndInverse(component, blockBufferOffset, p) {\n var qt = component.quantizationTable;\n var v0, v1, v2, v3, v4, v5, v6, v7, t;\n var i;\n\n // dequant\n for (i = 0; i < 64; i++) {\n p[i] = component.blockData[blockBufferOffset + i] * qt[i];\n }\n\n // inverse DCT on rows\n for (i = 0; i < 8; ++i) {\n var row = 8 * i;\n\n // check for all-zero AC coefficients\n if (p[1 + row] === 0 && p[2 + row] === 0 && p[3 + row] === 0 &&\n p[4 + row] === 0 && p[5 + row] === 0 && p[6 + row] === 0 &&\n p[7 + row] === 0) {\n t = (dctSqrt2 * p[0 + row] + 512) >> 10;\n p[0 + row] = t;\n p[1 + row] = t;\n p[2 + row] = t;\n p[3 + row] = t;\n p[4 + row] = t;\n p[5 + row] = t;\n p[6 + row] = t;\n p[7 + row] = t;\n continue;\n }\n\n // stage 4\n v0 = (dctSqrt2 * p[0 + row] + 128) >> 8;\n v1 = (dctSqrt2 * p[4 + row] + 128) >> 8;\n v2 = p[2 + row];\n v3 = p[6 + row];\n v4 = (dctSqrt1d2 * (p[1 + row] - p[7 + row]) + 128) >> 8;\n v7 = (dctSqrt1d2 * (p[1 + row] + p[7 + row]) + 128) >> 8;\n v5 = p[3 + row] << 4;\n v6 = p[5 + row] << 4;\n\n // stage 3\n t = (v0 - v1 + 1) >> 1;\n v0 = (v0 + v1 + 1) >> 1;\n v1 = t;\n t = (v2 * dctSin6 + v3 * dctCos6 + 128) >> 8;\n v2 = (v2 * dctCos6 - v3 * dctSin6 + 128) >> 8;\n v3 = t;\n t = (v4 - v6 + 1) >> 1;\n v4 = (v4 + v6 + 1) >> 1;\n v6 = t;\n t = (v7 + v5 + 1) >> 1;\n v5 = (v7 - v5 + 1) >> 1;\n v7 = t;\n\n // stage 2\n t = (v0 - v3 + 1) >> 1;\n v0 = (v0 + v3 + 1) >> 1;\n v3 = t;\n t = (v1 - v2 + 1) >> 1;\n v1 = (v1 + v2 + 1) >> 1;\n v2 = t;\n t = (v4 * dctSin3 + v7 * dctCos3 + 2048) >> 12;\n v4 = (v4 * dctCos3 - v7 * dctSin3 + 2048) >> 12;\n v7 = t;\n t = (v5 * dctSin1 + v6 * dctCos1 + 2048) >> 12;\n v5 = (v5 * dctCos1 - v6 * dctSin1 + 2048) >> 12;\n v6 = t;\n\n // stage 1\n p[0 + row] = v0 + v7;\n p[7 + row] = v0 - v7;\n p[1 + row] = v1 + v6;\n p[6 + row] = v1 - v6;\n p[2 + row] = v2 + v5;\n p[5 + row] = v2 - v5;\n p[3 + row] = v3 + v4;\n p[4 + row] = v3 - v4;\n }\n\n // inverse DCT on columns\n for (i = 0; i < 8; ++i) {\n var col = i;\n\n // check for all-zero AC coefficients\n if (p[1 * 8 + col] === 0 && p[2 * 8 + col] === 0 && p[3 * 8 + col] === 0 &&\n p[4 * 8 + col] === 0 && p[5 * 8 + col] === 0 && p[6 * 8 + col] === 0 &&\n p[7 * 8 + col] === 0) {\n t = (dctSqrt2 * p[i + 0] + 8192) >> 14;\n p[0 * 8 + col] = t;\n p[1 * 8 + col] = t;\n p[2 * 8 + col] = t;\n p[3 * 8 + col] = t;\n p[4 * 8 + col] = t;\n p[5 * 8 + col] = t;\n p[6 * 8 + col] = t;\n p[7 * 8 + col] = t;\n continue;\n }\n\n // stage 4\n v0 = (dctSqrt2 * p[0 * 8 + col] + 2048) >> 12;\n v1 = (dctSqrt2 * p[4 * 8 + col] + 2048) >> 12;\n v2 = p[2 * 8 + col];\n v3 = p[6 * 8 + col];\n v4 = (dctSqrt1d2 * (p[1 * 8 + col] - p[7 * 8 + col]) + 2048) >> 12;\n v7 = (dctSqrt1d2 * (p[1 * 8 + col] + p[7 * 8 + col]) + 2048) >> 12;\n v5 = p[3 * 8 + col];\n v6 = p[5 * 8 + col];\n\n // stage 3\n t = (v0 - v1 + 1) >> 1;\n v0 = (v0 + v1 + 1) >> 1;\n v1 = t;\n t = (v2 * dctSin6 + v3 * dctCos6 + 2048) >> 12;\n v2 = (v2 * dctCos6 - v3 * dctSin6 + 2048) >> 12;\n v3 = t;\n t = (v4 - v6 + 1) >> 1;\n v4 = (v4 + v6 + 1) >> 1;\n v6 = t;\n t = (v7 + v5 + 1) >> 1;\n v5 = (v7 - v5 + 1) >> 1;\n v7 = t;\n\n // stage 2\n t = (v0 - v3 + 1) >> 1;\n v0 = (v0 + v3 + 1) >> 1;\n v3 = t;\n t = (v1 - v2 + 1) >> 1;\n v1 = (v1 + v2 + 1) >> 1;\n v2 = t;\n t = (v4 * dctSin3 + v7 * dctCos3 + 2048) >> 12;\n v4 = (v4 * dctCos3 - v7 * dctSin3 + 2048) >> 12;\n v7 = t;\n t = (v5 * dctSin1 + v6 * dctCos1 + 2048) >> 12;\n v5 = (v5 * dctCos1 - v6 * dctSin1 + 2048) >> 12;\n v6 = t;\n\n // stage 1\n p[0 * 8 + col] = v0 + v7;\n p[7 * 8 + col] = v0 - v7;\n p[1 * 8 + col] = v1 + v6;\n p[6 * 8 + col] = v1 - v6;\n p[2 * 8 + col] = v2 + v5;\n p[5 * 8 + col] = v2 - v5;\n p[3 * 8 + col] = v3 + v4;\n p[4 * 8 + col] = v3 - v4;\n }\n\n // convert to 8-bit integers\n for (i = 0; i < 64; ++i) {\n var index = blockBufferOffset + i;\n var q = p[i];\n q = (q <= -2056 / component.bitConversion) ? 0 :\n (q >= 2024 / component.bitConversion) ? 255 / component.bitConversion :\n (q + 2056 / component.bitConversion) >> 4;\n component.blockData[index] = q;\n }\n }\n\n function buildComponentData(frame, component) {\n var lines = [];\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var samplesPerLine = blocksPerLine << 3;\n var computationBuffer = new Int32Array(64);\n\n var i, j, ll = 0;\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n quantizeAndInverse(component, offset, computationBuffer);\n }\n }\n return component.blockData;\n }\n\n function clampToUint8(a) {\n return a <= 0 ? 0 : a >= 255 ? 255 : a | 0;\n }\n\n constructor.prototype = {\n load: function load(path) {\n var handleData = (function (data) {\n this.parse(data);\n if (this.onload)\n this.onload();\n }).bind(this);\n\n if (path.indexOf(\"data:\") > -1) {\n var offset = path.indexOf(\"base64,\") + 7;\n var data = atob(path.substring(offset));\n var arr = new Uint8Array(data.length);\n for (var i = data.length - 1; i >= 0; i--) {\n arr[i] = data.charCodeAt(i);\n }\n handleData(data);\n } else {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", path, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = (function () {\n // TODO catch parse error\n var data = new Uint8Array(xhr.response);\n handleData(data);\n }).bind(this);\n xhr.send(null);\n }\n },\n parse: function parse(data) {\n\n function readUint16() {\n var value = (data[offset] << 8) | data[offset + 1];\n offset += 2;\n return value;\n }\n\n function readDataBlock() {\n var length = readUint16();\n var array = data.subarray(offset, offset + length - 2);\n offset += array.length;\n return array;\n }\n\n function prepareComponents(frame) {\n var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH);\n var mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV);\n for (var i = 0; i < frame.components.length; i++) {\n component = frame.components[i];\n var blocksPerLine = Math.ceil(Math.ceil(frame.samplesPerLine / 8) * component.h / frame.maxH);\n var blocksPerColumn = Math.ceil(Math.ceil(frame.scanLines / 8) * component.v / frame.maxV);\n var blocksPerLineForMcu = mcusPerLine * component.h;\n var blocksPerColumnForMcu = mcusPerColumn * component.v;\n\n var blocksBufferSize = 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1);\n component.blockData = new Int16Array(blocksBufferSize);\n component.blocksPerLine = blocksPerLine;\n component.blocksPerColumn = blocksPerColumn;\n }\n frame.mcusPerLine = mcusPerLine;\n frame.mcusPerColumn = mcusPerColumn;\n }\n\n var offset = 0, length = data.length;\n var jfif = null;\n var adobe = null;\n var pixels = null;\n var frame, resetInterval;\n var quantizationTables = [];\n var huffmanTablesAC = [], huffmanTablesDC = [];\n var fileMarker = readUint16();\n if (fileMarker != 0xFFD8) { // SOI (Start of Image)\n throw \"SOI not found\";\n }\n\n fileMarker = readUint16();\n while (fileMarker != 0xFFD9) { // EOI (End of image)\n var i, j, l;\n switch (fileMarker) {\n case 0xFFE0: // APP0 (Application Specific)\n case 0xFFE1: // APP1\n case 0xFFE2: // APP2\n case 0xFFE3: // APP3\n case 0xFFE4: // APP4\n case 0xFFE5: // APP5\n case 0xFFE6: // APP6\n case 0xFFE7: // APP7\n case 0xFFE8: // APP8\n case 0xFFE9: // APP9\n case 0xFFEA: // APP10\n case 0xFFEB: // APP11\n case 0xFFEC: // APP12\n case 0xFFED: // APP13\n case 0xFFEE: // APP14\n case 0xFFEF: // APP15\n case 0xFFFE: // COM (Comment)\n var appData = readDataBlock();\n\n if (fileMarker === 0xFFE0) {\n if (appData[0] === 0x4A && appData[1] === 0x46 && appData[2] === 0x49 &&\n appData[3] === 0x46 && appData[4] === 0) { // 'JFIF\\x00'\n jfif = {\n version: {major: appData[5], minor: appData[6]},\n densityUnits: appData[7],\n xDensity: (appData[8] << 8) | appData[9],\n yDensity: (appData[10] << 8) | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n };\n }\n }\n // TODO APP1 - Exif\n if (fileMarker === 0xFFEE) {\n if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6F &&\n appData[3] === 0x62 && appData[4] === 0x65 && appData[5] === 0) { // 'Adobe\\x00'\n adobe = {\n version: appData[6],\n flags0: (appData[7] << 8) | appData[8],\n flags1: (appData[9] << 8) | appData[10],\n transformCode: appData[11]\n };\n }\n }\n break;\n\n case 0xFFDB: // DQT (Define Quantization Tables)\n var quantizationTablesLength = readUint16();\n var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n while (offset < quantizationTablesEnd) {\n var quantizationTableSpec = data[offset++];\n var tableData = new Int32Array(64);\n if ((quantizationTableSpec >> 4) === 0) { // 8 bit values\n for (j = 0; j < 64; j++) {\n var z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if ((quantizationTableSpec >> 4) === 1) { //16 bit\n for (j = 0; j < 64; j++) {\n var zz = dctZigZag[j];\n tableData[zz] = readUint16();\n }\n } else\n throw \"DQT: invalid table spec\";\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n break;\n\n case 0xFFC0: // SOF0 (Start of Frame, Baseline DCT)\n case 0xFFC1: // SOF1 (Start of Frame, Extended DCT)\n case 0xFFC2: // SOF2 (Start of Frame, Progressive DCT)\n if (frame) {\n throw \"Only single frame JPEGs supported\";\n }\n readUint16(); // skip data length\n frame = {};\n frame.extended = (fileMarker === 0xFFC1);\n frame.progressive = (fileMarker === 0xFFC2);\n frame.precision = data[offset++];\n frame.scanLines = readUint16();\n frame.samplesPerLine = readUint16();\n frame.components = [];\n frame.componentIds = {};\n var componentsCount = data[offset++], componentId;\n var maxH = 0, maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n var h = data[offset + 1] >> 4;\n var v = data[offset + 1] & 15;\n if (maxH < h)\n maxH = h;\n if (maxV < v)\n maxV = v;\n var qId = data[offset + 2];\n l = frame.components.push({\n h: h,\n v: v,\n quantizationTable: quantizationTables[qId],\n quantizationTableId: qId,\n bitConversion: 255 / ((1 << frame.precision) - 1)\n });\n frame.componentIds[componentId] = l - 1;\n offset += 3;\n }\n frame.maxH = maxH;\n frame.maxV = maxV;\n prepareComponents(frame);\n break;\n\n case 0xFFC4: // DHT (Define Huffman Tables)\n var huffmanLength = readUint16();\n for (i = 2; i < huffmanLength; ) {\n var huffmanTableSpec = data[offset++];\n var codeLengths = new Uint8Array(16);\n var codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++)\n codeLengthSum += (codeLengths[j] = data[offset]);\n var huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++)\n huffmanValues[j] = data[offset];\n i += 17 + codeLengthSum;\n\n ((huffmanTableSpec >> 4) === 0 ?\n huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] =\n buildHuffmanTable(codeLengths, huffmanValues);\n }\n break;\n\n case 0xFFDD: // DRI (Define Restart Interval)\n readUint16(); // skip data length\n resetInterval = readUint16();\n break;\n\n case 0xFFDA: // SOS (Start of Scan)\n var scanLength = readUint16();\n var selectorsCount = data[offset++];\n var components = [], component;\n for (i = 0; i < selectorsCount; i++) {\n var componentIndex = frame.componentIds[data[offset++]];\n component = frame.components[componentIndex];\n var tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n var spectralStart = data[offset++];\n var spectralEnd = data[offset++];\n var successiveApproximation = data[offset++];\n var processed = decodeScan(data, offset,\n frame, components, resetInterval,\n spectralStart, spectralEnd,\n successiveApproximation >> 4, successiveApproximation & 15);\n offset += processed;\n break;\n case 0xFFFF: // Fill bytes\n if (data[offset] !== 0xFF) { // Avoid skipping a valid marker.\n offset--;\n }\n break;\n default:\n if (data[offset - 3] == 0xFF &&\n data[offset - 2] >= 0xC0 && data[offset - 2] <= 0xFE) {\n // could be incorrect encoding -- last 0xFF byte of the previous\n // block was eaten by the encoder\n offset -= 3;\n break;\n }\n throw \"unknown JPEG marker \" + fileMarker.toString(16);\n }\n fileMarker = readUint16();\n }\n\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n switch (frame.components.length)\n {\n case 1:\n this.colorspace = ColorSpace.Grayscale;\n break;\n case 3:\n if (this.adobe)\n this.colorspace = ColorSpace.AdobeRGB;\n else\n this.colorspace = ColorSpace.RGB;\n break;\n case 4:\n this.colorspace = ColorSpace.CYMK;\n break;\n default:\n this.colorspace = ColorSpace.Unknown;\n }\n for (var i = 0; i < frame.components.length; i++) {\n var component = frame.components[i];\n if (!component.quantizationTable && component.quantizationTableId !== null)\n component.quantizationTable = quantizationTables[component.quantizationTableId];\n this.components.push({\n output: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV,\n blocksPerLine: component.blocksPerLine,\n blocksPerColumn: component.blocksPerColumn,\n bitConversion: component.bitConversion\n });\n }\n },\n getData16: function getData16(width, height) {\n if (this.components.length !== 1)\n throw 'Unsupported color mode';\n var scaleX = this.width / width, scaleY = this.height / height;\n\n var component, componentScaleX, componentScaleY;\n var x, y, i;\n var offset = 0;\n var numComponents = this.components.length;\n var dataLength = width * height * numComponents;\n var data = new Uint16Array(dataLength);\n var componentLine;\n\n // lineData is reused for all components. Assume first component is\n // the biggest\n var lineData = new Uint16Array((this.components[0].blocksPerLine << 3) *\n this.components[0].blocksPerColumn * 8);\n\n // First construct image data ...\n for (i = 0; i < numComponents; i++) {\n component = this.components[i];\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var samplesPerLine = blocksPerLine << 3;\n\n var j, k, ll = 0;\n var lineOffset = 0;\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n var scanLine = blockRow << 3;\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n var bufferOffset = getBlockBufferOffset(component, blockRow, blockCol);\n var offset = 0, sample = blockCol << 3;\n for (j = 0; j < 8; j++) {\n var lineOffset = (scanLine + j) * samplesPerLine;\n for (k = 0; k < 8; k++) {\n lineData[lineOffset + sample + k] =\n component.output[bufferOffset + offset++];\n }\n }\n }\n }\n\n componentScaleX = component.scaleX * scaleX;\n componentScaleY = component.scaleY * scaleY;\n offset = i;\n\n var cx, cy;\n var index;\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n cy = 0 | (y * componentScaleY);\n cx = 0 | (x * componentScaleX);\n index = cy * samplesPerLine + cx;\n data[offset] = lineData[index];\n offset += numComponents;\n }\n }\n }\n return data;\n },\n getData: function getData(width, height) {\n var scaleX = this.width / width, scaleY = this.height / height;\n\n var component, componentScaleX, componentScaleY;\n var x, y, i;\n var offset = 0;\n var Y, Cb, Cr, K, C, M, Ye, R, G, B;\n var colorTransform;\n var numComponents = this.components.length;\n var dataLength = width * height * numComponents;\n var data = new Uint8Array(dataLength);\n var componentLine;\n\n // lineData is reused for all components. Assume first component is\n // the biggest\n var lineData = new Uint8Array((this.components[0].blocksPerLine << 3) *\n this.components[0].blocksPerColumn * 8);\n\n // First construct image data ...\n for (i = 0; i < numComponents; i++) {\n component = this.components[i];\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var samplesPerLine = blocksPerLine << 3;\n\n var j, k, ll = 0;\n var lineOffset = 0;\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n var scanLine = blockRow << 3;\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n var bufferOffset = getBlockBufferOffset(component, blockRow, blockCol);\n var offset = 0, sample = blockCol << 3;\n for (j = 0; j < 8; j++) {\n var lineOffset = (scanLine + j) * samplesPerLine;\n for (k = 0; k < 8; k++) {\n lineData[lineOffset + sample + k] =\n component.output[bufferOffset + offset++] * component.bitConversion;\n }\n }\n }\n }\n\n componentScaleX = component.scaleX * scaleX;\n componentScaleY = component.scaleY * scaleY;\n offset = i;\n\n var cx, cy;\n var index;\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n cy = 0 | (y * componentScaleY);\n cx = 0 | (x * componentScaleX);\n index = cy * samplesPerLine + cx;\n data[offset] = lineData[index];\n offset += numComponents;\n }\n }\n }\n\n // ... then transform colors, if necessary\n switch (numComponents) {\n case 1:\n case 2:\n break;\n // no color conversion for one or two compoenents\n\n case 3:\n // The default transform for three components is true\n colorTransform = true;\n // The adobe transform marker overrides any previous setting\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.colorTransform !== 'undefined')\n colorTransform = !!this.colorTransform;\n\n if (colorTransform) {\n for (i = 0; i < dataLength; i += numComponents) {\n Y = data[i ];\n Cb = data[i + 1];\n Cr = data[i + 2];\n\n R = clampToUint8(Y - 179.456 + 1.402 * Cr);\n G = clampToUint8(Y + 135.459 - 0.344 * Cb - 0.714 * Cr);\n B = clampToUint8(Y - 226.816 + 1.772 * Cb);\n\n data[i ] = R;\n data[i + 1] = G;\n data[i + 2] = B;\n }\n }\n break;\n case 4:\n if (!this.adobe)\n throw 'Unsupported color mode (4 components)';\n // The default transform for four components is false\n colorTransform = false;\n // The adobe transform marker overrides any previous setting\n if (this.adobe && this.adobe.transformCode)\n colorTransform = true;\n else if (typeof this.colorTransform !== 'undefined')\n colorTransform = !!this.colorTransform;\n\n if (colorTransform) {\n for (i = 0; i < dataLength; i += numComponents) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n\n C = clampToUint8(434.456 - Y - 1.402 * Cr);\n M = clampToUint8(119.541 - Y + 0.344 * Cb + 0.714 * Cr);\n Y = clampToUint8(481.816 - Y - 1.772 * Cb);\n\n data[i ] = C;\n data[i + 1] = M;\n data[i + 2] = Y;\n // K is unchanged\n }\n }\n break;\n default:\n throw 'Unsupported color mode';\n }\n return data;\n }\n };\n\n return constructor;\n})();\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = JpegImage;\n\n/***/ }),\n\n/***/ \"../codecs/jpegLossless.js\":\n/*!*********************************!*\\\n !*** ../codecs/jpegLossless.js ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.jpeg = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o> 4) !== 0x0FFC) || (current === 0xFFC4))) { // SOF 0~15\n switch (current) {\n case 0xFFC4: // DHT\n this.huffTable.read(this.stream, this.HuffTab);\n break;\n case 0xFFCC: // DAC\n throw new Error(\"Program doesn't support arithmetic coding. (format throw new IOException)\");\n case 0xFFDB:\n this.quantTable.read(this.stream, jpeg.lossless.Decoder.TABLE);\n break;\n case 0xFFDD:\n this.restartInterval = this.readNumber();\n break;\n case 0xFFE0:\n case 0xFFE1:\n case 0xFFE2:\n case 0xFFE3:\n case 0xFFE4:\n case 0xFFE5:\n case 0xFFE6:\n case 0xFFE7:\n case 0xFFE8:\n case 0xFFE9:\n case 0xFFEA:\n case 0xFFEB:\n case 0xFFEC:\n case 0xFFED:\n case 0xFFEE:\n case 0xFFEF:\n this.readApp();\n break;\n case 0xFFFE:\n this.readComment();\n break;\n default:\n if ((current >> 8) !== 0xFF) {\n throw new Error(\"ERROR: format throw new IOException! (decode)\");\n }\n }\n\n current = this.stream.get16();\n }\n\n if ((current < 0xFFC0) || (current > 0xFFC7)) {\n throw new Error(\"ERROR: could not handle arithmetic code!\");\n }\n\n this.frame.read(this.stream);\n current = this.stream.get16();\n\n do {\n while (current !== 0x0FFDA) { // SOS\n switch (current) {\n case 0xFFC4: // DHT\n this.huffTable.read(this.stream, this.HuffTab);\n break;\n case 0xFFCC: // DAC\n throw new Error(\"Program doesn't support arithmetic coding. (format throw new IOException)\");\n case 0xFFDB:\n this.quantTable.read(this.stream, jpeg.lossless.Decoder.TABLE);\n break;\n case 0xFFDD:\n this.restartInterval = this.readNumber();\n break;\n case 0xFFE0:\n case 0xFFE1:\n case 0xFFE2:\n case 0xFFE3:\n case 0xFFE4:\n case 0xFFE5:\n case 0xFFE6:\n case 0xFFE7:\n case 0xFFE8:\n case 0xFFE9:\n case 0xFFEA:\n case 0xFFEB:\n case 0xFFEC:\n case 0xFFED:\n case 0xFFEE:\n case 0xFFEF:\n this.readApp();\n break;\n case 0xFFFE:\n this.readComment();\n break;\n default:\n if ((current >> 8) !== 0xFF) {\n throw new Error(\"ERROR: format throw new IOException! (Parser.decode)\");\n }\n }\n\n current = this.stream.get16();\n }\n\n this.precision = this.frame.precision;\n this.components = this.frame.components;\n\n if (!this.numBytes) {\n this.numBytes = parseInt(Math.ceil(this.precision / 8));\n }\n\n if (this.numBytes == 1) {\n this.mask = 0xFF;\n } else {\n this.mask = 0xFFFF;\n }\n\n this.scan.read(this.stream);\n this.numComp = this.scan.numComp;\n this.selection = this.scan.selection;\n\n if (this.numBytes === 1) {\n if (this.numComp === 3) {\n this.getter = this.getValueRGB;\n this.setter = this.setValueRGB;\n this.output = this.outputRGB;\n } else {\n this.getter = this.getValue8;\n this.setter = this.setValue8;\n this.output = this.outputSingle;\n }\n } else {\n this.getter = this.getValue16;\n this.setter = this.setValue16;\n this.output = this.outputSingle;\n }\n\n switch (this.selection) {\n case 2:\n this.selector = this.select2;\n break;\n case 3:\n this.selector = this.select3;\n break;\n case 4:\n this.selector = this.select4;\n break;\n case 5:\n this.selector = this.select5;\n break;\n case 6:\n this.selector = this.select6;\n break;\n case 7:\n this.selector = this.select7;\n break;\n default:\n this.selector = this.select1;\n break;\n }\n\n this.scanComps = this.scan.components;\n this.quantTables = this.quantTable.quantTables;\n\n for (i = 0; i < this.numComp; i+=1) {\n compN = this.scanComps[i].scanCompSel;\n this.qTab[i] = this.quantTables[this.components[compN].quantTableSel];\n this.nBlock[i] = this.components[compN].vSamp * this.components[compN].hSamp;\n this.dcTab[i] = this.HuffTab[this.scanComps[i].dcTabSel][0];\n this.acTab[i] = this.HuffTab[this.scanComps[i].acTabSel][1];\n }\n\n this.xDim = this.frame.dimX;\n this.yDim = this.frame.dimY;\n if (this.numBytes == 1) {\n this.outputData = new Uint8Array(new ArrayBuffer(this.xDim * this.yDim * this.numBytes * this.numComp));\n } else {\n this.outputData = new Uint16Array(new ArrayBuffer(this.xDim * this.yDim * this.numBytes * this.numComp));\n }\n\n scanNum+=1;\n\n while (true) { // Decode one scan\n temp[0] = 0;\n index[0] = 0;\n\n for (i = 0; i < 10; i+=1) {\n pred[i] = (1 << (this.precision - 1));\n }\n\n if (this.restartInterval === 0) {\n current = this.decodeUnit(pred, temp, index);\n\n while ((current === 0) && ((this.xLoc < this.xDim) && (this.yLoc < this.yDim))) {\n this.output(pred);\n current = this.decodeUnit(pred, temp, index);\n }\n\n break; //current=MARKER\n }\n\n for (mcuNum = 0; mcuNum < this.restartInterval; mcuNum+=1) {\n this.restarting = (mcuNum == 0);\n current = this.decodeUnit(pred, temp, index);\n this.output(pred);\n\n if (current !== 0) {\n break;\n }\n }\n\n if (current === 0) {\n if (this.markerIndex !== 0) {\n current = (0xFF00 | this.marker);\n this.markerIndex = 0;\n } else {\n current = this.stream.get16();\n }\n }\n\n if (!((current >= jpeg.lossless.Decoder.RESTART_MARKER_BEGIN) &&\n (current <= jpeg.lossless.Decoder.RESTART_MARKER_END))) {\n break; //current=MARKER\n }\n }\n\n if ((current === 0xFFDC) && (scanNum === 1)) { //DNL\n this.readNumber();\n current = this.stream.get16();\n }\n } while ((current !== 0xFFD9) && ((this.xLoc < this.xDim) && (this.yLoc < this.yDim)) && (scanNum === 0));\n\n return this.outputData;\n };\n\n\n\n jpeg.lossless.Decoder.prototype.decodeUnit = function (prev, temp, index) {\n if (this.numComp == 1) {\n return this.decodeSingle(prev, temp, index);\n } else if (this.numComp == 3) {\n return this.decodeRGB(prev, temp, index);\n } else {\n return -1;\n }\n };\n\n\n\n jpeg.lossless.Decoder.prototype.select1 = function (compOffset) {\n return this.getPreviousX(compOffset);\n };\n\n\n\n jpeg.lossless.Decoder.prototype.select2 = function (compOffset) {\n return this.getPreviousY(compOffset);\n };\n\n\n\n jpeg.lossless.Decoder.prototype.select3 = function (compOffset) {\n return this.getPreviousXY(compOffset);\n };\n\n\n\n jpeg.lossless.Decoder.prototype.select4 = function (compOffset) {\n return (this.getPreviousX(compOffset) + this.getPreviousY(compOffset)) - this.getPreviousXY(compOffset);\n };\n\n\n\n jpeg.lossless.Decoder.prototype.select5 = function (compOffset) {\n return this.getPreviousX(compOffset) + ((this.getPreviousY(compOffset) - this.getPreviousXY(compOffset)) >> 1);\n };\n\n\n\n jpeg.lossless.Decoder.prototype.select6 = function (compOffset) {\n return this.getPreviousY(compOffset) + ((this.getPreviousX(compOffset) - this.getPreviousXY(compOffset)) >> 1);\n };\n\n\n\n jpeg.lossless.Decoder.prototype.select7 = function (compOffset) {\n return ((this.getPreviousX(compOffset) + this.getPreviousY(compOffset)) / 2);\n };\n\n\n\n jpeg.lossless.Decoder.prototype.decodeRGB = function (prev, temp, index) {\n /*jslint bitwise: true */\n\n var value, actab, dctab, qtab, ctrC, i, k, j;\n\n prev[0] = this.selector(0);\n prev[1] = this.selector(1);\n prev[2] = this.selector(2);\n\n for (ctrC = 0; ctrC < this.numComp; ctrC+=1) {\n qtab = this.qTab[ctrC];\n actab = this.acTab[ctrC];\n dctab = this.dcTab[ctrC];\n for (i = 0; i < this.nBlock[ctrC]; i+=1) {\n for (k = 0; k < this.IDCT_Source.length; k+=1) {\n this.IDCT_Source[k] = 0;\n }\n\n value = this.getHuffmanValue(dctab, temp, index);\n\n if (value >= 0xFF00) {\n return value;\n }\n\n prev[ctrC] = this.IDCT_Source[0] = prev[ctrC] + this.getn(index, value, temp, index);\n this.IDCT_Source[0] *= qtab[0];\n\n for (j = 1; j < 64; j+=1) {\n value = this.getHuffmanValue(actab, temp, index);\n\n if (value >= 0xFF00) {\n return value;\n }\n\n j += (value >> 4);\n\n if ((value & 0x0F) === 0) {\n if ((value >> 4) === 0) {\n break;\n }\n } else {\n this.IDCT_Source[jpeg.lossless.Decoder.IDCT_P[j]] = this.getn(index, value & 0x0F, temp, index) * qtab[j];\n }\n }\n }\n }\n\n return 0;\n };\n\n\n\n jpeg.lossless.Decoder.prototype.decodeSingle = function (prev, temp, index) {\n /*jslint bitwise: true */\n\n var value, i, n, nRestart;\n\n if (this.restarting) {\n this.restarting = false;\n prev[0] = (1 << (this.frame.precision - 1));\n } else {\n prev[0] = this.selector();\n }\n\n for (i = 0; i < this.nBlock[0]; i+=1) {\n value = this.getHuffmanValue(this.dcTab[0], temp, index);\n if (value >= 0xFF00) {\n return value;\n }\n\n n = this.getn(prev, value, temp, index);\n nRestart = (n >> 8);\n\n if ((nRestart >= jpeg.lossless.Decoder.RESTART_MARKER_BEGIN) && (nRestart <= jpeg.lossless.Decoder.RESTART_MARKER_END)) {\n return nRestart;\n }\n\n prev[0] += n;\n }\n\n return 0;\n };\n\n\n\n // Huffman table for fast search: (HuffTab) 8-bit Look up table 2-layer search architecture, 1st-layer represent 256 node (8 bits) if codeword-length > 8\n // bits, then the entry of 1st-layer = (# of 2nd-layer table) | MSB and it is stored in the 2nd-layer Size of tables in each layer are 256.\n // HuffTab[*][*][0-256] is always the only 1st-layer table.\n //\n // An entry can be: (1) (# of 2nd-layer table) | MSB , for code length > 8 in 1st-layer (2) (Code length) << 8 | HuffVal\n //\n // HuffmanValue(table HuffTab[x][y] (ex) HuffmanValue(HuffTab[1][0],...)\n // ):\n // return: Huffman Value of table\n // 0xFF?? if it receives a MARKER\n // Parameter: table HuffTab[x][y] (ex) HuffmanValue(HuffTab[1][0],...)\n // temp temp storage for remainded bits\n // index index to bit of temp\n // in FILE pointer\n // Effect:\n // temp store new remainded bits\n // index change to new index\n // in change to new position\n // NOTE:\n // Initial by temp=0; index=0;\n // NOTE: (explain temp and index)\n // temp: is always in the form at calling time or returning time\n // | byte 4 | byte 3 | byte 2 | byte 1 |\n // | 0 | 0 | 00000000 | 00000??? | if not a MARKER\n // ^index=3 (from 0 to 15)\n // 321\n // NOTE (marker and marker_index):\n // If get a MARKER from 'in', marker=the low-byte of the MARKER\n // and marker_index=9\n // If marker_index=9 then index is always > 8, or HuffmanValue()\n // will not be called\n jpeg.lossless.Decoder.prototype.getHuffmanValue = function (table, temp, index) {\n /*jslint bitwise: true */\n\n var code, input, mask;\n mask = 0xFFFF;\n\n if (index[0] < 8) {\n temp[0] <<= 8;\n input = this.stream.get8();\n if (input === 0xFF) {\n this.marker = this.stream.get8();\n if (this.marker !== 0) {\n this.markerIndex = 9;\n }\n }\n temp[0] |= input;\n } else {\n index[0] -= 8;\n }\n\n code = table[temp[0] >> index[0]];\n\n if ((code & jpeg.lossless.Decoder.MSB) !== 0) {\n if (this.markerIndex !== 0) {\n this.markerIndex = 0;\n return 0xFF00 | this.marker;\n }\n\n temp[0] &= (mask >> (16 - index[0]));\n temp[0] <<= 8;\n input = this.stream.get8();\n\n if (input === 0xFF) {\n this.marker = this.stream.get8();\n if (this.marker !== 0) {\n this.markerIndex = 9;\n }\n }\n\n temp[0] |= input;\n code = table[((code & 0xFF) * 256) + (temp[0] >> index[0])];\n index[0] += 8;\n }\n\n index[0] += 8 - (code >> 8);\n\n if (index[0] < 0) {\n throw new Error(\"index=\" + index[0] + \" temp=\" + temp[0] + \" code=\" + code + \" in HuffmanValue()\");\n }\n\n if (index[0] < this.markerIndex) {\n this.markerIndex = 0;\n return 0xFF00 | this.marker;\n }\n\n temp[0] &= (mask >> (16 - index[0]));\n return code & 0xFF;\n };\n\n\n\n jpeg.lossless.Decoder.prototype.getn = function (PRED, n, temp, index) {\n /*jslint bitwise: true */\n\n var result, one, n_one, mask, input;\n one = 1;\n n_one = -1;\n mask = 0xFFFF;\n\n if (n === 0) {\n return 0;\n }\n\n if (n === 16) {\n if (PRED[0] >= 0) {\n return -32768;\n } else {\n return 32768;\n }\n }\n\n index[0] -= n;\n\n if (index[0] >= 0) {\n if ((index[0] < this.markerIndex) && !this.isLastPixel()) { // this was corrupting the last pixel in some cases\n this.markerIndex = 0;\n return (0xFF00 | this.marker) << 8;\n }\n\n result = temp[0] >> index[0];\n temp[0] &= (mask >> (16 - index[0]));\n } else {\n temp[0] <<= 8;\n input = this.stream.get8();\n\n if (input === 0xFF) {\n this.marker = this.stream.get8();\n if (this.marker !== 0) {\n this.markerIndex = 9;\n }\n }\n\n temp[0] |= input;\n index[0] += 8;\n\n if (index[0] < 0) {\n if (this.markerIndex !== 0) {\n this.markerIndex = 0;\n return (0xFF00 | this.marker) << 8;\n }\n\n temp[0] <<= 8;\n input = this.stream.get8();\n\n if (input === 0xFF) {\n this.marker = this.stream.get8();\n if (this.marker !== 0) {\n this.markerIndex = 9;\n }\n }\n\n temp[0] |= input;\n index[0] += 8;\n }\n\n if (index[0] < 0) {\n throw new Error(\"index=\" + index[0] + \" in getn()\");\n }\n\n if (index[0] < this.markerIndex) {\n this.markerIndex = 0;\n return (0xFF00 | this.marker) << 8;\n }\n\n result = temp[0] >> index[0];\n temp[0] &= (mask >> (16 - index[0]));\n }\n\n if (result < (one << (n - 1))) {\n result += (n_one << n) + 1;\n }\n\n return result;\n };\n\n\n\n jpeg.lossless.Decoder.prototype.getPreviousX = function (compOffset) {\n /*jslint bitwise: true */\n\n if (this.xLoc > 0) {\n return this.getter((((this.yLoc * this.xDim) + this.xLoc) - 1), compOffset);\n } else if (this.yLoc > 0) {\n return this.getPreviousY(compOffset);\n } else {\n return (1 << (this.frame.precision - 1));\n }\n };\n\n\n\n jpeg.lossless.Decoder.prototype.getPreviousXY = function (compOffset) {\n /*jslint bitwise: true */\n\n if ((this.xLoc > 0) && (this.yLoc > 0)) {\n return this.getter(((((this.yLoc - 1) * this.xDim) + this.xLoc) - 1), compOffset);\n } else {\n return this.getPreviousY(compOffset);\n }\n };\n\n\n\n jpeg.lossless.Decoder.prototype.getPreviousY = function (compOffset) {\n /*jslint bitwise: true */\n\n if (this.yLoc > 0) {\n return this.getter((((this.yLoc - 1) * this.xDim) + this.xLoc), compOffset);\n } else {\n return this.getPreviousX(compOffset);\n }\n };\n\n\n\n jpeg.lossless.Decoder.prototype.isLastPixel = function () {\n return (this.xLoc === (this.xDim - 1)) && (this.yLoc === (this.yDim - 1));\n };\n\n\n\n jpeg.lossless.Decoder.prototype.outputSingle = function (PRED) {\n if ((this.xLoc < this.xDim) && (this.yLoc < this.yDim)) {\n this.setter((((this.yLoc * this.xDim) + this.xLoc)), this.mask & PRED[0]);\n\n this.xLoc+=1;\n\n if (this.xLoc >= this.xDim) {\n this.yLoc+=1;\n this.xLoc = 0;\n }\n }\n };\n\n\n\n jpeg.lossless.Decoder.prototype.outputRGB = function (PRED) {\n var offset = ((this.yLoc * this.xDim) + this.xLoc);\n\n if ((this.xLoc < this.xDim) && (this.yLoc < this.yDim)) {\n this.setter(offset, PRED[0], 0);\n this.setter(offset, PRED[1], 1);\n this.setter(offset, PRED[2], 2);\n\n this.xLoc+=1;\n\n if (this.xLoc >= this.xDim) {\n this.yLoc+=1;\n this.xLoc = 0;\n }\n }\n };\n\n jpeg.lossless.Decoder.prototype.setValue8 = function (index, val) {\n this.outputData[index] = val;\n };\n\n jpeg.lossless.Decoder.prototype.getValue8 = function (index) {\n return this.outputData[index]; // mask should not be necessary because outputData is either Int8Array or Int16Array\n };\n\n var littleEndian = (function() {\n var buffer = new ArrayBuffer(2);\n new DataView(buffer).setInt16(0, 256, true /* littleEndian */);\n // Int16Array uses the platform's endianness.\n return new Int16Array(buffer)[0] === 256;\n })();\n\n if (littleEndian) {\n // just reading from an array is fine then. Int16Array will use platform endianness.\n jpeg.lossless.Decoder.prototype.setValue16 = jpeg.lossless.Decoder.prototype.setValue8;\n jpeg.lossless.Decoder.prototype.getValue16 = jpeg.lossless.Decoder.prototype.getValue8;\n }\n else {\n // If platform is big-endian, we will need to convert to little-endian\n jpeg.lossless.Decoder.prototype.setValue16 = function (index, val) {\n this.outputData[index] = ((val & 0xFF) << 8) | ((val >> 8) & 0xFF);\n };\n\n jpeg.lossless.Decoder.prototype.getValue16 = function (index) {\n var val = this.outputData[index];\n return ((val & 0xFF) << 8) | ((val >> 8) & 0xFF);\n };\n }\n\n jpeg.lossless.Decoder.prototype.setValueRGB = function (index, val, compOffset) {\n // this.outputData.setUint8(index * 3 + compOffset, val);\n this.outputData[index * 3 + compOffset] = val;\n };\n\n jpeg.lossless.Decoder.prototype.getValueRGB = function (index, compOffset) {\n // return this.outputData.getUint8(index * 3 + compOffset);\n return this.outputData[index * 3 + compOffset];\n };\n\n\n\n jpeg.lossless.Decoder.prototype.readApp = function() {\n var count = 0, length = this.stream.get16();\n count += 2;\n\n while (count < length) {\n this.stream.get8();\n count+=1;\n }\n\n return length;\n };\n\n\n\n jpeg.lossless.Decoder.prototype.readComment = function () {\n var sb = \"\", count = 0, length;\n\n length = this.stream.get16();\n count += 2;\n\n while (count < length) {\n sb += this.stream.get8();\n count+=1;\n }\n\n return sb;\n };\n\n\n\n jpeg.lossless.Decoder.prototype.readNumber = function() {\n var Ld = this.stream.get16();\n\n if (Ld !== 4) {\n throw new Error(\"ERROR: Define number format throw new IOException [Ld!=4]\");\n }\n\n return this.stream.get16();\n };\n\n\n\n /*** Exports ***/\n\n var moduleType = typeof module;\n if ((moduleType !== 'undefined') && module.exports) {\n module.exports = jpeg.lossless.Decoder;\n }\n\n },{\"./data-stream.js\":2,\"./frame-header.js\":4,\"./huffman-table.js\":5,\"./quantization-table.js\":7,\"./scan-header.js\":9,\"./utils.js\":10}],4:[function(require,module,exports){\n /*\n * Copyright (C) 2015 Michael Martinez\n * Changes: Added support for selection values 2-7, fixed minor bugs &\n * warnings, split into multiple class files, and general clean up.\n *\n * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT.\n */\n\n /*\n * Copyright (C) Helmut Dersch\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n /*jslint browser: true, node: true */\n /*global require, module */\n\n \"use strict\";\n\n /*** Imports ***/\n var jpeg = jpeg || {};\n jpeg.lossless = jpeg.lossless || {};\n jpeg.lossless.ComponentSpec = jpeg.lossless.ComponentSpec || ((typeof require !== 'undefined') ? require('./component-spec.js') : null);\n jpeg.lossless.DataStream = jpeg.lossless.DataStream || ((typeof require !== 'undefined') ? require('./data-stream.js') : null);\n\n\n /*** Constructor ***/\n jpeg.lossless.FrameHeader = jpeg.lossless.FrameHeader || function () {\n this.components = []; // Components\n this.dimX = 0; // Number of samples per line\n this.dimY = 0; // Number of lines\n this.numComp = 0; // Number of component in the frame\n this.precision = 0; // Sample Precision (from the original image)\n };\n\n\n\n /*** Prototype Methods ***/\n\n jpeg.lossless.FrameHeader.prototype.read = function (data) {\n /*jslint bitwise: true */\n\n var count = 0, length, i, c, temp;\n\n length = data.get16();\n count += 2;\n\n this.precision = data.get8();\n count+=1;\n\n this.dimY = data.get16();\n count += 2;\n\n this.dimX = data.get16();\n count += 2;\n\n this.numComp = data.get8();\n count+=1;\n for (i = 1; i <= this.numComp; i+=1) {\n if (count > length) {\n throw new Error(\"ERROR: frame format error\");\n }\n\n c = data.get8();\n count+=1;\n\n if (count >= length) {\n throw new Error(\"ERROR: frame format error [c>=Lf]\");\n }\n\n temp = data.get8();\n count+=1;\n\n if (!this.components[c]) {\n this.components[c] = new jpeg.lossless.ComponentSpec();\n }\n\n this.components[c].hSamp = temp >> 4;\n this.components[c].vSamp = temp & 0x0F;\n this.components[c].quantTableSel = data.get8();\n count+=1;\n }\n\n if (count !== length) {\n throw new Error(\"ERROR: frame format error [Lf!=count]\");\n }\n\n return 1;\n };\n\n\n /*** Exports ***/\n\n var moduleType = typeof module;\n if ((moduleType !== 'undefined') && module.exports) {\n module.exports = jpeg.lossless.FrameHeader;\n }\n\n },{\"./component-spec.js\":1,\"./data-stream.js\":2}],5:[function(require,module,exports){\n /*\n * Copyright (C) 2015 Michael Martinez\n * Changes: Added support for selection values 2-7, fixed minor bugs &\n * warnings, split into multiple class files, and general clean up.\n *\n * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT.\n */\n\n /*\n * Copyright (C) Helmut Dersch\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n /*jslint browser: true, node: true */\n /*global require, module */\n\n \"use strict\";\n\n /*** Imports ***/\n var jpeg = jpeg || {};\n jpeg.lossless = jpeg.lossless || {};\n jpeg.lossless.DataStream = jpeg.lossless.DataStream || ((typeof require !== 'undefined') ? require('./data-stream.js') : null);\n jpeg.lossless.Utils = jpeg.lossless.Utils || ((typeof require !== 'undefined') ? require('./utils.js') : null);\n\n\n /*** Constructor ***/\n jpeg.lossless.HuffmanTable = jpeg.lossless.HuffmanTable || function () {\n this.l = jpeg.lossless.Utils.createArray(4, 2, 16);\n this.th = [];\n this.v = jpeg.lossless.Utils.createArray(4, 2, 16, 200);\n this.tc = jpeg.lossless.Utils.createArray(4, 2);\n\n this.tc[0][0] = 0;\n this.tc[1][0] = 0;\n this.tc[2][0] = 0;\n this.tc[3][0] = 0;\n this.tc[0][1] = 0;\n this.tc[1][1] = 0;\n this.tc[2][1] = 0;\n this.tc[3][1] = 0;\n this.th[0] = 0;\n this.th[1] = 0;\n this.th[2] = 0;\n this.th[3] = 0;\n };\n\n\n\n /*** Static Pseudo-constants ***/\n\n jpeg.lossless.HuffmanTable.MSB = 0x80000000;\n\n\n /*** Prototype Methods ***/\n\n jpeg.lossless.HuffmanTable.prototype.read = function(data, HuffTab) {\n /*jslint bitwise: true */\n\n var count = 0, length, temp, t, c, i, j;\n\n length = data.get16();\n count += 2;\n\n while (count < length) {\n temp = data.get8();\n count+=1;\n t = temp & 0x0F;\n if (t > 3) {\n throw new Error(\"ERROR: Huffman table ID > 3\");\n }\n\n c = temp >> 4;\n if (c > 2) {\n throw new Error(\"ERROR: Huffman table [Table class > 2 ]\");\n }\n\n this.th[t] = 1;\n this.tc[t][c] = 1;\n\n for (i = 0; i < 16; i+=1) {\n this.l[t][c][i] = data.get8();\n count+=1;\n }\n\n for (i = 0; i < 16; i+=1) {\n for (j = 0; j < this.l[t][c][i]; j+=1) {\n if (count > length) {\n throw new Error(\"ERROR: Huffman table format error [count>Lh]\");\n }\n\n this.v[t][c][i][j] = data.get8();\n count+=1;\n }\n }\n }\n\n if (count !== length) {\n throw new Error(\"ERROR: Huffman table format error [count!=Lf]\");\n }\n\n for (i = 0; i < 4; i+=1) {\n for (j = 0; j < 2; j+=1) {\n if (this.tc[i][j] !== 0) {\n this.buildHuffTable(HuffTab[i][j], this.l[i][j], this.v[i][j]);\n }\n }\n }\n\n return 1;\n };\n\n\n\n // Build_HuffTab()\n // Parameter: t table ID\n // c table class ( 0 for DC, 1 for AC )\n // L[i] # of codewords which length is i\n // V[i][j] Huffman Value (length=i)\n // Effect:\n // build up HuffTab[t][c] using L and V.\n jpeg.lossless.HuffmanTable.prototype.buildHuffTable = function(tab, L, V) {\n /*jslint bitwise: true */\n\n var currentTable, temp, k, i, j, n;\n temp = 256;\n k = 0;\n\n for (i = 0; i < 8; i+=1) { // i+1 is Code length\n for (j = 0; j < L[i]; j+=1) {\n for (n = 0; n < (temp >> (i + 1)); n+=1) {\n tab[k] = V[i][j] | ((i + 1) << 8);\n k+=1;\n }\n }\n }\n\n for (i = 1; k < 256; i+=1, k+=1) {\n tab[k] = i | jpeg.lossless.HuffmanTable.MSB;\n }\n\n currentTable = 1;\n k = 0;\n\n for (i = 8; i < 16; i+=1) { // i+1 is Code length\n for (j = 0; j < L[i]; j+=1) {\n for (n = 0; n < (temp >> (i - 7)); n+=1) {\n tab[(currentTable * 256) + k] = V[i][j] | ((i + 1) << 8);\n k+=1;\n }\n\n if (k >= 256) {\n if (k > 256) {\n throw new Error(\"ERROR: Huffman table error(1)!\");\n }\n\n k = 0;\n currentTable+=1;\n }\n }\n }\n };\n\n\n /*** Exports ***/\n\n var moduleType = typeof module;\n if ((moduleType !== 'undefined') && module.exports) {\n module.exports = jpeg.lossless.HuffmanTable;\n }\n\n },{\"./data-stream.js\":2,\"./utils.js\":10}],6:[function(require,module,exports){\n /*jslint browser: true, node: true */\n /*global require, module */\n\n \"use strict\";\n\n /*** Imports ****/\n\n /**\n * jpeg\n * @type {*|{}}\n */\n var jpeg = jpeg || {};\n\n /**\n * jpeg.lossless\n * @type {*|{}}\n */\n jpeg.lossless = jpeg.lossless || {};\n\n\n jpeg.lossless.ComponentSpec = jpeg.lossless.ComponentSpec || ((typeof require !== 'undefined') ? require('./component-spec.js') : null);\n jpeg.lossless.DataStream = jpeg.lossless.DataStream || ((typeof require !== 'undefined') ? require('./data-stream.js') : null);\n jpeg.lossless.Decoder = jpeg.lossless.Decoder || ((typeof require !== 'undefined') ? require('./decoder.js') : null);\n jpeg.lossless.FrameHeader = jpeg.lossless.FrameHeader || ((typeof require !== 'undefined') ? require('./frame-header.js') : null);\n jpeg.lossless.HuffmanTable = jpeg.lossless.HuffmanTable || ((typeof require !== 'undefined') ? require('./huffman-table.js') : null);\n jpeg.lossless.QuantizationTable = jpeg.lossless.QuantizationTable || ((typeof require !== 'undefined') ? require('./quantization-table.js') : null);\n jpeg.lossless.ScanComponent = jpeg.lossless.ScanComponent || ((typeof require !== 'undefined') ? require('./scan-component.js') : null);\n jpeg.lossless.ScanHeader = jpeg.lossless.ScanHeader || ((typeof require !== 'undefined') ? require('./scan-header.js') : null);\n jpeg.lossless.Utils = jpeg.lossless.Utils || ((typeof require !== 'undefined') ? require('./utils.js') : null);\n\n\n /*** Exports ***/\n var moduleType = typeof module;\n if ((moduleType !== 'undefined') && module.exports) {\n module.exports = jpeg;\n }\n\n },{\"./component-spec.js\":1,\"./data-stream.js\":2,\"./decoder.js\":3,\"./frame-header.js\":4,\"./huffman-table.js\":5,\"./quantization-table.js\":7,\"./scan-component.js\":8,\"./scan-header.js\":9,\"./utils.js\":10}],7:[function(require,module,exports){\n /*\n * Copyright (C) 2015 Michael Martinez\n * Changes: Added support for selection values 2-7, fixed minor bugs &\n * warnings, split into multiple class files, and general clean up.\n *\n * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT.\n */\n\n /*\n * Copyright (C) Helmut Dersch\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n /*jslint browser: true, node: true */\n /*global require, module */\n\n \"use strict\";\n\n /*** Imports ***/\n var jpeg = jpeg || {};\n jpeg.lossless = jpeg.lossless || {};\n jpeg.lossless.DataStream = jpeg.lossless.DataStream || ((typeof require !== 'undefined') ? require('./data-stream.js') : null);\n jpeg.lossless.Utils = jpeg.lossless.Utils || ((typeof require !== 'undefined') ? require('./utils.js') : null);\n\n\n /*** Constructor ***/\n jpeg.lossless.QuantizationTable = jpeg.lossless.QuantizationTable || function () {\n this.precision = []; // Quantization precision 8 or 16\n this.tq = []; // 1: this table is presented\n this.quantTables = jpeg.lossless.Utils.createArray(4, 64); // Tables\n\n this.tq[0] = 0;\n this.tq[1] = 0;\n this.tq[2] = 0;\n this.tq[3] = 0;\n };\n\n\n\n /*** Static Methods ***/\n\n jpeg.lossless.QuantizationTable.enhanceQuantizationTable = function(qtab, table) {\n /*jslint bitwise: true */\n\n var i;\n\n for (i = 0; i < 8; i+=1) {\n qtab[table[(0 * 8) + i]] *= 90;\n qtab[table[(4 * 8) + i]] *= 90;\n qtab[table[(2 * 8) + i]] *= 118;\n qtab[table[(6 * 8) + i]] *= 49;\n qtab[table[(5 * 8) + i]] *= 71;\n qtab[table[(1 * 8) + i]] *= 126;\n qtab[table[(7 * 8) + i]] *= 25;\n qtab[table[(3 * 8) + i]] *= 106;\n }\n\n for (i = 0; i < 8; i+=1) {\n qtab[table[0 + (8 * i)]] *= 90;\n qtab[table[4 + (8 * i)]] *= 90;\n qtab[table[2 + (8 * i)]] *= 118;\n qtab[table[6 + (8 * i)]] *= 49;\n qtab[table[5 + (8 * i)]] *= 71;\n qtab[table[1 + (8 * i)]] *= 126;\n qtab[table[7 + (8 * i)]] *= 25;\n qtab[table[3 + (8 * i)]] *= 106;\n }\n\n for (i = 0; i < 64; i+=1) {\n qtab[i] >>= 6;\n }\n };\n\n\n /*** Prototype Methods ***/\n\n jpeg.lossless.QuantizationTable.prototype.read = function (data, table) {\n /*jslint bitwise: true */\n\n var count = 0, length, temp, t, i;\n\n length = data.get16();\n count += 2;\n\n while (count < length) {\n temp = data.get8();\n count+=1;\n t = temp & 0x0F;\n\n if (t > 3) {\n throw new Error(\"ERROR: Quantization table ID > 3\");\n }\n\n this.precision[t] = temp >> 4;\n\n if (this.precision[t] === 0) {\n this.precision[t] = 8;\n } else if (this.precision[t] === 1) {\n this.precision[t] = 16;\n } else {\n throw new Error(\"ERROR: Quantization table precision error\");\n }\n\n this.tq[t] = 1;\n\n if (this.precision[t] === 8) {\n for (i = 0; i < 64; i+=1) {\n if (count > length) {\n throw new Error(\"ERROR: Quantization table format error\");\n }\n\n this.quantTables[t][i] = data.get8();\n count+=1;\n }\n\n jpeg.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t], table);\n } else {\n for (i = 0; i < 64; i+=1) {\n if (count > length) {\n throw new Error(\"ERROR: Quantization table format error\");\n }\n\n this.quantTables[t][i] = data.get16();\n count += 2;\n }\n\n jpeg.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t], table);\n }\n }\n\n if (count !== length) {\n throw new Error(\"ERROR: Quantization table error [count!=Lq]\");\n }\n\n return 1;\n };\n\n\n\n /*** Exports ***/\n\n var moduleType = typeof module;\n if ((moduleType !== 'undefined') && module.exports) {\n module.exports = jpeg.lossless.QuantizationTable;\n }\n\n },{\"./data-stream.js\":2,\"./utils.js\":10}],8:[function(require,module,exports){\n /*\n * Copyright (C) 2015 Michael Martinez\n * Changes: Added support for selection values 2-7, fixed minor bugs &\n * warnings, split into multiple class files, and general clean up.\n *\n * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT.\n */\n\n /*\n * Copyright (C) Helmut Dersch\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n /*jslint browser: true, node: true */\n /*global require, module */\n\n \"use strict\";\n\n /*** Imports ***/\n var jpeg = jpeg || {};\n jpeg.lossless = jpeg.lossless || {};\n\n\n /*** Constructor ***/\n jpeg.lossless.ScanComponent = jpeg.lossless.ScanComponent || function () {\n this.acTabSel = 0; // AC table selector\n this.dcTabSel = 0; // DC table selector\n this.scanCompSel = 0; // Scan component selector\n };\n\n\n\n /*** Exports ***/\n\n var moduleType = typeof module;\n if ((moduleType !== 'undefined') && module.exports) {\n module.exports = jpeg.lossless.ScanComponent;\n }\n\n },{}],9:[function(require,module,exports){\n /*\n * Copyright (C) 2015 Michael Martinez\n * Changes: Added support for selection values 2-7, fixed minor bugs &\n * warnings, split into multiple class files, and general clean up.\n *\n * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT.\n */\n\n /*\n * Copyright (C) Helmut Dersch\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n /*jslint browser: true, node: true */\n /*global require, module */\n\n \"use strict\";\n\n /*** Imports ***/\n var jpeg = jpeg || {};\n jpeg.lossless = jpeg.lossless || {};\n jpeg.lossless.DataStream = jpeg.lossless.DataStream || ((typeof require !== 'undefined') ? require('./data-stream.js') : null);\n jpeg.lossless.ScanComponent = jpeg.lossless.ScanComponent || ((typeof require !== 'undefined') ? require('./scan-component.js') : null);\n\n\n /*** Constructor ***/\n jpeg.lossless.ScanHeader = jpeg.lossless.ScanHeader || function () {\n this.ah = 0;\n this.al = 0;\n this.numComp = 0; // Number of components in the scan\n this.selection = 0; // Start of spectral or predictor selection\n this.spectralEnd = 0; // End of spectral selection\n this.components = [];\n };\n\n\n /*** Prototype Methods ***/\n\n jpeg.lossless.ScanHeader.prototype.read = function(data) {\n /*jslint bitwise: true */\n\n var count = 0, length, i, temp;\n\n length = data.get16();\n count += 2;\n\n this.numComp = data.get8();\n count+=1;\n\n for (i = 0; i < this.numComp; i+=1) {\n this.components[i] = new jpeg.lossless.ScanComponent();\n\n if (count > length) {\n throw new Error(\"ERROR: scan header format error\");\n }\n\n this.components[i].scanCompSel = data.get8();\n count+=1;\n\n temp = data.get8();\n count+=1;\n\n this.components[i].dcTabSel = (temp >> 4);\n this.components[i].acTabSel = (temp & 0x0F);\n }\n\n this.selection = data.get8();\n count+=1;\n\n this.spectralEnd = data.get8();\n count+=1;\n\n temp = data.get8();\n this.ah = (temp >> 4);\n this.al = (temp & 0x0F);\n count+=1;\n\n if (count !== length) {\n throw new Error(\"ERROR: scan header format error [count!=Ns]\");\n }\n\n return 1;\n };\n\n\n\n /*** Exports ***/\n\n var moduleType = typeof module;\n if ((moduleType !== 'undefined') && module.exports) {\n module.exports = jpeg.lossless.ScanHeader;\n }\n\n },{\"./data-stream.js\":2,\"./scan-component.js\":8}],10:[function(require,module,exports){\n /*\n * Copyright (C) 2015 Michael Martinez\n * Changes: Added support for selection values 2-7, fixed minor bugs &\n * warnings, split into multiple class files, and general clean up.\n *\n * 08-25-2015: Helmut Dersch agreed to a license change from LGPL to MIT.\n */\n\n /*\n * Copyright (C) Helmut Dersch\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n /*jslint browser: true, node: true */\n /*global require, module */\n\n \"use strict\";\n\n /*** Imports ***/\n var jpeg = jpeg || {};\n jpeg.lossless = jpeg.lossless || {};\n\n\n /*** Constructor ***/\n jpeg.lossless.Utils = jpeg.lossless.Utils || {};\n\n\n /*** Static methods ***/\n\n // http://stackoverflow.com/questions/966225/how-can-i-create-a-two-dimensional-array-in-javascript\n jpeg.lossless.Utils.createArray = function (length) {\n var arr = new Array(length || 0),\n i = length;\n\n if (arguments.length > 1) {\n var args = Array.prototype.slice.call(arguments, 1);\n while(i--) arr[length-1 - i] = jpeg.lossless.Utils.createArray.apply(this, args);\n }\n\n return arr;\n };\n\n\n // http://stackoverflow.com/questions/18638900/javascript-crc32\n jpeg.lossless.Utils.makeCRCTable = function(){\n var c;\n var crcTable = [];\n for(var n =0; n < 256; n++){\n c = n;\n for(var k =0; k < 8; k++){\n c = ((c&1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n crcTable[n] = c;\n }\n return crcTable;\n };\n\n jpeg.lossless.Utils.crc32 = function(dataView) {\n var uint8view = new Uint8Array(dataView.buffer);\n var crcTable = jpeg.lossless.Utils.crcTable || (jpeg.lossless.Utils.crcTable = jpeg.lossless.Utils.makeCRCTable());\n var crc = 0 ^ (-1);\n\n for (var i = 0; i < uint8view.length; i++ ) {\n crc = (crc >>> 8) ^ crcTable[(crc ^ uint8view[i]) & 0xFF];\n }\n\n return (crc ^ (-1)) >>> 0;\n };\n\n\n /*** Exports ***/\n\n var moduleType = typeof module;\n if ((moduleType !== 'undefined') && module.exports) {\n module.exports = jpeg.lossless.Utils;\n }\n\n},{}]},{},[6])(6)\n});\n\n\n/***/ }),\n\n/***/ \"../codecs/jpx.min.js\":\n/*!****************************!*\\\n !*** ../codecs/jpx.min.js ***!\n \\****************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n/*! image-JPEG2000 - v0.3.1 - 2015-08-26 | https://github.com/OHIF/image-JPEG2000 */\n\"use strict\";var PDFJS = {};function info(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.infos&&console.log(\"Info: \"+a)}function warn(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.warnings&&console.log(\"Warning: \"+a)}function error(a){if(arguments.length>1){var b=[\"Error:\"];b.push.apply(b,arguments),console.log.apply(console,b),a=[].join.call(arguments,\" \")}else console.log(\"Error: \"+a);throw console.log(backtrace()),UnsupportedManager.notify(UNSUPPORTED_FEATURES.unknown),new Error(a)}function backtrace(){try{throw new Error}catch(a){return a.stack?a.stack.split(\"\\n\").slice(2).join(\"\\n\"):\"\"}}function assert(a,b){a||error(b)}function combineUrl(a,b){if(!b)return a;if(/^[a-z][a-z0-9+\\-.]*:/i.test(b))return b;var c;if(\"/\"===b.charAt(0))return c=a.indexOf(\"://\"),\"/\"===b.charAt(1)?++c:c=a.indexOf(\"/\",c+3),a.substring(0,c)+b;var d=a.length;c=a.lastIndexOf(\"#\"),d=c>=0?c:d,c=a.lastIndexOf(\"?\",d),d=c>=0?c:d;var e=a.lastIndexOf(\"/\",d);return a.substring(0,e+1)+b}function isValidUrl(a,b){if(!a)return!1;var c=/^[a-z][a-z0-9+\\-.]*(?=:)/i.exec(a);if(!c)return b;switch(c=c[0].toLowerCase()){case\"http\":case\"https\":case\"ftp\":case\"mailto\":case\"tel\":return!0;default:return!1}}function shadow(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!1}),c}function bytesToString(a){assert(null!==a&&\"object\"==typeof a&&void 0!==a.length,\"Invalid argument for bytesToString\");var b=a.length,c=8192;if(c>b)return String.fromCharCode.apply(null,a);for(var d=[],e=0;b>e;e+=c){var f=Math.min(e+c,b),g=a.subarray(e,f);d.push(String.fromCharCode.apply(null,g))}return d.join(\"\")}function stringToBytes(a){assert(\"string\"==typeof a,\"Invalid argument for stringToBytes\");for(var b=a.length,c=new Uint8Array(b),d=0;b>d;++d)c[d]=255&a.charCodeAt(d);return c}function string32(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,255&a)}function log2(a){for(var b=1,c=0;a>b;)b<<=1,c++;return c}function readInt8(a,b){return a[b]<<24>>24}function readUint16(a,b){return a[b]<<8|a[b+1]}function readUint32(a,b){return(a[b]<<24|a[b+1]<<16|a[b+2]<<8|a[b+3])>>>0}function isLittleEndian(){var a=new Uint8Array(2);a[0]=1;var b=new Uint16Array(a.buffer);return 1===b[0]}function hasCanvasTypedArrays(){var a=document.createElement(\"canvas\");a.width=a.height=1;var b=a.getContext(\"2d\"),c=b.createImageData(1,1);return\"undefined\"!=typeof c.data.buffer}function stringToPDFString(a){var b,c=a.length,d=[];if(\"þ\"===a[0]&&\"ÿ\"===a[1])for(b=2;c>b;b+=2)d.push(String.fromCharCode(a.charCodeAt(b)<<8|a.charCodeAt(b+1)));else for(b=0;c>b;++b){var e=PDFStringTranslateTable[a.charCodeAt(b)];d.push(e?String.fromCharCode(e):a.charAt(b))}return d.join(\"\")}function stringToUTF8String(a){return decodeURIComponent(escape(a))}function isEmptyObj(a){for(var b in a)return!1;return!0}function isBool(a){return\"boolean\"==typeof a}function isInt(a){return\"number\"==typeof a&&(0|a)===a}function isNum(a){return\"number\"==typeof a}function isString(a){return\"string\"==typeof a}function isNull(a){return null===a}function isName(a){return a instanceof Name}function isCmd(a,b){return a instanceof Cmd&&(void 0===b||a.cmd===b)}function isDict(a,b){if(!(a instanceof Dict))return!1;if(!b)return!0;var c=a.get(\"Type\");return isName(c)&&c.name===b}function isArray(a){return a instanceof Array}function isStream(a){return\"object\"==typeof a&&null!==a&&void 0!==a.getBytes}function isArrayBuffer(a){return\"object\"==typeof a&&null!==a&&void 0!==a.byteLength}function isRef(a){return a instanceof Ref}function createPromiseCapability(){var a={};return a.promise=new Promise(function(b,c){a.resolve=b,a.reject=c}),a}function MessageHandler(a,b){this.name=a,this.comObj=b,this.callbackIndex=1,this.postMessageTransfers=!0;var c=this.callbacksCapabilities={},d=this.actionHandler={};d.console_log=[function(a){console.log.apply(console,a)}],d.console_error=[function(a){console.error.apply(console,a)}],d._unsupported_feature=[function(a){UnsupportedManager.notify(a)}],b.onmessage=function(a){var e=a.data;if(e.isReply){var f=e.callbackId;if(e.callbackId in c){var g=c[f];delete c[f],\"error\"in e?g.reject(e.error):g.resolve(e.data)}else error(\"Cannot resolve callback \"+f)}else if(e.action in d){var h=d[e.action];e.callbackId?Promise.resolve().then(function(){return h[0].call(h[1],e.data)}).then(function(a){b.postMessage({isReply:!0,callbackId:e.callbackId,data:a})},function(a){b.postMessage({isReply:!0,callbackId:e.callbackId,error:a})}):h[0].call(h[1],e.data)}else error(\"Unknown action from worker: \"+e.action)}}function loadJpegStream(a,b,c){var d=new Image;d.onload=function(){c.resolve(a,d)},d.onerror=function(){c.resolve(a,null),warn(\"Error during JPEG image loading\")},d.src=b}var JpxImage=function(){function a(){this.failOnCorruptedImage=!1}function b(a,b){a.x0=Math.ceil(b.XOsiz/a.XRsiz),a.x1=Math.ceil(b.Xsiz/a.XRsiz),a.y0=Math.ceil(b.YOsiz/a.YRsiz),a.y1=Math.ceil(b.Ysiz/a.YRsiz),a.width=a.x1-a.x0,a.height=a.y1-a.y0}function c(a,b){for(var c,d=a.SIZ,e=[],f=Math.ceil((d.Xsiz-d.XTOsiz)/d.XTsiz),g=Math.ceil((d.Ysiz-d.YTOsiz)/d.YTsiz),h=0;g>h;h++)for(var i=0;f>i;i++)c={},c.tx0=Math.max(d.XTOsiz+i*d.XTsiz,d.XOsiz),c.ty0=Math.max(d.YTOsiz+h*d.YTsiz,d.YOsiz),c.tx1=Math.min(d.XTOsiz+(i+1)*d.XTsiz,d.Xsiz),c.ty1=Math.min(d.YTOsiz+(h+1)*d.YTsiz,d.Ysiz),c.width=c.tx1-c.tx0,c.height=c.ty1-c.ty0,c.components=[],e.push(c);a.tiles=e;for(var j=d.Csiz,k=0,l=j;l>k;k++)for(var m=b[k],n=0,o=e.length;o>n;n++){var p={};c=e[n],p.tcx0=Math.ceil(c.tx0/m.XRsiz),p.tcy0=Math.ceil(c.ty0/m.YRsiz),p.tcx1=Math.ceil(c.tx1/m.XRsiz),p.tcy1=Math.ceil(c.ty1/m.YRsiz),p.width=p.tcx1-p.tcx0,p.height=p.tcy1-p.tcy0,c.components[k]=p}}function d(a,b,c){var d=b.codingStyleParameters,e={};return d.entropyCoderWithCustomPrecincts?(e.PPx=d.precinctsSizes[c].PPx,e.PPy=d.precinctsSizes[c].PPy):(e.PPx=15,e.PPy=15),e.xcb_=c>0?Math.min(d.xcb,e.PPx-1):Math.min(d.xcb,e.PPx),e.ycb_=c>0?Math.min(d.ycb,e.PPy-1):Math.min(d.ycb,e.PPy),e}function e(a,b,c){var d=1<b.trx0?Math.ceil(b.trx1/d)-Math.floor(b.trx0/d):0,j=b.try1>b.try0?Math.ceil(b.try1/e)-Math.floor(b.try0/e):0,k=i*j;b.precinctParameters={precinctWidth:d,precinctHeight:e,numprecinctswide:i,numprecinctshigh:j,numprecincts:k,precinctWidthInSubband:g,precinctHeightInSubband:h}}function f(a,b,c){var d,e,f,g,h=c.xcb_,i=c.ycb_,j=1<>h,m=b.tby0>>i,n=b.tbx1+j-1>>h,o=b.tby1+k-1>>i,p=b.resolution.precinctParameters,q=[],r=[];for(e=m;o>e;e++)for(d=l;n>d;d++){f={cbx:d,cby:e,tbx0:j*d,tby0:k*e,tbx1:j*(d+1),tby1:k*(e+1)},f.tbx0_=Math.max(b.tbx0,f.tbx0),f.tby0_=Math.max(b.tby0,f.tby0),f.tbx1_=Math.min(b.tbx1,f.tbx1),f.tby1_=Math.min(b.tby1,f.tby1);var s=Math.floor((f.tbx0_-b.tbx0)/p.precinctWidthInSubband),t=Math.floor((f.tby0_-b.tby0)/p.precinctHeightInSubband);if(g=s+t*p.numprecinctswide,f.precinctNumber=g,f.subbandType=b.type,f.Lblock=3,!(f.tbx1_<=f.tbx0_||f.tby1_<=f.tby0_)){q.push(f);var u=r[g];void 0!==u?(du.cbxMax&&(u.cbxMax=d),eu.cbyMax&&(u.cbyMax=e)):r[g]=u={cbxMin:d,cbyMin:e,cbxMax:d,cbyMax:e},f.precinct=u}}b.codeblockParameters={codeblockWidth:h,codeblockHeight:i,numcodeblockwide:n-l+1,numcodeblockhigh:o-m+1},b.codeblocks=q,b.precincts=r}function g(a,b,c){for(var d=[],e=a.subbands,f=0,g=e.length;g>f;f++)for(var h=e[f],i=h.codeblocks,j=0,k=i.length;k>j;j++){var l=i[j];l.precinctNumber===b&&d.push(l)}return{layerNumber:c,codeblocks:d}}function h(a){for(var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=0,i=0;f>i;i++)h=Math.max(h,d.components[i].codingStyleParameters.decompositionLevelsCount);var j=0,k=0,l=0,m=0;this.nextPacket=function(){for(;e>j;j++){for(;h>=k;k++){for(;f>l;l++){var a=d.components[l];if(!(k>a.codingStyleParameters.decompositionLevelsCount)){for(var b=a.resolutions[k],c=b.precinctParameters.numprecincts;c>m;){var i=g(b,m,j);return m++,i}m=0}}l=0}k=0}}}function i(a){for(var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=0,i=0;f>i;i++)h=Math.max(h,d.components[i].codingStyleParameters.decompositionLevelsCount);var j=0,k=0,l=0,m=0;this.nextPacket=function(){for(;h>=j;j++){for(;e>k;k++){for(;f>l;l++){var a=d.components[l];if(!(j>a.codingStyleParameters.decompositionLevelsCount)){for(var b=a.resolutions[j],c=b.precinctParameters.numprecincts;c>m;){var i=g(b,m,k);return m++,i}m=0}}l=0}k=0}}}function j(a){var b,c,d,e,f=a.SIZ,h=a.currentTile.index,i=a.tiles[h],j=i.codingStyleDefaultParameters.layersCount,k=f.Csiz,l=0;for(d=0;k>d;d++){var m=i.components[d];l=Math.max(l,m.codingStyleParameters.decompositionLevelsCount)}var n=new Int32Array(l+1);for(c=0;l>=c;++c){var o=0;for(d=0;k>d;++d){var p=i.components[d].resolutions;c=c;c++){for(;ed;d++){var a=i.components[d];if(!(c>a.codingStyleParameters.decompositionLevelsCount)){var f=a.resolutions[c],h=f.precinctParameters.numprecincts;if(!(e>=h)){for(;j>b;){var m=g(f,e,b);return b++,m}b=0}}}d=0}e=0}}}function k(a){var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=n(d),i=h,j=0,k=0,l=0,o=0,p=0;this.nextPacket=function(){for(;pl;l++){for(var a=d.components[l],b=a.codingStyleParameters.decompositionLevelsCount;b>=k;k++){var c=a.resolutions[k],n=h.components[l].resolutions[k],q=m(o,p,n,i,c);if(null!==q){for(;e>j;){var r=g(c,q,j);return j++,r}j=0}}k=0}l=0}o=0}}}function l(a){var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=n(d),i=0,j=0,k=0,l=0,o=0;this.nextPacket=function(){for(;f>k;++k){for(var a=d.components[k],b=h.components[k],c=a.codingStyleParameters.decompositionLevelsCount;o=j;j++){var n=a.resolutions[j],p=b.resolutions[j],q=m(l,o,p,b,n);if(null!==q){for(;e>i;){var r=g(n,q,i);return i++,r}i=0}}j=0}l=0}o=0}}}function m(a,b,c,d,e){var f=a*d.minWidth,g=b*d.minHeight;if(f%c.width!==0||g%c.height!==0)return null;var h=g/c.width*e.precinctParameters.numprecinctswide;return f/c.height+h}function n(a){for(var b=a.components.length,c=Number.MAX_VALUE,d=Number.MAX_VALUE,e=0,f=0,g=new Array(b),h=0;b>h;h++){for(var i=a.components[h],j=i.codingStyleParameters.decompositionLevelsCount,k=new Array(j+1),l=Number.MAX_VALUE,m=Number.MAX_VALUE,n=0,o=0,p=1,q=j;q>=0;--q){var r=i.resolutions[q],s=p*r.precinctParameters.precinctWidth,t=p*r.precinctParameters.precinctHeight;l=Math.min(l,s),m=Math.min(m,t),n=Math.max(n,r.precinctParameters.numprecinctswide),o=Math.max(o,r.precinctParameters.numprecinctshigh),k[q]={width:s,height:t},p<<=1}c=Math.min(c,l),d=Math.min(d,m),e=Math.max(e,n),f=Math.max(f,o),g[h]={resolutions:k,minWidth:l,minHeight:m,maxNumWide:n,maxNumHigh:o}}return{components:g,minWidth:c,minHeight:d,maxNumWide:e,maxNumHigh:f}}function o(a){for(var b=a.SIZ,c=a.currentTile.index,g=a.tiles[c],m=b.Csiz,n=0;m>n;n++){for(var o=g.components[n],p=o.codingStyleParameters.decompositionLevelsCount,q=[],r=[],s=0;p>=s;s++){var t=d(a,o,s),u={},v=1<l;){if(c+k>=b.length)throw new Error(\"Unexpected EOF\");var d=b[c+k];k++,m?(j=j<<7|d,l+=7,m=!1):(j=j<<8|d,l+=8),255===d&&(m=!0)}return l-=a,j>>>l&(1<a?a+3:(a=e(5),31>a?a+6:(a=e(7),a+37))}for(var j,k=0,l=0,m=!1,n=a.currentTile.index,o=a.tiles[n],p=a.COD.sopMarkerUsed,q=a.COD.ephMarkerUsed,r=o.packetsIterator;d>k;)try{h(),p&&f(145)&&g(4);var s=r.nextPacket();if(void 0===s)return;if(!e(1))continue;for(var t,u=s.layerNumber,x=[],y=0,z=s.codeblocks.length;z>y;y++){t=s.codeblocks[y];var A,B=t.precinct,C=t.cbx-B.cbxMin,D=t.cby-B.cbyMin,E=!1,F=!1;if(void 0!==t.included)E=!!e(1);else{B=t.precinct;var G,H;if(void 0!==B.inclusionTree)G=B.inclusionTree;else{var I=B.cbxMax-B.cbxMin+1,J=B.cbyMax-B.cbyMin+1;G=new w(I,J),H=new v(I,J),B.inclusionTree=G,B.zeroBitPlanesTree=H}for(G.reset(C,D,u);;){if(k>=b.length)return;if(G.isAboveThreshold())break;if(G.isKnown())G.nextLevel();else if(e(1)){if(G.setKnown(),G.isLeaf()){t.included=!0,E=F=!0;break}G.nextLevel()}else G.incrementValue()}}if(E){if(F){for(H=B.zeroBitPlanesTree,H.reset(C,D);;){if(k>=b.length)return;if(e(1)){if(A=!H.nextLevel())break}else H.incrementValue()}t.zeroBitPlanes=H.value}for(var K=i();e(1);)t.Lblock++;var L=log2(K),M=(1<K?L-1:L)+t.Lblock,N=e(M);x.push({codeblock:t,codingpasses:K,dataLength:N})}}for(h(),q&&f(146);x.length>0;){var O=x.shift();t=O.codeblock,void 0===t.data&&(t.data=[]),t.data.push({data:b,start:c+k,end:c+k+O.dataLength,codingpasses:O.codingpasses}),k+=O.dataLength}}catch(P){return}return k}function q(a,b,c,d,e,f,g,h){for(var i=d.tbx0,j=d.tby0,k=d.tbx1-d.tbx0,l=d.codeblocks,m=\"H\"===d.type.charAt(0)?1:0,n=\"H\"===d.type.charAt(1)?b:0,o=0,p=l.length;p>o;++o){var q=l[o],r=q.tbx1_-q.tbx0_,s=q.tby1_-q.tby0_;if(0!==r&&0!==s&&void 0!==q.data){var t,u;t=new x(r,s,q.subbandType,q.zeroBitPlanes,f),u=2;var v,w,y,z=q.data,A=0,B=0;for(v=0,w=z.length;w>v;v++)y=z[v],A+=y.end-y.start,B+=y.codingpasses;var C=new Int16Array(A),D=0;for(v=0,w=z.length;w>v;v++){y=z[v];var E=y.data.subarray(y.start,y.end);C.set(E,D),D+=E.length}var F=new ArithmeticDecoder(C,0,A);for(t.setDecoder(F),v=0;B>v;v++){switch(u){case 0:t.runSignificancePropogationPass();break;case 1:t.runMagnitudeRefinementPass();break;case 2:t.runCleanupPass(),h&&t.checkSegmentationSymbol()}u=(u+1)%3}var G,H,I,J=q.tbx0_-i+(q.tby0_-j)*k,K=t.coefficentsSign,L=t.coefficentsMagnitude,M=t.bitsDecoded,N=g?0:.5;D=0;var O=\"LL\"!==d.type;for(v=0;s>v;v++){var P=J/k|0,Q=2*P*(b-k)+m+n;for(G=0;r>G;G++){if(H=L[D],0!==H){H=(H+N)*e,0!==K[D]&&(H=-H),I=M[D];var R=O?Q+(J<<1):J;g&&I>=f?a[R]=H:a[R]=H*(1<=r;r++){for(var s=d.resolutions[r],t=s.trx1-s.trx0,v=s.try1-s.try0,w=new Float32Array(t*v),x=0,y=s.subbands.length;y>x;x++){var B,C;i?(B=h[p].mu,C=h[p].epsilon,p++):(B=h[0].mu,C=h[0].epsilon+(r>0?1-r:0));var D=s.subbands[x],E=u[D.type],F=m?1:Math.pow(2,l+E-C)*(1+B/2048),G=j+C-1;q(w,t,v,D,F,G,m,k)}o.push({width:t,height:v,items:w})}var H=n.calculate(o,d.tcx0,d.tcy0);return{left:d.tcx0,top:d.tcy0,width:H.width,height:H.height,items:H.items}}function s(a){for(var b=a.SIZ,c=a.components,d=b.Csiz,e=[],f=0,g=a.tiles.length;g>f;f++){var h,i=a.tiles[f],j=[];for(h=0;d>h;h++)j[h]=r(a,i,h);var k=j[0],l=c[0].isSigned;if(l)var m=new Int16Array(k.items.length*d);else var m=new Uint16Array(k.items.length*d);var n,o,p,q,s,t,u,v,w,x,y,z,A,B,C,D={left:k.left,top:k.top,width:k.width,height:k.height,items:m},E=0;if(i.codingStyleDefaultParameters.multipleComponentTransform){var F=4===d,G=j[0].items,H=j[1].items,I=j[2].items,J=F?j[3].items:null;n=c[0].precision-8,o=(128<t;t++,E+=L)v=G[t]+o,w=H[t],x=I[t],z=v-(x+w>>2),y=z+x,A=z+w,m[E++]=0>=y?0:y>=p?255:y>>n,m[E++]=0>=z?0:z>=p?255:z>>n,m[E++]=0>=A?0:A>=p?255:A>>n;else for(t=0;u>t;t++,E+=L)v=G[t]+o,w=H[t],x=I[t],y=v+1.402*x,z=v-.34413*w-.71414*x,A=v+1.772*w,m[E++]=0>=y?0:y>=p?255:y>>n,m[E++]=0>=z?0:z>=p?255:z>>n,m[E++]=0>=A?0:A>=p?255:A>>n;if(F)for(t=0,E=3;u>t;t++,E+=4)B=J[t],m[E]=q>=B?0:B>=s?255:B+o>>n}else for(h=0;d>h;h++)if(8===c[h].precision){var M=j[h].items;for(n=c[h].precision-8,o=(128<t;t++)C=M[t],m[E]=q>=C?0:C>=p?255:C+o>>n,E+=d}else{var l=c[h].isSigned,M=j[h].items;if(l)for(E=h,t=0,u=M.length;u>t;t++)m[E]=M[t],E+=d;else{n=c[h].precision-8,o=(128<t;t++)C=M[t],m[E]=Math.max(Math.min(C+o,N),0),E+=d}}e.push(D)}return e}function t(a,b){for(var c=a.SIZ,d=c.Csiz,e=a.tiles[b],f=0;d>f;f++){var g=e.components[f],h=void 0!==a.currentTile.QCC[f]?a.currentTile.QCC[f]:a.currentTile.QCD;g.quantizationParameters=h;var i=void 0!==a.currentTile.COC[f]?a.currentTile.COC[f]:a.currentTile.COD;g.codingStyleParameters=i}e.codingStyleDefaultParameters=a.currentTile.COD}var u={LL:0,LH:1,HL:1,HH:2};a.prototype={parse:function(a){var b=readUint16(a,0);if(65359===b)return void this.parseCodestream(a,0,a.length);for(var c=0,d=a.length;d>c;){var e=8,f=readUint32(a,c),g=readUint32(a,c+4);if(c+=e,1===f&&(f=4294967296*readUint32(a,c)+readUint32(a,c+4),c+=8,e+=8),0===f&&(f=d-c+e),e>f)throw new Error(\"JPX Error: Invalid box field size\");var h=f-e,i=!0;switch(g){case 1785737832:i=!1;break;case 1668246642:var j=a[c];a[c+1],a[c+2];if(1===j){var k=readUint32(a,c+3);switch(k){case 16:case 17:case 18:break;default:warn(\"Unknown colorspace \"+k)}}else 2===j&&info(\"ICC profile not supported\");break;case 1785737827:this.parseCodestream(a,c,c+h);break;case 1783636e3:218793738!==readUint32(a,c)&&warn(\"Invalid JP2 signature\");break;case 1783634458:case 1718909296:case 1920099697:case 1919251232:case 1768449138:break;default:var l=String.fromCharCode(g>>24&255,g>>16&255,g>>8&255,255&g);warn(\"Unsupported header type \"+g+\" (\"+l+\")\")}i&&(c+=h)}},parseImageProperties:function(a){for(var b=a.getByte();b>=0;){var c=b;b=a.getByte();var d=c<<8|b;if(65361===d){a.skip(4);var e=a.getInt32()>>>0,f=a.getInt32()>>>0,g=a.getInt32()>>>0,h=a.getInt32()>>>0;a.skip(16);var i=a.getUint16();return this.width=e-g,this.height=f-h,this.componentsCount=i,void(this.bitsPerComponent=8)}}throw new Error(\"JPX Error: No size marker found in JPX stream\")},parseCodestream:function(a,d,e){var f={};try{for(var g=!1,h=d;e>h+1;){var i=readUint16(a,h);h+=2;var j,k,l,m,n,q,r=0;switch(i){case 65359:f.mainHeader=!0;break;case 65497:break;case 65361:r=readUint16(a,h);var u={};u.Xsiz=readUint32(a,h+4),u.Ysiz=readUint32(a,h+8),u.XOsiz=readUint32(a,h+12),u.YOsiz=readUint32(a,h+16),u.XTsiz=readUint32(a,h+20),u.YTsiz=readUint32(a,h+24),u.XTOsiz=readUint32(a,h+28),u.YTOsiz=readUint32(a,h+32);var v=readUint16(a,h+36);u.Csiz=v;var w=[];j=h+38;for(var x=0;v>x;x++){var y={precision:(127&a[j])+1,isSigned:!!(128&a[j]),XRsiz:a[j+1],YRsiz:a[j+1]};b(y,u),w.push(y)}f.SIZ=u,f.components=w,c(f,w),f.QCC=[],f.COC=[];break;case 65372:r=readUint16(a,h);var z={};switch(j=h+2,k=a[j++],31&k){case 0:m=8,n=!0;break;case 1:m=16,n=!1;break;case 2:m=16,n=!0;break;default:throw new Error(\"JPX Error: Invalid SQcd value \"+k)}for(z.noQuantization=8===m,z.scalarExpounded=n,z.guardBits=k>>5,l=[];r+h>j;){var A={};8===m?(A.epsilon=a[j++]>>3,A.mu=0):(A.epsilon=a[j]>>3,A.mu=(7&a[j])<<8|a[j+1],j+=2),l.push(A)}z.SPqcds=l,f.mainHeader?f.QCD=z:(f.currentTile.QCD=z,f.currentTile.QCC=[]);break;case 65373:r=readUint16(a,h);var B={};j=h+2;var C;switch(f.SIZ.Csiz<257?C=a[j++]:(C=readUint16(a,j),j+=2),k=a[j++],31&k){case 0:m=8,n=!0;break;case 1:m=16,n=!1;break;case 2:m=16,n=!0;break;default:throw new Error(\"JPX Error: Invalid SQcd value \"+k)}for(B.noQuantization=8===m,B.scalarExpounded=n,B.guardBits=k>>5,l=[];r+h>j;)A={},8===m?(A.epsilon=a[j++]>>3,A.mu=0):(A.epsilon=a[j]>>3,A.mu=(7&a[j])<<8|a[j+1],j+=2),l.push(A);B.SPqcds=l,f.mainHeader?f.QCC[C]=B:f.currentTile.QCC[C]=B;break;case 65362:r=readUint16(a,h);var D={};j=h+2;var E=a[j++];D.entropyCoderWithCustomPrecincts=!!(1&E),D.sopMarkerUsed=!!(2&E),D.ephMarkerUsed=!!(4&E),D.progressionOrder=a[j++],D.layersCount=readUint16(a,j),j+=2,D.multipleComponentTransform=a[j++],D.decompositionLevelsCount=a[j++],D.xcb=(15&a[j++])+2,D.ycb=(15&a[j++])+2;var F=a[j++];if(D.selectiveArithmeticCodingBypass=!!(1&F),D.resetContextProbabilities=!!(2&F),D.terminationOnEachCodingPass=!!(4&F),D.verticalyStripe=!!(8&F),D.predictableTermination=!!(16&F),D.segmentationSymbolUsed=!!(32&F),D.reversibleTransformation=a[j++],D.entropyCoderWithCustomPrecincts){for(var G=[];r+h>j;){var H=a[j++];G.push({PPx:15&H,PPy:H>>4})}D.precinctsSizes=G}var I=[];if(D.selectiveArithmeticCodingBypass&&I.push(\"selectiveArithmeticCodingBypass\"),D.resetContextProbabilities&&I.push(\"resetContextProbabilities\"),D.terminationOnEachCodingPass&&I.push(\"terminationOnEachCodingPass\"),D.verticalyStripe&&I.push(\"verticalyStripe\"),D.predictableTermination&&I.push(\"predictableTermination\"),I.length>0)throw g=!0,new Error(\"JPX Error: Unsupported COD options (\"+I.join(\", \")+\")\");f.mainHeader?f.COD=D:(f.currentTile.COD=D,f.currentTile.COC=[]);break;case 65424:r=readUint16(a,h),q={},q.index=readUint16(a,h+2),q.length=readUint32(a,h+4),q.dataEnd=q.length+h-2,q.partIndex=a[h+8],q.partsCount=a[h+9],f.mainHeader=!1,0===q.partIndex&&(q.COD=f.COD,q.COC=f.COC.slice(0),q.QCD=f.QCD,q.QCC=f.QCC.slice(0)),f.currentTile=q;break;case 65427:q=f.currentTile,0===q.partIndex&&(t(f,q.index),o(f)),r=q.dataEnd-h,p(f,a,h,r);break;case 65365:case 65367:case 65368:case 65380:r=readUint16(a,h);break;case 65363:throw new Error(\"JPX Error: Codestream code 0xFF53 (COC) is not implemented\");default:throw new Error(\"JPX Error: Unknown codestream code: \"+i.toString(16))}h+=r}}catch(J){if(g||this.failOnCorruptedImage)throw J;warn(\"Trying to recover from \"+J.message)}this.tiles=s(f),this.width=f.SIZ.Xsiz-f.SIZ.XOsiz,this.height=f.SIZ.Ysiz-f.SIZ.YOsiz,this.componentsCount=f.SIZ.Csiz}};var v=function(){function a(a,b){var c=log2(Math.max(a,b))+1;this.levels=[];for(var d=0;c>d;d++){var e={width:a,height:b,items:[]};this.levels.push(e),a=Math.ceil(a/2),b=Math.ceil(b/2)}}return a.prototype={reset:function(a,b){for(var c,d=0,e=0;d>=1,b>>=1,d++}d--,c=this.levels[d],c.items[c.index]=e,this.currentLevel=d,delete this.value},incrementValue:function(){var a=this.levels[this.currentLevel];a.items[a.index]++},nextLevel:function(){var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];return a--,0>a?(this.value=c,!1):(this.currentLevel=a,b=this.levels[a],b.items[b.index]=c,!0)}},a}(),w=function(){function a(a,b){var c=log2(Math.max(a,b))+1;this.levels=[];for(var d=0;c>d;d++){for(var e=new Uint8Array(a*b),f=new Uint8Array(a*b),g=0,h=e.length;h>g;g++)e[g]=0,f[g]=0;var i={width:a,height:b,items:e,status:f};this.levels.push(i),a=Math.ceil(a/2),b=Math.ceil(b/2)}}return a.prototype={reset:function(a,b,c){this.currentStopValue=c;for(var d=0;d>=1,b>>=1,d++}this.currentLevel=this.levels.length-1,this.minValue=this.levels[this.currentLevel].items[0]},incrementValue:function(){var a=this.levels[this.currentLevel];a.items[a.index]=a.items[a.index]+1,a.items[a.index]>this.minValue&&(this.minValue=a.items[a.index])},nextLevel:function(){var a=this.currentLevel;if(a--,0>a)return!1;this.currentLevel=a;var b=this.levels[a];return b.items[b.index]this.minValue&&(this.minValue=b.items[b.index]),!0},isLeaf:function(){return 0===this.currentLevel},isAboveThreshold:function(){var a=this.currentLevel,b=this.levels[a];return b.items[b.index]>this.currentStopValue},isKnown:function(){var a=this.currentLevel,b=this.levels[a];return b.status[b.index]>0},setKnown:function(){var a=this.currentLevel,b=this.levels[a];b.status[b.index]=1}},a}(),x=function(){function a(a,b,c,g,h){this.width=a,this.height=b,this.contextLabelTable=\"HH\"===c?f:\"HL\"===c?e:d;var i=a*b;this.neighborsSignificance=new Uint8Array(i),this.coefficentsSign=new Uint8Array(i),this.coefficentsMagnitude=h>14?new Uint32Array(i):h>6?new Uint16Array(i):new Uint8Array(i),this.processingFlags=new Uint8Array(i);var j=new Uint8Array(i);if(0!==g)for(var k=0;i>k;k++)j[k]=g;this.bitsDecoded=j,this.reset()}var b=17,c=18,d=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]),e=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8]),f=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]);return a.prototype={setDecoder:function(a){this.decoder=a},reset:function(){this.contexts=new Int8Array(19),this.contexts[0]=8,this.contexts[b]=92,this.contexts[c]=6},setNeighborsSignificance:function(a,b,c){var d,e=this.neighborsSignificance,f=this.width,g=this.height,h=b>0,i=f>b+1;a>0&&(d=c-f,h&&(e[d-1]+=16),i&&(e[d+1]+=16),e[d]+=4),g>a+1&&(d=c+f,h&&(e[d-1]+=16),i&&(e[d+1]+=16),e[d]+=4),h&&(e[c-1]+=1),i&&(e[c+1]+=1),e[c]|=128},runSignificancePropogationPass:function(){for(var a=this.decoder,b=this.width,c=this.height,d=this.coefficentsMagnitude,e=this.coefficentsSign,f=this.neighborsSignificance,g=this.processingFlags,h=this.contexts,i=this.contextLabelTable,j=this.bitsDecoded,k=-2,l=1,m=2,n=0;c>n;n+=4)for(var o=0;b>o;o++)for(var p=n*b+o,q=0;4>q;q++,p+=b){var r=n+q;if(r>=c)break;if(g[p]&=k,!d[p]&&f[p]){var s=i[f[p]],t=a.readBit(h,s);if(t){var u=this.decodeSignBit(r,o,p);e[p]=u,d[p]=1,this.setNeighborsSignificance(r,o,p),g[p]|=m}j[p]++,g[p]|=l}}},decodeSignBit:function(a,b,c){var d,e,f,g,h,i,j=this.width,k=this.height,l=this.coefficentsMagnitude,m=this.coefficentsSign;g=b>0&&0!==l[c-1],j>b+1&&0!==l[c+1]?(f=m[c+1],g?(e=m[c-1],d=1-f-e):d=1-f-f):g?(e=m[c-1],d=1-e-e):d=0;var n=3*d;return g=a>0&&0!==l[c-j],k>a+1&&0!==l[c+j]?(f=m[c+j],g?(e=m[c-j],d=1-f-e+n):d=1-f-f+n):g?(e=m[c-j],d=1-e-e+n):d=n,d>=0?(h=9+d,i=this.decoder.readBit(this.contexts,h)):(h=9-d,i=1^this.decoder.readBit(this.contexts,h)),i},runMagnitudeRefinementPass:function(){for(var a,b=this.decoder,c=this.width,d=this.height,e=this.coefficentsMagnitude,f=this.neighborsSignificance,g=this.contexts,h=this.bitsDecoded,i=this.processingFlags,j=1,k=2,l=c*d,m=4*c,n=0;l>n;n=a){a=Math.min(l,n+m);for(var o=0;c>o;o++)for(var p=n+o;a>p;p+=c)if(e[p]&&0===(i[p]&j)){var q=16;if(0!==(i[p]&k)){i[p]^=k;var r=127&f[p];q=0===r?15:14}var s=b.readBit(g,q);e[p]=e[p]<<1|s,h[p]++,i[p]|=j}}},runCleanupPass:function(){for(var a,d=this.decoder,e=this.width,f=this.height,g=this.neighborsSignificance,h=this.coefficentsMagnitude,i=this.coefficentsSign,j=this.contexts,k=this.contextLabelTable,l=this.bitsDecoded,m=this.processingFlags,n=1,o=2,p=e,q=2*e,r=3*e,s=0;f>s;s=a){a=Math.min(s+4,f);for(var t=s*e,u=f>s+3,v=0;e>v;v++){var w,x=t+v,y=u&&0===m[x]&&0===m[x+p]&&0===m[x+q]&&0===m[x+r]&&0===g[x]&&0===g[x+p]&&0===g[x+q]&&0===g[x+r],z=0,A=x,B=s;if(y){var C=d.readBit(j,c);if(!C){l[x]++,l[x+p]++,l[x+q]++,l[x+r]++;continue}z=d.readBit(j,b)<<1|d.readBit(j,b),0!==z&&(B=s+z,A+=z*e),w=this.decodeSignBit(B,v,A),i[A]=w,h[A]=1,this.setNeighborsSignificance(B,v,A),m[A]|=o,A=x;for(var D=s;B>=D;D++,A+=e)l[A]++;z++}for(B=s+z;a>B;B++,A+=e)if(!h[A]&&0===(m[A]&n)){var E=k[g[A]],F=d.readBit(j,E);1===F&&(w=this.decodeSignBit(B,v,A),i[A]=w,h[A]=1,this.setNeighborsSignificance(B,v,A),m[A]|=o),l[A]++}}}},checkSegmentationSymbol:function(){var a=this.decoder,c=this.contexts,d=a.readBit(c,b)<<3|a.readBit(c,b)<<2|a.readBit(c,b)<<1|a.readBit(c,b);if(10!==d)throw new Error(\"JPX Error: Invalid segmentation symbol\")}},a}(),y=function(){function a(){}return a.prototype.calculate=function(a,b,c){for(var d=a[0],e=1,f=a.length;f>e;e++)d=this.iterate(d,a[e],b,c);return d},a.prototype.extend=function(a,b,c){var d=b-1,e=b+1,f=b+c-2,g=b+c;a[d--]=a[e++],a[g++]=a[f--],a[d--]=a[e++],a[g++]=a[f--],a[d--]=a[e++],a[g++]=a[f--],a[d]=a[e],a[g]=a[f]},a.prototype.iterate=function(a,b,c,d){var e,f,g,h,i,j,k=a.width,l=a.height,m=a.items,n=b.width,o=b.height,p=b.items;for(g=0,e=0;l>e;e++)for(h=2*e*n,f=0;k>f;f++,g++,h+=2)p[h]=m[g];m=a.items=null;var q=4,r=new Float32Array(n+2*q);if(1===n){if(0!==(1&c))for(j=0,g=0;o>j;j++,g+=n)p[g]*=.5}else for(j=0,g=0;o>j;j++,g+=n)r.set(p.subarray(g,g+n),q),this.extend(r,q,n),this.filter(r,q,n),p.set(r.subarray(q,q+n),g);var s=16,t=[];for(e=0;s>e;e++)t.push(new Float32Array(o+2*q));var u,v=0;if(a=q+o,1===o){if(0!==(1&d))for(i=0;n>i;i++)p[i]*=.5}else for(i=0;n>i;i++){if(0===v){for(s=Math.min(n-i,s),g=i,h=q;a>h;g+=n,h++)for(u=0;s>u;u++)t[u][h]=p[g+u];v=s}v--;var w=t[v];if(this.extend(w,q,o),this.filter(w,q,o),0===v)for(g=i-s+1,h=q;a>h;g+=n,h++)for(u=0;s>u;u++)p[g+u]=t[u][h]}return{width:n,height:o,items:p}},a}(),z=function(){function a(){y.call(this)}return a.prototype=Object.create(y.prototype),a.prototype.filter=function(a,b,c){var d=c>>1;b=0|b;var e,f,g,h,i=-1.586134342059924,j=-.052980118572961,k=.882911075530934,l=.443506852043971,m=1.230174104914001,n=1/m;for(e=b-3,f=d+4;f--;e+=2)a[e]*=n;for(e=b-2,g=l*a[e-1],f=d+3;f--&&(h=l*a[e+1],a[e]=m*a[e]-g-h,f--);e+=2)e+=2,g=l*a[e+1],a[e]=m*a[e]-g-h;for(e=b-1,g=k*a[e-1],f=d+2;f--&&(h=k*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=k*a[e+1],a[e]-=g+h;for(e=b,g=j*a[e-1],f=d+1;f--&&(h=j*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=j*a[e+1],a[e]-=g+h;if(0!==d)for(e=b+1,g=i*a[e-1],f=d;f--&&(h=i*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=i*a[e+1],a[e]-=g+h},a}(),A=function(){function a(){y.call(this)}return a.prototype=Object.create(y.prototype),a.prototype.filter=function(a,b,c){var d=c>>1;b=0|b;var e,f;for(e=b,f=d+1;f--;e+=2)a[e]-=a[e-1]+a[e+1]+2>>2;for(e=b+1,f=d;f--;e+=2)a[e]+=a[e-1]+a[e+1]>>1},a}();return a}(),ArithmeticDecoder=function(){function a(a,b,c){this.data=a,this.bp=b,this.dataEnd=c,this.chigh=a[b],this.clow=0,this.byteIn(),this.chigh=this.chigh<<7&65535|this.clow>>9&127,this.clow=this.clow<<7&65535,this.ct-=7,this.a=32768}var b=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{\nqe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];return a.prototype={byteIn:function(){var a=this.data,b=this.bp;if(255===a[b]){var c=a[b+1];c>143?(this.clow+=65280,this.ct=8):(b++,this.clow+=a[b]<<9,this.ct=7,this.bp=b)}else b++,this.clow+=b65535&&(this.chigh+=this.clow>>16,this.clow&=65535)},readBit:function(a,c){var d,e=a[c]>>1,f=1&a[c],g=b[e],h=g.qe,i=this.a-h;if(this.chighi?(i=h,d=f,e=g.nmps):(i=h,d=1^f,1===g.switchFlag&&(f=d),e=g.nlps);else{if(this.chigh-=h,0!==(32768&i))return this.a=i,f;h>i?(d=1^f,1===g.switchFlag&&(f=d),e=g.nlps):(d=f,e=g.nmps)}do 0===this.ct&&this.byteIn(),i<<=1,this.chigh=this.chigh<<1&65535|this.clow>>15&1,this.clow=this.clow<<1&65535,this.ct--;while(0===(32768&i));return this.a=i,a[c]=e<<1|f,d}},a}(),globalScope=\"undefined\"==typeof window?this:window,isWorker=\"undefined\"==typeof window,FONT_IDENTITY_MATRIX=[.001,0,0,.001,0,0],TextRenderingMode={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},ImageKind={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},AnnotationType={WIDGET:1,TEXT:2,LINK:3},StreamType={UNKNOWN:0,FLATE:1,LZW:2,DCT:3,JPX:4,JBIG:5,A85:6,AHX:7,CCF:8,RL:9},FontType={UNKNOWN:0,TYPE1:1,TYPE1C:2,CIDFONTTYPE0:3,CIDFONTTYPE0C:4,TRUETYPE:5,CIDFONTTYPE2:6,TYPE3:7,OPENTYPE:8,TYPE0:9,MMTYPE1:10};globalScope.PDFJS||(globalScope.PDFJS={}),globalScope.PDFJS.pdfBug=!1,PDFJS.VERBOSITY_LEVELS={errors:0,warnings:1,infos:5};var OPS=PDFJS.OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91},UNSUPPORTED_FEATURES=PDFJS.UNSUPPORTED_FEATURES={unknown:\"unknown\",forms:\"forms\",javaScript:\"javaScript\",smask:\"smask\",shadingPattern:\"shadingPattern\",font:\"font\"},UnsupportedManager=PDFJS.UnsupportedManager=function(){var a=[];return{listen:function(b){a.push(b)},notify:function(b){warn('Unsupported feature \"'+b+'\"');for(var c=0,d=a.length;d>c;c++)a[c](b)}}}();PDFJS.isValidUrl=isValidUrl,PDFJS.shadow=shadow;var PasswordResponses=PDFJS.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},PasswordException=function(){function a(a,b){this.name=\"PasswordException\",this.message=a,this.code=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.PasswordException=PasswordException;var UnknownErrorException=function(){function a(a,b){this.name=\"UnknownErrorException\",this.message=a,this.details=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnknownErrorException=UnknownErrorException;var InvalidPDFException=function(){function a(a){this.name=\"InvalidPDFException\",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.InvalidPDFException=InvalidPDFException;var MissingPDFException=function(){function a(a){this.name=\"MissingPDFException\",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.MissingPDFException=MissingPDFException;var UnexpectedResponseException=function(){function a(a,b){this.name=\"UnexpectedResponseException\",this.message=a,this.status=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnexpectedResponseException=UnexpectedResponseException;var NotImplementedException=function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name=\"NotImplementedException\",a.constructor=a,a}(),MissingDataException=function(){function a(a,b){this.begin=a,this.end=b,this.message=\"Missing data [\"+a+\", \"+b+\")\"}return a.prototype=new Error,a.prototype.name=\"MissingDataException\",a.constructor=a,a}(),XRefParseException=function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name=\"XRefParseException\",a.constructor=a,a}();Object.defineProperty(PDFJS,\"isLittleEndian\",{configurable:!0,get:function(){return shadow(PDFJS,\"isLittleEndian\",isLittleEndian())}}),Object.defineProperty(PDFJS,\"hasCanvasTypedArrays\",{configurable:!0,get:function(){return shadow(PDFJS,\"hasCanvasTypedArrays\",hasCanvasTypedArrays())}});var Uint32ArrayView=function(){function a(a,b){this.buffer=a,this.byteLength=a.length,this.length=void 0===b?this.byteLength>>2:b,c(this.length)}function b(a){return{get:function(){var b=this.buffer,c=a<<2;return(b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24)>>>0},set:function(b){var c=this.buffer,d=a<<2;c[d]=255&b,c[d+1]=b>>8&255,c[d+2]=b>>16&255,c[d+3]=b>>>24&255}}}function c(c){for(;c>d;)Object.defineProperty(a.prototype,d,b(d)),d++}a.prototype=Object.create(null);var d=0;return a}(),IDENTITY_MATRIX=[1,0,0,1,0,0],Util=PDFJS.Util=function(){function a(){}var b=[\"rgb(\",0,\",\",0,\",\",0,\")\"];return a.makeCssRgb=function(a,c,d){return b[1]=a,b[3]=c,b[5]=d,b.join(\"\")},a.transform=function(a,b){return[a[0]*b[0]+a[2]*b[1],a[1]*b[0]+a[3]*b[1],a[0]*b[2]+a[2]*b[3],a[1]*b[2]+a[3]*b[3],a[0]*b[4]+a[2]*b[5]+a[4],a[1]*b[4]+a[3]*b[5]+a[5]]},a.applyTransform=function(a,b){var c=a[0]*b[0]+a[1]*b[2]+b[4],d=a[0]*b[1]+a[1]*b[3]+b[5];return[c,d]},a.applyInverseTransform=function(a,b){var c=b[0]*b[3]-b[1]*b[2],d=(a[0]*b[3]-a[1]*b[2]+b[2]*b[5]-b[4]*b[3])/c,e=(-a[0]*b[1]+a[1]*b[0]+b[4]*b[1]-b[5]*b[0])/c;return[d,e]},a.getAxialAlignedBoundingBox=function(b,c){var d=a.applyTransform(b,c),e=a.applyTransform(b.slice(2,4),c),f=a.applyTransform([b[0],b[3]],c),g=a.applyTransform([b[2],b[1]],c);return[Math.min(d[0],e[0],f[0],g[0]),Math.min(d[1],e[1],f[1],g[1]),Math.max(d[0],e[0],f[0],g[0]),Math.max(d[1],e[1],f[1],g[1])]},a.inverseTransform=function(a){var b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[4]*a[3])/b,(a[4]*a[1]-a[5]*a[0])/b]},a.apply3dTransform=function(a,b){return[a[0]*b[0]+a[1]*b[1]+a[2]*b[2],a[3]*b[0]+a[4]*b[1]+a[5]*b[2],a[6]*b[0]+a[7]*b[1]+a[8]*b[2]]},a.singularValueDecompose2dScale=function(a){var b=[a[0],a[2],a[1],a[3]],c=a[0]*b[0]+a[1]*b[2],d=a[0]*b[1]+a[1]*b[3],e=a[2]*b[0]+a[3]*b[2],f=a[2]*b[1]+a[3]*b[3],g=(c+f)/2,h=Math.sqrt((c+f)*(c+f)-4*(c*f-e*d))/2,i=g+h||1,j=g-h||1;return[Math.sqrt(i),Math.sqrt(j)]},a.normalizeRect=function(a){var b=a.slice(0);return a[0]>a[2]&&(b[0]=a[2],b[2]=a[0]),a[1]>a[3]&&(b[1]=a[3],b[3]=a[1]),b},a.intersect=function(b,c){function d(a,b){return a-b}var e=[b[0],b[2],c[0],c[2]].sort(d),f=[b[1],b[3],c[1],c[3]].sort(d),g=[];return b=a.normalizeRect(b),c=a.normalizeRect(c),e[0]===b[0]&&e[1]===c[0]||e[0]===c[0]&&e[1]===b[0]?(g[0]=e[1],g[2]=e[2],f[0]===b[1]&&f[1]===c[1]||f[0]===c[1]&&f[1]===b[1]?(g[1]=f[1],g[3]=f[2],g):!1):!1},a.sign=function(a){return 0>a?-1:1},a.appendToArray=function(a,b){Array.prototype.push.apply(a,b)},a.prependToArray=function(a,b){Array.prototype.unshift.apply(a,b)},a.extendObj=function(a,b){for(var c in b)a[c]=b[c]},a.getInheritableProperty=function(a,b){for(;a&&!a.has(b);)a=a.get(\"Parent\");return a?a.get(b):null},a.inherit=function(a,b,c){a.prototype=Object.create(b.prototype),a.prototype.constructor=a;for(var d in c)a.prototype[d]=c[d]},a.loadScript=function(a,b){var c=document.createElement(\"script\"),d=!1;c.setAttribute(\"src\",a),b&&(c.onload=function(){d||b(),d=!0}),document.getElementsByTagName(\"head\")[0].appendChild(c)},a}(),PageViewport=PDFJS.PageViewport=function(){function a(a,b,c,d,e,f){this.viewBox=a,this.scale=b,this.rotation=c,this.offsetX=d,this.offsetY=e;var g,h,i,j,k=(a[2]+a[0])/2,l=(a[3]+a[1])/2;switch(c%=360,c=0>c?c+360:c){case 180:g=-1,h=0,i=0,j=1;break;case 90:g=0,h=1,i=1,j=0;break;case 270:g=0,h=-1,i=-1,j=0;break;default:g=1,h=0,i=0,j=-1}f&&(i=-i,j=-j);var m,n,o,p;0===g?(m=Math.abs(l-a[1])*b+d,n=Math.abs(k-a[0])*b+e,o=Math.abs(a[3]-a[1])*b,p=Math.abs(a[2]-a[0])*b):(m=Math.abs(k-a[0])*b+d,n=Math.abs(l-a[1])*b+e,o=Math.abs(a[2]-a[0])*b,p=Math.abs(a[3]-a[1])*b),this.transform=[g*b,h*b,i*b,j*b,m-g*b*k-i*b*l,n-h*b*k-j*b*l],this.width=o,this.height=p,this.fontScale=b}return a.prototype={clone:function(b){b=b||{};var c=\"scale\"in b?b.scale:this.scale,d=\"rotation\"in b?b.rotation:this.rotation;return new a(this.viewBox.slice(),c,d,this.offsetX,this.offsetY,b.dontFlip)},convertToViewportPoint:function(a,b){return Util.applyTransform([a,b],this.transform)},convertToViewportRectangle:function(a){var b=Util.applyTransform([a[0],a[1]],this.transform),c=Util.applyTransform([a[2],a[3]],this.transform);return[b[0],b[1],c[0],c[1]]},convertToPdfPoint:function(a,b){return Util.applyInverseTransform([a,b],this.transform)}},a}(),PDFStringTranslateTable=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364];PDFJS.createPromiseCapability=createPromiseCapability,function(){function a(a){this._status=b,this._handlers=[];try{a.call(this,this._resolve.bind(this),this._reject.bind(this))}catch(c){this._reject(c)}}if(globalScope.Promise)return\"function\"!=typeof globalScope.Promise.all&&(globalScope.Promise.all=function(a){var b,c,d=0,e=[],f=new globalScope.Promise(function(a,d){b=a,c=d});return a.forEach(function(a,f){d++,a.then(function(a){e[f]=a,d--,0===d&&b(e)},c)}),0===d&&b(e),f}),\"function\"!=typeof globalScope.Promise.resolve&&(globalScope.Promise.resolve=function(a){return new globalScope.Promise(function(b){b(a)})}),\"function\"!=typeof globalScope.Promise.reject&&(globalScope.Promise.reject=function(a){return new globalScope.Promise(function(b,c){c(a)})}),void(\"function\"!=typeof globalScope.Promise.prototype[\"catch\"]&&(globalScope.Promise.prototype[\"catch\"]=function(a){return globalScope.Promise.prototype.then(void 0,a)}));var b=0,c=1,d=2,e=500,f={handlers:[],running:!1,unhandledRejections:[],pendingRejectionCheck:!1,scheduleHandlers:function(a){a._status!==b&&(this.handlers=this.handlers.concat(a._handlers),a._handlers=[],this.running||(this.running=!0,setTimeout(this.runHandlers.bind(this),0)))},runHandlers:function(){for(var a=1,b=Date.now()+a;this.handlers.length>0;){var e=this.handlers.shift(),f=e.thisPromise._status,g=e.thisPromise._value;try{f===c?\"function\"==typeof e.onResolve&&(g=e.onResolve(g)):\"function\"==typeof e.onReject&&(g=e.onReject(g),f=c,e.thisPromise._unhandledRejection&&this.removeUnhandeledRejection(e.thisPromise))}catch(h){f=d,g=h}if(e.nextPromise._updateStatus(f,g),Date.now()>=b)break}return this.handlers.length>0?void setTimeout(this.runHandlers.bind(this),0):void(this.running=!1)},addUnhandledRejection:function(a){this.unhandledRejections.push({promise:a,time:Date.now()}),this.scheduleRejectionCheck()},removeUnhandeledRejection:function(a){a._unhandledRejection=!1;for(var b=0;be){var c=this.unhandledRejections[b].promise._value,d=\"Unhandled rejection: \"+c;c.stack&&(d+=\"\\n\"+c.stack),warn(d),this.unhandledRejections.splice(b),b--}this.unhandledRejections.length&&this.scheduleRejectionCheck()}.bind(this),e))}};a.all=function(b){function c(a){g._status!==d&&(i=[],f(a))}var e,f,g=new a(function(a,b){e=a,f=b}),h=b.length,i=[];if(0===h)return e(i),g;for(var j=0,k=b.length;k>j;++j){var l=b[j],m=function(a){return function(b){g._status!==d&&(i[a]=b,h--,0===h&&e(i))}}(j);a.isPromise(l)?l.then(m,c):m(l)}return g},a.isPromise=function(a){return a&&\"function\"==typeof a.then},a.resolve=function(b){return new a(function(a){a(b)})},a.reject=function(b){return new a(function(a,c){c(b)})},a.prototype={_status:null,_value:null,_handlers:null,_unhandledRejection:null,_updateStatus:function(b,e){if(this._status!==c&&this._status!==d){if(b===c&&a.isPromise(e))return void e.then(this._updateStatus.bind(this,c),this._updateStatus.bind(this,d));this._status=b,this._value=e,b===d&&0===this._handlers.length&&(this._unhandledRejection=!0,f.addUnhandledRejection(this)),f.scheduleHandlers(this)}},_resolve:function(a){this._updateStatus(c,a)},_reject:function(a){this._updateStatus(d,a)},then:function(b,c){var d=new a(function(a,b){this.resolve=a,this.reject=b});return this._handlers.push({thisPromise:this,onResolve:b,onReject:c,nextPromise:d}),f.scheduleHandlers(this),d},\"catch\":function(a){return this.then(void 0,a)}},globalScope.Promise=a}();var StatTimer=function(){function a(a,b,c){for(;a.lengthb;++b){var g=d[b].name;g.length>f&&(f=g.length)}for(b=0,c=d.length;c>b;++b){var h=d[b],i=h.end-h.start;e+=a(h.name,\" \",f)+\" \"+i+\"ms\\n\"}return e}},b}();PDFJS.createBlob=function(a,b){if(\"undefined\"!=typeof Blob)return new Blob([a],{type:b});var c=new MozBlobBuilder;return c.append(a),c.getBlob(b)},PDFJS.createObjectURL=function(){var a=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";return function(b,c){if(!PDFJS.disableCreateObjectURL&&\"undefined\"!=typeof URL&&URL.createObjectURL){var d=PDFJS.createBlob(b,c);return URL.createObjectURL(d)}for(var e=\"data:\"+c+\";base64,\",f=0,g=b.length;g>f;f+=3){var h=255&b[f],i=255&b[f+1],j=255&b[f+2],k=h>>2,l=(3&h)<<4|i>>4,m=g>f+1?(15&i)<<2|j>>6:64,n=g>f+2?63&j:64;e+=a[k]+a[l]+a[m]+a[n]}return e}}(),MessageHandler.prototype={on:function(a,b,c){var d=this.actionHandler;d[a]&&error('There is already an actionName called \"'+a+'\"'),d[a]=[b,c]},send:function(a,b,c){var d={action:a,data:b};this.postMessage(d,c)},sendWithPromise:function(a,b,c){var d=this.callbackIndex++,e={action:a,data:b,callbackId:d},f=createPromiseCapability();this.callbacksCapabilities[d]=f;try{this.postMessage(e,c)}catch(g){f.reject(g)}return f.promise},postMessage:function(a,b){b&&this.postMessageTransfers?this.comObj.postMessage(a,b):this.comObj.postMessage(a)}};\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = JpxImage;\n\n/***/ }),\n\n/***/ \"../codecs/openJPEG-FixedMemory.js\":\n/*!*****************************************!*\\\n !*** ../codecs/openJPEG-FixedMemory.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n/*! OpenJPEG.js - v0.2.0 - 2016-06-07 | (c) 2016 Chris Hafey | https://github.com/chafey/openjpeg */\n\n// Notes:\n// - Had to add export default at the bottom\n// - Had to patch parsejsfunc, see https://github.com/svaarala/duktape/issues/410\nvar OpenJPEG = function(Module) {\n Module = Module || {};\n\nvar Module;if(!Module)Module=(typeof OpenJPEG!==\"undefined\"?OpenJPEG:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window===\"object\";var ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";var ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof require===\"function\"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module[\"print\"])Module[\"print\"]=function print(x){process[\"stdout\"].write(x+\"\\n\")};if(!Module[\"printErr\"])Module[\"printErr\"]=function printErr(x){process[\"stderr\"].write(x+\"\\n\")};var nodeFS=require(\"fs\");var nodePath=require(\"path\");Module[\"read\"]=function read(filename,binary){filename=nodePath[\"normalize\"](filename);var ret=nodeFS[\"readFileSync\"](filename);if(!ret&&filename!=nodePath[\"resolve\"](filename)){filename=path.join(__dirname,\"..\",\"src\",filename);ret=nodeFS[\"readFileSync\"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module[\"readBinary\"]=function readBinary(filename){var ret=Module[\"read\"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module[\"load\"]=function load(f){globalEval(read(f))};if(!Module[\"thisProgram\"]){if(process[\"argv\"].length>1){Module[\"thisProgram\"]=process[\"argv\"][1].replace(/\\\\/g,\"/\")}else{Module[\"thisProgram\"]=\"unknown-program\"}}Module[\"arguments\"]=process[\"argv\"].slice(2);if(typeof module!==\"undefined\"){module[\"exports\"]=Module}process[\"on\"](\"uncaughtException\",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module[\"inspect\"]=(function(){return\"[Emscripten Module object]\"})}else if(ENVIRONMENT_IS_SHELL){if(!Module[\"print\"])Module[\"print\"]=print;if(typeof printErr!=\"undefined\")Module[\"printErr\"]=printErr;if(typeof read!=\"undefined\"){Module[\"read\"]=read}else{Module[\"read\"]=function read(){throw\"no read() available (jsc?)\"}}Module[\"readBinary\"]=function readBinary(f){if(typeof readbuffer===\"function\"){return new Uint8Array(readbuffer(f))}var data=read(f,\"binary\");assert(typeof data===\"object\");return data};if(typeof scriptArgs!=\"undefined\"){Module[\"arguments\"]=scriptArgs}else if(typeof arguments!=\"undefined\"){Module[\"arguments\"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module[\"read\"]=function read(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!=\"undefined\"){Module[\"arguments\"]=arguments}if(typeof console!==\"undefined\"){if(!Module[\"print\"])Module[\"print\"]=function print(x){console.log(x)};if(!Module[\"printErr\"])Module[\"printErr\"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module[\"print\"])Module[\"print\"]=TRY_USE_DUMP&&typeof dump!==\"undefined\"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module[\"load\"]=importScripts}if(typeof Module[\"setWindowTitle\"]===\"undefined\"){Module[\"setWindowTitle\"]=(function(title){document.title=title})}}else{throw\"Unknown runtime environment. Where are we?\"}function globalEval(x){eval.call(null,x)}if(!Module[\"load\"]&&Module[\"read\"]){Module[\"load\"]=function load(f){globalEval(Module[\"read\"](f))}}if(!Module[\"print\"]){Module[\"print\"]=(function(){})}if(!Module[\"printErr\"]){Module[\"printErr\"]=Module[\"print\"]}if(!Module[\"arguments\"]){Module[\"arguments\"]=[]}if(!Module[\"thisProgram\"]){Module[\"thisProgram\"]=\"./this.program\"}Module.print=Module[\"print\"];Module.printErr=Module[\"printErr\"];Module[\"preRun\"]=[];Module[\"postRun\"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case\"i1\":case\"i8\":return 1;case\"i16\":return 2;case\"i32\":return 4;case\"i64\":return 8;case\"float\":return 4;case\"double\":return 8;default:{if(type[type.length-1]===\"*\"){return Runtime.QUANTUM_SIZE}else if(type[0]===\"i\"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type===\"double\"||type===\"i64\"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type==\"i64\"||type==\"double\"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module[\"dynCall_\"+sig].apply(null,args)}else{return Module[\"dynCall_\"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module[\"Runtime\"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort(\"Assertion failed: \"+text)}}var globalScope=this;function getCFunc(ident){var func=Module[\"_\"+ident];if(!func){try{func=eval(\"_\"+ident)}catch(e){}}assert(func,\"Cannot call unknown function \"+ident+\" (perhaps LLVM optimizations or closure removed it?)\");return func}var cwrap,ccall;((function(){var JSfuncs={\"stackSave\":(function(){Runtime.stackSave()}),\"stackRestore\":(function(){Runtime.stackRestore()}),\"arrayToC\":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),\"stringToC\":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={\"string\":JSfuncs[\"stringToC\"],\"array\":JSfuncs[\"arrayToC\"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case\"i8\":HEAP8[ptr>>0]=value;break;case\"i16\":HEAP16[ptr>>1]=value;break;case\"i32\":HEAP32[ptr>>2]=value;break;case\"i64\":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case\"float\":HEAPF32[ptr>>2]=value;break;case\"double\":HEAPF64[ptr>>3]=value;break;default:abort(\"invalid type for setValue: \"+type)}}Module[\"setValue\"]=setValue;function getValue(ptr,type,noSafe){type=type||\"i8\";if(type.charAt(type.length-1)===\"*\")type=\"i32\";switch(type){case\"i1\":return HEAP8[ptr>>0];case\"i8\":return HEAP8[ptr>>0];case\"i16\":return HEAP16[ptr>>1];case\"i32\":return HEAP32[ptr>>2];case\"i64\":return HEAP32[ptr>>2];case\"float\":return HEAPF32[ptr>>2];case\"double\":return HEAPF64[ptr>>3];default:abort(\"invalid type for setValue: \"+type)}return null}Module[\"getValue\"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module[\"ALLOC_NORMAL\"]=ALLOC_NORMAL;Module[\"ALLOC_STACK\"]=ALLOC_STACK;Module[\"ALLOC_STATIC\"]=ALLOC_STATIC;Module[\"ALLOC_DYNAMIC\"]=ALLOC_DYNAMIC;Module[\"ALLOC_NONE\"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab===\"number\"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types===\"string\"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType===\"i8\"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret=\"\";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module[\"UTF8ToString\"](ptr)}Module[\"Pointer_stringify\"]=Pointer_stringify;function AsciiToString(ptr){var str=\"\";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module[\"AsciiToString\"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module[\"stringToAscii\"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str=\"\";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module[\"UTF8ArrayToString\"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module[\"UTF8ToString\"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module[\"stringToUTF8Array\"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module[\"stringToUTF8\"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module[\"lengthBytesUTF8\"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str=\"\";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module[\"UTF16ToString\"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module[\"stringToUTF16\"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module[\"lengthBytesUTF16\"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str=\"\";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module[\"UTF32ToString\"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module[\"stringToUTF32\"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module[\"lengthBytesUTF32\"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module[\"___cxa_demangle\"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module[\"___cxa_demangle\"](buf,0,0,status);if(getValue(status,\"i32\")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={\"v\":\"void\",\"b\":\"bool\",\"c\":\"char\",\"s\":\"short\",\"i\":\"int\",\"l\":\"long\",\"f\":\"float\",\"d\":\"double\",\"w\":\"wchar_t\",\"a\":\"signed char\",\"h\":\"unsigned char\",\"t\":\"unsigned short\",\"j\":\"unsigned int\",\"m\":\"unsigned long\",\"x\":\"long long\",\"y\":\"unsigned long long\",\"z\":\"...\"};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre=\"\";for(var a=0;a\"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case\"P\":list.push(parse(true,1,true)[0]+\"*\");break;case\"R\":list.push(parse(true,1,true)[0]+\"&\");break;case\"L\":{i++;var end=func.indexOf(\"E\",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case\"A\":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!==\"_\")throw\"?\";i++;list.push(parse(true,1,true)[0]+\" [\"+size+\"]\");break};case\"E\":break paramLoop;default:ret+=\"?\"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]===\"void\")list=[];if(rawList){if(ret){list.push(ret+\"?\")}return list}else{return ret+flushList()}}var parsed=func;try{if(func==\"Object._main\"||func==\"_main\"){return\"main()\"}if(typeof func===\"number\")func=Pointer_stringify(func);if(func[0]!==\"_\")return func;if(func[1]!==\"_\")return func;if(func[2]!==\"Z\")return func;switch(func[3]){case\"n\":return\"operator new()\";case\"d\":return\"operator delete()\"}parsed=parse()}catch(e){parsed+=\"?\"}if(parsed.indexOf(\"?\")>=0&&!hasLibcxxabi){Runtime.warnOnce(\"warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling\")}return parsed}function demangleAll(text){return text.replace(/__Z[\\w\\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+\" [\"+y+\"]\"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return\"(no stack trace available)\"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module[\"stackTrace\"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort(\"Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value \"+TOTAL_MEMORY+\", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 \")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module[\"TOTAL_STACK\"]||5242880;var TOTAL_MEMORY=Module[\"TOTAL_MEMORY\"]||4e8;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback==\"function\"){callback();continue}var func=callback.func;if(typeof func===\"number\"){if(callback.arg===undefined){Runtime.dynCall(\"v\",func)}else{Runtime.dynCall(\"vi\",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module[\"addOnPreRun\"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module[\"addOnInit\"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module[\"addOnPreMain\"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module[\"addOnExit\"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module[\"addOnPostRun\"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module[\"intArrayFromString\"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join(\"\")}Module[\"intArrayToString\"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module[\"writeStringToMemory\"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module[\"writeArrayToMemory\"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module[\"writeAsciiToMemory\"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math[\"imul\"]||Math[\"imul\"](4294967295,5)!==-5)Math[\"imul\"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math[\"imul\"];if(!Math[\"clz32\"])Math[\"clz32\"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math[\"clz32\"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}Module[\"addRunDependency\"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module[\"removeRunDependency\"]=removeRunDependency;Module[\"preloadedImages\"]={};Module[\"preloadedAudios\"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+25664;__ATINIT__.push();allocate([131,192,202,161,69,182,251,63,127,251,58,112,206,136,234,63,127,251,58,112,206,136,234,63,131,192,202,161,69,182,251,63,225,122,20,174,71,225,252,63,94,186,73,12,2,43,249,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,6,64,0,0,0,0,0,128,21,64,92,143,194,245,40,92,37,64,215,163,112,61,10,87,53,64,246,40,92,143,194,85,69,64,133,235,81,184,30,85,85,64,102,102,102,102,102,86,101,64,205,204,204,204,204,84,117,64,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,173,250,92,109,197,254,230,63,86,125,174,182,98,127,237,63,199,75,55,137,65,96,249,63,242,210,77,98,16,88,8,64,250,126,106,188,116,19,24,64,133,235,81,184,30,5,40,64,0,0,0,0,0,0,56,64,92,143,194,245,40,252,71,64,236,81,184,30,133,251,87,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,113,61,10,215,163,112,255,63,104,145,237,124,63,181,16,64,117,147,24,4,86,206,32,64,102,102,102,102,102,230,48,64,236,81,184,30,133,235,64,64,92,143,194,245,40,236,80,64,154,153,153,153,153,233,96,64,154,153,153,153,153,233,112,64,51,51,51,51,51,231,128,64,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,164,112,61,10,215,163,0,64,236,81,184,30,133,235,14,64,119,190,159,26,47,157,32,64,174,71,225,122,20,46,49,64,123,20,174,71,225,90,65,64,246,40,92,143,194,101,81,64,154,153,153,153,153,105,97,64,154,153,153,153,153,105,113,64,154,153,153,153,153,105,129,64,0,0,0,0,0,0,0,0,4,0,0,0,67,80,82,76,0,0,0,0,0,0,0,0,76,82,67,80,0,0,0,0,3,0,0,0,80,67,82,76,0,0,0,0,1,0,0,0,82,76,67,80,0,0,0,0,2,0,0,0,82,80,67,76,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,144,255,0,0,12,0,0,0,1,0,0,0,82,255,0,0,20,0,0,0,2,0,0,0,83,255,0,0,20,0,0,0,3,0,0,0,94,255,0,0,20,0,0,0,4,0,0,0,92,255,0,0,20,0,0,0,5,0,0,0,93,255,0,0,20,0,0,0,6,0,0,0,95,255,0,0,20,0,0,0,7,0,0,0,81,255,0,0,2,0,0,0,8,0,0,0,85,255,0,0,4,0,0,0,9,0,0,0,87,255,0,0,4,0,0,0,10,0,0,0,88,255,0,0,16,0,0,0,11,0,0,0,96,255,0,0,4,0,0,0,12,0,0,0,97,255,0,0,16,0,0,0,13,0,0,0,145,255,0,0,0,0,0,0,0,0,0,0,99,255,0,0,4,0,0,0,14,0,0,0,100,255,0,0,20,0,0,0,15,0,0,0,116,255,0,0,20,0,0,0,16,0,0,0,120,255,0,0,4,0,0,0,17,0,0,0,117,255,0,0,20,0,0,0,18,0,0,0,119,255,0,0,20,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,32,32,80,106,20,0,0,0,112,121,116,102,21,0,0,0,104,50,112,106,22,0,0,0,114,100,104,105,23,0,0,0,114,108,111,99,24,0,0,0,99,99,112,98,25,0,0,0,114,108,99,112,26,0,0,0,112,97,109,99,27,0,0,0,102,101,100,99,28,0,0,0,1,86,0,0,0,0,0,0,164,4,0,0,180,4,0,0,1,86,0,0,1,0,0,0,180,4,0,0,164,4,0,0,1,52,0,0,0,0,0,0,196,4,0,0,68,5,0,0,1,52,0,0,1,0,0,0,212,4,0,0,84,5,0,0,1,24,0,0,0,0,0,0,228,4,0,0,164,5,0,0,1,24,0,0,1,0,0,0,244,4,0,0,180,5,0,0,193,10,0,0,0,0,0,0,4,5,0,0,4,6,0,0,193,10,0,0,1,0,0,0,20,5,0,0,20,6,0,0,33,5,0,0,0,0,0,0,36,5,0,0,36,8,0,0,33,5,0,0,1,0,0,0,52,5,0,0,52,8,0,0,33,2,0,0,0,0,0,0,68,9,0,0,164,8,0,0,33,2,0,0,1,0,0,0,84,9,0,0,180,8,0,0,1,86,0,0,0,0,0,0,100,5,0,0,84,5,0,0,1,86,0,0,1,0,0,0,116,5,0,0,68,5,0,0,1,84,0,0,0,0,0,0,132,5,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,5,0,0,84,6,0,0,1,72,0,0,0,0,0,0,164,5,0,0,68,6,0,0,1,72,0,0,1,0,0,0,180,5,0,0,84,6,0,0,1,56,0,0,0,0,0,0,196,5,0,0,68,6,0,0,1,56,0,0,1,0,0,0,212,5,0,0,84,6,0,0,1,48,0,0,0,0,0,0,228,5,0,0,164,6,0,0,1,48,0,0,1,0,0,0,244,5,0,0,180,6,0,0,1,36,0,0,0,0,0,0,4,6,0,0,196,6,0,0,1,36,0,0,1,0,0,0,20,6,0,0,212,6,0,0,1,28,0,0,0,0,0,0,36,6,0,0,4,7,0,0,1,28,0,0,1,0,0,0,52,6,0,0,20,7,0,0,1,22,0,0,0,0,0,0,36,8,0,0,36,7,0,0,1,22,0,0,1,0,0,0,52,8,0,0,52,7,0,0,1,86,0,0,0,0,0,0,100,6,0,0,84,6,0,0,1,86,0,0,1,0,0,0,116,6,0,0,68,6,0,0,1,84,0,0,0,0,0,0,132,6,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,6,0,0,84,6,0,0,1,81,0,0,0,0,0,0,164,6,0,0,100,6,0,0,1,81,0,0,1,0,0,0,180,6,0,0,116,6,0,0,1,72,0,0,0,0,0,0,196,6,0,0,132,6,0,0,1,72,0,0,1,0,0,0,212,6,0,0,148,6,0,0,1,56,0,0,0,0,0,0,228,6,0,0,164,6,0,0,1,56,0,0,1,0,0,0,244,6,0,0,180,6,0,0,1,52,0,0,0,0,0,0,4,7,0,0,196,6,0,0,1,52,0,0,1,0,0,0,20,7,0,0,212,6,0,0,1,48,0,0,0,0,0,0,36,7,0,0,228,6,0,0,1,48,0,0,1,0,0,0,52,7,0,0,244,6,0,0,1,40,0,0,0,0,0,0,68,7,0,0,228,6,0,0,1,40,0,0,1,0,0,0,84,7,0,0,244,6,0,0,1,36,0,0,0,0,0,0,100,7,0,0,4,7,0,0,1,36,0,0,1,0,0,0,116,7,0,0,20,7,0,0,1,34,0,0,0,0,0,0,132,7,0,0,36,7,0,0,1,34,0,0,1,0,0,0,148,7,0,0,52,7,0,0,1,28,0,0,0,0,0,0,164,7,0,0,68,7,0,0,1,28,0,0,1,0,0,0,180,7,0,0,84,7,0,0,1,24,0,0,0,0,0,0,196,7,0,0,100,7,0,0,1,24,0,0,1,0,0,0,212,7,0,0,116,7,0,0,1,22,0,0,0,0,0,0,228,7,0,0,132,7,0,0,1,22,0,0,1,0,0,0,244,7,0,0,148,7,0,0,1,20,0,0,0,0,0,0,4,8,0,0,164,7,0,0,1,20,0,0,1,0,0,0,20,8,0,0,180,7,0,0,1,18,0,0,0,0,0,0,36,8,0,0,196,7,0,0,1,18,0,0,1,0,0,0,52,8,0,0,212,7,0,0,1,17,0,0,0,0,0,0,68,8,0,0,228,7,0,0,1,17,0,0,1,0,0,0,84,8,0,0,244,7,0,0,193,10,0,0,0,0,0,0,100,8,0,0,4,8,0,0,193,10,0,0,1,0,0,0,116,8,0,0,20,8,0,0,193,9,0,0,0,0,0,0,132,8,0,0,36,8,0,0,193,9,0,0,1,0,0,0,148,8,0,0,52,8,0,0,161,8,0,0,0,0,0,0,164,8,0,0,68,8,0,0,161,8,0,0,1,0,0,0,180,8,0,0,84,8,0,0,33,5,0,0,0,0,0,0,196,8,0,0,100,8,0,0,33,5,0,0,1,0,0,0,212,8,0,0,116,8,0,0,65,4,0,0,0,0,0,0,228,8,0,0,132,8,0,0,65,4,0,0,1,0,0,0,244,8,0,0,148,8,0,0,161,2,0,0,0,0,0,0,4,9,0,0,164,8,0,0,161,2,0,0,1,0,0,0,20,9,0,0,180,8,0,0,33,2,0,0,0,0,0,0,36,9,0,0,196,8,0,0,33,2,0,0,1,0,0,0,52,9,0,0,212,8,0,0,65,1,0,0,0,0,0,0,68,9,0,0,228,8,0,0,65,1,0,0,1,0,0,0,84,9,0,0,244,8,0,0,17,1,0,0,0,0,0,0,100,9,0,0,4,9,0,0,17,1,0,0,1,0,0,0,116,9,0,0,20,9,0,0,133,0,0,0,0,0,0,0,132,9,0,0,36,9,0,0,133,0,0,0,1,0,0,0,148,9,0,0,52,9,0,0,73,0,0,0,0,0,0,0,164,9,0,0,68,9,0,0,73,0,0,0,1,0,0,0,180,9,0,0,84,9,0,0,37,0,0,0,0,0,0,0,196,9,0,0,100,9,0,0,37,0,0,0,1,0,0,0,212,9,0,0,116,9,0,0,21,0,0,0,0,0,0,0,228,9,0,0,132,9,0,0,21,0,0,0,1,0,0,0,244,9,0,0,148,9,0,0,9,0,0,0,0,0,0,0,4,10,0,0,164,9,0,0,9,0,0,0,1,0,0,0,20,10,0,0,180,9,0,0,5,0,0,0,0,0,0,0,36,10,0,0,196,9,0,0,5,0,0,0,1,0,0,0,52,10,0,0,212,9,0,0,1,0,0,0,0,0,0,0,36,10,0,0,228,9,0,0,1,0,0,0,1,0,0,0,52,10,0,0,244,9,0,0,1,86,0,0,0,0,0,0,68,10,0,0,68,10,0,0,1,86,0,0,1,0,0,0,84,10,0,0,84,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,11,0,0,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,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,2,0,0,0,3,0,0,0,38,94,0,0,0,4,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,10,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,64,4,32,0,32,2,128,0,128,8,16,0,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,0,3,128,4,0,6,128,7,0,9,128,10,0,12,128,13,0,15,128,16,0,18,128,19,0,21,128,22,0,24,128,25,0,27,128,28,0,30,128,31,0,33,128,34,0,36,128,37,0,39,128,40,0,42,128,43,0,45,128,46,0,48,128,49,0,51,128,52,0,54,128,55,0,57,128,58,0,60,128,61,0,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,0,81,128,82,0,84,128,85,0,87,128,88,0,90,128,91,0,93,128,94,0,96,128,97,0,99,128,100,0,102,128,103,0,105,128,106,0,108,128,109,0,111,128,112,0,114,128,115,0,117,128,118,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,128,38,128,39,128,40,128,41,0,43,0,44,0,45,128,46,128,47,0,49,0,50,128,51,128,52,0,54,0,55,128,56,0,58,0,59,128,60,0,62,128,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,128,81,0,83,128,84,0,86,0,88,128,89,0,91,0,93,128,94,128,96,0,98,0,100,128,101,128,103,0,105,0,107,0,109,128,110,128,112,128,114,128,116,0,118,0,120,0,122,0,124,0,126,0,24,128,23,0,23,128,22,0,22,128,21,0,21,128,20,0,20,128,19,0,19,128,18,0,18,128,17,0,17,128,16,0,16,128,15,0,15,128,14,0,14,128,13,0,13,128,12,0,12,128,11,0,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,0,5,128,4,0,4,128,3,0,3,128,2,0,2,128,1,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,1,128,1,0,2,128,2,0,3,128,3,0,4,128,4,0,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,0,11,128,11,0,12,128,12,0,13,128,13,0,14,128,14,0,15,128,15,0,16,128,16,0,17,128,17,0,18,128,18,0,19,128,19,0,20,128,20,0,21,128,21,0,22,128,22,0,23,128,23,0,32,0,31,0,30,0,29,0,28,0,27,128,26,128,25,128,24,128,23,0,23,0,22,0,21,128,20,128,19,0,19,0,18,128,17,128,16,0,16,0,15,128,14,0,14,0,13,128,12,0,12,128,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,128,5,0,5,128,4,0,4,0,4,128,3,0,3,0,3,128,2,128,2,0,2,0,2,128,1,128,1,0,1,0,1,0,1,128,0,128,0,128,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,116,104,101,32,100,101,99,111,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,104,101,97,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,33,0,91,69,82,82,79,82,93,32,37,115,0,83,116,114,101,97,109,32,114,101,97,99,104,101,100,32,105,116,115,32,101,110,100,32,33,10,0,69,114,114,111,114,32,111,110,32,119,114,105,116,105,110,103,32,115,116,114,101,97,109,33,10,0,83,116,114,101,97,109,32,101,114,114,111,114,33,10,0,50,46,49,46,48,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,115,101,116,117,112,95,100,101,99,111,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,114,101,97,100,95,104,101,97,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,119,98,0,114,98,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,44,37,100,93,10,0,68,101,112,114,101,99,97,116,101,100,32,102,105,101,108,100,115,32,99,112,95,99,105,110,101,109,97,32,111,114,32,99,112,95,114,115,105,122,32,97,114,101,32,117,115,101,100,10,80,108,101,97,115,101,32,99,111,110,115,105,100,101,114,32,117,115,105,110,103,32,111,110,108,121,32,116,104,101,32,114,115,105,122,32,102,105,101,108,100,10,83,101,101,32,111,112,101,110,106,112,101,103,46,104,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,10,0,84,104,101,32,100,101,115,105,114,101,100,32,109,97,120,105,109,117,109,32,99,111,100,101,115,116,114,101,97,109,32,115,105,122,101,32,104,97,115,32,108,105,109,105,116,101,100,10,97,116,32,108,101,97,115,116,32,111,110,101,32,111,102,32,116,104,101,32,100,101,115,105,114,101,100,32,113,117,97,108,105,116,121,32,108,97,121,101,114,115,10,0,74,80,69,71,32,50,48,48,48,32,83,99,97,108,97,98,108,101,32,68,105,103,105,116,97,108,32,67,105,110,101,109,97,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,49,32,115,105,110,103,108,101,32,113,117,97,108,105,116,121,32,108,97,121,101,114,45,62,32,78,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,45,62,32,82,97,116,101,32,111,102,32,116,104,101,32,108,97,115,116,32,108,97,121,101,114,32,40,37,51,46,49,102,41,32,119,105,108,108,32,98,101,32,117,115,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,60,61,32,53,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,53,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,54,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,51,48,50,48,56,51,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,48,52,49,54,54,54,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,51,32,99,111,109,112,111,110,101,110,116,115,45,62,32,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,115,105,103,110,101,100,0,117,110,115,105,103,110,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,80,114,101,99,105,115,105,111,110,32,111,102,32,101,97,99,104,32,99,111,109,112,111,110,101,110,116,32,115,104,97,108,108,32,98,101,32,49,50,32,98,105,116,115,32,117,110,115,105,103,110,101,100,45,62,32,65,116,32,108,101,97,115,116,32,99,111,109,112,111,110,101,110,116,32,37,100,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,32,98,105,116,115,44,32,37,115,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,50,48,52,56,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,49,48,56,48,10,45,62,32,73,110,112,117,116,32,105,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,52,48,57,54,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,50,49,54,48,10,45,62,32,73,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,52,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,76,111,110,103,32,84,101,114,109,32,83,116,111,114,97,103,101,32,112,114,111,102,105,108,101,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,66,114,111,97,100,99,97,115,116,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,73,77,70,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,97,114,116,45,50,32,112,114,111,102,105,108,101,32,100,101,102,105,110,101,100,10,98,117,116,32,110,111,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,46,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,85,110,115,117,112,112,111,114,116,101,100,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,117,115,101,114,32,101,110,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,37,115,37,115,0,67,114,101,97,116,101,100,32,98,121,32,79,112,101,110,74,80,69,71,32,118,101,114,115,105,111,110,32,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,104,101,99,107,105,110,103,32,116,104,101,32,112,111,99,32,118,97,108,117,101,115,46,10,0,77,105,115,115,105,110,103,32,112,97,99,107,101,116,115,32,112,111,115,115,105,98,108,101,32,108,111,115,115,32,111,102,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,101,109,112,32,98,117,102,102,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,70,97,105,108,101,100,32,116,111,32,105,110,118,101,114,115,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,110,111,114,109,115,32,10,0,70,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,106,50,107,32,109,99,116,32,101,110,99,111,100,105,110,103,10,0,67,97,110,110,111,116,32,112,101,114,102,111,114,109,32,77,67,84,32,111,110,32,99,111,109,112,111,110,101,110,116,115,32,119,105,116,104,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,46,32,68,105,115,97,98,108,105,110,103,32,77,67,84,46,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,10,0,73,110,99,111,110,115,105,115,116,101,110,116,32,109,97,114,107,101,114,32,115,105,122,101,10,0,77,97,114,107,101,114,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,32,119,105,116,104,32,105,116,115,32,112,111,115,105,116,105,111,110,10,0,77,97,114,107,101,114,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,104,101,97,100,101,114,10,0,78,111,116,32,115,117,114,101,32,104,111,119,32,116,104,97,116,32,104,97,112,112,101,110,101,100,46,10,0,70,97,105,108,32,116,111,32,114,101,97,100,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,40,37,35,120,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,116,108,32,109,97,114,107,101,114,10,0,84,105,108,101,32,112,97,114,116,32,108,101,110,103,116,104,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,79,84,32,109,97,114,107,101,114,10,0,111,112,106,95,106,50,107,95,97,112,112,108,121,95,110,98,95,116,105,108,101,95,112,97,114,116,115,95,99,111,114,114,101,99,116,105,111,110,32,101,114,114,111,114,10,0,78,111,110,32,99,111,110,102,111,114,109,97,110,116,32,99,111,100,101,115,116,114,101,97,109,32,84,80,115,111,116,61,61,84,78,115,111,116,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,84,32,109,97,114,107,101,114,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,84,32,100,97,116,97,10,0,67,97,110,110,111,116,32,100,101,99,111,100,101,32,116,105,108,101,44,32,109,101,109,111,114,121,32,101,114,114,111,114,10,0,72,101,97,100,101,114,32,111,102,32,116,105,108,101,32,37,100,32,47,32,37,100,32,104,97,115,32,98,101,101,110,32,114,101,97,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,46,10,0,78,111,32,69,79,67,32,109,97,114,107,101,114,46,32,80,111,115,115,105,98,108,121,32,97,32,116,114,117,110,99,97,116,101,100,32,115,116,114,101,97,109,10,0,83,116,114,101,97,109,32,100,111,101,115,32,110,111,116,32,101,110,100,32,119,105,116,104,32,69,79,67,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,44,32,101,120,112,101,99,116,101,100,32,83,79,84,10,0,78,101,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,98,101,102,111,114,101,32,98,101,103,105,110,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,99,111,100,101,115,116,114,101,97,109,0,78,111,32,100,101,99,111,100,101,100,32,97,114,101,97,32,112,97,114,97,109,101,116,101,114,115,44,32,115,101,116,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,116,111,32,116,104,101,32,119,104,111,108,101,32,105,109,97,103,101,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,83,105,122,101,32,120,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,119,61,37,100,41,46,10,0,83,105,122,101,32,121,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,104,61,37,100,41,46,10,0,83,101,116,116,105,110,103,32,100,101,99,111,100,105,110,103,32,97,114,101,97,32,116,111,32,37,100,44,37,100,44,37,100,44,37,100,10,0,87,114,111,110,103,32,102,108,97,103,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,102,111,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,116,120,48,61,37,100,44,32,116,121,48,61,37,100,10,0,9,32,116,100,120,61,37,100,44,32,116,100,121,61,37,100,10,0,9,32,116,119,61,37,100,44,32,116,104,61,37,100,10,0,125,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,100,101,120,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,77,97,105,110,32,104,101,97,100,101,114,32,115,116,97,114,116,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,9,32,77,97,105,110,32,104,101],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([97,100,101,114,32,101,110,100,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,0,9,32,77,97,114,107,101,114,32,108,105,115,116,58,32,123,10,0,9,9,32,116,121,112,101,61,37,35,120,44,32,112,111,115,61,37,108,108,105,44,32,108,101,110,61,37,100,10,0,9,32,125,10,0,9,32,84,105,108,101,32,105,110,100,101,120,58,32,123,10,0,9,9,32,110,98,32,111,102,32,116,105,108,101,45,112,97,114,116,32,105,110,32,116,105,108,101,32,91,37,100,93,61,37,100,10,0,9,9,9,32,116,105,108,101,45,112,97,114,116,91,37,100,93,58,32,115,116,97,114,95,112,111,115,61,37,108,108,105,44,32,101,110,100,95,104,101,97,100,101,114,61,37,108,108,105,44,32,101,110,100,95,112,111,115,61,37,108,108,105,46,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,73,109,97,103,101,32,105,110,102,111,32,123,10,0,37,115,32,120,48,61,37,100,44,32,121,48,61,37,100,10,0,37,115,32,120,49,61,37,100,44,32,121,49,61,37,100,10,0,37,115,32,110,117,109,99,111,109,112,115,61,37,100,10,0,37,115,9,32,99,111,109,112,111,110,101,110,116,32,37,100,32,123,10,0,37,115,125,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,99,111,109,112,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,37,115,32,100,120,61,37,100,44,32,100,121,61,37,100,10,0,37,115,32,112,114,101,99,61,37,100,10,0,37,115,32,115,103,110,100,61,37,100,10,0,87,101,32,110,101,101,100,32,97,110,32,105,109,97,103,101,32,112,114,101,118,105,111,117,115,108,121,32,99,114,101,97,116,101,100,46,10,0,84,105,108,101,32,105,110,100,101,120,32,112,114,111,118,105,100,101,100,32,98,121,32,116,104,101,32,117,115,101,114,32,105,115,32,105,110,99,111,114,114,101,99,116,32,37,100,32,40,109,97,120,32,61,32,37,100,41,32,10,0,82,101,115,111,108,117,116,105,111,110,32,102,97,99,116,111,114,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,109,97,120,105,109,117,109,32,114,101,115,111,108,117,116,105,111,110,32,105,110,32,116,104,101,32,99,111,109,112,111,110,101,110,116,46,10,0,84,104,101,32,103,105,118,101,110,32,116,105,108,101,32,105,110,100,101,120,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,46,0,116,105,108,101,32,110,117,109,98,101,114,32,37,100,32,47,32,37,100,10,0,69,114,114,111,114,32,97,108,108,111,99,97,116,105,110,103,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,100,97,116,97,46,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,101,110,99,111,100,101,32,97,108,108,32,116,105,108,101,115,10,0,83,105,122,101,32,109,105,115,109,97,116,99,104,32,98,101,116,119,101,101,110,32,116,105,108,101,32,100,97,116,97,32,97,110,100,32,115,101,110,116,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,105,109,97,103,101,32,104,101,97,100,101,114,46,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,114,101,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,111,115,116,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,105,108,101,32,67,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,66,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,84,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,79,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,116,104,101,32,67,79,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,80,79,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,84,76,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,81,99,100,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,104,101,32,83,73,90,32,109,97,114,107,101,114,10,0,78,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,105,115,32,116,111,111,32,104,105,103,104,32,105,110,32,99,111,109,112,97,114,105,115,111,110,32,116,111,32,116,104,101,32,115,105,122,101,32,111,102,32,116,105,108,101,115,10,0,67,97,110,110,111,116,32,101,110,99,111,100,101,32,116,105,108,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,111,110,101,32,116,105,108,101,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,101,101,107,32,102,117,110,99,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,84,105,108,101,32,37,100,47,37,100,32,104,97,115,32,98,101,101,110,32,100,101,99,111,100,101,100,46,10,0,73,109,97,103,101,32,100,97,116,97,32,104,97,115,32,98,101,101,110,32,117,112,100,97,116,101,100,32,119,105,116,104,32,116,105,108,101,32,37,100,46,10,10,0,84,105,108,101,32,114,101,97,100,44,32,100,101,99,111,100,101,100,32,97,110,100,32,117,112,100,97,116,101,100,32,105,115,32,110,111,116,32,116,104,101,32,100,101,115,105,114,101,100,32,111,110,101,32,40,37,100,32,118,115,32,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,115,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,9,32,100,101,102,97,117,108,116,32,116,105,108,101,32,123,10,0,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,32,112,114,103,61,37,35,120,10,0,9,9,32,110,117,109,108,97,121,101,114,115,61,37,100,10,0,9,9,32,109,99,116,61,37,120,10,0,9,9,32,99,111,109,112,32,37,100,32,123,10,0,9,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,9,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,61,37,100,10,0,9,9,9,32,99,98,108,107,119,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,104,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,115,116,121,61,37,35,120,10,0,9,9,9,32,113,109,102,98,105,100,61,37,100,10,0,9,9,9,32,112,114,101,99,99,105,110,116,115,105,122,101,32,40,119,44,104,41,61,0,40,37,100,44,37,100,41,32,0,9,9,9,32,113,110,116,115,116,121,61,37,100,10,0,9,9,9,32,110,117,109,103,98,105,116,115,61,37,100,10,0,9,9,9,32,115,116,101,112,115,105,122,101,115,32,40,109,44,101,41,61,0,9,9,9,32,114,111,105,115,104,105,102,116,61,37,100,10,0,9,9,32,125,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,79,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,115,116,97,103,101,115,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,100,97,116,97,32,115,112,97,110,110,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,99,111,108,108,101,99,116,105,111,110,115,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,111,116,104,101,114,32,116,104,97,110,32,97,114,114,97,121,32,100,101,99,111,114,114,101,108,97,116,105,111,110,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,32,105,110,100,105,120,32,115,104,117,102,102,108,101,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,111,117,116,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,105,110,100,105,120,101,115,10,0,67,114,114,111,114,32,114,101,97,100,105,110,103,32,67,66,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,99,116,32,100,97,116,97,32,119,105,116,104,105,110,32,109,117,108,116,105,112,108,101,32,77,67,84,32,114,101,99,111,114,100,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,77,67,84,32,109,97,114,107,101,114,115,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,82,71,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,58,32,112,97,99,107,101,116,32,104,101,97,100,101,114,32,104,97,118,101,32,98,101,101,110,32,112,114,101,118,105,111,117,115,108,121,32,102,111,117,110,100,32,105,110,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,40,80,80,77,32,109,97,114,107,101,114,41,46,10,0,90,112,112,116,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,77,32,109,97,114,107,101,114,10,0,90,112,112,109,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,84,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,105,108,108,101,103,97,108,32,45,62,32,37,100,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,110,117,109,98,101,114,32,111,102,32,112,97,114,97,109,101,116,101,114,115,32,40,32,37,100,32,118,115,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,101,103,97,116,105,118,101,32,111,114,32,122,101,114,111,32,105,109,97,103,101,32,115,105,122,101,32,40,37,100,32,120,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,110,118,97,108,105,100,32,116,105,108,101,32,115,105,122,101,32,40,116,100,120,58,32,37,100,44,32,116,100,121,58,32,37,100,41,10,0,80,114,101,118,101,110,116,32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119,32,40,120,49,58,32,37,100,44,32,121,49,58,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,108,108,101,103,97,108,32,116,105,108,101,32,111,102,102,115,101,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,83,73,90,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32,99,111,109,112,32,61,32,37,100,32,58,32,100,120,61,37,117,32,100,121,61,37,117,10,32,40,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,50,53,53,32,97,99,99,111,114,100,105,110,103,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,41,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,115,32,58,32,37,117,32,120,32,37,117,32,40,109,97,120,105,109,117,109,32,102,105,120,101,100,32,98,121,32,106,112,101,103,50,48,48,48,32,110,111,114,109,32,105,115,32,54,53,53,51,53,32,116,105,108,101,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,79,67,32,109,97,114,107,101,114,10,0,84,111,111,32,109,97,110,121,32,80,79,67,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,67,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,58,32,37,100,44,32,114,101,103,97,114,100,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,81,99,100,32,111,114,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,87,104,105,108,101,32,114,101,97,100,105,110,103,32,67,67,80,95,81,78,84,83,84,89,32,101,108,101,109,101,110,116,32,105,110,115,105,100,101,32,81,67,68,32,111,114,32,81,67,67,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,44,32,110,117,109,98,101,114,32,111,102,32,115,117,98,98,97,110,100,115,32,40,37,100,41,32,105,115,32,103,114,101,97,116,101,114,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,46,32,83,111,32,119,101,32,108,105,109,105,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,115,116,111,114,101,100,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,32,97,110,100,32,115,107,105,112,32,116,104,101,32,114,101,115,116,46,32,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,82,71,78,32,109,97,114,107,101,114,10,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,32,105,110,32,82,71,78,32,40,37,100,32,119,104,101,110,32,116,104,101,114,101,32,97,114,101,32,111,110,108,121,32,37,100,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,32,40,98,97,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,102,111,114,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,44,32,109,97,120,32,118,97,108,117,101,32,105,115,32,115,101,116,32,105,110,32,111,112,101,110,106,112,101,103,46,104,32,97,116,32,37,100,10,0,69,114,114,111,114,32,100,101,99,111,100,105,110,103,32,99,111,109,112,111,110,101,110,116,32,37,100,46,10,84,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,116,111,32,114,101,109,111,118,101,32,105,115,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,111,102,32,116,104,105,115,32,99,111,109,112,111,110,101,110,116,10,77,111,100,105,102,121,32,116,104,101,32,99,112,95,114,101,100,117,99,101,32,112,97,114,97,109,101,116,101,114,46,10,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,44,32,73,110,118,97,108,105,100,32,99,98,108,107,119,47,99,98,108,107,104,32,99,111,109,98,105,110,97,116,105,111,110,10,0,73,110,118,97,108,105,100,32,112,114,101,99,105,110,99,116,32,115,105,122,101,10,0,67,79,68,32,109,97,114,107,101,114,32,97,108,114,101,97,100,121,32,114,101,97,100,46,32,78,111,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,67,79,68,32,109,97,114,107,101,114,32,112,101,114,32,116,105,108,101,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,83,99,111,100,32,118,97,108,117,101,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,112,114,111,103,114,101,115,115,105,111,110,32,111,114,100,101,114,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,105,110,32,67,79,68,32,109,97,114,107,101,114,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,45,54,53,53,51,53,93,10,0,73,110,118,97,108,105,100,32,116,105,108,101,32,110,117,109,98,101,114,32,37,100,10,0,69,109,112,116,121,32,83,79,84,32,109,97,114,107,101,114,32,100,101,116,101,99,116,101,100,58,32,80,115,111,116,61,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,105,115,32,110,111,116,32,99,111,114,114,101,99,116,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,58,32,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,108,101,45,112,97,114,116,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,44,32,119,101,32,97,115,115,117,109,105,110,103,32,105,116,32,105,115,32,116,104,101,32,108,97,115,116,32,116,105,108,101,45,112,97,114,116,32,111,102,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,46,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,104,101,97,100,101,114,41,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,83,79,84,32,109,97,114,107,101,114,46,32,84,105,108,101,32,105,110,100,101,120,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,10,0,83,116,97,114,116,32,116,111,32,114,101,97,100,32,106,50,107,32,109,97,105,110,32,104,101,97,100,101,114,32,40,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,109,104,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,97,32,83,79,67,32,109,97,114,107,101,114,32,10,0,65,32,109,97,114,107,101,114,32,73,68,32,119,97,115,32,101,120,112,101,99,116,101,100,32,40,48,120,102,102,45,45,41,32,105,110,115,116,101,97,100,32,111,102,32,37,46,56,120,10,0,85,110,107,110,111,119,110,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,32,109,97,114,107,101,114,32,104,97,118,101,32,98,101,101,110,32,100,101,116,101,99,116,101,100,32,97,110,100,32,103,101,110,101,114,97,116,101,100,32,101,114,114,111,114,46,10,0,77,97,114,107,101,114,32,104,97,110,100,108,101,114,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,10,0,114,101,113,117,105,114,101,100,32,83,73,90,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,67,79,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,81,67,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,98,121,116,101,115,32,116,111,32,114,101,97,100,32,78,112,112,109,10,0,67,111,114,114,117,112,116,101,100,32,80,80,77,32,109,97,114,107,101,114,115,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,77,32,100,97,116,97,10,0,77,97,105,110,32,104,101,97,100,101,114,32,104,97,115,32,98,101,101,110,32,99,111,114,114,101,99,116,108,121,32,100,101,99,111,100,101,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,105,110,32,116,104,101,32,74,80,50,32,102,105,108,101,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,119,104,105,108,101,32,115,101,116,116,105,110,103,32,117,112,32,74,80,50,32,101,110,99,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,104,101,110,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,117,110,107,110,111,119,110,32,101,110,117,109,99,115,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,110,111,116,32,101,110,111,117,103,104,32,105,109,97,103,101,32,99,111,109,112,111,110,101,110,116,115,32,102,111,114,32,97,110,32,97,117,116,111,109,97,116,105,99,32,99,100,101,102,32,98,111,120,32,99,114,101,97,116,105,111,110,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,112,111,115,105,116,105,111,110,32,99,111,110,102,108,105,99,116,115,32,119,105,116,104,32,99,111,108,111,114,32,99,104,97,110,110,101,108,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,77,117,108,116,105,112,108,101,32,97,108,112,104,97,32,99,104,97,110,110,101,108,115,32,115,112,101,99,105,102,105,101,100,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,74,80,50,32,98,111,120,32,119,104,105,99,104,32,97,114,101,32,97,102,116,101,114,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,110,111,116,32,98,101,32,114,101,97,100,32,98,121,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,111,108,100,32,74,80,50,32,72,101,97,100,101,114,32,100,97,116,97,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,102,116,121,112,32,100,97,116,97,10,0,69,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,102,116,121,112,32,100,97,116,97,32,116,111,32,115,116,114,101,97,109,10,0,70,97,105,108,101,100,32,116,111,32,115,101,101,107,32,105,110,32,116,104,101,32,115,116,114,101,97,109,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,102,105,108,101,32,104,101,97,100,101,114,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,115,105,122,101,115,32,104,105,103,104,101,114,32,116,104,97,110,32,50,94,51,50,10,0,98,97,100,32,112,108,97,99,101,100,32,106,112,101,103,32,99,111,100,101,115,116,114,101,97,109,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,117,110,100,101,102,105,110,101,100,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,40,37,120,41,10,0,70,111,117,110,100,32,97,32,109,105,115,112,108,97,99,101,100,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,111,117,116,115,105,100,101,32,106,112,50,104,32,98,111,120,10,0,74,80,69,71,50,48,48,48,32,72,101,97,100,101,114,32,98,111,120,32,110,111,116,32,114,101,97,100,32,121,101,116,44,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,107,105,112,112,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,73,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,102,111,114,32,98,111,120,32,39,37,99,37,99,37,99,37,99,39,46,32,78,101,101,100,32,37,100,32,98,121,116,101,115,44,32,37,100,32,98,121,116,101,115,32,114,101,109,97,105,110,105,110,103,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,98,111,120,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,114,101,97,100,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,102,105,114,115,116,32,98,111,120,32,109,117,115,116,32,98,101,32,74,80,69,71,32,50,48,48,48,32,115,105,103,110,97,116,117,114,101,32,98,111,120,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,115,101,99,111,110,100,32,98,111,120,32,109,117,115,116,32,98,101,32,102,105,108,101,32,116,121,112,101,32,98,111,120,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,68,69,70,32,98,111,120,46,10,0,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,32,100,101,115,99,114,105,112,116,105,111,110,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,32,105,110,32,67,68,69,70,32,98,111,120,46,10,0,78,101,101,100,32,116,111,32,114,101,97,100,32,97,32,80,67,76,82,32,98,111,120,32,98,101,102,111,114,101,32,116,104,101,32,67,77,65,80,32,98,111,120,46,10,0,79,110,108,121,32,111,110,101,32,67,77,65,80,32,98,111,120,32,105,115,32,97,108,108,111,119,101,100,46,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,77,65,80,32,98,111,120,46,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,37,100,32,101,110,116,114,105,101,115,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,48,32,112,97,108,101,116,116,101,32,99,111,108,117,109,110,115,10,0,65,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,108,116,104,111,117,103,104,32,66,80,67,32,103,105,118,101,110,32,98,121,32,116,104,101,32,73,72,68,82,32,98,111,120,32,40,37,100,41,32,105,110,100,105,99,97,116,101,32,99,111,109,112,111,110,101,110,116,115,32,98,105,116,32,100,101,112,116,104,32,105,115,32,99,111,110,115,116,97,110,116,10,0,66,97,100,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,65,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,114,101,97,100,101,114,32,115,104,97,108,108,32,105,103,110,111,114,101,32,97,108,108,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,101,115,32,97,102,116,101,114,32,116,104,101,32,102,105,114,115,116,44,32,115,111,32,119,101,32,105,103,110,111,114,101,32,116,104,105,115,32,111,110,101,46,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,67,73,69,76,97,98,44,32,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,67,79,76,82,32,66,79,88,32,109,101,116,104,32,118,97,108,117,101,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,118,97,108,117,101,32,40,37,100,41,44,32,115,111,32,119,101,32,119,105,108,108,32,105,103,110,111,114,101,32,116,104,101,32,101,110,116,105,114,101,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,46,32,10,0,66,97,100,32,105,109,97,103,101,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,105,109,97,103,101,32,104,101,97,100,101,114,32,40,105,104,100,114,41,10,0,74,80,50,32,73,72,68,82,32,98,111,120,58,32,99,111,109,112,114,101,115,115,105,111,110,32,116,121,112,101,32,105,110,100,105,99,97,116,101,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,97,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,102,105,108,101,32,40,37,100,41,32,10,0,84,104,101,32,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,56,32,98,121,116,101,115,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,88,76,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,49,54,32,98,121,116,101,115,10,0,66,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,98,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,110,111,32,39,105,104,100,114,39,32,98,111,120,46,10,0,84,104,101,32,102,116,121,112,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,115,101,99,111,110,100,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,70,84,89,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,105,116,104,32,70,84,89,80,32,66,111,120,10,0,84,104,101,32,115,105,103,110,97,116,117,114,101,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,83,105,103,110,97,116,117,114,101,32,58,32,98,97,100,32,109,97,103,105,99,32,110,117,109,98,101,114,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,97,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,105,110,100,101,120,32,37,100,32,40,62,61,32,37,100,41,46,10,0,73,110,99,111,109,112,108,101,116,101,32,99,104,97,110,110,101,108,32,100,101,102,105,110,105,116,105,111,110,115,46,10,0,85,110,101,120,112,101,99,116,101,100,32,79,79,77,46,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,47,112,97,108,101,116,116,101,32,105,110,100,101,120,32,102,111,114,32,100,105,114,101,99,116,32,109,97,112,112,105,110,103,32,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,105,115,32,109,97,112,112,101,100,32,116,119,105,99,101,46,10,0,68,105,114,101,99,116,32,117,115,101,32,97,116,32,35,37,100,32,104,111,119,101,118,101,114,32,112,99,111,108,61,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,100,111,101,115,110,39,116,32,104,97,118,101,32,97,32,109,97,112,112,105,110,103,46,10,0,67,111,109,112,111,110,101,110,116,32,109,97,112,112,105,110,103,32,115,101,101,109,115,32,119,114,111,110,103,46,32,84,114,121,105,110,103,32,116,111,32,99,111,114,114,101,99,116,46,10,0,84,105,108,101,115,32,100,111,110,39,116,32,97,108,108,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,100,105,109,101,110,115,105,111,110,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,40,37,100,41,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,97,32,77,67,84,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,116,105,108,101,115,32,114,101,113,117,105,114,101,32,97,116,32,108,101,97,115,116,32,111,110,101,32,114,101,115,111,108,117,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,114,101,115,111,108,117,116,105,111,110,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,98,97,110,100,32,112,114,101,99,105,110,116,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,117,114,114,101,110,116,32,112,114,101,99,105,110,99,116,32,99,111,100,101,98,108,111,99,107,32,101,108,101,109,101,110,116,10,0,78,111,32,105,110,99,108,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,32,105,109,115,98,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,10,0,116,103,116,95,99,114,101,97,116,101,32,116,114,101,101,45,62,110,117,109,110,111,100,101,115,32,61,61,32,48,44,32,110,111,32,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,32,110,111,100,101,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,116,97,103,32,116,114,101,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,97,32,110,101,119,32,118,97,108,105,100,97,116,105,111,110,32,112,114,111,99,101,100,117,114,101,10,0,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,3,3,6,3,6,6,8,3,6,6,8,6,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,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,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,1,1,0,0,1,1,1,0,0,1,0,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,99,117,114,114,101,110,116,32,115,105,122,101,32,40,37,100,32,62,32,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,115,107,105,112,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+25118);var tempDoublePtr=Runtime.alignMemory(allocate(12,\"i8\",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}Module[\"_i64Subtract\"]=_i64Subtract;var _floorf=Math_floor;Module[\"_bitshift64Ashr\"]=_bitshift64Ashr;var _SItoF=true;Module[\"_memset\"]=_memset;var _BDtoILow=true;var _ceilf=Math_ceil;Module[\"_bitshift64Shl\"]=_bitshift64Shl;function _abort(){Module[\"abort\"]()}function ___lock(){}function ___unlock(){}Module[\"_i64Add\"]=_i64Add;var _floor=Math_floor;var _sqrt=Math_sqrt;var PATH=undefined;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method=\"timeout\"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method=\"rAF\"}else if(mode==2){if(!window[\"setImmediate\"]){var setImmediates=[];var emscriptenMainLoopMessageId=\"__emcc\";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener(\"message\",Browser_setImmediate_messageHandler,true);window[\"setImmediate\"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,\"*\")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window[\"setImmediate\"](Browser.mainLoop.runner)};Browser.mainLoop.method=\"immediate\"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module[\"noExitRuntime\"]=true;assert(!Browser.mainLoop.func,\"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.\");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker \"'+blocker.name+'\" took '+(Date.now()-start)+\" ms\");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method===\"timeout\"&&Module.ctx){Module.printErr(\"Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!\");Browser.mainLoop.method=\"\"}Browser.mainLoop.runIter((function(){if(typeof arg!==\"undefined\"){Runtime.dynCall(\"vi\",func,[arg])}else{Runtime.dynCall(\"v\",func)}}));if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw\"SimulateInfiniteLoop\"}}var Browser={mainLoop:{scheduler:null,method:\"\",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module[\"setStatus\"]){var message=Module[\"statusMessage\"]||\"Please wait...\";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src=\"data:audio/x-\"+name.substr(-3)+\";base64,\"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module[\"preloadPlugins\"].push(audioPlugin);var canvas=Module[\"canvas\"];function pointerLockChange(){Browser.pointerLock=document[\"pointerLockElement\"]===canvas||document[\"mozPointerLockElement\"]===canvas||document[\"webkitPointerLockElement\"]===canvas||document[\"msPointerLockElement\"]===canvas}if(canvas){canvas.requestPointerLock=canvas[\"requestPointerLock\"]||canvas[\"mozRequestPointerLock\"]||canvas[\"webkitRequestPointerLock\"]||canvas[\"msRequestPointerLock\"]||(function(){});canvas.exitPointerLock=document[\"exitPointerLock\"]||document[\"mozExitPointerLock\"]||document[\"webkitExitPointerLock\"]||document[\"msExitPointerLock\"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener(\"pointerlockchange\",pointerLockChange,false);document.addEventListener(\"mozpointerlockchange\",pointerLockChange,false);document.addEventListener(\"webkitpointerlockchange\",pointerLockChange,false);document.addEventListener(\"mspointerlockchange\",pointerLockChange,false);if(Module[\"elementPointerLock\"]){canvas.addEventListener(\"click\",(function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor=\"black\"}else{ctx=canvas.getContext(\"2d\")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx===\"undefined\",\"cannot set in module if GLctx is used, but we are a non-GL context that would replace it\");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer===\"undefined\")Browser.lockPointer=true;if(typeof Browser.resizeCanvas===\"undefined\")Browser.resizeCanvas=false;if(typeof Browser.vrDevice===\"undefined\")Browser.vrDevice=null;var canvas=Module[\"canvas\"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document[\"webkitFullScreenElement\"]||document[\"webkitFullscreenElement\"]||document[\"mozFullScreenElement\"]||document[\"mozFullscreenElement\"]||document[\"fullScreenElement\"]||document[\"fullscreenElement\"]||document[\"msFullScreenElement\"]||document[\"msFullscreenElement\"]||document[\"webkitCurrentFullScreenElement\"])===canvasContainer){canvas.cancelFullScreen=document[\"cancelFullScreen\"]||document[\"mozCancelFullScreen\"]||document[\"webkitCancelFullScreen\"]||document[\"msExitFullscreen\"]||document[\"exitFullscreen\"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module[\"onFullScreen\"])Module[\"onFullScreen\"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener(\"fullscreenchange\",fullScreenChange,false);document.addEventListener(\"mozfullscreenchange\",fullScreenChange,false);document.addEventListener(\"webkitfullscreenchange\",fullScreenChange,false);document.addEventListener(\"MSFullscreenChange\",fullScreenChange,false)}var canvasContainer=document.createElement(\"div\");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer[\"requestFullScreen\"]||canvasContainer[\"mozRequestFullScreen\"]||canvasContainer[\"msRequestFullscreen\"]||(canvasContainer[\"webkitRequestFullScreen\"]?(function(){canvasContainer[\"webkitRequestFullScreen\"](Element[\"ALLOW_KEYBOARD_INPUT\"])}):null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window===\"undefined\"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window[\"requestAnimationFrame\"]||window[\"mozRequestAnimationFrame\"]||window[\"webkitRequestAnimationFrame\"]||window[\"msRequestAnimationFrame\"]||window[\"oRequestAnimationFrame\"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module[\"noExitRuntime\"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module[\"noExitRuntime\"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{\"jpg\":\"image/jpeg\",\"jpeg\":\"image/jpeg\",\"png\":\"image/png\",\"bmp\":\"image/bmp\",\"ogg\":\"audio/ogg\",\"wav\":\"audio/wav\",\"mp3\":\"audio/mpeg\"}[name.substr(name.lastIndexOf(\".\")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator[\"getUserMedia\"]||navigator[\"mozGetUserMedia\"]}window.getUserMedia(func)}),getMovementX:(function(event){return event[\"movementX\"]||event[\"mozMovementX\"]||event[\"webkitMovementX\"]||0}),getMovementY:(function(event){return event[\"movementY\"]||event[\"mozMovementY\"]||event[\"webkitMovementY\"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case\"DOMMouseScroll\":delta=event.detail;break;case\"mousewheel\":delta=event.wheelDelta;break;case\"wheel\":delta=event[\"deltaY\"];break;default:throw\"unrecognized mouse wheel event: \"+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!=\"mousemove\"&&\"mozMovementX\"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!=\"undefined\"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module[\"canvas\"].getBoundingClientRect();var cw=Module[\"canvas\"].width;var ch=Module[\"canvas\"].height;var scrollX=typeof window.scrollX!==\"undefined\"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!==\"undefined\"?window.scrollY:window.pageYOffset;if(event.type===\"touchstart\"||event.type===\"touchend\"||event.type===\"touchmove\"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type===\"touchstart\"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type===\"touchend\"||event.type===\"touchmove\"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),xhrLoad:(function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)}),asyncLoad:(function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file \"'+url+'\" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency(\"al \"+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file \"'+url+'\" failed.'}}));if(!noRunDep)addRunDependency(\"al \"+url)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module[\"canvas\"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module[\"canvas\"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:(function(){if(typeof SDL!=\"undefined\"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!=\"undefined\"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module[\"forcedAspectRatio\"]&&Module[\"forcedAspectRatio\"]>0){if(w/h>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___setErrNo(value){if(Module[\"___errno_location\"])HEAP32[Module[\"___errno_location\"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator===\"object\")return navigator[\"hardwareConcurrency\"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}Module[\"_bitshift64Lshr\"]=_bitshift64Lshr;var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall(\"vi\",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,\"cannot pop if something else added meanwhile!\");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module[\"_memcpy\"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _llvm_pow_f64=Math_pow;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort(\"cannot dynamically allocate, sbrk now has control\")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}var _BItoD=true;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer)___syscall146.buffer=[];var buffer=___syscall146.buffer;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module[\"requestFullScreen\"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module[\"requestAnimationFrame\"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module[\"setCanvasSize\"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module[\"pauseMainLoop\"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module[\"resumeMainLoop\"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module[\"getUserMedia\"]=function Module_getUserMedia(){Browser.getUserMedia()};Module[\"createContext\"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE>2]=d;if((c[a+8>>2]|0)==16)k=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else k=c[a+12>>2]|0;g=(c[a+80>>2]|0)+16|0;h=(c[g>>2]|0)>>>0<257?1:2;j=h+1|0;if(j>>>0>d>>>0){Ub(e,1,14585,m)|0;e=0;i=m;return e|0}c[f>>2]=d-j;qb(b,l,h);d=c[l>>2]|0;if(d>>>0>=(c[g>>2]|0)>>>0){Ub(e,1,14611,m+8|0)|0;e=0;i=m;return e|0}qb(b+h|0,(c[k+5584>>2]|0)+(d*1080|0)|0,1);if(!(Fe(a,c[l>>2]|0,b+j|0,f,e)|0)){Ub(e,1,14585,m+16|0)|0;e=0;i=m;return e|0}if(!(c[f>>2]|0)){e=1;i=m;return e|0}Ub(e,1,14585,m+24|0)|0;e=0;i=m;return e|0}function ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+8|0;f=k+20|0;h=c[(c[a+80>>2]|0)+16>>2]|0;g=h>>>0<257?1:2;if((g+2|0)!=(d|0)){Ub(e,1,14502,k)|0;j=0;i=k;return j|0}if((c[a+8>>2]|0)==16)a=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else a=c[a+12>>2]|0;qb(b,f,g);qb(b+g|0,k+16|0,1);d=c[f>>2]|0;if(d>>>0>>0){qb(b+(g+1)|0,(c[a+5584>>2]|0)+(d*1080|0)+808|0,1);j=1;i=k;return j|0}else{c[j>>2]=d;c[j+4>>2]=h;Ub(e,1,14528,j)|0;j=0;i=k;return j|0}return 0}function he(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+12|0;c[f>>2]=d;if(!(Ee(a,0,b,f,e)|0)){Ub(e,1,14476,h)|0;g=0;i=h;return g|0}if(c[f>>2]|0){Ub(e,1,14476,h+8|0)|0;g=0;i=h;return g|0}if((c[a+8>>2]|0)==16)f=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else f=c[a+12>>2]|0;f=c[f+5584>>2]|0;d=a+80|0;if((c[(c[d>>2]|0)+16>>2]|0)>>>0<=1){g=1;i=h;return g|0}e=f+24|0;a=f+804|0;g=f+28|0;b=1;while(1){c[f+1104>>2]=c[e>>2];c[f+1884>>2]=c[a>>2];Ui(f+1108|0,g|0,776)|0;b=b+1|0;if(b>>>0>=(c[(c[d>>2]|0)+16>>2]|0)>>>0){f=1;break}else f=f+1080|0}i=h;return f|0}function ie(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+32|0;m=o+24|0;l=o+16|0;g=o+8|0;f=o;k=o+40|0;h=o+36|0;c[k>>2]=d;j=a+80|0;do if((c[(c[j>>2]|0)+16>>2]|0)>>>0<257){if(d){qb(b,h,1);g=b+1|0;b=d+-1|0;break}Ub(e,1,14129,f)|0;n=0;i=o;return n|0}else{if(d>>>0>=2){qb(b,h,2);g=b+2|0;b=d+-2|0;break}Ub(e,1,14129,g)|0;n=0;i=o;return n|0}while(0);c[k>>2]=b;f=c[h>>2]|0;b=c[(c[j>>2]|0)+16>>2]|0;if(f>>>0>=b>>>0){c[l>>2]=f;c[l+4>>2]=b;Ub(e,1,14155,l)|0;n=0;i=o;return n|0}if(!(Ee(a,f,g,k,e)|0)){Ub(e,1,14129,m)|0;n=0;i=o;return n|0}if(!(c[k>>2]|0)){n=1;i=o;return n|0}Ub(e,1,14129,n)|0;n=0;i=o;return n|0}function je(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+16|0;h=t+8|0;s=t+12|0;r=c[(c[b+80>>2]|0)+16>>2]|0;q=r>>>0<257?1:2;p=(q<<1)+5|0;g=(e>>>0)/(p>>>0)|0;if((g|0)==0|((e>>>0)%(p>>>0)|0|0)!=0){Ub(f,1,14085,t)|0;s=0;i=t;return s|0}if((c[b+8>>2]|0)==16)p=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else p=c[b+12>>2]|0;e=p+5636|0;b=a[e>>0]|0;if(!(b&4))o=0;else o=(c[p+420>>2]|0)+1|0;n=o+g|0;if(n>>>0>31){c[h>>2]=n;Ub(f,1,14111,h)|0;s=0;i=t;return s|0}a[e>>0]=b|4;if(o>>>0>>0){f=q+1|0;m=p+8|0;h=q+3|0;j=q|4;k=j+q|0;l=k+1|0;b=d;g=o;e=p+424+(o*148|0)|0;while(1){qb(b,e,1);qb(b+1|0,e+4|0,q);d=e+8|0;qb(b+f|0,d,2);u=c[d>>2]|0;o=c[m>>2]|0;c[d>>2]=u>>>0>>0?u:o;qb(b+h|0,e+12|0,1);d=e+16|0;qb(b+j|0,d,q);qb(b+k|0,s,1);c[e+36>>2]=c[s>>2];o=c[d>>2]|0;c[d>>2]=o>>>0>>0?o:r;g=g+1|0;if(g>>>0>=n>>>0)break;else{b=b+l|0;e=e+148|0}}}c[p+420>>2]=n+-1;u=1;i=t;return u|0}function ke(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+144|0;L=M+128|0;H=M+120|0;G=M+112|0;F=M+104|0;E=M+96|0;D=M+88|0;A=M+72|0;t=M+64|0;r=M+56|0;q=M+48|0;p=M+40|0;s=M+32|0;l=M+24|0;j=M+16|0;h=M+136|0;w=M+132|0;J=c[d+80>>2]|0;K=d+88|0;if(f>>>0<36){Ub(g,1,13440,M)|0;g=0;i=M;return g|0}I=f+-36|0;o=(I>>>0)/3|0;if((I>>>0)%3|0){Ub(g,1,13440,M+8|0)|0;g=0;i=M;return g|0}qb(e,h,2);b[K>>1]=c[h>>2];x=J+8|0;qb(e+2|0,x,4);B=J+12|0;qb(e+6|0,B,4);qb(e+10|0,J,4);n=J+4|0;qb(e+14|0,n,4);v=d+100|0;qb(e+18|0,v,4);z=d+104|0;qb(e+22|0,z,4);u=d+92|0;qb(e+26|0,u,4);y=d+96|0;qb(e+30|0,y,4);qb(e+34|0,h,2);k=e+36|0;f=c[h>>2]|0;if(f>>>0>=16385){c[j>>2]=f;Ub(g,1,13468,j)|0;g=0;i=M;return g|0}f=f&65535;I=J+16|0;c[I>>2]=f;if((f|0)!=(o|0)){c[l>>2]=f;c[l+4>>2]=o;Ub(g,1,13529,l)|0;g=0;i=M;return g|0}l=c[J>>2]|0;m=c[x>>2]|0;if(m>>>0>l>>>0){f=c[n>>2]|0;e=c[B>>2]|0;if(f>>>0>>0){h=c[v>>2]|0;j=c[z>>2]|0;if(!(_(j,h)|0)){c[p>>2]=h;c[p+4>>2]=j;Ub(g,1,13705,p)|0;g=0;i=M;return g|0}s=Zi(e|0,0,m|0,0)|0;if(!((s|0)==(_(e,m)|0)&(C|0)==0)){c[q>>2]=m;c[q+4>>2]=e;Ub(g,1,13766,q)|0;g=0;i=M;return g|0}m=c[u>>2]|0;p=Si(m|0,0,h|0,0)|0;q=C;n=c[y>>2]|0;s=Si(n|0,0,j|0,0)|0;if(m>>>0<=l>>>0?n>>>0<=f>>>0&(p|0-q)>>>0>l>>>0&(s|0-C)>>>0>f>>>0:0){e=Qc(o,52)|0;o=J+24|0;c[o>>2]=e;if(!e){c[I>>2]=0;Ub(g,1,13852,t)|0;g=0;i=M;return g|0}a:do if(c[I>>2]|0){l=d+168|0;f=0;j=e;while(1){qb(k,w,1);c[j+24>>2]=(c[w>>2]&127)+1;c[j+32>>2]=(c[w>>2]|0)>>>7;qb(k+1|0,w,1);c[j>>2]=c[w>>2];qb(k+2|0,w,1);h=c[w>>2]|0;c[j+4>>2]=h;e=c[j>>2]|0;if((h+-1|0)>>>0>254|(e+-1|0)>>>0>254)break;c[j+36>>2]=0;c[j+40>>2]=c[l>>2];f=f+1|0;if(f>>>0>=(c[I>>2]|0)>>>0)break a;else{k=k+3|0;j=j+52|0}}c[A>>2]=f;c[A+4>>2]=e;c[A+8>>2]=h;Ub(g,1,13900,A)|0;g=0;i=M;return g|0}while(0);m=c[u>>2]|0;l=c[v>>2]|0;k=((c[x>>2]|0)+-1-m+l|0)/(l|0)|0;c[d+112>>2]=k;j=c[y>>2]|0;h=c[z>>2]|0;e=((c[B>>2]|0)+-1-j+h|0)/(h|0)|0;c[d+116>>2]=e;if(!((e|0)==0|(k|0)==0)?k>>>0<=(65535/(e>>>0)|0)>>>0:0){n=_(k,e)|0;f=d+28|0;if(!(a[d+76>>0]&2)){c[f>>2]=0;c[d+32>>2]=0;c[d+36>>2]=k;c[d+40>>2]=e}else{c[f>>2]=(((c[f>>2]|0)-m|0)>>>0)/(l>>>0)|0;D=d+32|0;c[D>>2]=(((c[D>>2]|0)-j|0)>>>0)/(h>>>0)|0;D=d+36|0;c[D>>2]=((c[D>>2]|0)+-1-m+l|0)/(l|0)|0;D=d+40|0;c[D>>2]=((c[D>>2]|0)+-1-j+h|0)/(h|0)|0}D=Qc(n,5640)|0;k=d+164|0;c[k>>2]=D;if(!D){Ub(g,1,13852,E)|0;g=0;i=M;return g|0}E=Qc(c[I>>2]|0,1080)|0;e=d+12|0;c[(c[e>>2]|0)+5584>>2]=E;if(!E){Ub(g,1,13852,F)|0;g=0;i=M;return g|0}F=Qc(10,20)|0;f=c[e>>2]|0;c[f+5612>>2]=F;if(!F){Ub(g,1,13852,G)|0;g=0;i=M;return g|0}c[f+5620>>2]=10;G=Qc(10,20)|0;f=c[e>>2]|0;c[f+5624>>2]=G;if(!G){Ub(g,1,13852,H)|0;g=0;i=M;return g|0}c[f+5632>>2]=10;j=c[I>>2]|0;if(j){h=c[o>>2]|0;f=f+5584|0;e=0;do{if(!(c[h+(e*52|0)+32>>2]|0))c[(c[f>>2]|0)+(e*1080|0)+1076>>2]=1<<(c[h+(e*52|0)+24>>2]|0)+-1;e=e+1|0}while(e>>>0>>0)}b:do if(n){f=c[k>>2]|0;H=Qc(j,1080)|0;c[f+5584>>2]=H;if(H){e=0;while(1){e=e+1|0;if(e>>>0>=n>>>0)break b;H=Qc(c[I>>2]|0,1080)|0;c[f+11224>>2]=H;if(!H)break;else f=f+5640|0}}Ub(g,1,13852,L)|0;g=0;i=M;return g|0}while(0);c[d+8>>2]=4;_b(J,K);g=1;i=M;return g|0}c[D>>2]=k;c[D+4>>2]=e;Ub(g,1,14002,D)|0;g=0;i=M;return g|0}Ub(g,1,13808,r)|0;g=0;i=M;return g|0}}else{e=c[B>>2]|0;f=c[n>>2]|0}c[s>>2]=m-l;c[s+4>>2]=e-f;Ub(g,1,13643,s)|0;g=0;i=M;return g|0}function le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+32|0;a=f+12|0;if(d>>>0<2){Ub(e,1,13414,f)|0;e=0;i=f;return e|0}qb(b,f+16|0,1);qb(b+1|0,a,1);b=c[a>>2]|0;if(!(((d+-2|0)>>>0)%(((b>>>5&2)+2+(b>>>4&3)|0)>>>0)|0)){e=1;i=f;return e|0}Ub(e,1,13414,f+8|0)|0;e=0;i=f;return e|0}function me(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=i;i=i+16|0;if(!c){Ub(d,1,13388,a)|0;b=0}else b=1;i=a;return b|0}function ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+8|0;h=k+12|0;if(!d){Ub(e,1,13362,k)|0;e=0;i=k;return e|0}qb(b,k+16|0,1);f=d+-1|0;if(!f){e=1;i=k;return e|0}else{g=0;a=0}do{b=b+1|0;qb(b,h,1);d=c[h>>2]|0;if(!(d&128))a=0;else a=(d&127|a)<<7;g=g+1|0}while((g|0)!=(f|0));if(!a){e=1;i=k;return e|0}Ub(e,1,13362,j)|0;e=0;i=k;return e|0}function oe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;o=p+32|0;l=p+24|0;h=p+16|0;g=p+8|0;n=p+36|0;if(e>>>0<2){Ub(f,1,13276,p)|0;o=0;i=p;return o|0}m=b+184|0;a[m>>0]=a[m>>0]|1;qb(d,n,1);m=d+1|0;k=e+-1|0;j=b+124|0;e=c[j>>2]|0;do if(e){g=b+120|0;d=c[n>>2]|0;if((c[g>>2]|0)>>>0<=d>>>0){b=d+1|0;d=Tc(e,b<<3)|0;if(d){c[j>>2]=d;e=c[g>>2]|0;Qi(d+(e<<3)|0,0,b-e<<3|0)|0;c[g>>2]=b;e=c[j>>2]|0;break}Ub(f,1,13302,h)|0;o=0;i=p;return o|0}}else{d=(c[n>>2]|0)+1|0;e=Qc(d,8)|0;c[j>>2]=e;if(e){c[b+120>>2]=d;break}Ub(f,1,13302,g)|0;o=0;i=p;return o|0}while(0);d=c[n>>2]|0;if(c[e+(d<<3)>>2]|0){c[l>>2]=d;Ub(f,1,13340,l)|0;o=0;i=p;return o|0}l=Pc(k)|0;e=c[n>>2]|0;d=c[j>>2]|0;c[d+(e<<3)>>2]=l;if(!l){Ub(f,1,13302,o)|0;o=0;i=p;return o|0}else{c[d+(e<<3)+4>>2]=k;Ui(c[d+(c[n>>2]<<3)>>2]|0,m|0,k|0)|0;o=1;i=p;return o|0}return 0}function pe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+40|0;o=r+32|0;k=r+24|0;j=r+16|0;p=r+44|0;if(e>>>0<2){Ub(f,1,13127,r)|0;q=0;i=r;return q|0}if(a[b+184>>0]&1){Ub(f,1,13153,r+8|0)|0;q=0;i=r;return q|0}h=c[b+200>>2]|0;g=c[b+164>>2]|0;n=g+(h*5640|0)+5636|0;a[n>>0]=a[n>>0]|2;qb(d,p,1);n=d+1|0;m=e+-1|0;l=g+(h*5640|0)+5164|0;d=c[l>>2]|0;do if(d){g=g+(h*5640|0)+5160|0;b=c[p>>2]|0;if((c[g>>2]|0)>>>0<=b>>>0){e=b+1|0;b=Tc(d,e<<3)|0;if(b){c[l>>2]=b;d=c[g>>2]|0;Qi(b+(d<<3)|0,0,e-d<<3|0)|0;c[g>>2]=e;d=c[l>>2]|0;break}Ub(f,1,8775,k)|0;q=0;i=r;return q|0}}else{b=(c[p>>2]|0)+1|0;d=Qc(b,8)|0;c[l>>2]=d;if(d){c[g+(h*5640|0)+5160>>2]=b;break}Ub(f,1,8775,j)|0;q=0;i=r;return q|0}while(0);b=c[p>>2]|0;if(c[d+(b<<3)>>2]|0){c[o>>2]=b;Ub(f,1,13254,o)|0;q=0;i=r;return q|0}o=Pc(m)|0;d=c[p>>2]|0;b=c[l>>2]|0;c[b+(d<<3)>>2]=o;if(!o){Ub(f,1,8775,q)|0;q=0;i=r;return q|0}else{c[b+(d<<3)+4>>2]=m;Ui(c[b+(c[p>>2]<<3)>>2]|0,n|0,m|0)|0;q=1;i=r;return q|0}return 0}function qe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=i;i=i+16|0;if((c[(c[a+80>>2]|0)+16>>2]<<2|0)==(d|0)){e=1;i=b;return e|0}Ub(e,1,13101,b)|0;e=0;i=b;return e|0}function re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 1}function se(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;r=s+40|0;q=s+32|0;l=s+24|0;p=s+44|0;if((c[a+8>>2]|0)==16)j=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else j=c[a+12>>2]|0;if(d>>>0<2){Ub(e,1,12933,s)|0;r=0;i=s;return r|0}qb(b,p,2);if(c[p>>2]|0){Ub(e,2,12959,s+8|0)|0;r=1;i=s;return r|0}if(d>>>0<7){Ub(e,1,12933,s+16|0)|0;r=0;i=s;return r|0}qb(b+2|0,p,2);n=b+4|0;o=c[p>>2]&255;k=j+5612|0;f=c[k>>2]|0;m=j+5616|0;a=c[m>>2]|0;a:do if(!a){g=0;h=f}else{g=0;h=f;do{if((c[h+8>>2]|0)==(o|0))break a;h=h+20|0;g=g+1|0}while(g>>>0>>0)}while(0);if((g|0)==(a|0)){g=j+5620|0;do if((a|0)==(c[g>>2]|0)){a=a+10|0;c[g>>2]=a;a=Tc(f,a*20|0)|0;if(a){c[k>>2]=a;f=c[m>>2]|0;Qi(a+(f*20|0)|0,0,((c[g>>2]|0)-f|0)*20|0)|0;f=c[k>>2]|0;a=c[m>>2]|0;break}Uc(c[k>>2]|0);c[k>>2]=0;c[g>>2]=0;c[m>>2]=0;Ub(e,1,13019,l)|0;r=0;i=s;return r|0}while(0);c[m>>2]=a+1;h=f+(a*20|0)|0}g=h+12|0;a=c[g>>2]|0;if(a){Uc(a);c[g>>2]=0}c[h+8>>2]=o;o=c[p>>2]|0;c[h+4>>2]=o>>>8&3;c[h>>2]=o>>>10&3;qb(n,p,2);if(c[p>>2]|0){Ub(e,2,13057,q)|0;r=1;i=s;return r|0}a=d+-6|0;f=Pc(a)|0;c[g>>2]=f;if(!f){Ub(e,1,12933,r)|0;r=0;i=s;return r|0}else{Ui(f|0,b+6|0,a|0)|0;c[h+16>>2]=a;r=1;i=s;return r|0}return 0}function te(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;h=j+12|0;a=a+80|0;g=c[(c[a>>2]|0)+16>>2]|0;if((g+2|0)!=(d|0)){Ub(e,1,12907,j)|0;h=0;i=j;return h|0}qb(b,f,2);if((c[f>>2]|0)!=(g|0)){Ub(e,1,12907,j+8|0)|0;h=0;i=j;return h|0}if(!g){h=1;i=j;return h|0}f=b+2|0;b=0;a=c[(c[a>>2]|0)+24>>2]|0;while(1){qb(f,h,1);c[a+32>>2]=(c[h>>2]|0)>>>7&1;c[a+24>>2]=(c[h>>2]&127)+1;b=b+1|0;if((b|0)==(g|0)){a=1;break}else{f=f+1|0;a=a+52|0}}i=j;return a|0}function ue(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+144|0;I=J+120|0;H=J+112|0;G=J+104|0;F=J+96|0;E=J+88|0;D=J+80|0;C=J+72|0;B=J+64|0;A=J+56|0;z=J+48|0;p=J+40|0;o=J+32|0;m=J+24|0;x=J+136|0;u=J+132|0;v=J+128|0;w=J+124|0;if((c[b+8>>2]|0)==16)q=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else q=c[b+12>>2]|0;if(e>>>0<2){Ub(f,1,12567,J)|0;I=0;i=J;return I|0}qb(d,x,2);if(c[x>>2]|0){Ub(f,2,12593,J+8|0)|0;I=1;i=J;return I|0}if(e>>>0<7){Ub(f,1,12567,J+16|0)|0;I=0;i=J;return I|0}qb(d+2|0,u,1);n=d+3|0;l=q+5624|0;g=c[l>>2]|0;y=q+5628|0;b=c[y>>2]|0;a:do if(!b){j=0;h=g}else{k=c[u>>2]|0;j=0;h=g;do{if((c[h>>2]|0)==(k|0))break a;h=h+20|0;j=j+1|0}while(j>>>0>>0)}while(0);if((j|0)==(b|0)){h=q+5632|0;do if((b|0)==(c[h>>2]|0)){b=b+10|0;c[h>>2]=b;b=Tc(g,b*20|0)|0;if(b){c[l>>2]=b;g=c[y>>2]|0;Qi(b+(g*20|0)|0,0,((c[h>>2]|0)-g|0)*20|0)|0;g=c[l>>2]|0;b=c[y>>2]|0;break}Uc(c[l>>2]|0);c[l>>2]=0;c[h>>2]=0;c[y>>2]=0;Ub(f,1,12639,m)|0;I=0;i=J;return I|0}while(0);h=g+(b*20|0)|0}c[h>>2]=c[u>>2];qb(n,x,2);if(c[x>>2]|0){Ub(f,2,12593,o)|0;I=1;i=J;return I|0}qb(d+5|0,v,2);g=c[v>>2]|0;if(g>>>0>1){Ub(f,2,12677,p)|0;I=1;i=J;return I|0}b=e+-7|0;b:do if(g){r=h+4|0;s=h+16|0;t=h+8|0;e=h+12|0;p=q+5612|0;o=q+5616|0;m=d+7|0;n=0;c:while(1){if(b>>>0<3){g=27;break}qb(m,x,1);if((c[x>>2]|0)!=1){g=29;break}qb(m+1|0,w,2);g=b+-3|0;j=c[w>>2]|0;k=(j>>>15)+1|0;j=j&32767;c[r>>2]=j;h=(_(k,j)|0)+2|0;if(g>>>0>>0){g=31;break}b=m+3|0;l=g-h|0;if(j){g=0;do{qb(b,x,k);if((c[x>>2]|0)!=(g|0)){g=34;break c}b=b+k|0;g=g+1|0}while(g>>>0<(c[r>>2]|0)>>>0)}qb(b,w,2);g=b+2|0;h=c[w>>2]|0;j=(h>>>15)+1|0;h=h&32767;c[w>>2]=h;if((h|0)!=(c[r>>2]|0)){g=37;break}b=(_(j,h)|0)+3|0;if(l>>>0>>0){g=39;break}b=l-b|0;if(h){h=0;do{qb(g,x,j);if((c[x>>2]|0)!=(h|0)){g=42;break c}g=g+j|0;h=h+1|0}while(h>>>0<(c[r>>2]|0)>>>0)}qb(g,x,3);m=g+3|0;a[s>>0]=((c[x>>2]|0)>>>16^1)&1|a[s>>0]&-2;c[t>>2]=0;c[e>>2]=0;l=c[x>>2]|0;h=l&255;c[u>>2]=h;if(h){j=c[o>>2]|0;if(!j){g=50;break}k=0;g=c[p>>2]|0;while(1){if((c[g+8>>2]|0)==(h|0))break;k=k+1|0;if(k>>>0>=j>>>0){g=50;break c}else g=g+20|0}c[t>>2]=g}h=l>>>8&255;c[u>>2]=h;if(h){j=c[o>>2]|0;if(!j){g=57;break}k=0;g=c[p>>2]|0;while(1){if((c[g+8>>2]|0)==(h|0))break;k=k+1|0;if(k>>>0>=j>>>0){g=57;break c}else g=g+20|0}c[e>>2]=g}n=n+1|0;if(n>>>0>=(c[v>>2]|0)>>>0)break b}if((g|0)==27){Ub(f,1,12567,z)|0;I=0;i=J;return I|0}else if((g|0)==29){Ub(f,2,12721,A)|0;I=1;i=J;return I|0}else if((g|0)==31){Ub(f,1,12567,B)|0;I=0;i=J;return I|0}else if((g|0)==34){Ub(f,2,12787,C)|0;I=1;i=J;return I|0}else if((g|0)==37){Ub(f,2,12841,D)|0;I=1;i=J;return I|0}else if((g|0)==39){Ub(f,1,12567,E)|0;I=0;i=J;return I|0}else if((g|0)==42){Ub(f,2,12787,F)|0;I=1;i=J;return I|0}else if((g|0)==50){Ub(f,1,12567,G)|0;I=0;i=J;return I|0}else if((g|0)==57){Ub(f,1,12567,H)|0;I=0;i=J;return I|0}}while(0);if(!b){c[y>>2]=(c[y>>2]|0)+1;I=1;i=J;return I|0}else{Ub(f,1,12567,I)|0;I=0;i=J;return I|0}return 0}function ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;r=s+24|0;q=s+20|0;n=a+80|0;f=c[n>>2]|0;if((c[a+8>>2]|0)==16)g=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else g=c[a+12>>2]|0;if(!d){Ub(e,1,12486,s)|0;r=0;i=s;return r|0}qb(b,q,1);a=c[q>>2]|0;if(a>>>0>1){Ub(e,2,12512,s+8|0)|0;r=1;i=s;return r|0}if((a+1|0)!=(d|0)){Ub(e,2,12486,s+16|0)|0;r=0;i=s;return r|0}m=g+5584|0;a=c[f+16>>2]|0;if(a){d=0;e=c[m>>2]|0;while(1){c[e+1076>>2]=0;d=d+1|0;if(d>>>0>=a>>>0)break;else e=e+1080|0}}l=g+5604|0;a=c[l>>2]|0;if(a){Uc(a);c[l>>2]=0}if(!(c[q>>2]|0)){r=1;i=s;return r|0}k=g+5624|0;h=g+5628|0;j=0;while(1){b=b+1|0;qb(b,r,1);a=c[n>>2]|0;f=c[k>>2]|0;g=c[h>>2]|0;if(((g|0)!=0?!((g|0)==0?1:(c[f>>2]|0)!=(c[r>>2]|0)):0)?(o=c[f+4>>2]|0,p=a+16|0,(o|0)==(c[p>>2]|0)):0){a=c[f+8>>2]|0;if(a){d=_(o,o)|0;g=_(c[1036+(c[a>>2]<<2)>>2]|0,d)|0;if((c[a+16>>2]|0)!=(g|0)){a=0;d=32;break}e=Pc(d<<2)|0;c[l>>2]=e;if(!e){a=0;d=32;break}Xa[c[1052+(c[a>>2]<<2)>>2]&15](c[a+12>>2]|0,e,d)}a=c[f+12>>2]|0;if(a){d=c[p>>2]|0;g=_(d,c[1036+(c[a>>2]<<2)>>2]|0)|0;if((c[a+16>>2]|0)!=(g|0)){a=0;d=32;break}g=Pc(d<<2)|0;if(!g){a=0;d=32;break}Xa[c[1068+(c[a>>2]<<2)>>2]&15](c[a+12>>2]|0,g,d);a=c[p>>2]|0;if(a){d=0;e=g;f=c[m>>2]|0;while(1){c[f+1076>>2]=c[e>>2];d=d+1|0;if((d|0)==(a|0))break;else{e=e+4|0;f=f+1080|0}}}Uc(g)}}j=j+1|0;if(j>>>0>=(c[q>>2]|0)>>>0){a=1;d=32;break}}if((d|0)==32){i=s;return a|0}return 0}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){qb(a,f,2);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+2|0}}i=g;return}function xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){qb(a,f,4);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=g;return}function ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){ub(a,f);c[b>>2]=~~+g[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=h;return}function ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){sb(a,f);c[b>>2]=~~+h[f>>3];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+8|0}}i=g;return}function Ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){qb(a,f,2);g[b>>2]=+((c[f>>2]|0)>>>0);e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+2|0}}i=h;return}function Be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){qb(a,f,4);g[b>>2]=+((c[f>>2]|0)>>>0);e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=h;return}function Ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){ub(a,f);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=g;return}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;if(!c){i=f;return}d=0;while(1){sb(a,e);g[b>>2]=+h[e>>3];d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+8|0}}i=f;return}function Ee(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+8|0;k=n+20|0;if((c[a+8>>2]|0)==16)a=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else a=c[a+12>>2]|0;m=c[a+5584>>2]|0;a=c[e>>2]|0;if(!a){Ub(f,1,14224,n)|0;b=0;i=n;return b|0}c[e>>2]=a+-1;qb(d,k,1);d=d+1|0;g=c[k>>2]&31;j=m+(b*1080|0)+24|0;c[j>>2]=g;c[m+(b*1080|0)+804>>2]=(c[k>>2]|0)>>>5;do if((g|0)==1){a=1;l=8}else{a=(c[e>>2]|0)>>>((g|0)!=0&1);if(a>>>0>97){c[h>>2]=a;c[h+4>>2]=97;c[h+8>>2]=97;Ub(f,2,14260,h)|0;g=c[j>>2]|0}f=(a|0)==0;if(g)if(f){a=0;l=20;break}else{l=8;break}if(!f){g=0;while(1){qb(d,k,1);if(g>>>0<97){c[m+(b*1080|0)+28+(g<<3)>>2]=(c[k>>2]|0)>>>3;c[m+(b*1080|0)+28+(g<<3)+4>>2]=0}g=g+1|0;if((g|0)==(a|0))break;else d=d+1|0}}a=(c[e>>2]|0)-a|0}while(0);if((l|0)==8){g=0;while(1){qb(d,k,2);if(g>>>0<97){c[m+(b*1080|0)+28+(g<<3)>>2]=(c[k>>2]|0)>>>11;c[m+(b*1080|0)+28+(g<<3)+4>>2]=c[k>>2]&2047}g=g+1|0;if((g|0)==(a|0)){l=20;break}else d=d+2|0}}if((l|0)==20)a=(c[e>>2]|0)-(a<<1)|0;c[e>>2]=a;if((c[j>>2]|0)!=1){b=1;i=n;return b|0}a=m+(b*1080|0)+28|0;d=m+(b*1080|0)+32|0;g=1;do{e=(c[a>>2]|0)-(((g+-1|0)>>>0)/3|0)|0;c[m+(b*1080|0)+28+(g<<3)>>2]=(e|0)>0?e:0;c[m+(b*1080|0)+28+(g<<3)+4>>2]=c[d>>2];g=g+1|0}while((g|0)!=97);a=1;i=n;return a|0}function Fe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r+40|0;l=r+32|0;k=r+16|0;j=r+8|0;o=r+44|0;h=a+8|0;if((c[h>>2]|0)==16)g=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else g=c[a+12>>2]|0;m=c[g+5584>>2]|0;if((c[e>>2]|0)>>>0<5){Ub(f,1,14664,r)|0;e=0;i=r;return e|0}n=m+(b*1080|0)+4|0;qb(d,n,1);g=(c[n>>2]|0)+1|0;c[n>>2]=g;if(g>>>0>33){c[j>>2]=g;c[j+4>>2]=33;Ub(f,1,14699,j)|0;e=0;i=r;return e|0}if((c[a+168>>2]|0)>>>0>=g>>>0){c[k>>2]=b;Ub(f,1,14776,k)|0;c[h>>2]=c[h>>2]|32768;e=0;i=r;return e|0}j=m+(b*1080|0)+8|0;qb(d+1|0,j,1);c[j>>2]=(c[j>>2]|0)+2;a=m+(b*1080|0)+12|0;qb(d+2|0,a,1);k=(c[a>>2]|0)+2|0;c[a>>2]=k;j=c[j>>2]|0;if(j>>>0>10|k>>>0>10|(j+k|0)>>>0>12){Ub(f,1,14934,r+24|0)|0;e=0;i=r;return e|0}qb(d+3|0,m+(b*1080|0)+16|0,1);qb(d+4|0,m+(b*1080|0)+20|0,1);h=(c[e>>2]|0)+-5|0;c[e>>2]=h;g=c[n>>2]|0;if(!(c[m+(b*1080|0)>>2]&1)){if(!g){e=1;i=r;return e|0}else g=0;do{c[m+(b*1080|0)+812+(g<<2)>>2]=15;c[m+(b*1080|0)+944+(g<<2)>>2]=15;g=g+1|0}while(g>>>0<(c[n>>2]|0)>>>0);g=1;i=r;return g|0}if(h>>>0>>0){Ub(f,1,14664,l)|0;e=0;i=r;return e|0}do if(!g)g=0;else{a=0;h=d+5|0;while(1){qb(h,o,1);h=h+1|0;g=c[o>>2]|0;if((a|0)!=0?g>>>0<16|(g&15|0)==0:0)break;c[m+(b*1080|0)+812+(a<<2)>>2]=g&15;c[m+(b*1080|0)+944+(a<<2)>>2]=(c[o>>2]|0)>>>4;a=a+1|0;g=c[n>>2]|0;if(a>>>0>=g>>>0){q=22;break}}if((q|0)==22){h=c[e>>2]|0;break}Ub(f,1,15002,p)|0;e=0;i=r;return e|0}while(0);c[e>>2]=h-g;e=1;i=r;return e|0}function Ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){pb(b,~~+g[a>>2]>>>0,2);d=d+1|0;if((d|0)==(c|0))break;else{b=b+2|0;a=a+4|0}}return}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){pb(b,~~+g[a>>2]>>>0,4);d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+4|0}}return}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){tb(b,+g[a>>2]);d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+4|0}}return}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){rb(b,+g[a>>2]);d=d+1|0;if((d|0)==(c|0))break;else{b=b+8|0;a=a+4|0}}return}function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;if(!d){d=0;i=j;return d|0}if(!(ld(c[a>>2]|0,b,d,e)|0)){Ub(e,1,16303,j)|0;d=0;i=j;return d|0}if(c[a+128>>2]|0){d=1;i=j;return d|0}h=a+108|0;if(!(bf(d,h,e)|0)){d=0;i=j;return d|0}b=c[a+48>>2]|0;a:do switch(b|0){case 16:{c[d+20>>2]=1;break}case 17:{c[d+20>>2]=2;break}case 18:{c[d+20>>2]=3;break}case 24:{c[d+20>>2]=4;break}default:{f=d+20|0;if((b|0)==12){c[f>>2]=5;break a}else{c[f>>2]=-1;break a}}}while(0);g=a+120|0;b=c[g>>2]|0;do if(b){if(c[b+12>>2]|0){cf(d,h);break}Uc(c[b+4>>2]|0);Uc(c[(c[g>>2]|0)+8>>2]|0);Uc(c[c[g>>2]>>2]|0);b=c[g>>2]|0;f=c[b+12>>2]|0;if(f){Uc(f);b=c[g>>2]|0}Uc(b);c[g>>2]=0}while(0);if(c[a+116>>2]|0)df(d,h,e);b=c[h>>2]|0;if(!b){d=1;i=j;return d|0}c[d+28>>2]=b;c[d+32>>2]=c[a+112>>2];c[h>>2]=0;d=1;i=j;return d|0}function Le(b,d){b=b|0;d=d|0;Wc(c[b>>2]|0,d);a[b+124>>0]=0;c[b+128>>2]=c[d+8248>>2]&1;return}function Me(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;v=w+64|0;s=w+56|0;o=w+48|0;r=w+40|0;q=w+32|0;p=w+24|0;if(!((a|0)!=0&(d|0)!=0&(e|0)!=0)){d=0;i=w;return d|0}t=e+16|0;if(((c[t>>2]|0)+-1|0)>>>0>16383){Ub(f,1,16352,w)|0;d=0;i=w;return d|0}if(!(Zc(c[a>>2]|0,d,e,f)|0)){d=0;i=w;return d|0}c[a+56>>2]=1785737760;c[a+60>>2]=0;c[a+64>>2]=1;g=Pc(4)|0;h=a+68|0;c[h>>2]=g;if(!g){c[h>>2]=0;Ub(f,1,16421,w+8|0)|0;d=0;i=w;return d|0}c[g>>2]=1785737760;l=c[t>>2]|0;c[a+20>>2]=l;l=Pc(l*12|0)|0;g=a+72|0;c[g>>2]=l;if(!l){c[g>>2]=0;Ub(f,1,16421,w+16|0)|0;d=0;i=w;return d|0}c[a+16>>2]=(c[e+12>>2]|0)-(c[e+4>>2]|0);c[a+12>>2]=(c[e+8>>2]|0)-(c[e>>2]|0);u=e+24|0;m=c[u>>2]|0;j=c[m+24>>2]|0;k=c[m+32>>2]|0;g=a+24|0;c[g>>2]=j+-1+(k<<7);n=c[t>>2]|0;if(n>>>0>1){h=1;do{if((j|0)!=(c[m+(h*52|0)+24>>2]|0))c[g>>2]=255;h=h+1|0}while(h>>>0>>0)}c[a+28>>2]=7;c[a+32>>2]=0;c[a+36>>2]=0;h=(n|0)==0;if(!h?(c[l+8>>2]=j+-1+(k<<7),n>>>0>1):0){g=1;do{c[l+(g*12|0)+8>>2]=(c[m+(g*52|0)+24>>2]|0)+-1+(c[m+(g*52|0)+32>>2]<<7);g=g+1|0}while(g>>>0>>0)}g=a+40|0;a:do if(!(c[e+32>>2]|0)){c[g>>2]=1;switch(c[e+20>>2]|0){case 1:{c[a+48>>2]=16;break a}case 2:{c[a+48>>2]=17;break a}case 3:{c[a+48>>2]=18;break a}default:break a}}else{c[g>>2]=2;c[a+48>>2]=0}while(0);b:do if(!h){h=0;g=0;j=0;do{e=(b[m+(j*52|0)+48>>1]|0)==0;g=(e&1^1)+g|0;h=e?h:j;j=j+1|0}while(j>>>0>>0);j=h;if((g|0)!=1){if(g>>>0<=1)break;Ub(f,2,16717,o)|0;break}switch(c[a+48>>2]|0){case 18:case 16:{h=3;break}case 17:{h=1;break}default:{Ub(f,2,16467,p)|0;break b}}if(n>>>0<(h+1|0)>>>0){Ub(f,2,16541,q)|0;break}if(j>>>0>>0){Ub(f,2,16634,r)|0;break}r=Pc(8)|0;g=a+116|0;c[g>>2]=r;if(!r){Ub(f,1,16782,s)|0;d=0;i=w;return d|0}s=Pc((c[t>>2]|0)*6|0)|0;e=c[g>>2]|0;c[e>>2]=s;if(!s){Ub(f,1,16782,v)|0;d=0;i=w;return d|0}l=c[t>>2]|0;b[e+4>>1]=l;k=c[e>>2]|0;g=0;do{b[k+(g*6|0)>>1]=g;b[k+(g*6|0)+2>>1]=0;v=g;g=g+1|0;b[k+(v*6|0)+4>>1]=g}while((g|0)!=(h|0));if(h>>>0>>0){j=c[u>>2]|0;do{v=(b[j+(h*52|0)+48>>1]|0)==0;b[k+(h*6|0)>>1]=h;g=k+(h*6|0)+2|0;if(v){b[g>>1]=-1;b[k+(h*6|0)+4>>1]=-1}else{b[g>>1]=1;b[(c[e>>2]|0)+(h*6|0)+4>>1]=0}h=h+1|0}while(h>>>0>>0)}}while(0);c[a+52>>2]=0;c[a+44>>2]=0;c[a+96>>2]=c[d+18692>>2];d=1;i=w;return d|0}function Ne(a,b,d){a=a|0;b=b|0;d=d|0;return od(c[a>>2]|0,b,d)|0}function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+8|0;if(!(sg(c[e>>2]|0,52,d)|0)){d=0;return d|0}g=c[e>>2]|0;h=tg(g)|0;e=ug(g)|0;if(h){i=0;f=1;while(1){if(!f)f=0;else f=(Ra[c[e>>2]&63](a,b,d)|0)!=0;i=i+1|0;if((i|0)==(h|0))break;else{e=e+4|0;f=f&1}}vg(g);if(!f){d=0;return d|0}}else vg(g);d=$c(c[a>>2]|0,b,d)|0;return d|0}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+8|0;if(!(sg(c[e>>2]|0,53,d)|0)){d=0;return d|0}if(!(pd(c[a>>2]|0,b,d)|0)){d=0;return d|0}i=c[e>>2]|0;g=tg(i)|0;e=ug(i)|0;if(!g)e=1;else{h=0;f=e;e=1;while(1){if(!e)e=0;else e=(Ra[c[f>>2]&63](a,b,d)|0)!=0;e=e&1;h=h+1|0;if((h|0)==(g|0))break;else f=f+4|0}}vg(i);d=e;return d|0}function Qe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+4|0;if(!(sg(c[f>>2]|0,54,e)|0)){b=0;return b|0}h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){b=0;return b|0}}else vg(h);f=a+8|0;if(!(sg(c[f>>2]|0,55,e)|0)){b=0;return b|0}if(!(sg(c[f>>2]|0,56,e)|0)){b=0;return b|0}if(!(sg(c[f>>2]|0,57,e)|0)){b=0;return b|0}if((c[a+96>>2]|0)!=0?(sg(c[f>>2]|0,58,e)|0)==0:0){b=0;return b|0}if(!(sg(c[f>>2]|0,59,e)|0)){b=0;return b|0}h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){b=0;return b|0}}else vg(h);b=qd(c[a>>2]|0,b,d,e)|0;return b|0}function Re(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;k=b+8|0;if(!(sg(c[k>>2]|0,52,e)|0)){a=0;return a|0}h=c[b+4>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){a=0;return a|0}}else vg(h);h=c[k>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){a=0;return a|0}}else vg(h);a=ad(a,c[b>>2]|0,d,e)|0;return a|0}function Se(a,b,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return cd(c[a>>2]|0,b,d,e,f,g,h,i,j,k,l)|0}function Te(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;return rd(c[a>>2]|0,b,d,e,f,g)|0}function Ue(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;return dd(c[a>>2]|0,b,d,e,f,g)|0}function Ve(a){a=a|0;var b=0,d=0,e=0;if(!a)return;Yc(c[a>>2]|0);c[a>>2]=0;b=a+72|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+68|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+108|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}e=a+116|0;b=c[e>>2]|0;if(b){d=c[b>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b>>2]=0}Uc(b);c[e>>2]=0}e=a+120|0;b=c[e>>2]|0;if(b){d=c[b+12>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+12>>2]=0}d=c[b+4>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+4>>2]=0}d=c[b+8>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+8>>2]=0}d=c[b>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b>>2]=0}Uc(b);c[e>>2]=0}b=a+4|0;d=c[b>>2]|0;if(d){rg(d);c[b>>2]=0}b=a+8|0;d=c[b>>2]|0;if(d){rg(d);c[b>>2]=0}Uc(a);return}function We(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ed(c[a>>2]|0,b,d,e,f,g,h)|0}function Xe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;if(!d){a=0;i=j;return a|0}Ub(e,2,16826,j)|0;if(!(md(c[a>>2]|0,b,d,e,f)|0)){Ub(e,1,16303,j+8|0)|0;a=0;i=j;return a|0}h=a+108|0;if(!(bf(d,h,e)|0)){a=0;i=j;return a|0}f=c[a+48>>2]|0;a:do switch(f|0){case 16:{c[d+20>>2]=1;break}case 17:{c[d+20>>2]=2;break}case 18:{c[d+20>>2]=3;break}case 24:{c[d+20>>2]=4;break}default:{b=d+20|0;if((f|0)==12){c[b>>2]=5;break a}else{c[b>>2]=-1;break a}}}while(0);g=a+120|0;b=c[g>>2]|0;do if(b){if(c[b+12>>2]|0){cf(d,h);break}Uc(c[b+4>>2]|0);Uc(c[(c[g>>2]|0)+8>>2]|0);Uc(c[c[g>>2]>>2]|0);b=c[g>>2]|0;f=c[b+12>>2]|0;if(f){Uc(f);b=c[g>>2]|0}Uc(b);c[g>>2]=0}while(0);if(c[a+116>>2]|0)df(d,h,e);b=c[h>>2]|0;if(!b){a=1;i=j;return a|0}c[d+28>>2]=b;c[d+32>>2]=c[a+112>>2];c[h>>2]=0;a=1;i=j;return a|0}function Ye(b){b=b|0;var d=0;d=Qc(1,136)|0;if(!d)return d|0;if(!b){b=Xc()|0;c[d>>2]=b}else{b=fd()|0;c[d>>2]=b}if(!b){Ve(d);d=0;return d|0}b=d+108|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=0;b=qg()|0;c[d+4>>2]=b;if(!b){Ve(d);d=0;return d|0}b=qg()|0;c[d+8>>2]=b;if(b)return d|0;Ve(d);d=0;return d|0}function Ze(a,b,d){a=a|0;b=b|0;d=d|0;gd(c[a>>2]|0,b,d);return}function _e(a){a=a|0;return kd(c[a>>2]|0)|0}function $e(a){a=a|0;return jd(c[a>>2]|0)|0}function af(a,b,d){a=a|0;b=b|0;d=d|0;return nd(c[a>>2]|0,b,d)|0}function bf(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;A=B+72|0;z=B+64|0;y=B+56|0;x=B+48|0;w=B+40|0;v=B+32|0;u=B+24|0;s=B+16|0;o=B+8|0;n=B;j=c[g+8>>2]|0;a:do if(j){r=c[j>>2]|0;q=b[j+4>>1]|0;j=c[f+16>>2]|0;p=c[g+12>>2]|0;if((p|0)!=0?(c[p+12>>2]|0)!=0:0)g=d[p+18>>0]|0;else g=j;m=q<<16>>16==0;b:do if(!m){l=0;c:while(1){k=l&65535;j=e[r+(k*6|0)>>1]|0;if(j>>>0>=g>>>0){k=15;break}j=b[r+(k*6|0)+4>>1]|0;switch(j<<16>>16){case 0:case -1:break;default:{j=(j&65535)+-1|0;if(j>>>0>=g>>>0){k=18;break c}}}l=l+1<<16>>16;if((l&65535)>=(q&65535))break b}if((k|0)==15){c[n>>2]=j;c[n+4>>2]=g;Ub(h,1,19343,n)|0;h=0;i=B;return h|0}else if((k|0)==18){c[o>>2]=j;c[o+4>>2]=g;Ub(h,1,19343,o)|0;h=0;i=B;return h|0}}while(0);if(!g)j=p;else{d:do if(!m)while(1){g=g+-1|0;j=0;do{if((e[r+((j&65535)*6|0)>>1]|0)==(g|0))break;j=j+1<<16>>16}while((j&65535)<(q&65535));if(j<<16>>16==q<<16>>16)break d;if(!g){j=p;break a}}while(0);Ub(h,1,19380,s)|0;h=0;i=B;return h|0}}else j=c[g+12>>2]|0;while(0);if(!j){h=1;i=B;return h|0}t=c[j+12>>2]|0;if(!t){h=1;i=B;return h|0}p=a[j+18>>0]|0;s=p&255;r=p<<24>>24==0;if(r)j=1;else{l=f+16|0;g=0;m=0;j=1;do{g=e[t+(g<<2)>>1]|0;k=c[l>>2]|0;if(g>>>0>=k>>>0){c[u>>2]=g;c[u+4>>2]=k;Ub(h,1,19343,u)|0;j=0}m=m+1<<16>>16;g=m&65535}while(g>>>0>>0)}q=Qc(s,4)|0;if(!q){Ub(h,1,19413,v)|0;h=0;i=B;return h|0}if(!r){n=0;o=0;do{k=a[t+(n<<2)+3>>0]|0;l=k&255;do if((k&255)<(p&255)){m=q+(l<<2)|0;g=a[t+(n<<2)+2>>0]|0;if((c[m>>2]|0)!=0&g<<24>>24==1){c[x>>2]=l;Ub(h,1,19486,x)|0;j=0;break}if(g<<24>>24!=0|k<<24>>24==0){c[m>>2]=1;break}else{c[y>>2]=n;c[y+4>>2]=l;Ub(h,1,19517,y)|0;j=0;break}}else{c[w>>2]=l;Ub(h,1,19430,w)|0;j=0}while(0);o=o+1<<16>>16;n=o&65535}while(n>>>0>>0);if(!r){g=0;k=0;do{if((c[q+(g<<2)>>2]|0)==0?(a[t+(g<<2)+2>>0]|0)!=0:0){c[z>>2]=g;Ub(h,1,19553,z)|0;j=0}k=k+1<<16>>16;g=k&65535}while(g>>>0>>0)}}if(!j){Uc(q);h=0;i=B;return h|0}e:do if(!((c[f+16>>2]|0)!=1|r)){j=0;g=0;while(1){g=g+1<<16>>16;if(!(c[q+(j<<2)>>2]|0))break;j=g&65535;if(j>>>0>=s>>>0)break e}c[A>>2]=j;Ub(h,2,19591,A)|0;if(!r){j=0;g=0;do{a[t+(j<<2)+2>>0]=1;a[t+(j<<2)+3>>0]=g;g=g+1<<16>>16;j=g&65535}while(j>>>0>>0)}}while(0);Uc(q);h=1;i=B;return h|0}function cf(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=g+12|0;g=c[w>>2]|0;m=c[g+8>>2]|0;o=c[g+4>>2]|0;q=c[g>>2]|0;r=c[g+12>>2]|0;g=a[g+18>>0]|0;s=f+24|0;t=c[s>>2]|0;u=g&255;v=Pc(u*52|0)|0;if(!v)return;n=g<<24>>24==0;if(!n){k=0;l=0;do{g=b[r+(k<<2)>>1]|0;if(!(a[r+(k<<2)+2>>0]|0)){g=g&65535;h=v+(k*52|0)|0;i=t+(g*52|0)|0;j=h+52|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0))}else{g=g&65535;h=v+((d[r+(k<<2)+3>>0]|0)*52|0)|0;i=t+(g*52|0)|0;j=h+52|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0))}j=Pc(_(c[t+(g*52|0)+8>>2]<<2,c[t+(g*52|0)+12>>2]|0)|0)|0;c[v+(k*52|0)+44>>2]=j;if(!j){p=7;break}c[v+(k*52|0)+24>>2]=d[m+k>>0];c[v+(k*52|0)+32>>2]=d[o+k>>0];l=l+1<<16>>16;k=l&65535}while(k>>>0>>0);if((p|0)==7){Uc(v);return}m=(e[(c[w>>2]|0)+16>>1]|0)+-1|0;if(!n){g=0;l=0;do{j=c[t+((e[r+(g<<2)>>1]|0)*52|0)+44>>2]|0;i=d[r+(g<<2)+3>>0]|0;k=_(c[v+(i*52|0)+12>>2]|0,c[v+(i*52|0)+8>>2]|0)|0;if(!(a[r+(g<<2)+2>>0]|0)){g=c[v+(g*52|0)+44>>2]|0;if(k){h=0;do{c[g+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}}else{g=c[v+(i*52|0)+44>>2]|0;if(k){h=0;do{p=c[j+(h<<2)>>2]|0;c[g+(h<<2)>>2]=c[q+((_((p|0)<0?0:(p|0)>(m|0)?m:p,u)|0)+i<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}}l=l+1<<16>>16;g=l&65535}while(g>>>0>>0)}}h=f+16|0;i=c[h>>2]|0;if(i){g=0;j=0;do{g=c[t+(g*52|0)+44>>2]|0;if(g)Uc(g);j=j+1<<16>>16;g=j&65535}while(g>>>0>>0)}Uc(t);c[s>>2]=v;c[h>>2]=u;Uc(c[(c[w>>2]|0)+4>>2]|0);Uc(c[(c[w>>2]|0)+8>>2]|0);Uc(c[c[w>>2]>>2]|0);g=c[w>>2]|0;h=c[g+12>>2]|0;if(h){Uc(h);g=c[w>>2]|0}Uc(g);c[w>>2]=0;return}function df(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;w=y+8|0;v=y;u=y+16|0;x=d+8|0;f=c[x>>2]|0;d=c[f>>2]|0;t=b[f+4>>1]|0;if(t<<16>>16){s=a+16|0;o=a+24|0;q=1;r=0;while(1){p=b[d+(r*6|0)>>1]|0;n=p&65535;a=c[s>>2]|0;a:do if(n>>>0>>0){f=b[d+(r*6|0)+4>>1]|0;switch(f<<16>>16){case -1:case 0:{b[(c[o>>2]|0)+(n*52|0)+48>>1]=b[d+(r*6|0)+2>>1]|0;break a}default:{}}k=(f&65535)+65535|0;m=k&65535;k=k&65535;if(k>>>0>=a>>>0){c[w>>2]=k;c[w+4>>2]=a;Ub(e,2,19302,w)|0;break}l=d+(r*6|0)+2|0;if((n|0)!=(k|0)?(b[l>>1]|0)==0:0){f=c[o>>2]|0;a=f+(n*52|0)|0;g=u;h=a;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));g=a;h=f+(k*52|0)|0;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));g=(c[o>>2]|0)+(k*52|0)|0;h=u;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));if((r+1&65535)<(t&65535)){g=q;do{f=d+(g*6|0)|0;a=b[f>>1]|0;if(a<<16>>16!=p<<16>>16){if(a<<16>>16==m<<16>>16)b[f>>1]=p}else b[f>>1]=m;g=g+1|0}while((g&65535)<<16>>16!=t<<16>>16)}}b[(c[o>>2]|0)+(n*52|0)+48>>1]=b[l>>1]|0}else{c[v>>2]=n;c[v+4>>2]=a;Ub(e,2,19262,v)|0}while(0);r=r+1|0;if((r&65535)<<16>>16==t<<16>>16)break;else q=q+1|0}d=c[x>>2]|0;f=d;d=c[d>>2]|0}if(!d){w=f;Uc(w);c[x>>2]=0;i=y;return}else{Uc(d);w=c[x>>2]|0;Uc(w);c[x>>2]=0;i=y;return}}function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+192|0;y=I+152|0;x=I+144|0;w=I+136|0;v=I+128|0;u=I+120|0;E=I+88|0;s=I+80|0;q=I+64|0;p=I+48|0;G=I+40|0;z=I+32|0;F=I+24|0;t=I+16|0;r=I+8|0;n=I+176|0;o=I+168|0;D=I+156|0;e=Qc(1,1024)|0;if(!e){Ub(d,1,17098,I)|0;H=0;i=I;return H|0}m=n+4|0;A=D+4|0;B=a+100|0;l=1024;a:while(1){if((Mb(b,n,8,d)|0)!=8)break;while(1){qb(n,D,4);qb(m,A,4);switch(c[D>>2]|0){case 0:{f=Qb(b)|0;k=C;if((k|0)>0|(k|0)==0&f>>>0>4294967287){H=6;break a}c[D>>2]=f+8;j=8;break}case 1:{if((Mb(b,n,8,d)|0)!=8)break a;qb(n,o,4);if(c[o>>2]|0){H=10;break a}qb(m,D,4);j=16;break}default:j=8}g=c[A>>2]|0;if((g|0)==1785737827){H=13;break a}f=c[D>>2]|0;if(!f){H=17;break a}if(f>>>0>>0){H=19;break a}if((g|0)==1783636e3){h=1084;g=j;H=22;break}if((g|0)==1718909296){h=1092;g=j;H=22;break}k=(g|0)==1785737832;b:do if((g|0)!=1768449138)if((g|0)!=1668246642)if((g|0)!=1651532643)if((g|0)!=1885564018)if((g|0)!=1668112752){h=(g|0)==1667523942?1148:0;f=f-j|0;if((g|0)<1785737832)switch(g|0){case 1667523942:{H=30;break b}default:{}}else switch(g|0){case 1785737832:{H=30;break b}default:{}}g=c[B>>2]|0;if(!(g&1)){H=45;break a}if(!(g&2)){H=47;break a}c[B>>2]=g|2147483647;k=Rb(b,f,0,d)|0;if(!((k|0)==(f|0)&(C|0)==0)){H=50;break a}}else{h=1140;H=28}else{h=1132;H=28}else{h=1124;H=28}else{h=1116;H=28}else{h=1108;H=28}while(0);if((H|0)==28){f=f-j|0;H=30}if((H|0)==30){H=0;if(k){h=1100;break}c[p>>2]=g>>>24;c[p+4>>2]=g>>>16&255;c[p+8>>2]=g>>>8&255;c[p+12>>2]=g&255;Ub(d,2,17282,p)|0;if(c[B>>2]&4)break;k=c[A>>2]|0;c[q>>2]=k>>>24;c[q+4>>2]=k>>>16&255;c[q+8>>2]=k>>>8&255;c[q+12>>2]=k&255;Ub(d,2,17333,q)|0;c[B>>2]=c[B>>2]|2147483647;k=Rb(b,f,0,d)|0;if(!((k|0)==(f|0)&(C|0)==0)){H=33;break a}}if((Mb(b,n,8,d)|0)!=8)break a}if((H|0)==22){H=0;f=f-g|0}k=Qb(b)|0;j=C;if(0>(j|0)|0==(j|0)&f>>>0>k>>>0){H=35;break}if(f>>>0>l>>>0){g=Tc(e,f)|0;if(!g){H=38;break}else{e=g;g=f}}else g=l;if((Mb(b,e,f,d)|0)!=(f|0)){H=40;break}if(!(Za[c[h+4>>2]&63](a,e,f,d)|0)){H=43;break}else l=g}switch(H|0){case 6:{Ub(d,1,17148,r)|0;break}case 10:{Ub(d,1,17148,t)|0;break}case 13:{f=c[B>>2]|0;if(!(f&4)){Ub(d,1,17190,F)|0;Uc(e);H=0;i=I;return H|0}else{c[B>>2]=f|8;Uc(e);H=1;i=I;return H|0}}case 17:{Ub(d,1,17218,z)|0;Uc(e);H=0;i=I;return H|0}case 19:{c[G>>2]=f;c[G+4>>2]=g;Ub(d,1,17256,G)|0;Uc(e);H=0;i=I;return H|0}case 33:{Ub(d,1,17399,s)|0;Uc(e);H=0;i=I;return H|0}case 35:{F=c[D>>2]|0;G=c[A>>2]|0;H=Qb(b)|0;c[E>>2]=F;c[E+4>>2]=G>>>24;c[E+8>>2]=G>>>16&255;c[E+12>>2]=G>>>8&255;c[E+16>>2]=G&255;c[E+20>>2]=f;c[E+24>>2]=H;Ub(d,1,17449,E)|0;Uc(e);H=0;i=I;return H|0}case 38:{Uc(e);Ub(d,1,17525,u)|0;H=0;i=I;return H|0}case 40:{Ub(d,1,17567,v)|0;Uc(e);H=0;i=I;return H|0}case 43:{Uc(e);H=0;i=I;return H|0}case 45:{Ub(d,1,17616,w)|0;Uc(e);H=0;i=I;return H|0}case 47:{Ub(d,1,17686,x)|0;Uc(e);H=0;i=I;return H|0}case 50:{Ub(d,1,17399,y)|0;Uc(e);H=0;i=I;return H|0}}Uc(e);H=1;i=I;return H|0}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+24|0;e=Pb(b)|0;f=C;a=a+80|0;j=a;j=Oi(e|0,f|0,c[j>>2]|0,c[j+4>>2]|0)|0;pb(g,j,4);pb(g+4|0,1785737827,4);if(!(Sb(b,c[a>>2]|0,c[a+4>>2]|0,d)|0)){Ub(d,1,17067,h)|0;j=0;i=h;return j|0}if((Nb(b,g,8,d)|0)!=8){Ub(d,1,17067,h+8|0)|0;j=0;i=h;return j|0}if(Sb(b,e,f,d)|0){j=1;i=h;return j|0}Ub(d,1,17067,h+16|0)|0;j=0;i=h;return j|0}function gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;d=((c[a>>2]|0)!=0?(c[a+104>>2]|c[a+100>>2]|0)==0:0)&(c[a+8>>2]|0)!=0&(c[a+4>>2]|0)!=0&(c[a+64>>2]|0)!=0&(c[a+16>>2]|0)!=0&(c[a+12>>2]|0)!=0&1;e=c[a+20>>2]|0;if(!e){g=d;a=a+40|0;a=c[a>>2]|0;a=a+-1|0;a=a>>>0<2;a=a&1;b=Tb(b)|0;b=b&g;a=b&a;return a|0}f=c[a+72>>2]|0;g=0;do{d=(c[f+(g*12|0)+8>>2]&126)>>>0<38&d;g=g+1|0}while(g>>>0>>0);a=a+40|0;a=c[a>>2]|0;a=a+-1|0;a=a>>>0<2;a=a&1;b=Tb(b)|0;b=b&d;a=b&a;return a|0}function hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=i;i=i+16|0;d=a;pb(d,12,4);pb(d+4|0,1783636e3,4);pb(d+8|0,218793738,4);c=(Nb(b,d,12,c)|0)==12&1;i=a;return c|0}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+8|0;f=a+64|0;h=(c[f>>2]<<2)+16|0;j=Qc(1,h)|0;if(!j){Ub(d,1,16987,l)|0;k=0;i=l;return k|0}pb(j,h,4);pb(j+4|0,1718909296,4);pb(j+8|0,c[a+56>>2]|0,4);pb(j+12|0,c[a+60>>2]|0,4);g=j+16|0;if(c[f>>2]|0){a=a+68|0;e=0;do{pb(g,c[(c[a>>2]|0)+(e<<2)>>2]|0,4);e=e+1|0}while(e>>>0<(c[f>>2]|0)>>>0)}a=(Nb(b,j,h,d)|0)==(h|0);if(!a)Ub(d,1,17026,k)|0;Uc(j);k=a&1;i=l;return k|0}function kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;o=q+16|0;m=q+8|0;k=q;f=q+24|0;l=q+72|0;e=f;g=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));p=(c[a+24>>2]|0)==255;c[f>>2]=2;e=f+12|0;if(p){c[e>>2]=3;c[f+24>>2]=4;e=3}else{c[e>>2]=4;e=2}if(!(c[a+116>>2]|0))p=e;else{c[f+(e*12|0)>>2]=5;p=e+1|0}pb(l+4|0,1785737832,4);h=0;j=f;e=8;while(1){g=j+8|0;r=_a[c[j>>2]&7](a,g)|0;c[j+4>>2]=r;if(!r){n=8;break}e=(c[g>>2]|0)+e|0;h=h+1|0;if((h|0)>=(p|0))break;else j=j+12|0}if((n|0)==8){Ub(d,1,16901,k)|0;g=0;while(1){e=c[f+4>>2]|0;if(e)Uc(e);g=g+1|0;if((g|0)>=(p|0)){e=0;break}else f=f+12|0}i=q;return e|0}pb(l,e,4);a:do if((Nb(b,l,8,d)|0)==8){e=0;g=f;while(1){r=g+8|0;n=Nb(b,c[g+4>>2]|0,c[r>>2]|0,d)|0;if((n|0)!=(c[r>>2]|0))break;e=e+1|0;if((e|0)>=(p|0)){e=1;break a}else g=g+12|0}Ub(d,1,16944,o)|0;e=0}else{Ub(d,1,16944,m)|0;e=0}while(0);h=0;while(1){g=c[f+4>>2]|0;if(g)Uc(g);h=h+1|0;if((h|0)>=(p|0))break;else f=f+12|0}i=q;return e|0}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Pb(b)|0;a=a+88|0;c[a>>2]=e;c[a+4>>2]=C;b=Rb(b,24,0,d)|0;return (b|0)==24&(C|0)==0&1|0}function mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Pb(b)|0;a=a+80|0;c[a>>2]=e;c[a+4>>2]=C;b=Rb(b,8,0,d)|0;return (b|0)==8&(C|0)==0&1|0}function nf(a,b){a=a|0;b=b|0;var d=0;d=Qc(1,22)|0;if(!d){b=0;return b|0}pb(d,22,4);pb(d+4|0,1768449138,4);pb(d+8|0,c[a+16>>2]|0,4);pb(d+12|0,c[a+12>>2]|0,4);pb(d+16|0,c[a+20>>2]|0,2);pb(d+18|0,c[a+24>>2]|0,1);pb(d+19|0,c[a+28>>2]|0,1);pb(d+20|0,c[a+32>>2]|0,1);pb(d+21|0,c[a+36>>2]|0,1);c[b>>2]=22;b=d;return b|0}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=(c[f>>2]|0)+8|0;h=Qc(1,g)|0;if(!h){b=0;return b|0}pb(h,g,4);pb(h+4|0,1651532643,4);if(c[f>>2]|0){a=a+72|0;d=0;e=h+8|0;while(1){pb(e,c[(c[a>>2]|0)+(d*12|0)+8>>2]|0,1);d=d+1|0;if(d>>>0>=(c[f>>2]|0)>>>0)break;else e=e+1|0}}c[b>>2]=g;b=h;return b|0}function pf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=a+40|0;switch(c[e>>2]|0){case 1:{j=15;break}case 2:{j=(c[a+112>>2]|0)+11|0;break}default:{b=0;return b|0}}i=Qc(1,j)|0;if(!i){b=0;return b|0}pb(i,j,4);pb(i+4|0,1668246642,4);pb(i+8|0,c[e>>2]|0,1);pb(i+9|0,c[a+52>>2]|0,1);pb(i+10|0,c[a+44>>2]|0,1);g=i+11|0;switch(c[e>>2]|0){case 1:{pb(g,c[a+48>>2]|0,4);break}case 2:{h=a+112|0;if(c[h>>2]|0){a=a+108|0;f=0;e=g;while(1){pb(e,d[(c[a>>2]|0)+f>>0]|0,1);f=f+1|0;if(f>>>0>=(c[h>>2]|0)>>>0)break;else e=e+1|0}}break}default:{}}c[b>>2]=j;b=i;return b|0}function qf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=a+116|0;j=((e[(c[i>>2]|0)+4>>1]|0)*6|0)+10|0;k=Pc(j)|0;if(!k){d=0;return d|0}pb(k,j,4);pb(k+4|0,1667523942,4);pb(k+8|0,e[(c[i>>2]|0)+4>>1]|0,2);a=c[i>>2]|0;if(b[a+4>>1]|0){g=0;f=0;h=k+10|0;while(1){pb(h,e[(c[a>>2]|0)+(g*6|0)>>1]|0,2);pb(h+2|0,e[(c[c[i>>2]>>2]|0)+(g*6|0)+2>>1]|0,2);pb(h+4|0,e[(c[c[i>>2]>>2]|0)+(g*6|0)+4>>1]|0,2);f=f+1<<16>>16;a=c[i>>2]|0;if((f&65535)>=(e[a+4>>1]|0))break;else{g=f&65535;h=h+6|0}}}c[d>>2]=j;d=k;return d|0}function rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+32|0;f=g+16|0;if((d|0)!=14){Ub(e,1,18507,g)|0;f=0;i=g;return f|0}qb(b,a+16|0,4);qb(b+4|0,a+12|0,4);d=a+20|0;qb(b+8|0,d,2);d=Qc(c[d>>2]|0,12)|0;c[a+72>>2]=d;if(!d){Ub(e,1,18540,g+8|0)|0;f=0;i=g;return f|0}qb(b+10|0,a+24|0,1);d=a+28|0;qb(b+11|0,d,1);d=c[d>>2]|0;if((d|0)!=7){c[f>>2]=d;Ub(e,4,18589,f)|0}qb(b+12|0,a+32|0,1);qb(b+13|0,a+36|0,1);f=1;i=g;return f|0}function sf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;j=x+40|0;t=x+32|0;l=x+24|0;k=x+16|0;u=x+72|0;s=x+68|0;p=x+64|0;q=x+60|0;n=x+56|0;r=x+52|0;o=x+48|0;m=x+44|0;if(e>>>0<3){Ub(f,1,18180,x)|0;w=0;i=x;return w|0}v=b+108|0;w=b+124|0;if(a[w>>0]|0){Ub(f,4,18212,x+8|0)|0;w=1;i=x;return w|0}h=b+40|0;qb(d,h,1);qb(d+1|0,b+52|0,1);qb(d+2|0,b+44|0,1);g=d+3|0;h=c[h>>2]|0;switch(h|0){case 1:{if(e>>>0<7){c[k>>2]=e;Ub(f,1,18321,k)|0;w=0;i=x;return w|0}h=b+48|0;if(e>>>0>7?(c[h>>2]|0)!=14:0){c[l>>2]=e;Ub(f,2,18321,l)|0}qb(g,h,4);if((c[h>>2]|0)==14){g=Pc(36)|0;c[g>>2]=14;c[o>>2]=0;c[n>>2]=0;c[p>>2]=0;c[r>>2]=0;c[q>>2]=0;c[s>>2]=0;c[m>>2]=4470064;h=g+4|0;c[h>>2]=1145390592;switch(e|0){case 35:{qb(d+7|0,s,4);qb(d+11|0,p,4);qb(d+15|0,q,4);qb(d+19|0,n,4);qb(d+23|0,r,4);qb(d+27|0,o,4);qb(d+31|0,m,4);c[h>>2]=0;break}case 7:break;default:{c[t>>2]=e;Ub(f,2,18357,t)|0}}c[g+8>>2]=c[s>>2];c[g+16>>2]=c[q>>2];c[g+24>>2]=c[r>>2];c[g+12>>2]=c[p>>2];c[g+20>>2]=c[n>>2];c[g+28>>2]=c[o>>2];c[g+32>>2]=c[m>>2];c[v>>2]=g;c[b+112>>2]=0}a[w>>0]=1;w=1;i=x;return w|0}case 2:{j=e+-3|0;h=b+112|0;c[h>>2]=j;b=Qc(1,j)|0;c[v>>2]=b;if(!b){c[h>>2]=0;w=0;i=x;return w|0}if((e|0)>3){h=0;while(1){qb(g,u,1);a[(c[v>>2]|0)+h>>0]=c[u>>2];h=h+1|0;if((h|0)==(j|0))break;else g=g+1|0}}a[w>>0]=1;w=1;i=x;return w|0}default:{if(h>>>0<=2){w=1;i=x;return w|0}c[j>>2]=h;Ub(f,4,18401,j)|0;w=1;i=x;return w|0}}return 0}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j;f=c[a+24>>2]|0;if((f|0)!=255){c[g>>2]=f;Ub(e,2,18034,g)|0}h=a+20|0;if((c[h>>2]|0)!=(d|0)){Ub(e,1,18148,j+8|0)|0;h=0;i=j;return h|0}if(!d){h=1;i=j;return h|0}g=a+72|0;f=0;while(1){qb(b,(c[g>>2]|0)+(f*12|0)+8|0,1);f=f+1|0;if(f>>>0>=(c[h>>2]|0)>>>0){b=1;break}else b=b+1|0}i=j;return b|0}function uf(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+16|0;j=r;q=r+12|0;k=e+120|0;if(g>>>0<3|(c[k>>2]|0)!=0){g=0;i=r;return g|0}qb(f,q,2);l=c[q>>2]|0;p=l&65535;if((p+-1|0)>>>0>1023){c[j>>2]=p;Ub(h,1,17951,j)|0;g=0;i=r;return g|0}qb(f+2|0,q,1);o=c[q>>2]&65535;if(!o){Ub(h,1,17989,r+8|0)|0;g=0;i=r;return g|0}if((o+3|0)>>>0>g>>>0){g=0;i=r;return g|0}j=Pc(_(p<<2,o)|0)|0;if(!j){g=0;i=r;return g|0}n=Pc(o)|0;if(!n){Uc(j);g=0;i=r;return g|0}m=Pc(o)|0;if(!m){Uc(j);Uc(n);g=0;i=r;return g|0}e=Pc(20)|0;if(!e){Uc(j);Uc(n);Uc(m);g=0;i=r;return g|0}c[e+4>>2]=m;c[e+8>>2]=n;c[e>>2]=j;b[e+16>>1]=l;a[e+18>>0]=c[q>>2];c[e+12>>2]=0;c[k>>2]=e;e=f+3|0;h=0;k=0;do{qb(e,q,1);e=e+1|0;a[n+h>>0]=(c[q>>2]&127)+1;a[m+h>>0]=(c[q>>2]|0)>>>7&1;k=k+1<<16>>16;h=k&65535}while(h>>>0>>0);if(!p){g=1;i=r;return g|0}h=0;a:while(1){l=0;k=j;m=0;while(1){j=((d[n+l>>0]|0)+7|0)>>>3;j=j>>>0>4?4:j;if((e-f+j|0)>(g|0)){e=0;j=22;break a}qb(e,q,j);e=e+j|0;c[k>>2]=c[q>>2];j=k+4|0;m=m+1<<16>>16;l=m&65535;if(l>>>0>=o>>>0)break;else k=j}h=h+1<<16>>16;if((h&65535)>>>0>=p>>>0){e=1;j=22;break}}if((j|0)==22){i=r;return e|0}return 0}function vf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+20|0;j=d+120|0;d=c[j>>2]|0;if(!d){Ub(g,1,17841,l)|0;k=0;i=l;return k|0}if(c[d+12>>2]|0){Ub(g,1,17887,l+8|0)|0;k=0;i=l;return k|0}h=a[d+18>>0]|0;d=(h&255)<<2;if(d>>>0>f>>>0){Ub(g,1,17918,l+16|0)|0;k=0;i=l;return k|0}g=Pc(d)|0;if(!g){k=0;i=l;return k|0}if(h<<24>>24){d=e;f=0;while(1){qb(d,k,2);b[g+(f<<2)>>1]=c[k>>2];qb(d+2|0,k,1);a[g+(f<<2)+2>>0]=c[k>>2];qb(d+3|0,k,1);a[g+(f<<2)+3>>0]=c[k>>2];f=f+1|0;if((f&255)<<24>>24==h<<24>>24)break;else d=d+4|0}}c[(c[j>>2]|0)+12>>2]=g;k=1;i=l;return k|0}function wf(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+20|0;j=a+116|0;if(c[j>>2]|0){k=0;i=l;return k|0}if(f>>>0<2){Ub(g,1,17747,l)|0;k=0;i=l;return k|0}qb(d,k,2);a=c[k>>2]|0;h=a&65535;if(!h){Ub(g,1,17780,l+8|0)|0;k=0;i=l;return k|0}if(((h*6|0)+2|0)>>>0>f>>>0){Ub(g,1,17747,l+16|0)|0;k=0;i=l;return k|0}f=Pc(a*6|0)|0;if(!f){k=0;i=l;return k|0}a=Pc(8)|0;c[j>>2]=a;if(!a){Uc(f);k=0;i=l;return k|0}c[a>>2]=f;g=c[k>>2]&65535;b[a+4>>1]=g;if(!(g<<16>>16)){k=1;i=l;return k|0}else{h=0;a=d}do{d=h&65535;qb(a+2|0,k,2);b[f+(d*6|0)>>1]=c[k>>2];qb(a+4|0,k,2);a=a+6|0;b[f+(d*6|0)+2>>1]=c[k>>2];qb(a,k,2);b[f+(d*6|0)+4>>1]=c[k>>2];h=h+1<<16>>16}while((h&65535)<(e[(c[j>>2]|0)+4>>1]|0));a=1;i=l;return a|0}function xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+32|0;f=g+20|0;a=a+100|0;if(c[a>>2]|0){Ub(e,1,19130,g)|0;e=0;i=g;return e|0}if((d|0)!=4){Ub(e,1,19184,g+8|0)|0;e=0;i=g;return e|0}qb(b,f,4);if((c[f>>2]|0)==218793738){c[a>>2]=c[a>>2]|1;e=1;i=g;return e|0}else{Ub(e,1,19218,g+16|0)|0;e=0;i=g;return e|0}return 0}function yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+32|0;g=j+24|0;h=a+100|0;if((c[h>>2]|0)!=1){Ub(e,1,19011,j)|0;h=0;i=j;return h|0}if(d>>>0<8){Ub(e,1,19061,j+8|0)|0;h=0;i=j;return h|0}qb(b,a+56|0,4);qb(b+4|0,a+60|0,4);b=b+8|0;d=d+-8|0;if(d&3){Ub(e,1,19061,j+16|0)|0;h=0;i=j;return h|0}d=d>>>2;f=a+64|0;c[f>>2]=d;if(d){d=Qc(d,4)|0;c[a+68>>2]=d;if(!d){Ub(e,1,19097,g)|0;h=0;i=j;return h|0}if(c[f>>2]|0){a=a+68|0;d=0;while(1){qb(b,(c[a>>2]|0)+(d<<2)|0,4);d=d+1|0;if(d>>>0>=(c[f>>2]|0)>>>0)break;else b=b+4|0}}}c[h>>2]=c[h>>2]|2;h=1;i=j;return h|0}function zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+96|0;y=A+72|0;s=A+64|0;r=A+56|0;q=A+48|0;w=A+40|0;v=A+32|0;u=A+24|0;t=A+16|0;p=A+8|0;n=A+80|0;o=A+76|0;x=a+100|0;if(!(c[x>>2]&2)){Ub(e,1,18679,A)|0;z=0;i=A;return z|0}m=a+104|0;c[m>>2]=0;do if(d){k=b;b=0;a:while(1){if(d>>>0<8){z=6;break}qb(k,n,4);f=c[n>>2]|0;qb(k+4|0,n,4);j=c[n>>2]|0;switch(f|0){case 0:{z=14;break a}case 1:{if(d>>>0<16){z=9;break a}qb(k+8|0,o,4);if(c[o>>2]|0){z=11;break a}qb(k+12|0,n,4);f=c[n>>2]|0;if(!f){z=13;break a}else g=16;break}default:g=8}if(f>>>0>>0){z=16;break}if(d>>>0>>0){z=19;break}h=(j|0)==1768449138;if(!h)if((j|0)!=1668246642)if((j|0)!=1651532643)if((j|0)!=1885564018)if((j|0)!=1668112752)if((j|0)==1667523942){l=1148;z=26}else c[m>>2]=c[m>>2]|2147483647;else{l=1140;z=26}else{l=1132;z=26}else{l=1124;z=26}else{l=1116;z=26}else{l=1108;z=26}if((z|0)==26?(z=0,(Za[c[l+4>>2]&63](a,k+g|0,f-g|0,e)|0)==0):0){b=0;z=32;break}b=h?1:b;if((d|0)==(f|0)){z=29;break}else{k=k+f|0;d=d-f|0}}if((z|0)==6)Ub(e,1,18724,p)|0;else if((z|0)==9)Ub(e,1,18764,t)|0;else if((z|0)==11)Ub(e,1,17148,u)|0;else if((z|0)==13)Ub(e,1,17218,v)|0;else if((z|0)==14)Ub(e,1,17218,w)|0;else if((z|0)==16)Ub(e,1,18808,q)|0;else if((z|0)==19){Ub(e,1,18880,s)|0;z=0;i=A;return z|0}else if((z|0)==29){if(!b)break;c[x>>2]=c[x>>2]|4;z=1;i=A;return z|0}else if((z|0)==32){i=A;return b|0}Ub(e,1,18837,r)|0;z=0;i=A;return z|0}while(0);Ub(e,1,18952,y)|0;z=0;i=A;return z|0}function Af(){return 8}function Bf(){return 32}function Cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!e)return;else f=0;do{l=a+(f<<2)|0;i=c[l>>2]|0;j=b+(f<<2)|0;h=c[j>>2]|0;g=d+(f<<2)|0;k=c[g>>2]|0;c[l>>2]=(h<<1)+i+k>>2;c[j>>2]=k-h;c[g>>2]=i-h;f=f+1|0}while((f|0)!=(e|0));return}function Df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!e)return;else f=0;do{k=a+(f<<2)|0;j=b+(f<<2)|0;h=c[j>>2]|0;g=d+(f<<2)|0;l=c[g>>2]|0;i=(c[k>>2]|0)-(l+h>>2)|0;c[k>>2]=i+l;c[j>>2]=i;c[g>>2]=i+h;f=f+1|0}while((f|0)!=(e|0));return}function Ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!e)return;else f=0;do{o=a+(f<<2)|0;u=c[o>>2]|0;k=b+(f<<2)|0;t=c[k>>2]|0;g=d+(f<<2)|0;s=c[g>>2]|0;j=((u|0)<0)<<31>>31;q=Zi(u|0,j|0,2449,0)|0;q=Si(q|0,C|0,4096,0)|0;q=Ti(q|0,C|0,13)|0;i=((t|0)<0)<<31>>31;r=Zi(t|0,i|0,4809,0)|0;r=Si(r|0,C|0,4096,0)|0;r=Ti(r|0,C|0,13)|0;h=((s|0)<0)<<31>>31;p=Zi(s|0,h|0,934,0)|0;p=Si(p|0,C|0,4096,0)|0;p=Ti(p|0,C|0,13)|0;l=Zi(u|0,j|0,1382,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=Zi(t|0,i|0,2714,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;n=Ri(s|0,h|0,12)|0;n=Si(n|0,C|0,4096,0)|0;n=Ti(n|0,C|0,13)|0;j=Ri(u|0,j|0,12)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;i=Zi(t|0,i|0,3430,0)|0;i=Si(i|0,C|0,4096,0)|0;i=Ti(i|0,C|0,13)|0;h=Zi(s|0,h|0,666,0)|0;h=Si(h|0,C|0,4096,0)|0;h=Ti(h|0,C|0,13)|0;c[o>>2]=r+q+p;c[k>>2]=n-(m+l);c[g>>2]=j-i-h;f=f+1|0}while((f|0)!=(e|0));return}function Ff(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0,k=0.0,l=0;if(!d)return;else e=0;do{l=a+(e<<2)|0;i=+g[l>>2];j=b+(e<<2)|0;h=+g[j>>2];f=c+(e<<2)|0;k=+g[f>>2];g[l>>2]=i+k*1.4019999504089355;g[j>>2]=i-h*.3441300094127655-k*.714139997959137;g[f>>2]=i+h*1.7719999551773071;e=e+1|0}while((e|0)!=(d|0));return}function Gf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=_(e,e)|0;o=Pc(h+e<<2)|0;if(!o){e=0;return e|0}if(h){i=0;f=a;while(1){c[o+(i+e<<2)>>2]=~~(+g[f>>2]*8192.0);i=i+1|0;if((i|0)==(h|0))break;else f=f+4|0}}if(b){m=(e|0)==0;n=0;do{if(!m){f=0;do{c[o+(f<<2)>>2]=c[c[d+(f<<2)>>2]>>2];f=f+1|0}while((f|0)!=(e|0));if(!m){a=0;k=o;do{k=k+(e<<2)|0;h=d+(a<<2)|0;f=c[h>>2]|0;c[f>>2]=0;i=0;j=0;l=k;while(1){p=c[l>>2]|0;q=c[o+(j<<2)>>2]|0;p=Zi(q|0,((q|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=Si(p|0,C|0,4096,0)|0;p=Ti(p|0,C|0,13)|0;i=p+i|0;c[f>>2]=i;j=j+1|0;if((j|0)==(e|0))break;else l=l+4|0}c[h>>2]=f+4;a=a+1|0}while((a|0)!=(e|0))}}n=n+1|0}while((n|0)!=(b|0))}Uc(o);q=1;return q|0}function Hf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=Pc(e<<3)|0;if(!m){e=0;return e|0}if(b){n=(e|0)==0;o=0;do{if(!n){f=0;do{c[m+(f<<2)>>2]=c[c[d+(f<<2)>>2]>>2];f=f+1|0}while((f|0)!=(e|0));if(!n){k=0;l=a;while(1){f=m+(k+e<<2)|0;g[f>>2]=0.0;h=0.0;i=0;j=l;while(1){h=h+ +g[j>>2]*+g[m+(i<<2)>>2];g[f>>2]=h;i=i+1|0;if((i|0)==(e|0))break;else j=j+4|0}i=d+(k<<2)|0;j=c[i>>2]|0;c[i>>2]=j+4;g[j>>2]=h;k=k+1|0;if((k|0)==(e|0))break;else l=l+(e<<2)|0}}}o=o+1|0}while((o|0)!=(b|0))}Uc(m);e=1;return e|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,i=0,j=0,k=0.0;if(!b)return;else j=0;do{i=a+(j<<3)|0;h[i>>3]=0.0;d=0.0;e=0;f=j;while(1){k=+g[c+(f<<2)>>2];d=d+k*k;e=e+1|0;if((e|0)==(b|0))break;else f=f+b|0}h[i>>3]=+O(+d);j=j+1|0}while((j|0)!=(b|0));return}function Jf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+32|0;B=F+28|0;w=F+24|0;x=F+20|0;y=F+16|0;z=F+12|0;A=F+8|0;k=F+4|0;l=F;f=d+76|0;D=c[f>>2]|0;C=D+(e*5640|0)+420|0;E=(c[C>>2]|0)+1|0;m=b+16|0;v=Pc((c[m>>2]|0)*528|0)|0;if(!v){E=0;i=F;return E|0}u=Pc(c[m>>2]<<2)|0;if(!u){Uc(v);E=0;i=F;return E|0}f=Pf(b,c[f>>2]|0,e)|0;if(!f){Uc(v);Uc(u);E=0;i=F;return E|0}g=c[m>>2]|0;if(g){h=0;j=v;while(1){c[u+(h<<2)>>2]=j;h=h+1|0;if(h>>>0>=g>>>0)break;else j=j+528|0}}Qf(b,d,e,x,y,z,A,k,l,w,B,u);s=c[w>>2]|0;q=_(c[m>>2]|0,s)|0;r=_(c[B>>2]|0,q)|0;t=D+(e*5640|0)+8|0;p=Qc(_((c[t>>2]|0)+1|0,r)|0,2)|0;h=f+4|0;c[h>>2]=p;if(!p){Uc(v);Uc(u);g=c[h>>2]|0;if(g){Uc(g);c[h>>2]=0}if(E){b=f;n=0;while(1){m=b+196|0;g=c[m>>2]|0;if(g){d=b+192|0;h=c[d>>2]|0;if(h){l=0;while(1){j=g+12|0;k=c[j>>2]|0;if(k){Uc(k);c[j>>2]=0;h=c[d>>2]|0}l=l+1|0;if(l>>>0>=h>>>0)break;else g=g+16|0}g=c[m>>2]|0}Uc(g);c[m>>2]=0}n=n+1|0;if((n|0)==(E|0))break;else b=b+232|0}}Uc(f);E=0;i=F;return E|0}g=c[f+196>>2]|0;p=c[b+24>>2]|0;c[f+200>>2]=c[x>>2];c[f+204>>2]=c[z>>2];c[f+208>>2]=c[y>>2];c[f+212>>2]=c[A>>2];c[f+20>>2]=1;c[f+16>>2]=s;c[f+12>>2]=q;c[f+8>>2]=r;m=c[f+192>>2]|0;if(m){b=0;d=p;while(1){j=c[g+12>>2]|0;h=c[u+(b<<2)>>2]|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];l=c[g+8>>2]|0;if(l){k=0;while(1){c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];k=k+1|0;if(k>>>0>=l>>>0)break;else{h=h+16|0;j=j+16|0}}}b=b+1|0;if(b>>>0>=m>>>0)break;else{g=g+16|0;d=d+52|0}}}if(E>>>0>1){m=f;o=1;do{g=c[m+428>>2]|0;c[m+432>>2]=c[x>>2];c[m+436>>2]=c[z>>2];c[m+440>>2]=c[y>>2];c[m+444>>2]=c[A>>2];c[m+252>>2]=1;c[m+248>>2]=s;c[m+244>>2]=q;c[m+240>>2]=r;b=c[m+424>>2]|0;if(b){n=0;d=p;while(1){j=c[g+12>>2]|0;h=c[u+(n<<2)>>2]|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];l=c[g+8>>2]|0;if(l){k=0;while(1){c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];k=k+1|0;if(k>>>0>=l>>>0)break;else{h=h+16|0;j=j+16|0}}}n=n+1|0;if(n>>>0>=b>>>0)break;else{g=g+16|0;d=d+52|0}}}c[m+236>>2]=c[m+4>>2];m=m+232|0;o=o+1|0}while((o|0)!=(E|0))}Uc(v);Uc(u);m=c[w>>2]|0;if(!(a[D+(e*5640|0)+5636>>0]&4)){d=c[B>>2]|0;l=(c[C>>2]|0)+1|0;if(!l){E=f;i=F;return E|0}k=c[D+(e*5640|0)+4>>2]|0;g=c[t>>2]|0;h=f;j=0;while(1){c[h+80>>2]=k;c[h+40>>2]=1;c[h+44>>2]=0;c[h+48>>2]=0;c[h+64>>2]=0;c[h+68>>2]=0;c[h+56>>2]=d;c[h+60>>2]=c[h+192>>2];c[h+52>>2]=g;c[h+72>>2]=m;j=j+1|0;if((j|0)==(l|0))break;else h=h+232|0}i=F;return f|0}else{j=(c[C>>2]|0)+1|0;if(!j){E=f;i=F;return E|0}k=f;g=D+(e*5640|0)+424|0;h=0;while(1){c[k+80>>2]=c[g+36>>2];c[k+40>>2]=1;c[k+44>>2]=c[g>>2];c[k+48>>2]=c[g+4>>2];c[k+64>>2]=0;c[k+68>>2]=0;c[k+56>>2]=c[g+12>>2];c[k+60>>2]=c[g+16>>2];c[k+52>>2]=c[g+8>>2];c[k+72>>2]=m;h=h+1|0;if((h|0)==(j|0))break;else{k=k+232|0;g=g+148|0}}i=F;return f|0}return 0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!a)return;d=a+4|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0}if(b){k=a;l=0;while(1){j=k+196|0;d=c[j>>2]|0;if(d){i=k+192|0;e=c[i>>2]|0;if(e){h=0;while(1){f=d+12|0;g=c[f>>2]|0;if(g){Uc(g);c[f>>2]=0;e=c[i>>2]|0}h=h+1|0;if(h>>>0>=e>>>0)break;else d=d+16|0}d=c[j>>2]|0}Uc(d);c[j>>2]=0}l=l+1|0;if((l|0)==(b|0))break;else k=k+232|0}}Uc(a);return}function Lf(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+32|0;G=L+28|0;F=L+24|0;B=L+20|0;C=L+16|0;D=L+12|0;E=L+8|0;H=L+4|0;I=L;J=f+76|0;x=c[J>>2]|0;K=(c[x+(g*5640|0)+420>>2]|0)+1|0;A=e+16|0;z=Pc((c[A>>2]|0)*528|0)|0;if(!z){g=0;i=L;return g|0}y=Pc(c[A>>2]<<2)|0;if(!y){Uc(z);g=0;i=L;return g|0}j=Pf(e,c[J>>2]|0,g)|0;if(!j){Uc(z);Uc(y);g=0;i=L;return g|0}k=c[A>>2]|0;if(k){l=0;m=z;while(1){c[y+(l<<2)>>2]=m;l=l+1|0;if(l>>>0>=k>>>0)break;else m=m+528|0}}Qf(e,f,g,B,C,D,E,H,I,F,G,y);u=c[F>>2]|0;v=_(c[A>>2]|0,u)|0;w=_(c[G>>2]|0,v)|0;a[j>>0]=(d[f+93>>0]|0)>>>3&1;t=Qc(_(c[x+(g*5640|0)+8>>2]|0,w)|0,2)|0;l=j+4|0;c[l>>2]=t;if(!t){Uc(z);Uc(y);k=c[l>>2]|0;if(k){Uc(k);c[l>>2]=0}if(K){q=j;r=0;while(1){p=q+196|0;k=c[p>>2]|0;if(k){o=q+192|0;l=c[o>>2]|0;if(l){n=0;while(1){m=k+12|0;e=c[m>>2]|0;if(e){Uc(e);c[m>>2]=0;l=c[o>>2]|0}n=n+1|0;if(n>>>0>=l>>>0)break;else k=k+16|0}k=c[p>>2]|0}Uc(k);c[p>>2]=0}r=r+1|0;if((r|0)==(K|0))break;else q=q+232|0}}Uc(j);g=0;i=L;return g|0}k=c[j+196>>2]|0;t=c[e+24>>2]|0;c[j+200>>2]=c[B>>2];c[j+204>>2]=c[D>>2];c[j+208>>2]=c[C>>2];c[j+212>>2]=c[E>>2];c[j+224>>2]=c[H>>2];c[j+228>>2]=c[I>>2];c[j+20>>2]=1;c[j+16>>2]=u;c[j+12>>2]=v;c[j+8>>2]=w;p=c[j+192>>2]|0;if(p){q=0;o=t;while(1){m=c[k+12>>2]|0;l=c[y+(q<<2)>>2]|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];n=c[k+8>>2]|0;if(n){e=0;while(1){c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];e=e+1|0;if(e>>>0>=n>>>0)break;else{l=l+16|0;m=m+16|0}}}q=q+1|0;if(q>>>0>=p>>>0)break;else{k=k+16|0;o=o+52|0}}}if(K>>>0>1){p=j;s=1;do{k=c[p+428>>2]|0;c[p+432>>2]=c[B>>2];c[p+436>>2]=c[D>>2];c[p+440>>2]=c[C>>2];c[p+444>>2]=c[E>>2];c[p+456>>2]=c[H>>2];c[p+460>>2]=c[I>>2];c[p+252>>2]=1;c[p+248>>2]=u;c[p+244>>2]=v;c[p+240>>2]=w;q=c[p+424>>2]|0;if(q){r=0;o=t;while(1){m=c[k+12>>2]|0;l=c[y+(r<<2)>>2]|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];n=c[k+8>>2]|0;if(n){e=0;while(1){c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];e=e+1|0;if(e>>>0>=n>>>0)break;else{l=l+16|0;m=m+16|0}}}r=r+1|0;if(r>>>0>=q>>>0)break;else{k=k+16|0;o=o+52|0}}}c[p+236>>2]=c[p+4>>2];p=p+232|0;s=s+1|0}while((s|0)!=(K|0))}Uc(z);Uc(y);do if(a[x+(g*5640|0)+5636>>0]&4){k=b[f>>1]|0;if((k&65535)>2){if(!((h|0)==1|(k&65535)<7))break}else if((h|0)!=1)break;Rf(c[J>>2]|0,g,c[B>>2]|0,c[C>>2]|0,c[D>>2]|0,c[E>>2]|0,c[F>>2]|0,c[H>>2]|0,c[I>>2]|0);g=j;i=L;return g|0}while(0);w=c[A>>2]|0;v=c[B>>2]|0;u=c[C>>2]|0;t=c[D>>2]|0;s=c[E>>2]|0;r=c[F>>2]|0;q=c[G>>2]|0;p=c[H>>2]|0;o=c[I>>2]|0;k=c[J>>2]|0;m=(c[k+(g*5640|0)+420>>2]|0)+1|0;if(!m){g=j;i=L;return g|0}e=c[k+(g*5640|0)+8>>2]|0;n=c[k+(g*5640|0)+4>>2]|0;k=k+(g*5640|0)+424|0;l=0;while(1){c[k+76>>2]=0;c[k+92>>2]=w;c[k+72>>2]=0;c[k+88>>2]=q;c[k+68>>2]=0;c[k+84>>2]=e;c[k+36>>2]=n;c[k+80>>2]=0;c[k+96>>2]=r;c[k+100>>2]=v;c[k+104>>2]=u;c[k+108>>2]=t;c[k+112>>2]=s;c[k+116>>2]=p;c[k+120>>2]=o;l=l+1|0;if((l|0)==(m|0))break;else k=k+148|0}i=L;return j|0}function Mf(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;Q=c[e+76>>2]|0;R=Q+(f*5640|0)+424+(g*148|0)+36|0;S=Vc(c[R>>2]|0)|0;c[d+(g*232|0)+40>>2]=1;T=d+(g*232|0)+44|0;c[d+(g*232|0)+80>>2]=c[R>>2];do if(a[e+93>>0]&8){k=b[e>>1]|0;if((k&65535)>2){if(!((j|0)==1&(k&65535)>6|(k+-3&65535)<4))break}else if(!((j|0)==1|(k+-3&65535)<4))break;k=i+1|0;a:do if((k|0)<4){j=Q+(f*5640|0)+424+(g*148|0)+72|0;l=Q+(f*5640|0)+424+(g*148|0)+88|0;m=d+(g*232|0)+56|0;n=Q+(f*5640|0)+424+(g*148|0)+76|0;o=d+(g*232|0)+48|0;p=Q+(f*5640|0)+424+(g*148|0)+92|0;q=d+(g*232|0)+60|0;r=Q+(f*5640|0)+424+(g*148|0)+68|0;s=d+(g*232|0)+64|0;t=Q+(f*5640|0)+424+(g*148|0)+84|0;u=d+(g*232|0)+52|0;v=Q+(f*5640|0)+424+(g*148|0)+80|0;w=d+(g*232|0)+68|0;x=Q+(f*5640|0)+424+(g*148|0)+96|0;y=d+(g*232|0)+72|0;z=Q+(f*5640|0)+424+(g*148|0)+100|0;A=d+(g*232|0)+96|0;B=Q+(f*5640|0)+424+(g*148|0)+108|0;C=d+(g*232|0)+104|0;D=Q+(f*5640|0)+424+(g*148|0)+104|0;E=d+(g*232|0)+100|0;F=Q+(f*5640|0)+424+(g*148|0)+112|0;G=d+(g*232|0)+108|0;while(1){b:do switch(a[S+k>>0]|0){case 82:{c[T>>2]=c[j>>2];c[m>>2]=c[l>>2];break}case 67:{c[o>>2]=c[n>>2];c[q>>2]=c[p>>2];break}case 76:{c[s>>2]=c[r>>2];c[u>>2]=c[t>>2];break}case 80:if((c[R>>2]|0)>>>0<2){c[w>>2]=c[v>>2];c[y>>2]=c[x>>2];break b}else{c[A>>2]=c[z>>2];c[C>>2]=c[B>>2];c[E>>2]=c[D>>2];c[G>>2]=c[F>>2];break b}default:{}}while(0);k=k+1|0;if((k|0)==4)break a}}while(0);k=(i|0)>-1;if(!h){if(!k)return;m=Q+(f*5640|0)+424+(g*148|0)+76|0;n=Q+(f*5640|0)+424+(g*148|0)+132|0;o=d+(g*232|0)+48|0;p=d+(g*232|0)+60|0;q=Q+(f*5640|0)+424+(g*148|0)+72|0;r=Q+(f*5640|0)+424+(g*148|0)+128|0;s=d+(g*232|0)+56|0;t=Q+(f*5640|0)+424+(g*148|0)+68|0;u=Q+(f*5640|0)+424+(g*148|0)+124|0;v=d+(g*232|0)+64|0;w=d+(g*232|0)+52|0;x=Q+(f*5640|0)+424+(g*148|0)+80|0;y=Q+(f*5640|0)+424+(g*148|0)+136|0;z=d+(g*232|0)+68|0;A=d+(g*232|0)+72|0;B=Q+(f*5640|0)+424+(g*148|0)+100|0;C=Q+(f*5640|0)+424+(g*148|0)+140|0;D=Q+(f*5640|0)+424+(g*148|0)+108|0;E=Q+(f*5640|0)+424+(g*148|0)+144|0;F=d+(g*232|0)+96|0;G=Q+(f*5640|0)+424+(g*148|0)+116|0;h=d+(g*232|0)+100|0;H=d+(g*232|0)+104|0;l=Q+(f*5640|0)+424+(g*148|0)+120|0;j=d+(g*232|0)+108|0;k=i;while(1){c:do switch(a[S+k>>0]|0){case 67:{g=c[m>>2]|0;c[o>>2]=g;g=g+1|0;c[p>>2]=g;c[n>>2]=g;break}case 82:{g=c[q>>2]|0;c[T>>2]=g;g=g+1|0;c[s>>2]=g;c[r>>2]=g;break}case 76:{g=c[t>>2]|0;c[v>>2]=g;g=g+1|0;c[w>>2]=g;c[u>>2]=g;break}case 80:if((c[R>>2]|0)>>>0<2){g=c[x>>2]|0;c[z>>2]=g;g=g+1|0;c[A>>2]=g;c[y>>2]=g;break c}else{g=c[B>>2]|0;i=c[D>>2]|0;c[F>>2]=g;f=c[G>>2]|0;f=f+g-((g>>>0)%(f>>>0)|0)|0;c[h>>2]=f;c[H>>2]=i;g=c[l>>2]|0;g=g+i-((i>>>0)%(g>>>0)|0)|0;c[j>>2]=g;c[C>>2]=f;c[E>>2]=g;break c}default:{}}while(0);if((k|0)>0)k=k+-1|0;else break}return}if(!k)return;L=Q+(f*5640|0)+424+(g*148|0)+128|0;M=Q+(f*5640|0)+424+(g*148|0)+88|0;N=Q+(f*5640|0)+424+(g*148|0)+72|0;O=d+(g*232|0)+56|0;P=Q+(f*5640|0)+424+(g*148|0)+132|0;p=Q+(f*5640|0)+424+(g*148|0)+92|0;q=Q+(f*5640|0)+424+(g*148|0)+76|0;r=d+(g*232|0)+48|0;s=d+(g*232|0)+60|0;t=Q+(f*5640|0)+424+(g*148|0)+124|0;u=Q+(f*5640|0)+424+(g*148|0)+84|0;v=Q+(f*5640|0)+424+(g*148|0)+68|0;w=d+(g*232|0)+64|0;x=d+(g*232|0)+52|0;y=Q+(f*5640|0)+424+(g*148|0)+136|0;z=Q+(f*5640|0)+424+(g*148|0)+96|0;A=Q+(f*5640|0)+424+(g*148|0)+80|0;B=d+(g*232|0)+68|0;C=d+(g*232|0)+72|0;D=Q+(f*5640|0)+424+(g*148|0)+140|0;E=Q+(f*5640|0)+424+(g*148|0)+104|0;F=d+(g*232|0)+96|0;G=Q+(f*5640|0)+424+(g*148|0)+116|0;h=d+(g*232|0)+100|0;H=Q+(f*5640|0)+424+(g*148|0)+144|0;I=Q+(f*5640|0)+424+(g*148|0)+112|0;J=d+(g*232|0)+104|0;K=Q+(f*5640|0)+424+(g*148|0)+120|0;n=d+(g*232|0)+108|0;o=Q+(f*5640|0)+424+(g*148|0)+100|0;m=Q+(f*5640|0)+424+(g*148|0)+108|0;l=i;k=1;while(1){j=S+l|0;d:do switch(a[j>>0]|0){case 67:{i=c[P>>2]|0;c[r>>2]=i+-1;c[s>>2]=i;break}case 82:{i=c[L>>2]|0;c[T>>2]=i+-1;c[O>>2]=i;break}case 76:{i=c[t>>2]|0;c[w>>2]=i+-1;c[x>>2]=i;break}case 80:if((c[R>>2]|0)>>>0<2){i=c[y>>2]|0;c[B>>2]=i+-1;c[C>>2]=i;break d}else{i=c[D>>2]|0;Q=c[G>>2]|0;c[F>>2]=i-Q-((i>>>0)%(Q>>>0)|0);c[h>>2]=i;i=c[H>>2]|0;Q=c[K>>2]|0;c[J>>2]=i-Q-((i>>>0)%(Q>>>0)|0);c[n>>2]=i;break d}default:{}}while(0);e:do if((k|0)==1)switch(a[j>>0]|0){case 82:{k=c[L>>2]|0;if((k|0)!=(c[M>>2]|0)){c[T>>2]=k;k=k+1|0;c[O>>2]=k;c[L>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[N>>2]|0;c[T>>2]=k;k=k+1|0;c[O>>2]=k;c[L>>2]=k;k=1;break e}case 67:{k=c[P>>2]|0;if((k|0)!=(c[p>>2]|0)){c[r>>2]=k;k=k+1|0;c[s>>2]=k;c[P>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[q>>2]|0;c[r>>2]=k;k=k+1|0;c[s>>2]=k;c[P>>2]=k;k=1;break e}case 76:{k=c[t>>2]|0;if((k|0)!=(c[u>>2]|0)){c[w>>2]=k;k=k+1|0;c[x>>2]=k;c[t>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[v>>2]|0;c[w>>2]=k;k=k+1|0;c[x>>2]=k;c[t>>2]=k;k=1;break e}case 80:{if((c[R>>2]|0)>>>0<2){k=c[y>>2]|0;if((k|0)!=(c[z>>2]|0)){c[B>>2]=k;k=k+1|0;c[C>>2]=k;c[y>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[A>>2]|0;c[B>>2]=k;k=k+1|0;c[C>>2]=k;c[y>>2]=k;k=1;break e}k=c[D>>2]|0;if(k>>>0<(c[E>>2]|0)>>>0){c[F>>2]=k;i=c[G>>2]|0;k=i+k-((k>>>0)%(i>>>0)|0)|0;c[h>>2]=k;c[D>>2]=k;k=0;break e}j=c[H>>2]|0;if(j>>>0<(c[I>>2]|0)>>>0){c[J>>2]=j;i=c[K>>2]|0;k=0;j=i+j-((j>>>0)%(i>>>0)|0)|0}else{if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}i=c[m>>2]|0;c[H>>2]=i;c[J>>2]=i;j=c[K>>2]|0;k=1;j=j+i-((i>>>0)%(j>>>0)|0)|0}c[n>>2]=j;c[H>>2]=j;Q=c[o>>2]|0;c[F>>2]=Q;i=c[G>>2]|0;i=i+Q-((Q>>>0)%(i>>>0)|0)|0;c[h>>2]=i;c[D>>2]=i;break e}default:{k=1;break e}}while(0);if((l|0)>0)l=l+-1|0;else break}return}while(0);c[T>>2]=c[Q+(f*5640|0)+424+(g*148|0)+72>>2];c[d+(g*232|0)+56>>2]=c[Q+(f*5640|0)+424+(g*148|0)+88>>2];c[d+(g*232|0)+48>>2]=c[Q+(f*5640|0)+424+(g*148|0)+76>>2];c[d+(g*232|0)+60>>2]=c[Q+(f*5640|0)+424+(g*148|0)+92>>2];c[d+(g*232|0)+64>>2]=c[Q+(f*5640|0)+424+(g*148|0)+68>>2];c[d+(g*232|0)+52>>2]=c[Q+(f*5640|0)+424+(g*148|0)+84>>2];c[d+(g*232|0)+68>>2]=c[Q+(f*5640|0)+424+(g*148|0)+80>>2];c[d+(g*232|0)+72>>2]=c[Q+(f*5640|0)+424+(g*148|0)+96>>2];c[d+(g*232|0)+96>>2]=c[Q+(f*5640|0)+424+(g*148|0)+100>>2];c[d+(g*232|0)+104>>2]=c[Q+(f*5640|0)+424+(g*148|0)+108>>2];c[d+(g*232|0)+100>>2]=c[Q+(f*5640|0)+424+(g*148|0)+104>>2];c[d+(g*232|0)+108>>2]=c[Q+(f*5640|0)+424+(g*148|0)+112>>2];return}function Nf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;I=c[d+76>>2]|0;K=c[d+24>>2]|0;N=(e>>>0)%(K>>>0)|0;K=(e>>>0)/(K>>>0)|0;L=c[d+4>>2]|0;H=c[d+12>>2]|0;G=(_(H,N)|0)+L|0;M=c[b>>2]|0;M=(G|0)>(M|0)?G:M;L=(_(H,N+1|0)|0)+L|0;N=c[b+8>>2]|0;N=(L|0)<(N|0)?L:N;L=c[d+8>>2]|0;H=c[d+16>>2]|0;G=(_(H,K)|0)+L|0;J=c[b+4>>2]|0;J=(G|0)>(J|0)?G:J;L=(_(H,K+1|0)|0)+L|0;K=c[b+12>>2]|0;K=(L|0)<(K|0)?L:K;L=c[b+16>>2]|0;if(!L){l=0;k=2147483647;j=2147483647;i=0}else{D=K+-1|0;E=N+-1|0;F=J+-1|0;G=M+-1|0;l=0;k=2147483647;j=2147483647;i=0;H=0;A=c[b+24>>2]|0;B=c[I+(e*5640|0)+5584>>2]|0;while(1){x=c[A>>2]|0;y=c[A+4>>2]|0;z=c[B+4>>2]|0;i=z>>>0>i>>>0?z:i;if(z){v=(D+y|0)/(y|0)|0;t=(E+x|0)/(x|0)|0;r=(F+y|0)/(y|0)|0;p=(G+x|0)/(x|0)|0;p=Si(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;q=C;r=Si(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;s=C;t=Si(t|0,((t|0)<0)<<31>>31|0,-1,-1)|0;u=C;v=Si(v|0,((v|0)<0)<<31>>31|0,-1,-1)|0;w=C;d=0;o=0;while(1){m=c[B+812+(o<<2)>>2]|0;n=c[B+944+(o<<2)>>2]|0;g=d+-1+z|0;h=x<>>0>>0?k:h;j=j>>>0>>0?j:O;O=Ri(1,0,g|0)|0;h=C;d=Si(p|0,q|0,O|0,h|0)|0;d=Pi(d|0,C|0,g|0)|0;f=Si(r|0,s|0,O|0,h|0)|0;f=Pi(f|0,C|0,g|0)|0;b=Si(t|0,u|0,O|0,h|0)|0;b=Pi(b|0,C|0,g|0)|0;h=Si(v|0,w|0,O|0,h|0)|0;g=Pi(h|0,C|0,g|0)|0;h=Ri(1,0,n|0)|0;h=Si(h|0,C|0,-1,-1)|0;h=Si(h|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;h=Pi(h|0,C|0,n|0)|0;if((d|0)==(b|0))d=0;else{O=Ri(1,0,m|0)|0;O=Si(O|0,C|0,-1,-1)|0;O=Si(O|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;O=Pi(O|0,C|0,m|0)|0;d=(O<>m<>m}b=_(d,(f|0)==(g|0)?0:(h<>n<>n)|0;l=b>>>0>l>>>0?b:l;b=o+1|0;if(b>>>0>>0){d=~o;o=b}else break}}H=H+1|0;if(H>>>0>=L>>>0)break;else{A=A+52|0;B=B+1080|0}}}if(a[I+(e*5640|0)+5636>>0]&4){Rf(I,e,M,N,J,K,l,k,j);return}f=(c[I+(e*5640|0)+420>>2]|0)+1|0;if(!f)return;g=c[I+(e*5640|0)+8>>2]|0;h=c[I+(e*5640|0)+4>>2]|0;d=I+(e*5640|0)+424|0;b=0;while(1){c[d+76>>2]=0;c[d+92>>2]=L;c[d+72>>2]=0;c[d+88>>2]=i;c[d+68>>2]=0;c[d+84>>2]=g;c[d+36>>2]=h;c[d+80>>2]=0;c[d+96>>2]=l;c[d+100>>2]=M;c[d+104>>2]=N;c[d+108>>2]=J;c[d+112>>2]=K;c[d+116>>2]=k;c[d+120>>2]=j;b=b+1|0;if((b|0)==(f|0))break;else d=d+148|0}return}function Of(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0;switch(c[d+80>>2]|0){case 0:{e=d+40|0;if(!(c[e>>2]|0)){E=d+32|0;l=E;E=c[E>>2]|0;f=18}else{c[e>>2]=0;t=c[d+64>>2]|0;c[d+36>>2]=t;f=5}while(1){if((f|0)==5){if(t>>>0>=(c[d+52>>2]|0)>>>0){nb=0;f=153;break}z=c[d+44>>2]|0;c[d+28>>2]=z;f=7}else if((f|0)==18){j=E+1|0;c[l>>2]=j;h=l;f=14}while(1){if((f|0)==7){f=0;if(z>>>0>=(c[d+56>>2]|0)>>>0){f=21;break}A=c[d+48>>2]|0;p=d+24|0;c[p>>2]=A}else if((f|0)==14){if(j>>>0<(c[d+72>>2]|0)>>>0){f=16;break}F=d+24|0;n=F;F=c[F>>2]|0;f=19}while(1){if((f|0)==19){f=0;A=F+1|0;c[n>>2]=A;p=n}if(A>>>0>=(c[d+60>>2]|0)>>>0){f=20;break}B=c[d+196>>2]|0;C=c[d+28>>2]|0;if(C>>>0<(c[B+(A<<4)+8>>2]|0)>>>0)break;else{n=p;F=A;f=19}}if((f|0)==20){f=d+28|0;z=(c[f>>2]|0)+1|0;c[f>>2]=z;f=7;continue}e=c[B+(A<<4)+12>>2]|0;if(!(a[d>>0]|0))c[d+72>>2]=_(c[e+(C<<4)+12>>2]|0,c[e+(C<<4)+8>>2]|0)|0;j=c[d+68>>2]|0;h=d+32|0;c[h>>2]=j;f=14}if((f|0)==16){f=0;D=_(c[d+8>>2]|0,c[d+36>>2]|0)|0;D=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+D|0;D=D+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;D=D+(_(c[d+20>>2]|0,j)|0)|0;D=(c[d+4>>2]|0)+(D<<1)|0;if(!(b[D>>1]|0))break;else{l=h;E=j;f=18;continue}}else if((f|0)==21){f=d+36|0;t=(c[f>>2]|0)+1|0;c[f>>2]=t;f=5;continue}}if((f|0)==153)return nb|0;b[D>>1]=1;d=1;return d|0}case 1:{e=d+40|0;if(!(c[e>>2]|0)){x=d+32|0;k=x;x=c[x>>2]|0;f=38}else{c[e>>2]=0;G=c[d+44>>2]|0;c[d+28>>2]=G;f=25}while(1){if((f|0)==25){if(G>>>0>=(c[d+56>>2]|0)>>>0){nb=0;f=153;break}r=c[d+64>>2]|0;c[d+36>>2]=r;f=27}else if((f|0)==38){i=x+1|0;c[k>>2]=i;g=k;f=34}while(1){if((f|0)==27){f=0;if(r>>>0>=(c[d+52>>2]|0)>>>0){f=41;break}s=c[d+48>>2]|0;o=d+24|0;c[o>>2]=s}else if((f|0)==34){if(i>>>0<(c[d+72>>2]|0)>>>0){f=36;break}y=d+24|0;m=y;y=c[y>>2]|0;f=39}while(1){if((f|0)==39){f=0;s=y+1|0;c[m>>2]=s;o=m}if(s>>>0>=(c[d+60>>2]|0)>>>0){f=40;break}u=c[d+196>>2]|0;v=c[d+28>>2]|0;if(v>>>0<(c[u+(s<<4)+8>>2]|0)>>>0)break;else{m=o;y=s;f=39}}if((f|0)==40){f=d+36|0;r=(c[f>>2]|0)+1|0;c[f>>2]=r;f=27;continue}e=c[u+(s<<4)+12>>2]|0;if(!(a[d>>0]|0))c[d+72>>2]=_(c[e+(v<<4)+12>>2]|0,c[e+(v<<4)+8>>2]|0)|0;i=c[d+68>>2]|0;g=d+32|0;c[g>>2]=i;f=34}if((f|0)==36){f=0;w=_(c[d+8>>2]|0,c[d+36>>2]|0)|0;w=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+w|0;w=w+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;w=w+(_(c[d+20>>2]|0,i)|0)|0;w=(c[d+4>>2]|0)+(w<<1)|0;if(!(b[w>>1]|0))break;else{k=g;x=i;f=38;continue}}else if((f|0)==41){f=d+28|0;G=(c[f>>2]|0)+1|0;c[f>>2]=G;f=25;continue}}if((f|0)==153)return nb|0;b[w>>1]=1;d=1;return d|0}case 2:{e=d+40|0;if(!(c[e>>2]|0)){lb=d+36|0;Ta=lb;lb=c[lb>>2]|0;f=75}else{c[e>>2]=0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;q=c[d+192>>2]|0;if(q){r=c[d+196>>2]|0;e=0;f=0;s=0;do{j=c[r+(s<<4)+8>>2]|0;if(j){k=c[r+(s<<4)+12>>2]|0;l=c[r+(s<<4)>>2]|0;m=c[r+(s<<4)+4>>2]|0;n=j+-1|0;g=0;i=0;while(1){h=n+g|0;Sa=l<>2]|0);h=m<<(c[k+(i<<4)+4>>2]|0)+h;e=(e|0)==0?Sa:e>>>0>>0?e:Sa;f=(f|0)==0?h:f>>>0>>0?f:h;h=i+1|0;if((h|0)==(j|0))break;else{g=~i;i=h}}c[o>>2]=e;c[p>>2]=f}s=s+1|0}while((s|0)!=(q|0))}if(!(a[d>>0]|0)){c[d+104>>2]=c[d+204>>2];c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}J=c[d+44>>2]|0;c[d+28>>2]=J;f=54}while(1){if((f|0)==54){if(J>>>0>=(c[d+56>>2]|0)>>>0){nb=0;f=153;break}Xa=c[d+104>>2]|0;c[d+220>>2]=Xa;f=56}else if((f|0)==75){jb=lb+1|0;c[Ta>>2]=jb;Ua=Ta;f=71}while(1){if((f|0)==56){if((Xa|0)>=(c[d+108>>2]|0)){f=79;break}Ya=c[d+96>>2]|0;c[d+216>>2]=Ya;f=58}else if((f|0)==71){if(jb>>>0<(c[d+52>>2]|0)>>>0){f=73;break}mb=d+24|0;Va=mb;mb=c[mb>>2]|0;f=76}while(1){if((f|0)==58){if((Ya|0)>=(c[d+100>>2]|0)){f=78;break}Za=c[d+48>>2]|0;Wa=d+24|0;c[Wa>>2]=Za}else if((f|0)==76){Za=mb+1|0;c[Va>>2]=Za;Wa=Va}if(Za>>>0>=(c[d+60>>2]|0)>>>0){Ya=c[d+224>>2]|0;f=d+216|0;Sa=c[f>>2]|0;Ya=Sa+Ya-((Sa|0)%(Ya|0)|0)|0;c[f>>2]=Ya;f=58;continue}f=c[d+196>>2]|0;m=c[d+28>>2]|0;e=c[f+(Za<<4)+8>>2]|0;if(m>>>0>=e>>>0){Va=Wa;mb=Za;f=76;continue}n=c[f+(Za<<4)+12>>2]|0;i=e+~m|0;j=c[d+200>>2]|0;k=c[f+(Za<<4)>>2]|0;_a=k<>2]|0;Sa=c[f+(Za<<4)+4>>2]|0;ab=Sa<>2]|0)|0)/(_a|0)|0;db=ab+-1|0;f=(db+(c[d+212>>2]|0)|0)/(ab|0)|0;eb=c[n+(m<<4)>>2]|0;g=eb+i|0;fb=c[n+(m<<4)+4>>2]|0;h=fb+i|0;gb=c[d+220>>2]|0;if((gb|0)%(Sa<>2]|0;if((hb|0)%(k<>2]|0;if(!ib){Va=Wa;mb=Za;f=76;continue}if((bb|0)==(f|0)|(($a|0)==(e|0)?1:(c[n+(m<<4)+12>>2]|0)==0)){Va=Wa;mb=Za;f=76}else{f=70;break}}if((f|0)==70){c[d+32>>2]=(((cb+hb|0)/(_a|0)|0)>>eb)-($a>>eb)+(_((((db+gb|0)/(ab|0)|0)>>fb)-(bb>>fb)|0,ib)|0);jb=c[d+64>>2]|0;Ua=d+36|0;c[Ua>>2]=jb;f=71;continue}else if((f|0)==78){Xa=c[d+228>>2]|0;f=d+220|0;Sa=c[f>>2]|0;Xa=Sa+Xa-((Sa|0)%(Xa|0)|0)|0;c[f>>2]=Xa;f=56;continue}}if((f|0)==73){f=0;kb=_(c[d+8>>2]|0,jb)|0;kb=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+kb|0;kb=kb+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;kb=kb+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;kb=(c[d+4>>2]|0)+(kb<<1)|0;if(!(b[kb>>1]|0))break;else{Ta=Ua;lb=jb;f=75;continue}}else if((f|0)==79){f=d+28|0;J=(c[f>>2]|0)+1|0;c[f>>2]=J;f=54;continue}}if((f|0)==153)return nb|0;b[kb>>1]=1;d=1;return d|0}case 3:{f=d+40|0;if(!(c[f>>2]|0)){Ra=c[d+24>>2]|0;Ka=d+36|0;pa=Ka;Ka=c[Ka>>2]|0;Na=Ra;Ra=(c[d+196>>2]|0)+(Ra<<4)|0;f=113}else{c[f>>2]=0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;q=c[d+192>>2]|0;if(q){r=c[d+196>>2]|0;e=0;f=0;s=0;do{j=c[r+(s<<4)+8>>2]|0;if(j){k=c[r+(s<<4)+12>>2]|0;l=c[r+(s<<4)>>2]|0;m=c[r+(s<<4)+4>>2]|0;n=j+-1|0;g=0;i=0;while(1){h=n+g|0;mb=l<>2]|0);h=m<<(c[k+(i<<4)+4>>2]|0)+h;e=(e|0)==0?mb:e>>>0>>0?e:mb;f=(f|0)==0?h:f>>>0>>0?f:h;h=i+1|0;if((h|0)==(j|0))break;else{g=~i;i=h}}c[o>>2]=e;c[p>>2]=f}s=s+1|0}while((s|0)!=(q|0))}if(!(a[d>>0]|0)){e=c[d+204>>2]|0;c[d+104>>2]=e;c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}else e=c[d+104>>2]|0;c[d+220>>2]=e;f=93}while(1){if((f|0)==93){if((e|0)>=(c[d+108>>2]|0)){nb=0;f=153;break}ta=c[d+96>>2]|0;c[d+216>>2]=ta;f=95}else if((f|0)==113){Ha=Ka+1|0;c[pa>>2]=Ha;qa=pa;Ia=Na;Qa=Ra;f=109}while(1){if((f|0)==95){if((ta|0)>=(c[d+100>>2]|0)){f=117;break}ua=c[d+48>>2]|0;c[d+24>>2]=ua;f=97}else if((f|0)==109){if(Ha>>>0<(c[d+52>>2]|0)>>>0){f=111;break}La=d+28|0;ra=La;La=c[La>>2]|0;Oa=Ia;Sa=Qa;f=114}while(1){if((f|0)==97){if(ua>>>0>=(c[d+60>>2]|0)>>>0){f=116;break}Pa=(c[d+196>>2]|0)+(ua<<4)|0;va=c[d+44>>2]|0;sa=d+28|0;c[sa>>2]=va;Ma=ua}else if((f|0)==114){va=La+1|0;c[ra>>2]=va;sa=ra;Ma=Oa;Pa=Sa}mb=c[d+56>>2]|0;f=c[Pa+8>>2]|0;if(va>>>0>=(mb>>>0>>0?mb:f)>>>0){ua=Ma+1|0;c[d+24>>2]=ua;f=97;continue}n=c[Pa+12>>2]|0;f=f+~va|0;g=c[d+200>>2]|0;h=c[Pa>>2]|0;wa=h<>2]|0;mb=c[Pa+4>>2]|0;ya=mb<>2]|0)|0)/(wa|0)|0;Ba=ya+-1|0;k=(Ba+(c[d+212>>2]|0)|0)/(ya|0)|0;Ca=c[n+(va<<4)>>2]|0;l=Ca+f|0;Da=c[n+(va<<4)+4>>2]|0;m=Da+f|0;Ea=c[d+220>>2]|0;if((Ea|0)%(mb<>2]|0;if((Fa|0)%(h<>2]|0;if(!Ga){ra=sa;La=va;Oa=Ma;Sa=Pa;f=114;continue}if((za|0)==(k|0)|((xa|0)==(j|0)?1:(c[n+(va<<4)+12>>2]|0)==0)){ra=sa;La=va;Oa=Ma;Sa=Pa;f=114}else{f=108;break}}if((f|0)==108){c[d+32>>2]=(((Aa+Fa|0)/(wa|0)|0)>>Ca)-(xa>>Ca)+(_((((Ba+Ea|0)/(ya|0)|0)>>Da)-(za>>Da)|0,Ga)|0);Ha=c[d+64>>2]|0;qa=d+36|0;c[qa>>2]=Ha;Ia=Ma;Qa=Pa;f=109;continue}else if((f|0)==116){ta=c[d+224>>2]|0;f=d+216|0;mb=c[f>>2]|0;ta=mb+ta-((mb|0)%(ta|0)|0)|0;c[f>>2]=ta;f=95;continue}}if((f|0)==111){f=0;Ja=_(c[d+8>>2]|0,Ha)|0;Ja=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+Ja|0;Ja=Ja+(_(c[d+16>>2]|0,Ia)|0)|0;Ja=Ja+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;Ja=(c[d+4>>2]|0)+(Ja<<1)|0;if(!(b[Ja>>1]|0))break;else{pa=qa;Ka=Ha;Na=Ia;Ra=Qa;f=113;continue}}else if((f|0)==117){e=c[d+228>>2]|0;f=d+220|0;mb=c[f>>2]|0;e=mb+e-((mb|0)%(e|0)|0)|0;c[f>>2]=e;f=93;continue}}if((f|0)==153)return nb|0;b[Ja>>1]=1;d=1;return d|0}case 4:{e=d+40|0;if(!(c[e>>2]|0)){na=c[d+24>>2]|0;ea=d+36|0;K=ea;ea=c[ea>>2]|0;ga=na;na=(c[d+196>>2]|0)+(na<<4)|0;f=148}else{c[e>>2]=0;O=c[d+48>>2]|0;c[d+24>>2]=O;f=121}while(1){if((f|0)==121){if(O>>>0>=(c[d+60>>2]|0)>>>0){nb=0;f=153;break}e=c[d+196>>2]|0;q=e+(O<<4)|0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;l=c[e+(O<<4)+8>>2]|0;if(l){m=c[e+(O<<4)+12>>2]|0;n=c[q>>2]|0;h=c[e+(O<<4)+4>>2]|0;i=l+-1|0;f=0;e=0;g=0;k=0;while(1){j=i+g|0;mb=n<>2]|0);j=h<<(c[m+(k<<4)+4>>2]|0)+j;f=(f|0)==0?mb:f>>>0>>0?f:mb;e=(e|0)==0?j:e>>>0>>0?e:j;j=k+1|0;if((j|0)==(l|0))break;else{g=~k;k=j}}c[o>>2]=f;c[p>>2]=e}if(!(a[d>>0]|0)){e=c[d+204>>2]|0;c[d+104>>2]=e;c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}else e=c[d+104>>2]|0;c[d+220>>2]=e;H=e;I=O;f=130}else if((f|0)==148){ba=ea+1|0;c[K>>2]=ba;L=K;ca=ga;ma=na;f=144}while(1){if((f|0)==130){if((H|0)>=(c[d+108>>2]|0)){f=152;break}P=c[d+96>>2]|0;c[d+216>>2]=P;ha=I;ka=q;f=132}else if((f|0)==144){if(ba>>>0<(c[d+52>>2]|0)>>>0){f=146;break}fa=d+28|0;M=fa;fa=c[fa>>2]|0;ja=ca;oa=ma;f=149}while(1){if((f|0)==132){if((P|0)>=(c[d+100>>2]|0)){f=151;break}Q=c[d+44>>2]|0;N=d+28|0;c[N>>2]=Q;ia=ha;la=ka}else if((f|0)==149){Q=fa+1|0;c[M>>2]=Q;N=M;ia=ja;la=oa}mb=c[d+56>>2]|0;e=c[la+8>>2]|0;if(Q>>>0>=(mb>>>0>>0?mb:e)>>>0){P=c[d+224>>2]|0;ha=d+216|0;ka=c[ha>>2]|0;P=ka+P-((ka|0)%(P|0)|0)|0;c[ha>>2]=P;ha=ia;ka=la;f=132;continue}m=c[la+12>>2]|0;e=e+~Q|0;f=c[d+200>>2]|0;g=c[la>>2]|0;R=g<>2]|0;mb=c[la+4>>2]|0;T=mb<>2]|0)|0)/(R|0)|0;W=T+-1|0;j=(W+(c[d+212>>2]|0)|0)/(T|0)|0;X=c[m+(Q<<4)>>2]|0;k=X+e|0;Y=c[m+(Q<<4)+4>>2]|0;l=Y+e|0;Z=c[d+220>>2]|0;if((Z|0)%(mb<>2]|0;if(($|0)%(g<>2]|0;if(!aa){M=N;fa=Q;ja=ia;oa=la;f=149;continue}if((U|0)==(j|0)|((S|0)==(i|0)?1:(c[m+(Q<<4)+12>>2]|0)==0)){M=N;fa=Q;ja=ia;oa=la;f=149}else{f=143;break}}if((f|0)==143){c[d+32>>2]=(((V+$|0)/(R|0)|0)>>X)-(S>>X)+(_((((W+Z|0)/(T|0)|0)>>Y)-(U>>Y)|0,aa)|0);ba=c[d+64>>2]|0;L=d+36|0;c[L>>2]=ba;ca=ia;ma=la;f=144;continue}else if((f|0)==151){H=c[d+228>>2]|0;I=d+220|0;q=c[I>>2]|0;H=q+H-((q|0)%(H|0)|0)|0;c[I>>2]=H;I=ha;q=ka;f=130;continue}}if((f|0)==146){f=0;da=_(c[d+8>>2]|0,ba)|0;da=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+da|0;da=da+(_(c[d+16>>2]|0,ca)|0)|0;da=da+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;da=(c[d+4>>2]|0)+(da<<1)|0;if(!(b[da>>1]|0))break;else{K=L;ea=ba;ga=ca;na=ma;f=148;continue}}else if((f|0)==152){O=I+1|0;c[d+24>>2]=O;f=121;continue}}if((f|0)==153)return nb|0;b[da>>1]=1;d=1;return d|0}default:{d=0;return d|0}}return 0}function Pf(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;l=(c[b+(d*5640|0)+420>>2]|0)+1|0;e=Qc(l,232)|0;if(!e){l=0;return l|0}if(!l){l=e;return l|0}j=a+16|0;g=b+(d*5640|0)+5584|0;a=c[j>>2]|0;h=e;i=0;a:while(1){b=Qc(a,16)|0;f=h+196|0;c[f>>2]=b;if(!b){a=5;break}k=c[j>>2]|0;c[h+192>>2]=k;b:do if(!k)a=0;else{a=(c[g>>2]|0)+4|0;k=Qc(c[a>>2]|0,16)|0;c[b+12>>2]=k;if(!k){a=18;break a}else d=0;while(1){c[b+(d<<4)+8>>2]=c[a>>2];d=d+1|0;a=c[j>>2]|0;if(d>>>0>=a>>>0)break b;b=c[f>>2]|0;a=(c[g>>2]|0)+(d*1080|0)+4|0;k=Qc(c[a>>2]|0,16)|0;c[b+(d<<4)+12>>2]=k;if(!k){a=18;break a}}}while(0);i=i+1|0;if(i>>>0>=l>>>0){a=32;break}else h=h+232|0}if((a|0)==5){a=e+4|0;b=c[a>>2]|0;if(!b){j=e;k=0}else{Uc(b);c[a>>2]=0;j=e;k=0}while(1){i=j+196|0;a=c[i>>2]|0;if(a){h=j+192|0;b=c[h>>2]|0;if(b){g=0;while(1){d=a+12|0;f=c[d>>2]|0;if(f){Uc(f);c[d>>2]=0;b=c[h>>2]|0}g=g+1|0;if(g>>>0>=b>>>0)break;else a=a+16|0}a=c[i>>2]|0}Uc(a);c[i>>2]=0}k=k+1|0;if((k|0)==(l|0))break;else j=j+232|0}Uc(e);l=0;return l|0}else if((a|0)==18){a=e+4|0;b=c[a>>2]|0;if(!b){j=e;k=0}else{Uc(b);c[a>>2]=0;j=e;k=0}while(1){i=j+196|0;a=c[i>>2]|0;if(a){h=j+192|0;b=c[h>>2]|0;if(b){g=0;while(1){d=a+12|0;f=c[d>>2]|0;if(f){Uc(f);c[d>>2]=0;b=c[h>>2]|0}g=g+1|0;if(g>>>0>=b>>>0)break;else a=a+16|0}a=c[i>>2]|0}Uc(a);c[i>>2]=0}k=k+1|0;if((k|0)==(l|0))break;else j=j+232|0}Uc(e);l=0;return l|0}else if((a|0)==32)return e|0;return 0}function Qf(a,b,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;o=c[(c[b+76>>2]|0)+(d*5640|0)+5584>>2]|0;n=c[a+24>>2]|0;I=c[b+24>>2]|0;H=b+12|0;G=(_(c[H>>2]|0,(d>>>0)%(I>>>0)|0)|0)+(c[b+4>>2]|0)|0;F=c[a>>2]|0;c[e>>2]=G>>>0>F>>>0?G:F;G=Si(c[H>>2]|0,0,G|0,0)|0;G=G|0-C;H=c[a+8>>2]|0;c[f>>2]=G>>>0>>0?G:H;H=b+16|0;I=(_(c[H>>2]|0,(d>>>0)/(I>>>0)|0)|0)+(c[b+8>>2]|0)|0;G=c[a+4>>2]|0;c[g>>2]=I>>>0>G>>>0?I:G;I=Si(c[H>>2]|0,0,I|0,0)|0;I=I|0-C;H=c[a+12>>2]|0;c[h>>2]=I>>>0>>0?I:H;c[k>>2]=0;c[l>>2]=0;c[i>>2]=2147483647;c[j>>2]=2147483647;H=a+16|0;if(!(c[H>>2]|0))return;else I=0;while(1){r=c[m+(I<<2)>>2]|0;p=c[n>>2]|0;a=((c[e>>2]|0)+-1+p|0)/(p|0)|0;F=n+4|0;q=c[F>>2]|0;d=((c[g>>2]|0)+-1+q|0)/(q|0)|0;p=(p+-1+(c[f>>2]|0)|0)/(p|0)|0;q=(q+-1+(c[h>>2]|0)|0)/(q|0)|0;G=o+4|0;b=c[G>>2]|0;if(b>>>0>(c[l>>2]|0)>>>0){c[l>>2]=b;b=c[G>>2]|0}if(b){D=Si(a|0,((a|0)<0)<<31>>31|0,-1,-1)|0;E=C;A=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;B=C;y=Si(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;z=C;w=Si(q|0,((q|0)<0)<<31>>31|0,-1,-1)|0;x=C;v=0;while(1){b=b+-1|0;p=c[o+812+(v<<2)>>2]|0;u=c[o+944+(v<<2)>>2]|0;c[r>>2]=p;c[r+4>>2]=u;s=c[n>>2]<>2]<>2]|0;c[i>>2]=(a|0)<(s|0)?a:s;s=c[j>>2]|0;c[j>>2]=(s|0)<(J|0)?s:J;J=Ri(1,0,b|0)|0;s=C;a=Si(D|0,E|0,J|0,s|0)|0;a=Pi(a|0,C|0,b|0)|0;q=Si(A|0,B|0,J|0,s|0)|0;q=Pi(q|0,C|0,b|0)|0;d=Si(y|0,z|0,J|0,s|0)|0;d=Pi(d|0,C|0,b|0)|0;s=Si(w|0,x|0,J|0,s|0)|0;s=Pi(s|0,C|0,b|0)|0;J=Ri(1,0,u|0)|0;t=C;K=Si(s|0,((s|0)<0)<<31>>31|0,-1,-1)|0;t=Si(K|0,C|0,J|0,t|0)|0;t=Pi(t|0,C|0,u|0)|0;if((a|0)==(d|0))a=0;else{d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;J=C;K=Ri(1,0,p|0)|0;K=Si(d|0,J|0,K|0,C|0)|0;K=Pi(K|0,C|0,p|0)|0;a=(K<>p<>p}K=(q|0)==(s|0)?0:(t<>u<>u;c[r+8>>2]=a;c[r+12>>2]=K;a=_(a,K)|0;if(a>>>0>(c[k>>2]|0)>>>0)c[k>>2]=a;v=v+1|0;if(v>>>0>=(c[G>>2]|0)>>>0)break;else r=r+16|0}}I=I+1|0;if(I>>>0>=(c[H>>2]|0)>>>0)break;else{n=n+52|0;o=o+1080|0}}return}function Rf(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;k=(c[a+(b*5640|0)+420>>2]|0)+1|0;c[a+(b*5640|0)+500>>2]=c[a+(b*5640|0)+428>>2];c[a+(b*5640|0)+516>>2]=c[a+(b*5640|0)+440>>2];c[a+(b*5640|0)+496>>2]=c[a+(b*5640|0)+424>>2];c[a+(b*5640|0)+512>>2]=c[a+(b*5640|0)+436>>2];c[a+(b*5640|0)+508>>2]=c[a+(b*5640|0)+432>>2];c[a+(b*5640|0)+492>>2]=0;c[a+(b*5640|0)+460>>2]=c[a+(b*5640|0)+456>>2];c[a+(b*5640|0)+504>>2]=0;c[a+(b*5640|0)+520>>2]=h;c[a+(b*5640|0)+524>>2]=d;c[a+(b*5640|0)+528>>2]=e;c[a+(b*5640|0)+532>>2]=f;c[a+(b*5640|0)+536>>2]=g;c[a+(b*5640|0)+540>>2]=i;c[a+(b*5640|0)+544>>2]=j;if(k>>>0<=1)return;a=a+(b*5640|0)+572|0;b=1;while(1){c[a+76>>2]=c[a+4>>2];c[a+92>>2]=c[a+16>>2];c[a+72>>2]=c[a>>2];c[a+88>>2]=c[a+12>>2];l=c[a+8>>2]|0;c[a+84>>2]=l;c[a+36>>2]=c[a+32>>2];c[a+80>>2]=0;c[a+68>>2]=l>>>0>(c[a+-64>>2]|0)>>>0?l:0;c[a+96>>2]=h;c[a+100>>2]=d;c[a+104>>2]=e;c[a+108>>2]=f;c[a+112>>2]=g;c[a+116>>2]=i;c[a+120>>2]=j;b=b+1|0;if((b|0)==(k|0))break;else a=a+148|0}return}function Sf(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;j=c[d+76>>2]|0;if((b|0)>-1)h=b;else{e=0;return e|0}a:while(1){switch(a[g+h>>0]|0){case 82:{i=3;break a}case 67:{i=5;break a}case 76:{i=7;break a}case 80:{i=9;break a}default:{}}h=h+-1|0}if((i|0)==3)if((c[j+(e*5640|0)+424+(f*148|0)+128>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+88>>2]|0))return (Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==5)if((c[j+(e*5640|0)+424+(f*148|0)+132>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+92>>2]|0))return (Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==7)if((c[j+(e*5640|0)+424+(f*148|0)+124>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+84>>2]|0))return (Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==9){if((c[j+(e*5640|0)+424+(f*148|0)+36>>2]|0)>>>0<2)if((c[j+(e*5640|0)+424+(f*148|0)+136>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+96>>2]|0))return (Sf(h+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}if((c[j+(e*5640|0)+424+(f*148|0)+140>>2]|0)!=(c[j+(e*5640|0)+424+(f*148|0)+104>>2]|0)){e=1;return e|0}if((c[j+(e*5640|0)+424+(f*148|0)+144>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+112>>2]|0))return (Sf(h+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}}return 0}function Tf(b){b=b|0;var d=0,e=0;d=Qc(1,44)|0;if(!d){b=0;return b|0}e=d+40|0;a[e>>0]=a[e>>0]&-2|(b|0)!=0;b=Qc(1,4)|0;c[d+20>>2]=b;if(b){e=d;return e|0}Uc(d);e=0;return e|0}function Uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+1200|0;N=O;e=c[c[a+20>>2]>>2]|0;M=e+16|0;f=c[M>>2]|0;if(!f){i=O;return}J=e+20|0;K=(c[a+32>>2]|0)+8|0;L=(c[a+28>>2]|0)+88|0;H=a+24|0;I=(b|0)==0;F=(d|0)==0;G=b+-1|0;e=f;E=0;do{j=c[J>>2]|0;k=c[K>>2]|0;C=c[j+(E*52|0)+16>>2]|0;if(k){if(C){a=c[L>>2]|0;g=+((c[(c[(c[H>>2]|0)+24>>2]|0)+(E*52|0)+24>>2]|0)>>>0)*.0625;f=0;do{d=_(C,f)|0;h=0;do{D=(d+h|0)*3|0;c[N+(f*120|0)+(h*12|0)>>2]=~~(+(c[a+(D<<2)>>2]|0)*g);c[N+(f*120|0)+(h*12|0)+4>>2]=~~(+(c[a+(D+1<<2)>>2]|0)*g);c[N+(f*120|0)+(h*12|0)+8>>2]=~~(+(c[a+(D+2<<2)>>2]|0)*g);h=h+1|0}while(h>>>0>>0);f=f+1|0}while(f>>>0>>0);D=9}}else D=9;if((D|0)==9){D=0;if(C){w=j+(E*52|0)+24|0;B=0;do{x=c[w>>2]|0;y=x+(B*136|0)+24|0;e=c[y>>2]|0;if(e){z=x+(B*136|0)+16|0;A=x+(B*136|0)+20|0;a=c[A>>2]|0;d=c[z>>2]|0;v=0;do{if(_(a,d)|0){s=x+(B*136|0)+28+(v*36|0)+20|0;t=N+(b*120|0)+(B*12|0)+(v<<2)|0;u=N+(G*120|0)+(B*12|0)+(v<<2)|0;r=0;do{e=c[s>>2]|0;q=_(c[e+(r*40|0)+20>>2]|0,c[e+(r*40|0)+16>>2]|0)|0;if(q){m=e+(r*40|0)+24|0;n=c[t>>2]|0;p=0;do{k=c[m>>2]|0;l=k+(p*52|0)|0;o=c[k+(p*52|0)+4>>2]|0;e=(c[(c[(c[H>>2]|0)+24>>2]|0)+(E*52|0)+24>>2]|0)-(c[k+(p*52|0)+28>>2]|0)|0;if(!I){a=c[u>>2]|0;d=n-a|0;if((a|0)<=(e|0)){d=d+(a-e)|0;d=(d|0)<0?0:d}}else{c[k+(p*52|0)+44>>2]=0;d=(n|0)>(e|0)?n-e|0:0}j=k+(p*52|0)+44|0;f=c[j>>2]|0;h=(f|0)==0;if(h)if(!d)d=0;else d=(d*3|0)+-2|0;else d=(d*3|0)+f|0;c[o+(b*24|0)>>2]=d-f;do if((d|0)!=(f|0)){a=c[k+(p*52|0)+8>>2]|0;e=c[a+((d+-1|0)*24|0)>>2]|0;if(h)c[o+(b*24|0)+16>>2]=c[l>>2];else{k=c[a+((f+-1|0)*24|0)>>2]|0;c[o+(b*24|0)+16>>2]=(c[l>>2]|0)+k;e=e-k|0}c[o+(b*24|0)+4>>2]=e;if(F)break;c[j>>2]=d}while(0);p=p+1|0}while(p>>>0>>0);a=c[A>>2]|0;d=c[z>>2]|0}r=r+1|0}while(r>>>0<(_(a,d)|0)>>>0);e=c[y>>2]|0}v=v+1|0}while(v>>>0>>0)}B=B+1|0}while(B>>>0>>0);e=c[M>>2]|0}}E=E+1|0}while(E>>>0>>0);i=O;return}function Vf(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;a=c[c[a+20>>2]>>2]|0;G=a+40+(b<<3)|0;h[G>>3]=0.0;H=a+16|0;f=c[H>>2]|0;if(!f)return;E=a+20|0;F=(b|0)==0;D=(e|0)==0;a=f;C=0;do{f=c[E>>2]|0;B=c[f+(C*52|0)+16>>2]|0;if(B){v=f+(C*52|0)+24|0;A=0;do{w=c[v>>2]|0;x=w+(A*136|0)+24|0;a=c[x>>2]|0;if(a){y=w+(A*136|0)+16|0;z=w+(A*136|0)+20|0;f=c[z>>2]|0;e=c[y>>2]|0;u=0;do{if(_(f,e)|0){t=w+(A*136|0)+28+(u*36|0)+20|0;s=0;do{a=c[t>>2]|0;r=_(c[a+(s*40|0)+20>>2]|0,c[a+(s*40|0)+16>>2]|0)|0;if(r){n=a+(s*40|0)+24|0;q=0;do{k=c[n>>2]|0;l=k+(q*52|0)|0;o=c[k+(q*52|0)+4>>2]|0;p=k+(q*52|0)+44|0;if(F){c[p>>2]=0;m=0}else m=c[p>>2]|0;e=c[k+(q*52|0)+48>>2]|0;if(m>>>0>>0){i=c[k+(q*52|0)+8>>2]|0;a=m;j=m;do{f=c[i+(j*24|0)>>2]|0;g=+h[i+(j*24|0)+8>>3];if(a){J=a+-1|0;g=g-+h[i+(J*24|0)+8>>3];f=f-(c[i+(J*24|0)>>2]|0)|0}do if(!f){if(!(g!=0.0))break;a=j+1|0}else{if(!(d-g/+(f>>>0)<2.220446049250313e-16))break;a=j+1|0}while(0);j=j+1|0}while(j>>>0>>0);i=a;c[o+(b*24|0)>>2]=i-m;if((i|0)!=(m|0)){e=i+-1|0;f=c[k+(q*52|0)+8>>2]|0;a=c[f+(e*24|0)>>2]|0;if(!m){c[o+(b*24|0)+16>>2]=c[l>>2];g=+h[f+(e*24|0)+8>>3]}else{m=m+-1|0;J=c[f+(m*24|0)>>2]|0;c[o+(b*24|0)+16>>2]=(c[l>>2]|0)+J;g=+h[f+(e*24|0)+8>>3]-+h[f+(m*24|0)+8>>3];a=a-J|0}c[o+(b*24|0)+4>>2]=a;h[o+(b*24|0)+8>>3]=g;h[G>>3]=g+ +h[G>>3];if(!D)c[p>>2]=i}else I=26}else{c[o+(b*24|0)>>2]=0;I=26}if((I|0)==26){I=0;h[o+(b*24|0)+8>>3]=0.0}q=q+1|0}while(q>>>0>>0);f=c[z>>2]|0;e=c[y>>2]|0}s=s+1|0}while(s>>>0<(_(f,e)|0)>>>0);a=c[x>>2]|0}u=u+1|0}while(u>>>0>>0)}A=A+1|0}while(A>>>0>>0);a=c[H>>2]|0}C=C+1|0}while(C>>>0>>0);return}function Wf(d,e,f,j,k){d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=i;i=i+800|0;V=W;S=c[d+28>>2]|0;T=c[c[d+20>>2]>>2]|0;U=c[d+32>>2]|0;O=T+24|0;c[O>>2]=0;Q=c[T+16>>2]|0;if(!Q){l=0;J=0.0;n=0.0;p=1797693134862315708145274.0e284}else{M=c[T+20>>2]|0;N=c[(c[d+24>>2]|0)+24>>2]|0;l=0;R=0;o=0.0;n=0.0;p=1797693134862315708145274.0e284;do{I=M+(R*52|0)+48|0;c[I>>2]=0;K=c[M+(R*52|0)+16>>2]|0;if(!K)m=0;else{L=c[M+(R*52|0)+24>>2]|0;m=0;H=0;do{E=c[L+(H*136|0)+24>>2]|0;if(E){F=_(c[L+(H*136|0)+20>>2]|0,c[L+(H*136|0)+16>>2]|0)|0;G=(F|0)==0;D=0;do{if(!G){C=c[L+(H*136|0)+28+(D*36|0)+20>>2]|0;B=0;do{z=_(c[C+(B*40|0)+20>>2]|0,c[C+(B*40|0)+16>>2]|0)|0;if(z){A=c[C+(B*40|0)+24>>2]|0;y=0;do{v=c[A+(y*52|0)+48>>2]|0;if(v){w=c[A+(y*52|0)+8>>2]|0;u=0;do{t=c[w+(u*24|0)>>2]|0;q=+h[w+(u*24|0)+8>>3];if(u){X=u+-1|0;q=q-+h[w+(X*24|0)+8>>3];t=t-(c[w+(X*24|0)>>2]|0)|0}do if(t){q=q/+(t|0);p=qo))break;o=q}while(0);u=u+1|0}while(u>>>0>>0)}X=_((c[A+(y*52|0)+24>>2]|0)-(c[A+(y*52|0)+16>>2]|0)|0,(c[A+(y*52|0)+20>>2]|0)-(c[A+(y*52|0)+12>>2]|0)|0)|0;l=X+l|0;m=X+m|0;y=y+1|0}while(y>>>0>>0);c[O>>2]=l;c[I>>2]=m}B=B+1|0}while(B>>>0>>0)}D=D+1|0}while(D>>>0>>0)}H=H+1|0}while(H>>>0>>0)}J=+(1<>2]|0)+-1.0;n=n+ +(m|0)*(J*J);R=R+1|0}while(R>>>0>>0);J=o}I=(k|0)!=0;if(I){R=c[d+36>>2]|0;Q=c[k+88>>2]|0;c[Q+(R*592|0)+552>>2]=l;h[Q+(R*592|0)+560>>3]=+h[T+32>>3];l=U+8|0;X=Pc(c[l>>2]<<3)|0;c[Q+(R*592|0)>>2]=X;if(!X){X=0;i=W;return X|0}}else l=U+8|0;if(!(c[l>>2]|0)){X=1;i=W;return X|0}z=T+32|0;A=S+93|0;B=d+36|0;C=k+88|0;D=T+40|0;E=d+24|0;F=d+8|0;G=d+16|0;H=0;while(1){o=+g[U+20+(H<<2)>>2];if(o!=0.0){w=~~+Z(+o)>>>0;w=w>>>0>>0?w:j}else w=j;s=+g[U+5184+(H<<2)>>2];x=+h[z>>3]-n/+P(10.0,+(s/10.0));X=a[A>>0]|0;if(!((X&1)!=0&o>0.0)?!((X&4)!=0&s>0.0):0)o=p;else{y=dh(c[E>>2]|0,S)|0;if(!y){l=0;m=57;break}v=H+1|0;m=V+(H+-1<<3)|0;t=T+40+(H<<3)|0;if(!H){r=J;m=0;s=p;q=0.0;do{o=(s+r)*.5;Vf(d,0,o,0);do if(a[A>>0]&4){if(((b[S>>1]|0)+-3&65535)>=4){X=+h[D>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0))s=o;else{X=+h[D>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0)==0;r=X?r:o;s=X?o:s;q=X?q:o}while(0);m=m+1|0}while((m|0)!=128)}else{r=J;u=0;s=p;q=0.0;do{o=(s+r)*.5;Vf(d,H,o,0);do if(a[A>>0]&4){if(((b[S>>1]|0)+-3&65535)>=4){X=+h[m>>3]+ +h[t>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0))s=o;else{X=+h[m>>3]+ +h[t>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0)==0;r=X?r:o;s=X?o:s;q=X?q:o}while(0);u=u+1|0}while((u|0)!=128)}eh(y);o=q==0.0?o:q}if(I)h[(c[(c[C>>2]|0)+((c[B>>2]|0)*592|0)>>2]|0)+(H<<3)>>3]=o;Vf(d,H,o,1);if(!H)o=+h[D>>3];else o=+h[V+(H+-1<<3)>>3]+ +h[T+40+(H<<3)>>3];h[V+(H<<3)>>3]=o;H=H+1|0;if(H>>>0>=(c[l>>2]|0)>>>0){l=1;m=57;break}}if((m|0)==57){i=W;return l|0}return 0}function Xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a+24>>2]=b;c[a+28>>2]=d;f=Qc(1,848)|0;e=a+20|0;c[c[e>>2]>>2]=f;if(!f){a=0;return a|0}f=b+16|0;g=Qc(c[f>>2]|0,52)|0;b=c[c[e>>2]>>2]|0;c[b+20>>2]=g;if(!g){g=0;return g|0}c[b+16>>2]=c[f>>2];c[a>>2]=c[d+84>>2];g=1;return g|0}function Yf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(!b)return;s=b+20|0;d=c[s>>2]|0;do if(d){r=(a[b+40>>0]&1)==0?3:4;e=c[d>>2]|0;if(e){o=e+20|0;k=e+16|0;if(c[k>>2]|0){m=0;n=c[o>>2]|0;while(1){l=n+24|0;d=c[l>>2]|0;if(d){i=c[n+28>>2]|0;j=(i>>>0)/136|0;if(i>>>0>135){i=0;while(1){h=d+48|0;e=c[h>>2]|0;if(e){f=c[d+52>>2]|0;g=(f>>>0)/40|0;if(f>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=d+84|0;e=c[h>>2]|0;if(e){t=c[d+88>>2]|0;g=(t>>>0)/40|0;if(t>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=d+120|0;e=c[h>>2]|0;if(e){t=c[d+124>>2]|0;g=(t>>>0)/40|0;if(t>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}i=i+1|0;if(i>>>0>=j>>>0)break;else d=d+136|0}d=c[l>>2]|0}Uc(d);c[l>>2]=0}if((c[n+36>>2]|0)!=0?(p=n+32|0,q=c[p>>2]|0,(q|0)!=0):0){Sc(q);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0}m=m+1|0;if(m>>>0>=(c[k>>2]|0)>>>0)break;else n=n+52|0}}Uc(c[o>>2]|0);c[o>>2]=0;Uc(c[c[s>>2]>>2]|0);d=c[s>>2]|0;c[d>>2]=0;if(!d)break}Uc(d);c[s>>2]=0}while(0);Uc(b);return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+32|0;f=c[e>>2]|0;b=a+40|0;d=c[b>>2]|0;if(f){g=a+44|0;if(d>>>0<=(c[g>>2]|0)>>>0){a=1;return a|0}if(c[a+36>>2]|0){Sc(f);f=Rc(c[b>>2]|0)|0;c[e>>2]=f;if(!f){c[g>>2]=0;c[b>>2]=0;c[a+36>>2]=0;a=0;return a|0}else{c[g>>2]=c[b>>2];c[a+36>>2]=1;a=1;return a|0}}}g=Rc(d)|0;c[e>>2]=g;if(!g){a=0;return a|0}c[a+44>>2]=c[b>>2];c[a+36>>2]=1;a=1;return a|0}function _f(a,b,c){a=a|0;b=b|0;c=c|0;return ig(a,b,1,1.0,52,c)|0}function $f(a,b,c){a=a|0;b=b|0;c=c|0;return ig(a,b,0,.5,56,c)|0}function ag(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;d=c[a+24>>2]|0;f=c[d+16>>2]|0;if(!f){g=0;return g|0}g=0;b=0;e=c[d+24>>2]|0;d=c[(c[c[a+20>>2]>>2]|0)+20>>2]|0;while(1){i=c[e+24>>2]|0;i=((i&7|0)!=0&1)+(i>>>3)|0;h=c[d+24>>2]|0;a=(c[d+20>>2]|0)+-1|0;b=(_(_((i|0)==3?4:i,(c[h+(a*136|0)+8>>2]|0)-(c[h+(a*136|0)>>2]|0)|0)|0,(c[h+(a*136|0)+12>>2]|0)-(c[h+(a*136|0)+4>>2]|0)|0)|0)+b|0;g=g+1|0;if(g>>>0>=f>>>0)break;else{e=e+52|0;d=d+52|0}}return b|0}function bg(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;w=y;if(!(c[b+8>>2]|0)){c[b+36>>2]=d;u=b+28|0;j=c[(c[u>>2]|0)+76>>2]|0;x=b+32|0;c[x>>2]=j+(d*5640|0);v=(h|0)==0;t=b+20|0;if(!v){k=c[(c[c[t>>2]>>2]|0)+20>>2]|0;o=c[j+(d*5640|0)+5584>>2]|0;p=k+16|0;if(!(c[p>>2]|0)){k=h+88|0;j=0}else{l=c[k+24>>2]|0;k=h+88|0;m=c[k>>2]|0;n=0;j=0;do{s=l+(n*136|0)+16|0;c[m+(d*592|0)+20+(n<<2)>>2]=c[s>>2];r=l+(n*136|0)+20|0;c[m+(d*592|0)+152+(n<<2)>>2]=c[r>>2];j=(_(c[r>>2]|0,c[s>>2]|0)|0)+j|0;c[m+(d*592|0)+284+(n<<2)>>2]=c[o+812+(n<<2)>>2];c[m+(d*592|0)+416+(n<<2)>>2]=c[o+944+(n<<2)>>2];n=n+1|0}while(n>>>0<(c[p>>2]|0)>>>0)}s=Qc(_(_(c[h+52>>2]|0,j)|0,c[h+56>>2]|0)|0,32)|0;c[(c[k>>2]|0)+(d*592|0)+548>>2]=s;if(!s){b=0;i=y;return b|0}}j=c[c[t>>2]>>2]|0;s=j+16|0;if(!(c[s>>2]|0)){n=c[x>>2]|0;l=0;k=c[j+20>>2]|0}else{n=c[x>>2]|0;k=c[j+20>>2]|0;d=0;q=c[n+5584>>2]|0;r=k;while(1){o=c[r+32>>2]|0;p=_((c[r+12>>2]|0)-(c[r+4>>2]|0)|0,(c[r+8>>2]|0)-(c[r>>2]|0)|0)|0;j=(p|0)==0;if((c[q+20>>2]|0)==1){if(!j){l=q+1076|0;m=0;j=o;while(1){c[j>>2]=(c[j>>2]|0)-(c[l>>2]|0);m=m+1|0;if((m|0)==(p|0))break;else j=j+4|0}}}else if(!j){l=q+1076|0;m=0;j=o;while(1){c[j>>2]=(c[j>>2]|0)-(c[l>>2]|0)<<11;m=m+1|0;if((m|0)==(p|0))break;else j=j+4|0}}d=d+1|0;l=c[s>>2]|0;if(d>>>0>=l>>>0)break;else{q=q+1080|0;r=r+52|0}}}o=_((c[k+12>>2]|0)-(c[k+4>>2]|0)|0,(c[k+8>>2]|0)-(c[k>>2]|0)|0)|0;a:do switch(c[n+16>>2]|0){case 0:break;case 2:{if(c[n+5608>>2]|0){m=Pc(l<<2)|0;if(!m){b=0;i=y;return b|0}j=c[s>>2]|0;if(!j)j=0;else{l=0;while(1){c[m+(l<<2)>>2]=c[k+32>>2];l=l+1|0;if((l|0)==(j|0))break;else k=k+52|0}}s=(Gf(c[(c[x>>2]|0)+5608>>2]|0,o,m,j,c[(c[(c[b+24>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Uc(m);if(s){b=0;i=y;return b|0}}break}default:{l=c[k+32>>2]|0;m=c[k+84>>2]|0;j=c[k+136>>2]|0;if(!(c[(c[n+5584>>2]|0)+20>>2]|0)){Ef(l,m,j,o);break a}else{Cf(l,m,j,o);break a}}}while(0);j=c[c[t>>2]>>2]|0;k=j+16|0;b:do if(c[k>>2]|0){l=0;m=c[(c[x>>2]|0)+5584>>2]|0;j=c[j+20>>2]|0;c:while(1){switch(c[m+20>>2]|0){case 1:{if(!(Fg(j)|0)){j=0;k=54;break c}break}case 0:{if(!(Jg(j)|0)){j=0;k=54;break c}break}default:{}}l=l+1|0;if(l>>>0>=(c[k>>2]|0)>>>0)break b;else{m=m+1080|0;j=j+52|0}}if((k|0)==54){i=y;return j|0}}while(0);j=c[x>>2]|0;k=Wg(1)|0;if(!k){b=0;i=y;return b|0}do if((c[j+16>>2]|0)==1)if(!(c[(c[j+5584>>2]|0)+20>>2]|0)){l=Bf()|0;m=3;break}else{l=Af()|0;m=3;break}else{l=c[j+5600>>2]|0;m=c[(c[b+24>>2]|0)+16>>2]|0}while(0);t=Zg(k,c[c[t>>2]>>2]|0,j,l,m)|0;Xg(k);if(!t){b=0;i=y;return b|0}j=c[u>>2]|0;c[w>>2]=0;if(!v)c[h+12>>2]=0;if(!(a[j+93>>0]&5)){if(c[(c[x>>2]|0)+8>>2]|0){j=0;do{Uf(b,j,1);j=j+1|0}while(j>>>0<(c[(c[x>>2]|0)+8>>2]|0)>>>0)}}else if(!(Wf(b,e,w,g,h)|0)){b=0;i=y;return b|0}}if(h)c[h+12>>2]=1;j=dh(c[b+24>>2]|0,c[b+28>>2]|0)|0;if(!j)j=1;else{b=bh(j,c[b+36>>2]|0,c[c[b+20>>2]>>2]|0,c[(c[b+32>>2]|0)+8>>2]|0,e,f,g,h,c[b+4>>2]|0,c[b>>2]|0,c[b+16>>2]|0,1)|0;eh(j);j=(b|0)==0}b=j&1^1;i=y;return b|0}function cg(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+16|0;m=u+8|0;l=u;k=u+12|0;j=a+36|0;c[j>>2]=e;t=c[a+28>>2]|0;p=a+32|0;c[p>>2]=(c[t+76>>2]|0)+(e*5640|0);c[k>>2]=0;o=a+24|0;e=dh(c[o>>2]|0,t)|0;if(!e){t=0;i=u;return t|0}n=a+20|0;t=ch(e,c[j>>2]|0,c[c[n>>2]>>2]|0,b,k,d,f,h)|0;eh(e);if(!t){t=0;i=u;return t|0}e=c[c[n>>2]>>2]|0;a=c[(c[p>>2]|0)+5584>>2]|0;j=c[e+20>>2]|0;d=Wg(0)|0;if(!d){t=0;i=u;return t|0}k=e+16|0;a:do if(c[k>>2]|0){f=0;e=j;while(1){if(!(Yg(d,e,a)|0))break;f=f+1|0;if(f>>>0>=(c[k>>2]|0)>>>0)break a;else{a=a+1080|0;e=e+52|0}}Xg(d);t=0;i=u;return t|0}while(0);Xg(d);e=c[c[n>>2]>>2]|0;j=e+16|0;do if(c[j>>2]|0){k=0;f=c[(c[o>>2]|0)+24>>2]|0;d=c[(c[p>>2]|0)+5584>>2]|0;a=c[e+20>>2]|0;while(1){e=(c[f+36>>2]|0)+1|0;if((c[d+20>>2]|0)==1){if(!(Gg(a,e)|0)){e=0;a=49;break}}else if(!(Ng(a,e)|0)){e=0;a=49;break}k=k+1|0;if(k>>>0>=(c[j>>2]|0)>>>0){a=14;break}else{f=f+52|0;d=d+1080|0;a=a+52|0}}if((a|0)==14){e=c[c[n>>2]>>2]|0;break}else if((a|0)==49){i=u;return e|0}}while(0);k=c[p>>2]|0;a=c[e+20>>2]|0;j=c[k+16>>2]|0;do if(j){b=_((c[a+12>>2]|0)-(c[a+4>>2]|0)|0,(c[a+8>>2]|0)-(c[a>>2]|0)|0)|0;d=e+16|0;e=c[d>>2]|0;if(e>>>0<=2){c[m>>2]=e;Ub(h,1,19703,m)|0;break}if((_((c[a+64>>2]|0)-(c[a+56>>2]|0)|0,(c[a+60>>2]|0)-(c[a+52>>2]|0)|0)|0)>=(b|0)?(_((c[a+116>>2]|0)-(c[a+108>>2]|0)|0,(c[a+112>>2]|0)-(c[a+104>>2]|0)|0)|0)>=(b|0):0){if((j|0)!=2){e=c[a+32>>2]|0;if((c[(c[k+5584>>2]|0)+20>>2]|0)==1){Df(e,c[a+84>>2]|0,c[a+136>>2]|0,b);break}else{Ff(e,c[a+84>>2]|0,c[a+136>>2]|0,b);break}}f=k+5604|0;if(!(c[f>>2]|0))break;k=Pc(e<<2)|0;if(!k){t=0;i=u;return t|0}e=c[d>>2]|0;if(!e)e=0;else{j=0;while(1){c[k+(j<<2)>>2]=c[a+32>>2];j=j+1|0;if((j|0)==(e|0))break;else a=a+52|0}}t=(Hf(c[f>>2]|0,b,k,e,c[(c[(c[o>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Uc(k);if(t)e=0;else break;i=u;return e|0}Ub(h,1,19642,l)|0;t=0;i=u;return t|0}while(0);e=c[c[n>>2]>>2]|0;s=e+16|0;if(!(c[s>>2]|0)){t=1;i=u;return t|0}t=0;r=c[(c[o>>2]|0)+24>>2]|0;q=c[(c[p>>2]|0)+5584>>2]|0;p=c[e+20>>2]|0;while(1){o=c[p+24>>2]|0;h=c[r+36>>2]|0;j=c[o+(h*136|0)+8>>2]|0;k=c[o+(h*136|0)>>2]|0;n=j-k|0;f=c[o+(h*136|0)+12>>2]|0;h=c[o+(h*136|0)+4>>2]|0;o=(c[p+8>>2]|0)-(c[p>>2]|0)-n|0;e=c[r+24>>2]|0;if(!(c[r+32>>2]|0)){e=1<>2]|0;a=(f|0)==(h|0);if((c[q+20>>2]|0)==1){if(!a){d=(j|0)==(k|0);b=q+1076|0;k=f-h|0;f=0;while(1){if(!d){a=0;j=e;while(1){h=(c[b>>2]|0)+(c[j>>2]|0)|0;c[j>>2]=(h|0)<(m|0)?m:(h|0)>(l|0)?l:h;a=a+1|0;if((a|0)==(n|0))break;else j=j+4|0}e=e+(n<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else e=e+(o<<2)|0}}}else if(!a){d=(j|0)==(k|0);b=q+1076|0;k=f-h|0;f=0;while(1){if(!d){a=0;j=e;while(1){h=Hh(+g[j>>2])|0;h=(c[b>>2]|0)+h|0;c[j>>2]=(h|0)<(m|0)?m:(h|0)>(l|0)?l:h;a=a+1|0;if((a|0)==(n|0))break;else j=j+4|0}e=e+(n<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else e=e+(o<<2)|0}}t=t+1|0;if(t>>>0>=(c[s>>2]|0)>>>0){e=1;break}else{r=r+52|0;q=q+1080|0;p=p+52|0}}i=u;return e|0}function dg(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d+24|0;m=c[q>>2]|0;h=c[m+16>>2]|0;l=(h|0)==0;if(l){q=1;return q|0}i=0;g=0;j=c[m+24>>2]|0;k=c[(c[c[d+20>>2]>>2]|0)+20>>2]|0;while(1){n=c[j+24>>2]|0;n=((n&7|0)!=0&1)+(n>>>3)|0;o=c[k+24>>2]|0;p=(c[k+20>>2]|0)+-1|0;g=(_(_((n|0)==3?4:n,(c[o+(p*136|0)+8>>2]|0)-(c[o+(p*136|0)>>2]|0)|0)|0,(c[o+(p*136|0)+12>>2]|0)-(c[o+(p*136|0)+4>>2]|0)|0)|0)+g|0;i=i+1|0;if((i|0)==(h|0))break;else{j=j+52|0;k=k+52|0}}g=g>>>0>f>>>0;if(g|l){q=g&1^1;return q|0}p=0;o=c[m+24>>2]|0;n=c[(c[c[d+20>>2]>>2]|0)+20>>2]|0;while(1){l=c[o+24>>2]|0;d=c[n+24>>2]|0;f=c[o+36>>2]|0;i=c[d+(f*136|0)+8>>2]|0;j=c[d+(f*136|0)>>2]|0;m=i-j|0;k=c[d+(f*136|0)+12>>2]|0;f=c[d+(f*136|0)+4>>2]|0;d=(c[n+8>>2]|0)-(c[n>>2]|0)-m|0;l=((l&7|0)!=0&1)+(l>>>3)|0;a:do switch(((l|0)==3?4:l)|0){case 1:{g=c[n+32>>2]|0;h=(k|0)==(f|0);if(!(c[o+32>>2]|0)){if(h)break a;l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+m|0;i=0;h=g;while(1){a[e>>0]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+1|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}else{if(h)break a;l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+m|0;i=0;h=g;while(1){a[e>>0]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+1|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}case 2:{g=c[n+32>>2]|0;h=(k|0)==(f|0);if(!(c[o+32>>2]|0)){if(!h){l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+(m<<1)|0;i=0;h=g;while(1){b[e>>1]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+2|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}}else if(!h){l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+(m<<1)|0;i=0;h=g;while(1){b[e>>1]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+2|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}case 4:{if((k|0)!=(f|0)){l=(i|0)==(j|0);k=k-f|0;f=0;g=c[n+32>>2]|0;while(1){if(!l){j=e+(m<<2)|0;i=0;h=g;while(1){c[e>>2]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+4|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}default:{}}while(0);p=p+1|0;if(p>>>0>=(c[(c[q>>2]|0)+16>>2]|0)>>>0){e=1;break}else{o=o+52|0;n=n+52|0}}return e|0}function eg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a+24>>2]|0;f=c[d+16>>2]|0;if(!f){g=0;return g|0}g=0;b=0;e=c[d+24>>2]|0;d=c[(c[c[a+20>>2]>>2]|0)+20>>2]|0;while(1){a=c[e+24>>2]|0;a=((a&7|0)!=0&1)+(a>>>3)|0;b=(_(_((c[d+12>>2]|0)-(c[d+4>>2]|0)|0,(c[d+8>>2]|0)-(c[d>>2]|0)|0)|0,(a|0)==3?4:a)|0)+b|0;g=g+1|0;if(g>>>0>=f>>>0)break;else{e=e+52|0;d=d+52|0}}return b|0}function fg(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c[f+24>>2]|0;q=o+16|0;j=c[q>>2]|0;n=(j|0)==0;if(n)i=0;else{k=0;i=0;l=c[o+24>>2]|0;m=c[(c[c[f+20>>2]>>2]|0)+20>>2]|0;while(1){p=c[l+24>>2]|0;p=((p&7|0)!=0&1)+(p>>>3)|0;i=(_(_((c[m+12>>2]|0)-(c[m+4>>2]|0)|0,(c[m+8>>2]|0)-(c[m>>2]|0)|0)|0,(p|0)==3?4:p)|0)+i|0;k=k+1|0;if((k|0)==(j|0))break;else{l=l+52|0;m=m+52|0}}}i=(i|0)!=(h|0);if(i|n){q=i&1^1;return q|0}p=0;n=c[o+24>>2]|0;h=c[(c[c[f+20>>2]>>2]|0)+20>>2]|0;while(1){f=c[n+24>>2]|0;i=(c[h+8>>2]|0)-(c[h>>2]|0)|0;j=(c[h+12>>2]|0)-(c[h+4>>2]|0)|0;m=_(j,i)|0;f=((f&7|0)!=0&1)+(f>>>3)|0;a:do switch(((f|0)==3?4:f)|0){case 1:{j=c[h+32>>2]|0;i=(m|0)==0;if(!(c[n+32>>2]|0)){if(i)break a;else{k=0;i=j;j=g}while(1){c[i>>2]=d[j>>0];k=k+1|0;if((k|0)==(m|0))break;else{i=i+4|0;j=j+1|0}}g=g+m|0;break a}else{if(i)break a;else{k=0;i=j;j=g}while(1){c[i>>2]=a[j>>0];k=k+1|0;if((k|0)==(m|0))break;else{i=i+4|0;j=j+1|0}}g=g+m|0;break a}}case 2:{l=c[h+32>>2]|0;k=(m|0)==0;if(!(c[n+32>>2]|0)){if(!k){k=g+(_(j<<1,i)|0)|0;j=0;i=l;while(1){c[i>>2]=e[g>>1];j=j+1|0;if((j|0)==(m|0))break;else{i=i+4|0;g=g+2|0}}g=k}}else if(!k){k=g+(_(j<<1,i)|0)|0;j=0;i=l;while(1){c[i>>2]=b[g>>1];j=j+1|0;if((j|0)==(m|0))break;else{i=i+4|0;g=g+2|0}}g=k}break}case 4:{if(m){k=g+(_(j<<2,i)|0)|0;i=0;j=c[h+32>>2]|0;while(1){c[j>>2]=c[g>>2];i=i+1|0;if((i|0)==(m|0))break;else{j=j+4|0;g=g+4|0}}g=k}break}default:{}}while(0);p=p+1|0;if(p>>>0>=(c[q>>2]|0)>>>0){g=1;break}else{n=n+52|0;h=h+52|0}}return g|0}function gg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+24|0;b=c[g>>2]|0;if(!b)return;f=c[a+28>>2]|0;e=(f>>>0)/52|0;if(f>>>0>51){f=0;while(1){a=c[b>>2]|0;if(a){Uc(a+-1|0);c[b>>2]=0}a=b+4|0;d=c[a>>2]|0;if(d){Uc(d);c[a>>2]=0}a=b+8|0;d=c[a>>2]|0;if(d){Uc(d);c[a>>2]=0}f=f+1|0;if(f>>>0>=e>>>0)break;else b=b+52|0}b=c[g>>2]|0}Uc(b);c[g>>2]=0;return}function hg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+24|0;b=c[g>>2]|0;if(!b)return;f=c[a+28>>2]|0;e=(f>>>0)/56|0;if(f>>>0>55){f=0;while(1){a=c[b>>2]|0;if(a){Uc(a);c[b>>2]=0}d=b+4|0;a=c[d>>2]|0;if(a){Uc(a);c[d>>2]=0}f=f+1|0;if(f>>>0>=e>>>0)break;else b=b+56|0}b=c[g>>2]|0}Uc(b);c[g>>2]=0;return}function ig(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=+f;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0.0;Sa=i;i=i+80|0;La=Sa+64|0;Ka=Sa+56|0;Na=Sa+48|0;Pa=Sa+40|0;Oa=Sa+32|0;Qa=Sa+24|0;Ma=Sa+16|0;Ja=Sa+8|0;k=c[b+28>>2]|0;Ia=c[c[b+20>>2]>>2]|0;p=c[(c[k+76>>2]|0)+(d*5640|0)+5584>>2]|0;q=c[Ia+20>>2]|0;n=c[b+24>>2]|0;o=c[n+24>>2]|0;Fa=c[k+24>>2]|0;m=c[k+12>>2]|0;Ha=(_(m,(d>>>0)%(Fa>>>0)|0)|0)+(c[k+4>>2]|0)|0;l=c[n>>2]|0;l=Ha>>>0>l>>>0?Ha:l;c[Ia>>2]=l;Ha=Si(m|0,0,Ha|0,0)|0;Ha=Ha|0-C;m=c[n+8>>2]|0;m=Ha>>>0>>0?Ha:m;Ha=Ia+8|0;c[Ha>>2]=m;Ga=c[k+16>>2]|0;Fa=(_(Ga,(d>>>0)/(Fa>>>0)|0)|0)+(c[k+8>>2]|0)|0;d=c[n+4>>2]|0;d=Fa>>>0>d>>>0?Fa:d;Ea=Ia+4|0;c[Ea>>2]=d;Fa=Si(Ga|0,0,Fa|0,0)|0;Fa=Fa|0-C;n=c[n+12>>2]|0;n=Fa>>>0>>0?Fa:n;Fa=Ia+12|0;c[Fa>>2]=n;if(!(c[p+4>>2]|0)){Ub(j,1,19777,Sa)|0;Ra=0;i=Sa;return Ra|0}Ga=Ia+16|0;if(!(c[Ga>>2]|0)){Ra=1;i=Sa;return Ra|0}Da=k+80|0;Ca=b+40|0;Ba=(e|0)==0;k=d;Aa=0;a:while(1){c[o+36>>2]=0;va=c[o>>2]|0;d=(l+-1+va|0)/(va|0)|0;c[q>>2]=d;wa=c[o+4>>2]|0;k=(k+-1+wa|0)/(wa|0)|0;za=q+4|0;c[za>>2]=k;va=(m+-1+va|0)/(va|0)|0;ya=q+8|0;c[ya>>2]=va;wa=(n+-1+wa|0)/(wa|0)|0;xa=q+12|0;c[xa>>2]=wa;d=va-d|0;k=wa-k|0;if((4294967295/(d>>>0)|0)>>>0>>0){Ra=6;break}d=_(k,d)|0;if(d>>>0>1073741823){Ra=8;break}m=d<<2;va=c[p+4>>2]|0;wa=q+16|0;c[wa>>2]=va;b=c[Da>>2]|0;c[q+20>>2]=va>>>0>>0?1:va-b|0;b=q+40|0;c[b>>2]=m;do if(a[Ca>>0]&1){e=q+32|0;l=c[e>>2]|0;if(l){k=q+44|0;if(m>>>0<=(c[k>>2]|0)>>>0)break;d=q+36|0;if(c[d>>2]|0){Sc(l);va=Rc(c[b>>2]|0)|0;c[e>>2]=va;if(!va){Ra=16;break a}c[k>>2]=c[b>>2];c[d>>2]=1;break}}va=Rc(m)|0;c[e>>2]=va;if(!va)break a;c[q+44>>2]=c[b>>2];c[q+36>>2]=1}while(0);e=(c[wa>>2]|0)*136|0;k=q+24|0;b=c[k>>2]|0;if(b){d=q+28|0;if(e>>>0>(c[d>>2]|0)>>>0){b=Tc(b,e)|0;if(!b){Ra=24;break}c[k>>2]=b;va=c[d>>2]|0;Qi(b+va|0,0,e-va|0)|0;c[d>>2]=e}}else{d=Pc(e)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break}c[q+28>>2]=e;Qi(d|0,0,e|0)|0}d=c[wa>>2]|0;va=(c[p+20>>2]|0)==0?7:8;if(d){ra=p+8|0;sa=p+12|0;ta=o+24|0;ua=p+804|0;qa=c[k>>2]|0;k=p+28|0;b=0;while(1){oa=d;pa=d+-1|0;la=c[q>>2]|0;ma=Ri(1,0,pa|0)|0;ma=Si(ma|0,C|0,-1,-1)|0;na=C;la=Si(ma|0,na|0,la|0,((la|0)<0)<<31>>31|0)|0;la=Pi(la|0,C|0,pa|0)|0;c[qa>>2]=la;e=c[za>>2]|0;e=Si(ma|0,na|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,pa|0)|0;c[qa+4>>2]=e;d=c[ya>>2]|0;d=Si(ma|0,na|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,pa|0)|0;c[qa+8>>2]=d;l=c[xa>>2]|0;l=Si(ma|0,na|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Pi(l|0,C|0,pa|0)|0;c[qa+12>>2]=l;r=c[p+812+(b<<2)>>2]|0;n=c[p+944+(b<<2)>>2]|0;s=la>>r<>n<>31|0)|0;m=Pi(m|0,C|0,n|0)|0;if((la|0)==(d|0))d=0;else{la=Ri(1,0,r|0)|0;la=Si(la|0,C|0,-1,-1)|0;d=Si(la|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,r|0)|0;d=(d<>r}la=qa+16|0;c[la>>2]=d;ia=(e|0)==(l|0)?0:(m<>n;c[qa+20>>2]=ia;ia=_(ia,d)|0;ja=ia*40|0;ka=(b|0)==0;if(ka)d=1;else{s=Si(s|0,((s|0)<0)<<31>>31|0,1,0)|0;s=Ti(s|0,C|0,1)|0;t=Si(t|0,((t|0)<0)<<31>>31|0,1,0)|0;t=Ti(t|0,C|0,1)|0;d=3;n=n+-1|0;r=r+-1|0}ha=qa+24|0;c[ha>>2]=d;S=c[ra>>2]|0;S=S>>>0>>0?S:r;T=c[sa>>2]|0;T=T>>>0>>0?T:n;U=(ia|0)!=0;V=(ia|0)==0;W=1<>2]|0;d=Si(ma|0,na|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,pa|0)|0;k=c[za>>2]|0;k=Si(ma|0,na|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Pi(k|0,C|0,pa|0)|0;e=c[ya>>2]|0;e=Si(ma|0,na|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,pa|0)|0;m=c[xa>>2]|0;m=Si(ma|0,na|0,m|0,((m|0)<0)<<31>>31|0)|0;m=Pi(m|0,C|0,pa|0)|0;l=0}else{l=fa+1|0;d=c[q>>2]|0;O=Ri(l&1|0,0,pa|0)|0;O=Oi(da|0,ea|0,O|0,C|0)|0;m=C;d=Si(O|0,m|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,oa|0)|0;k=c[za>>2]|0;P=Ri(l>>>1|0,0,pa|0)|0;P=Oi(da|0,ea|0,P|0,C|0)|0;Q=C;k=Si(P|0,Q|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Pi(k|0,C|0,oa|0)|0;e=c[ya>>2]|0;e=Si(O|0,m|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,oa|0)|0;m=c[xa>>2]|0;m=Si(P|0,Q|0,m|0,((m|0)<0)<<31>>31|0)|0;m=Pi(m|0,C|0,oa|0)|0}c[ga+16>>2]=l;c[ga>>2]=d;Q=ga+4|0;c[Q>>2]=k;P=ga+8|0;c[P>>2]=e;O=ga+12|0;c[O>>2]=m;k=Wa[va&15](l)|0;Ta=+(c[R+4>>2]|0)*.00048828125+1.0;g[ga+32>>2]=+Gh(1.0,(c[ta>>2]|0)+k-(c[R>>2]|0)|0)*Ta*f;c[ga+28>>2]=(c[R>>2]|0)+-1+(c[ua>>2]|0);k=ga+20|0;e=c[k>>2]|0;if(!(U&(e|0)==0)){d=ga+24|0;if((c[d>>2]|0)>>>0>>0){e=Tc(e,ja)|0;if(!e){Ra=41;break a}c[k>>2]=e;N=c[d>>2]|0;Qi(e+N|0,0,ja-N|0)|0;c[d>>2]=ja}}else{d=Pc(ja)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break a}Qi(d|0,0,ja|0)|0;c[ga+24>>2]=ja}if(!V){M=c[k>>2]|0;N=0;while(1){F=c[la>>2]|0;J=(((N>>>0)%(F>>>0)|0)<>>0)/(F>>>0)|0)<>2]|0;I=(J|0)>(I|0)?J:I;c[M>>2]=I;J=c[Q>>2]|0;J=(F|0)>(J|0)?F:J;F=M+4|0;c[F>>2]=J;L=c[P>>2]|0;L=(G|0)<(L|0)?G:L;G=M+8|0;c[G>>2]=L;l=c[O>>2]|0;l=(H|0)<(l|0)?H:l;H=M+12|0;c[H>>2]=l;I=I>>S<>T<>31|0)|0;L=Pi(L|0,C|0,S|0)|0;l=Si($|0,aa|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Pi(l|0,C|0,T|0)|0;L=(L<>S;K=M+16|0;c[K>>2]=L;l=(l<>T;u=M+20|0;c[u>>2]=l;L=_(l,L)|0;l=_(L,h)|0;k=M+24|0;e=c[k>>2]|0;do if((e|0)==0&(L|0)!=0){d=Pc(l)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break a}Qi(d|0,0,l|0)|0;c[M+28>>2]=l}else{d=M+28|0;if(l>>>0<=(c[d>>2]|0)>>>0)break;e=Tc(e,l)|0;if(!e){Ra=50;break a}c[k>>2]=e;E=c[d>>2]|0;Qi(e+E|0,0,l-E|0)|0;c[d>>2]=l}while(0);m=M+32|0;d=c[m>>2]|0;e=c[K>>2]|0;l=c[u>>2]|0;if(!d)d=jg(e,l,j)|0;else d=lg(d,e,l,j)|0;c[m>>2]=d;if(!d)Ub(j,2,19990,Ka)|0;m=M+36|0;e=c[m>>2]|0;l=c[K>>2]|0;d=c[u>>2]|0;if(!e)d=jg(l,d,j)|0;else d=lg(e,l,d,j)|0;c[m>>2]=d;if(!d)Ub(j,2,20012,La)|0;if(L){E=0;do{A=c[K>>2]|0;z=(((E>>>0)%(A>>>0)|0)<>>0)/(A>>>0)|0)<>2]|0;e=d+(E*56|0)|0;l=c[e>>2]|0;if(!l){y=Pc(8192)|0;c[e>>2]=y;if(!y){d=0;Ra=87;break a}c[d+(E*56|0)+32>>2]=8192;y=Qc(10,32)|0;c[d+(E*56|0)+4>>2]=y;if(!y){d=0;Ra=87;break a}c[d+(E*56|0)+52>>2]=10}else{m=d+(E*56|0)+32|0;u=c[m>>2]|0;v=d+(E*56|0)+4|0;w=c[v>>2]|0;x=e;y=x+52|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));c[e>>2]=l;c[m>>2]=u;c[v>>2]=w}y=c[M>>2]|0;c[d+(E*56|0)+8>>2]=(z|0)>(y|0)?z:y;z=c[F>>2]|0;c[d+(E*56|0)+12>>2]=(A|0)>(z|0)?A:z;A=c[G>>2]|0;c[d+(E*56|0)+16>>2]=(B|0)<(A|0)?B:A;B=c[H>>2]|0;c[d+(E*56|0)+20>>2]=(D|0)<(B|0)?D:B}else{e=c[k>>2]|0;d=e+(E*52|0)+4|0;if((c[d>>2]|0)==0?(y=Qc(100,24)|0,c[d>>2]=y,(y|0)==0):0){d=0;Ra=87;break a}d=e+(E*52|0)+8|0;if((c[d>>2]|0)==0?(y=Qc(100,24)|0,c[d>>2]=y,(y|0)==0):0){d=0;Ra=87;break a}m=c[M>>2]|0;m=(z|0)>(m|0)?z:m;c[e+(E*52|0)+12>>2]=m;d=c[F>>2]|0;A=(A|0)>(d|0)?A:d;c[e+(E*52|0)+16>>2]=A;d=c[G>>2]|0;d=(B|0)<(d|0)?B:d;c[e+(E*52|0)+20>>2]=d;B=c[H>>2]|0;D=(D|0)<(B|0)?D:B;c[e+(E*52|0)+24>>2]=D;m=_(D-A|0,d-m<<2)|0;d=e+(E*52|0)+36|0;if(m>>>0<=(c[d>>2]|0)>>>0)break;l=e+(E*52|0)|0;e=c[l>>2]|0;if(e)Uc(e+-1|0);e=Pc(m|1)|0;c[l>>2]=e;if(!e){Ra=74;break a}c[d>>2]=m;a[e>>0]=0;c[l>>2]=(c[l>>2]|0)+1}while(0);E=E+1|0}while(E>>>0>>0)}N=N+1|0;if(N>>>0>=ia>>>0)break;else M=M+40|0}}k=R+8|0;fa=fa+1|0;if(fa>>>0>=(c[ha>>2]|0)>>>0)break;else{ga=ga+36|0;R=k}}b=b+1|0;if(b>>>0<(c[wa>>2]|0)>>>0){d=pa;qa=qa+136|0}else break}}d=Aa+1|0;if(d>>>0>=(c[Ga>>2]|0)>>>0){d=1;Ra=87;break}l=c[Ia>>2]|0;k=c[Ea>>2]|0;m=c[Ha>>2]|0;n=c[Fa>>2]|0;Aa=d;o=o+52|0;p=p+1080|0;q=q+52|0}if((Ra|0)==6){Ub(j,1,19816,Ja)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==8){Ub(j,1,19816,Ma)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==16){c[k>>2]=0;c[b>>2]=0;c[d>>2]=0}else if((Ra|0)==24){Ub(j,1,19849,Oa)|0;Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==41){Ub(j,1,19889,Pa)|0;Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==50){Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ub(j,1,19932,Na)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==74){c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==87){i=Sa;return d|0}Ub(j,1,19816,Qa)|0;Ra=0;i=Sa;return Ra|0}function jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+288|0;l=v+16|0;j=v+8|0;t=v+152|0;u=v+24|0;e=Qc(1,20)|0;if(!e){Ub(d,1,20034,v)|0;u=0;i=v;return u|0}c[e>>2]=a;m=e+4|0;c[m>>2]=b;c[t>>2]=a;c[u>>2]=b;k=e+8|0;c[k>>2]=0;f=0;h=0;while(1){s=_(b,a)|0;a=(a+1|0)/2|0;g=h+1|0;c[t+(g<<2)>>2]=a;b=(b+1|0)/2|0;c[u+(g<<2)>>2]=b;f=f+s|0;if(s>>>0<=1)break;else h=g}c[k>>2]=f;if(!f){Uc(e);Ub(d,2,20072,j)|0;u=0;i=v;return u|0}f=Qc(f,16)|0;c[e+12>>2]=f;if(!f){Ub(d,1,20122,l)|0;Uc(e);u=0;i=v;return u|0}s=c[k>>2]|0;c[e+16>>2]=s<<4;b=f+((_(c[m>>2]|0,c[e>>2]|0)|0)<<4)|0;if(!h)b=f;else{r=0;g=b;a=b;b=f;do{p=c[u+(r<<2)>>2]|0;a:do if((p|0)>0){q=c[t+(r<<2)>>2]|0;if((q|0)<=0){k=p+-1|0;d=0;while(1){o=(d&1|0)!=0|(d|0)==(k|0);j=o?g:a;a=o?g:a+(q<<4)|0;d=d+1|0;if((d|0)>=(p|0)){g=j;break a}else g=j}}o=((q+2+((q|0)<2?~q:-3)|0)>>>1)+1|0;m=p+-1|0;n=0;do{d=q;l=g;while(1){c[b>>2]=l;j=b+16|0;k=d;d=d+-2|0;if((d|0)>-1){c[j>>2]=l;b=b+32|0}else b=j;if((k|0)<=2)break;else l=l+16|0}l=g+(o<<4)|0;d=(n&1|0)!=0|(n|0)==(m|0);g=d?l:a;a=d?l:a+(q<<4)|0;n=n+1|0}while((n|0)<(p|0))}while(0);r=r+1|0}while((r|0)!=(h|0))}c[b>>2]=0;if(!s){u=e;i=v;return u|0}else b=0;while(1){c[f+4>>2]=999;c[f+8>>2]=0;c[f+12>>2]=0;b=b+1|0;if((b|0)==(s|0))break;else f=f+16|0}i=v;return e|0}function kg(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a+8>>2]|0;if(!b)return;d=0;a=c[a+12>>2]|0;while(1){c[a+4>>2]=999;c[a+8>>2]=0;c[a+12>>2]=0;d=d+1|0;if(d>>>0>=b>>>0)break;else a=a+16|0}return}\nfunction bb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function cb(){return i|0}function db(a){a=a|0;i=a}function eb(a,b){a=a|0;b=b|0;i=a;j=b}function fb(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function gb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function hb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function ib(a){a=a|0;C=a}function jb(){return C|0}function kb(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+8272|0;k=o+16|0;m=o+12|0;j=o;c[m>>2]=0;if((c[a>>2]|0)==1375686655)n=gc(0)|0;else n=gc(2)|0;bc(n,1,0)|0;cc(n,2,0)|0;dc(n,3,0)|0;hc(k);c[j>>2]=a;c[j+4>>2]=a;c[j+8>>2]=b;l=ec(j,1)|0;if(!(ic(n,k)|0)){mi(4476)|0;Fb(l);zc(n);g=1;i=o;return g|0}if(!(jc(l,n,m)|0)){mi(4528)|0;Fb(l);zc(n);Zb(c[m>>2]|0);g=1;i=o;return g|0}if(!(oc(n,l,c[m>>2]|0,c[k+8228>>2]|0)|0)){mi(4578)|0;zc(n);Fb(l);Zb(c[m>>2]|0);g=1;i=o;return g|0}j=c[m>>2]|0;c[f>>2]=c[j+8>>2];c[g>>2]=c[j+12>>2];a=c[j+16>>2]|0;c[h>>2]=a;a=_(_(a<<2,c[f>>2]|0)|0,c[g>>2]|0)|0;c[e>>2]=a;e=Fi(a)|0;c[d>>2]=e;switch(c[h>>2]|0){case 1:{Ui(e|0,c[(c[j+24>>2]|0)+44>>2]|0,a|0)|0;break}case 3:{if((_(c[g>>2]|0,c[f>>2]|0)|0)>0){b=c[j+24>>2]|0;j=c[b+44>>2]|0;a=c[b+96>>2]|0;b=c[b+148>>2]|0;k=0;do{h=k*3|0;c[e+(h<<2)>>2]=c[j+(k<<2)>>2];c[e+(h+1<<2)>>2]=c[a+(k<<2)>>2];c[e+(h+2<<2)>>2]=c[b+(k<<2)>>2];k=k+1|0}while((k|0)<(_(c[g>>2]|0,c[f>>2]|0)|0))}break}default:{}}Fb(l);zc(n);Zb(c[m>>2]|0);g=0;i=o;return g|0}function lb(){return fc()|0}function mb(a,b){a=a|0;b=b|0;return}function nb(a,b){a=a|0;b=b|0;return}function ob(a,b){a=a|0;b=b|0;var d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;li(4625,d)|0;i=b;return}function pb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;g=h;c[g>>2]=d;if(!e){i=h;return}d=b;f=0;b=g+(e+-1)|0;while(1){a[d>>0]=a[b>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else{d=d+1|0;b=b+-1|0}}i=h;return}function qb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;c[d>>2]=0;if(!e)return;f=0;d=d+(e+-1)|0;while(1){a[d>>0]=a[b>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else{b=b+1|0;d=d+-1|0}}return}function rb(b,d){b=b|0;d=+d;var e=0,f=0,g=0,j=0,l=0;e=i;i=i+16|0;j=e;h[j>>3]=d;j=j+8|0;h[k>>3]=d;f=c[k>>2]|0;g=c[k+4>>2]|0;l=Ti(f|0,g|0,56)|0;a[b>>0]=l;l=Ti(f|0,g|0,48)|0;a[b+1>>0]=l;l=Ti(f|0,g|0,40)|0;a[b+2>>0]=l;a[b+3>>0]=g;a[b+4>>0]=a[j+-5>>0]|0;a[b+5>>0]=a[j+-6>>0]|0;g=Ti(f|0,g|0,8)|0;a[b+6>>0]=g;a[b+7>>0]=f;i=e;return}function sb(b,c){b=b|0;c=c|0;var d=0;d=c+8|0;a[d+-1>>0]=a[b>>0]|0;a[d+-2>>0]=a[b+1>>0]|0;a[d+-3>>0]=a[b+2>>0]|0;a[d+-4>>0]=a[b+3>>0]|0;a[d+-5>>0]=a[b+4>>0]|0;a[d+-6>>0]=a[b+5>>0]|0;a[d+-7>>0]=a[b+6>>0]|0;a[c>>0]=a[b+7>>0]|0;return}function tb(b,d){b=b|0;d=+d;var e=0;e=(g[k>>2]=d,c[k>>2]|0);a[b>>0]=e>>>24;a[b+1>>0]=e>>>16;a[b+2>>0]=e>>>8;a[b+3>>0]=e;return}function ub(b,c){b=b|0;c=c|0;var d=0;d=c+4|0;a[d+-1>>0]=a[b>>0]|0;a[d+-2>>0]=a[b+1>>0]|0;a[d+-3>>0]=a[b+2>>0]|0;a[c>>0]=a[b+3>>0]|0;return}function vb(a,b){a=a|0;b=b|0;var d=0,e=0;e=Qc(1,72)|0;if(!e){b=0;return b|0}c[e+64>>2]=a;a=Pc(a)|0;c[e+32>>2]=a;if(!a){Uc(e);b=0;return b|0}c[e+36>>2]=a;a=e+68|0;d=c[a>>2]|0;if(!b){c[a>>2]=d|1;c[e+40>>2]=31;c[e+44>>2]=32}else{c[a>>2]=d|2;c[e+40>>2]=29;c[e+44>>2]=30}c[e+16>>2]=4;c[e+20>>2]=5;c[e+24>>2]=6;c[e+28>>2]=7;b=e;return b|0}function wb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;m=n;f=a+48|0;g=c[f>>2]|0;if(g>>>0>=b>>>0){m=a+36|0;c[m>>2]=(c[m>>2]|0)+b;c[f>>2]=g-b;m=a+56|0;a=m;a=Si(c[a>>2]|0,c[a+4>>2]|0,b|0,d|0)|0;c[m>>2]=a;c[m+4>>2]=C;m=d;a=b;C=m;i=n;return a|0}l=a+68|0;if(c[l>>2]&4){m=a+36|0;c[m>>2]=(c[m>>2]|0)+g;c[f>>2]=0;a=a+56|0;m=a;m=Si(c[m>>2]|0,c[m+4>>2]|0,g|0,0)|0;c[a>>2]=m;c[a+4>>2]=C;a=(g|0)!=0;m=a?0:-1;a=a?g:-1;C=m;i=n;return a|0}if(!g){g=0;f=0}else{c[a+36>>2]=c[a+32>>2];b=Oi(b|0,d|0,g|0,0)|0;c[f>>2]=0;f=0;d=C}a:do if((d|0)>0|(d|0)==0&b>>>0>0){k=a+24|0;while(1){h=Ra[c[k>>2]&63](b,d,c[a>>2]|0)|0;j=C;if((h|0)==-1&(j|0)==-1)break;b=Oi(b|0,d|0,h|0,j|0)|0;d=C;g=Si(h|0,j|0,g|0,f|0)|0;f=C;if(!((d|0)>0|(d|0)==0&b>>>0>0))break a}Ub(e,4,4636,m)|0;c[l>>2]=c[l>>2]|4;a=a+56|0;m=a;m=Si(c[m>>2]|0,c[m+4>>2]|0,g|0,f|0)|0;c[a>>2]=m;c[a+4>>2]=C;a=(g|0)!=0|(f|0)!=0;m=a?f:-1;a=a?g:-1;C=m;i=n;return a|0}while(0);m=a+56|0;a=m;a=Si(c[a>>2]|0,c[a+4>>2]|0,g|0,f|0)|0;c[m>>2]=a;c[m+4>>2]=C;m=f;a=g;C=m;i=n;return a|0}function xb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;c[a+36>>2]=c[a+32>>2];c[a+48>>2]=0;g=(Ra[c[a+28>>2]&63](b,d,c[a>>2]|0)|0)==0;e=a+68|0;f=c[e>>2]|0;if(g){c[e>>2]=f|4;g=0;return g|0}else{c[e>>2]=f&-5;g=a+56|0;c[g>>2]=b;c[g+4>>2]=d;g=1;return g|0}return 0}function yb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r+8|0;m=r;p=a+68|0;if(c[p>>2]&8){q=-1;a=-1;C=q;i=r;return a|0}k=a+32|0;f=c[k>>2]|0;o=a+36|0;c[o>>2]=f;l=a+48|0;g=c[l>>2]|0;do if(g){j=a+20|0;while(1){h=Ra[c[j>>2]&63](f,g,c[a>>2]|0)|0;if((h|0)==-1)break;f=(c[o>>2]|0)+h|0;c[o>>2]=f;s=c[l>>2]|0;g=s-h|0;c[l>>2]=g;if((s|0)==(h|0)){n=6;break}}if((n|0)==6){f=c[k>>2]|0;break}c[p>>2]=c[p>>2]|8;Ub(e,4,4662,m)|0;c[p>>2]=c[p>>2]|8;c[l>>2]=0;a=-1;s=-1;C=a;i=r;return s|0}while(0);c[o>>2]=f;a:do if((d|0)>0|(d|0)==0&b>>>0>0){k=a+24|0;g=0;f=0;while(1){h=Ra[c[k>>2]&63](b,d,c[a>>2]|0)|0;j=C;if((h|0)==-1&(j|0)==-1)break;b=Oi(b|0,d|0,h|0,j|0)|0;d=C;g=Si(h|0,j|0,g|0,f|0)|0;f=C;if(!((d|0)>0|(d|0)==0&b>>>0>0))break a}Ub(e,4,4688,q)|0;c[p>>2]=c[p>>2]|8;s=a+56|0;a=s;a=Si(c[a>>2]|0,c[a+4>>2]|0,g|0,f|0)|0;c[s>>2]=a;c[s+4>>2]=C;s=(g|0)!=0|(f|0)!=0;a=s?f:-1;s=s?g:-1;C=a;i=r;return s|0}else{g=0;f=0}while(0);a=a+56|0;s=a;s=Si(c[s>>2]|0,c[s+4>>2]|0,g|0,f|0)|0;c[a>>2]=s;c[a+4>>2]=C;a=f;s=g;C=a;i=r;return s|0}function zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+16|0;k=p;m=a+32|0;f=c[m>>2]|0;n=a+36|0;c[n>>2]=f;o=a+48|0;g=c[o>>2]|0;do if(!g)g=a;else{j=a+20|0;while(1){h=Ra[c[j>>2]&63](f,g,c[a>>2]|0)|0;if((h|0)==-1)break;f=(c[n>>2]|0)+h|0;c[n>>2]=f;q=c[o>>2]|0;g=q-h|0;c[o>>2]=g;if((q|0)==(h|0)){l=6;break}}if((l|0)==6){g=a;f=c[m>>2]|0;break}q=a+68|0;c[q>>2]=c[q>>2]|8;Ub(e,4,4662,k)|0;c[q>>2]=c[q>>2]|8;q=0;i=p;return q|0}while(0);c[n>>2]=f;c[o>>2]=0;if(!(Ra[c[a+28>>2]&63](b,d,c[g>>2]|0)|0)){q=a+68|0;c[q>>2]=c[q>>2]|8;q=0;i=p;return q|0}else{q=a+56|0;c[q>>2]=b;c[q+4>>2]=d;q=1;i=p;return q|0}return 0}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;C=-1;return -1}function Db(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Eb(a){a=a|0;var b=0,d=0,e=0;e=Qc(1,72)|0;if(!e){a=0;return a|0}c[e+64>>2]=1048576;b=Pc(1048576)|0;c[e+32>>2]=b;if(!b){Uc(e);a=0;return a|0}c[e+36>>2]=b;b=e+68|0;d=c[b>>2]|0;if(!a){c[b>>2]=d|1;c[e+40>>2]=31;c[e+44>>2]=32}else{c[b>>2]=d|2;c[e+40>>2]=29;c[e+44>>2]=30}c[e+16>>2]=4;c[e+20>>2]=5;c[e+24>>2]=6;c[e+28>>2]=7;a=e;return a|0}function Fb(a){a=a|0;var b=0;if(!a)return;b=c[a+4>>2]|0;if(b)Ta[b&7](c[a>>2]|0);b=a+32|0;Uc(c[b>>2]|0);c[b>>2]=0;Uc(a);return}function Gb(a,b){a=a|0;b=b|0;if(!a)return;if(!(c[a+68>>2]&2))return;c[a+16>>2]=b;return}function Hb(a,b){a=a|0;b=b|0;if(!a)return;c[a+28>>2]=b;return}function Ib(a,b){a=a|0;b=b|0;if(!a)return;if(!(c[a+68>>2]&1))return;c[a+20>>2]=b;return}function Jb(a,b){a=a|0;b=b|0;if(!a)return;c[a+24>>2]=b;return}function Kb(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;c[a>>2]=b;c[a+4>>2]=d;return}function Lb(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;a=a+8|0;c[a>>2]=b;c[a+4>>2]=d;return}function Mb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+16|0;s=w+8|0;r=w;v=a+48|0;f=c[v>>2]|0;if(f>>>0>=d>>>0){u=a+36|0;Ui(b|0,c[u>>2]|0,d|0)|0;c[u>>2]=(c[u>>2]|0)+d;c[v>>2]=(c[v>>2]|0)-d;v=a+56|0;u=v;u=Si(c[u>>2]|0,c[u+4>>2]|0,d|0,0)|0;c[v>>2]=u;c[v+4>>2]=C;v=d;i=w;return v|0}t=a+68|0;if(c[t>>2]&4){u=a+36|0;Ui(b|0,c[u>>2]|0,f|0)|0;e=c[v>>2]|0;c[u>>2]=(c[u>>2]|0)+e;u=a+56|0;t=u;e=Si(c[t>>2]|0,c[t+4>>2]|0,e|0,0)|0;c[u>>2]=e;c[u+4>>2]=C;c[v>>2]=0;v=(f|0)!=0?f:-1;i=w;return v|0}if(!f){o=a+32|0;g=c[o>>2]|0;p=a+36|0;c[p>>2]=g;q=p;u=a+56|0;f=0}else{p=a+36|0;Ui(b|0,c[p>>2]|0,f|0)|0;o=a+32|0;g=c[o>>2]|0;c[p>>2]=g;q=c[v>>2]|0;u=a+56|0;m=u;m=Si(c[m>>2]|0,c[m+4>>2]|0,q|0,0)|0;n=u;c[n>>2]=m;c[n+4>>2]=C;c[v>>2]=0;d=d-q|0;b=b+q|0;q=p}m=a+64|0;n=a+16|0;l=b;h=g;while(1){b=c[m>>2]|0;g=c[n>>2]|0;if(d>>>0>>0){g=Ra[g&63](h,b,c[a>>2]|0)|0;c[v>>2]=g;if((g|0)==-1){g=11;break}if(g>>>0>=d>>>0){b=l;g=14;break}Ui(l|0,c[q>>2]|0,g|0)|0;h=c[o>>2]|0;c[p>>2]=h;b=c[v>>2]|0;j=u;j=Si(c[j>>2]|0,c[j+4>>2]|0,b|0,0)|0;k=C;f=g+f|0}else{b=Ra[g&63](l,d,c[a>>2]|0)|0;c[v>>2]=b;if((b|0)==-1){g=16;break}f=b+f|0;if(b>>>0>=d>>>0){g=20;break}h=c[o>>2]|0;c[p>>2]=h;j=u;j=Si(c[j>>2]|0,c[j+4>>2]|0,b|0,0)|0;k=C}g=u;c[g>>2]=j;c[g+4>>2]=k;c[v>>2]=0;d=d-b|0;l=l+b|0}if((g|0)==11){Ub(e,4,4636,r)|0;c[v>>2]=0;c[t>>2]=c[t>>2]|4;v=(f|0)!=0?f:-1;i=w;return v|0}else if((g|0)==14){Ui(b|0,c[q>>2]|0,d|0)|0;c[q>>2]=(c[q>>2]|0)+d;c[v>>2]=(c[v>>2]|0)-d;e=u;e=Si(c[e>>2]|0,c[e+4>>2]|0,d|0,0)|0;v=u;c[v>>2]=e;c[v+4>>2]=C;v=f+d|0;i=w;return v|0}else if((g|0)==16){Ub(e,4,4636,s)|0;c[v>>2]=0;c[t>>2]=c[t>>2]|4;v=(f|0)!=0?f:-1;i=w;return v|0}else if((g|0)==20){e=u;e=Si(c[e>>2]|0,c[e+4>>2]|0,b|0,0)|0;c[u>>2]=e;c[u+4>>2]=C;c[p>>2]=c[o>>2];c[v>>2]=0;v=f;i=w;return v|0}return 0}function Nb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;r=u;n=a+68|0;if(c[n>>2]&8){t=-1;i=u;return t|0}q=a+64|0;f=c[q>>2]|0;t=a+48|0;k=c[t>>2]|0;g=f-k|0;do if(g>>>0>>0){o=a+32|0;h=a+36|0;p=a+20|0;j=a+56|0;l=f;m=g;f=0;a:while(1){if((l|0)==(k|0))g=c[o>>2]|0;else{Ui(c[h>>2]|0,b|0,m|0)|0;g=c[o>>2]|0;c[h>>2]=g;k=(c[t>>2]|0)+m|0;c[t>>2]=k;v=j;v=Si(c[v>>2]|0,c[v+4>>2]|0,m|0,0)|0;l=j;c[l>>2]=v;c[l+4>>2]=C;d=d-m|0;b=b+m|0;f=m+f|0}c[h>>2]=g;if(!k)k=0;else{do{l=Ra[c[p>>2]&63](g,k,c[a>>2]|0)|0;if((l|0)==-1)break a;g=(c[h>>2]|0)+l|0;c[h>>2]=g;v=c[t>>2]|0;k=v-l|0;c[t>>2]=k}while((v|0)!=(l|0));g=c[o>>2]|0}c[h>>2]=g;l=c[q>>2]|0;m=l-k|0;if(d>>>0<=m>>>0){s=5;break}}if((s|0)==5)break;c[n>>2]=c[n>>2]|8;Ub(e,4,4662,r)|0;v=-1;i=u;return v|0}else{g=a+36|0;j=a+56|0;h=g;g=c[g>>2]|0;f=0}while(0);Ui(g|0,b|0,d|0)|0;c[h>>2]=(c[h>>2]|0)+d;c[t>>2]=(c[t>>2]|0)+d;t=j;t=Si(c[t>>2]|0,c[t+4>>2]|0,d|0,0)|0;v=j;c[v>>2]=t;c[v+4>>2]=C;v=f+d|0;i=u;return v|0}function Ob(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+16|0;k=n;g=a+32|0;d=c[g>>2]|0;m=a+36|0;c[m>>2]=d;h=a+48|0;e=c[h>>2]|0;do if(e){j=a+20|0;while(1){f=Ra[c[j>>2]&63](d,e,c[a>>2]|0)|0;if((f|0)==-1)break;d=(c[m>>2]|0)+f|0;c[m>>2]=d;o=c[h>>2]|0;e=o-f|0;c[h>>2]=e;if((o|0)==(f|0)){l=6;break}}if((l|0)==6){d=c[g>>2]|0;break}o=a+68|0;c[o>>2]=c[o>>2]|8;Ub(b,4,4662,k)|0;o=0;i=n;return o|0}while(0);c[m>>2]=d;o=1;i=n;return o|0}function Pb(a){a=a|0;a=a+56|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Qb(a){a=a|0;var b=0,d=0;d=a+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0;if((b|0)==0&(d|0)==0){d=0;a=0;C=d;return a|0}a=a+56|0;a=Oi(b|0,d|0,c[a>>2]|0,c[a+4>>2]|0)|0;d=C;C=d;return a|0}function Rb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Za[c[a+40>>2]&63](a,b,d,e)|0;return a|0}function Sb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return Za[c[a+44>>2]&63](a,b,d,e)|0}function Tb(a){a=a|0;return (c[a+28>>2]|0)!=7|0}function Ub(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+528|0;g=j;h=j+16|0;a:do if(a){switch(b|0){case 1:{b=a;f=a+12|0;break}case 2:{b=a+4|0;f=a+16|0;break}case 4:{b=a+8|0;f=a+20|0;break}default:{b=0;break a}}a=c[b>>2]|0;b=c[f>>2]|0;if(b)if(!d)b=1;else{Qi(h|0,0,512)|0;c[g>>2]=e;pi(h,512,d,g)|0;Ua[b&7](h,a);b=1}else b=0}else b=0;while(0);i=j;return b|0}function Vb(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=4;c[a+20>>2]=4;c[a+16>>2]=4;return}function Wb(a,b){a=a|0;b=b|0;return}function Xb(){return Qc(1,36)|0}function Yb(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;e=Qc(1,36)|0;if(!e){i=e;return i|0}c[e+20>>2]=d;h=e+16|0;c[h>>2]=a;d=Qc(1,a*52|0)|0;i=e+24|0;c[i>>2]=d;if(!d){d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);i=0;return i|0}if(!a){i=e;return i|0}f=0;while(1){c[d+(f*52|0)>>2]=c[b+(f*36|0)>>2];c[d+(f*52|0)+4>>2]=c[b+(f*36|0)+4>>2];j=c[b+(f*36|0)+8>>2]|0;c[d+(f*52|0)+8>>2]=j;k=c[b+(f*36|0)+12>>2]|0;c[d+(f*52|0)+12>>2]=k;c[d+(f*52|0)+16>>2]=c[b+(f*36|0)+16>>2];c[d+(f*52|0)+20>>2]=c[b+(f*36|0)+20>>2];c[d+(f*52|0)+24>>2]=c[b+(f*36|0)+24>>2];c[d+(f*52|0)+28>>2]=c[b+(f*36|0)+28>>2];c[d+(f*52|0)+32>>2]=c[b+(f*36|0)+32>>2];j=Qc(_(k,j)|0,4)|0;c[d+(f*52|0)+44>>2]=j;f=f+1|0;if(!j)break;if(f>>>0>=a>>>0){g=22;break}d=c[i>>2]|0}if((g|0)==22)return e|0;d=c[i>>2]|0;if(d){f=c[h>>2]|0;if(f){b=0;while(1){d=c[d+(b*52|0)+44>>2]|0;if(d){Uc(d);f=c[h>>2]|0}b=b+1|0;if(b>>>0>=f>>>0)break;d=c[i>>2]|0}d=c[i>>2]|0}Uc(d)}d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);k=0;return k|0}function Zb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)return;f=a+24|0;b=c[f>>2]|0;if(b){g=a+16|0;d=c[g>>2]|0;if(d){e=0;while(1){b=c[b+(e*52|0)+44>>2]|0;if(b){Uc(b);d=c[g>>2]|0}e=e+1|0;if(e>>>0>=d>>>0)break;b=c[f>>2]|0}b=c[f>>2]|0}Uc(b)}b=c[a+28>>2]|0;if(b)Uc(b);Uc(a);return}function _b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=c[b+4>>2]|0;e=c[a>>2]|0;g=c[b+8>>2]|0;h=c[a+4>>2]|0;f=c[b+12>>2]|0;l=(_((c[b+24>>2]|0)+-1|0,f)|0)+d|0;i=c[b+16>>2]|0;j=(_((c[b+28>>2]|0)+-1|0,i)|0)+g|0;b=Si(l|0,0,f|0,0)|0;b=b|0-C;f=c[a+8>>2]|0;i=Si(j|0,0,i|0,0)|0;i=i|0-C;j=c[a+12>>2]|0;l=c[a+16>>2]|0;if(!l)return;k=(d>>>0>e>>>0?d:e)+-1|0;g=(g>>>0>h>>>0?g:h)+-1|0;f=(b>>>0>>0?b:f)+-1|0;d=(i>>>0>>0?i:j)+-1|0;e=0;b=c[a+24>>2]|0;while(1){h=c[b>>2]|0;j=((k+h|0)>>>0)/(h>>>0)|0;o=c[b+4>>2]|0;a=((g+o|0)>>>0)/(o>>>0)|0;i=c[b+40>>2]|0;n=Ri(1,0,i|0)|0;m=C;h=Si((((f+h|0)>>>0)/(h>>>0)|0)-j|0,0,-1,-1)|0;h=Si(h|0,C|0,n|0,m|0)|0;h=Ti(h|0,C|0,i|0)|0;o=Si((((d+o|0)>>>0)/(o>>>0)|0)-a|0,0,-1,-1)|0;m=Si(o|0,C|0,n|0,m|0)|0;i=Ti(m|0,C|0,i|0)|0;c[b+8>>2]=h;c[b+12>>2]=i;c[b+16>>2]=j;c[b+20>>2]=a;e=e+1|0;if(e>>>0>=l>>>0)break;else b=b+52|0}return}function $b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];j=b+24|0;e=c[j>>2]|0;i=b+16|0;if(!e)d=j;else{d=c[i>>2]|0;if(!d)d=j;else{f=0;while(1){e=c[e+(f*52|0)+44>>2]|0;if(e){Uc(e);d=c[i>>2]|0}f=f+1|0;if(f>>>0>=d>>>0)break;e=c[j>>2]|0}d=j;e=c[j>>2]|0}Uc(e);c[j>>2]=0}e=c[a+16>>2]|0;c[i>>2]=e;e=Pc(e*52|0)|0;c[d>>2]=e;if(!e){c[j>>2]=0;c[i>>2]=0;return}if(c[i>>2]|0){h=a+24|0;g=0;do{d=e+(g*52|0)|0;e=(c[h>>2]|0)+(g*52|0)|0;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=c[j>>2]|0;c[e+(g*52|0)+44>>2]=0;g=g+1|0}while(g>>>0<(c[i>>2]|0)>>>0)}c[b+20>>2]=c[a+20>>2];f=a+32|0;d=c[f>>2]|0;g=b+32|0;c[g>>2]=d;if(!d){c[b+28>>2]=0;return}e=Pc(d)|0;d=b+28|0;c[d>>2]=e;if(!e){c[d>>2]=0;c[g>>2]=0;return}else{Ui(e|0,c[a+28>>2]|0,c[f>>2]|0)|0;return}}function ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Qc(1,36)|0;if(!e){a=e;return a|0}c[e+20>>2]=d;c[e+16>>2]=a;d=Qc(a,52)|0;c[e+24>>2]=d;if(!d){d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);a=0;return a|0}else{if(!a){a=e;return a|0}else f=0;do{c[d+(f*52|0)>>2]=c[b+(f*36|0)>>2];c[d+(f*52|0)+4>>2]=c[b+(f*36|0)+4>>2];c[d+(f*52|0)+8>>2]=c[b+(f*36|0)+8>>2];c[d+(f*52|0)+12>>2]=c[b+(f*36|0)+12>>2];c[d+(f*52|0)+16>>2]=c[b+(f*36|0)+16>>2];c[d+(f*52|0)+20>>2]=c[b+(f*36|0)+20>>2];c[d+(f*52|0)+24>>2]=c[b+(f*36|0)+24>>2];c[d+(f*52|0)+32>>2]=c[b+(f*36|0)+32>>2];c[d+(f*52|0)+44>>2]=0;f=f+1|0}while((f|0)!=(a|0));return e|0}return 0}function bc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+64>>2]=b;c[a+52>>2]=d;d=1;return d|0}function cc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+60>>2]=b;c[a+48>>2]=d;d=1;return d|0}function dc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+56>>2]=b;c[a+44>>2]=d;d=1;return d|0}function ec(a,b){a=a|0;b=b|0;var d=0;if(!a){a=0;return a|0}d=Eb(b)|0;if(!d){a=0;return a|0}Kb(d,a,0);Lb(d,c[a+8>>2]|0,0);if(!b)Ib(d,9);else Gb(d,8);Jb(d,1);Hb(d,10);a=d;return a|0}function fc(){return 4703}function gc(a){a=a|0;var b=0;b=Qc(1,84)|0;if(!b){a=0;return a|0}c[b+68>>2]=1;switch(a|0){case 0:{c[b+72>>2]=13;c[b+76>>2]=2;c[b+80>>2]=3;c[b+4>>2]=33;c[b+16>>2]=11;c[b>>2]=34;c[b+20>>2]=1;c[b+24>>2]=5;c[b+8>>2]=1;c[b+12>>2]=1;c[b+28>>2]=1;c[b+32>>2]=1;c[b+36>>2]=12;a=fd()|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}case 2:{c[b+72>>2]=14;c[b+76>>2]=4;c[b+80>>2]=5;c[b+4>>2]=35;c[b+16>>2]=13;c[b>>2]=36;c[b+8>>2]=2;c[b+12>>2]=2;c[b+20>>2]=2;c[b+24>>2]=6;c[b+28>>2]=2;c[b+32>>2]=2;c[b+36>>2]=14;a=Ye(1)|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}default:{Uc(b);a=0;return a|0}}Vb(b+44|0);a=b;return a|0}function hc(a){a=a|0;if(!a)return;Qi(a|0,0,8248)|0;c[a+8200>>2]=-1;c[a+8204>>2]=-1;c[a+8248>>2]=0;return}function ic(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;if(!((a|0)!=0&(b|0)!=0)){b=0;i=d;return b|0}if(!(c[a+68>>2]|0)){Ub(a+44|0,1,4709,d)|0;b=0;i=d;return b|0}else{Ua[c[a+24>>2]&7](c[a+40>>2]|0,b);b=1;i=d;return b|0}return 0}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;if(!((a|0)!=0&(b|0)!=0)){a=0;i=e;return a|0}if(!(c[b+68>>2]|0)){Ub(b+44|0,1,4790,e)|0;a=0;i=e;return a|0}else{a=Za[c[b>>2]&63](a,c[b+40>>2]|0,d,b+44|0)|0;i=e;return a|0}return 0}function kc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Za[c[a+4>>2]&63](c[a+40>>2]|0,b,d,a+44|0)|0;return b|0}function lc(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(!a){e=0;return e|0}if(!(c[a+68>>2]|0)){e=0;return e|0}e=Qa[c[a+28>>2]&3](c[a+40>>2]|0,b,d,e,f,g,a+44|0)|0;return e|0}function mc(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;if(!((d|0)!=0&((a|0)!=0&(b|0)!=0&(e|0)!=0))){i=0;return i|0}if(!(c[a+68>>2]|0)){i=0;return i|0}i=Ya[c[a+8>>2]&3](c[a+40>>2]|0,d,e,f,g,h,i,j,k,b,a+44|0)|0;return i|0}function nc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!((a|0)!=0&(d|0)!=0&(f|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Va[c[a+12>>2]&7](c[a+40>>2]|0,b,d,e,f,a+44|0)|0;return b|0}function oc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(!((a|0)!=0&(b|0)!=0)){e=0;return e|0}if(!(c[a+68>>2]|0)){e=0;return e|0}e=$a[c[a+32>>2]&3](c[a+40>>2]|0,b,d,a+44|0,e)|0;return e|0}function pc(a,b){a=a|0;b=b|0;if(!a){b=0;return b|0}b=Ra[c[a+36>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function qc(a){a=a|0;var b=0;b=Qc(1,84)|0;if(!b){a=0;return a|0}c[b+68>>2]=0;switch(a|0){case 0:{c[b+4>>2]=15;c[b+12>>2]=16;c[b>>2]=37;c[b+8>>2]=3;c[b+16>>2]=1;c[b+20>>2]=38;a=Xc()|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}case 2:{c[b+4>>2]=17;c[b+12>>2]=18;c[b>>2]=39;c[b+8>>2]=4;c[b+16>>2]=2;c[b+20>>2]=40;a=Ye(0)|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}default:{Uc(b);a=0;return a|0}}Vb(b+44|0);a=b;return a|0}function rc(b){b=b|0;if(!b)return;Qi(b|0,0,18708)|0;c[b+5592>>2]=6;c[b+18684>>2]=0;c[b+5596>>2]=64;c[b+5600>>2]=64;c[b+44>>2]=0;c[b+5612>>2]=-1;c[b+18188>>2]=1;c[b+18192>>2]=1;a[b+18688>>0]=0;c[b+18196>>2]=-1;c[b+18200>>2]=-1;g[b+4792>>2]=0.0;c[b+4788>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+18692>>2]=0;return}function sc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(b|0)!=0&(d|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Za[c[a+20>>2]&63](c[a+40>>2]|0,b,d,a+44|0)|0;return b|0}function tc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(d|0)!=0)){d=0;return d|0}if(c[a+68>>2]|0){d=0;return d|0}d=Za[c[a>>2]&63](c[a+40>>2]|0,d,b,a+44|0)|0;return d|0}function uc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Ra[c[a+4>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function vc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Ra[c[a+12>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function wc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Ra[c[a+16>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function xc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;k=h<<2;i=_(k,h)|0;j=d+18704|0;h=e[j>>1]|0;b[j>>1]=(h&32768|0)==0?-32512:(h|256)&65535;c[d+5608>>2]=1;a[d+18690>>0]=2;j=Pc(i+k|0)|0;h=d+18696|0;c[h>>2]=j;if(!j){g=0;return g|0}Ui(j|0,f|0,i|0)|0;Ui((c[h>>2]|0)+i|0,g|0,k|0)|0;g=1;return g|0}function yc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!((d|0)!=0&((a|0)!=0&(f|0)!=0))){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Va[c[a+8>>2]&7](c[a+40>>2]|0,b,d,e,f,a+44|0)|0;return b|0}function zc(a){a=a|0;var b=0,d=0;if(!a)return;b=a+40|0;d=c[b>>2]|0;if(!(c[a+68>>2]|0))Ta[c[a+16>>2]&7](d);else Ta[c[a+20>>2]&7](d);c[b>>2]=0;Uc(a);return}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;Xa[c[a+72>>2]&15](c[a+40>>2]|0,b,d);return}function Bc(a){a=a|0;if(!a){a=0;return a|0}a=Wa[c[a+76>>2]&15](c[a+40>>2]|0)|0;return a|0}function Cc(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a>>2]|0;d=c[b+48>>2]|0;if(d){Uc(d);b=c[a>>2]|0}Uc(b);c[a>>2]=0;return}function Dc(a){a=a|0;if(!a){a=0;return a|0}a=Wa[c[a+80>>2]&15](c[a+40>>2]|0)|0;return a|0}function Ec(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;bd(b);c[a>>2]=0;return}function Fc(a,b){a=a|0;b=b|0;return Gc(a,1048576,b)|0}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!a){b=0;return b|0}d=_h(a,(c|0)==0?4869:4872)|0;if(!d){b=0;return b|0}a=vb(b,c)|0;if(!a){Yh(d)|0;b=0;return b|0}else{Kb(a,d,6);fi(d,0,2)|0;b=ii(d)|0;fi(d,0,0)|0;Lb(a,b,((b|0)<0)<<31>>31);Gb(a,19);Ib(a,20);Jb(a,21);Hb(a,22);b=a;return b|0}return 0}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[d>>2]|0)+(c[d+8>>2]|0)|0;d=d+4|0;e=c[d>>2]|0;f=g-e|0;if((g|0)==(e|0)){g=-1;return g|0}g=f>>>0>b>>>0?b:f;Ui(a|0,e|0,g|0)|0;c[d>>2]=(c[d>>2]|0)+g;return g|0}function Ic(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;k=d+4|0;e=c[k>>2]|0;i=d+8|0;g=c[i>>2]|0;j=e-(c[d>>2]|0)|0;f=(g|0)==0?1:g;while(1)if((f-j|0)>>>0>>0)f=f<<1;else{h=f;break}if((h|0)!=(g|0)){e=Pc(h)|0;if(!e){b=-1;return b|0}f=c[d>>2]|0;if(f){Ui(e|0,f|0,j|0)|0;Uc(c[d>>2]|0)}c[d>>2]=e;e=e+j|0;c[k>>2]=e;c[i>>2]=h}Ui(e|0,a|0,b|0)|0;c[k>>2]=(c[k>>2]|0)+b;return b|0}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=(c[b>>2]|0)+(c[b+8>>2]|0)|0;b=b+4|0;d=c[b>>2]|0;e=f-d|0;if((f|0)==(d|0)){f=-1;return f|0}c[b>>2]=d+a;f=e>>>0>a>>>0?a:e;return f|0}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[d+8>>2]|0;c[d+4>>2]=(c[d>>2]|0)+(0>(b|0)|0==(b|0)&e>>>0>a>>>0?a:e);return 1}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;b=ci(a,1,b,c)|0;return ((b|0)!=0?b:-1)|0}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;return ki(a,1,b,c)|0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;c=(fi(c,a,1)|0)==0;C=c?b:-1;return (c?a:-1)|0}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;return (fi(c,a,0)|0)==0|0}function Pc(a){a=a|0;if(!a)a=0;else a=Fi(a)|0;return a|0}function Qc(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Hi(a,b)|0;return a|0}function Rc(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;do if(a)if(!(Ji(b,16,a)|0)){b=c[b>>2]|0;break}else{c[b>>2]=0;b=0;break}else b=0;while(0);i=d;return b|0}function Sc(a){a=a|0;Gi(a);return}function Tc(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Ii(a,b)|0;return b|0}function Uc(a){a=a|0;Gi(a);return}function Vc(a){a=a|0;var b=0,d=0;b=696;while(1){d=c[b>>2]|0;if((d|0)==-1|(d|0)==(a|0))break;else b=b+12|0}return b+4|0}function Wc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0))return;c[a+172>>2]=c[b+4>>2];c[a+168>>2]=c[b>>2];return}function Xc(){var b=0,d=0;b=Qc(1,208)|0;if(!b){b=0;return b|0}c[b>>2]=0;d=b+184|0;a[d>>0]=a[d>>0]&-3;d=Pc(1e3)|0;c[b+44>>2]=d;if(!d){Yc(b);d=0;return d|0}c[b+48>>2]=1e3;d=qg()|0;c[b+192>>2]=d;if(!d){Yc(b);d=0;return d|0}d=qg()|0;c[b+188>>2]=d;if(d){d=b;return d|0}Yc(b);d=0;return d|0}function Yc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!b)return;if(!(c[b>>2]|0)){d=b+36|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0}d=b+24|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+28>>2]=0}d=b+44|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+48>>2]=0}}else{d=b+12|0;e=c[d>>2]|0;if(e){sd(e);Uc(c[d>>2]|0);c[d>>2]=0}d=b+16|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+20>>2]=0}}Yf(c[b+204>>2]|0);d=b+88|0;h=b+164|0;e=c[h>>2]|0;if(e){f=_(c[b+112>>2]|0,c[b+116>>2]|0)|0;if(f){g=0;while(1){sd(e);g=g+1|0;if((g|0)==(f|0))break;else e=e+5640|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=b+124|0;e=c[h>>2]|0;if(e){i=b+120|0;f=c[i>>2]|0;if(f){g=0;while(1){e=c[e+(g<<3)>>2]|0;if(e){Uc(e);f=c[i>>2]|0}g=g+1|0;if(g>>>0>=f>>>0)break;e=c[h>>2]|0}e=c[h>>2]|0}c[i>>2]=0;Uc(e);c[h>>2]=0}i=b+144|0;Uc(c[i>>2]|0);c[i>>2]=0;c[b+128>>2]=0;i=b+108|0;Uc(c[i>>2]|0);c[i>>2]=0;if(!(a[b+184>>0]&2)){i=b+176|0;Uc(c[i>>2]|0);c[i>>2]=0}e=d+100|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=b+188|0;rg(c[i>>2]|0);c[i>>2]=0;rg(c[b+192>>2]|0);c[i>>2]=0;i=b+196|0;bd(c[i>>2]|0);c[i>>2]=0;i=b+80|0;Zb(c[i>>2]|0);c[i>>2]=0;i=b+84|0;Zb(c[i>>2]|0);c[i>>2]=0;Uc(b);return}function Zc(d,e,f,j){d=d|0;e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0.0;ka=i;i=i+320|0;fa=ka+296|0;ea=ka+288|0;ja=ka+280|0;ia=ka+272|0;ha=ka+264|0;ga=ka+256|0;da=ka+248|0;ca=ka+240|0;W=ka+232|0;U=ka+224|0;T=ka+216|0;S=ka+208|0;R=ka+200|0;Q=ka+192|0;P=ka+184|0;v=ka+176|0;u=ka+168|0;t=ka+160|0;s=ka+152|0;q=ka+144|0;I=ka+136|0;H=ka+128|0;N=ka+112|0;G=ka+104|0;F=ka+96|0;E=ka+88|0;C=ka+80|0;B=ka+72|0;A=ka+64|0;z=ka+56|0;y=ka+48|0;x=ka+32|0;w=ka+24|0;p=ka+16|0;m=ka+8|0;l=ka;K=ka+309|0;L=ka+300|0;if(!((d|0)!=0&(e|0)!=0&(f|0)!=0)){j=0;i=ka;return j|0}ba=e+5592|0;k=c[ba>>2]|0;if((k+-1|0)>>>0>32){c[l>>2]=k;c[l+4>>2]=33;Ub(j,1,4875,l)|0;j=0;i=ka;return j|0}$=d+112|0;c[$>>2]=1;aa=d+116|0;c[aa>>2]=1;J=e+18704|0;do if(!(b[J>>1]|0)){switch(c[e+18676>>2]|0){case 1:{b[J>>1]=3;c[e+18700>>2]=1302083;c[e+18680>>2]=1041666;l=1;break}case 2:{b[J>>1]=3;c[e+18700>>2]=651041;c[e+18680>>2]=520833;l=1;break}case 3:{b[J>>1]=4;c[e+18700>>2]=1302083;c[e+18680>>2]=1041666;l=1;break}default:l=0}k=c[e+18684>>2]|0;a:do if((k|0)>=4)if((k|0)<33024){switch(k|0){case 4:break;default:{Z=13;break a}}b[J>>1]=4;break}else{switch(k|0){case 33024:break;default:{Z=13;break a}}b[J>>1]=-32512;break}else{switch(k|0){case 3:break;default:{Z=13;break a}}b[J>>1]=3}while(0);if((Z|0)==13?(l|0)==0:0)break;Ub(j,2,4931,m)|0}while(0);D=e+18700|0;k=c[D>>2]|0;do if((k|0)<1){r=+g[e+4792+((c[e+4788>>2]|0)+-1<<2)>>2];if(r>0.0){X=c[f+24>>2]|0;p=_(c[X+8>>2]|0,c[f+16>>2]|0)|0;p=_(p,c[X+12>>2]|0)|0;la=+((_(p,c[X+24>>2]|0)|0)>>>0);c[D>>2]=~~+M(+(la/(r*8.0*+((c[X>>2]|0)>>>0)*+((c[X+4>>2]|0)>>>0))));break}else{c[D>>2]=0;break}}else{o=c[f+24>>2]|0;X=_(c[o+8>>2]|0,c[f+16>>2]|0)|0;X=_(X,c[o+12>>2]|0)|0;r=+((_(X,c[o+24>>2]|0)|0)>>>0);k=_(k<<3,c[o>>2]|0)|0;r=r/+((_(k,c[o+4>>2]|0)|0)>>>0);o=e+4788|0;k=c[o>>2]|0;if(k){m=k;k=0;n=0;while(1){l=e+4792+(n<<2)|0;if(+g[l>>2]>2]=r;l=c[o>>2]|0;k=1}else l=m;n=n+1|0;if(n>>>0>=l>>>0)break;else m=l}if(k)Ub(j,2,5068,p)|0}}while(0);k=b[J>>1]|0;b:do if((k+-3&65535)>=4){if(k<<16>>16==7){Ub(j,2,7228,q)|0;b[J>>1]=0;k=0;break}if((k+-256&65535)<524){Ub(j,2,7283,s)|0;b[J>>1]=0;k=0;break}if((k+-1024&65535)<1180){Ub(j,2,7331,t)|0;b[J>>1]=0;k=0;break}if(k<<16>>16<=-1)switch(k<<16>>16){case -32512:{k=-32512;break b}case -32768:{Ub(j,2,7373,u)|0;b[J>>1]=0;k=0;break b}default:{Ub(j,2,7461,v)|0;b[J>>1]=0;k=0;break b}}}else{if((k+-5&65535)<2){Ub(j,2,5160,w)|0;b[J>>1]=0;k=0;break}c[e>>2]=0;c[e+12>>2]=1;c[e+16>>2]=1;a[e+18689>>0]=67;a[e+18688>>0]=1;c[e+4>>2]=0;c[e+8>>2]=0;c[e+18180>>2]=0;c[e+18184>>2]=0;c[e+5596>>2]=32;c[e+5600>>2]=32;c[e+5604>>2]=0;c[e+5612>>2]=-1;c[e+18188>>2]=1;c[e+18192>>2]=1;c[e+5608>>2]=1;l=e+4788|0;m=c[l>>2]|0;if((m|0)>1){la=+g[e+4792+(m+-1<<2)>>2];c[x>>2]=m;h[x+8>>3]=la;Ub(j,2,5222,x)|0;c[e+4792>>2]=c[e+4792+((c[l>>2]|0)+-1<<2)>>2];c[l>>2]=1;k=b[J>>1]|0}c:do switch(k&65535|0){case 3:{k=c[ba>>2]|0;if((k|0)>6){c[y>>2]=k+1;Ub(j,2,5395,y)|0;c[ba>>2]=6;k=6}break}case 4:{k=c[ba>>2]|0;if((k|0)<2){c[z>>2]=k+1;Ub(j,2,5541,z)|0;c[ba>>2]=1;k=1;break c}if((k|0)>7){c[A>>2]=k+1;Ub(j,2,5695,A)|0;c[ba>>2]=7;k=7}break}default:k=c[ba>>2]|0}while(0);l=e+40|0;c[l>>2]=c[l>>2]|1;l=e+5620|0;c[l>>2]=k+-1;if((k|0)>1){k=0;do{c[e+5624+(k<<2)>>2]=256;c[e+5756+(k<<2)>>2]=256;k=k+1|0}while((k|0)<(c[l>>2]|0))}c[e+44>>2]=4;if((b[J>>1]|0)==4){k=c[ba>>2]|0;c[e+96>>2]=1;c[e+48>>2]=0;c[e+52>>2]=0;c[e+56>>2]=1;X=k+-1|0;c[e+60>>2]=X;c[e+64>>2]=3;c[e+80>>2]=4;c[e+244>>2]=1;c[e+196>>2]=X;c[e+200>>2]=0;c[e+204>>2]=1;c[e+208>>2]=k;c[e+212>>2]=3;c[e+228>>2]=4;k=2}else k=0;c[e+4784>>2]=k;c[e+20>>2]=1;k=c[D>>2]|0;if((k|0)>=1){if((k|0)>1302083){Ub(j,2,5998,C)|0;c[D>>2]=1302083}}else{c[D>>2]=1302083;Ub(j,2,5849,B)|0}k=e+18680|0;l=c[k>>2]|0;if((l|0)>=1){if((l|0)>1041666){Ub(j,2,6320,F)|0;c[k>>2]=1041666}}else{c[k>>2]=1041666;Ub(j,2,6171,E)|0}l=c[f+16>>2]|0;n=c[f+24>>2]|0;o=c[n+8>>2]|0;k=_(o,l)|0;p=c[n+12>>2]|0;k=_(k,p)|0;la=+((_(k,c[n+24>>2]|0)|0)>>>0);k=_(c[D>>2]<<3,c[n>>2]|0)|0;g[e+4792>>2]=la/+((_(k,c[n+4>>2]|0)|0)>>>0);k=b[J>>1]|0;d:do if((l|0)==3){l=n+28|0;m=n+32|0;if(!((c[l>>2]|0)!=12|c[m>>2])){l=n+80|0;m=n+84|0;if(!((c[l>>2]|0)!=12|c[m>>2])){l=n+132|0;m=n+136|0;if(!((c[l>>2]|0)!=12|c[m>>2])){switch(k&65535|0){case 3:{if(p>>>0>1080|o>>>0>2048){c[H>>2]=o;c[H+4>>2]=p;Ub(j,2,6892,H)|0;break d}break}case 4:{if(p>>>0>2160|o>>>0>4096){c[I>>2]=o;c[I+4>>2]=p;Ub(j,2,7063,I)|0;break d}break}default:{}}break b}else{p=l;k=m;l=2}}else{p=l;k=m;l=1}}else{p=l;k=m;l=0};a[K>>0]=a[6659]|0;a[K+1>>0]=a[6660]|0;a[K+2>>0]=a[6661]|0;a[K+3>>0]=a[6662]|0;a[K+4>>0]=a[6663]|0;a[K+5>>0]=a[6664]|0;a[K+6>>0]=a[6665]|0;m=L;n=6666;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));X=(c[k>>2]|0)!=0?K:L;L=c[p>>2]|0;c[N>>2]=l;c[N+4>>2]=L;c[N+8>>2]=X;Ub(j,2,6675,N)|0}else{c[G>>2]=l;Ub(j,2,6493,G)|0}while(0);b[J>>1]=0;k=0}while(0);c[d+168>>2]=c[e+18680>>2];X=d+88|0;b[X>>1]=k;N=d+181|0;K=a[N>>0]&-2|c[e+20>>2]&1;a[N>>0]=K;L=e+24|0;K=(c[L>>2]&255)<<1&2|K&-3;a[N>>0]=K;a[N>>0]=K&-5|(c[e+28>>2]&255)<<2&4;do if((c[L>>2]|0)!=0?(O=e+32|0,(c[O>>2]|0)!=0):0){k=_((c[e+4788>>2]|0)*12|0,c[ba>>2]|0)|0;l=Pc(k)|0;c[d+176>>2]=l;if(l){Ui(l|0,c[O>>2]|0,k|0)|0;break}Ub(j,1,7520,P)|0;j=0;i=ka;return j|0}while(0);n=d+100|0;c[n>>2]=c[e+12>>2];o=d+104|0;c[o>>2]=c[e+16>>2];m=d+92|0;c[m>>2]=c[e+4>>2];p=d+96|0;c[p>>2]=c[e+8>>2];l=e+36|0;k=c[l>>2]|0;do if(!k){k=fc()|0;l=Pc((wi(k)|0)+29|0)|0;c[d+108>>2]=l;if(l){c[S>>2]=7697;c[S+4>>2]=k;ni(l,7692,S)|0;break}Ub(j,1,7646,R)|0;j=0;i=ka;return j|0}else{k=Pc((wi(k)|0)+1|0)|0;c[d+108>>2]=k;if(k){vi(k,c[l>>2]|0)|0;break}Ub(j,1,7592,Q)|0;j=0;i=ka;return j|0}while(0);k=(c[f+8>>2]|0)-(c[m>>2]|0)|0;l=c[f+12>>2]|0;if(!(c[e>>2]|0)){c[n>>2]=k;c[o>>2]=l-(c[p>>2]|0)}else{S=c[n>>2]|0;c[$>>2]=(k+-1+S|0)/(S|0)|0;S=c[o>>2]|0;c[aa>>2]=(l+-1-(c[p>>2]|0)+S|0)/(S|0)|0}if(a[e+18688>>0]|0){a[d+180>>0]=a[e+18689>>0]|0;a[N>>0]=a[N>>0]|8}S=Qc(_(c[aa>>2]|0,c[$>>2]|0)|0,5640)|0;L=d+164|0;c[L>>2]=S;if(!S){Ub(j,1,7726,T)|0;j=0;i=ka;return j|0}K=e+4784|0;A=c[K>>2]|0;do if(A){w=e+48|0;B=c[ba>>2]|0;C=c[f+16>>2]|0;D=c[e+4788>>2]|0;E=_(C,B)|0;F=Qc(_(E,D)|0,4)|0;if(!F){Ub(j,1,7780,U)|0;break}m=c[w>>2]|0;s=e+60|0;k=c[s>>2]|0;if(m>>>0>>0){q=_(m,C)|0;t=e+52|0;u=e+64|0;v=e+56|0;l=c[u>>2]|0;while(1){n=c[t>>2]|0;if(n>>>0>>0){k=c[v>>2]|0;p=n;o=n+q|0;while(1){if(!k)k=0;else{l=o;n=0;while(1){c[F+(l<<2)>>2]=1;n=n+1|0;k=c[v>>2]|0;if(n>>>0>=k>>>0)break;else l=l+E|0}l=c[u>>2]|0}p=p+1|0;if(p>>>0>=l>>>0)break;else o=o+1|0}k=c[s>>2]|0}m=m+1|0;if(m>>>0>=k>>>0)break;else q=q+C|0}}if(A>>>0>1){z=1;do{k=w;w=w+148|0;v=c[k+8>>2]|0;u=k+156|0;n=c[u>>2]|0;v=n>>>0>v>>>0?v:0;o=c[w>>2]|0;x=k+160|0;l=c[x>>2]|0;if(o>>>0>>0){q=_(o,C)|0;y=k+152|0;s=k+164|0;t=_(v,E)|0;m=c[s>>2]|0;k=n;while(1){n=c[y>>2]|0;if(n>>>0>>0){p=n;n=n+q|0;while(1){if(v>>>0>>0){l=n+t|0;m=v;while(1){c[F+(l<<2)>>2]=1;m=m+1|0;k=c[u>>2]|0;if(m>>>0>=k>>>0)break;else l=l+E|0}m=c[s>>2]|0}p=p+1|0;if(p>>>0>=m>>>0)break;else n=n+1|0}l=c[x>>2]|0}o=o+1|0;if(o>>>0>=l>>>0)break;else q=q+C|0}}z=z+1|0}while((z|0)!=(A|0))}if((D|0)!=0?(V=(C|0)==0,(B|0)!=0):0){l=0;q=0;k=0;do{if(!V){p=l;o=0;while(1){m=0;n=p;while(1){k=(c[F+(n<<2)>>2]|0)!=1|k;m=m+1|0;if((m|0)==(C|0))break;else n=n+1|0}o=o+1|0;if((o|0)==(B|0))break;else p=p+C|0}l=E+l|0}q=q+1|0}while((q|0)!=(D|0));if(k)Ub(j,1,7828,W)|0}Uc(F)}while(0);e:do if(_(c[aa>>2]|0,c[$>>2]|0)|0){w=e+4788|0;x=e+40|0;y=e+44|0;z=e+18690|0;A=f+16|0;l=e+18696|0;B=f+24|0;C=e+5596|0;D=e+5600|0;E=e+5604|0;F=e+5608|0;G=e+5612|0;H=e+5616|0;I=e+5620|0;J=0;f:while(1){q=c[L>>2]|0;s=q+(J*5640|0)|0;W=c[w>>2]|0;k=q+(J*5640|0)+8|0;c[k>>2]=W;if(W){m=((b[X>>1]|0)+-3&65535)<4;o=0;do{n=(a[N>>0]&4)==0;do if(!m)if(n){c[q+(J*5640|0)+20+(o<<2)>>2]=c[e+4792+(o<<2)>>2];break}else{c[q+(J*5640|0)+5184+(o<<2)>>2]=c[e+5192+(o<<2)>>2];break}else{if(!n)c[q+(J*5640|0)+5184+(o<<2)>>2]=c[e+5192+(o<<2)>>2];c[q+(J*5640|0)+20+(o<<2)>>2]=c[e+4792+(o<<2)>>2]}while(0);o=o+1|0}while(o>>>0<(c[k>>2]|0)>>>0)}c[s>>2]=c[x>>2];c[q+(J*5640|0)+4>>2]=c[y>>2];p=q+(J*5640|0)+16|0;c[p>>2]=a[z>>0];k=q+(J*5640|0)+5636|0;m=a[k>>0]|0;a[k>>0]=m&-5;if(!(c[K>>2]|0))c[q+(J*5640|0)+420>>2]=0;else{a[k>>0]=m|4;m=c[K>>2]|0;if(!m)k=0;else{n=J+1|0;o=0;k=0;do{if((n|0)==(c[e+48+(o*148|0)+48>>2]|0)){c[q+(J*5640|0)+424+(k*148|0)>>2]=c[e+48+(k*148|0)>>2];c[q+(J*5640|0)+424+(k*148|0)+4>>2]=c[e+48+(k*148|0)+4>>2];c[q+(J*5640|0)+424+(k*148|0)+8>>2]=c[e+48+(k*148|0)+8>>2];c[q+(J*5640|0)+424+(k*148|0)+12>>2]=c[e+48+(k*148|0)+12>>2];c[q+(J*5640|0)+424+(k*148|0)+16>>2]=c[e+48+(k*148|0)+16>>2];c[q+(J*5640|0)+424+(k*148|0)+32>>2]=c[e+48+(k*148|0)+32>>2];c[q+(J*5640|0)+424+(k*148|0)+48>>2]=c[e+48+(k*148|0)+48>>2];k=k+1|0}o=o+1|0}while(o>>>0>>0)}c[q+(J*5640|0)+420>>2]=k+-1}W=Qc(c[A>>2]|0,1080)|0;v=q+(J*5640|0)+5584|0;c[v>>2]=W;if(!W){Z=149;break}do if(!(c[l>>2]|0)){g:do if((c[p>>2]|0)==1){k=c[A>>2]|0;if(k>>>0<=2){n=k;break}m=c[B>>2]|0;k=c[m>>2]|0;do if((k|0)==(c[m+52>>2]|0)){if((k|0)!=(c[m+104>>2]|0))break;k=c[m+4>>2]|0;if((k|0)!=(c[m+56>>2]|0))break;if((k|0)==(c[m+108>>2]|0)){Z=175;break g}}while(0);Ub(j,2,8224,fa)|0;c[p>>2]=0;Z=175}else Z=175;while(0);if((Z|0)==175){Z=0;n=c[A>>2]|0}if(!n)break;k=c[B>>2]|0;m=0;do{if(!(c[k+(m*52|0)+32>>2]|0))c[(c[v>>2]|0)+(m*1080|0)+1076>>2]=1<<(c[k+(m*52|0)+24>>2]|0)+-1;m=m+1|0}while(m>>>0>>0);Y=n;Z=166}else{n=c[A>>2]|0;n=_(n<<2,n)|0;k=Pc(n)|0;o=(c[l>>2]|0)+n|0;if(!k){Z=152;break f}c[p>>2]=2;m=Pc(n)|0;c[q+(J*5640|0)+5608>>2]=m;if(!m){Z=154;break f}Ui(m|0,c[l>>2]|0,n|0)|0;Ui(k|0,c[l>>2]|0,n|0)|0;m=Pc(n)|0;n=q+(J*5640|0)+5604|0;c[n>>2]=m;if(!m){Z=156;break f}if(!(Vg(k,m,c[A>>2]|0)|0)){Z=158;break f}m=Pc(c[A>>2]<<3)|0;c[q+(J*5640|0)+5600>>2]=m;if(!m){Z=160;break f}If(m,c[A>>2]|0,c[n>>2]|0);Uc(k);k=c[A>>2]|0;if(k){m=c[v>>2]|0;n=0;do{c[m+(n*1080|0)+1076>>2]=c[o+(n<<2)>>2];n=n+1|0}while(n>>>0>>0)}if(!(_c(s,f)|0)){Z=167;break f}Y=c[A>>2]|0;Z=166}while(0);if((Z|0)==166?(Z=0,(Y|0)!=0):0){u=0;do{s=c[v>>2]|0;t=s+(u*1080|0)|0;c[t>>2]=c[x>>2]&1;n=c[ba>>2]|0;o=s+(u*1080|0)+4|0;c[o>>2]=n;k=c[C>>2]|0;if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+8>>2]=k;k=c[D>>2]|0;if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+12>>2]=k;c[s+(u*1080|0)+16>>2]=c[E>>2];W=c[F>>2]|0;c[s+(u*1080|0)+20>>2]=(W|0)==0&1;c[s+(u*1080|0)+24>>2]=(W|0)!=0?2:0;c[s+(u*1080|0)+804>>2]=2;if((u|0)==(c[G>>2]|0))k=c[H>>2]|0;else k=0;c[s+(u*1080|0)+808>>2]=k;do if(!(c[x>>2]&1)){if(!n)break;else k=0;do{c[s+(u*1080|0)+812+(k<<2)>>2]=15;c[s+(u*1080|0)+944+(k<<2)>>2]=15;k=k+1|0}while(k>>>0<(c[o>>2]|0)>>>0)}else{if((n|0)>0){o=n;q=0}else break;while(1){p=o;o=o+-1|0;k=c[I>>2]|0;do if((q|0)<(k|0)){k=c[e+5624+(q<<2)>>2]|0;if((k|0)<1)c[s+(u*1080|0)+812+(o<<2)>>2]=1;else{if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+812+(o<<2)>>2]=k}k=c[e+5756+(q<<2)>>2]|0;if((k|0)<1){c[s+(u*1080|0)+944+(o<<2)>>2]=1;break}if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+944+(o<<2)>>2]=k}else{W=k+-1|0;m=q-W|0;k=c[e+5624+(W<<2)>>2]>>m;m=c[e+5756+(W<<2)>>2]>>m;if((k|0)<1)c[s+(u*1080|0)+812+(o<<2)>>2]=1;else{if((k|0)>1){n=0;do{k=k>>1;n=n+1|0}while((k|0)>1);k=n}else k=0;c[s+(u*1080|0)+812+(o<<2)>>2]=k}if((m|0)<1){c[s+(u*1080|0)+944+(o<<2)>>2]=1;break}if((m|0)>1){k=0;do{m=m>>1;k=k+1|0}while((m|0)>1)}else k=0;c[s+(u*1080|0)+944+(o<<2)>>2]=k}while(0);if((p|0)<=1)break;else q=q+1|0}}while(0);Mg(t,c[(c[B>>2]|0)+(u*52|0)+24>>2]|0);u=u+1|0}while(u>>>0<(c[A>>2]|0)>>>0)}J=J+1|0;if(J>>>0>=(_(c[aa>>2]|0,c[$>>2]|0)|0)>>>0)break e}if((Z|0)==149){Ub(j,1,7867,ca)|0;j=0;i=ka;return j|0}else if((Z|0)==152){Ub(j,1,7931,da)|0;j=0;i=ka;return j|0}else if((Z|0)==154){Uc(k);Ub(j,1,7974,ga)|0;j=0;i=ka;return j|0}else if((Z|0)==156){Uc(k);Ub(j,1,8032,ha)|0;j=0;i=ka;return j|0}else if((Z|0)==158){Uc(k);Ub(j,1,8092,ia)|0;j=0;i=ka;return j|0}else if((Z|0)==160){Uc(k);Ub(j,1,8140,ja)|0;j=0;i=ka;return j|0}else if((Z|0)==167){Ub(j,1,8190,ea)|0;j=0;i=ka;return j|0}}else l=e+18696|0;while(0);k=c[l>>2]|0;if(!k){j=1;i=ka;return j|0}Uc(k);c[l>>2]=0;j=1;i=ka;return j|0}function _c(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c[b+16>>2]|0)!=2){b=1;return b|0}m=b+5604|0;r=b+5616|0;e=c[r>>2]|0;n=b+5620|0;do if(c[m>>2]|0){do if((e|0)==(c[n>>2]|0)){e=e+10|0;c[n>>2]=e;f=b+5612|0;e=Tc(c[f>>2]|0,e*20|0)|0;if(e){c[f>>2]=e;q=c[r>>2]|0;Qi(e+(q*20|0)|0,0,((c[n>>2]|0)-q|0)*20|0)|0;e=c[r>>2]|0;break}Uc(c[f>>2]|0);c[f>>2]=0;c[n>>2]=0;c[r>>2]=0;b=0;return b|0}else f=b+5612|0;while(0);k=c[f>>2]|0;i=k+(e*20|0)|0;l=k+(e*20|0)+12|0;f=c[l>>2]|0;if(f){Uc(f);c[l>>2]=0}c[k+(e*20|0)+8>>2]=1;c[k+(e*20|0)+4>>2]=1;c[i>>2]=2;f=c[d+16>>2]|0;f=_(f,f)|0;h=f<<2;j=Pc(h)|0;c[l>>2]=j;if(!j){b=0;return b|0}else{Xa[c[768+(c[i>>2]<<2)>>2]&15](c[m>>2]|0,j,f);c[k+(e*20|0)+16>>2]=h;e=(c[r>>2]|0)+1|0;c[r>>2]=e;j=2;break}}else{j=1;i=0}while(0);do if((e|0)==(c[n>>2]|0)){f=e+10|0;c[n>>2]=f;e=b+5612|0;f=Tc(c[e>>2]|0,f*20|0)|0;if(!f){Uc(c[e>>2]|0);c[e>>2]=0;c[n>>2]=0;c[r>>2]=0;b=0;return b|0}else{c[e>>2]=f;h=c[r>>2]|0;Qi(f+(h*20|0)|0,0,((c[n>>2]|0)-h|0)*20|0)|0;if(!i){i=0;break}i=f+((h+-1|0)*20|0)|0;break}}else e=b+5612|0;while(0);m=c[e>>2]|0;n=c[r>>2]|0;q=m+(n*20|0)|0;o=m+(n*20|0)+12|0;e=c[o>>2]|0;if(e){Uc(e);c[o>>2]=0}p=j+1|0;c[m+(n*20|0)+8>>2]=j;c[m+(n*20|0)+4>>2]=2;c[q>>2]=2;d=d+16|0;e=c[d>>2]|0;f=e<<2;l=Pc(f)|0;c[o>>2]=l;if(!l){b=0;return b|0}h=Pc(f)|0;if(!h){Uc(c[o>>2]|0);c[o>>2]=0;b=0;return b|0}if(e){j=0;k=h;l=c[b+5584>>2]|0;while(1){g[k>>2]=+(c[l+1076>>2]|0);j=j+1|0;if((j|0)==(e|0))break;else{k=k+4|0;l=l+1080|0}}}Xa[c[768+(c[q>>2]<<2)>>2]&15](h,c[o>>2]|0,e);Uc(h);c[m+(n*20|0)+16>>2]=f;c[r>>2]=(c[r>>2]|0)+1;j=b+5628|0;e=c[j>>2]|0;h=b+5632|0;do if((e|0)==(c[h>>2]|0)){e=e+10|0;c[h>>2]=e;f=b+5624|0;e=Tc(c[f>>2]|0,e*20|0)|0;if(e){c[f>>2]=e;b=c[j>>2]|0;Qi(e+(b*20|0)|0,0,((c[h>>2]|0)-b|0)*20|0)|0;e=c[j>>2]|0;break}Uc(c[f>>2]|0);c[f>>2]=0;c[h>>2]=0;c[j>>2]=0;b=0;return b|0}else f=b+5624|0;while(0);b=c[f>>2]|0;c[b+(e*20|0)+8>>2]=i;r=b+(e*20|0)+16|0;a[r>>0]=a[r>>0]|1;c[b+(e*20|0)+4>>2]=c[d>>2];c[b+(e*20|0)>>2]=p;c[b+(e*20|0)+12>>2]=q;c[j>>2]=(c[j>>2]|0)+1;b=1;return b|0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function ad(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;j=Xb()|0;k=b+80|0;c[k>>2]=j;if(!j){k=0;return k|0}f=b+192|0;if((sg(c[f>>2]|0,23,e)|0)!=0?(sg(c[f>>2]|0,24,e)|0)!=0:0){h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}}else vg(h);f=b+188|0;if((sg(c[f>>2]|0,25,e)|0)!=0?(sg(c[f>>2]|0,26,e)|0)!=0:0){h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}}else vg(h);f=Xb()|0;c[d>>2]=f;if(!f){k=0;return k|0}$b(c[k>>2]|0,f);f=_(c[b+116>>2]|0,c[b+112>>2]|0)|0;i=b+196|0;c[(c[i>>2]|0)+36>>2]=f;f=Qc(f,40)|0;g=c[i>>2]|0;c[g+40>>2]=f;if(!f){k=0;return k|0}if(!(c[g+36>>2]|0)){k=1;return k|0}h=0;while(1){c[f+(h*40|0)+28>>2]=100;c[f+(h*40|0)+20>>2]=0;k=Qc(100,24)|0;g=c[i>>2]|0;f=c[g+40>>2]|0;c[f+(h*40|0)+24>>2]=k;h=h+1|0;if(!k){f=0;g=30;break}if(h>>>0>=(c[g+36>>2]|0)>>>0){f=1;g=30;break}}if((g|0)==30)return f|0}Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}function bd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(!a)return;b=a+28|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}h=a+40|0;b=c[h>>2]|0;if(b){g=a+36|0;if(c[g>>2]|0){d=b;f=0;do{e=c[d+(f*40|0)+36>>2]|0;if(e){Uc(e);b=c[h>>2]|0;c[b+(f*40|0)+36>>2]=0;d=b}e=c[d+(f*40|0)+16>>2]|0;if(e){Uc(e);b=c[h>>2]|0;c[b+(f*40|0)+16>>2]=0;d=b}e=c[d+(f*40|0)+24>>2]|0;if(e){Uc(e);d=c[h>>2]|0;c[d+(f*40|0)+24>>2]=0;b=d}f=f+1|0}while(f>>>0<(c[g>>2]|0)>>>0)}Uc(b);c[h>>2]=0}Uc(a);return}function cd(d,e,f,g,h,j,k,l,m,n,o){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=i;i=i+256|0;Ca=Da+200|0;Ba=Da+192|0;za=Da+184|0;ya=Da+176|0;pa=Da+168|0;oa=Da+160|0;na=Da+152|0;ma=Da+144|0;la=Da+136|0;ka=Da+128|0;ia=Da+120|0;ha=Da+112|0;wa=Da+104|0;ua=Da+96|0;ga=Da+88|0;fa=Da+80|0;ea=Da+72|0;va=Da+64|0;da=Da+56|0;ca=Da+48|0;sa=Da+40|0;ra=Da+32|0;qa=Da+24|0;ja=Da+16|0;ba=Da+8|0;aa=Da;V=Da+240|0;T=Da+236|0;X=Da+232|0;Z=Da+228|0;$=Da+224|0;U=Da+220|0;Y=Da+216|0;S=Da+212|0;W=Da+208|0;c[S>>2]=65424;Aa=d+8|0;a:do switch(c[Aa>>2]|0){case 256:{c[S>>2]=65497;p=d+76|0;xa=117;break}case 8:{ta=d+76|0;if(!(a[ta>>0]&1)){O=d+200|0;P=d+164|0;Q=d+72|0;R=d+24|0;B=d+196|0;D=d+112|0;E=d+116|0;G=V+2|0;H=V+6|0;I=V+7|0;J=d+16|0;K=d+20|0;L=d+64|0;p=65424;b:while(1){c:do if((p|0)!=65427){while(1){A=Qb(n)|0;if((A|0)==0&(C|0)==0){xa=7;break}if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=9;break b}qb(c[J>>2]|0,W,2);if((c[W>>2]|0)>>>0<2){xa=11;break b}if((c[S>>2]|0)==32896?(A=Qb(n)|0,(A|0)==0&(C|0)==0):0){xa=14;break}s=c[Aa>>2]|0;p=c[W>>2]|0;if(s&16)c[R>>2]=-2-p+(c[R>>2]|0);q=p+-2|0;c[W>>2]=q;p=c[S>>2]|0;r=784;while(1){A=c[r>>2]|0;if((A|0)==0|(A|0)==(p|0)){y=r;break}else r=r+12|0}if(!(c[r+4>>2]&s)){xa=20;break b}if(q>>>0>(c[K>>2]|0)>>>0){A=Qb(n)|0;z=C;if(0>(z|0)|0==(z|0)&q>>>0>A>>>0){xa=24;break b}p=Tc(c[J>>2]|0,c[W>>2]|0)|0;if(!p){xa=26;break b}c[J>>2]=p;q=c[W>>2]|0;c[K>>2]=q}else p=c[J>>2]|0;q=Mb(n,p,q,o)|0;if((q|0)!=(c[W>>2]|0)){xa=29;break b}p=c[r+8>>2]|0;if(!p){xa=31;break b}if(!(Za[p&63](d,c[J>>2]|0,q,o)|0)){xa=33;break b}r=c[O>>2]|0;q=c[B>>2]|0;v=c[y>>2]|0;w=Pb(n)|0;x=c[W>>2]|0;w=w-x+-4|0;x=x+4|0;q=q+40|0;u=c[q>>2]|0;p=c[u+(r*40|0)+20>>2]|0;s=u+(r*40|0)+28|0;t=c[s>>2]|0;if((p+1|0)>>>0>t>>>0){t=~~(+(t>>>0)+100.0)>>>0;c[s>>2]=t;s=Tc(c[u+(r*40|0)+24>>2]|0,t*24|0)|0;t=c[q>>2]|0;p=t+(r*40|0)+24|0;if(!s){xa=41;break b}c[p>>2]=s;q=t;p=c[t+(r*40|0)+20>>2]|0}else{q=u;s=c[u+(r*40|0)+24>>2]|0}b[s+(p*24|0)>>1]=v;A=s+(p*24|0)+8|0;c[A>>2]=w;c[A+4>>2]=((w|0)<0)<<31>>31;c[s+(p*24|0)+16>>2]=x;c[q+(r*40|0)+20>>2]=p+1;if((v|0)==65424?(F=c[q+(r*40|0)+16>>2]|0,(F|0)!=0):0){A=F+((c[q+(r*40|0)+12>>2]|0)*24|0)|0;c[A>>2]=w;c[A+4>>2]=0}do if((c[y>>2]|0)==65424){p=Pb(n)|0;p=-4-(c[W>>2]|0)+p|0;A=L;z=c[A+4>>2]|0;if(!(0>(z|0)|(0==(z|0)?p>>>0>(c[A>>2]|0)>>>0:0)))break;A=L;c[A>>2]=p;c[A+4>>2]=0}while(0);if(a[ta>>0]&4){xa=46;break}if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=50;break b}qb(c[J>>2]|0,S,2);if((c[S>>2]|0)==65427)break c}if((xa|0)==7){xa=0;c[Aa>>2]=64;break}else if((xa|0)==14){xa=0;c[Aa>>2]=64;break}else if((xa|0)==46){xa=0;A=Rb(n,c[R>>2]|0,0,o)|0;if(!((C|0)==0?(A|0)==(c[R>>2]|0):0)){xa=47;break b}c[S>>2]=65427;break}}while(0);A=Qb(n)|0;if((A|0)==0&(C|0)==0?(c[Aa>>2]|0)==64:0){xa=115;break}p=a[ta>>0]|0;if(!(p&4)){q=c[O>>2]|0;r=c[P>>2]|0;if(!(c[Q>>2]|0)){p=c[R>>2]|0;if(p>>>0>1){s=p+-2|0;c[R>>2]=s}else s=p}else{s=Qb(n)|0;s=Si(s|0,C|0,-2,0)|0;c[R>>2]=s}p=r+(q*5640|0)+5592|0;A=r+(q*5640|0)+5596|0;do if(!s)z=1;else{z=Qb(n)|0;y=C;if(0>(y|0)|0==(y|0)&s>>>0>z>>>0)Ub(o,2,8573,ga)|0;q=c[p>>2]|0;if(!q){z=Pc(c[R>>2]|0)|0;c[p>>2]=z;if(!z)break b;else{z=0;break}}q=Tc(q,(c[R>>2]|0)+(c[A>>2]|0)|0)|0;if(!q){xa=65;break b}c[p>>2]=q;z=0}while(0);q=c[B>>2]|0;if(q){w=Pb(n)|0;s=C;y=Si(w|0,s|0,-2,-1)|0;r=c[O>>2]|0;q=q+40|0;u=c[q>>2]|0;v=c[u+(r*40|0)+12>>2]|0;t=c[u+(r*40|0)+16>>2]|0;x=t+(v*24|0)+8|0;c[x>>2]=y;c[x+4>>2]=C;x=c[R>>2]|0;s=Si(x|0,0,w|0,s|0)|0;v=t+(v*24|0)+16|0;c[v>>2]=s;c[v+4>>2]=C;x=x+2|0;v=c[u+(r*40|0)+20>>2]|0;s=u+(r*40|0)+28|0;t=c[s>>2]|0;if((v+1|0)>>>0>t>>>0){t=~~(+(t>>>0)+100.0)>>>0;c[s>>2]=t;s=Tc(c[u+(r*40|0)+24>>2]|0,t*24|0)|0;t=c[q>>2]|0;u=t+(r*40|0)+24|0;if(!s){p=u;xa=74;break}c[u>>2]=s;w=t;q=c[t+(r*40|0)+20>>2]|0}else{w=u;s=c[u+(r*40|0)+24>>2]|0;q=v}b[s+(q*24|0)>>1]=-109;v=Pi(0,y|0,32)|0;y=s+(q*24|0)+8|0;c[y>>2]=v;c[y+4>>2]=C;c[s+(q*24|0)+16>>2]=x;c[w+(r*40|0)+20>>2]=q+1}if(!z)p=Mb(n,(c[p>>2]|0)+(c[A>>2]|0)|0,c[R>>2]|0,o)|0;else p=0;c[Aa>>2]=(p|0)==(c[R>>2]|0)?8:64;c[A>>2]=(c[A>>2]|0)+p;p=a[ta>>0]|0;if((p&9)==1){a[ta>>0]=p|8;q=c[O>>2]|0;do if((Tb(n)|0)!=0?(M=Pb(n)|0,N=C,!((M|0)==-1&(N|0)==-1)):0){while(1){if((Mb(n,V,2,o)|0)!=2){xa=81;break}qb(V,T,2);if((c[T>>2]|0)!=65424){xa=83;break}if((Mb(n,V,2,o)|0)!=2){xa=85;break}qb(V,X,2);if((c[X>>2]|0)!=10){xa=87;break}c[X>>2]=8;p=Mb(n,V,8,o)|0;if((p|0)!=(c[X>>2]|0)){xa=89;break}if((p|0)!=8){xa=91;break}qb(V,Z,2);qb(G,$,4);qb(H,U,1);qb(I,Y,1);if((c[Z>>2]|0)==(q|0)){xa=97;break}p=c[$>>2]|0;if(p>>>0<14){xa=94;break}xa=p+-12|0;c[$>>2]=xa;xa=Rb(n,xa,0,o)|0;if(!((C|0)==0?(xa|0)==(c[$>>2]|0):0)){xa=96;break}}if((xa|0)==81){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==83){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==85){xa=0;Ub(o,1,8295,ha)|0;p=0;q=0;break}else if((xa|0)==87){xa=0;Ub(o,1,8313,ia)|0;p=0;q=0;break}else if((xa|0)==89){xa=0;Ub(o,1,8295,ka)|0;p=0;q=0;break}else if((xa|0)==91){xa=0;Ub(o,1,8662,la)|0;p=0;q=0;break}else if((xa|0)==94){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==96){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==97){xa=0;q=(c[U>>2]|0)==(c[Y>>2]|0)&1;p=(Sb(n,M,N,o)|0)!=0&1;break}}else{p=1;q=0}while(0);if(!p){xa=99;break}if(q){p=_(c[E>>2]|0,c[D>>2]|0)|0;a[ta>>0]=a[ta>>0]&-18|16;if(p){q=c[P>>2]|0;t=0;do{r=q+(t*5640|0)+5588|0;s=c[r>>2]|0;if(s)c[r>>2]=s+1;t=t+1|0}while((t|0)!=(p|0))}Ub(o,2,8734,na)|0}}if(!(a[ta>>0]&1)){if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=109;break}qb(c[J>>2]|0,S,2)}}else{a[ta>>0]=p&-6;c[Aa>>2]=8;if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=113;break}qb(c[J>>2]|0,S,2)}p=c[S>>2]|0;if(!((p|0)!=65497&(a[ta>>0]&1)==0)){xa=116;break}}switch(xa|0){case 9:{Ub(o,1,8295,aa)|0;o=0;i=Da;return o|0}case 11:{Ub(o,1,8313,ba)|0;o=0;i=Da;return o|0}case 20:{Ub(o,1,8339,ja)|0;o=0;i=Da;return o|0}case 24:{Ub(o,1,8382,qa)|0;o=0;i=Da;return o|0}case 26:{Uc(c[J>>2]|0);c[J>>2]=0;c[K>>2]=0;Ub(o,1,8427,ra)|0;o=0;i=Da;return o|0}case 29:{Ub(o,1,8295,sa)|0;o=0;i=Da;return o|0}case 31:{Ub(o,1,8461,ca)|0;o=0;i=Da;return o|0}case 33:{c[da>>2]=c[S>>2];Ub(o,1,8490,da)|0;o=0;i=Da;return o|0}case 41:{Uc(c[p>>2]|0);Ca=c[q>>2]|0;c[Ca+(r*40|0)+24>>2]=0;c[Ca+(r*40|0)+28>>2]=0;c[Ca+(r*40|0)+20>>2]=0;Ub(o,1,8537,va)|0;o=0;i=Da;return o|0}case 47:{Ub(o,1,8295,ea)|0;o=0;i=Da;return o|0}case 50:{Ub(o,1,8295,fa)|0;o=0;i=Da;return o|0}case 65:{Uc(c[p>>2]|0);c[p>>2]=0;break}case 74:{Uc(c[p>>2]|0);Ca=c[q>>2]|0;c[Ca+(r*40|0)+24>>2]=0;c[Ca+(r*40|0)+28>>2]=0;c[Ca+(r*40|0)+20>>2]=0;Ub(o,1,8537,wa)|0;o=0;i=Da;return o|0}case 99:{Ub(o,1,8688,ma)|0;o=0;i=Da;return o|0}case 109:{Ub(o,1,8295,oa)|0;o=0;i=Da;return o|0}case 113:{Ub(o,1,8295,pa)|0;o=0;i=Da;return o|0}case 115:{p=c[S>>2]|0;xa=116;break}}if((xa|0)==116)if((p|0)==65497){p=ta;xa=117;break a}else{p=ta;break a}Ub(o,1,8628,ua)|0;o=0;i=Da;return o|0}else p=ta;break}default:{o=0;i=Da;return o|0}}while(0);if((xa|0)==117)if((c[Aa>>2]|0)!=256){c[d+200>>2]=0;c[Aa>>2]=256}if(!(a[p>>0]&1)){s=_(c[d+112>>2]|0,c[d+116>>2]|0)|0;t=d+200|0;q=c[t>>2]|0;d:do if(q>>>0>>0){p=q;r=(c[d+164>>2]|0)+(q*5640|0)|0;while(1){if(c[r+5592>>2]|0){q=p;break d}q=p+1|0;c[t>>2]=q;if(q>>>0>>0){p=q;r=r+5640|0}else break}}while(0);if((q|0)==(s|0)){c[m>>2]=0;o=1;i=Da;return o|0}}else{q=d+200|0;t=q;q=c[q>>2]|0}A=c[d+164>>2]|0;if(a[A+(q*5640|0)+5636>>0]&2){B=A+(q*5640|0)+5160|0;r=c[B>>2]|0;if(!r)p=0;else{s=c[A+(q*5640|0)+5164>>2]|0;u=0;p=0;do{p=(c[s+(u<<3)+4>>2]|0)+p|0;u=u+1|0}while((u|0)!=(r|0))}xa=Pc(p)|0;z=A+(q*5640|0)+5172|0;c[z>>2]=xa;if(!xa){Ub(o,1,8775,ya)|0;Ub(o,1,8813,za)|0;o=0;i=Da;return o|0}y=A+(q*5640|0)+5180|0;c[y>>2]=p;r=c[B>>2]|0;x=A+(q*5640|0)+5164|0;if(!r)p=c[x>>2]|0;else{p=c[x>>2]|0;v=p;w=0;u=0;while(1){s=c[v+(w<<3)>>2]|0;if(!s)s=v;else{Ui((c[z>>2]|0)+u|0,s|0,c[v+(w<<3)+4>>2]|0)|0;s=c[x>>2]|0;u=(c[s+(w<<3)+4>>2]|0)+u|0;Uc(c[s+(w<<3)>>2]|0);s=c[x>>2]|0;c[s+(w<<3)>>2]=0;c[s+(w<<3)+4>>2]=0;r=c[B>>2]|0;p=s}w=w+1|0;if(w>>>0>=r>>>0)break;else v=s}}c[B>>2]=0;Uc(p);c[x>>2]=0;c[A+(q*5640|0)+5168>>2]=c[z>>2];c[A+(q*5640|0)+5176>>2]=c[y>>2];q=c[t>>2]|0}p=d+204|0;if(!($f(c[p>>2]|0,q,o)|0)){Ub(o,1,8839,Ba)|0;o=0;i=Da;return o|0}else{Ba=_(c[d+112>>2]|0,c[d+116>>2]|0)|0;c[Ca>>2]=(c[t>>2]|0)+1;c[Ca+4>>2]=Ba;Ub(o,4,8873,Ca)|0;c[e>>2]=c[t>>2];c[m>>2]=1;c[f>>2]=ag(c[p>>2]|0)|0;o=c[c[(c[p>>2]|0)+20>>2]>>2]|0;c[g>>2]=c[o>>2];c[h>>2]=c[o+4>>2];c[j>>2]=c[o+8>>2];c[k>>2]=c[o+12>>2];c[l>>2]=c[o+16>>2];c[Aa>>2]=c[Aa>>2]|128;o=1;i=Da;return o|0}return 0}function dd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t+28|0;s=t+32|0;o=b+8|0;if(!(c[o>>2]&128)){g=0;i=t;return g|0}q=b+200|0;if((c[q>>2]|0)!=(d|0)){g=0;i=t;return g|0}j=c[b+164>>2]|0;n=j+(d*5640|0)|0;p=j+(d*5640|0)+5592|0;k=c[p>>2]|0;if(!k){sd(n);g=0;i=t;return g|0}l=b+204|0;m=j+(d*5640|0)+5596|0;if(!(cg(c[l>>2]|0,k,c[m>>2]|0,d,c[b+196>>2]|0,h)|0)){sd(n);c[o>>2]=c[o>>2]|32768;Ub(h,1,8912,t)|0;g=0;i=t;return g|0}if(!(dg(c[l>>2]|0,e,f)|0)){g=0;i=t;return g|0}j=c[p>>2]|0;if(j){Uc(j);c[p>>2]=0;c[m>>2]=0}p=b+76|0;a[p>>0]=a[p>>0]&-2;c[o>>2]=c[o>>2]&-129;p=Qb(g)|0;b=c[o>>2]|0;if((b|0)==256|(p|0)==0&(C|0)==0&(b|0)==64){g=1;i=t;return g|0}if((Mb(g,s,2,h)|0)!=2){Ub(h,2,8931,t+8|0)|0;g=1;i=t;return g|0}qb(s,r,2);switch(c[r>>2]|0){case 65497:{c[q>>2]=0;c[o>>2]=256;g=1;i=t;return g|0}case 65424:{g=1;i=t;return g|0}default:if((Qb(g)|0)==0&(C|0)==0){c[o>>2]=64;Ub(h,2,8975,t+16|0)|0;g=1;i=t;return g|0}else{Ub(h,1,9005,t+24|0)|0;g=0;i=t;return g|0}}return 0}function ed(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;y=z+96|0;x=z+88|0;w=z+80|0;v=z+72|0;u=z+64|0;s=z+56|0;r=z+48|0;o=z+40|0;n=z+32|0;m=z+24|0;l=z+16|0;p=c[b+80>>2]|0;if((c[b+8>>2]|0)!=8){Ub(j,1,9037,z)|0;j=0;i=z;return j|0}if(!(f|e|g|h)){Ub(j,4,9116,z+8|0)|0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+36>>2]=c[b+112>>2];c[b+40>>2]=c[b+116>>2];j=1;i=z;return j|0}t=p+8|0;k=c[t>>2]|0;if(k>>>0>>0){c[l>>2]=e;c[l+4>>2]=k;Ub(j,1,9185,l)|0;j=0;i=z;return j|0}k=c[p>>2]|0;if(k>>>0>e>>>0){c[m>>2]=e;c[m+4>>2]=k;Ub(j,2,9272,m)|0;k=0;e=c[p>>2]|0}else k=((e-(c[b+92>>2]|0)|0)>>>0)/((c[b+100>>2]|0)>>>0)|0;c[b+28>>2]=k;c[d>>2]=e;q=p+12|0;e=c[q>>2]|0;if(e>>>0>>0){c[n>>2]=f;c[n+4>>2]=e;Ub(j,1,9360,n)|0;j=0;i=z;return j|0}l=p+4|0;e=c[l>>2]|0;if(e>>>0>f>>>0){c[o>>2]=f;c[o+4>>2]=e;Ub(j,2,9445,o)|0;e=0;f=c[l>>2]|0}else e=((f-(c[b+96>>2]|0)|0)>>>0)/((c[b+104>>2]|0)>>>0)|0;c[b+32>>2]=e;m=d+4|0;c[m>>2]=f;e=c[p>>2]|0;if(e>>>0>g>>>0){c[r>>2]=g;c[r+4>>2]=e;Ub(j,1,9531,r)|0;j=0;i=z;return j|0}e=c[t>>2]|0;if(e>>>0>>0){c[s>>2]=g;c[s+4>>2]=e;Ub(j,2,9620,s)|0;e=c[b+112>>2]|0;g=c[t>>2]|0}else{e=c[b+100>>2]|0;e=(g+-1-(c[b+92>>2]|0)+e|0)/(e|0)|0}c[b+36>>2]=e;k=d+8|0;c[k>>2]=g;g=c[l>>2]|0;if(g>>>0>h>>>0){c[u>>2]=h;c[u+4>>2]=g;Ub(j,1,9708,u)|0;j=0;i=z;return j|0}g=c[q>>2]|0;if(g>>>0>>0){c[v>>2]=h;c[v+4>>2]=g;Ub(j,2,9798,v)|0;e=c[q>>2]|0;g=c[b+116>>2]|0}else{g=c[b+104>>2]|0;e=h;g=(h+-1-(c[b+96>>2]|0)+g|0)/(g|0)|0}c[b+40>>2]=g;h=d+12|0;c[h>>2]=e;v=b+76|0;a[v>>0]=a[v>>0]|2;v=c[d+16>>2]|0;b=c[d>>2]|0;a:do if(v){f=c[m>>2]|0;t=f+-1|0;u=c[k>>2]|0;q=u+-1|0;r=b+-1|0;g=0;p=c[d+24>>2]|0;while(1){d=c[p>>2]|0;e=(r+d|0)/(d|0)|0;c[p+16>>2]=e;o=c[p+4>>2]|0;k=(t+o|0)/(o|0)|0;c[p+20>>2]=k;d=(q+d|0)/(d|0)|0;l=c[p+40>>2]|0;m=Ri(1,0,l|0)|0;n=C;d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;d=Si(d|0,C|0,m|0,n|0)|0;d=Pi(d|0,C|0,l|0)|0;e=Si(e|0,((e|0)<0)<<31>>31|0,-1,-1)|0;e=Si(e|0,C|0,m|0,n|0)|0;e=Pi(e|0,C|0,l|0)|0;e=d-e|0;if((e|0)<0){k=29;break}s=c[h>>2]|0;d=(o+-1+s|0)/(o|0)|0;c[p+8>>2]=e;d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;d=Si(d|0,C|0,m|0,n|0)|0;d=Pi(d|0,C|0,l|0)|0;e=Si(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;e=Si(e|0,C|0,m|0,n|0)|0;e=Pi(e|0,C|0,l|0)|0;e=d-e|0;if((e|0)<0){k=31;break}c[p+12>>2]=e;g=g+1|0;if(g>>>0>=v>>>0){e=u;g=s;break a}else p=p+52|0}if((k|0)==29){c[w>>2]=g;c[w+4>>2]=e;Ub(j,1,9887,w)|0;j=0;i=z;return j|0}else if((k|0)==31){c[x>>2]=g;c[x+4>>2]=e;Ub(j,1,9956,x)|0;j=0;i=z;return j|0}}else{f=c[m>>2]|0;e=c[k>>2]|0;g=c[h>>2]|0}while(0);c[y>>2]=b;c[y+4>>2]=f;c[y+8>>2]=e;c[y+12>>2]=g;Ub(j,4,10025,y)|0;j=1;i=z;return j|0}function fd(){var b=0,d=0,e=0;b=Qc(1,208)|0;if(!b){d=0;return d|0}c[b>>2]=1;d=b+184|0;a[d>>0]=a[d>>0]|2;d=Qc(1,5640)|0;c[b+12>>2]=d;if(!d){Yc(b);d=0;return d|0}d=Qc(1,1e3)|0;c[b+16>>2]=d;if(!d){Yc(b);d=0;return d|0}c[b+20>>2]=1e3;c[b+60>>2]=-1;d=b+64|0;c[d>>2]=0;c[d+4>>2]=0;d=Qc(1,48)|0;do if(d){c[d+32>>2]=100;c[d+24>>2]=0;e=Qc(100,24)|0;c[d+28>>2]=e;if(!e){Uc(d);break}c[d+40>>2]=0;c[b+196>>2]=d;e=qg()|0;c[b+192>>2]=e;if(!e){Yc(b);e=0;return e|0}e=qg()|0;c[b+188>>2]=e;if(e){e=b;return e|0}Yc(b);e=0;return e|0}while(0);c[b+196>>2]=0;Yc(b);e=0;return e|0}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+128|0;s=t+104|0;r=t+72|0;q=t+64|0;n=t+40|0;l=t+24|0;j=t+16|0;h=t+8|0;g=t;if(b&384){ki(10063,11,1,d)|0;i=t;return}if((b&1|0)!=0?(f=c[a+80>>2]|0,(f|0)!=0):0)hd(f,0,d);if(b&2){ki(10075,36,1,d)|0;f=c[a+96>>2]|0;c[g>>2]=c[a+92>>2];c[g+4>>2]=f;$h(d,10112,g)|0;g=c[a+104>>2]|0;c[h>>2]=c[a+100>>2];c[h+4>>2]=g;$h(d,10130,h)|0;h=c[a+116>>2]|0;c[j>>2]=c[a+112>>2];c[j+4>>2]=h;$h(d,10148,j)|0;xd(c[a+12>>2]|0,c[(c[a+80>>2]|0)+16>>2]|0,d);ki(10164,2,1,d)|0}if((b&8|0)!=0?(k=_(c[a+112>>2]|0,c[a+116>>2]|0)|0,(k|0)!=0):0){f=a+80|0;g=0;h=c[a+164>>2]|0;while(1){xd(h,c[(c[f>>2]|0)+16>>2]|0,d);g=g+1|0;if((g|0)==(k|0))break;else h=h+5640|0}}if(!(b&16)){i=t;return}j=c[a+196>>2]|0;ki(10167,37,1,d)|0;k=j;b=c[k+4>>2]|0;f=j+8|0;a=c[f>>2]|0;f=c[f+4>>2]|0;h=l;c[h>>2]=c[k>>2];c[h+4>>2]=b;h=l+8|0;c[h>>2]=a;c[h+4>>2]=f;$h(d,10205,l)|0;ki(10272,17,1,d)|0;h=j+28|0;f=c[h>>2]|0;a:do if((f|0)!=0?(m=j+24|0,(c[m>>2]|0)!=0):0){g=0;while(1){b=f+(g*24|0)+8|0;k=c[b>>2]|0;b=c[b+4>>2]|0;l=c[f+(g*24|0)+16>>2]|0;c[n>>2]=e[f+(g*24|0)>>1];a=n+8|0;c[a>>2]=k;c[a+4>>2]=b;c[n+16>>2]=l;$h(d,10290,n)|0;g=g+1|0;if(g>>>0>=(c[m>>2]|0)>>>0)break a;f=c[h>>2]|0}}while(0);ki(10321,4,1,d)|0;b=j+40|0;h=c[b>>2]|0;if((h|0)!=0?(p=j+36|0,o=c[p>>2]|0,(o|0)!=0):0){g=0;f=0;do{f=(c[h+(g*40|0)+4>>2]|0)+f|0;g=g+1|0}while((g|0)!=(o|0));if(f){ki(10326,16,1,d)|0;if(c[p>>2]|0){f=c[b>>2]|0;k=0;do{j=c[f+(k*40|0)+4>>2]|0;c[q>>2]=k;c[q+4>>2]=j;$h(d,10343,q)|0;f=c[b>>2]|0;g=c[f+(k*40|0)+16>>2]|0;b:do if(!((j|0)==0|(g|0)==0)){f=0;while(1){a=g+(f*24|0)|0;u=c[a>>2]|0;a=c[a+4>>2]|0;m=g+(f*24|0)+8|0;l=c[m>>2]|0;m=c[m+4>>2]|0;o=g+(f*24|0)+16|0;n=c[o>>2]|0;o=c[o+4>>2]|0;c[r>>2]=f;h=r+8|0;c[h>>2]=u;c[h+4>>2]=a;h=r+16|0;c[h>>2]=l;c[h+4>>2]=m;h=r+24|0;c[h>>2]=n;c[h+4>>2]=o;$h(d,10379,r)|0;h=f+1|0;f=c[b>>2]|0;if((h|0)==(j|0))break b;g=c[f+(k*40|0)+16>>2]|0;f=h}}while(0);g=c[f+(k*40|0)+24>>2]|0;c:do if((g|0)!=0?(c[f+(k*40|0)+20>>2]|0)!=0:0){f=0;while(1){o=g+(f*24|0)+8|0;n=c[o>>2]|0;o=c[o+4>>2]|0;h=c[g+(f*24|0)+16>>2]|0;c[s>>2]=e[g+(f*24|0)>>1];u=s+8|0;c[u>>2]=n;c[u+4>>2]=o;c[s+16>>2]=h;$h(d,10290,s)|0;h=f+1|0;f=c[b>>2]|0;if(h>>>0>=(c[f+(k*40|0)+20>>2]|0)>>>0)break c;g=c[f+(k*40|0)+24>>2]|0;f=h}}while(0);k=k+1|0}while(k>>>0<(c[p>>2]|0)>>>0)}ki(10321,4,1,d)|0}}ki(10164,2,1,d)|0;i=t;return}function hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;h=n+16|0;g=n;k=n+52|0;if(!d){ki(10482,13,1,e)|0;a[k+1>>0]=0;f=9}else{ki(10445,36,1,c[676]|0)|0;f=0}a[k>>0]=f;o=c[b>>2]|0;f=c[b+4>>2]|0;c[g>>2]=k;c[g+4>>2]=o;c[g+8>>2]=f;$h(e,10496,g)|0;g=c[b+8>>2]|0;f=c[b+12>>2]|0;c[h>>2]=k;c[h+4>>2]=g;c[h+8>>2]=f;$h(e,10513,h)|0;h=b+16|0;f=c[h>>2]|0;c[j>>2]=k;c[j+4>>2]=f;$h(e,10530,j)|0;f=b+24|0;if(!(c[f>>2]|0)){ki(10164,2,1,e)|0;i=n;return}if(!(c[h>>2]|0)){ki(10164,2,1,e)|0;i=n;return}else g=0;do{c[l>>2]=k;c[l+4>>2]=g;$h(e,10546,l)|0;id((c[f>>2]|0)+(g*52|0)|0,d,e);c[m>>2]=k;$h(e,10566,m)|0;g=g+1|0}while(g>>>0<(c[h>>2]|0)>>>0);ki(10164,2,1,e)|0;i=n;return}function id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;k=l+24|0;j=l+16|0;h=l;g=l+32|0;f=(d|0)!=0;if(f){ki(10571,41,1,c[676]|0)|0;d=0}else{a[g+1>>0]=9;a[g+2>>0]=0;d=9}a[g>>0]=d;m=c[b>>2]|0;d=c[b+4>>2]|0;c[h>>2]=g;c[h+4>>2]=m;c[h+8>>2]=d;$h(e,10613,h)|0;h=c[b+24>>2]|0;c[j>>2]=g;c[j+4>>2]=h;$h(e,10630,j)|0;j=c[b+32>>2]|0;c[k>>2]=g;c[k+4>>2]=j;$h(e,10642,k)|0;if(!f){i=l;return}ki(10164,2,1,e)|0;i=l;return}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;e=m;b=a+80|0;k=c[(c[b>>2]|0)+16>>2]|0;d=Qc(1,56)|0;c[e>>2]=d;if(!d){l=0;i=m;return l|0}c[d+24>>2]=c[(c[b>>2]|0)+16>>2];c[d>>2]=c[a+92>>2];c[d+4>>2]=c[a+96>>2];c[d+8>>2]=c[a+100>>2];c[d+12>>2]=c[a+104>>2];c[d+16>>2]=c[a+112>>2];c[d+20>>2]=c[a+116>>2];c[d+52>>2]=0;d=c[a+12>>2]|0;b=c[e>>2]|0;c[b+32>>2]=c[d>>2];c[b+36>>2]=c[d+4>>2];c[b+40>>2]=c[d+8>>2];c[b+44>>2]=c[d+16>>2];c[b+48>>2]=Qc(c[b+24>>2]|0,1080)|0;b=c[e>>2]|0;j=b+48|0;a=c[j>>2]|0;if(!a){Cc(e);l=0;i=m;return l|0}if(!k){l=b;i=m;return l|0}h=d+5584|0;d=0;while(1){g=c[h>>2]|0;c[a+(d*1080|0)+4>>2]=c[g+(d*1080|0)>>2];e=g+(d*1080|0)+4|0;f=c[e>>2]|0;c[a+(d*1080|0)+8>>2]=f;c[a+(d*1080|0)+12>>2]=c[g+(d*1080|0)+8>>2];c[a+(d*1080|0)+16>>2]=c[g+(d*1080|0)+12>>2];c[a+(d*1080|0)+20>>2]=c[g+(d*1080|0)+16>>2];c[a+(d*1080|0)+24>>2]=c[g+(d*1080|0)+20>>2];if(f>>>0<33){Ui(a+(d*1080|0)+948|0,g+(d*1080|0)+944|0,f|0)|0;Ui(a+(d*1080|0)+816|0,g+(d*1080|0)+812|0,c[e>>2]|0)|0}f=c[g+(d*1080|0)+24>>2]|0;c[a+(d*1080|0)+28>>2]=f;c[a+(d*1080|0)+808>>2]=c[g+(d*1080|0)+804>>2];if((f|0)!=1){f=(c[e>>2]|0)*3|0;e=f+-2|0;if((e|0)<97&(f|0)>2)l=10}else{e=1;l=10}if((l|0)==10){l=0;f=0;do{c[a+(d*1080|0)+32+(f<<2)>>2]=c[g+(d*1080|0)+28+(f<<3)+4>>2];c[a+(d*1080|0)+420+(f<<2)>>2]=c[g+(d*1080|0)+28+(f<<3)>>2];f=f+1|0}while((f|0)!=(e|0))}c[a+(d*1080|0)+812>>2]=c[g+(d*1080|0)+808>>2];d=d+1|0;if((d|0)==(k|0))break;a=c[j>>2]|0}i=m;return b|0}function kd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Qc(1,48)|0;if(!b){k=0;return k|0}h=a+196|0;d=c[h>>2]|0;i=d;k=c[i+4>>2]|0;a=b;c[a>>2]=c[i>>2];c[a+4>>2]=k;a=d+8|0;k=c[a+4>>2]|0;i=b+8|0;c[i>>2]=c[a>>2];c[i+4>>2]=k;i=d+16|0;k=c[i+4>>2]|0;a=b+16|0;c[a>>2]=c[i>>2];c[a+4>>2]=k;d=c[d+24>>2]|0;a=b+24|0;c[a>>2]=d;d=Pc(d*24|0)|0;k=b+28|0;c[k>>2]=d;if(!d){Uc(b);k=0;return k|0}e=c[(c[h>>2]|0)+28>>2]|0;if(!e){Uc(d);c[k>>2]=0}else Ui(d|0,e|0,(c[a>>2]|0)*24|0)|0;a=c[(c[h>>2]|0)+36>>2]|0;g=b+36|0;c[g>>2]=a;a=Qc(a,40)|0;i=b+40|0;c[i>>2]=a;if(!a){Uc(c[k>>2]|0);Uc(b);k=0;return k|0}d=c[(c[h>>2]|0)+40>>2]|0;if(!d){Uc(a);c[i>>2]=0;k=b;return k|0}if(!(c[g>>2]|0)){k=b;return k|0}d=c[d+20>>2]|0;c[a+20>>2]=d;d=Pc(d*24|0)|0;a=c[i>>2]|0;c[a+24>>2]=d;a:do if(!d)d=0;else{f=d;d=0;while(1){e=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+24>>2]|0;if(!e){Uc(f);a=c[i>>2]|0;c[a+(d*40|0)+24>>2]=0}else{Ui(f|0,e|0,(c[a+(d*40|0)+20>>2]|0)*24|0)|0;a=c[i>>2]|0}e=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+4>>2]|0;c[a+(d*40|0)+4>>2]=e;e=Pc(e*24|0)|0;a=c[i>>2]|0;c[a+(d*40|0)+16>>2]=e;if(!e)break;f=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+16>>2]|0;if(!f){Uc(e);a=c[i>>2]|0;c[a+(d*40|0)+16>>2]=0}else{Ui(e|0,f|0,(c[a+(d*40|0)+4>>2]|0)*24|0)|0;a=c[i>>2]|0}c[a+(d*40|0)+32>>2]=0;c[a+(d*40|0)+36>>2]=0;d=d+1|0;if(d>>>0>=(c[g>>2]|0)>>>0){j=32;break}f=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+20>>2]|0;c[a+(d*40|0)+20>>2]=f;f=Pc(f*24|0)|0;a=c[i>>2]|0;c[a+(d*40|0)+24>>2]=f;if(!f)break a}if((j|0)==32)return b|0;if(d){Uc(c[a+24>>2]|0);Uc(c[(c[i>>2]|0)+16>>2]|0);if((d|0)!=1){a=1;do{Uc(c[(c[i>>2]|0)+(a*40|0)+24>>2]|0);Uc(c[(c[i>>2]|0)+(a*40|0)+16>>2]|0);a=a+1|0}while((a|0)!=(d|0))}a=c[i>>2]|0}Uc(a);Uc(c[k>>2]|0);Uc(b);k=0;return k|0}while(0);if(d){Uc(c[a+24>>2]|0);if((d|0)!=1){a=1;do{Uc(c[(c[i>>2]|0)+(a*40|0)+24>>2]|0);a=a+1|0}while((a|0)!=(d|0))}a=c[i>>2]|0}Uc(a);Uc(c[k>>2]|0);Uc(b);k=0;return k|0}function ld(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;if(!d){d=0;return d|0}f=Xb()|0;k=a+84|0;c[k>>2]=f;if(!f){d=0;return d|0}$b(d,f);h=a+188|0;sg(c[h>>2]|0,27,e)|0;h=c[h>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){d=a+80|0;Zb(c[d>>2]|0);c[d>>2]=0;d=0;return d|0}}else vg(h);i=c[d+16>>2]|0;if(!i){d=1;return d|0}h=c[(c[k>>2]|0)+24>>2]|0;f=c[d+24>>2]|0;g=0;do{c[f+(g*52|0)+36>>2]=c[h+(g*52|0)+36>>2];d=h+(g*52|0)+44|0;c[f+(g*52|0)+44>>2]=c[d>>2];c[d>>2]=0;g=g+1|0}while(g>>>0>>0);f=1;return f|0}function md(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;t=i;i=i+16|0;j=t+8|0;if(!d){Ub(e,1,10654,t)|0;s=0;i=t;return s|0}g=c[a+112>>2]|0;h=_(c[a+116>>2]|0,g)|0;if(h>>>0<=f>>>0){c[j>>2]=f;c[j+4>>2]=h+-1;Ub(e,1,10692,j)|0;s=0;i=t;return s|0}s=(f>>>0)%(g>>>0)|0;r=(f>>>0)/(g>>>0)|0;j=c[a+100>>2]|0;h=_(j,s)|0;k=c[a+92>>2]|0;h=h+k|0;c[d>>2]=h;q=a+80|0;g=c[q>>2]|0;l=c[g>>2]|0;h=h>>>0>>0?l:h;c[d>>2]=h;k=(_(j,s+1|0)|0)+k|0;s=d+8|0;c[s>>2]=k;j=c[g+8>>2]|0;k=k>>>0>j>>>0?j:k;c[s>>2]=k;s=c[a+104>>2]|0;j=_(s,r)|0;l=c[a+96>>2]|0;j=j+l|0;p=d+4|0;c[p>>2]=j;o=c[g+4>>2]|0;j=j>>>0>>0?o:j;c[p>>2]=j;l=(_(s,r+1|0)|0)+l|0;r=d+12|0;c[r>>2]=l;s=c[g+12>>2]|0;l=l>>>0>s>>>0?s:l;c[r>>2]=l;r=d+24|0;s=d+16|0;p=c[s>>2]|0;if(p){o=c[g+24>>2]|0;n=h+-1|0;m=j+-1|0;k=k+-1|0;g=l+-1|0;h=0;j=c[r>>2]|0;while(1){l=c[o+(h*52|0)+40>>2]|0;c[j+40>>2]=l;z=c[j>>2]|0;y=(n+z|0)/(z|0)|0;c[j+16>>2]=y;u=c[j+4>>2]|0;x=(m+u|0)/(u|0)|0;c[j+20>>2]=x;z=(k+z|0)/(z|0)|0;u=(g+u|0)/(u|0)|0;w=Ri(1,0,l|0)|0;v=C;z=Si(z|0,((z|0)<0)<<31>>31|0,-1,-1)|0;z=Si(z|0,C|0,w|0,v|0)|0;z=Pi(z|0,C|0,l|0)|0;y=Si(y|0,((y|0)<0)<<31>>31|0,-1,-1)|0;y=Si(y|0,C|0,w|0,v|0)|0;y=Pi(y|0,C|0,l|0)|0;c[j+8>>2]=z-y;u=Si(u|0,((u|0)<0)<<31>>31|0,-1,-1)|0;u=Si(u|0,C|0,w|0,v|0)|0;u=Pi(u|0,C|0,l|0)|0;x=Si(x|0,((x|0)<0)<<31>>31|0,-1,-1)|0;v=Si(x|0,C|0,w|0,v|0)|0;l=Pi(v|0,C|0,l|0)|0;c[j+12>>2]=u-l;h=h+1|0;if(h>>>0>=p>>>0)break;else j=j+52|0}}m=a+84|0;g=c[m>>2]|0;if(g)Zb(g);g=Xb()|0;c[m>>2]=g;if(!g){z=0;i=t;return z|0}$b(d,g);c[a+60>>2]=f;j=a+188|0;sg(c[j>>2]|0,28,e)|0;j=c[j>>2]|0;k=tg(j)|0;g=ug(j)|0;if(k){l=0;h=1;while(1){if(!h)h=0;else h=(Ra[c[g>>2]&63](a,b,e)|0)!=0;l=l+1|0;if((l|0)==(k|0))break;else{g=g+4|0;h=h&1}}vg(j);if(!h){Zb(c[q>>2]|0);c[q>>2]=0;z=0;i=t;return z|0}}else vg(j);g=c[s>>2]|0;if(!g){z=1;i=t;return z|0}k=c[(c[m>>2]|0)+24>>2]|0;j=c[r>>2]|0;l=0;while(1){c[j+(l*52|0)+36>>2]=c[k+(l*52|0)+36>>2];h=c[j+(l*52|0)+44>>2]|0;if(!h)h=k;else{Uc(h);h=c[(c[m>>2]|0)+24>>2]|0;j=c[r>>2]|0;g=c[s>>2]|0}z=h+(l*52|0)+44|0;c[j+(l*52|0)+44>>2]=c[z>>2];c[z>>2]=0;l=l+1|0;if(l>>>0>=g>>>0){g=1;break}else k=h}i=t;return g|0}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;c[a+168>>2]=b;e=c[a+80>>2]|0;a:do if((((e|0)!=0?(h=c[e+24>>2]|0,(h|0)!=0):0)?(f=c[a+12>>2]|0,(f|0)!=0):0)?(g=c[f+5584>>2]|0,(g|0)!=0):0){e=c[e+16>>2]|0;if(!e)e=1;else{f=0;while(1){if((c[g+(f*1080|0)+4>>2]|0)>>>0<=b>>>0)break;c[h+(f*52|0)+40>>2]=b;f=f+1|0;if(f>>>0>=e>>>0){e=1;break a}}Ub(d,1,10753,j)|0;e=0}}else e=0;while(0);i=k;return e|0}function od(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;Q=i;i=i+48|0;O=Q+32|0;N=Q+24|0;M=Q+16|0;K=Q+8|0;L=Q;A=d+204|0;g=c[A>>2]|0;F=d+116|0;G=d+112|0;H=_(c[G>>2]|0,c[F>>2]|0)|0;I=(H|0)==1;if(!H){P=1;i=Q;return P|0}J=d+200|0;B=d+12|0;C=d+164|0;D=d+8|0;E=g+20|0;y=g+24|0;z=0;g=0;l=0;a:while(1){if((c[J>>2]|0)!=(z|0)){P=5;break}w=z;z=z+1|0;x=_(c[F>>2]|0,c[G>>2]|0)|0;c[K>>2]=z;c[K+4>>2]=x;Ub(f,4,10866,K)|0;c[B>>2]=0;x=c[A>>2]|0;c[x+12>>2]=c[(c[C>>2]|0)+(w*5640|0)+5588>>2];c[D>>2]=0;if(!(_f(x,c[J>>2]|0,f)|0))break;h=c[A>>2]|0;if(c[(c[h+24>>2]|0)+16>>2]|0){k=0;do{j=c[(c[c[E>>2]>>2]|0)+20>>2]|0;if(I){c[j+(k*52|0)+32>>2]=c[(c[(c[y>>2]|0)+24>>2]|0)+(k*52|0)+44>>2];c[j+(k*52|0)+36>>2]=0}else{if(!(Zf(j+(k*52|0)|0)|0)){P=14;break a}h=c[A>>2]|0}k=k+1|0}while(k>>>0<(c[(c[h+24>>2]|0)+16>>2]|0)>>>0)}x=eg(h)|0;if(!I){if(x>>>0>l>>>0){h=Tc(g,x)|0;if(!h){P=20;break}else{g=h;h=x}}else h=l;j=c[A>>2]|0;w=j+24|0;k=c[w>>2]|0;if(c[k+16>>2]|0){v=j+20|0;j=g;u=0;do{r=c[(c[c[v>>2]>>2]|0)+20>>2]|0;m=c[k+24>>2]|0;q=c[m+(u*52|0)+24>>2]|0;q=((q&7|0)!=0&1)+(q>>>3)|0;n=c[r+(u*52|0)+8>>2]|0;o=c[r+(u*52|0)>>2]|0;t=n-o|0;p=c[r+(u*52|0)+12>>2]|0;r=c[r+(u*52|0)+4>>2]|0;T=c[k>>2]|0;S=c[m+(u*52|0)>>2]|0;l=c[m+(u*52|0)+4>>2]|0;R=(S+~T+(c[k+8>>2]|0)|0)/(S|0)|0;s=R-t|0;k=o-((T+-1+S|0)/(S|0)|0)+(_(R,r-(((c[k+4>>2]|0)+-1+l|0)/(l|0)|0)|0)|0)|0;k=(c[m+(u*52|0)+44>>2]|0)+(k<<2)|0;b:do switch(((q|0)==3?4:q)|0){case 1:{l=(p|0)==(r|0);if(!(c[m+(u*52|0)+32>>2]|0)){if(l)break b;q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){a[m>>0]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+1|0;n=n+4|0}}j=j+t|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}else{if(l)break b;q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){a[m>>0]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+1|0;n=n+4|0}}j=j+t|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}case 2:{l=(p|0)==(r|0);if(!(c[m+(u*52|0)+32>>2]|0)){if(!l){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){b[m>>1]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+2|0;n=n+4|0}}j=j+(t<<1)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}}else if(!l){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){b[m>>1]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+2|0;n=n+4|0}}j=j+(t<<1)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}case 4:{if((p|0)!=(r|0)){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){c[m>>2]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+4|0;n=n+4|0}}j=j+(t<<2)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}default:{}}while(0);u=u+1|0;k=c[w>>2]|0}while(u>>>0<(c[k+16>>2]|0)>>>0);j=c[A>>2]|0}if(!(fg(j,g,x)|0)){P=63;break}}else h=l;if(!(Ad(d,e,f)|0)){P=65;break}if(z>>>0>=H>>>0){P=67;break}else l=h}if((P|0)==5)Ub(f,1,10829,L)|0;else if((P|0)==14){Ub(f,1,10887,M)|0;if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}else if((P|0)==20){if(g)Uc(g);Ub(f,1,10925,N)|0;T=0;i=Q;return T|0}else if((P|0)==63){Ub(f,1,10964,O)|0;Uc(g);T=0;i=Q;return T|0}else if((P|0)==65){if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}else if((P|0)==67){if(!g){T=1;i=Q;return T|0}Uc(g);T=1;i=Q;return T|0}if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}function pd(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+188|0;if(!(sg(c[f>>2]|0,29,e)|0)){d=0;return d|0}if(((b[a+88>>1]|0)+-3&65535)<4?(sg(c[f>>2]|0,30,e)|0)==0:0){d=0;return d|0}if(!(sg(c[f>>2]|0,31,e)|0)){d=0;return d|0}if(!(sg(c[f>>2]|0,32,e)|0)){d=0;return d|0}if(!(sg(c[f>>2]|0,33,e)|0)){d=0;return d|0}j=c[f>>2]|0;h=tg(j)|0;f=ug(j)|0;if(!h)f=1;else{i=0;g=f;f=1;while(1){if(!f)f=0;else f=(Ra[c[g>>2]&63](a,d,e)|0)!=0;f=f&1;i=i+1|0;if((i|0)==(h|0))break;else g=g+4|0}}vg(j);d=f;return d|0}function qd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=Xb()|0;k=a+80|0;c[k>>2]=g;if(!g){Ub(f,1,11011,m)|0;d=0;i=m;return d|0}$b(e,g);j=c[e+24>>2]|0;if((j|0)!=0?(l=c[e+16>>2]|0,(l|0)!=0):0){h=0;do{e=j+(h*52|0)+44|0;g=c[e>>2]|0;if(g){c[(c[(c[k>>2]|0)+24>>2]|0)+(h*52|0)+44>>2]=g;c[e>>2]=0}h=h+1|0}while(h>>>0>>0)}g=a+192|0;if(!(sg(c[g>>2]|0,34,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,35,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,36,f)|0)){d=0;i=m;return d|0}h=c[g>>2]|0;j=tg(h)|0;g=ug(h)|0;if(j){k=0;e=1;while(1){if(!e)e=0;else e=(Ra[c[g>>2]&63](a,d,f)|0)!=0;k=k+1|0;if((k|0)==(j|0))break;else{g=g+4|0;e=e&1}}vg(h);if(!e){d=0;i=m;return d|0}}else vg(h);g=a+188|0;if(!(sg(c[g>>2]|0,37,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,38,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,39,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,40,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,41,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,42,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,43,f)|0)){d=0;i=m;return d|0}e=a+88|0;if(((b[e>>1]|0)+-3&65535)<4){if(!(sg(c[g>>2]|0,44,f)|0)){d=0;i=m;return d|0}if((b[e>>1]|0)==4?(sg(c[g>>2]|0,45,f)|0)==0:0){d=0;i=m;return d|0}}if(!(sg(c[g>>2]|0,46,f)|0)){d=0;i=m;return d|0}if((c[a+108>>2]|0)!=0?(sg(c[g>>2]|0,47,f)|0)==0:0){d=0;i=m;return d|0}if((b[e>>1]&256)!=0?(sg(c[g>>2]|0,48,f)|0)==0:0){d=0;i=m;return d|0}if((c[a+196>>2]|0)!=0?(sg(c[g>>2]|0,49,f)|0)==0:0){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,50,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,51,f)|0)){d=0;i=m;return d|0}k=c[g>>2]|0;h=tg(k)|0;g=ug(k)|0;if(!h)g=1;else{j=0;e=g;g=1;while(1){if(!g)g=0;else g=(Ra[c[e>>2]&63](a,d,f)|0)!=0;g=g&1;j=j+1|0;if((j|0)==(h|0))break;else e=e+4|0}}vg(k);d=g;i=m;return d|0}function rd(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q+40|0;p=q+32|0;n=q+24|0;l=q+16|0;j=q+8|0;h=q;k=a+200|0;if((c[k>>2]|0)==(b|0)){m=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[j>>2]=b+1;c[j+4>>2]=m;Ub(g,4,10866,j)|0;c[a+12>>2]=0;m=a+204|0;j=c[m>>2]|0;c[j+12>>2]=c[(c[a+164>>2]|0)+(b*5640|0)+5588>>2];c[a+8>>2]=0;if(_f(j,c[k>>2]|0,g)|0){h=c[m>>2]|0;a:do if(c[(c[h+24>>2]|0)+16>>2]|0){j=0;while(1){if(!(Zf((c[(c[c[h+20>>2]>>2]|0)+20>>2]|0)+(j*52|0)|0)|0))break;j=j+1|0;h=c[m>>2]|0;if(j>>>0>=(c[(c[h+24>>2]|0)+16>>2]|0)>>>0)break a}Ub(g,1,10887,n)|0;p=0;i=q;return p|0}while(0);if(!(fg(h,d,e)|0)){Ub(g,1,10964,p)|0;p=0;i=q;return p|0}if(Ad(a,f,g)|0){p=1;i=q;return p|0}c[o>>2]=b;Ub(g,1,11101,o)|0;p=0;i=q;return p|0}}else Ub(g,1,10829,h)|0;c[l>>2]=b;Ub(g,1,11044,l)|0;p=0;i=q;return p|0}function sd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;f=a+5164|0;b=c[f>>2]|0;if(b){g=a+5160|0;d=c[g>>2]|0;if(d){e=0;while(1){b=c[b+(e<<3)>>2]|0;if(b){Uc(b);d=c[g>>2]|0}e=e+1|0;if(e>>>0>=d>>>0)break;b=c[f>>2]|0}b=c[f>>2]|0}c[g>>2]=0;Uc(b);c[f>>2]=0}b=a+5172|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5584|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5608|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5604|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5624|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0;c[a+5632>>2]=0;c[a+5628>>2]=0}i=a+5612|0;b=c[i>>2]|0;if(b){h=a+5616|0;d=c[h>>2]|0;if(d){g=0;while(1){e=b+12|0;f=c[e>>2]|0;if(f){Uc(f);c[e>>2]=0;d=c[h>>2]|0}g=g+1|0;if(g>>>0>=d>>>0)break;else b=b+20|0}b=c[i>>2]|0}Uc(b);c[i>>2]=0}b=a+5600|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5592|0;d=c[b>>2]|0;if(!d)return;Uc(d);c[b>>2]=0;c[a+5596>>2]=0;return}function td(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function ud(a,b,d){a=a|0;b=b|0;d=d|0;return (c[a+8>>2]|0)==0&(c[a+188>>2]|0)!=0&(c[a+192>>2]|0)!=0&1|0}function vd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+224|0;X=Y+200|0;U=Y+192|0;T=Y+184|0;Q=Y+176|0;P=Y+168|0;O=Y+160|0;M=Y+152|0;L=Y+144|0;K=Y+136|0;E=Y+128|0;J=Y+120|0;D=Y+112|0;B=Y+104|0;A=Y+96|0;z=Y+88|0;y=Y+80|0;I=Y+72|0;H=Y+64|0;x=Y+56|0;w=Y+48|0;v=Y+40|0;F=Y+32|0;p=Y+24|0;m=Y+16|0;l=Y+8|0;N=Y;S=Y+216|0;g=Y+204|0;G=Y+212|0;u=Y+208|0;W=d+8|0;c[W>>2]=1;a:do if((Mb(e,S,2,f)|0)==2?(qb(S,g,2),(c[g>>2]|0)==65359):0){c[W>>2]=2;o=Pb(e)|0;o=Si(o|0,C|0,-2,-1)|0;n=C;V=d+196|0;h=c[V>>2]|0;c[h>>2]=o;c[h+4>>2]=n;h=N;c[h>>2]=o;c[h+4>>2]=n;Ub(f,4,15766,N)|0;h=c[V>>2]|0;n=c[h>>2]|0;o=h+24|0;g=c[o>>2]|0;k=h+32|0;j=c[k>>2]|0;do if((g+1|0)>>>0>j>>>0){t=~~(+(j>>>0)+100.0)>>>0;c[k>>2]=t;g=h+28|0;h=Tc(c[g>>2]|0,t*24|0)|0;if(!h){Uc(c[g>>2]|0);c[g>>2]=0;c[k>>2]=0;c[o>>2]=0;Ub(f,1,15803,l)|0;break a}else{c[g>>2]=h;g=c[o>>2]|0;break}}else h=c[h+28>>2]|0;while(0);b[h+(g*24|0)>>1]=-177;s=Pi(0,n|0,32)|0;t=h+(g*24|0)+8|0;c[t>>2]=s;c[t+4>>2]=C;c[h+(g*24|0)+16>>2]=2;c[o>>2]=g+1;t=d+16|0;if((Mb(e,c[t>>2]|0,2,f)|0)!=2){Ub(f,1,8295,p)|0;f=0;i=Y;return f|0}qb(c[t>>2]|0,G,2);g=c[G>>2]|0;if((g|0)!=65424){s=d+20|0;q=0;j=0;r=0;b:while(1){if(g>>>0<65280){R=14;break}else l=784;while(1){h=c[l>>2]|0;k=(h|0)==0;if(k|(h|0)==(g|0))break;else l=l+12|0}if(k){Ub(f,2,15914,v)|0;m=2;c:while(1){do{if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=20;break b}qb(c[t>>2]|0,N,2);g=c[N>>2]|0}while(g>>>0<65280);l=784;while(1){h=c[l>>2]|0;if((h|0)==0|(h|0)==(g|0)){k=l;g=l;break}else l=l+12|0}if(!(c[g+4>>2]&c[W>>2])){R=25;break b}if((h|0)>=65424){R=100;break}switch(h|0){case 0:break;default:{p=k;o=m;break c}}m=m+2|0}if((R|0)==100){R=0;switch(h|0){case 65424:{h=q;g=r;R=27;break b}default:{p=k;o=m}}}l=c[V>>2]|0;n=Pb(e)|0;n=n-o|0;k=l+24|0;g=c[k>>2]|0;h=l+32|0;m=c[h>>2]|0;if((g+1|0)>>>0>m>>>0){g=~~(+(m>>>0)+100.0)>>>0;c[h>>2]=g;l=l+28|0;g=Tc(c[l>>2]|0,g*24|0)|0;if(!g){j=l;g=l;R=32;break}c[l>>2]=g;h=g;g=c[k>>2]|0}else h=c[l+28>>2]|0;b[h+(g*24|0)>>1]=0;m=h+(g*24|0)+8|0;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;c[h+(g*24|0)+16>>2]=o;c[k>>2]=g+1;g=c[p>>2]|0;c[G>>2]=g;if((g|0)==65424){h=q;g=r;break}else k=784;while(1){h=c[k>>2]|0;if((h|0)==0|(h|0)==(g|0))break;else k=k+12|0}}else k=l;r=(h|0)==65361?1:r;q=(h|0)==65362?1:q;j=(h|0)==65372?1:j;if(!(c[k+4>>2]&c[W>>2])){R=38;break}if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=40;break}qb(c[t>>2]|0,u,2);h=(c[u>>2]|0)+-2|0;c[u>>2]=h;g=c[t>>2]|0;if(h>>>0>(c[s>>2]|0)>>>0){g=Tc(g,h)|0;if(!g){R=43;break}c[t>>2]=g;h=c[u>>2]|0;c[s>>2]=h}g=Mb(e,g,h,f)|0;if((g|0)!=(c[u>>2]|0)){R=46;break}if(!(Za[c[k+8>>2]&63](d,c[t>>2]|0,g,f)|0)){R=48;break}m=c[V>>2]|0;n=c[k>>2]|0;o=Pb(e)|0;p=c[u>>2]|0;o=-4-p+o|0;p=p+4|0;k=m+24|0;g=c[k>>2]|0;h=m+32|0;l=c[h>>2]|0;if((g+1|0)>>>0>l>>>0){g=~~(+(l>>>0)+100.0)>>>0;c[h>>2]=g;l=m+28|0;g=Tc(c[l>>2]|0,g*24|0)|0;if(!g){j=l;g=l;R=53;break}c[l>>2]=g;h=g;g=c[k>>2]|0}else h=c[m+28>>2]|0;b[h+(g*24|0)>>1]=n;n=h+(g*24|0)+8|0;c[n>>2]=o;c[n+4>>2]=((o|0)<0)<<31>>31;c[h+(g*24|0)+16>>2]=p;c[k>>2]=g+1;if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=55;break}qb(c[t>>2]|0,G,2);g=c[G>>2]|0;if((g|0)==65424){h=q;g=r;break}}switch(R|0){case 14:{c[F>>2]=g;Ub(f,1,15863,F)|0;f=0;i=Y;return f|0}case 20:{Ub(f,1,8295,w)|0;R=34;break}case 25:{Ub(f,1,8339,x)|0;R=34;break}case 27:{c[G>>2]=65424;break}case 32:{Uc(c[g>>2]|0);c[j>>2]=0;c[h>>2]=0;c[k>>2]=0;Ub(f,1,15803,H)|0;R=34;break}case 38:{Ub(f,1,8339,y)|0;f=0;i=Y;return f|0}case 40:{Ub(f,1,8295,z)|0;f=0;i=Y;return f|0}case 43:{Uc(c[t>>2]|0);c[t>>2]=0;c[s>>2]=0;Ub(f,1,8427,A)|0;f=0;i=Y;return f|0}case 46:{Ub(f,1,8295,B)|0;f=0;i=Y;return f|0}case 48:{Ub(f,1,15985,D)|0;f=0;i=Y;return f|0}case 53:{Uc(c[g>>2]|0);c[j>>2]=0;c[h>>2]=0;c[k>>2]=0;Ub(f,1,15803,J)|0;f=0;i=Y;return f|0}case 55:{Ub(f,1,8295,E)|0;f=0;i=Y;return f|0}}if((R|0)==34){Ub(f,1,15930,I)|0;f=0;i=Y;return f|0}if(g){if(!h){Ub(f,1,16090,L)|0;f=0;i=Y;return f|0}if(!j){Ub(f,1,16136,M)|0;f=0;i=Y;return f|0}d:do if(a[d+184>>0]&1){s=d+120|0;do if(c[s>>2]|0){n=d+124|0;o=0;g=0;h=0;e:do{j=c[n>>2]|0;k=c[j+(o<<3)>>2]|0;f:do if(k){l=c[j+(o<<3)+4>>2]|0;j=g>>>0>>0;m=j?0:g-l|0;if((l|0)==(g|0)|j^1)g=m;else{k=j?k+g|0:k;g=l-g|0;while(1){if(g>>>0<4){R=70;break e}qb(k,N,4);j=g+-4|0;g=c[N>>2]|0;h=g+h|0;if(j>>>0>>0)break;if((j|0)==(g|0)){g=m;break f}else{k=k+(g+4)|0;g=j-g|0}}g=g-j|0}}while(0);o=o+1|0}while(o>>>0<(c[s>>2]|0)>>>0);if((R|0)==70){Ub(f,1,16182,O)|0;break}if(!g)R=77;else Ub(f,1,16213,P)|0}else{h=0;R=77}while(0);g:do if((R|0)==77){j=Pc(h)|0;p=d+144|0;c[p>>2]=j;if(!j){Ub(f,1,13302,Q)|0;break}q=d+132|0;c[q>>2]=h;k=c[s>>2]|0;r=d+124|0;do if(k){g=c[r>>2]|0;j=g;o=0;n=0;h=0;h:while(1){l=c[j+(o<<3)>>2]|0;if(!l)l=n;else{j=c[j+(o<<3)+4>>2]|0;g=(c[p>>2]|0)+h|0;i:do if(n>>>0>>0){Ui(g|0,l|0,n|0)|0;h=h+n|0;if((j|0)==(n|0)){l=0;break}m=l+n|0;g=j-n|0;while(1){if(g>>>0<4){R=88;break h}qb(m,S,4);l=m+4|0;k=g+-4|0;j=c[S>>2]|0;g=(c[p>>2]|0)+h|0;if(k>>>0>>0){j=l;break}Ui(g|0,l|0,j|0)|0;g=c[S>>2]|0;h=g+h|0;if((k|0)==(g|0)){l=0;break i}else{m=m+(g+4)|0;g=k-g|0}}Ui(g|0,j|0,k|0)|0;l=(c[S>>2]|0)-k|0;h=k+h|0}else{Ui(g|0,l|0,j|0)|0;l=n-j|0;h=j+h|0}while(0);Uc(c[(c[r>>2]|0)+(o<<3)>>2]|0);j=c[r>>2]|0;c[j+(o<<3)>>2]=0;c[j+(o<<3)+4>>2]=0;k=c[s>>2]|0;g=j}o=o+1|0;if(o>>>0>=k>>>0){R=94;break}else n=l}if((R|0)==88){Ub(f,1,16182,T)|0;break g}else if((R|0)==94){j=c[p>>2]|0;h=c[q>>2]|0;break}}else g=c[r>>2]|0;while(0);c[d+128>>2]=j;c[d+152>>2]=h;c[s>>2]=0;Uc(g);c[r>>2]=0;break d}while(0);Ub(f,1,16236,U)|0;f=0;i=Y;return f|0}while(0);Ub(f,4,16262,X)|0;X=Pb(e)|0;f=(c[V>>2]|0)+8|0;c[f>>2]=X+-2;c[f+4>>2]=0;c[W>>2]=8;f=1;i=Y;return f|0}}Ub(f,1,16044,K)|0;f=0;i=Y;return f|0}while(0);Ub(f,1,15839,m)|0;f=0;i=Y;return f|0}function wd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+16|0;F=G;D=c[b+80>>2]|0;E=b+88|0;A=_(c[b+112>>2]|0,c[b+116>>2]|0)|0;q=c[D+16>>2]|0;o=q*1080|0;p=c[b+12>>2]|0;q=_(q<<2,q)|0;a:do if(A){r=p+5604|0;s=p+5620|0;t=p+5612|0;u=p+5616|0;v=p+5632|0;w=p+5624|0;x=p+5584|0;B=0;C=c[b+164>>2]|0;b:while(1){k=C+5584|0;y=c[k>>2]|0;Ui(C|0,p|0,5640)|0;d=C+5636|0;a[d>>0]=a[d>>0]&-4;c[C+5168>>2]=0;d=C+5604|0;c[d>>2]=0;l=C+5620|0;c[l>>2]=0;z=C+5612|0;c[z>>2]=0;m=C+5632|0;c[m>>2]=0;n=C+5624|0;c[n>>2]=0;c[k>>2]=y;if(c[r>>2]|0){f=Pc(q)|0;c[d>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[r>>2]|0,q|0)|0}d=(c[s>>2]|0)*20|0;f=Pc(d)|0;c[z>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[t>>2]|0,d|0)|0;d=c[u>>2]|0;if(d){h=0;j=c[z>>2]|0;k=c[t>>2]|0;while(1){g=k+12|0;if(c[g>>2]|0){d=k+16|0;f=Pc(c[d>>2]|0)|0;c[j+12>>2]=f;if(!f){d=0;f=25;break b}Ui(f|0,c[g>>2]|0,c[d>>2]|0)|0;d=c[u>>2]|0}c[l>>2]=(c[l>>2]|0)+1;h=h+1|0;if(h>>>0>=d>>>0)break;else{j=j+20|0;k=k+20|0}}}d=(c[v>>2]|0)*20|0;f=Pc(d)|0;c[n>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[w>>2]|0,d|0)|0;c[m>>2]=c[v>>2];h=c[v>>2]|0;if(h){j=0;f=c[n>>2]|0;g=c[w>>2]|0;while(1){d=c[g+8>>2]|0;if(d)c[f+8>>2]=(c[z>>2]|0)+(((d-(c[t>>2]|0)|0)/20|0)*20|0);d=c[g+12>>2]|0;if(d)c[f+12>>2]=(c[z>>2]|0)+(((d-(c[t>>2]|0)|0)/20|0)*20|0);j=j+1|0;if(j>>>0>=h>>>0)break;else{f=f+20|0;g=g+20|0}}}Ui(y|0,c[x>>2]|0,o|0)|0;B=B+1|0;if(B>>>0>=A>>>0)break a;else C=C+5640|0}if((f|0)==25){i=G;return d|0}}while(0);f=Tf(1)|0;d=b+204|0;c[d>>2]=f;if(!f){e=0;i=G;return e|0}if(Xf(f,D,E)|0){e=1;i=G;return e|0}Yf(c[d>>2]|0);c[d>>2]=0;Ub(e,1,8839,F)|0;e=0;i=G;return e|0}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+128|0;u=w+120|0;t=w+112|0;s=w+104|0;r=w+96|0;q=w+88|0;p=w+80|0;o=w+72|0;n=w+64|0;m=w+56|0;l=w+48|0;k=w+40|0;j=w+32|0;h=w+24|0;g=w+16|0;f=w+8|0;e=w;if(!a){i=w;return}ki(12191,17,1,d)|0;c[e>>2]=c[a>>2];$h(d,12209,e)|0;c[f>>2]=c[a+4>>2];$h(d,12222,f)|0;c[g>>2]=c[a+8>>2];$h(d,12234,g)|0;c[h>>2]=c[a+16>>2];$h(d,12251,h)|0;if((b|0)>0){g=a+5584|0;h=0;do{f=c[g>>2]|0;c[j>>2]=h;$h(d,12262,j)|0;c[k>>2]=c[f+(h*1080|0)>>2];$h(d,12276,k)|0;a=f+(h*1080|0)+4|0;c[l>>2]=c[a>>2];$h(d,12290,l)|0;c[m>>2]=c[f+(h*1080|0)+8>>2];$h(d,12313,m)|0;c[n>>2]=c[f+(h*1080|0)+12>>2];$h(d,12329,n)|0;c[o>>2]=c[f+(h*1080|0)+16>>2];$h(d,12345,o)|0;c[p>>2]=c[f+(h*1080|0)+20>>2];$h(d,12362,p)|0;ki(12377,23,1,d)|0;if(c[a>>2]|0){e=0;do{x=c[f+(h*1080|0)+944+(e<<2)>>2]|0;c[q>>2]=c[f+(h*1080|0)+812+(e<<2)>>2];c[q+4>>2]=x;$h(d,12401,q)|0;e=e+1|0}while(e>>>0<(c[a>>2]|0)>>>0)}ai(10,d)|0;x=f+(h*1080|0)+24|0;c[r>>2]=c[x>>2];$h(d,12410,r)|0;c[s>>2]=c[f+(h*1080|0)+804>>2];$h(d,12425,s)|0;ki(12442,20,1,d)|0;if((c[x>>2]|0)!=1){a=(c[a>>2]|0)*3|0;if((a|0)>2){a=a+-2|0;v=8}}else{a=1;v=8}if((v|0)==8){v=0;e=0;do{x=c[f+(h*1080|0)+28+(e<<3)>>2]|0;c[t>>2]=c[f+(h*1080|0)+28+(e<<3)+4>>2];c[t+4>>2]=x;$h(d,12401,t)|0;e=e+1|0}while((e|0)!=(a|0))}ai(10,d)|0;c[u>>2]=c[f+(h*1080|0)+808>>2];$h(d,12463,u)|0;ki(12480,5,1,d)|0;h=h+1|0}while((h|0)!=(b|0))}ki(10321,4,1,d)|0;i=w;return}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;u=B+32|0;v=B+24|0;y=B+16|0;x=B+8|0;o=B+64|0;w=B+60|0;n=B+56|0;q=B+52|0;s=B+48|0;r=B+44|0;t=B+40|0;p=B+36|0;c[o>>2]=1;e=Pc(1e3)|0;if(!e){Ub(d,1,12127,B)|0;d=0;i=B;return d|0}z=a+116|0;A=a+112|0;k=a+204|0;l=a+84|0;m=a+8|0;f=1e3;j=0;while(1){if(!(cd(a,w,n,q,s,r,t,p,o,b,d)|0)){g=5;break}if(!(c[o>>2]|0)){g=17;break}h=c[n>>2]|0;if(h>>>0>f>>>0){f=Tc(e,h)|0;if(!f){g=9;break}else{e=f;g=h}}else g=f;f=c[w>>2]|0;if(!(dd(a,f,e,h,b,d)|0)){g=11;break}f=f+1|0;h=_(c[A>>2]|0,c[z>>2]|0)|0;c[v>>2]=f;c[v+4>>2]=h;Ub(d,4,11986,v)|0;h=c[k>>2]|0;if(!(ce(c[(c[c[h+20>>2]>>2]|0)+20>>2]|0,c[h+24>>2]|0,e,c[(c[l>>2]|0)+24>>2]|0)|0)){g=13;break}c[u>>2]=f;Ub(d,4,12016,u)|0;h=Qb(b)|0;if((h|0)==0&(C|0)==0?(c[m>>2]|0)==64:0){g=17;break}j=j+1|0;if((j|0)==(_(c[A>>2]|0,c[z>>2]|0)|0)){g=17;break}else f=g}if((g|0)==5){Uc(e);d=0;i=B;return d|0}else if((g|0)==9){Uc(e);A=_(c[A>>2]|0,c[z>>2]|0)|0;c[x>>2]=(c[w>>2]|0)+1;c[x+4>>2]=A;Ub(d,1,11946,x)|0;d=0;i=B;return d|0}else if((g|0)==11){Uc(e);A=_(c[A>>2]|0,c[z>>2]|0)|0;c[y>>2]=f+1;c[y+4>>2]=A;Ub(d,1,12162,y)|0;d=0;i=B;return d|0}else if((g|0)==13){Uc(e);d=0;i=B;return d|0}else if((g|0)==17){Uc(e);d=1;i=B;return d|0}return 0}function zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;y=G+56|0;D=G+48|0;x=G+40|0;z=G+32|0;E=G+24|0;k=G+16|0;j=G+8|0;r=G+92|0;B=G+88|0;q=G+84|0;t=G+80|0;v=G+76|0;u=G+72|0;w=G+68|0;s=G+64|0;c[r>>2]=1;e=Pc(1e3)|0;if(!e){Ub(d,1,11880,G)|0;F=0;i=G;return F|0}A=a+196|0;g=c[A>>2]|0;f=c[g+40>>2]|0;a:do if(!f){f=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[g+36>>2]=f;f=Qc(f,40)|0;g=c[A>>2]|0;c[g+40>>2]=f;b:do if(f){if(c[g+36>>2]|0){h=0;do{c[f+(h*40|0)+28>>2]=100;c[f+(h*40|0)+20>>2]=0;p=Qc(100,24)|0;g=c[A>>2]|0;f=c[g+40>>2]|0;c[f+(h*40|0)+24>>2]=p;h=h+1|0;if(!p)break b}while(h>>>0<(c[g+36>>2]|0)>>>0)}g=c[a+60>>2]|0;if(!f)break a;else{F=12;break a}}while(0);Uc(e);F=0;i=G;return F|0}else{g=c[a+60>>2]|0;F=12}while(0);if((F|0)==12)if(c[f+16>>2]|0){if(!(c[f+(g*40|0)+4>>2]|0)){p=a+64|0;p=Si(c[p>>2]|0,c[p+4>>2]|0,2,0)|0;if(!(xb(b,p,C,d)|0)){Ub(d,1,11918,j)|0;Uc(e);F=0;i=G;return F|0}}else{p=c[f+(g*40|0)+16>>2]|0;p=Si(c[p>>2]|0,c[p+4>>2]|0,2,0)|0;if(!(xb(b,p,C,d)|0)){Ub(d,1,11918,k)|0;Uc(e);F=0;i=G;return F|0}}f=a+8|0;if((c[f>>2]|0)==256)c[f>>2]=8}c:do if(cd(a,B,q,t,v,u,w,s,r,b,d)|0){o=a+116|0;p=a+112|0;l=a+204|0;m=a+84|0;n=g+1|0;f=1e3;while(1){if(!(c[r>>2]|0))break;k=c[q>>2]|0;if(k>>>0>f>>>0){f=Tc(e,k)|0;if(!f){F=26;break}else{e=f;j=k}}else j=f;h=c[B>>2]|0;if(!(dd(a,h,e,k,b,d)|0)){F=28;break}f=h+1|0;k=_(c[p>>2]|0,c[o>>2]|0)|0;c[z>>2]=f;c[z+4>>2]=k;Ub(d,4,11986,z)|0;k=c[l>>2]|0;if(!(ce(c[(c[c[k+20>>2]>>2]|0)+20>>2]|0,c[k+24>>2]|0,e,c[(c[m>>2]|0)+24>>2]|0)|0)){F=30;break}c[x>>2]=f;Ub(d,4,12016,x)|0;if((h|0)==(g|0)){F=32;break}c[y>>2]=f;c[y+4>>2]=n;Ub(d,2,12060,y)|0;if(!(cd(a,B,q,t,v,u,w,s,r,b,d)|0))break c;else f=j}if((F|0)==26){Uc(e);F=_(c[p>>2]|0,c[o>>2]|0)|0;c[E>>2]=(c[B>>2]|0)+1;c[E+4>>2]=F;Ub(d,1,11946,E)|0;F=0;i=G;return F|0}else if((F|0)==28){Uc(e);F=0;i=G;return F|0}else if((F|0)==30){Uc(e);F=0;i=G;return F|0}else if((F|0)==32){F=(c[A>>2]|0)+8|0;F=Si(c[F>>2]|0,c[F+4>>2]|0,2,0)|0;if(!(xb(b,F,C,d)|0)){Ub(d,1,11918,D)|0;Uc(e);F=0;i=G;return F|0}}Uc(e);F=1;i=G;return F|0}while(0);Uc(e);F=0;i=G;return F|0}function Ad(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;H=i;i=i+32|0;D=H+16|0;t=H+8|0;l=H;C=H+20|0;E=c[a+40>>2]|0;G=a+36|0;n=c[G>>2]|0;o=a+204|0;k=c[o>>2]|0;c[k+16>>2]=0;B=a+8|0;c[B>>2]=0;c[C>>2]=0;pb(n,65424,2);pb(n+2|0,10,2);F=a+200|0;pb(n+4|0,c[F>>2]|0,2);z=a+12|0;pb(n+10|0,c[z>>2]|0,1);A=a+164|0;pb(n+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=12;h=n+12|0;f=E+-12|0;m=a+88|0;if(((b[m>>1]|0)+-3&65535)>=4?(g=c[F>>2]|0,j=c[A>>2]|0,(c[j+(g*5640|0)+420>>2]|0)!=0):0){c[C>>2]=0;_d(c[(c[a+80>>2]|0)+16>>2]|0,j,g,h,C);y=c[C>>2]|0;g=y+12|0;h=n+g|0;f=f-y|0}else g=12;c[C>>2]=0;pb(h,65427,2);c[k+4>>2]=c[B>>2];y=c[z>>2]|0;c[k+8>>2]=y;if(!y)c[(c[c[k+20>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(k,c[F>>2]|0,h+2|0,C,f+-4|0,0)|0)){Ub(e,1,11860,l)|0;d=0;i=H;return d|0}f=(c[C>>2]|0)+2|0;c[C>>2]=f;f=f+g|0;pb(n+6|0,f,4);if(((b[m>>1]|0)+-3&65535)<4){y=a+28|0;pb(c[y>>2]|0,c[F>>2]|0,1);x=(c[y>>2]|0)+1|0;c[y>>2]=x;pb(x,f,4);c[y>>2]=(c[y>>2]|0)+4}g=n+f|0;y=E-f|0;v=c[o>>2]|0;w=a+88|0;r=c[A>>2]|0;s=c[F>>2]|0;m=be(w,0,s)|0;x=a+8|0;c[z>>2]=(c[z>>2]|0)+1;a:do if(m>>>0>1){n=v+4|0;o=v+8|0;p=v+20|0;q=a+28|0;j=g;g=y;f=0;l=1;while(1){c[x>>2]=l;c[C>>2]=0;pb(j,65424,2);pb(j+2|0,10,2);pb(j+4|0,c[F>>2]|0,2);pb(j+10|0,c[z>>2]|0,1);pb(j+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=0;pb(j+12|0,65427,2);c[n>>2]=c[B>>2];k=c[z>>2]|0;c[o>>2]=k;if(!k)c[(c[c[p>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(v,c[F>>2]|0,j+14|0,C,g+-16|0,0)|0))break;I=c[C>>2]|0;J=I+2|0;c[C>>2]=J;k=I+14|0;h=j+k|0;f=f+12+J|0;g=g+-12+(-2-I)|0;pb(j+6|0,k,4);if(((b[w>>1]|0)+-3&65535)<4){pb(c[q>>2]|0,c[F>>2]|0,1);J=(c[q>>2]|0)+1|0;c[q>>2]=J;pb(J,k,4);c[q>>2]=(c[q>>2]|0)+4}c[z>>2]=(c[z>>2]|0)+1;l=l+1|0;if(l>>>0>=m>>>0){u=12;break a}else j=h}Ub(e,1,11860,t)|0}else{h=g;g=y;f=0;u=12}while(0);b:do if((u|0)==12){p=r+(s*5640|0)+420|0;c:do if(c[p>>2]|0){q=v+16|0;r=v+4|0;s=v+8|0;t=v+20|0;o=a+28|0;n=1;d:while(1){c[q>>2]=n;m=be(w,n,c[F>>2]|0)|0;if(m){l=0;while(1){c[x>>2]=l;c[C>>2]=0;pb(h,65424,2);pb(h+2|0,10,2);pb(h+4|0,c[F>>2]|0,2);pb(h+10|0,c[z>>2]|0,1);pb(h+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=0;pb(h+12|0,65427,2);c[r>>2]=c[B>>2];J=c[z>>2]|0;c[s>>2]=J;if(!J)c[(c[c[t>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(v,c[F>>2]|0,h+14|0,C,g+-16|0,0)|0))break d;J=c[C>>2]|0;j=J+2|0;c[C>>2]=j;f=f+12+j|0;j=J+14|0;k=h+j|0;g=g+-12+(-2-J)|0;pb(h+6|0,j,4);if(((b[w>>1]|0)+-3&65535)<4){pb(c[o>>2]|0,c[F>>2]|0,1);J=(c[o>>2]|0)+1|0;c[o>>2]=J;pb(J,j,4);c[o>>2]=(c[o>>2]|0)+4}c[z>>2]=(c[z>>2]|0)+1;l=l+1|0;if(l>>>0>=m>>>0){h=k;break}else h=k}}n=n+1|0;if(n>>>0>(c[p>>2]|0)>>>0)break c}Ub(e,1,11860,D)|0;break b}while(0);J=f-y+E|0;if((Nb(d,c[G>>2]|0,J,e)|0)!=(J|0)){J=0;i=H;return J|0}c[F>>2]=(c[F>>2]|0)+1;J=1;i=H;return J|0}while(0);J=0;i=H;return J|0}function Bd(a,b,d){a=a|0;b=b|0;d=d|0;a=a+44|0;pb(c[a>>2]|0,65497,2);if((Nb(b,c[a>>2]|0,2,d)|0)!=2){b=0;return b|0}b=(Ob(b,d)|0)!=0&1;return b|0}function Cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=(c[a+32>>2]|0)*5|0;i=a+16|0;i=Si(c[i>>2]|0,c[i+4>>2]|0,6,0)|0;h=C;e=Pb(b)|0;f=C;if(!(Sb(b,i,h,d)|0)){i=0;return i|0}if((Nb(b,c[a+24>>2]|0,g,d)|0)!=(g|0)){i=0;return i|0}i=(Sb(b,e,f,d)|0)!=0&1;return i|0}function Dd(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+196>>2]|0;if(!a)return 1;b=Pb(b)|0;d=a;d=Oi(b|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;b=a+16|0;c[b>>2]=d;c[b+4>>2]=C;return 1}function Ed(a,b,d){a=a|0;b=b|0;d=d|0;d=a+204|0;Yf(c[d>>2]|0);c[d>>2]=0;d=a+24|0;b=c[d>>2]|0;if(b){Uc(b);c[d>>2]=0;c[a+28>>2]=0}d=a+36|0;b=c[d>>2]|0;if(!b){a=a+40|0;c[a>>2]=0;return 1}Uc(b);c[d>>2]=0;a=a+40|0;c[a>>2]=0;return 1}function Fd(a,b,d){a=a|0;b=b|0;d=d|0;d=a+44|0;b=c[d>>2]|0;if(b){Uc(b);c[d>>2]=0}c[a+48>>2]=0;return 1}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=(c[a+8>>2]|0)==0&(c[a+188>>2]|0)!=0&(c[a+192>>2]|0)!=0&1;b=(c[(c[(c[a+164>>2]|0)+5584>>2]|0)+4>>2]|0)+-1|0;if(b>>>0>31){Ub(d,1,11790,f)|0;d=0;i=f;return d|0}b=1<>2]|0)>>>0>>0){Ub(d,1,11790,f+8|0)|0;d=0;i=f;return d|0}if((c[a+104>>2]|0)>>>0>=b>>>0){d=e;i=f;return d|0}Ub(d,1,11790,f+16|0)|0;d=0;i=f;return d|0}function Id(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((b[a+88>>1]&-32256)<<16>>16!=-32256){j=1;return j|0}i=_(c[a+112>>2]|0,c[a+116>>2]|0)|0;if(!i){j=1;return j|0}h=a+80|0;j=0;e=1;g=c[a+164>>2]|0;while(1){if((c[g+16>>2]|0)==2){e=(c[g+5608>>2]|0)!=0&e;a=c[(c[h>>2]|0)+16>>2]|0;if(a){f=0;d=c[g+5584>>2]|0;while(1){e=(c[d+20>>2]&1^1)&e;f=f+1|0;if(f>>>0>=a>>>0)break;else d=d+1080|0}}}j=j+1|0;if((j|0)==(i|0))break;else g=g+5640|0}return e|0}function Jd(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;g=a+88|0;h=a+32|0;i=c[a+80>>2]|0;j=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[h>>2]=0;if(!j)return 1;e=c[a+164>>2]|0;f=0;while(1){Nf(i,g,f);b=e+420|0;d=0;a=0;do{k=be(g,a,f)|0;c[h>>2]=(c[h>>2]|0)+k;d=k+d|0;a=a+1|0}while(a>>>0<=(c[b>>2]|0)>>>0);c[e+5588>>2]=d;f=f+1|0;if((f|0)==(j|0))break;else e=e+5640|0}return 1}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+44>>2]|0;pb(a,65359,2);return (Nb(b,a,2,d)|0)==2|0}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+16|0;j=p;k=c[a+80>>2]|0;n=k+16|0;l=(c[n>>2]|0)*3|0;o=l+40|0;f=c[k+24>>2]|0;h=a+48|0;m=a+44|0;g=c[m>>2]|0;do if(o>>>0>(c[h>>2]|0)>>>0){g=Tc(g,o)|0;if(g){c[m>>2]=g;c[h>>2]=o;break}Uc(c[m>>2]|0);c[m>>2]=0;c[h>>2]=0;Ub(d,1,11752,j)|0;b=0;i=p;return b|0}while(0);pb(g,65361,2);pb(g+2|0,l+38|0,2);pb(g+4|0,e[a+88>>1]|0,2);pb(g+6|0,c[k+8>>2]|0,4);pb(g+10|0,c[k+12>>2]|0,4);pb(g+14|0,c[k>>2]|0,4);pb(g+18|0,c[k+4>>2]|0,4);pb(g+22|0,c[a+100>>2]|0,4);pb(g+26|0,c[a+104>>2]|0,4);pb(g+30|0,c[a+92>>2]|0,4);pb(g+34|0,c[a+96>>2]|0,4);pb(g+38|0,c[n>>2]|0,2);if(c[n>>2]|0){h=0;g=g+40|0;while(1){pb(g,(c[f+24>>2]|0)+-1+(c[f+32>>2]<<7)|0,1);pb(g+1|0,c[f>>2]|0,1);pb(g+2|0,c[f+4>>2]|0,1);h=h+1|0;if(h>>>0>=(c[n>>2]|0)>>>0)break;else{g=g+3|0;f=f+52|0}}}b=(Nb(b,c[m>>2]|0,o,d)|0)==(o|0)&1;i=p;return b|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;q=r+16|0;p=r+8|0;j=r;o=r+20|0;k=a+200|0;l=c[k>>2]|0;m=a+164|0;n=c[m>>2]|0;e=c[n+(l*5640|0)+5584>>2]|0;if(!(c[e>>2]&1))g=5;else g=(c[e+4>>2]|0)+5|0;h=g+9|0;c[o>>2]=h;f=a+48|0;a=a+44|0;e=c[a>>2]|0;do if(h>>>0>(c[f>>2]|0)>>>0){e=Tc(e,h)|0;if(e){c[a>>2]=e;c[f>>2]=h;break}Uc(c[a>>2]|0);c[a>>2]=0;c[f>>2]=0;Ub(d,1,11687,j)|0;q=0;i=r;return q|0}while(0);pb(e,65362,2);pb(e+2|0,g+7|0,2);pb(e+4|0,c[n+(l*5640|0)>>2]|0,1);pb(e+5|0,c[n+(l*5640|0)+4>>2]|0,1);pb(e+6|0,c[n+(l*5640|0)+8>>2]|0,2);pb(e+8|0,c[n+(l*5640|0)+16>>2]|0,1);c[o>>2]=g;if(!(ae(c[m>>2]|0,c[k>>2]|0,e+9|0,o,d)|0)){Ub(d,1,11726,p)|0;q=0;i=r;return q|0}if(!(c[o>>2]|0)){q=(Nb(b,c[a>>2]|0,h,d)|0)==(h|0)&1;i=r;return q|0}else{Ub(d,1,11726,q)|0;q=0;i=r;return q|0}return 0}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;o=p+16|0;n=p+8|0;j=p;l=p+20|0;k=a+200|0;m=a+164|0;e=c[(c[m>>2]|0)+((c[k>>2]|0)*5640|0)+5584>>2]|0;f=c[e+24>>2]|0;if((f|0)==1)e=1;else e=((c[e+4>>2]|0)*3|0)+-2|0;g=(f|0)==0?e+1|0:e<<1|1;h=g+4|0;c[l>>2]=h;f=a+48|0;a=a+44|0;e=c[a>>2]|0;do if(h>>>0>(c[f>>2]|0)>>>0){e=Tc(e,h)|0;if(e){c[a>>2]=e;c[f>>2]=h;break}Uc(c[a>>2]|0);c[a>>2]=0;c[f>>2]=0;Ub(d,1,11622,j)|0;o=0;i=p;return o|0}while(0);pb(e,65372,2);pb(e+2|0,g+2|0,2);c[l>>2]=g;if(!($d(c[m>>2]|0,c[k>>2]|0,0,e+4|0,l,d)|0)){Ub(d,1,11661,n)|0;o=0;i=p;return o|0}if(!(c[l>>2]|0)){o=(Nb(b,c[a>>2]|0,h,d)|0)==(h|0)&1;i=p;return o|0}else{Ub(d,1,11661,o)|0;o=0;i=p;return o|0}return 0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+16|0;u=w;r=w+4|0;o=a+80|0;e=c[(c[o>>2]|0)+16>>2]|0;if(e>>>0<=1){v=1;i=w;return v|0}s=a+164|0;t=a+200|0;q=a+48|0;n=a+44|0;m=1;while(1){h=c[s>>2]|0;k=c[t>>2]|0;g=c[h+(k*5640|0)+5584>>2]|0;j=c[g+(m*1080|0)>>2]|0;a:do if((((((c[g>>2]|0)==(j|0)?(p=c[g+4>>2]|0,(p|0)==(c[g+(m*1080|0)+4>>2]|0)):0)?(c[g+8>>2]|0)==(c[g+(m*1080|0)+8>>2]|0):0)?(c[g+12>>2]|0)==(c[g+(m*1080|0)+12>>2]|0):0)?(c[g+16>>2]|0)==(c[g+(m*1080|0)+16>>2]|0):0)?(c[g+20>>2]|0)==(c[g+(m*1080|0)+20>>2]|0):0){if(p){a=0;do{if((c[g+812+(a<<2)>>2]|0)!=(c[g+(m*1080|0)+812+(a<<2)>>2]|0)){v=13;break a}if((c[g+944+(a<<2)>>2]|0)!=(c[g+(m*1080|0)+944+(a<<2)>>2]|0)){v=13;break a}a=a+1|0}while(a>>>0

>>0)}}else v=13;while(0);if((v|0)==13){v=0;if(!(j&1))a=5;else a=(c[g+(m*1080|0)+4>>2]|0)+5|0;l=a+(e>>>0<257?6:7)|0;f=c[n>>2]|0;if(l>>>0>(c[q>>2]|0)>>>0){a=Tc(f,l)|0;if(!a){v=17;break}c[n>>2]=a;c[q>>2]=l;k=c[t>>2]|0;h=c[s>>2]|0;g=c[h+(k*5640|0)+5584>>2]|0;e=c[(c[o>>2]|0)+16>>2]|0;j=c[g+(m*1080|0)>>2]|0;f=a}e=e>>>0<257?1:2;if(!(j&1))a=5;else a=(c[g+(m*1080|0)+4>>2]|0)+5|0;pb(f,65363,2);pb(f+2|0,e+3+a|0,2);pb(f+4|0,m,e);j=e|4;pb(f+j|0,c[(c[h+(k*5640|0)+5584>>2]|0)+(m*1080|0)>>2]|0,1);c[r>>2]=a;ae(c[s>>2]|0,c[t>>2]|0,f+(j+1)|0,r,d)|0;if((Nb(b,c[n>>2]|0,l,d)|0)!=(l|0)){a=0;v=24;break}e=c[(c[o>>2]|0)+16>>2]|0}m=m+1|0;if(m>>>0>=e>>>0){a=1;v=24;break}}if((v|0)==17){Uc(c[n>>2]|0);c[n>>2]=0;c[q>>2]=0;Ub(d,1,11548,u)|0;v=0;i=w;return v|0}else if((v|0)==24){i=w;return a|0}return 0}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+16|0;r=t;o=t+4|0;m=a+80|0;e=c[(c[m>>2]|0)+16>>2]|0;if(e>>>0<=1){s=1;i=t;return s|0}p=a+164|0;q=a+200|0;n=a+48|0;l=a+44|0;k=1;while(1){j=c[(c[p>>2]|0)+((c[q>>2]|0)*5640|0)+5584>>2]|0;g=c[j+24>>2]|0;h=c[j+(k*1080|0)+24>>2]|0;a:do if((g|0)==(h|0)?(c[j+804>>2]|0)==(c[j+(k*1080|0)+804>>2]|0):0){if((g|0)!=1){f=(c[j+4>>2]|0)*3|0;a=f+-2|0;if((f|0)!=((c[j+(k*1080|0)+4>>2]|0)*3|0)){s=14;break}if(!a)break}else a=1;f=0;do{if((c[j+28+(f<<3)>>2]|0)!=(c[j+(k*1080|0)+28+(f<<3)>>2]|0)){s=14;break a}f=f+1|0}while(f>>>0>>0);if(g){f=0;do{if((c[j+28+(f<<3)+4>>2]|0)!=(c[j+(k*1080|0)+28+(f<<3)+4>>2]|0)){s=14;break a}f=f+1|0}while(f>>>0>>0)}}else s=14;while(0);if((s|0)==14){s=0;if((h|0)==1)a=1;else a=((c[j+(k*1080|0)+4>>2]|0)*3|0)+-2|0;g=((h|0)==0?a+1|0:a<<1|1)+5+(e>>>0>256&1)|0;a=c[l>>2]|0;if(g>>>0>(c[n>>2]|0)>>>0){a=Tc(a,g)|0;if(!a){s=18;break}c[l>>2]=a;c[n>>2]=g;e=c[(c[p>>2]|0)+((c[q>>2]|0)*5640|0)+5584>>2]|0;f=c[e+(k*1080|0)+24>>2]|0}else{f=h;e=j}if((f|0)==1)e=1;else e=((c[e+(k*1080|0)+4>>2]|0)*3|0)+-2|0;f=(f|0)==0?e+1|0:e<<1|1;c[o>>2]=f+6;pb(a,65373,2);e=a+2|0;if((c[(c[m>>2]|0)+16>>2]|0)>>>0<257){pb(e,f+3|0,2);pb(a+4|0,k,1);a=a+5|0}else{pb(e,f+4|0,2);pb(a+4|0,k,2);a=a+6|0}c[o>>2]=f;$d(c[p>>2]|0,c[q>>2]|0,k,a,o,d)|0;if((Nb(b,c[l>>2]|0,g,d)|0)!=(g|0)){a=0;s=28;break}e=c[(c[m>>2]|0)+16>>2]|0}k=k+1|0;if(k>>>0>=e>>>0){a=1;s=28;break}}if((s|0)==18){Uc(c[l>>2]|0);c[l>>2]=0;c[n>>2]=0;Ub(d,1,11476,r)|0;s=0;i=t;return s|0}else if((s|0)==28){i=t;return a|0}return 0}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l;h=(c[a+32>>2]|0)*5|0;j=h+6|0;f=a+48|0;k=a+44|0;e=c[k>>2]|0;do if(j>>>0>(c[f>>2]|0)>>>0){e=Tc(e,j)|0;if(e){c[k>>2]=e;c[f>>2]=j;break}Uc(c[k>>2]|0);c[k>>2]=0;c[f>>2]=0;Ub(d,1,11437,g)|0;b=0;i=l;return b|0}while(0);g=Pb(b)|0;a=a+16|0;c[a>>2]=g;c[a+4>>2]=C;pb(e,65365,2);pb(e+2|0,h+4|0,2);pb(e+4|0,0,1);pb(e+5|0,80,1);b=(Nb(b,c[k>>2]|0,j,d)|0)==(j|0)&1;i=l;return b|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;j=q;p=q+4|0;c[p>>2]=0;m=a+200|0;e=c[m>>2]|0;l=a+164|0;f=c[l>>2]|0;k=a+80|0;h=c[(c[k>>2]|0)+16>>2]|0;o=(_(h>>>0<257?7:9,(c[f+(e*5640|0)+420>>2]|0)+1|0)|0)+4|0;g=a+48|0;n=a+44|0;a=c[n>>2]|0;do if(o>>>0>(c[g>>2]|0)>>>0){e=Tc(a,o)|0;if(e){c[n>>2]=e;c[g>>2]=o;g=e;a=c[(c[k>>2]|0)+16>>2]|0;f=c[l>>2]|0;e=c[m>>2]|0;break}Uc(c[n>>2]|0);c[n>>2]=0;c[g>>2]=0;Ub(d,1,11398,j)|0;b=0;i=q;return b|0}else{g=a;a=h}while(0);_d(a,f,e,g,p);b=(Nb(b,c[n>>2]|0,o,d)|0)==(o|0)&1;i=q;return b|0}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+164|0;j=a+80|0;f=c[j>>2]|0;e=c[f+16>>2]|0;if(!e){b=1;return b|0}h=a+44|0;a=0;g=c[(c[i>>2]|0)+5584>>2]|0;while(1){if(c[g+808>>2]|0){k=c[(c[i>>2]|0)+5584>>2]|0;m=e>>>0<257?1:2;f=m+6|0;l=c[h>>2]|0;pb(l,65374,2);e=m|4;pb(l+2|0,e,2);pb(l+4|0,a,m);pb(l+e|0,0,1);pb(l+(e+1)|0,c[k+(a*1080|0)+808>>2]|0,1);if((Nb(b,c[h>>2]|0,f,d)|0)!=(f|0)){a=0;e=7;break}f=c[j>>2]|0}a=a+1|0;e=c[f+16>>2]|0;if(a>>>0>=e>>>0){a=1;e=7;break}else g=g+1080|0}if((e|0)==7)return a|0;return 0}function Td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l;h=c[a+108>>2]|0;j=wi(h)|0;k=j+6|0;e=a+48|0;f=a+44|0;a=c[f>>2]|0;do if(k>>>0>(c[e>>2]|0)>>>0){a=Tc(a,k)|0;if(a){c[f>>2]=a;c[e>>2]=k;break}Uc(c[f>>2]|0);c[f>>2]=0;c[e>>2]=0;Ub(d,1,11355,g)|0;b=0;i=l;return b|0}while(0);pb(a,65380,2);pb(a+2|0,j+4|0,2);pb(a+4|0,1,2);Ui(a+6|0,h|0,j|0)|0;b=(Nb(b,c[f>>2]|0,k,d)|0)==(k|0)&1;i=l;return b|0}function Ud(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+32|0;w=A+24|0;t=A+16|0;o=A+8|0;g=A;j=c[b+80>>2]|0;k=j+16|0;h=c[k>>2]|0;l=h+6|0;v=b+48|0;z=b+44|0;f=c[z>>2]|0;do if(l>>>0>(c[v>>2]|0)>>>0){f=Tc(f,l)|0;if(f){c[z>>2]=f;c[v>>2]=l;break}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11199,g)|0;d=0;i=A;return d|0}while(0);pb(f,65400,2);pb(f+2|0,h+4|0,2);pb(f+4|0,c[k>>2]|0,2);if(c[k>>2]|0){h=0;g=c[j+24>>2]|0;f=f+6|0;while(1){pb(f,(c[g+24>>2]|0)+-1|c[g+32>>2]<<7,1);h=h+1|0;if(h>>>0>=(c[k>>2]|0)>>>0)break;else{g=g+52|0;f=f+1|0}}}if((Nb(d,c[z>>2]|0,l,e)|0)!=(l|0)){d=0;i=A;return d|0}q=b+200|0;n=c[q>>2]|0;r=b+164|0;m=c[r>>2]|0;g=m+(n*5640|0)+5616|0;a:do if(c[g>>2]|0){l=0;b=c[m+(n*5640|0)+5612>>2]|0;while(1){h=b+16|0;j=c[h>>2]|0;k=j+10|0;f=c[z>>2]|0;if(k>>>0>(c[v>>2]|0)>>>0){f=Tc(f,k)|0;if(!f)break;c[z>>2]=f;c[v>>2]=k}pb(f,65396,2);pb(f+2|0,j+8|0,2);pb(f+4|0,0,2);pb(f+6|0,c[b+4>>2]<<8|c[b+8>>2]&255|c[b>>2]<<10,2);pb(f+8|0,0,2);Ui(f+10|0,c[b+12>>2]|0,c[h>>2]|0)|0;if((Nb(d,c[z>>2]|0,k,e)|0)!=(k|0)){s=0;x=42;break}l=l+1|0;if(l>>>0>=(c[g>>2]|0)>>>0)break a;else b=b+20|0}if((x|0)==42){i=A;return s|0}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11238,o)|0;d=0;i=A;return d|0}while(0);o=m+(n*5640|0)+5628|0;b:do if(c[o>>2]|0){p=0;m=c[m+(n*5640|0)+5624>>2]|0;while(1){l=m+4|0;g=c[l>>2]|0;j=g>>>0>255;k=j?2:1;j=j?32768:0;g=_(k,g<<1)|0;b=g+19|0;f=c[z>>2]|0;if(b>>>0>(c[v>>2]|0)>>>0){f=Tc(f,b)|0;if(!f)break;c[z>>2]=f;c[v>>2]=b}pb(f,65397,2);pb(f+2|0,g+17|0,2);pb(f+4|0,0,2);pb(f+6|0,c[m>>2]|0,1);pb(f+7|0,0,2);pb(f+9|0,1,2);pb(f+11|0,1,1);pb(f+12|0,c[l>>2]|j,2);f=f+14|0;if(!(c[l>>2]|0))g=0;else{h=0;do{pb(f,h,k);f=f+k|0;h=h+1|0;g=c[l>>2]|0}while(h>>>0>>0)}pb(f,g|j,2);f=f+2|0;if(!(c[l>>2]|0))h=f;else{g=0;do{pb(f,g,k);f=f+k|0;g=g+1|0}while(g>>>0<(c[l>>2]|0)>>>0);h=f}f=((a[m+16>>0]^1)&255)<<16&65536;g=c[m+8>>2]|0;if(g)f=c[g+8>>2]|f;g=c[m+12>>2]|0;if(g)f=c[g+8>>2]<<8|f;pb(h,f,3);if((Nb(d,c[z>>2]|0,b,e)|0)!=(b|0)){s=0;x=42;break}p=p+1|0;if(p>>>0>=(c[o>>2]|0)>>>0)break b;else m=m+20|0}if((x|0)==42){i=A;return s|0}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11277,t)|0;d=0;i=A;return d|0}while(0);k=c[q>>2]|0;j=c[r>>2]|0;l=j+(k*5640|0)+5628|0;g=c[l>>2]|0;b=g+5|0;f=c[z>>2]|0;do if(b>>>0>(c[v>>2]|0)>>>0){f=Tc(f,b)|0;if(!f){Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11316,w)|0;u=1;break}else{c[z>>2]=f;c[v>>2]=b;y=f;x=37;break}}else{y=f;x=37}while(0);if((x|0)==37){pb(y,65399,2);pb(y+2|0,g+3|0,2);pb(y+4|0,c[l>>2]|0,1);if(c[l>>2]|0){h=0;g=y+5|0;f=c[j+(k*5640|0)+5624>>2]|0;while(1){pb(g,c[f>>2]|0,1);h=h+1|0;if(h>>>0>=(c[l>>2]|0)>>>0)break;else{g=g+1|0;f=f+20|0}}}u=(Nb(d,c[z>>2]|0,b,e)|0)!=(b|0)}d=u&1^1;i=A;return d|0}function Vd(a,b,d){a=a|0;b=b|0;d=d|0;d=Pb(b)|0;b=(c[a+196>>2]|0)+8|0;c[b>>2]=d;c[b+4>>2]=C;return 1}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;b=Tf(0)|0;e=a+204|0;c[e>>2]=b;if(!b){Ub(d,1,11159,f)|0;d=0;i=f;return d|0}if(Xf(b,c[a+80>>2]|0,a+88|0)|0){d=1;i=f;return d|0}Yf(c[e>>2]|0);c[e>>2]=0;d=0;i=f;return d|0}function Xd(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;O=d+80|0;E=c[O>>2]|0;P=d+164|0;i=c[P>>2]|0;N=E+24|0;F=c[N>>2]|0;f=c[F>>2]|0;h=c[F+4>>2]|0;M=E+16|0;F=_(c[F+24>>2]|0,c[M>>2]|0)|0;D=Pb(e)|0;q=d+116|0;l=c[q>>2]|0;r=d+112|0;e=c[r>>2]|0;G=(+(D>>>0)+4294967296.0*+(C|0))/+((_(e,l)|0)>>>0);D=(a[d+181>>0]&8)==0?1:2;if(l){s=d+92|0;u=d+100|0;v=d+96|0;y=d+104|0;z=E+4|0;A=E+8|0;B=E+12|0;x=+((_(f<<3,h)|0)>>>0);m=e;f=e;p=0;e=i;do{o=p;p=p+1|0;if(!f)f=0;else{m=0;do{w=+Sa[D&3](e);l=c[e+8>>2]|0;w=w/+(l>>>0);Q=c[s>>2]|0;i=c[u>>2]|0;k=(_(i,m)|0)+Q|0;f=c[E>>2]|0;f=(k|0)>(f|0)?k:f;k=c[v>>2]|0;j=c[y>>2]|0;R=(_(j,o)|0)+k|0;h=c[z>>2]|0;h=(R|0)>(h|0)?R:h;m=m+1|0;Q=(_(i,m)|0)+Q|0;i=c[A>>2]|0;i=(Q|0)<(i|0)?Q:i;k=(_(j,p)|0)+k|0;j=c[B>>2]|0;j=(k|0)<(j|0)?k:j;k=e+20|0;n=+g[k>>2];if(n!=0.0)g[k>>2]=+((_(_(i-f|0,F)|0,j-h|0)|0)>>>0)/(x*n)-w;if(l>>>0>1){n=+((_(_(i-f|0,F)|0,j-h|0)|0)>>>0);f=1;h=e+24|0;while(1){t=+g[h>>2];if(t!=0.0)g[h>>2]=n/(x*t)-w;f=f+1|0;if(f>>>0>=l>>>0)break;else h=h+4|0}}e=e+5640|0;f=c[r>>2]|0}while(m>>>0>>0);l=c[q>>2]|0;m=f}}while(p>>>0>>0);if(!l)l=0;else{s=(m|0)==0;t=G+2.0;v=m>>>0>1?m:1;u=0;f=c[P>>2]|0;do{if(!s){p=f+16|0;q=0;r=f;while(1){e=r+20|0;n=+g[e>>2];if(n!=0.0?(x=n-G,g[e>>2]=x,x<30.0):0)g[e>>2]=30.0;j=r+24|0;e=c[r+8>>2]|0;o=e+-1|0;n=+g[j>>2];h=n!=0.0;if(o>>>0>1){k=p+(e<<2)|0;i=1;e=j;do{if(h?(x=n-G,g[e>>2]=x,I=+g[e+-4>>2],x>2]=I+20.0;e=e+4|0;i=i+1|0;n=+g[e>>2];h=n!=0.0}while((i|0)!=(o|0));if(h){H=n;K=k;L=29}}else if(h){H=n;K=j;L=29}if((L|0)==29?(L=0,x=H-t,g[K>>2]=x,J=+g[K+-4>>2],x>2]=J+20.0;q=q+1|0;if(q>>>0>=m>>>0)break;else{p=p+5640|0;r=r+5640|0}}f=f+(v*5640|0)|0}u=u+1|0}while(u>>>0>>0)}}else{m=e;l=0}h=c[M>>2]|0;if(!h)u=0;else{i=(c[d+100>>2]|0)+-1|0;j=(c[d+104>>2]|0)+-1|0;k=0;e=c[N>>2]|0;f=0;while(1){R=c[e>>2]|0;Q=c[e+4>>2]|0;R=_(((j+Q|0)>>>0)/(Q>>>0)|0,((i+R|0)>>>0)/(R>>>0)|0)|0;f=(_(R,c[e+24>>2]|0)|0)+f|0;k=k+1|0;if(k>>>0>=h>>>0)break;else e=e+52|0}u=~~(+(f>>>0)*.1625)>>>0}o=c[(c[O>>2]|0)+16>>2]|0;q=o+-1|0;s=_(l,m)|0;p=(s|0)==0;if(p)i=0;else{e=0;f=0;h=c[P>>2]|0;while(1){R=c[h+5588>>2]|0;f=f>>>0>R>>>0?f:R;e=e+1|0;if((e|0)==(s|0))break;else h=h+5640|0}i=f*12|0}r=d+88|0;if(((b[r>>1]|0)+-3&65535)>=4){if(p){e=0;f=0}else{m=(o|0)==0;k=0;f=0;do{if(!m){h=c[(c[P>>2]|0)+(k*5640|0)+5584>>2]|0;j=0;do{if(!(c[h+(j*1080|0)>>2]&1))e=5;else e=(c[h+(j*1080|0)+4>>2]|0)+5|0;f=f>>>0>e>>>0?f:e;j=j+1|0}while((j|0)!=(o|0))}k=k+1|0}while((k|0)!=(s|0));l=0;e=0;do{if(!m){j=c[(c[P>>2]|0)+(l*5640|0)+5584>>2]|0;k=0;do{if(!(c[j+(k*1080|0)>>2]&1))h=5;else h=(c[j+(k*1080|0)+4>>2]|0)+5|0;e=e>>>0>h>>>0?e:h;k=k+1|0}while((k|0)!=(o|0))}l=l+1|0}while((l|0)!=(s|0))}i=(_(f+12+e|0,q)|0)+i|0}if(p)f=13;else{h=0;f=0;e=c[P>>2]|0;while(1){R=c[e+420>>2]|0;f=f>>>0>R>>>0?f:R;h=h+1|0;if((h|0)==(s|0))break;else e=e+5640|0}f=(f*9|0)+13|0}R=i+u+f|0;c[d+40>>2]=R;R=Pc(R)|0;c[d+36>>2]=R;if(!R){R=0;return R|0}if(((b[r>>1]|0)+-3&65535)>=4){R=1;return R|0}f=Pc((c[d+32>>2]|0)*5|0)|0;c[d+24>>2]=f;if(!f){R=0;return R|0}c[d+28>>2]=f;R=1;return R|0}function Yd(a){a=a|0;return 0.0}function Zd(a){a=a|0;return +(+((((c[a+5588>>2]|0)*14|0)+-14|0)>>>0))}function _d(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=c[b+(d*5640|0)+5584>>2]|0;q=(c[b+(d*5640|0)+420>>2]|0)+1|0;j=a>>>0<257?1:2;p=_(q,(j<<1)+5|0)|0;r=p+4|0;pb(e,65375,2);pb(e+2|0,p+2|0,2);if(!q){c[f>>2]=r;return}k=j+1|0;l=j+3|0;m=j|4;n=m+j|0;o=n+1|0;p=b+(d*5640|0)+8|0;h=g+4|0;i=0;e=e+4|0;g=b+(d*5640|0)+424|0;while(1){pb(e,c[g>>2]|0,1);pb(e+1|0,c[g+4>>2]|0,j);t=g+8|0;pb(e+k|0,c[t>>2]|0,2);b=g+12|0;pb(e+l|0,c[b>>2]|0,1);d=g+16|0;pb(e+m|0,c[d>>2]|0,j);pb(e+n|0,c[g+36>>2]|0,1);u=c[t>>2]|0;s=c[p>>2]|0;c[t>>2]=(u|0)<(s|0)?u:s;t=c[b>>2]|0;s=c[h>>2]|0;c[b>>2]=(t|0)<(s|0)?t:s;b=c[d>>2]|0;c[d>>2]=(b|0)<(a|0)?b:a;i=i+1|0;if((i|0)==(q|0))break;else{e=e+o|0;g=g+148|0}}c[f>>2]=r;return}function $d(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,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+8|0;j=n;l=c[a+(b*5640|0)+5584>>2]|0;b=c[l+(d*1080|0)+24>>2]|0;do if((b|0)!=1){a=(c[l+(d*1080|0)+4>>2]|0)*3|0;h=a+-2|0;if(!b){a=a+-1|0;if((c[f>>2]|0)>>>0>>0){Ub(g,1,11515,j)|0;f=0;i=n;return f|0}else{pb(e,c[l+(d*1080|0)+804>>2]<<5,1);if(!h)break;else b=0;do{e=e+1|0;pb(e,c[l+(d*1080|0)+28+(b<<3)>>2]<<3,1);b=b+1|0}while((b|0)!=(h|0))}}else m=7}else{h=1;b=1;m=7}while(0);if((m|0)==7){a=h<<1|1;if((c[f>>2]|0)>>>0>>0){Ub(g,1,11515,k)|0;f=0;i=n;return f|0}pb(e,(c[l+(d*1080|0)+804>>2]<<5)+b|0,1);if(h){e=e+1|0;b=0;while(1){pb(e,(c[l+(d*1080|0)+28+(b<<3)>>2]<<11)+(c[l+(d*1080|0)+28+(b<<3)+4>>2]|0)|0,2);b=b+1|0;if((b|0)==(h|0))break;else e=e+2|0}}}c[f>>2]=(c[f>>2]|0)-a;f=1;i=n;return f|0}function ae(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=c[a+(b*5640|0)+5584>>2]|0;if((c[e>>2]|0)>>>0<5){Ub(f,1,11587,j)|0;e=0;i=j;return e|0}h=g+4|0;pb(d,(c[h>>2]|0)+-1|0,1);pb(d+1|0,(c[g+8>>2]|0)+-2|0,1);pb(d+2|0,(c[g+12>>2]|0)+-2|0,1);pb(d+3|0,c[g+16>>2]|0,1);pb(d+4|0,c[g+20>>2]|0,1);b=(c[e>>2]|0)+-5|0;c[e>>2]=b;if(!(c[g>>2]&1)){e=1;i=j;return e|0}a=c[h>>2]|0;if(b>>>0>>0){Ub(f,1,11587,j+8|0)|0;e=0;i=j;return e|0}if(!a)a=0;else{b=d+5|0;d=0;while(1){pb(b,(c[g+944+(d<<2)>>2]<<4)+(c[g+812+(d<<2)>>2]|0)|0,1);d=d+1|0;a=c[h>>2]|0;if(d>>>0>=a>>>0)break;else b=b+1|0}b=c[e>>2]|0}c[e>>2]=b-a;e=1;i=j;return e|0}function be(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=c[b+76>>2]|0;g=c[i+(f*5640|0)+4>>2]|0;h=696;while(1){m=c[h>>2]|0;if((m|0)==-1|(m|0)==(g|0))break;else h=h+12|0}if(!(a[b+93>>0]&8)){b=1;return b|0}m=d[b+92>>0]|0;j=i+(f*5640|0)+424+(e*148|0)+92|0;k=i+(f*5640|0)+424+(e*148|0)+88|0;l=i+(f*5640|0)+424+(e*148|0)+96|0;e=i+(f*5640|0)+424+(e*148|0)+84|0;i=a[h+4>>0]|0;switch(i|0){case 67:{g=c[j>>2]|0;break}case 82:{g=c[k>>2]|0;break}case 80:{g=c[l>>2]|0;break}case 76:{g=c[e>>2]|0;break}default:g=1}if((m|0)!=(i|0)){i=a[h+5>>0]|0;switch(i|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)!=(i|0)){i=a[h+6>>0]|0;switch(i|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)!=(i|0)){h=a[h+7>>0]|0;switch(h|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)==(h|0))h=3;else{b=g;return b|0}}else h=2}else h=1}else h=0;c[b+84>>2]=h;b=g;return b|0}function ce(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=g+16|0;if(!(c[B>>2]|0)){B=1;return B|0}A=0;z=c[g+24>>2]|0;while(1){k=i+44|0;j=c[k>>2]|0;l=i+8|0;if(!j){g=i+12|0;j=Qc(_(c[g>>2]|0,c[l>>2]|0)|0,4)|0;c[k>>2]=j;if(!j){h=0;i=61;break}}else g=i+12|0;q=z+36|0;c[i+36>>2]=c[q>>2];x=c[z+24>>2]|0;t=c[f+24>>2]|0;q=c[q>>2]|0;x=((x&7|0)!=0&1)+(x>>>3)|0;x=(x|0)==3?4:x;n=c[t+(q*136|0)+8>>2]|0;m=c[t+(q*136|0)>>2]|0;v=n-m|0;s=c[t+(q*136|0)+12>>2]|0;q=c[t+(q*136|0)+4>>2]|0;t=s-q|0;k=c[i+16>>2]|0;p=c[i+40>>2]|0;o=Ri(1,0,p|0)|0;w=C;k=Si(k|0,0,-1,-1)|0;k=Si(k|0,C|0,o|0,w|0)|0;k=Ti(k|0,C|0,p|0)|0;r=Si(c[i+20>>2]|0,0,-1,-1)|0;w=Si(r|0,C|0,o|0,w|0)|0;p=Ti(w|0,C|0,p|0)|0;w=c[l>>2]|0;l=k+w|0;o=c[g>>2]|0;r=p+o|0;do if(k>>>0>>0){g=m-k|0;if(n>>>0>l>>>0){y=l-m|0;u=0;m=v-y|0;n=g}else{u=0;m=0;n=g;y=v}}else{g=k-m|0;if(n>>>0>l>>>0){u=g;m=n-l|0;n=0;y=w;break}else{u=g;m=0;n=0;y=v-g|0;break}}while(0);do if(p>>>0>>0){l=q-p|0;if(s>>>0>r>>>0){k=r-q|0;o=k;g=0;k=t-k|0}else{o=t;g=0;k=0}}else{g=p-q|0;if(s>>>0>r>>>0){k=s-r|0;l=0;break}else{o=t-g|0;k=0;l=0;break}}while(0);if((u|m|y|k|g|o|0)<0){h=0;i=61;break}g=(_(g,v)|0)+u|0;q=u+m|0;r=(_(k,v)|0)-u|0;p=w-y|0;j=j+((_(w,l)|0)+n<<2)|0;switch(x|0){case 1:{h=h+g|0;g=(o|0)==0;if(!(c[z+32>>2]|0)){if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=d[j>>0];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+1|0}}g=l;h=h+y|0}h=h+q|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}}else if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=a[j>>0];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+1|0}}g=l;h=h+y|0}h=h+q|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+r|0;break}case 2:{h=h+(g<<1)|0;g=(o|0)==0;if(!(c[z+32>>2]|0)){if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=e[j>>1];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+2|0}}g=l;h=h+(y<<1)|0}h=h+(q<<1)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}}else if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=b[j>>1];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+2|0}}g=l;h=h+(y<<1)|0}h=h+(q<<1)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+(r<<1)|0;break}case 4:{h=h+(g<<2)|0;if(o){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=c[j>>2];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+4|0}}g=l;h=h+(y<<2)|0}h=h+(q<<2)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+(r<<2)|0;break}default:{}}A=A+1|0;if(A>>>0>=(c[B>>2]|0)>>>0){h=1;i=61;break}else{i=i+52|0;z=z+52|0;f=f+52|0}}if((i|0)==61)return h|0;return 0}function de(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;x=z+88|0;u=z+80|0;v=z+72|0;t=z+64|0;q=z+56|0;p=z+48|0;m=z+40|0;k=z+32|0;j=z+24|0;h=z+16|0;r=z+100|0;s=z+96|0;w=z+92|0;c[s>>2]=0;y=b+200|0;if((f|0)!=8){Ub(g,1,8662,z)|0;Ub(g,1,8662,z+8|0)|0;g=0;i=z;return g|0}qb(e,y,2);qb(e+2|0,r,4);qb(e+6|0,w,1);qb(e+7|0,s,1);l=c[y>>2]|0;e=c[b+112>>2]|0;if(l>>>0>=(_(c[b+116>>2]|0,e)|0)>>>0){c[h>>2]=l;Ub(g,1,15258,h)|0;g=0;i=z;return g|0}f=c[b+164>>2]|0;o=(l>>>0)%(e>>>0)|0;n=(l>>>0)/(e>>>0)|0;e=c[r>>2]|0;do if((e+-1|0)>>>0<13){if((e|0)==12){c[j>>2]=12;Ub(g,2,15282,j)|0;e=c[r>>2]|0;break}c[k>>2]=e;Ub(g,1,15319,k)|0;g=0;i=z;return g|0}while(0);if(!e){Ub(g,4,15380,m)|0;c[b+72>>2]=1}e=c[s>>2]|0;do if(!e)e=c[f+(l*5640|0)+5588>>2]|0;else{e=((d[b+76>>0]|0)>>>4&1)+e|0;c[s>>2]=e;h=f+(l*5640|0)+5588|0;j=c[h>>2]|0;f=c[w>>2]|0;if((j+-1|0)>>>0>>0){c[p>>2]=f;c[p+4>>2]=j;Ub(g,1,15491,p)|0;c[b+72>>2]=1;g=0;i=z;return g|0}if(f>>>0>>0){c[h>>2]=e;break}c[q>>2]=f;c[q+4>>2]=e;Ub(g,1,15590,q)|0;c[b+72>>2]=1;g=0;i=z;return g|0}while(0);if((e|0)!=0?(e|0)==((c[w>>2]|0)+1|0):0){q=b+76|0;a[q>>0]=a[q>>0]|1}c[b+24>>2]=(c[b+72>>2]|0)==0?(c[r>>2]|0)+-12|0:0;c[b+8>>2]=16;e=c[b+60>>2]|0;if((e|0)==-1){if((o>>>0>=(c[b+28>>2]|0)>>>0?o>>>0<(c[b+36>>2]|0)>>>0:0)?n>>>0>=(c[b+32>>2]|0)>>>0:0)e=(n>>>0>=(c[b+40>>2]|0)>>>0&1)<<2&255;else e=4;r=b+76|0;a[r>>0]=a[r>>0]&-5|e}else{r=b+76|0;a[r>>0]=((c[y>>2]|0)!=(e|0)&1)<<2&255|a[r>>0]&-5}k=b+196|0;e=c[k>>2]|0;if(!e){g=1;i=z;return g|0}j=c[y>>2]|0;e=c[e+40>>2]|0;c[e+(j*40|0)>>2]=j;c[e+(j*40|0)+12>>2]=c[w>>2];f=c[s>>2]|0;if(f){c[e+(j*40|0)+4>>2]=f;c[e+(j*40|0)+8>>2]=c[s>>2];e=c[e+(j*40|0)+16>>2]|0;if(!e){x=Qc(c[s>>2]|0,24)|0;c[(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16>>2]=x;if(x){g=1;i=z;return g|0}Ub(g,1,15698,t)|0;g=0;i=z;return g|0}e=Tc(e,(c[s>>2]|0)*24|0)|0;f=(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16|0;if(!e){Uc(c[f>>2]|0);c[(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16>>2]=0;Ub(g,1,15698,v)|0;g=0;i=z;return g|0}else{c[f>>2]=e;g=1;i=z;return g|0}}if(!(c[e+(j*40|0)+16>>2]|0)){c[e+(j*40|0)+8>>2]=10;v=Qc(10,24)|0;f=c[y>>2]|0;e=c[(c[k>>2]|0)+40>>2]|0;c[e+(f*40|0)+16>>2]=v;if(!v){c[e+(f*40|0)+8>>2]=0;Ub(g,1,15698,u)|0;g=0;i=z;return g|0}else j=f}f=c[w>>2]|0;h=e+(j*40|0)+8|0;if(f>>>0<(c[h>>2]|0)>>>0){g=1;i=z;return g|0}f=f+1|0;c[h>>2]=f;e=Tc(c[e+(j*40|0)+16>>2]|0,f*24|0)|0;f=(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16|0;if(!e){Uc(c[f>>2]|0);y=c[y>>2]|0;w=c[(c[k>>2]|0)+40>>2]|0;c[w+(y*40|0)+16>>2]=0;c[w+(y*40|0)+8>>2]=0;Ub(g,1,15698,x)|0;g=0;i=z;return g|0}else{c[f>>2]=e;g=1;i=z;return g|0}return 0}function ee(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;p=s+48|0;q=s+40|0;k=s+32|0;n=s+56|0;j=s+52|0;c[n>>2]=e;r=b+80|0;l=c[r>>2]|0;o=b+8|0;if((c[o>>2]|0)==16)m=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else m=c[b+12>>2]|0;g=m+5636|0;h=a[g>>0]|0;if(h&1){Ub(f,1,15025,s)|0;r=0;i=s;return r|0}a[g>>0]=h|1;if(e>>>0<5){Ub(f,1,15089,s+8|0)|0;r=0;i=s;return r|0}qb(d,m,1);if((c[m>>2]|0)>>>0>7){Ub(f,1,15115,s+16|0)|0;r=0;i=s;return r|0}qb(d+1|0,j,1);j=c[j>>2]|0;g=m+4|0;c[g>>2]=j;if((j|0)>4){Ub(f,1,15149,s+24|0)|0;c[g>>2]=-1}g=m+8|0;qb(d+2|0,g,2);g=c[g>>2]|0;if((g+-1|0)>>>0>65534){c[k>>2]=g;Ub(f,1,15190,k)|0;r=0;i=s;return r|0}k=c[b+172>>2]|0;c[m+12>>2]=(k|0)==0?g:k;qb(d+4|0,m+16|0,1);k=d+5|0;c[n>>2]=e+-5;j=c[l+16>>2]|0;if(j){d=c[m>>2]&1;g=c[m+5584>>2]|0;h=0;do{c[g+(h*1080|0)>>2]=d;h=h+1|0}while(h>>>0>>0)}if(!(Fe(b,0,k,n,f)|0)){Ub(f,1,15089,q)|0;r=0;i=s;return r|0}if(c[n>>2]|0){Ub(f,1,15089,p)|0;r=0;i=s;return r|0}if((c[o>>2]|0)==16)g=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else g=c[b+12>>2]|0;g=c[g+5584>>2]|0;e=g+4|0;h=c[e>>2]|0;m=h<<2;if((c[(c[r>>2]|0)+16>>2]|0)>>>0<=1){r=1;i=s;return r|0}n=g+8|0;o=g+12|0;b=g+16|0;f=g+20|0;p=g+812|0;q=g+944|0;c[g+1084>>2]=h;j=c[n>>2]|0;c[g+1088>>2]=j;d=c[o>>2]|0;c[g+1092>>2]=d;k=c[b>>2]|0;c[g+1096>>2]=k;l=c[f>>2]|0;c[g+1100>>2]=l;Ui(g+1892|0,p|0,m|0)|0;Ui(g+2024|0,q|0,m|0)|0;if((c[(c[r>>2]|0)+16>>2]|0)>>>0<=2){r=1;i=s;return r|0}c[g+2164>>2]=h;c[g+2168>>2]=j;c[g+2172>>2]=d;c[g+2176>>2]=k;c[g+2180>>2]=l;Ui(g+2972|0,p|0,m|0)|0;Ui(g+3104|0,q|0,m|0)|0;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>3)h=3;else{r=1;i=s;return r|0}while(1){j=c[n>>2]|0;d=c[o>>2]|0;k=c[b>>2]|0;l=c[f>>2]|0;c[g+3244>>2]=c[e>>2];c[g+3248>>2]=j;c[g+3252>>2]=d;c[g+3256>>2]=k;c[g+3260>>2]=l;Ui(g+4052|0,p|0,m|0)|0;Ui(g+4184|0,q|0,m|0)|0;h=h+1|0;if(h>>>0>=(c[(c[r>>2]|0)+16>>2]|0)>>>0){g=1;break}else g=g+1080|0}i=s;return g|0}\nfunction lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+272|0;n=u;s=u+136|0;t=u+8|0;if(!a){t=0;i=u;return t|0}m=a+4|0;if((c[a>>2]|0)==(b|0)?(c[m>>2]|0)==(d|0):0)f=a+8|0;else{c[a>>2]=b;c[m>>2]=d;c[s>>2]=b;c[t>>2]=d;f=a+8|0;c[f>>2]=0;g=0;j=d;k=b;l=0;while(1){r=_(j,k)|0;k=(k+1|0)/2|0;h=l+1|0;c[s+(h<<2)>>2]=k;j=(j+1|0)/2|0;c[t+(h<<2)>>2]=j;g=g+r|0;if(r>>>0<=1)break;else l=h}c[f>>2]=g;if(!g){f=a+12|0;g=c[f>>2]|0;if(g){Uc(g);c[f>>2]=0}Uc(a);t=0;i=u;return t|0}h=g<<4;j=a+16|0;k=a+12|0;do if(h>>>0>(c[j>>2]|0)>>>0){g=Tc(c[k>>2]|0,h)|0;if(g){c[k>>2]=g;d=c[j>>2]|0;Qi(g+d|0,0,h-d|0)|0;c[j>>2]=h;d=c[m>>2]|0;b=c[a>>2]|0;break}Ub(e,1,20166,n)|0;f=c[k>>2]|0;if(f){Uc(f);c[k>>2]=0}Uc(a);t=0;i=u;return t|0}while(0);g=c[k>>2]|0;b=g+((_(d,b)|0)<<4)|0;if(l){r=0;d=b;do{p=c[t+(r<<2)>>2]|0;a:do if((p|0)>0){q=c[s+(r<<2)>>2]|0;if((q|0)<=0){h=p+-1|0;j=0;while(1){o=(j&1|0)!=0|(j|0)==(h|0);k=o?d:b+(q<<4)|0;d=o?d:b;j=j+1|0;if((j|0)>=(p|0)){b=k;break a}else b=k}}o=((q+2+((q|0)<2?~q:-3)|0)>>>1)+1|0;e=p+-1|0;n=0;while(1){m=q;k=d;while(1){c[g>>2]=k;h=g+16|0;j=m;m=m+-2|0;if((m|0)>-1){c[h>>2]=k;g=g+32|0}else g=h;if((j|0)<=2)break;else k=k+16|0}d=d+(o<<4)|0;m=(n&1|0)!=0|(n|0)==(e|0);h=m?d:b+(q<<4)|0;d=m?d:b;n=n+1|0;if((n|0)>=(p|0)){b=h;break}else b=h}}while(0);r=r+1|0}while((r|0)!=(l|0))}c[g>>2]=0}f=c[f>>2]|0;if(!f){t=a;i=u;return t|0}g=0;b=c[a+12>>2]|0;while(1){c[b+4>>2]=999;c[b+8>>2]=0;c[b+12>>2]=0;g=g+1|0;if((g|0)==(f|0))break;else b=b+16|0}i=u;return a|0}function mg(a){a=a|0;var b=0,d=0;if(!a)return;b=a+12|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}Uc(a);return}function ng(a,b,d){a=a|0;b=b|0;d=d|0;b=(c[a+12>>2]|0)+(b<<4)|0;if(!b)return;while(1){a=b+4|0;if((c[a>>2]|0)<=(d|0)){b=4;break}c[a>>2]=d;b=c[b>>2]|0;if(!b){b=4;break}}if((b|0)==4)return}function og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+128|0;j=k;d=(c[b+12>>2]|0)+(d<<4)|0;if(!(c[d>>2]|0)){f=0;g=j}else{f=d;b=j;while(1){g=b+4|0;c[b>>2]=d;d=c[f>>2]|0;if(!(c[d>>2]|0)){f=0;break}else{f=d;b=g}}}while(1){h=d+8|0;b=c[h>>2]|0;if((f|0)>(b|0)){c[h>>2]=f;b=f}a:do if((b|0)<(e|0)){f=d+4|0;while(1){if((b|0)>=(c[f>>2]|0))break;Bg(a,0,1);b=b+1|0;if((b|0)>=(e|0)){d=b;break a}}d=d+12|0;if(!(c[d>>2]|0)){Bg(a,1,1);c[d>>2]=1;d=b}else d=b}else d=b;while(0);c[h>>2]=d;if((g|0)==(j|0))break;h=g+-4|0;f=d;d=c[h>>2]|0;g=h}i=k;return}function pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+128|0;j=k;d=(c[b+12>>2]|0)+(d<<4)|0;if(!(c[d>>2]|0)){b=0;g=j}else{f=d;b=j;while(1){g=b+4|0;c[b>>2]=d;d=c[f>>2]|0;if(!(c[d>>2]|0)){b=0;break}else{f=d;b=g}}}while(1){h=d+8|0;f=c[h>>2]|0;if((b|0)>(f|0))c[h>>2]=b;else b=f;d=d+4|0;a:do if((b|0)<(e|0)){while(1){if((b|0)>=(c[d>>2]|0))break a;if(Cg(a,1)|0)break;b=b+1|0;if((b|0)>=(e|0))break a}c[d>>2]=b}while(0);c[h>>2]=b;if((g|0)==(j|0))break;h=g+-4|0;d=c[h>>2]|0;g=h}i=k;return (c[d>>2]|0)<(e|0)|0}function qg(){var a=0,b=0;a=Qc(1,12)|0;if(!a){a=0;return a|0}c[a+4>>2]=10;b=Qc(10,4)|0;c[a+8>>2]=b;if(b){b=a;return b|0}Uc(a);b=0;return b|0}function rg(a){a=a|0;var b=0;if(!a)return;b=c[a+8>>2]|0;if(b)Uc(b);Uc(a);return}function sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=a+4|0;f=c[g>>2]|0;e=c[a>>2]|0;do if((f|0)==(e|0)){f=f+10|0;c[g>>2]=f;e=a+8|0;f=Tc(c[e>>2]|0,f<<2)|0;if(f){c[e>>2]=f;e=c[a>>2]|0;break}Uc(c[e>>2]|0);c[g>>2]=0;c[a>>2]=0;Ub(d,1,20214,h)|0;a=0;i=j;return a|0}else f=c[a+8>>2]|0;while(0);c[f+(e<<2)>>2]=b;c[a>>2]=e+1;a=1;i=j;return a|0}function tg(a){a=a|0;return c[a>>2]|0}function ug(a){a=a|0;return c[a+8>>2]|0}function vg(a){a=a|0;c[a>>2]=0;return}function wg(){return Pc(20)|0}function xg(a){a=a|0;if(!a)return;Uc(a);return}function yg(a){a=a|0;return (c[a+8>>2]|0)-(c[a>>2]|0)|0}function zg(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=b+d;c[a+8>>2]=b;c[a+12>>2]=0;c[a+16>>2]=8;return}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=b+d;c[a+8>>2]=b;c[a+12>>2]=0;c[a+16>>2]=0;return}function Bg(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;if(!e)return;k=b+16|0;l=b+12|0;m=b+8|0;h=b+4|0;b=c[k>>2]|0;j=e+-1|0;do{i=d>>>j&1;if(!b){g=c[l>>2]|0;b=g<<8&65280;c[l>>2]=b;b=(b|0)==65280?7:8;c[k>>2]=b;f=c[m>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[m>>2]=f+1;a[f>>0]=g;b=c[k>>2]|0}}b=b+-1|0;c[k>>2]=b;c[l>>2]=i<>2];j=j+-1|0}while(j>>>0>>0);return}function Cg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!b){b=0;return b|0}j=a+16|0;k=a+12|0;l=a+8|0;h=a+4|0;e=c[j>>2]|0;f=c[k>>2]|0;i=b+-1|0;a=0;do{if(!e){g=f<<8&65280;c[k>>2]=g;e=(g|0)==65280?7:8;c[j>>2]=e;f=c[l>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[l>>2]=f+1;f=d[f>>0]|0|g;c[k>>2]=f}else f=g}e=e+-1|0;c[j>>2]=e;a=((f>>>e&1)<>>0>>0);return a|0}function Dg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=b+12|0;d=c[f>>2]|0;i=d<<8&65280;c[f>>2]=i;g=b+16|0;c[g>>2]=(i|0)==65280?7:8;i=b+8|0;e=c[i>>2]|0;h=b+4|0;if(e>>>0>=(c[h>>2]|0)>>>0){i=0;return i|0}c[i>>2]=e+1;a[e>>0]=d;if((c[g>>2]|0)!=7){i=1;return i|0}d=c[f>>2]|0;b=d<<8&65280;c[f>>2]=b;c[g>>2]=(b|0)==65280?7:8;b=c[i>>2]|0;if(b>>>0>=(c[h>>2]|0)>>>0){i=0;return i|0}c[i>>2]=b+1;a[b>>0]=d;i=1;return i|0}function Eg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=a+12|0;b=c[h>>2]|0;do if((b&255|0)==255){f=b<<8&65280;c[h>>2]=f;b=a+16|0;c[b>>2]=(f|0)==65280?7:8;g=a+8|0;e=c[g>>2]|0;if(e>>>0<(c[a+4>>2]|0)>>>0){c[g>>2]=e+1;c[h>>2]=d[e>>0]|0|f;break}else{a=0;return a|0}}else b=a+16|0;while(0);c[b>>2]=0;a=1;return a|0}function Fg(a){a=a|0;return Pg(a,1)|0}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;D=i;i=i+32|0;B=D+16|0;C=D;k=c[a+24>>2]|0;j=(c[k+8>>2]|0)-(c[k>>2]|0)|0;h=(c[k+12>>2]|0)-(c[k+4>>2]|0)|0;A=(c[a+8>>2]|0)-(c[a>>2]|0)|0;if((b|0)==1){C=1;i=D;return C|0}g=b+-1|0;f=(g|0)==0;if(f)b=0;else{d=k;e=g;b=0;do{z=d;d=d+136|0;y=(c[z+144>>2]|0)-(c[d>>2]|0)|0;b=b>>>0>>0?y:b;z=(c[z+148>>2]|0)-(c[z+140>>2]|0)|0;b=b>>>0>>0?z:b;e=e+-1|0}while((e|0)!=0);b=b<<2}z=Rc(b)|0;c[B>>2]=z;if(!z){C=0;i=D;return C|0}c[C>>2]=z;if(!f){s=a+32|0;t=B+8|0;u=C+8|0;v=B+4|0;w=B+12|0;x=C+4|0;y=C+12|0;do{q=c[s>>2]|0;n=k;k=k+136|0;c[t>>2]=j;c[u>>2]=h;o=c[n+144>>2]|0;p=c[k>>2]|0;e=j;j=o-p|0;b=c[n+148>>2]|0;n=n+140|0;r=c[n>>2]|0;d=h;h=b-r|0;c[v>>2]=j-e;c[w>>2]=(p|0)%2|0;r=(b|0)==(r|0);if(!r){m=j<<2;b=0;while(1){a=_(b,A)|0;l=q+(a<<2)|0;if(e){d=l;f=z+(c[w>>2]<<2)|0;while(1){e=e+-1|0;c[f>>2]=c[d>>2];if(!e)break;else{d=d+4|0;f=f+8|0}}}d=c[v>>2]|0;if(d){e=q+((c[t>>2]|0)+a<<2)|0;f=z+(1-(c[w>>2]|0)<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+4|0;f=f+8|0}}}Qg(B);Ui(l|0,z|0,m|0)|0;b=b+1|0;if((b|0)==(h|0))break;e=c[t>>2]|0}d=c[u>>2]|0;b=c[n>>2]|0}c[x>>2]=h-d;c[y>>2]=(b|0)%2|0;a:do if((o|0)!=(p|0)){b=0;while(1){if(d){e=q+(b<<2)|0;f=z+(c[y>>2]<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+(A<<2)|0;f=f+8|0}}}d=c[x>>2]|0;if(d){e=q+((_(c[u>>2]|0,A)|0)+b<<2)|0;f=z+(1-(c[y>>2]|0)<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+(A<<2)|0;f=f+8|0}}}Qg(C);if(!r){d=0;do{c[q+((_(d,A)|0)+b<<2)>>2]=c[z+(d<<2)>>2];d=d+1|0}while((d|0)!=(h|0))}b=b+1|0;if((b|0)==(j|0))break a;d=c[u>>2]|0}}while(0);g=g+-1|0}while((g|0)!=0)}Sc(z);C=1;i=D;return C|0}function Hg(a){a=a|0;if(!a){a=0;return a|0}a=(a+-1|0)>>>0<2?1:2;return a|0}function Ig(a,b){a=a|0;b=b|0;return +(+h[56+(b*80|0)+(a<<3)>>3])}function Jg(a){a=a|0;return Pg(a,2)|0}function Kg(a){a=a|0;return 0}function Lg(a,b){a=a|0;b=b|0;return +(+h[376+(b*80|0)+(a<<3)>>3])}function Mg(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+4|0;l=((c[k>>2]|0)*3|0)+-2|0;if(!l)return;m=a+20|0;n=a+24|0;o=0;do{if(!o){e=0;f=0}else{f=o+-1|0;e=((f>>>0)/3|0)+1|0;f=((f>>>0)%3|0)+1|0}if((f|0)==0|(c[m>>2]|0)==0)g=0;else g=(f+-1|0)>>>0<2?1:2;if(!(c[n>>2]|0))d=1.0;else d=+(1<>2]|0)+~e<<3)>>3];j=~~+M(+(d*8192.0));i=g+b|0;if((j|0)>1){e=j;f=0;while(1){e=e>>1;if((e|0)<=1)break;else f=f+1|0}g=j;e=0;do{g=g>>1;e=e+1|0}while((g|0)>1);f=f+-12|0}else{f=-13;e=0}g=11-e|0;c[a+28+(o<<3)+4>>2]=((g|0)<0?j>>0-g:j<>2]=i-f;o=o+1|0}while((o|0)!=(l|0));return}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=i;i=i+32|0;Q=T+16|0;R=T;m=c[a+24>>2]|0;n=c[m+8>>2]|0;o=c[m>>2]|0;k=c[m+12>>2]|0;l=c[m+4>>2]|0;P=a+8|0;h=c[P>>2]|0;j=c[a>>2]|0;O=h-j|0;g=b+-1|0;f=(g|0)==0;if(f)b=80;else{d=m;e=g;b=0;do{N=d;d=d+136|0;M=(c[N+144>>2]|0)-(c[d>>2]|0)|0;b=b>>>0>>0?M:b;N=(c[N+148>>2]|0)-(c[N+140>>2]|0)|0;b=b>>>0>>0?N:b;e=e+-1|0}while((e|0)!=0);b=(b<<4)+80|0}N=Rc(b)|0;c[Q>>2]=N;if(!N){S=0;i=T;return S|0}c[R>>2]=N;a:do if(!f){y=a+32|0;z=a+12|0;A=a+4|0;B=Q+8|0;C=R+8|0;D=Q+4|0;E=Q+12|0;F=R+4|0;G=R+12|0;H=O<<1;I=O<<2;J=O*3|0;L=j<<2;M=h<<2;K=L-M|0;L=M-L|0;M=h-j<<2;b=g;d=N;g=h;e=j;r=k-l|0;f=m;h=n-o|0;while(1){s=c[y>>2]|0;e=_((c[z>>2]|0)-(c[A>>2]|0)|0,g-e|0)|0;c[B>>2]=h;c[C>>2]=r;w=f+136|0;p=c[f+144>>2]|0;q=c[w>>2]|0;x=p-q|0;u=c[f+148>>2]|0;n=f+140|0;t=c[n>>2]|0;v=u-t|0;c[D>>2]=x-h;c[E>>2]=(q|0)%2|0;if((v|0)>3){g=(x|0)>0;h=(u+-4-t|0)>>>2;m=_(K,h)|0;h=s+(L+(_(M,h)|0)<<2)|0;j=s;k=e;l=v;while(1){Sg(Q,j,O,k);Tg(Q);if(g){f=x;do{o=f;f=f+-1|0;c[j+(f<<2)>>2]=c[N+(f<<4)>>2];c[j+(f+O<<2)>>2]=c[N+(f<<4)+4>>2];c[j+(f+H<<2)>>2]=c[N+(f<<4)+8>>2];c[j+(f+J<<2)>>2]=c[N+(f<<4)+12>>2]}while((o|0)>1)}l=l+-4|0;if((l|0)<=3)break;else{j=j+(I<<2)|0;k=k-I|0}}e=K+e+m|0}else h=s;g=v&3;b:do if(!g)S=21;else{Sg(Q,h,O,e);Tg(Q);if((x|0)>0)e=x;else{k=v-r|0;c[F>>2]=k;g=(c[n>>2]|0)%2|0;c[G>>2]=g;l=r;j=s;break}while(1){f=e;e=e+-1|0;switch(g|0){case 3:{c[h+(e+H<<2)>>2]=c[N+(e<<4)+8>>2];S=18;break}case 2:{S=18;break}case 1:{S=19;break}default:{}}if((S|0)==18){c[h+(e+O<<2)>>2]=c[N+(e<<4)+4>>2];S=19}if((S|0)==19){S=0;c[h+(e<<2)>>2]=c[N+(e<<4)>>2]}if((f|0)<=1){S=21;break b}}}while(0);if((S|0)==21){S=0;k=v-r|0;c[F>>2]=k;g=(c[n>>2]|0)%2|0;c[G>>2]=g;if((x|0)>3){o=(u|0)==(t|0);p=p+-4-q|0;n=c[C>>2]|0;l=(n|0)>0;j=1-g|0;m=(k|0)>0;f=s;h=x;while(1){if(l){e=0;do{r=d+((e<<1)+g<<4)|0;q=f+((_(e,O)|0)<<2)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(n|0))}if(m){e=0;do{r=d+(j+(e<<1)<<4)|0;q=f+((_(e+n|0,O)|0)<<2)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(k|0))}Tg(R);if(!o){d=c[R>>2]|0;e=0;do{r=f+((_(e,O)|0)<<2)|0;q=d+(e<<4)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(v|0))}h=h+-4|0;if((h|0)<=3)break;else f=f+16|0}l=n;j=s+((p+4&-4)<<2)|0}else{l=r;j=s}}h=x&3;if(h){d=c[R>>2]|0;if((l|0)>0){e=h<<2;f=0;do{Ui(d+((f<<1)+g<<4)|0,j+((_(f,O)|0)<<2)|0,e|0)|0;f=f+1|0}while((f|0)!=(l|0))}e=1-g|0;if((k|0)>0){f=h<<2;g=0;do{Ui(d+(e+(g<<1)<<4)|0,j+((_(g+l|0,O)|0)<<2)|0,f|0)|0;g=g+1|0}while((g|0)!=(k|0))}Tg(R);if((u|0)!=(t|0)){e=h<<2;f=0;do{Ui(j+((_(f,O)|0)<<2)|0,d+(f<<4)|0,e|0)|0;f=f+1|0}while((f|0)!=(v|0))}}b=b+-1|0;if(!b)break a;g=c[P>>2]|0;e=c[a>>2]|0;r=v;f=w;h=x}}while(0);Sc(N);S=1;i=T;return S|0}function Og(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;if(!e){e=(b|0)>0;if(!(e|(d|0)>1))return;if(e){e=a+((d<<1)+-2<<2)|0;f=0;do{j=f;f=f+1|0;k=a+((j<<1|1)<<2)|0;c[k>>2]=(c[k>>2]|0)-((c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((j|0)<(d|0)?a+(j<<1<<2)|0:e)>>2]|0)>>1)}while((f|0)!=(b|0))}if((d|0)<=0)return;f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;k=a+(h<<1<<2)|0;c[k>>2]=((c[e>>2]|0)+2+(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)>>2)+(c[k>>2]|0);h=h+1|0}while((h|0)!=(d|0));return}if((b|0)==1&(d|0)==0){c[a>>2]=c[a>>2]<<1;return}if((b|0)>0){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;i=a+(i<<2)|0;c[i>>2]=(c[i>>2]|0)-((c[e>>2]|0)+j>>1);k=k+1|0}while((k|0)!=(b|0))}if((d|0)<=0)return;e=a+((b<<1)+-2<<2)|0;f=0;do{j=f;f=f+1|0;k=a+((j<<1|1)<<2)|0;c[k>>2]=((c[((j|0)<(b|0)?a+(j<<1<<2)|0:e)>>2]|0)+2+(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)>>2)+(c[k>>2]|0)}while((f|0)!=(d|0));return}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=(c[a+8>>2]|0)-(c[a>>2]|0)|0;g=c[a+16>>2]|0;i=g+-1|0;x=c[a+32>>2]|0;h=c[a+24>>2]|0;f=(i|0)==0;if(f)a=0;else{d=h;e=i;a=0;do{v=d;d=d+136|0;u=(c[v+144>>2]|0)-(c[d>>2]|0)|0;a=a>>>0>>0?u:a;v=(c[v+148>>2]|0)-(c[v+140>>2]|0)|0;a=a>>>0>>0?v:a;e=e+-1|0}while((e|0)!=0);a=a<<2}v=Pc(a)|0;if(!((a|0)==0|(v|0)!=0)){b=0;return b|0}if(!f){t=g+-2|0;u=t;a=h+(i*136|0)|0;t=h+(t*136|0)|0;while(1){q=c[a>>2]|0;s=(c[a+8>>2]|0)-q|0;m=c[a+4>>2]|0;o=(c[a+12>>2]|0)-m|0;p=(c[t+8>>2]|0)-(c[t>>2]|0)|0;a=c[t+12>>2]|0;d=c[t+4>>2]|0;l=a-d|0;q=q&1;m=m&1;n=o-l|0;r=(s|0)>0;a:do if(r){f=(a|0)==(d|0);i=(o|0)==(l|0);j=v+((m^1)<<2)|0;k=_(l,w)|0;h=v+(m<<2)|0;if((o|0)>0){g=0;while(1){d=x+(g<<2)|0;a=0;do{c[v+(a<<2)>>2]=c[x+((_(a,w)|0)+g<<2)>>2];a=a+1|0}while((a|0)!=(o|0));ab[b&3](v,n,l,m);if(!f){e=l;a=h;while(1){e=e+-1|0;c[d>>2]=c[a>>2];if(!e)break;else{d=d+(w<<2)|0;a=a+8|0}}}if(!i){a=n;d=x+(g+k<<2)|0;e=j;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}}g=g+1|0;if((g|0)==(s|0))break a}}if(f){d=0;while(1){ab[b&3](v,n,l,m);if(!i){a=n;e=x+(d+k<<2)|0;f=j;while(1){a=a+-1|0;c[e>>2]=c[f>>2];if(!a)break;else{e=e+(w<<2)|0;f=f+8|0}}}d=d+1|0;if((d|0)==(s|0))break a}}else f=0;do{ab[b&3](v,n,l,m);a=l;d=x+(f<<2)|0;e=h;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}if(!i){a=n;d=x+(f+k<<2)|0;e=j;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}}f=f+1|0}while((f|0)!=(s|0))}while(0);g=s-p|0;if((o|0)>0){h=(p|0)>0;i=v+(q<<2)|0;j=(g|0)>0;k=v+((q^1)<<2)|0;l=0;do{f=_(l,w)|0;d=x+(f<<2)|0;if(r){a=0;do{c[v+(a<<2)>>2]=c[x+(a+f<<2)>>2];a=a+1|0}while((a|0)!=(s|0))}ab[b&3](v,g,p,q);if(h){e=0;a=i;while(1){c[d>>2]=c[a>>2];e=e+1|0;if((e|0)==(p|0))break;else{d=d+4|0;a=a+8|0}}}if(j){e=0;a=x+(f+p<<2)|0;d=k;while(1){c[a>>2]=c[d>>2];e=e+1|0;if((e|0)==(g|0))break;else{a=a+4|0;d=d+8|0}}}l=l+1|0}while((l|0)!=(o|0))}if(!u)break;else{a=t;u=u+-1|0;t=t+-136|0}}}Uc(v);b=1;return b|0}function Qg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=c[a+4>>2]|0;k=c[a+8>>2]|0;if(!(c[a+12>>2]|0)){e=(j|0)>0;if(!(e|(k|0)>1))return;if((k|0)>0){b=i+4|0;d=(j<<1)+-1|0;f=0;do{if((f|0)<1)a=b;else a=i+((((f|0)>(j|0)?j:f)<<1)+-1<<2)|0;g=f<<1;h=i+(g<<2)|0;c[h>>2]=(c[h>>2]|0)-((c[a>>2]|0)+2+(c[i+(((f|0)<(j|0)?g|1:d)<<2)>>2]|0)>>2);f=f+1|0}while((f|0)!=(k|0))}if(!e)return;a=i+((k<<1)+-2<<2)|0;b=0;do{g=b<<1;f=b;b=b+1|0;h=i+((g|1)<<2)|0;c[h>>2]=((c[((b|0)<(k|0)?i+(b<<1<<2)|0:a)>>2]|0)+(c[((f|0)<(k|0)?i+(g<<2)|0:a)>>2]|0)>>1)+(c[h>>2]|0)}while((b|0)!=(j|0));return}if((j|0)==1&(k|0)==0){c[i>>2]=(c[i>>2]|0)/2|0;return}if((k|0)>0){a=i+((j<<1)+-2<<2)|0;b=0;do{g=b<<1;f=b;b=b+1|0;h=i+((g|1)<<2)|0;c[h>>2]=(c[h>>2]|0)-((c[((f|0)<(j|0)?i+(g<<2)|0:a)>>2]|0)+2+(c[((b|0)<(j|0)?i+(b<<1<<2)|0:a)>>2]|0)>>2)}while((b|0)!=(k|0))}if((j|0)<=0)return;b=i+4|0;d=(k<<1)+-1|0;e=i+(d<<2)|0;h=0;do{f=h<<1;g=c[i+(((h|0)<(k|0)?f|1:d)<<2)>>2]|0;if((h|0)>=1)if((h|0)>(k|0))a=e;else a=i+(f+-1<<2)|0;else a=b;f=i+(f<<2)|0;c[f>>2]=((c[a>>2]|0)+g>>1)+(c[f>>2]|0);h=h+1|0}while((h|0)!=(j|0));return}function Rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!e){j=(b|0)>0;if(!(j|(d|0)>1))return;if(j){e=a+((d<<1)+-2<<2)|0;f=0;do{m=f;f=f+1|0;l=(c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((m|0)<(d|0)?a+(m<<1<<2)|0:e)>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,12993,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+((m<<1|1)<<2)|0;c[m>>2]=(c[m>>2]|0)-l}while((f|0)!=(b|0))}i=(d|0)>0;if(i){f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;l=(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)+(c[e>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,434,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+(h<<1<<2)|0;c[m>>2]=(c[m>>2]|0)-l;h=h+1|0}while((h|0)!=(d|0))}if(j){e=a+((d<<1)+-2<<2)|0;f=0;do{m=f;f=f+1|0;l=(c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((m|0)<(d|0)?a+(m<<1<<2)|0:e)>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,7233,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+((m<<1|1)<<2)|0;c[m>>2]=l+(c[m>>2]|0)}while((f|0)!=(b|0))}if(i){f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;l=(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)+(c[e>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,3633,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+(h<<1<<2)|0;c[m>>2]=l+(c[m>>2]|0);h=h+1|0}while((h|0)!=(d|0))}if(j){e=0;do{m=a+((e<<1|1)<<2)|0;l=c[m>>2]|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,5038,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;c[m>>2]=l;e=e+1|0}while((e|0)!=(b|0))}if(i)e=0;else return;do{b=a+(e<<1<<2)|0;m=c[b>>2]|0;m=Zi(m|0,((m|0)<0)<<31>>31|0,6659,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;c[b>>2]=m;e=e+1|0}while((e|0)!=(d|0));return}m=(d|0)>0;if(!((b|0)>1|m))return;l=(b|0)>0;if(l){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;e=(c[e>>2]|0)+j|0;e=Zi(e|0,((e|0)<0)<<31>>31|0,12993,0)|0;e=Si(e|0,C|0,4096,0)|0;e=Ti(e|0,C|0,13)|0;j=a+(i<<2)|0;c[j>>2]=(c[j>>2]|0)-e;k=k+1|0}while((k|0)!=(b|0))}if(m){e=a+((b<<1)+-2<<2)|0;f=0;do{k=f;f=f+1|0;j=(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((k|0)<(b|0)?a+(k<<1<<2)|0:e)>>2]|0)|0;j=Zi(j|0,((j|0)<0)<<31>>31|0,434,0)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;k=a+((k<<1|1)<<2)|0;c[k>>2]=(c[k>>2]|0)-j}while((f|0)!=(d|0))}if(l){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;e=(c[e>>2]|0)+j|0;e=Zi(e|0,((e|0)<0)<<31>>31|0,7233,0)|0;e=Si(e|0,C|0,4096,0)|0;e=Ti(e|0,C|0,13)|0;j=a+(i<<2)|0;c[j>>2]=e+(c[j>>2]|0);k=k+1|0}while((k|0)!=(b|0))}if(m){e=a+((b<<1)+-2<<2)|0;f=0;do{k=f;f=f+1|0;j=(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((k|0)<(b|0)?a+(k<<1<<2)|0:e)>>2]|0)|0;j=Zi(j|0,((j|0)<0)<<31>>31|0,3633,0)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;k=a+((k<<1|1)<<2)|0;c[k>>2]=j+(c[k>>2]|0)}while((f|0)!=(d|0))}if(l){e=0;do{l=a+(e<<1<<2)|0;k=c[l>>2]|0;k=Zi(k|0,((k|0)<0)<<31>>31|0,5038,0)|0;k=Si(k|0,C|0,4096,0)|0;k=Ti(k|0,C|0,13)|0;c[l>>2]=k;e=e+1|0}while((e|0)!=(b|0))}if(m)e=0;else return;do{b=a+((e<<1|1)<<2)|0;m=c[b>>2]|0;m=Zi(m|0,((m|0)<0)<<31>>31|0,6659,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;c[b>>2]=m;e=e+1|0}while((e|0)!=(d|0));return}function Sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=c[a>>2]|0;i=c[a+12>>2]|0;q=c[a+8>>2]|0;n=d*3|0;l=1-i|0;k=a+4|0;j=q;a=0;while(1){h=m+(i<<4)|0;if(((j+n|0)<(e|0)?(b&15|0)==0:0)?((h|d)&15|0)==0:0){if((j|0)>0){f=0;do{h=f<<3;c[m+(i<<4)+(h<<2)>>2]=c[b+(f<<2)>>2];g=f+d|0;c[m+(i<<4)+((h|1)<<2)>>2]=c[b+(g<<2)>>2];g=g+d|0;c[m+(i<<4)+((h|2)<<2)>>2]=c[b+(g<<2)>>2];c[m+(i<<4)+((h|3)<<2)>>2]=c[b+(g+d<<2)>>2];f=f+1|0}while((f|0)!=(j|0))}}else r=3;if((r|0)==3?(r=0,(j|0)>0):0){h=0;do{f=h<<3;c[m+(i<<4)+(f<<2)>>2]=c[b+(h<<2)>>2];g=h+d|0;if(((g|0)<(e|0)?(c[m+(i<<4)+((f|1)<<2)>>2]=c[b+(g<<2)>>2],o=g+d|0,(o|0)<(e|0)):0)?(c[m+(i<<4)+((f|2)<<2)>>2]=c[b+(o<<2)>>2],p=o+d|0,(p|0)<(e|0)):0)c[m+(i<<4)+((f|3)<<2)>>2]=c[b+(p<<2)>>2];h=h+1|0}while((h|0)!=(j|0))}a=a+1|0;if((a|0)==2)break;else{b=b+(q<<2)|0;e=e-q|0;i=l;j=c[k>>2]|0}}return}function Tg(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0;do if(!(c[a+12>>2]|0)){d=c[a+8>>2]|0;if((c[a+4>>2]|0)>0){b=c[a>>2]|0;if((d|0)>0){i=0;f=1;j=9;break}else{i=0;h=1;break}}if((d|0)>1){e=0;f=1;j=7}else return}else{d=c[a+8>>2]|0;if((d|0)<=0)if((c[a+4>>2]|0)>1){b=c[a>>2]|0;i=1;h=0;break}else return;else{e=1;f=0;j=7}}while(0);if((j|0)==7){b=c[a>>2]|0;i=e;j=9}if((j|0)==9){e=0;do{j=e<<3;o=b+(i<<4)+(j<<2)|0;m=b+(i<<4)+((j|1)<<2)|0;n=+g[m>>2];h=b+(i<<4)+((j|2)<<2)|0;l=+g[h>>2];j=b+(i<<4)+((j|3)<<2)|0;k=+g[j>>2];g[o>>2]=+g[o>>2]*1.2301740646362305;g[m>>2]=n*1.2301740646362305;g[h>>2]=l*1.2301740646362305;g[j>>2]=k*1.2301740646362305;e=e+1|0}while((e|0)!=(d|0));h=f}e=c[a+4>>2]|0;if((e|0)>0){f=0;do{o=f<<3;j=b+(h<<4)+(o<<2)|0;a=b+(h<<4)+((o|1)<<2)|0;k=+g[a>>2];m=b+(h<<4)+((o|2)<<2)|0;l=+g[m>>2];o=b+(h<<4)+((o|3)<<2)|0;n=+g[o>>2];g[j>>2]=+g[j>>2]*1.625732421875;g[a>>2]=k*1.625732421875;g[m>>2]=l*1.625732421875;g[o>>2]=n*1.625732421875;f=f+1|0}while((f|0)!=(e|0))}p=b+(h<<4)|0;f=b+(i+1<<4)|0;j=e-i|0;j=(d|0)<(j|0)?d:j;Ug(p,f,d,j,-.4435068666934967);a=b+(i<<4)|0;m=b+(h+1<<4)|0;o=d-h|0;o=(e|0)<(o|0)?e:o;Ug(a,m,e,o,-.8829110860824585);Ug(p,f,d,j,.05298011749982834);Ug(a,m,e,o,1.5861343145370483);return}function Ug(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0.0;if((d|0)>0){m=d<<1;l=m+-2|0;h=+g[a>>2];i=+g[a+4>>2];j=+g[a+8>>2];f=+g[a+12>>2];a=b;k=0;while(1){w=a+-16|0;t=a+-12|0;v=+g[t>>2];q=a+-8|0;s=+g[q>>2];n=a+-4|0;p=+g[n>>2];x=h;h=+g[a>>2];u=i;i=+g[a+4>>2];r=j;j=+g[a+8>>2];o=f;f=+g[a+12>>2];g[w>>2]=+g[w>>2]+(x+h)*e;g[t>>2]=v+(u+i)*e;g[q>>2]=s+(r+j)*e;g[n>>2]=p+(o+f)*e;k=k+1|0;if((k|0)==(d|0))break;else a=a+32|0}a=b+(l<<4)|0;b=b+(m<<4)|0}if((d|0)>=(c|0))return;f=e+e;h=f*+g[a>>2];i=f*+g[a+4>>2];j=f*+g[a+8>>2];f=f*+g[a+12>>2];while(1){n=b+-16|0;q=b+-12|0;u=+g[q>>2];t=b+-8|0;v=+g[t>>2];w=b+-4|0;x=+g[w>>2];g[n>>2]=h+ +g[n>>2];g[q>>2]=i+u;g[t>>2]=j+v;g[w>>2]=f+x;d=d+1|0;if((d|0)==(c|0))break;else b=b+32|0}return}function Vg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=d<<2;y=Pc(d<<4)|0;if(!y){a=0;return a|0}z=y+x|0;Qi(y|0,0,x|0)|0;v=d+-1|0;u=(d|0)==0;if(!u){e=0;f=y;while(1){c[f>>2]=e;e=e+1|0;if((e|0)==(d|0))break;else f=f+4|0}}a:do if(v){q=v;j=0;e=0;r=a;s=1;t=y;while(1){k=r+(j<<2)|0;if(j>>>0>>0){i=j;f=k;h=0.0}else break;while(1){o=+g[f>>2];o=o>0.0?o:-o;w=o>h;e=w?i:e;h=w?o:h;i=i+1|0;if((i|0)==(d|0))break;else f=f+(d<<2)|0}if(h==0.0)break;if((e|0)!=(j|0)){w=e-j|0;p=t+(w<<2)|0;n=c[t>>2]|0;c[t>>2]=c[p>>2];c[p>>2]=n;w=r+((_(w,d)|0)<<2)|0;Ui(z|0,w|0,x|0)|0;Ui(w|0,r|0,x|0)|0;Ui(r|0,z|0,x|0)|0}f=j;p=j+1|0;o=+g[k>>2];if(s>>>0>>0){l=r+(p<<2)|0;n=p+q|0;m=s;i=r+(f+d<<2)|0;while(1){h=+g[i>>2]/o;g[i>>2]=h;f=s;j=i;k=l;while(1){j=j+4|0;g[j>>2]=+g[j>>2]-h*+g[k>>2];f=f+1|0;if((f|0)==(d|0))break;else k=k+4|0}m=m+1|0;if((m|0)==(d|0))break;else i=i+(n<<2)|0}}if(p>>>0>>0){q=q+-1|0;j=p;r=r+(d<<2)|0;s=s+1|0;t=t+4|0}else break a}Uc(y);a=0;return a|0}while(0);e=d<<1;w=z+(e<<2)|0;if(!u){u=z+(v+d<<2)|0;q=z+(e+v<<2)|0;r=a+((_(d,d)|0)+-1<<2)|0;s=~d;t=0;p=b;while(1){Qi(z|0,0,x|0)|0;g[z+(t<<2)>>2]=1.0;j=0;k=1;l=y;m=w;n=a;while(1){if(!j)h=0.0;else{e=1;f=w;i=n;h=0.0;while(1){h=h+ +g[i>>2]*+g[f>>2];e=e+1|0;if((e|0)==(k|0))break;else{f=f+4|0;i=i+4|0}}}g[m>>2]=+g[z+(c[l>>2]<<2)>>2]-h;j=j+1|0;if((j|0)==(d|0)){j=d;k=u;l=w;m=q;n=r;break}else{k=k+1|0;l=l+4|0;m=m+4|0;n=n+(d<<2)|0}}while(1){e=j;j=j+-1|0;o=+g[n>>2];if(e>>>0>>0){f=l;i=n;h=0.0;while(1){i=i+4|0;h=h+ +g[i>>2]*+g[f>>2];e=e+1|0;if((e|0)==(d|0))break;else f=f+4|0}}else h=0.0;l=l+-4|0;g[k>>2]=(+g[m>>2]-h)/o;if(!j){e=0;f=p;break}else{k=k+-4|0;m=m+-4|0;n=n+(s<<2)|0}}while(1){c[f>>2]=c[z+(e+d<<2)>>2];e=e+1|0;if((e|0)==(d|0))break;else f=f+(d<<2)|0}t=t+1|0;if((t|0)==(d|0))break;else p=p+4|0}}Uc(y);a=1;return a|0}function Wg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=Qc(1,44)|0;if(!g){g=0;return g|0}h=hh()|0;c[g>>2]=h;if(!h){ih(0);c[g>>2]=0;h=g+4|0;yh(c[h>>2]|0);c[h>>2]=0;if((c[g+40>>2]|0)==0?(d=g+8|0,b=c[d>>2]|0,(b|0)!=0):0){Sc(b);c[d>>2]=0}b=g+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(g);h=0;return h|0}h=xh()|0;b=g+4|0;c[b>>2]=h;if(h){c[g+40>>2]=a;h=g;return h|0}ih(c[g>>2]|0);c[g>>2]=0;yh(c[b>>2]|0);c[b>>2]=0;if((c[g+40>>2]|0)==0?(e=g+8|0,f=c[e>>2]|0,(f|0)!=0):0){Sc(f);c[e>>2]=0}b=g+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(g);h=0;return h|0}function Xg(a){a=a|0;var b=0,d=0,e=0;if(!a)return;ih(c[a>>2]|0);c[a>>2]=0;e=a+4|0;yh(c[e>>2]|0);c[e>>2]=0;if((c[a+40>>2]|0)==0?(b=a+8|0,d=c[b>>2]|0,(d|0)!=0):0){Sc(d);c[b>>2]=0}b=a+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(a);return}function Yg(a,f,h){a=a|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;ya=(c[f+8>>2]|0)-(c[f>>2]|0)|0;za=f+20|0;i=c[za>>2]|0;if(!i){a=1;return a|0}Aa=f+24|0;Ba=h+808|0;Ca=h+16|0;ta=a+4|0;va=a+8|0;wa=a+16|0;xa=a+20|0;sa=h+20|0;pa=f+32|0;qa=a+32|0;ra=a+12|0;h=i;oa=0;a:while(1){ma=c[Aa>>2]|0;na=ma+(oa*136|0)+24|0;f=c[na>>2]|0;if(f){ja=ma+(oa*136|0)+16|0;ka=ma+(oa*136|0)+20|0;la=oa+-1|0;h=c[ka>>2]|0;i=c[ja>>2]|0;ia=0;do{if(_(h,i)|0){da=ma+(oa*136|0)+28+(ia*36|0)+20|0;ea=ma+(oa*136|0)+28+(ia*36|0)+16|0;fa=ma+(oa*136|0)+28+(ia*36|0)|0;ga=ma+(oa*136|0)+28+(ia*36|0)+4|0;ha=ma+(oa*136|0)+28+(ia*36|0)+32|0;ca=0;do{f=c[da>>2]|0;aa=f+(ca*40|0)+16|0;ba=f+(ca*40|0)+20|0;if(_(c[ba>>2]|0,c[aa>>2]|0)|0){Z=f+(ca*40|0)+24|0;$=0;do{h=c[Z>>2]|0;S=c[ea>>2]|0;j=c[Ba>>2]|0;f=c[Ca>>2]|0;T=c[ta>>2]|0;U=c[a>>2]|0;V=h+($*56|0)+8|0;Y=h+($*56|0)+12|0;if(!(_g(a,(c[h+($*56|0)+16>>2]|0)-(c[V>>2]|0)|0,(c[h+($*56|0)+20>>2]|0)-(c[Y>>2]|0)|0)|0)){h=0;G=201;break a}W=h+($*56|0)+24|0;k=c[W>>2]|0;qh(U);rh(U,18,0,46);rh(U,17,0,3);rh(U,0,0,4);X=h+($*56|0)+48|0;i=c[X>>2]|0;if(i){N=h+($*56|0)+4|0;O=(f&1|0)!=0;P=(f&2|0)==0;Q=(f&8|0)==0;R=S<<8;M=(f&32|0)==0;f=k+j|0;h=2;L=0;do{k=c[N>>2]|0;K=O&(h>>>0<2?(f|0)<=((c[W>>2]|0)+-4|0):0);j=c[k+(L<<5)>>2]|0;if(j){i=(c[j>>2]|0)+(c[k+(L<<5)+4>>2]|0)|0;j=c[k+(L<<5)+16>>2]|0;if(!K){if(!(vh(U,i,j)|0)){h=0;G=201;break a}}else zh(T,i,j);I=k+(L<<5)+12|0;b:do if(c[I>>2]|0){J=P|K;H=0;while(1){c:do switch(h|0){case 0:{if(K){w=1<>1|w;j=c[xa>>2]|0;if(!j)break c;v=0-w|0;i=c[wa>>2]|0;u=0;while(1){t=u;u=u+4|0;if(!i)i=0;else{q=(t|0)==-4;r=t|3;s=0;do{d:do if(!q)if(Q){o=t;do{if(o>>>0>=(c[xa>>2]|0)>>>0)break d;m=o;o=o+1|0;i=(_(c[qa>>2]|0,o)|0)+s|0;j=i+1|0;k=c[ra>>2]|0;l=k+(j<<1)|0;m=(_(c[wa>>2]|0,m)|0)+s|0;m=(c[va>>2]|0)+(m<<2)|0;n=c[ta>>2]|0;G=b[l>>1]|0;if((G&255|0)!=0&(G&20480|0)==0){if(Ah(n)|0){D=Ah(n)|0;c[m>>2]=(D|0)!=0?v:w;F=c[qa>>2]|0;G=k+(j-F<<1)|0;E=k+(F+j<<1)|0;C=k+(j+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=i+2|0;C=k+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=k+(i<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[l>>1]=e[l>>1]|4096;C=k+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=k+(F+i<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=k+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[l>>1]=e[l>>1]|16384}}while(o>>>0>>0)}else{p=t;do{i=c[xa>>2]|0;if(p>>>0>=i>>>0)break d;F=p;p=p+1|0;j=(_(c[qa>>2]|0,p)|0)+s|0;k=j+1|0;l=c[ra>>2]|0;m=l+(k<<1)|0;n=(_(c[wa>>2]|0,F)|0)+s|0;n=(c[va>>2]|0)+(n<<2)|0;o=c[ta>>2]|0;G=b[m>>1]|0;G=(F|0)==(r|0)|(F|0)==(i+-1|0)?G&-1095:G;if((G&255|0)!=0&(G&20480|0)==0){if(Ah(o)|0){D=Ah(o)|0;c[n>>2]=(D|0)!=0?v:w;F=c[qa>>2]|0;G=l+(k-F<<1)|0;E=l+(F+k<<1)|0;C=l+(k+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=j+2|0;C=l+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=l+(j<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[m>>1]=e[m>>1]|4096;C=l+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=l+(F+j<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=l+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[m>>1]=e[m>>1]|16384}}while(p>>>0>>0)}while(0);s=s+1|0;i=c[wa>>2]|0}while(s>>>0>>0);j=c[xa>>2]|0}if(u>>>0>=j>>>0){G=163;break c}}}if(Q){k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;r=1<>1|r;i=c[xa>>2]|0;j=c[wa>>2]|0;if(i>>>0>3){o=j;n=0;while(1){if(!j){j=o;m=0}else{j=0;do{G=(c[qa>>2]|0)+j|0;$g(a,l+(G<<1)|0,k+(j<<2)|0,S,r);i=(c[wa>>2]|0)+j|0;G=(c[qa>>2]|0)+G|0;$g(a,l+(G<<1)|0,k+(i<<2)|0,S,r);i=(c[wa>>2]|0)+i|0;G=(c[qa>>2]|0)+G|0;$g(a,l+(G<<1)|0,k+(i<<2)|0,S,r);$g(a,l+((c[qa>>2]|0)+G<<1)|0,k+((c[wa>>2]|0)+i<<2)|0,S,r);j=j+1|0;i=c[wa>>2]|0}while(j>>>0>>0);j=i;m=i;i=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=l+(c[qa>>2]<<2<<1)|0;n=n+4|0;if(n>>>0<(i&-4)>>>0){o=j;j=m}else{q=l;p=n;break}}}else{q=l;p=0}if(!j){G=163;break c}else o=0;while(1){if(p>>>0>>0){l=k+(o<<2)|0;m=q+(o<<1)|0;n=p;while(1){m=m+(c[qa>>2]<<1)|0;$g(a,m,l,S,r);j=c[wa>>2]|0;n=n+1|0;i=c[xa>>2]|0;if(n>>>0>=i>>>0)break;else l=l+(j<<2)|0}}o=o+1|0;if(o>>>0>=j>>>0){G=163;break c}}}w=1<>1|w;i=c[xa>>2]|0;if(!i){G=163;break c}x=0-w|0;j=c[wa>>2]|0;l=j;v=0;while(1){u=v;v=v+4|0;do if(!j){k=l;j=0}else{t=u|3;if((u|0)==-4){k=l;j=l;break}else s=0;do{r=u;do{i=c[xa>>2]|0;if(r>>>0>=i>>>0)break;G=r;r=r+1|0;l=(_(c[qa>>2]|0,r)|0)+s|0;m=l+1|0;n=c[ra>>2]|0;o=n+(m<<1)|0;p=(_(c[wa>>2]|0,G)|0)+s|0;p=(c[va>>2]|0)+(p<<2)|0;q=c[a>>2]|0;j=b[o>>1]|0;i=(G|0)==(t|0)|(G|0)==(i+-1|0)?j&-1095:j;j=i&255;if((j|0)!=0&(i&20480|0)==0){k=q+100|0;c[k>>2]=q+24+(d[20267+(j|R)>>0]<<2);if(wh(q)|0){F=i>>>4&255;c[k>>2]=q+24+(d[21291+F>>0]<<2);G=wh(q)|0;F=d[21547+F>>0]|0;D=F^G;c[p>>2]=(G|0)!=(F|0)?x:w;F=c[qa>>2]|0;G=n+(m-F<<1)|0;E=n+(F+m<<1)|0;C=n+(m+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=l+2|0;C=n+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=n+(l<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[o>>1]=e[o>>1]|4096;C=n+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=n+(F+l<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=n+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[o>>1]=e[o>>1]|16384}}while(r>>>0>>0);s=s+1|0;i=c[wa>>2]|0}while(s>>>0>>0);k=i;j=i;i=c[xa>>2]|0}while(0);if(v>>>0>=i>>>0){G=163;break}else l=k}break}case 1:{if(K){q=1<>1;r=(f|0)>0?0-q|0:-1;j=c[xa>>2]|0;if(!j)break c;k=c[wa>>2]|0;i=k;p=0;while(1){o=p;p=p+4|0;if(!k){l=i;k=0}else{n=(o|0)==-4;m=0;do{l=m;m=m+1|0;if(!n){k=o;do{if(k>>>0>=(c[xa>>2]|0)>>>0)break;j=k;k=k+1|0;i=(_(c[qa>>2]|0,k)|0)+m|0;i=(c[ra>>2]|0)+(i<<1)|0;j=(_(c[wa>>2]|0,j)|0)+l|0;j=(c[va>>2]|0)+(j<<2)|0;if((b[i>>1]&20480)==4096){F=(Ah(c[ta>>2]|0)|0)!=0;F=F?q:r;G=c[j>>2]|0;c[j>>2]=((G|0)<0?0-F|0:F)+G;b[i>>1]=e[i>>1]|8192}}while(k>>>0

>>0);i=c[wa>>2]|0}}while(m>>>0>>0);l=i;k=i;j=c[xa>>2]|0}if(p>>>0>=j>>>0){G=163;break c}else i=l}}if(!Q){t=1<>1;u=(f|0)>0?0-t|0:-1;i=c[xa>>2]|0;if(!i){G=163;break c}j=c[wa>>2]|0;k=j;s=0;while(1){r=s;s=s+4|0;if(!j)j=0;else{p=(r|0)==-4;q=r|3;i=k;o=0;do{n=o;o=o+1|0;if(!p){l=r;do{i=c[xa>>2]|0;if(l>>>0>=i>>>0)break;F=l;l=l+1|0;j=(_(c[qa>>2]|0,l)|0)+o|0;j=(c[ra>>2]|0)+(j<<1)|0;k=(_(c[wa>>2]|0,F)|0)+n|0;k=(c[va>>2]|0)+(k<<2)|0;m=c[a>>2]|0;G=b[j>>1]|0;i=(F|0)==(q|0)|(F|0)==(i+-1|0)?G&-1095:G;if((i&20480|0)==4096){c[m+100>>2]=m+24+(((i&8192|0)!=0?16:(i&255|0)!=0?15:14)<<2);F=(wh(m)|0)!=0;F=F?t:u;G=c[k>>2]|0;c[k>>2]=((G|0)<0?0-F|0:F)+G;b[j>>1]=e[j>>1]|8192}}while(l>>>0>>0);i=c[wa>>2]|0}}while(o>>>0>>0);k=i;j=i;i=c[xa>>2]|0}if(s>>>0>=i>>>0){G=163;break c}}}k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;v=1<>1;w=(f|0)>0?0-v|0:-1;i=c[xa>>2]|0;j=c[wa>>2]|0;if(i>>>0>3){n=j;t=l;u=0;while(1){if(!j){j=n;m=0}else{i=n;s=0;do{j=k+(s<<2)|0;n=c[qa>>2]|0;p=n+s|0;l=t+(p<<1)|0;o=c[a>>2]|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[o+100>>2]=o+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);n=(wh(o)|0)!=0;n=n?v:w;i=c[j>>2]|0;c[j>>2]=((i|0)<0?0-n|0:n)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}else{j=n;n=o}q=i+s|0;o=k+(q<<2)|0;r=j+p|0;l=t+(r<<1)|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);j=(wh(n)|0)!=0;j=j?v:w;i=c[o>>2]|0;c[o>>2]=((i|0)<0?0-j|0:j)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}p=i+q|0;o=k+(p<<2)|0;q=j+r|0;l=t+(q<<1)|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);j=(wh(n)|0)!=0;j=j?v:w;i=c[o>>2]|0;c[o>>2]=((i|0)<0?0-j|0:j)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}m=k+(i+p<<2)|0;j=t+(j+q<<1)|0;l=b[j>>1]|0;if((l&20480|0)==4096){c[n+100>>2]=n+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);G=(wh(n)|0)!=0;G=G?v:w;i=c[m>>2]|0;c[m>>2]=((i|0)<0?0-G|0:G)+i;b[j>>1]=e[j>>1]|8192;i=c[wa>>2]|0}s=s+1|0}while(s>>>0>>0);j=i;m=i;i=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=t+(c[qa>>2]<<2<<1)|0;o=u+4|0;if(o>>>0<(i&-4)>>>0){n=j;j=m;t=l;u=o}else{s=o;break}}}else s=0;if(!j){G=163;break c}else r=0;do{if(s>>>0>>0){o=k+(r<<2)|0;p=l+(r<<1)|0;q=s;while(1){p=p+(c[qa>>2]<<1)|0;n=c[a>>2]|0;m=b[p>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);i=(wh(n)|0)!=0;i=i?v:w;m=c[o>>2]|0;c[o>>2]=((m|0)<0?0-i|0:i)+m;b[p>>1]=e[p>>1]|8192;m=c[wa>>2]|0;i=c[xa>>2]|0}else m=j;q=q+1|0;if(q>>>0>=i>>>0){j=m;break}else{j=m;o=o+(m<<2)|0}}}r=r+1|0}while(r>>>0>>0);G=163;break}case 2:{E=c[a>>2]|0;F=1<>1|F;do if(Q){k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;j=c[xa>>2]|0;if(j>>>0>3){w=E+92|0;x=E+100|0;y=E+96|0;z=0-F|0;m=c[wa>>2]|0;i=m;o=0;while(1){if(!m)m=0;else{r=o|1;s=r+1|0;t=o|3;u=r+3|0;v=0;do{i=c[qa>>2]|0;j=v;v=v+1|0;D=(_(i,r)|0)+v|0;G=c[ra>>2]|0;D=b[G+((_(i,s)|0)+v<<1)>>1]|b[G+(D<<1)>>1];D=D|b[G+((_(i,t)|0)+v<<1)>>1];e:do if(!((D|b[G+((_(i,u)|0)+v<<1)>>1])&20735)){c[x>>2]=w;if(!(wh(E)|0))break;c[x>>2]=y;p=(wh(E)|0)<<1;p=p|(wh(E)|0);if(p>>>0>=4)break;q=k+((_(c[wa>>2]|0,p)|0)+j<<2)|0;j=l+((_(c[qa>>2]|0,p)|0)+j<<1)|0;n=p;while(1){if(n>>>0>=(c[xa>>2]|0)>>>0)break e;i=c[qa>>2]|0;m=j;j=j+(i<<1)|0;if((n|0)==(p|0)){G=c[a>>2]|0;D=(e[j>>1]|0)>>>4&255;c[G+100>>2]=G+24+(d[21291+D>>0]<<2);G=wh(G)|0;D=d[21547+D>>0]|0;B=D^G;c[q>>2]=(G|0)!=(D|0)?z:F;D=c[qa>>2]|0;G=m+(i-D<<1)|0;C=m+(D+i<<1)|0;A=m+(i+~D<<1)|0;b[A>>1]=e[A>>1]|2;b[G>>1]=b[G>>1]|b[3436+(B<<1)>>1];G=i+1|0;A=m+(G-D<<1)|0;b[A>>1]=e[A>>1]|4;A=i+-1|0;i=m+(A<<1)|0;b[i>>1]=b[i>>1]|b[3436+(B+2<<1)>>1];b[j>>1]=e[j>>1]|4096;i=m+(G<<1)|0;b[i>>1]=b[i>>1]|b[3436+(B+4<<1)>>1];A=m+(D+A<<1)|0;b[A>>1]=e[A>>1]|1;b[C>>1]=b[C>>1]|b[3436+(B+6<<1)>>1];G=m+(D+G<<1)|0;b[G>>1]=e[G>>1]|8;b[j>>1]=e[j>>1]&49151}else ah(a,j,q,S,F);n=n+1|0;if(n>>>0>=4)break;else q=q+(c[wa>>2]<<2)|0}}else{D=i+j|0;ah(a,l+(D<<1)|0,k+(j<<2)|0,S,F);G=(c[wa>>2]|0)+j|0;D=(c[qa>>2]|0)+D|0;ah(a,l+(D<<1)|0,k+(G<<2)|0,S,F);G=(c[wa>>2]|0)+G|0;D=(c[qa>>2]|0)+D|0;ah(a,l+(D<<1)|0,k+(G<<2)|0,S,F);ah(a,l+((c[qa>>2]|0)+D<<1)|0,k+((c[wa>>2]|0)+G<<2)|0,S,F)}while(0);i=c[wa>>2]|0}while(v>>>0>>0);m=i;j=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=l+(c[qa>>2]<<2<<1)|0;o=o+4|0;if(o>>>0>=(j&-4)>>>0){q=k;p=l;break}}}else{i=c[wa>>2]|0;q=k;p=l;o=0}if(!i)break;else n=0;do{if(o>>>0>>0){k=q+(n<<2)|0;l=p+(n<<1)|0;m=o;while(1){l=l+(c[qa>>2]<<1)|0;ah(a,l,k,S,F);i=c[wa>>2]|0;m=m+1|0;j=c[xa>>2]|0;if(m>>>0>=j>>>0)break;else k=k+(i<<2)|0}}n=n+1|0}while(n>>>0>>0)}else{i=c[xa>>2]|0;if(!i)break;A=E+92|0;B=E+100|0;C=E+96|0;D=0-F|0;j=c[wa>>2]|0;z=0;while(1){if(!j){k=z+4|0;j=0}else{v=z|3;w=z|1;x=w+1|0;y=w+3|0;k=z+4|0;u=0;while(1){do if(v>>>0>>0){i=c[qa>>2]|0;l=u+1|0;t=(_(i,w)|0)+l|0;j=c[ra>>2]|0;if(b[j+(t<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,x)|0)+l<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,v)|0)+l<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,y)|0)+l<<1)>>1]&20665){t=0;i=0;G=127;break}c[B>>2]=A;if(!(wh(E)|0))break;c[B>>2]=C;i=(wh(E)|0)<<1;t=1;i=i|(wh(E)|0);G=127}else{t=0;i=0;G=127}while(0);if((G|0)==127){G=0;l=i+z|0;f:do if(l>>>0>>0){s=l;do{i=c[xa>>2]|0;if(s>>>0>=i>>>0)break f;Da=s;s=s+1|0;m=(_(c[qa>>2]|0,s)|0)+u|0;n=m+1|0;o=c[ra>>2]|0;p=o+(n<<1)|0;q=(_(c[wa>>2]|0,Da)|0)+u|0;q=(c[va>>2]|0)+(q<<2)|0;r=c[a>>2]|0;j=b[p>>1]|0;j=(Da|0)==(v|0)|(Da|0)==(i+-1|0)?j&-1095:j;do if(!(t&(Da|0)==(l|0))){if(j&20480)break;i=r+100|0;c[i>>2]=r+24+(d[20267+(j&255|R)>>0]<<2);if(wh(r)|0)G=133}else{i=r+100|0;G=133}while(0);if((G|0)==133){G=0;j=j>>>4&255;c[i>>2]=r+24+(d[21291+j>>0]<<2);Da=wh(r)|0;r=d[21547+j>>0]|0;j=r^Da;c[q>>2]=(Da|0)!=(r|0)?D:F;r=c[qa>>2]|0;Da=o+(n-r<<1)|0;q=o+(r+n<<1)|0;n=o+(n+~r<<1)|0;b[n>>1]=e[n>>1]|2;b[Da>>1]=b[Da>>1]|b[3436+(j<<1)>>1];Da=m+2|0;n=o+(Da-r<<1)|0;b[n>>1]=e[n>>1]|4;n=o+(m<<1)|0;b[n>>1]=b[n>>1]|b[3436+(j+2<<1)>>1];b[p>>1]=e[p>>1]|4096;n=o+(Da<<1)|0;b[n>>1]=b[n>>1]|b[3436+(j+4<<1)>>1];n=o+(r+m<<1)|0;b[n>>1]=e[n>>1]|1;b[q>>1]=b[q>>1]|b[3436+(j+6<<1)>>1];Da=o+(r+Da<<1)|0;b[Da>>1]=e[Da>>1]|8}b[p>>1]=e[p>>1]&49151}while(s>>>0>>0)}while(0);l=u+1|0}j=c[wa>>2]|0;i=c[xa>>2]|0;if(l>>>0>>0)u=l;else break}}if(k>>>0>>0)z=k;else break}}while(0);if(M){G=163;break c}c[E+100>>2]=E+96;wh(E)|0;wh(E)|0;wh(E)|0;wh(E)|0;G=163;break}default:G=163}while(0);do if((G|0)==163){G=0;if(J)break;qh(U);rh(U,18,0,46);rh(U,17,0,3);rh(U,0,0,4)}while(0);h=h+1|0;Da=(h|0)==3;f=(Da<<31>>31)+f|0;h=Da?0:h;H=H+1|0;if(H>>>0>=(c[I>>2]|0)>>>0)break b}}while(0);i=c[X>>2]|0}L=L+1|0}while(L>>>0>>0)}h=(c[V>>2]|0)-(c[fa>>2]|0)|0;f=(c[Y>>2]|0)-(c[ga>>2]|0)|0;i=c[ea>>2]|0;if(i&1){Da=c[Aa>>2]|0;h=(c[Da+(la*136|0)+8>>2]|0)+h-(c[Da+(la*136|0)>>2]|0)|0}if(i&2){Da=c[Aa>>2]|0;f=(c[Da+(la*136|0)+12>>2]|0)+f-(c[Da+(la*136|0)+4>>2]|0)|0}p=c[va>>2]|0;q=c[wa>>2]|0;r=c[xa>>2]|0;i=c[Ba>>2]|0;if((i|0)!=0?(ua=1<>2]|0;m=(l|0)>-1?l:0-l|0;if((m|0)>=(ua|0)){Da=m>>c[Ba>>2];c[k>>2]=(l|0)<0?0-Da|0:Da}n=n+1|0}while((n|0)!=(q|0))}o=o+1|0}while((o|0)!=(r|0))}n=(_(f,ya)|0)+h|0;o=c[pa>>2]|0;h=(r|0)==0;if((c[sa>>2]|0)==1){if(!h){h=(q|0)==0;k=0;do{if(!h){f=_(k,q)|0;i=(_(k,ya)|0)+n|0;j=0;do{c[o+(i+j<<2)>>2]=(c[p+(j+f<<2)>>2]|0)/2|0;j=j+1|0}while((j|0)!=(q|0))}k=k+1|0}while((k|0)!=(r|0))}}else if(!h){m=(q|0)==0;h=p;l=0;k=o+(n<<2)|0;while(1){if(!m){f=h;i=0;j=k;while(1){g[j>>2]=+(c[f>>2]|0)*+g[ha>>2];i=i+1|0;if((i|0)==(q|0))break;else{f=f+4|0;j=j+4|0}}h=h+(q<<2)|0}l=l+1|0;if((l|0)==(r|0))break;else k=k+(ya<<2)|0}}$=$+1|0}while($>>>0<(_(c[ba>>2]|0,c[aa>>2]|0)|0)>>>0);h=c[ka>>2]|0;i=c[ja>>2]|0}ca=ca+1|0}while(ca>>>0<(_(h,i)|0)>>>0);f=c[na>>2]|0}ia=ia+1|0}while(ia>>>0>>0);h=c[za>>2]|0}oa=oa+1|0;if(oa>>>0>=h>>>0){h=1;G=201;break}}if((G|0)==201)return h|0;return 0}function Zg(f,i,j,k,l){f=f|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0.0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0;Ya=i+32|0;h[Ya>>3]=0.0;Za=i+16|0;m=c[Za>>2]|0;if(!m){_a=1;return _a|0}Xa=i+20|0;Sa=j+5584|0;Ta=f+16|0;Ua=f+20|0;Va=f+8|0;Wa=f+36|0;Pa=(k|0)!=0;Qa=f+32|0;Ra=f+12|0;i=m;Oa=0;a:while(1){j=c[Xa>>2]|0;m=c[Sa>>2]|0;Ma=(c[j+(Oa*52|0)+8>>2]|0)-(c[j+(Oa*52|0)>>2]|0)|0;Na=j+(Oa*52|0)+16|0;n=c[Na>>2]|0;if(n){La=j+(Oa*52|0)+24|0;Ja=j+(Oa*52|0)+32|0;Ka=m+(Oa*1080|0)+20|0;Ga=m+(Oa*1080|0)+16|0;Ia=Pa&Oa>>>0>>0;Ha=k+(Oa<<3)|0;i=n;Fa=0;do{Da=c[La>>2]|0;Ea=Da+(Fa*136|0)+24|0;j=c[Ea>>2]|0;if(j){za=Da+(Fa*136|0)+16|0;Aa=Da+(Fa*136|0)+20|0;Ba=~Fa;Ca=Fa+-1|0;i=c[Aa>>2]|0;m=c[za>>2]|0;ya=0;do{xa=Da+(Fa*136|0)+28+(ya*36|0)+32|0;if(_(i,m)|0){ra=67108864/(~~+M(+(+g[xa>>2]*8192.0))|0)|0;sa=Da+(Fa*136|0)+28+(ya*36|0)+20|0;ta=Da+(Fa*136|0)+28+(ya*36|0)|0;ua=Da+(Fa*136|0)+28+(ya*36|0)+4|0;va=Da+(Fa*136|0)+28+(ya*36|0)+16|0;wa=((ra|0)<0)<<31>>31;qa=0;do{j=c[sa>>2]|0;oa=j+(qa*40|0)+16|0;pa=j+(qa*40|0)+20|0;if(_(c[pa>>2]|0,c[oa>>2]|0)|0){ma=j+(qa*40|0)+24|0;na=0;do{la=c[ma>>2]|0;n=c[la+(na*52|0)+12>>2]|0;i=n-(c[ta>>2]|0)|0;o=c[la+(na*52|0)+16>>2]|0;j=o-(c[ua>>2]|0)|0;m=c[va>>2]|0;if(m&1){ka=c[La>>2]|0;i=(c[ka+(Ca*136|0)+8>>2]|0)+i-(c[ka+(Ca*136|0)>>2]|0)|0}if(m&2){ka=c[La>>2]|0;j=(c[ka+(Ca*136|0)+12>>2]|0)+j-(c[ka+(Ca*136|0)+4>>2]|0)|0}if(!(_g(f,(c[la+(na*52|0)+20>>2]|0)-n|0,(c[la+(na*52|0)+24>>2]|0)-o|0)|0)){i=0;_a=173;break a}p=c[Ta>>2]|0;q=c[Ua>>2]|0;r=Ma-p|0;u=(_(j,Ma)|0)+i|0;v=c[Ja>>2]|0;c[Va>>2]=v+(u<<2);c[Wa>>2]=Ma;i=(q|0)==0;if((c[Ka>>2]|0)==1){if(!i){n=(p|0)==0;o=0;i=0;while(1){if(!n){j=0;m=i;while(1){ka=v+(m+u<<2)|0;c[ka>>2]=c[ka>>2]<<6;j=j+1|0;if((j|0)==(p|0))break;else m=m+1|0}i=p+i|0}o=o+1|0;if((o|0)==(q|0))break;else i=i+r|0}}}else if(!i){n=(p|0)==0;o=0;i=0;while(1){if(!n){j=0;m=i;while(1){ka=v+(m+u<<2)|0;ja=c[ka>>2]|0;ja=Zi(ja|0,((ja|0)<0)<<31>>31|0,ra|0,wa|0)|0;ja=Si(ja|0,C|0,4096,0)|0;ja=Ti(ja|0,C|0,18)|0;c[ka>>2]=ja;j=j+1|0;if((j|0)==(p|0))break;else m=m+1|0}i=p+i|0}o=o+1|0;if((o|0)==(q|0))break;else i=i+r|0}}ga=c[va>>2]|0;ha=(c[Na>>2]|0)+Ba|0;r=c[Ka>>2]|0;ia=+g[xa>>2];ja=c[Ga>>2]|0;ka=c[f>>2]|0;n=c[Ta>>2]|0;do if(!n)i=0;else{o=c[Ua>>2]|0;p=(o|0)==0;q=0;i=0;do{if(!p){j=c[Wa>>2]|0;m=0;do{fa=c[v+(u+((_(m,j)|0)+q)<<2)>>2]|0;fa=(fa|0)>-1?fa:0-fa|0;i=(i|0)>(fa|0)?i:fa;m=m+1|0}while((m|0)!=(o|0))}q=q+1|0}while((q|0)!=(n|0));if(!i){i=0;break}if((i|0)>1){j=i;i=0}else{i=-5;break}while(1){j=j>>1;if((j|0)<=1)break;else i=i+1|0}i=i+-4|0}while(0);ea=la+(na*52|0)+28|0;c[ea>>2]=i;i=i+-1|0;qh(ka);rh(ka,18,0,46);rh(ka,17,0,3);rh(ka,0,0,4);fa=la+(na*52|0)|0;kh(ka,c[fa>>2]|0);b:do if((i|0)>-1){ca=la+(na*52|0)+8|0;W=ja&1;da=(W|0)!=0;X=(r|0)==1;Y=(ja&4|0)==0;W=(W|0)==0;Z=(ja&2|0)==0;$=(ja&8|0)==0;aa=ga<<8;ba=(ja&32|0)==0;j=0;T=i;U=0.0;i=0;V=2;while(1){S=c[ca>>2]|0;I=da&(V>>>0<2?(T|0)<((c[ea>>2]|0)+-4|0):0);c:do switch(V|0){case 0:{G=1<>2]|0;if(!j){n=0;break c}H=(T|0)==0;o=c[Ta>>2]|0;m=o;n=0;F=0;do{E=F;F=F+4|0;if(!m)m=0;else{B=(E|0)==-4;D=E|3;m=o;A=0;do{if(!B){z=E;do{j=c[Ua>>2]|0;if(z>>>0>=j>>>0)break;do if($)j=0;else{if((z|0)==(D|0)){j=1;break}j=(z|0)==(j+-1|0)}while(0);p=z;z=z+1|0;u=(_(c[Qa>>2]|0,z)|0)+A|0;v=u+1|0;w=c[Ra>>2]|0;y=w+(v<<1)|0;p=(_(c[Wa>>2]|0,p)|0)+A|0;p=(c[Va>>2]|0)+(p<<2)|0;x=c[f>>2]|0;q=b[y>>1]|0;q=j?q&-1095:q;j=q&255;if((j|0)!=0&(q&20480|0)==0){m=c[p>>2]|0;m=(((m|0)<0?0-m|0:m)&G|0)!=0;o=m&1;r=x+100|0;c[r>>2]=x+24+(d[20267+(j|aa)>>0]<<2);if(I)oh(x,o);else lh(x,o);if(m){j=c[p>>2]|0;m=j>>>31;j=(j|0)<0?0-j|0:j;if(H)j=3708+((j&127)<<1)|0;else j=3452+((j>>>T&127)<<1)|0;n=(b[j>>1]|0)+n|0;j=q>>>4&255;c[r>>2]=x+24+(d[21291+j>>0]<<2);if(I)oh(x,m);else lh(x,d[21547+j>>0]^m);Q=c[Qa>>2]|0;R=w+(v-Q<<1)|0;P=w+(Q+v<<1)|0;O=w+(v+~Q<<1)|0;b[O>>1]=e[O>>1]|2;b[R>>1]=b[R>>1]|b[3436+(m<<1)>>1];R=u+2|0;O=w+(R-Q<<1)|0;b[O>>1]=e[O>>1]|4;O=w+(u<<1)|0;b[O>>1]=b[O>>1]|b[3436+((m|2)<<1)>>1];b[y>>1]=e[y>>1]|4096;O=w+(R<<1)|0;b[O>>1]=b[O>>1]|b[3436+((m|4)<<1)>>1];O=w+(Q+u<<1)|0;b[O>>1]=e[O>>1]|1;b[P>>1]=b[P>>1]|b[3436+((m|6)<<1)>>1];R=w+(Q+R<<1)|0;b[R>>1]=e[R>>1]|8}b[y>>1]=e[y>>1]|16384}}while(z>>>0>>0);m=c[Ta>>2]|0}A=A+1|0}while(A>>>0>>0);j=c[Ua>>2]|0;o=m}}while(F>>>0>>0);break}case 1:{A=1<>2]|0;if(!j){n=0;break c}B=(T|0)==0;o=c[Ta>>2]|0;m=o;n=0;z=0;do{y=z;z=z+4|0;if(!m)m=0;else{w=(y|0)==-4;x=y|3;m=o;v=0;do{u=v;v=v+1|0;if(!w){r=y;do{j=c[Ua>>2]|0;if(r>>>0>=j>>>0)break;do if($)j=0;else{if((r|0)==(x|0)){j=1;break}j=(r|0)==(j+-1|0)}while(0);m=r;r=r+1|0;p=(_(c[Qa>>2]|0,r)|0)+v|0;p=(c[Ra>>2]|0)+(p<<1)|0;q=c[f>>2]|0;o=b[p>>1]|0;o=j?o&-1095:o;if((o&20480|0)==4096){m=c[(c[Va>>2]|0)+((_(c[Wa>>2]|0,m)|0)+u<<2)>>2]|0;m=(m|0)<0?0-m|0:m;if(B)j=4220+((m&127)<<1)|0;else j=3964+((m>>>T&127)<<1)|0;n=(b[j>>1]|0)+n|0;j=(m&A|0)!=0&1;c[q+100>>2]=q+24+(((o&8192|0)!=0?16:(o&255|0)!=0?15:14)<<2);if(I)oh(q,j);else lh(q,j);b[p>>1]=e[p>>1]|8192}}while(r>>>0>>0);m=c[Ta>>2]|0}}while(v>>>0>>0);j=c[Ua>>2]|0;o=m}}while(z>>>0>>0);break}case 2:{L=c[f>>2]|0;N=1<>2]|0;if(!m)j=0;else{O=L+92|0;P=L+100|0;Q=L+96|0;R=(T|0)==0;n=c[Ta>>2]|0;j=0;K=0;while(1){if(!n){o=K+4|0;n=0}else{D=K|3;E=K|1;F=E+1|0;G=E+3|0;o=K+4|0;H=K+1|0;I=K+2|0;J=K+3|0;B=0;while(1){do if(D>>>0>>0){m=c[Qa>>2]|0;q=B+1|0;p=(_(m,E)|0)+q|0;n=c[Ra>>2]|0;p=b[n+(p<<1)>>1]|0;if($){A=b[n+((_(m,F)|0)+q<<1)>>1]|p;A=A|b[n+((_(m,D)|0)+q<<1)>>1];m=((A|b[n+((_(m,G)|0)+q<<1)>>1])&20735)==0&1}else{do if(!(p&20735)){if(b[n+((_(m,F)|0)+q<<1)>>1]&20735){m=1;break}if(b[n+((_(m,D)|0)+q<<1)>>1]&20735){m=1;break}m=(b[n+((_(m,G)|0)+q<<1)>>1]&20665)!=0}else m=1;while(0);m=m&1^1}if(!m){A=0;m=0;_a=109;break}m=c[Wa>>2]|0;n=c[Va>>2]|0;A=c[n+((_(m,K)|0)+B<<2)>>2]|0;do if(!(((A|0)<0?0-A|0:A)&N)){A=c[n+((_(m,H)|0)+B<<2)>>2]|0;if(((A|0)<0?0-A|0:A)&N){m=1;break}A=c[n+((_(m,I)|0)+B<<2)>>2]|0;if(((A|0)<0?0-A|0:A)&N){m=2;break}m=c[n+((_(m,J)|0)+B<<2)>>2]|0;m=(((m|0)<0?0-m|0:m)&N|0)==0?4:3}else m=0;while(0);c[P>>2]=O;lh(L,(m|0)!=4&1);if((m|0)==4){p=q;break}c[P>>2]=Q;lh(L,m>>>1);lh(L,m&1);A=1;_a=109}else{A=0;m=0;_a=109}while(0);if((_a|0)==109){_a=0;z=m+K|0;d:do if(z>>>0>>0){y=z;do{m=c[Ua>>2]|0;if(y>>>0>=m>>>0)break d;do if($)m=0;else{if((y|0)==(D|0)){m=1;break}m=(y|0)==(m+-1|0)}while(0);$a=y;y=y+1|0;r=(_(c[Qa>>2]|0,y)|0)+B|0;u=r+1|0;v=c[Ra>>2]|0;x=v+(u<<1)|0;n=(_(c[Wa>>2]|0,$a)|0)+B|0;n=(c[Va>>2]|0)+(n<<2)|0;w=c[f>>2]|0;p=b[x>>1]|0;q=m?p&-1095:p;do if(!(A&($a|0)==(z|0))){if(p&20480)break;c[w+100>>2]=w+24+(d[20267+(q&255|aa)>>0]<<2);$a=c[n>>2]|0;$a=((($a|0)<0?0-$a|0:$a)&N|0)!=0;lh(w,$a&1);if($a)_a=117}else _a=117;while(0);if((_a|0)==117){_a=0;n=c[n>>2]|0;m=(n|0)<0?0-n|0:n;if(R)m=3708+((m&127)<<1)|0;else m=3452+((m>>>T&127)<<1)|0;j=(b[m>>1]|0)+j|0;$a=q>>>4&255;c[w+100>>2]=w+24+(d[21291+$a>>0]<<2);p=n>>>31;lh(w,d[21547+$a>>0]^p);w=c[Qa>>2]|0;$a=v+(u-w<<1)|0;q=v+(w+u<<1)|0;u=v+(u+~w<<1)|0;b[u>>1]=e[u>>1]|2;b[$a>>1]=b[$a>>1]|b[3436+(p<<1)>>1];$a=r+2|0;u=v+($a-w<<1)|0;b[u>>1]=e[u>>1]|4;u=v+(r<<1)|0;b[u>>1]=b[u>>1]|b[3436+((p|2)<<1)>>1];b[x>>1]=e[x>>1]|4096;u=v+($a<<1)|0;b[u>>1]=b[u>>1]|b[3436+((p|4)<<1)>>1];u=v+(w+r<<1)|0;b[u>>1]=e[u>>1]|1;b[q>>1]=b[q>>1]|b[3436+((p|6)<<1)>>1];$a=v+(w+$a<<1)|0;b[$a>>1]=e[$a>>1]|8}b[x>>1]=e[x>>1]&49151}while(y>>>0>>0)}while(0);p=B+1|0}n=c[Ta>>2]|0;m=c[Ua>>2]|0;if(p>>>0>>0)B=p;else break}}if(o>>>0>>0)K=o;else break}}if(ba){n=j;break c}uh(ka);n=j;break}default:n=j}while(0);if(Ia)s=+h[Ha>>3];else s=1.0;if(X)t=+Ig(ha,ga);else t=+Lg(ha,ga);t=+(1<>3]=+h[Ya>>3]+t;do if(Y)_a=137;else{if((T|0)<1&(V|0)==2){_a=137;break}mh(ka);m=S+(i*24|0)+20|0;j=a[m>>0]|1;a[m>>0]=j;m=1}while(0);do if((_a|0)==137){j=(c[ea>>2]|0)+-4|0;if((V|0)!=0&(T|0)<(j|0))if(W)_a=141;else _a=140;else if(W|((V|0)!=2|(T|0)!=(j|0)))_a=141;else _a=140;if((_a|0)==140){_a=0;mh(ka);m=S+(i*24|0)+20|0;j=a[m>>0]|1;a[m>>0]=j;m=1;break}else if((_a|0)==141){_a=0;m=S+(i*24|0)+20|0;j=a[m>>0]&-2;a[m>>0]=j;m=3;break}}while(0);R=V+1|0;$a=(R|0)==3;V=$a?0:R;T=($a<<31>>31)+T|0;do if((T|0)>0&(j&1)!=0)if(da&(V>>>0<2?(T|0)<((c[ea>>2]|0)+-4|0):0)){nh(ka);break}else{sh(ka);break}while(0);h[S+(i*24|0)+8>>3]=U;c[S+(i*24|0)>>2]=(jh(ka)|0)+m;if(!Z)ph(ka);i=i+1|0;if((T|0)<=-1)break b;else j=n}}else i=0;while(0);do if(!(ja&16)){if(ja&1)break;mh(ka)}else th(ka);while(0);q=la+(na*52|0)+48|0;c[q>>2]=i;if(i){n=la+(na*52|0)+8|0;p=0;do{o=c[n>>2]|0;j=o+(p*24|0)|0;$a=c[j>>2]|0;if($a>>>0>(jh(ka)|0)>>>0){i=jh(ka)|0;c[j>>2]=i}else i=c[j>>2]|0;do if(i>>>0>1){m=i+-1|0;if((a[(c[fa>>2]|0)+m>>0]|0)!=-1)break;c[j>>2]=m;i=m}while(0);if(!p)j=0;else j=c[(c[n>>2]|0)+((p+-1|0)*24|0)>>2]|0;c[o+(p*24|0)+16>>2]=i-j;p=p+1|0}while(p>>>0<(c[q>>2]|0)>>>0)}na=na+1|0}while(na>>>0<(_(c[pa>>2]|0,c[oa>>2]|0)|0)>>>0);i=c[Aa>>2]|0;m=c[za>>2]|0}qa=qa+1|0}while(qa>>>0<(_(i,m)|0)>>>0);j=c[Ea>>2]|0}ya=ya+1|0}while(ya>>>0>>0);i=c[Na>>2]|0}Fa=Fa+1|0}while(Fa>>>0>>0);i=c[Za>>2]|0}Oa=Oa+1|0;if(Oa>>>0>=i>>>0){i=1;_a=173;break}}if((_a|0)==173)return i|0;return 0}function _g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=_(d,b)|0;if(!(c[a+40>>2]|0)){h=a+24|0;i=a+8|0;e=c[i>>2]|0;do if(g>>>0>(c[h>>2]|0)>>>0){Sc(e);f=g<<2;e=Rc(f)|0;c[i>>2]=e;if(!e){b=0;return b|0}else{c[h>>2]=g;break}}else f=g<<2;while(0);Qi(e|0,0,f|0)|0}g=b+2|0;c[a+32>>2]=g;g=_(d+2|0,g)|0;h=a+28|0;i=a+12|0;e=c[i>>2]|0;do if(g>>>0>(c[h>>2]|0)>>>0){Sc(e);f=g<<1;e=Rc(f)|0;c[i>>2]=e;if(!e){b=0;return b|0}else{c[h>>2]=g;break}}else f=g<<1;while(0);Qi(e|0,0,f|0)|0;c[a+16>>2]=b;c[a+20>>2]=d;b=1;return b|0}function $g(a,f,g,h,i){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=c[a>>2]|0;l=b[f>>1]|0;m=l&255;if(!((m|0)!=0&(l&20480|0)==0))return;k=j+100|0;c[k>>2]=j+24+(d[20267+(m|h<<8)>>0]<<2);if(wh(j)|0){h=l>>>4&255;c[k>>2]=j+24+(d[21291+h>>0]<<2);l=wh(j)|0;h=d[21547+h>>0]|0;m=h^l;c[g>>2]=(l|0)!=(h|0)?0-i|0:i;a=c[a+32>>2]|0;i=f+(0-a<<1)|0;h=f+(a<<1)|0;g=f+(~a<<1)|0;b[g>>1]=e[g>>1]|2;b[i>>1]=b[i>>1]|b[3436+(m<<1)>>1];i=f+(1-a<<1)|0;b[i>>1]=e[i>>1]|4;i=f+-2|0;b[i>>1]=b[i>>1]|b[3436+(m+2<<1)>>1];b[f>>1]=e[f>>1]|4096;i=f+2|0;b[i>>1]=b[i>>1]|b[3436+(m+4<<1)>>1];i=f+(a+-1<<1)|0;b[i>>1]=e[i>>1]|1;b[h>>1]=b[h>>1]|b[3436+(m+6<<1)>>1];a=f+(a+1<<1)|0;b[a>>1]=e[a>>1]|8}b[f>>1]=e[f>>1]|16384;return}function ah(a,f,g,h,i){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=c[a>>2]|0;l=b[f>>1]|0;if(l&20480){a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}k=j+100|0;c[k>>2]=j+24+(d[20267+(l&255|h<<8)>>0]<<2);if(!(wh(j)|0)){a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}h=l>>>4&255;c[k>>2]=j+24+(d[21291+h>>0]<<2);k=wh(j)|0;h=d[21547+h>>0]|0;l=h^k;c[g>>2]=(k|0)!=(h|0)?0-i|0:i;a=c[a+32>>2]|0;i=f+(0-a<<1)|0;h=f+(a<<1)|0;g=f+(~a<<1)|0;b[g>>1]=e[g>>1]|2;b[i>>1]=b[i>>1]|b[3436+(l<<1)>>1];i=f+(1-a<<1)|0;b[i>>1]=e[i>>1]|4;i=f+-2|0;b[i>>1]=b[i>>1]|b[3436+(l+2<<1)>>1];b[f>>1]=e[f>>1]|4096;i=f+2|0;b[i>>1]=b[i>>1]|b[3436+(l+4<<1)>>1];i=f+(a+-1<<1)|0;b[i>>1]=e[i>>1]|1;b[h>>1]=b[h>>1]|b[3436+(l+6<<1)>>1];a=f+(a+1<<1)|0;b[a>>1]=e[a>>1]|8;a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}function bh(a,e,f,g,h,j,k,l,m,n,o,p){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+16|0;H=I;c[H>>2]=0;q=c[a>>2]|0;D=c[a+4>>2]|0;a=c[D+76>>2]|0;F=a+(e*5640|0)|0;s=(b[D>>1]|0)==4?2:1;t=D+80|0;if(!(c[t>>2]|0))r=1;else r=c[q+16>>2]|0;G=(c[a+(e*5640|0)+420>>2]|0)+1|0;E=Lf(q,D,e,p)|0;if(!E){e=0;i=I;return e|0}c[j>>2]=0;a:do if(!p){if(r){a=0;b:while(1){p=0;o=E;q=0;while(1){Mf(E,D,e,q,a,n,0);if((c[o+80>>2]|0)==-1){a=9;break b}m=o+36|0;c:while(1){do if(!(Of(o)|0))break c;while((c[m>>2]|0)>>>0>=g>>>0);c[H>>2]=0;if(!(fh(e,f,F,o,h,H,k,l)|0)){a=13;break b}B=c[H>>2]|0;c[j>>2]=(c[j>>2]|0)+B;k=k-B|0;p=B+p|0;h=h+B|0}B=c[t>>2]|0;if((B|0)!=0&p>>>0>B>>>0){a=17;break b}q=q+1|0;if(q>>>0>>0)o=o+232|0;else break}a=a+1|0;if(a>>>0>=r>>>0)break a}if((a|0)==9){Kf(E,G);e=0;i=I;return e|0}else if((a|0)==13){Kf(E,G);e=0;i=I;return e|0}else if((a|0)==17){Kf(E,G);e=0;i=I;return e|0}}}else{Mf(E,D,e,o,m,n,p);z=E+(o*232|0)|0;if((c[E+(o*232|0)+80>>2]|0)==-1){Kf(E,G);e=0;i=I;return e|0}n=E+(o*232|0)+36|0;u=(l|0)==0;v=f+840|0;w=l+12|0;x=l+8|0;y=l+88|0;t=D+93|0;s=a+(e*5640|0)+5636|0;while(1){do if(!(Of(z)|0))break a;while((c[n>>2]|0)>>>0>=g>>>0);c[H>>2]=0;if(!(fh(e,f,F,z,h,H,k,l)|0))break;r=c[H>>2]|0;h=h+r|0;k=k-r|0;c[j>>2]=(c[j>>2]|0)+r;if(!u){if(!(c[w>>2]|0))a=c[x>>2]|0;else{q=c[y>>2]|0;a=c[x>>2]|0;o=c[q+(e*592|0)+548>>2]|0;p=o+(a<<5)|0;if(!a){m=(c[q+(e*592|0)+12>>2]|0)+1|0;q=((m|0)<0)<<31>>31;D=p;c[D>>2]=m;c[D+4>>2]=q}else{if((((d[s>>0]|0)>>>2|(d[t>>0]|0)>>>3)&1)!=0?(B=p,A=c[B>>2]|0,B=c[B+4>>2]|0,!((A|0)==0&(B|0)==0)):0){m=A;q=B}else{m=o+(a+-1<<5)+16|0;m=Si(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;q=C}D=p;c[D>>2]=m;c[D+4>>2]=q}p=Si(m|0,q|0,-1,-1)|0;m=C;r=Si(p|0,m|0,r|0,0)|0;D=o+(a<<5)+16|0;c[D>>2]=r;c[D+4>>2]=C;D=o+(a<<5)+8|0;r=D;r=Si(p|0,m|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[D>>2]=r;c[D+4>>2]=C}c[x>>2]=a+1}c[v>>2]=(c[v>>2]|0)+1}Kf(E,G);e=0;i=I;return e|0}while(0);Kf(E,G);e=1;i=I;return e|0}function ch(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0;$=i;i=i+112|0;W=$+64|0;X=$+32|0;S=$;R=$+96|0;Q=$+92|0;k=c[a>>2]|0;M=a+4|0;Z=c[M>>2]|0;h=c[Z+76>>2]|0;O=h+(b*5640|0)|0;P=h+(b*5640|0)+420|0;Y=(c[P>>2]|0)+1|0;Z=Jf(k,Z,b)|0;if(!Z){aa=0;i=$;return aa|0}N=k+16|0;L=h+(b*5640|0)+12|0;K=d+20|0;J=k+24|0;b=g;a=e;H=Z;I=0;a:while(1){if((c[H+80>>2]|0)==-1){aa=4;break}h=Pc(c[N>>2]<<2)|0;if(!h){aa=6;break}Qi(h|0,1,c[N>>2]<<2|0)|0;if(Of(H)|0){g=H+24|0;d=H+28|0;G=H+36|0;k=H+32|0;F=b;E=a;while(1){if((c[L>>2]|0)>>>0>(c[G>>2]|0)>>>0){b=c[g>>2]|0;a=c[K>>2]|0;if((c[d>>2]|0)>>>0<(c[a+(b*52|0)+20>>2]|0)>>>0){c[h+(b<<2)>>2]=0;D=c[M>>2]|0;c[Q>>2]=0;if(!(gh(D,a,O,H,R,E,Q,F,j)|0)){aa=45;break a}C=c[Q>>2]|0;if(!(c[R>>2]|0))a=C;else{B=F-C|0;z=E+C|0;c[Q>>2]=0;b=c[d>>2]|0;l=c[(c[K>>2]|0)+((c[g>>2]|0)*52|0)+24>>2]|0;x=l+(b*136|0)+24|0;a=c[x>>2]|0;b:do if(!a){a=z;aa=43}else{y=E+F|0;m=a;D=0;w=l+(b*136|0)+28|0;l=z;c:while(1){a=c[k>>2]|0;b=c[w+20>>2]|0;if(((c[w+8>>2]|0)!=(c[w>>2]|0)?(c[w+12>>2]|0)!=(c[w+4>>2]|0):0)?(V=_(c[b+(a*40|0)+20>>2]|0,c[b+(a*40|0)+16>>2]|0)|0,(V|0)!=0):0){A=0;a=c[b+(a*40|0)+24>>2]|0;p=l;while(1){u=a+40|0;if(!(c[u>>2]|0))b=p;else{v=a+44|0;b=c[v>>2]|0;do if(!b){o=c[a+4>>2]|0;c[v>>2]=1;c[a+36>>2]=0}else{l=b+-1|0;m=c[a+4>>2]|0;if((c[m+(l<<5)+8>>2]|0)!=(c[m+(l<<5)+20>>2]|0)){o=m+(l<<5)|0;break}c[v>>2]=b+1;o=m+(b<<5)|0}while(0);t=a+36|0;b=a+32|0;s=p;n=o+28|0;l=c[n>>2]|0;if((l+s|0)>>>0>>0|(p+l|0)>>>0>y>>>0){b=D;a=A;break c}m=c[t>>2]|0;s=p;r=o;while(1){o=l+m|0;if(o>>>0>>0){b=D;a=A;aa=29;break a}p=c[a>>2]|0;if(o>>>0>(c[b>>2]|0)>>>0){l=Tc(p,o)|0;if(!l){aa=32;break a}m=c[t>>2]|0;q=c[n>>2]|0;c[b>>2]=q+m;c[a>>2]=l;p=l;l=q}Ui(p+m|0,s|0,l|0)|0;l=r+8|0;m=c[l>>2]|0;if(!m){c[r>>2]=a;o=c[t>>2]|0;c[r+4>>2]=o}else o=c[t>>2]|0;p=c[n>>2]|0;q=s;s=s+p|0;n=c[r+24>>2]|0;m=n+m|0;c[l>>2]=m;l=c[u>>2]|0;c[u>>2]=l-n;c[r+12>>2]=m;m=p+o|0;c[t>>2]=m;o=r+16|0;c[o>>2]=(c[o>>2]|0)+p;if((l|0)==(n|0)){b=s;break}c[v>>2]=(c[v>>2]|0)+1;o=s;n=r+60|0;l=c[n>>2]|0;if((l+o|0)>>>0>>0?1:(q+(l+p)|0)>>>0>y>>>0){b=D;a=A;break c}else r=r+32|0}c[a+48>>2]=c[v>>2]}A=A+1|0;if(A>>>0>=V>>>0){a=b;break}else{a=a+56|0;p=b}}b=c[x>>2]|0}else{b=m;a=l}D=D+1|0;if(D>>>0>=b>>>0){aa=43;break b}else{m=b;w=w+36|0;l=a}}z=c[k>>2]|0;A=c[d>>2]|0;D=c[g>>2]|0;c[S>>2]=l;c[S+4>>2]=B;c[S+8>>2]=a;c[S+12>>2]=z;c[S+16>>2]=b;c[S+20>>2]=A;c[S+24>>2]=D;Ub(j,2,21803,S)|0;a=c[Q>>2]|0}while(0);if((aa|0)==43){aa=0;a=a-z|0;c[Q>>2]=a}a=a+C|0}l=c[g>>2]|0;C=c[d>>2]|0;b=(c[J>>2]|0)+(l*52|0)+36|0;D=c[b>>2]|0;c[b>>2]=C>>>0>D>>>0?C:D;b=a}else aa=47}else{a=c[K>>2]|0;aa=47}if((aa|0)==47){aa=0;D=c[M>>2]|0;c[Q>>2]=0;if(!(gh(D,a,O,H,R,E,Q,F,j)|0)){aa=69;break a}u=c[Q>>2]|0;if(!(c[R>>2]|0))a=u;else{l=F-u|0;w=c[d>>2]|0;x=c[g>>2]|0;a=c[(c[K>>2]|0)+(x*52|0)+24>>2]|0;c[Q>>2]=0;t=c[a+(w*136|0)+24>>2]|0;if(!t)a=0;else{v=c[k>>2]|0;b=0;s=a+(w*136|0)+28|0;while(1){m=c[s+20>>2]|0;if(((c[s+8>>2]|0)!=(c[s>>2]|0)?(c[s+12>>2]|0)!=(c[s+4>>2]|0):0)?(T=_(c[m+(v*40|0)+20>>2]|0,c[m+(v*40|0)+16>>2]|0)|0,(T|0)!=0):0){a=0;r=c[m+(v*40|0)+24>>2]|0;while(1){p=r+40|0;d:do if(c[p>>2]|0){q=r+44|0;m=c[q>>2]|0;do if(!m){o=c[r+4>>2]|0;c[q>>2]=1;c[r+36>>2]=0}else{n=m+-1|0;o=c[r+4>>2]|0;if((c[o+(n<<5)+8>>2]|0)!=(c[o+(n<<5)+20>>2]|0)){o=o+(n<<5)|0;break}c[q>>2]=m+1;o=o+(m<<5)|0}while(0);D=c[Q>>2]|0;m=c[o+28>>2]|0;n=m+D|0;if(n>>>0>>0|n>>>0>l>>>0){g=v;d=w;k=x;aa=65;break a}while(1){c[Q>>2]=n;D=c[o+24>>2]|0;C=o+8|0;c[C>>2]=(c[C>>2]|0)+D;C=c[p>>2]|0;c[p>>2]=C-D;if((C|0)==(D|0))break d;c[q>>2]=(c[q>>2]|0)+1;D=c[Q>>2]|0;m=c[o+60>>2]|0;n=m+D|0;if(n>>>0>>0|n>>>0>l>>>0){g=v;d=w;k=x;aa=65;break a}else o=o+32|0}}while(0);a=a+1|0;if(a>>>0>=T>>>0)break;else r=r+56|0}}b=b+1|0;if(b>>>0>=t>>>0)break;else s=s+36|0}a=c[Q>>2]|0}a=a+u|0}l=c[g>>2]|0;b=a}if((c[h+(l<<2)>>2]|0)!=0?(U=(c[J>>2]|0)+(l*52|0)+36|0,(c[U>>2]|0)==0):0)c[U>>2]=(c[(c[K>>2]|0)+(l*52|0)+20>>2]|0)+-1;a=E+b|0;b=F-b|0;if(!(Of(H)|0))break;else{F=b;E=a}}}Uc(h);I=I+1|0;if(I>>>0>(c[P>>2]|0)>>>0){h=a;aa=75;break}else H=H+232|0}if((aa|0)==4){Kf(Z,Y);aa=0;i=$;return aa|0}else if((aa|0)==6){Kf(Z,Y);aa=0;i=$;return aa|0}else if((aa|0)==29){f=c[k>>2]|0;e=c[d>>2]|0;W=c[g>>2]|0;c[X>>2]=l;c[X+4>>2]=m;c[X+8>>2]=~l;c[X+12>>2]=a;c[X+16>>2]=f;c[X+20>>2]=b;c[X+24>>2]=e;c[X+28>>2]=W;Ub(j,1,21888,X)|0;aa=45}else if((aa|0)==32){Uc(c[a>>2]|0);c[a>>2]=0;c[b>>2]=0;aa=45}else if((aa|0)==65){c[W>>2]=m;c[W+4>>2]=l;c[W+8>>2]=a;c[W+12>>2]=g;c[W+16>>2]=b;c[W+20>>2]=d;c[W+24>>2]=k;Ub(j,1,21987,W)|0;aa=69}else if((aa|0)==75){Kf(Z,Y);c[f>>2]=h-e;aa=1;i=$;return aa|0}if((aa|0)==45){Kf(Z,Y);Uc(h);aa=0;i=$;return aa|0}else if((aa|0)==69){Kf(Z,Y);Uc(h);aa=0;i=$;return aa|0}return 0}function dh(a,b){a=a|0;b=b|0;var d=0;d=Qc(1,8)|0;if(!d){a=0;return a|0}c[d>>2]=a;c[d+4>>2]=b;a=d;return a|0}function eh(a){a=a|0;if(!a)return;Uc(a);return}function fh(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0;s=c[f+28>>2]|0;J=c[f+32>>2]|0;K=c[f+36>>2]|0;r=c[(c[d+20>>2]|0)+((c[f+24>>2]|0)*52|0)+24>>2]|0;if(!(c[e>>2]&2))G=g;else{a[g>>0]=-1;a[g+1>>0]=-111;a[g+2>>0]=0;a[g+3>>0]=4;G=d+840|0;a[g+4>>0]=(c[G>>2]|0)>>>8;a[g+5>>0]=c[G>>2];j=j+-6|0;G=g+6|0}if((K|0)==0?(q=r+(s*136|0)+24|0,(c[q>>2]|0)!=0):0){o=r+(s*136|0)+28|0;p=0;while(1){f=c[o+20>>2]|0;kg(c[f+(J*40|0)+32>>2]|0);m=f+(J*40|0)+36|0;kg(c[m>>2]|0);n=_(c[f+(J*40|0)+20>>2]|0,c[f+(J*40|0)+16>>2]|0)|0;if(n){f=f+(J*40|0)+24|0;d=o+28|0;l=0;do{H=c[f>>2]|0;c[H+(l*52|0)+40>>2]=0;ng(c[m>>2]|0,l,(c[d>>2]|0)-(c[H+(l*52|0)+28>>2]|0)|0);l=l+1|0}while((l|0)!=(n|0))}p=p+1|0;if(p>>>0>=(c[q>>2]|0)>>>0)break;else o=o+36|0}}E=wg()|0;if(!E){i=0;return i|0}zg(E,G,j);Bg(E,1,1);F=r+(s*136|0)+28|0;H=r+(s*136|0)+24|0;if(c[H>>2]|0){A=K+1|0;C=F;D=0;while(1){n=c[C+20>>2]|0;B=_(c[n+(J*40|0)+20>>2]|0,c[n+(J*40|0)+16>>2]|0)|0;o=n+(J*40|0)+24|0;f=(B|0)==0;if(!f){d=n+(J*40|0)+32|0;l=c[o>>2]|0;m=0;while(1){if((c[l+40>>2]|0)==0?(c[(c[l+4>>2]|0)+(K*24|0)>>2]|0)!=0:0)ng(c[d>>2]|0,m,K);m=m+1|0;if((m|0)==(B|0))break;else l=l+52|0}if(!f){z=n+(J*40|0)+32|0;y=n+(J*40|0)+36|0;w=c[o>>2]|0;x=0;while(1){f=(c[w+4>>2]|0)+(K*24|0)|0;v=w+40|0;if(!(c[v>>2]|0))og(E,c[z>>2]|0,x,A);else Bg(E,(c[f>>2]|0)!=0&1,1);d=c[f>>2]|0;if(d){if(!(c[v>>2]|0)){c[w+32>>2]=3;og(E,c[y>>2]|0,x,999);d=c[f>>2]|0}a:do switch(d|0){case 1:{Bg(E,0,1);break}case 2:{Bg(E,2,2);break}default:{if(d>>>0<6){Bg(E,d+-3|12,4);break a}if(d>>>0<37){Bg(E,d+-6|480,9);break a}if(d>>>0<165)Bg(E,d+-37|65408,16)}}while(0);o=c[v>>2]|0;d=c[f>>2]|0;u=d+o|0;t=w+8|0;if(o>>>0>>0){s=w+32|0;q=o+-1+d|0;m=0;n=0;l=0;r=(c[t>>2]|0)+(o*24|0)|0;while(1){l=l+1|0;n=(c[r+16>>2]|0)+n|0;if((a[r+20>>0]&1)!=0|(o|0)==(q|0)){if((n|0)>1){d=0;do{n=n>>1;d=d+1|0}while((n|0)>1)}else d=0;p=c[s>>2]|0;if((l|0)>1){n=0;do{l=l>>1;n=n+1|0}while((l|0)>1);l=n}else l=0;n=d+1-p-l|0;m=(m|0)>(n|0)?m:n;n=0;l=0}o=o+1|0;if((o|0)==(u|0))break;else r=r+24|0}if((m|0)>0){d=m;while(1){Bg(E,1,1);if((d|0)>1)d=d+-1|0;else{d=n;break}}}else d=n}else{m=0;d=0;l=0}Bg(E,0,1);q=w+32|0;c[q>>2]=(c[q>>2]|0)+m;m=c[v>>2]|0;if(m>>>0>>0){p=(c[t>>2]|0)+(m*24|0)|0;while(1){l=l+1|0;n=(c[p+16>>2]|0)+d|0;if((a[p+20>>0]&1)==0?(m|0)!=((c[v>>2]|0)+-1+(c[f>>2]|0)|0):0)d=n;else{o=c[q>>2]|0;if((l|0)>1){d=0;do{l=l>>1;d=d+1|0}while((l|0)>1)}else d=0;Bg(E,n,d+o|0);d=0;l=0}m=m+1|0;if((m|0)==(u|0))break;else p=p+24|0}}}x=x+1|0;if((x|0)==(B|0))break;else w=w+52|0}}}D=D+1|0;if(D>>>0>=(c[H>>2]|0)>>>0)break;else C=C+36|0}}if(!(Dg(E)|0)){xg(E);i=0;return i|0}d=yg(E)|0;f=G+d|0;j=j-d|0;xg(E);if(c[e>>2]&4){a[f>>0]=-1;a[G+(d+1)>>0]=-110;j=j+-2|0;f=G+(d+2)|0}t=(k|0)!=0;if(t?(c[k+12>>2]|0)!=0:0){G=f-g|0;e=(c[(c[k+88>>2]|0)+(b*592|0)+548>>2]|0)+(c[k+8>>2]<<5)+8|0;c[e>>2]=G;c[e+4>>2]=((G|0)<0)<<31>>31}d=c[H>>2]|0;b:do if(d){u=k+12|0;v=k+8|0;w=k+88|0;r=F;s=0;c:while(1){l=c[r+20>>2]|0;q=_(c[l+(J*40|0)+20>>2]|0,c[l+(J*40|0)+16>>2]|0)|0;l=c[l+(J*40|0)+24>>2]|0;if(q){if(t){p=0;while(1){o=c[l+4>>2]|0;d=o+(K*24|0)|0;if(c[d>>2]|0){m=o+(K*24|0)+4|0;n=c[m>>2]|0;if(n>>>0>j>>>0){f=0;j=81;break c}Ui(f|0,c[o+(K*24|0)+16>>2]|0,n|0)|0;e=l+40|0;c[e>>2]=(c[e>>2]|0)+(c[d>>2]|0);e=c[m>>2]|0;f=f+e|0;j=j-e|0;if((c[u>>2]|0)!=0?(e=(c[(c[w>>2]|0)+(b*592|0)+548>>2]|0)+(c[v>>2]<<5)+24|0,I=+h[o+(K*24|0)+8>>3]+ +h[e>>3],h[e>>3]=I,+h[k>>3]>3]=I}p=p+1|0;if(p>>>0>=q>>>0)break;else l=l+52|0}}else{p=0;while(1){d=c[l+4>>2]|0;m=d+(K*24|0)|0;if(c[m>>2]|0){n=d+(K*24|0)+4|0;o=c[n>>2]|0;if(o>>>0>j>>>0){f=0;j=81;break c}Ui(f|0,c[d+(K*24|0)+16>>2]|0,o|0)|0;e=l+40|0;c[e>>2]=(c[e>>2]|0)+(c[m>>2]|0);e=c[n>>2]|0;j=j-e|0;f=f+e|0}p=p+1|0;if(p>>>0>=q>>>0)break;else l=l+52|0}}d=c[H>>2]|0}s=s+1|0;if(s>>>0>=d>>>0)break b;else r=r+36|0}if((j|0)==81)return f|0}while(0);c[i>>2]=f-g+(c[i>>2]|0);i=1;return i|0}function gh(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+64|0;L=N+40|0;K=N+32|0;x=N+24|0;w=N+16|0;u=N+8|0;t=N;v=N+48|0;M=N+44|0;c[M>>2]=h;z=c[f+28>>2]|0;J=f+24|0;y=c[d+((c[J>>2]|0)*52|0)+24>>2]|0;H=f+36|0;if((c[H>>2]|0)==0?(s=y+(z*136|0)+24|0,m=c[s>>2]|0,(m|0)!=0):0){r=f+32|0;p=0;q=y+(z*136|0)+28|0;while(1){d=c[r>>2]|0;n=c[q+20>>2]|0;if((c[q+8>>2]|0)!=(c[q>>2]|0)?(c[q+12>>2]|0)!=(c[q+4>>2]|0):0){kg(c[n+(d*40|0)+32>>2]|0);kg(c[n+(d*40|0)+36>>2]|0);m=_(c[n+(d*40|0)+20>>2]|0,c[n+(d*40|0)+16>>2]|0)|0;if(m){o=0;d=c[n+(d*40|0)+24>>2]|0;while(1){c[d+44>>2]=0;c[d+48>>2]=0;o=o+1|0;if((o|0)==(m|0))break;else d=d+56|0}}m=c[s>>2]|0}p=p+1|0;if(p>>>0>=m>>>0)break;else q=q+36|0}}do if(c[e>>2]&2){if(k>>>0<6){Ub(l,2,22072,t)|0;break}d=c[M>>2]|0;if((a[d>>0]|0)==-1?(a[d+1>>0]|0)==-111:0){c[M>>2]=d+6;break}Ub(l,2,22114,u)|0}while(0);G=wg()|0;if(!G){h=0;i=N;return h|0}do if(!(a[b+96>>0]&1))if(!(a[e+5636>>0]&2)){E=c[M>>2]|0;c[v>>2]=h+k-E;F=M;break}else{F=e+5168|0;E=c[F>>2]|0;v=e+5180|0;break}else{F=b+40|0;E=c[F>>2]|0;v=b+44|0}while(0);Ag(G,E,c[v>>2]|0);if(!(Cg(G,1)|0)){Eg(G)|0;m=yg(G)|0;d=E+m|0;xg(G);do if(c[e>>2]&4){if(((c[v>>2]|0)-d+(c[F>>2]|0)|0)>>>0<2){Ub(l,2,22135,w)|0;break}if((a[d>>0]|0)==-1?(a[E+(m+1)>>0]|0)==-110:0){d=E+(m+2)|0;break}Ub(l,2,22177,x)|0}while(0);c[v>>2]=(c[v>>2]|0)+((c[F>>2]|0)-d);c[F>>2]=d;c[g>>2]=0;c[j>>2]=(c[M>>2]|0)-h;h=1;i=N;return h|0}D=y+(z*136|0)+24|0;d=c[D>>2]|0;a:do if(d){B=f+32|0;C=e+5584|0;A=0;y=y+(z*136|0)+28|0;b:while(1){m=c[B>>2]|0;n=c[y+20>>2]|0;if(((c[y+8>>2]|0)!=(c[y>>2]|0)?(c[y+12>>2]|0)!=(c[y+4>>2]|0):0)?(I=_(c[n+(m*40|0)+20>>2]|0,c[n+(m*40|0)+16>>2]|0)|0,(I|0)!=0):0){b=n+(m*40|0)+32|0;f=n+(m*40|0)+36|0;w=y+28|0;x=0;k=c[n+(m*40|0)+24>>2]|0;while(1){m=k+44|0;if(!(c[m>>2]|0))d=pg(G,c[b>>2]|0,x,(c[H>>2]|0)+1|0)|0;else d=Cg(G,1)|0;c:do if(!d)c[k+40>>2]=0;else{if(!(c[m>>2]|0)){d=0;while(1)if(!(pg(G,c[f>>2]|0,x,d)|0))d=d+1|0;else break;c[k+24>>2]=1-d+(c[w>>2]|0);c[k+28>>2]=3}do if(Cg(G,1)|0)if(Cg(G,1)|0){d=Cg(G,2)|0;if((d|0)!=3){d=d+3|0;break}d=Cg(G,5)|0;if((d|0)==31){d=(Cg(G,7)|0)+37|0;break}else{d=d+6|0;break}}else d=2;else d=1;while(0);t=k+40|0;c[t>>2]=d;d=0;while(1)if(!(Cg(G,1)|0))break;else d=d+1|0;u=k+28|0;c[u>>2]=(c[u>>2]|0)+d;m=c[m>>2]|0;do if(!m){n=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;d=k+52|0;if(!(c[d>>2]|0)){c[d>>2]=10;o=k+4|0;m=Tc(c[o>>2]|0,320)|0;if(!m){m=d;n=o;d=o;o=66;break b}c[o>>2]=m}else m=c[k+4>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m+24>>2]=0;c[m+28>>2]=0;if(n&4){c[m+20>>2]=1;m=0;break}m=m+20|0;if(!(n&1)){c[m>>2]=109;m=0;break}else{c[m>>2]=10;m=0;break}}else{q=m+-1|0;r=k+4|0;n=c[r>>2]|0;if((c[n+(q<<5)+8>>2]|0)!=(c[n+(q<<5)+20>>2]|0)){d=k+52|0;m=q;break}p=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;d=k+52|0;o=c[d>>2]|0;if((m+1|0)>>>0>o>>>0){z=o+10|0;c[d>>2]=z;n=Tc(n,z<<5)|0;if(!n){n=r;m=d;d=r;o=77;break b}c[r>>2]=n}z=n+(m<<5)|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;if(p&4){c[n+(m<<5)+20>>2]=1;break}if(!(p&1)){c[n+(m<<5)+20>>2]=109;break}else{z=c[n+(q<<5)+20>>2]|0;c[n+(m<<5)+20>>2]=(z|0)==1|(z|0)==10?2:1;break}}while(0);s=k+4|0;q=c[t>>2]|0;while(1){p=c[s>>2]|0;n=(c[p+(m<<5)+20>>2]|0)-(c[p+(m<<5)+8>>2]|0)|0;n=(n|0)<(q|0)?n:q;c[p+(m<<5)+24>>2]=n;p=c[u>>2]|0;if(n>>>0>1){o=0;while(1){o=o+1|0;if(n>>>0>3)n=n>>>1;else{n=o;break}}}else n=0;p=Cg(G,n+p|0)|0;n=c[s>>2]|0;c[n+(m<<5)+28>>2]=p;p=q-(c[n+(m<<5)+24>>2]|0)|0;if((p|0)<=0)break c;q=m+1|0;r=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;o=c[d>>2]|0;if((m+2|0)>>>0>o>>>0){z=o+10|0;c[d>>2]=z;n=Tc(n,z<<5)|0;if(!n){n=s;m=s;o=90;break b}c[s>>2]=n}z=n+(q<<5)|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;if(r&4){c[n+(q<<5)+20>>2]=1;m=q;q=p;continue}if(!(r&1)){c[n+(q<<5)+20>>2]=109;m=q;q=p;continue}else{z=c[n+(m<<5)+20>>2]|0;c[n+(q<<5)+20>>2]=(z|0)==1|(z|0)==10?2:1;m=q;q=p;continue}}}while(0);x=x+1|0;if(x>>>0>=I>>>0)break;else k=k+56|0}d=c[D>>2]|0}A=A+1|0;if(A>>>0>=d>>>0)break a;else y=y+36|0}if((o|0)==66){Uc(c[d>>2]|0);c[n>>2]=0;c[m>>2]=0;xg(G);h=0;i=N;return h|0}else if((o|0)==77){Uc(c[d>>2]|0);c[n>>2]=0;c[m>>2]=0;xg(G);h=0;i=N;return h|0}else if((o|0)==90){Uc(c[m>>2]|0);c[n>>2]=0;c[d>>2]=0;xg(G);h=0;i=N;return h|0}}while(0);if(!(Eg(G)|0)){xg(G);h=0;i=N;return h|0}m=yg(G)|0;d=E+m|0;xg(G);do if(c[e>>2]&4){if(((c[v>>2]|0)-d+(c[F>>2]|0)|0)>>>0<2){Ub(l,2,22135,K)|0;break}if((a[d>>0]|0)==-1?(a[E+(m+1)>>0]|0)==-110:0){d=E+(m+2)|0;break}Ub(l,2,22177,L)|0}while(0);c[v>>2]=(c[v>>2]|0)+((c[F>>2]|0)-d);c[F>>2]=d;c[g>>2]=1;c[j>>2]=(c[M>>2]|0)-h;h=1;i=N;return h|0}function hh(){return Pc(104)|0}function ih(a){a=a|0;if(!a)return;Uc(a);return}function jh(a){a=a|0;return (c[a+12>>2]|0)-(c[a+16>>2]|0)|0}function kh(b,d){b=b|0;d=d|0;var e=0,f=0;c[b+100>>2]=b+24;c[b+4>>2]=32768;c[b>>2]=0;f=d+-1|0;c[b+12>>2]=f;e=b+8|0;c[e>>2]=12;c[e>>2]=(a[f>>0]|0)==-1?13:12;c[b+16>>2]=d;return}function lh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=c[b+100>>2]|0;h=c[g>>2]|0;j=(c[h+4>>2]|0)==(d|0);f=c[h>>2]|0;k=b+4|0;d=(c[k>>2]|0)-f|0;c[k>>2]=d;if(!j){if(d>>>0>>0){j=(c[b>>2]|0)+f|0;c[b>>2]=j;f=d;d=j;j=b}else{c[k>>2]=f;d=c[b>>2]|0;j=b}c[g>>2]=c[h+12>>2];i=b+8|0;h=b+12|0;g=d;d=c[i>>2]|0;while(1){f=f<<1;c[k>>2]=f;e=g<<1;c[j>>2]=e;d=d+-1|0;c[i>>2]=d;if(!d){d=c[h>>2]|0;f=a[d>>0]|0;do if(f<<24>>24!=-1){if(!(e&134217728)){e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>18;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}a[d>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){b=c[j>>2]&134217727;c[j>>2]=b;e=d+1|0;c[h>>2]=e;a[e>>0]=b>>>20;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[h>>2]=e;a[e>>0]=(c[j>>2]|0)>>>19;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}}else{e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>19;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7}while(0);f=c[k>>2]|0}if(!(f&32768))g=e;else break}return}if(d&32768){c[b>>2]=(c[b>>2]|0)+f;return}if(d>>>0>>0){c[k>>2]=f;e=c[b>>2]|0;j=b}else{e=(c[b>>2]|0)+f|0;c[b>>2]=e;f=d;j=b}c[g>>2]=c[h+8>>2];i=b+8|0;h=b+12|0;g=e;d=c[i>>2]|0;while(1){f=f<<1;c[k>>2]=f;e=g<<1;c[j>>2]=e;d=d+-1|0;c[i>>2]=d;if(!d){d=c[h>>2]|0;f=a[d>>0]|0;do if(f<<24>>24!=-1){if(!(e&134217728)){e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>18;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}a[d>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){b=c[j>>2]&134217727;c[j>>2]=b;e=d+1|0;c[h>>2]=e;a[e>>0]=b>>>20;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[h>>2]=e;a[e>>0]=(c[j>>2]|0)>>>19;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}}else{e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>19;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7}while(0);f=c[k>>2]|0}if(!(f&32768))g=e;else break}return}function mh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[b>>2]|0;f=h|65535;g=b+8|0;f=(f>>>0<((c[b+4>>2]|0)+h|0)>>>0?f:f+-32768|0)<>2];c[b>>2]=f;h=b+12|0;d=c[h>>2]|0;e=a[d>>0]|0;do if(e<<24>>24!=-1){if(!(f&134217728)){d=d+1|0;c[h>>2]=d;a[d>>0]=f>>>19;d=c[b>>2]&524287;c[b>>2]=d;c[g>>2]=8;e=8;break}a[d>>0]=e+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){e=c[b>>2]&134217727;c[b>>2]=e;d=d+1|0;c[h>>2]=d;a[d>>0]=e>>>20;d=c[b>>2]&1048575;c[b>>2]=d;c[g>>2]=7;e=7;break}else{d=d+1|0;c[h>>2]=d;a[d>>0]=(c[b>>2]|0)>>>19;d=c[b>>2]&524287;c[b>>2]=d;c[g>>2]=8;e=8;break}}else{d=d+1|0;c[h>>2]=d;a[d>>0]=f>>>20;d=c[b>>2]&1048575;c[b>>2]=d;c[g>>2]=7;e=7}while(0);d=d<>2]=d;e=c[h>>2]|0;f=a[e>>0]|0;do if(f<<24>>24!=-1){if(!(d&134217728)){f=e+1|0;c[h>>2]=f;a[f>>0]=d>>>19;c[b>>2]=c[b>>2]&524287;c[g>>2]=8;break}a[e>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){e=c[b>>2]&134217727;c[b>>2]=e;f=d+1|0;c[h>>2]=f;a[f>>0]=e>>>20;c[b>>2]=c[b>>2]&1048575;c[g>>2]=7;break}else{f=d+1|0;c[h>>2]=f;a[f>>0]=(c[b>>2]|0)>>>19;c[b>>2]=c[b>>2]&524287;c[g>>2]=8;break}}else{f=e+1|0;c[h>>2]=f;a[f>>0]=d>>>20;c[b>>2]=c[b>>2]&1048575;c[g>>2]=7}while(0);d=c[h>>2]|0;if((a[d>>0]|0)==-1)return;c[h>>2]=d+1;return}function nh(a){a=a|0;c[a>>2]=0;c[a+8>>2]=8;return}function oh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+8|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;d=(d<>2]|0)|0;c[b>>2]=d;if(f)return;f=b+12|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;a[g>>0]=d;c[e>>2]=8;c[e>>2]=(a[c[f>>2]>>0]|0)==-1?7:8;c[b>>2]=0;return}function ph(a){a=a|0;c[a+28>>2]=1156;c[a+32>>2]=1156;c[a+36>>2]=1156;c[a+40>>2]=1156;c[a+44>>2]=1156;c[a+48>>2]=1156;c[a+52>>2]=1156;c[a+56>>2]=1156;c[a+60>>2]=1156;c[a+64>>2]=1156;c[a+68>>2]=1156;c[a+72>>2]=1156;c[a+76>>2]=1156;c[a+80>>2]=1156;c[a+84>>2]=1156;c[a+88>>2]=1156;c[a+96>>2]=2628;c[a+92>>2]=1252;c[a+24>>2]=1284;return}function qh(a){a=a|0;c[a+24>>2]=1156;c[a+28>>2]=1156;c[a+32>>2]=1156;c[a+36>>2]=1156;c[a+40>>2]=1156;c[a+44>>2]=1156;c[a+48>>2]=1156;c[a+52>>2]=1156;c[a+56>>2]=1156;c[a+60>>2]=1156;c[a+64>>2]=1156;c[a+68>>2]=1156;c[a+72>>2]=1156;c[a+76>>2]=1156;c[a+80>>2]=1156;c[a+84>>2]=1156;c[a+88>>2]=1156;c[a+92>>2]=1156;c[a+96>>2]=1156;return}function rh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+24+(b<<2)>>2]=1156+((e<<1)+d<<4);return}function sh(b){b=b|0;var d=0,e=0;c[b+100>>2]=b+24;c[b+4>>2]=32768;c[b>>2]=0;d=b+8|0;c[d>>2]=12;e=b+12|0;b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if((a[b>>0]|0)!=-1)return;c[d>>2]=13;return}function th(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=b+8|0;d=c[i>>2]|0;f=12-d|0;if((f|0)>0){g=b+12|0;e=c[b>>2]|0;do{d=e<>2]=d;c[i>>2]=0;e=c[g>>2]|0;h=a[e>>0]|0;do if(h<<24>>24!=-1){if(!(d&134217728)){e=e+1|0;c[g>>2]=e;a[e>>0]=d>>>19;e=c[b>>2]&524287;c[b>>2]=e;c[i>>2]=8;d=8;break}a[e>>0]=h+1<<24>>24;d=c[g>>2]|0;if((a[d>>0]|0)==-1){h=c[b>>2]&134217727;c[b>>2]=h;e=d+1|0;c[g>>2]=e;a[e>>0]=h>>>20;e=c[b>>2]&1048575;c[b>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[g>>2]=e;a[e>>0]=(c[b>>2]|0)>>>19;e=c[b>>2]&524287;c[b>>2]=e;c[i>>2]=8;d=8;break}}else{e=e+1|0;c[g>>2]=e;a[e>>0]=d>>>20;e=c[b>>2]&1048575;c[b>>2]=e;c[i>>2]=7;d=7}while(0);f=f-d|0}while((f|0)>0)}else g=b+12|0;d=c[g>>2]|0;e=a[d>>0]|0;if(e<<24>>24==-1)return;f=c[b>>2]|0;if(!(f&134217728)){h=d+1|0;c[g>>2]=h;a[h>>0]=f>>>19;c[b>>2]=c[b>>2]&524287;c[i>>2]=8;return}a[d>>0]=e+1<<24>>24;d=c[g>>2]|0;if((a[d>>0]|0)==-1){f=c[b>>2]&134217727;c[b>>2]=f;h=d+1|0;c[g>>2]=h;a[h>>0]=f>>>20;c[b>>2]=c[b>>2]&1048575;c[i>>2]=7;return}else{h=d+1|0;c[g>>2]=h;a[h>>0]=(c[b>>2]|0)>>>19;c[b>>2]=c[b>>2]&524287;c[i>>2]=8;return}}function uh(a){a=a|0;c[a+100>>2]=a+96;lh(a,1);lh(a,0);lh(a,1);lh(a,0);return}function vh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[b+100>>2]=b+24;c[b+16>>2]=e;c[b+20>>2]=e+f;h=b+12|0;c[h>>2]=e;do if(f){i=d[e>>0]<<16;c[b>>2]=i;g=e+1|0;if((f|0)==1)f=255;else f=d[g>>0]|0;if((a[e>>0]|0)!=-1){c[h>>2]=g;g=i|f<<8;c[b>>2]=g;f=b+8|0;c[f>>2]=8;h=b;i=1;break}if(f>>>0>143){g=i|65280;c[b>>2]=g;f=b+8|0;c[f>>2]=8;h=b;i=1;break}else{c[h>>2]=g;g=i+(f<<9)|0;c[b>>2]=g;f=b+8|0;c[f>>2]=7;h=b;i=0;break}}else{c[b>>2]=16776960;f=b+8|0;c[f>>2]=8;g=16776960;h=b;i=1}while(0);c[h>>2]=g<<7;c[f>>2]=i;c[b+4>>2]=32768;return 1}function wh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=c[b+100>>2]|0;g=c[f>>2]|0;j=c[g>>2]|0;n=b+4|0;i=(c[n>>2]|0)-j|0;c[n>>2]=i;h=c[b>>2]|0;if(h>>>16>>>0>>0){c[n>>2]=j;e=c[g+4>>2]|0;if(i>>>0>>0)c[f>>2]=c[g+8>>2];else{c[f>>2]=c[g+12>>2];e=1-e|0}k=b+8|0;l=b+12|0;m=b+20|0;g=c[k>>2]|0;f=h;do{do if(!g){h=c[l>>2]|0;g=c[m>>2]|0;if((h|0)==(g|0)){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}i=h+1|0;if((i|0)==(g|0))g=255;else g=d[i>>0]|0;if((a[h>>0]|0)!=-1){c[l>>2]=i;f=f+(g<<8)|0;c[b>>2]=f;c[k>>2]=8;g=8;break}if(g>>>0>143){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}else{c[l>>2]=i;f=f+(g<<9)|0;c[b>>2]=f;c[k>>2]=7;g=7;break}}while(0);j=j<<1;c[n>>2]=j;f=f<<1;c[b>>2]=f;g=g+-1|0;c[k>>2]=g}while(j>>>0<32768);return e|0}h=h-(j<<16)|0;c[b>>2]=h;if(i&32768){b=c[g+4>>2]|0;return b|0}e=c[g+4>>2]|0;if(j>>>0>i>>>0){c[f>>2]=c[g+12>>2];e=1-e|0}else c[f>>2]=c[g+8>>2];k=b+8|0;l=b+12|0;m=b+20|0;g=c[k>>2]|0;f=h;j=i;do{do if(!g){h=c[l>>2]|0;g=c[m>>2]|0;if((h|0)==(g|0)){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}i=h+1|0;if((i|0)==(g|0))g=255;else g=d[i>>0]|0;if((a[h>>0]|0)!=-1){c[l>>2]=i;f=f+(g<<8)|0;c[b>>2]=f;c[k>>2]=8;g=8;break}if(g>>>0>143){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}else{c[l>>2]=i;f=f+(g<<9)|0;c[b>>2]=f;c[k>>2]=7;g=7;break}}while(0);j=j<<1;c[n>>2]=j;f=f<<1;c[b>>2]=f;g=g+-1|0;c[k>>2]=g}while(j>>>0<32768);return e|0}function xh(){return Pc(28)|0}function yh(a){a=a|0;if(!a)return;Uc(a);return}function zh(b,d,e){b=b|0;d=d|0;e=e|0;c[b+20>>2]=d;c[b+8>>2]=e;c[b+12>>2]=0;a[b>>0]=0;c[b+4>>2]=0;return}function Ah(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=b+4|0;d=c[g>>2]|0;do if(!d){c[g>>2]=8;e=b+12|0;f=c[e>>2]|0;if((f|0)==(c[b+8>>2]|0)){a[b>>0]=-1;d=8;e=-1;break}if((a[b>>0]|0)==-1){c[g>>2]=7;d=7}else d=8;h=a[(c[b+20>>2]|0)+f>>0]|0;a[b>>0]=h;c[e>>2]=f+1;e=h}else e=a[b>>0]|0;while(0);h=d+-1|0;c[g>>2]=h;return (e&255)>>>h&1|0}function Bh(){var a=0;if(!(c[665]|0))a=2712;else a=c[(Ca()|0)+60>>2]|0;return a|0}function Ch(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[22198+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=22286;e=5;break}}if((e|0)==2)if(!c)b=22286;else{b=22286;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function Dh(a){a=a|0;if(a>>>0>4294963200){c[(Bh()|0)>>2]=0-a;a=-1}return a|0}function Eh(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Ti(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Eh(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+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return +a}function Fh(a,b){a=+a;b=b|0;return +(+Eh(a,b))}function Gh(a,b){a=+a;b=b|0;return +(+Jh(a,b))}function Hh(a){a=+a;return ~~+Ih(a)|0}function Ih(a){a=+a;var b=0;b=(g[k>>2]=a,c[k>>2]|0);if((b&2130706432)>>>0<=1249902592){b=(b|0)<0;a=b?a+-8388608.0+8388608.0:a+8388608.0+-8388608.0;if(a==0.0)a=b?-0.0:0.0}return +a}function Jh(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Ri(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Kh(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;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[(Bh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Lh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Kh(a,b,0)|0;return a|0}function Mh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(ri(24090,f<<24>>24,4)|0){e=Fi(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(ti(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(ti(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ra(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ra(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ra(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Fa(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=60;c[e+36>>2]=61;c[e+40>>2]=3;c[e+12>>2]=1;if(!(c[666]|0))c[e+76>>2]=-1;Ia(2688);f=c[671]|0;c[e+56>>2]=f;if(f)c[f+52>>2]=e;c[671]=e;Ga(2688)}}else{c[(Bh()|0)>>2]=22;e=0}i=o;return e|0}function Nh(b){b=b|0;var c=0,d=0,e=0;d=(ti(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(ti(b,120)|0)==0;d=e?d:d|128;b=(ti(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Oh(a){a=a|0;return 0}function Ph(a){a=a|0;return}function Qh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Xh(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Ra[c[b+36>>2]&63](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function Rh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=Dh(Ja(6,d|0)|0)|0;i=b;return a|0}function Sh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[665]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Dh(Na(145,h|0)|0)|0}else{ua(5,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Dh(Na(145,g|0)|0)|0;qa(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((Dh(Ma(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[665]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Dh(Oa(146,n|0)|0)|0}else{ua(6,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Dh(Oa(146,m|0)|0)|0;qa(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Vh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=61;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Fa(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Uh(b,d,e)|0;i=g;return f|0}function Wh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Ra[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Xh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;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 Yh(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Ia(2688);d=c[a+52>>2]|0;b=a+56|0;if(d)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b)c[b+52>>2]=d;if((c[671]|0)==(a|0))c[671]=b;Ga(2688)}b=Zh(a)|0;b=Wa[c[a+12>>2]&15](a)|0|b;d=c[a+92>>2]|0;if(d)Gi(d);if(!e)Gi(a);return b|0}function Zh(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=zi(a)|0;break}d=(Oh(a)|0)==0;b=zi(a)|0;if(!d)Ph(a)}else{if(!(c[677]|0))b=0;else b=Zh(c[677]|0)|0;Ia(2688);a=c[671]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Oh(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=zi(a)|0|b;if(d)Ph(a);a=c[a+56>>2]|0}while((a|0)!=0);Ga(2688)}while(0);return b|0}function _h(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(ri(24090,a[d>>0]|0,4)|0){h=Nh(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Dh(Ka(5,e|0)|0)|0;if((e|0)>=0){b=Mh(e,d)|0;if(!b){c[f>>2]=e;Ja(6,f|0)|0;b=0}}else b=0}else{c[(Bh()|0)>>2]=22;b=0}i=g;return b|0}function $h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=oi(a,b,f)|0;i=e;return d|0}function ai(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Oh(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Qh(d,b)|0;Ph(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Qh(d,b)|0}while(0);return e|0}function bi(a,b){a=a|0;b=b|0;return (ki(a,wi(a)|0,1,b)|0)+-1|0}function ci(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Oh(f)|0;else k=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:j;Ui(b|0,h|0,i|0)|0;c[g>>2]=h+i;b=b+i|0;g=j-i|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(Wh(f)|0){e=h;break}g=Ra[c[i>>2]&63](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k)Ph(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)Ph(f);return e|0}function di(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;f=a+20|0;e=a+28|0;if((c[f>>2]|0)>>>0>(c[e>>2]|0)>>>0?(Ra[c[a+36>>2]&63](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[e>>2]=0;c[f>>2]=0;if((Ra[c[a+40>>2]&63](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Oh(a)|0)==0;b=di(a,b,d)|0;if(!e)Ph(a)}else b=di(a,b,d)|0;return b|0}function fi(a,b,c){a=a|0;b=b|0;c=c|0;return ei(a,b,c)|0}function gi(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Ra[c[a+40>>2]&63](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function hi(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Oh(a)|0)==0;a=gi(a)|0}else a=gi(a)|0;return a|0}function ii(a){a=a|0;return hi(a)|0}function ji(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Xh(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=Ra[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Ra[c[e+36>>2]&63](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);Ui(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}while(0);return f|0}function ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=_(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Oh(e)|0)==0;a=ji(a,f,e)|0;if(!g)Ph(e)}else a=ji(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function li(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=oi(c[676]|0,a,e)|0;i=d;return b|0}function mi(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[676]|0;if((c[f+76>>2]|0)>-1)g=Oh(f)|0;else g=0;do if((bi(b,f)|0)<0)d=1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;d=0;break}d=(Qh(f,10)|0)<0}while(0);if(g)Ph(f);return d<<31>>31|0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=qi(a,b,f)|0;i=e;return d|0}function oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((Ai(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Oh(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=Ai(b,d,o,q,r)|0;if(h){Ra[c[b+36>>2]&63](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=Ai(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Ph(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function pi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=2716;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(Bh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=oi(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;return pi(a,2147483647,b,c)|0}function ri(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=_(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return ((e|0)!=0?b:0)|0}function si(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ti(b,c){b=b|0;c=c|0;b=ui(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function ui(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(wi(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009)break b;b=b+4|0;e=c[b>>2]|0}while(((e&-2139062144^-2139062144)&e+-16843009|0)==0);while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function vi(a,b){a=a|0;b=b|0;si(a,b)|0;return a|0}function wi(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function xi(a){a=a|0;if(!(c[a+68>>2]|0))Ph(a);return}function yi(a){a=a|0;if(!(c[a+68>>2]|0))Ph(a);return}function zi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ra[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Ra[c[a+40>>2]&63](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}\nfunction Ai(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;$=X;aa=$-Z|0;O=-2-Z|0;P=$+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(Bh()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)ji(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}while(0);do if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}while(0);e:do if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1;while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[25126+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}Ci(ba,s,g)}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=Ti(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=25606;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=25606;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=Oi(0,0,n|0,o|0)|0;o=C;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=25606;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?25606:25608;L=76}else{p=1;s=25607;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=25606;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=25606;n=N;break}case 109:{n=Ch(c[(Bh()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:25616;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){Ei(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?25624:25629}else{G=1;H=25626}else{q=-q;G=1;H=25623}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+Fh(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;D=u|32;if((D|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v;while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=Di(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[25590+H>>0]|w;q=(q-+(H|0))*16.0;do if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;Ei(e,32,K,p,I);if(!(c[e>>2]&32))ji(y,x,e)|0;Ei(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))ji(da,n,e)|0;o=$-t|0;Ei(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))ji(t,o,e)|0;Ei(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0>>0)r=s;else{o=0;do{B=Ri(c[r>>2]|0,0,t|0)|0;B=Si(B|0,C|0,o|0,0)|0;o=C;A=$i(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=_i(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(D|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do if(w>>>0

>>0){o=(1<>>x;r=0;t=w;do{B=c[t>>2]|0;c[t>>2]=(B>>>x)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0

>>0);o=(c[w>>2]|0)==0?w+4|0:w;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[w>>2]|0)==0?w+4|0:w;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[ea>>2]|0)+x|0;c[ea>>2]=o;if((o|0)>=0){w=r;break}else w=r}}else w=r;do if(w>>>0

>>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0;while(0);A=(D|0)==103;B=(n|0)!=0;r=n-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}while(0);do if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}while(0);D=r+4|0;w=s;p=p>>>0>D>>>0?D:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;D=p;break}}do if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do if(z){p=c[D+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9;while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8;while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=Di(r,((r|0)<0)<<31>>31,X)|0;if(($-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while(($-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=$-E|0;u=E}y=G+1+n+s+o|0;Ei(e,32,K,y,I);if(!(c[e>>2]&32))ji(H,G,e)|0;Ei(e,48,K,y,I^65536);do if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=Di(c[o>>2]|0,0,R)|0;do if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}while(0);if(!(c[e>>2]&32))ji(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(x){if(c[e>>2]&32)break;ji(25658,1,e)|0}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=Di(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))ji(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}Ei(e,48,n+9|0,9,0)}else{t=z?D:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=Di(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))ji(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}ji(25658,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}while(0);p=S-o|0;if(!(c[e>>2]&32))ji(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}Ei(e,48,n+18|0,18,0);if(c[e>>2]&32)break;ji(u,$-u|0,e)|0}while(0);Ei(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Ei(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){ji(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))ji(s?(t?25650:25654):t?25642:25646,3,e)|0;Ei(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=25606;n=N}}while(0);g:do if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[25590+(o&15)>>0]|s;o=Ti(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=25606;L=77}else{o=t;t=2;s=25606+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=25606;L=77}}else if((L|0)==76){n=Di(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=ri(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=25606;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Lh(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}Ei(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Lh(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))ji(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}while(0);if((L|0)==98){L=0;Ei(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;Ei(e,32,n,r,p);if(!(c[e>>2]&32))ji(u,t,e)|0;Ei(e,48,n,r,p^65536);Ei(e,48,o,s,0);if(!(c[e>>2]&32))ji(w,s,e)|0;Ei(e,32,n,r,p^8192);w=J}h:do if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;Ci(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0;while(0);i=ha;return m|0}function Bi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;Ui(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Ci(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:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+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 Di(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=$i(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=_i(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}else{b=e;break}}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 Ei(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;Qi(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){ji(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;ji(h,f,a)|0}while(0);i=j;return}function Fi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[735]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=2980+(e<<2)|0;e=2980+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[739]|0)>>>0)ta();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else ta()}else c[735]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[737]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=2980+(e<<2)|0;e=2980+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[739]|0)>>>0)ta();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[737]|0;break}else ta()}else{c[735]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[740]|0;d=k>>>3;b=d<<1;e=2980+(b<<2)|0;a=c[735]|0;d=1<>2]|0;if(b>>>0<(c[739]|0)>>>0)ta();else{l=a;m=b}}else{c[735]=a|d;l=2980+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[737]=h;c[740]=i;M=j;return M|0}a=c[736]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[3244+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[739]|0;if(e>>>0>>0)ta();i=e+o|0;if(e>>>0>=i>>>0)ta();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)ta();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)ta();b=f+12|0;if((c[b>>2]|0)!=(e|0))ta();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else ta()}while(0);do if(h){b=c[e+28>>2]|0;a=3244+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[739]|0;if(n>>>0>>0)ta();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)ta();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[737]|0;if(b){g=c[740]|0;d=b>>>3;b=d<<1;f=2980+(b<<2)|0;a=c[735]|0;d=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{p=b;q=a}}else{c[735]=a|d;p=2980+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[737]=j;c[740]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[736]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[3244+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[3244+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[737]|0)-m|0)>>>0:0){f=c[739]|0;if(j>>>0>>0)ta();h=j+m|0;if(j>>>0>=h>>>0)ta();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)ta();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)ta();b=e+12|0;if((c[b>>2]|0)!=(j|0))ta();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else ta()}while(0);do if(g){b=c[j+28>>2]|0;a=3244+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[739]|0;if(o>>>0>>0)ta();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)ta();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{s=b;t=a}}else{c[735]=d|b;s=2980+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=3244+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[736]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[739]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else ta()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[737]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[740]|0;if(b>>>0>15){c[740]=a+q;c[737]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[737]=0;c[740]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[738]|0;if(a>>>0>q>>>0){L=a-q|0;c[738]=L;M=c[741]|0;c[741]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[853]|0)){a=za(30)|0;if(!(a+-1&a)){c[855]=a;c[854]=a;c[856]=-1;c[857]=-1;c[858]=0;c[846]=0;c[853]=(La(0)|0)&-16^1431655768;break}else ta()}while(0);j=q+48|0;i=c[855]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[845]|0;if((a|0)!=0?(t=c[843]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[846]&4)){a=c[741]|0;e:do if(a){f=3388;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[738]|0)&i;if(d>>>0<2147483647){f=xa(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=xa(0)|0;if((g|0)!=(-1|0)){a=g;d=c[854]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[843]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[845]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=xa(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[855]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((xa(u|0)|0)==(-1|0)){xa(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[846]=c[846]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=xa(l|0)|0,x=xa(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[843]|0)+p|0;c[843]=a;if(a>>>0>(c[844]|0)>>>0)c[844]=a;h=c[741]|0;g:do if(h){g=3388;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[738]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[741]=h+L;c[738]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[742]=c[857];break}a=c[739]|0;if(w>>>0>>0){c[739]=w;a=w}d=w+p|0;g=3388;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=3388;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[740]|0)){M=(c[737]|0)+l|0;c[737]=M;c[740]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)ta();a=f+12|0;if((c[a>>2]|0)!=(b|0))ta();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else ta()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=3244+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[739]|0)>>>0)ta();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[736]=c[736]&~(1<>>0>>0)ta();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)ta();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[739]|0)>>>0)ta();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=2980+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)ta();if((c[e+12>>2]|0)==(b|0))break;ta()}while(0);if((f|0)==(e|0)){c[735]=c[735]&~(1<>>0>>0)ta();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}ta()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0>=(c[739]|0)>>>0){K=b;L=a;break}ta()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=3244+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[736]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[739]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else ta()}else{M=(c[738]|0)+l|0;c[738]=M;c[741]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=3388;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[741]=w+d;c[738]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[742]=c[857];d=a+4|0;c[d>>2]=27;c[b>>2]=c[847];c[b+4>>2]=c[848];c[b+8>>2]=c[849];c[b+12>>2]=c[850];c[847]=w;c[848]=p;c[850]=0;c[849]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{G=b;H=a}}else{c[735]=d|b;G=2980+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=3244+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[736]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[739]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else ta()}}else{M=c[739]|0;if((M|0)==0|w>>>0>>0)c[739]=w;c[847]=w;c[848]=p;c[850]=0;c[744]=c[853];c[743]=-1;b=0;do{M=b<<1;L=2980+(M<<2)|0;c[2980+(M+3<<2)>>2]=L;c[2980+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[741]=w+M;c[738]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[742]=c[857]}while(0);b=c[738]|0;if(b>>>0>q>>>0){L=b-q|0;c[738]=L;M=c[741]|0;c[741]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(Bh()|0)>>2]=12;M=0;return M|0}function Gi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[739]|0;if(b>>>0>>0)ta();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)ta();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)ta();if((l|0)==(c[740]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[737]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=2980+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)ta();if((c[e+12>>2]|0)!=(l|0))ta()}if((d|0)==(e|0)){c[735]=c[735]&~(1<>>0>>0)ta();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else ta()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)ta();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)ta();b=f+12|0;if((c[b>>2]|0)!=(l|0))ta();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else ta()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=3244+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[739]|0;if(k>>>0>>0)ta();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)ta();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)ta();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))ta();if(!(d&2)){if((q|0)==(c[741]|0)){t=(c[738]|0)+g|0;c[738]=t;c[741]=u;c[u+4>>2]=t|1;if((u|0)!=(c[740]|0))return;c[740]=0;c[737]=0;return}if((q|0)==(c[740]|0)){t=(c[737]|0)+g|0;c[737]=t;c[740]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[739]|0)>>>0)ta();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[739]|0)>>>0)ta();e=d+12|0;if((c[e>>2]|0)!=(q|0))ta();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else ta()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=3244+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[739]|0;if(p>>>0>>0)ta();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)ta();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=2980+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[739]|0)>>>0)ta();if((c[e+12>>2]|0)!=(q|0))ta()}if((d|0)==(e|0)){c[735]=c[735]&~(1<>>0<(c[739]|0)>>>0)ta();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else ta()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[740]|0)){c[737]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=2980+(d<<2)|0;e=c[735]|0;b=1<>2]|0;if(d>>>0<(c[739]|0)>>>0)ta();else{r=b;s=d}}else{c[735]=e|b;r=2980+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=3244+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[736]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[739]|0)>>>0)ta();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[739]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else ta()}else{c[736]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[743]|0)+-1|0;c[743]=u;if(!u)b=3396;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[743]=-1;return}function Hi(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Fi(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;Qi(b|0,0,d|0)|0;return b|0}function Ii(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Fi(b)|0;return a|0}if(b>>>0>4294967231){c[(Bh()|0)>>2]=12;a=0;return a|0}d=Ki(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Fi(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;Ui(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Gi(a);a=d;return a|0}function Ji(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;do if((b|0)!=8){e=b>>>2;if((b&3|0)!=0|(e|0)==0){a=22;return a|0}if(e+1073741823&e){a=22;return a|0}if((-64-b|0)>>>0>>0){a=12;return a|0}else{e=Li(b>>>0<16?16:b,d)|0;break}}else e=Fi(d)|0;while(0);if(!e){a=12;return a|0}c[a>>2]=e;a=0;return a|0}function Ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[739]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))ta();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))ta();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[855]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Mi(a+b|0,d);return a|0}if((l|0)==(c[741]|0)){d=(c[738]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[741]=a+b;c[738]=n;return a|0}if((l|0)==(c[740]|0)){e=(c[737]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[737]=d;c[740]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)ta();d=f+12|0;if((c[d>>2]|0)!=(l|0))ta();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else ta()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=3244+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[739]|0;if(k>>>0>>0)ta();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)ta();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(l|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else ta()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Mi(a+b|0,n);return a|0}return 0}function Li(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0<16?16:a;if(a+-1&a){d=16;while(1)if(d>>>0>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(Bh()|0)>>2]=12;i=0;return i|0}h=b>>>0<11?16:b+11&-8;e=Fi(h+12+a|0)|0;if(!e){i=0;return i|0}b=e+-8|0;d=a+-1|0;do if(e&d){f=e+d&0-a;d=f+-8|0;g=b;f=(d-g|0)>>>0>15?d:f+(a+-8)|0;g=f-g|0;a=e+-4|0;e=c[a>>2]|0;d=(e&-8)-g|0;if(!(e&3)){c[f>>2]=(c[b>>2]|0)+g;c[f+4>>2]=d;b=f;break}else{e=f+4|0;c[e>>2]=d|c[e>>2]&1|2;d=f+(d+4)|0;c[d>>2]=c[d>>2]|1;c[a>>2]=g|c[a>>2]&1|2;c[e>>2]=c[e>>2]|1;Mi(b,g);b=f;break}}while(0);a=b+4|0;d=c[a>>2]|0;if((d&3|0)!=0?(i=d&-8,i>>>0>(h+16|0)>>>0):0){g=i-h|0;c[a>>2]=h|d&1|2;c[b+(h|4)>>2]=g|3;i=b+(i|4)|0;c[i>>2]=c[i>>2]|1;Mi(b+h|0,g)}i=b+8|0;return i|0}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[739]|0;if(n>>>0>>0)ta();if((n|0)==(c[740]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[737]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(n|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else ta()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)ta();d=g+12|0;if((c[d>>2]|0)!=(n|0))ta();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else ta()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=3244+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[739]|0;if(l>>>0>>0)ta();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)ta();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[739]|0;if(q>>>0>>0)ta();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[741]|0)){s=(c[738]|0)+h|0;c[738]=s;c[741]=t;c[t+4>>2]=s|1;if((t|0)!=(c[740]|0))return;c[740]=0;c[737]=0;return}if((q|0)==(c[740]|0)){s=(c[737]|0)+h|0;c[737]=s;c[740]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)ta();d=g+12|0;if((c[d>>2]|0)!=(q|0))ta();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else ta()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=3244+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[739]|0;if(p>>>0>>0)ta();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)ta();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(q|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else ta()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[740]|0)){c[737]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=2980+(e<<2)|0;f=c[735]|0;d=1<>2]|0;if(e>>>0<(c[739]|0)>>>0)ta();else{r=d;s=e}}else{c[735]=f|d;r=2980+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=3244+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[736]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[739]|0)>>>0)ta();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[739]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))ta();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function Ni(){}function Oi(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 (C=d,a-c>>>0|0)|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<>c-32|0}function Qi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>>0;return (C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Ui(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return ya(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function Vi(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function Wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Oi(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return Oi((aj(h,g,Oi(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function Yi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=Oi(h^a,g^b,h,g)|0;b=C;aj(a,b,Oi(l^d,k^e,l,k)|0,C,j)|0;e=Oi(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function Zi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=Wi(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function _i(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return aj(a,b,c,d,0)|0}function $i(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;aj(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function aj(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;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=Vi(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Vi(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Si(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;Oi(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Oi(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (C=o,p)|0}function bj(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Qa[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function cj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ra[a&63](b|0,c|0,d|0)|0}function dj(a,b){a=a|0;b=b|0;return +Sa[a&3](b|0)}function ej(a,b){a=a|0;b=b|0;Ta[a&7](b|0)}function fj(a,b,c){a=a|0;b=b|0;c=c|0;Ua[a&7](b|0,c|0)}function gj(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Va[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function hj(a,b){a=a|0;b=b|0;return Wa[a&15](b|0)|0}function ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Xa[a&15](b|0,c|0,d|0)}function jj(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return Ya[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function kj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Za[a&63](b|0,c|0,d|0,e|0)|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;return _a[a&7](b|0,c|0)|0}function mj(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 $a[a&3](b|0,c|0,d|0,e|0,f|0)|0}function nj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ab[a&3](b|0,c|0,d|0,e|0)}function oj(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;ba(0);return 0}function pj(a,b,c){a=a|0;b=b|0;c=c|0;ba(1);return 0}function qj(a){a=a|0;ba(2);return 0.0}function rj(a){a=a|0;ba(3)}function sj(a,b){a=a|0;b=b|0;ba(4)}function tj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(5);return 0}function uj(a){a=a|0;ba(6);return 0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;ba(7)}function wj(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;ba(8);return 0}function xj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(9);return 0}function yj(a,b){a=a|0;b=b|0;ba(10);return 0}function zj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function Aj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)}\n\n// EMSCRIPTEN_END_FUNCS\nvar Qa=[oj,ed,We,oj];var Ra=[pj,Bi,Vh,Th,Ab,Bb,Cb,Db,Hc,Ic,Kc,$c,nd,Oe,af,od,pd,Ne,Pe,Lc,Mc,Nc,Oc,td,ud,vd,wd,yd,zd,Bd,Cd,Dd,Ed,Fd,Gd,Hd,Id,Jd,Kd,Ld,Md,Nd,Od,Pd,Qd,Rd,Sd,Td,Ud,Vd,Wd,Xd,ef,ff,gf,hf,jf,kf,lf,mf,Sh,Uh,pj,pj];var Sa=[qj,Yd,Zd,qj];var Ta=[rj,Yc,Ve,gg,hg,xi,yi,rj];var Ua=[sj,mb,nb,ob,Wb,Wc,Le,sj];var Va=[tj,dd,Ue,rd,Te,tj,tj,tj];var Wa=[uj,Rh,jd,kd,$e,_e,Yh,Kg,Hg,uj,uj,uj,uj,uj,uj,uj];var Xa=[vj,Ge,He,Ie,Je,Ae,Be,Ce,De,we,xe,ye,ze,gd,Ze,vj];var Ya=[wj,cd,Se,wj];var Za=[xj,de,ee,fe,ge,he,ie,je,ke,le,me,ne,oe,pe,qe,re,se,te,ue,ve,xf,yf,zf,rf,sf,tf,uf,vf,wf,wb,xb,yb,zb,ld,ad,Ke,Re,qd,Zc,Qe,Me,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj];var _a=[yj,Jc,nf,of,pf,qf,yj,yj];var $a=[zj,md,Xe,zj];var ab=[Aj,Og,Rg,Aj];return{_opj_stream_destroy:Fb,_opj_stream_set_read_function:Gb,_opj_read_tile_header:mc,_opj_set_warning_handler:cc,_opj_destroy_cstr_info:Cc,_opj_image_create:Yb,_opj_set_error_handler:dc,_opj_stream_set_user_data:Kb,_opj_end_decompress:wc,_bitshift64Lshr:Ti,_opj_stream_set_seek_function:Hb,_opj_decode:kc,_opj_set_decoded_resolution_factor:pc,_i64Add:Si,_opj_stream_create_default_file_stream:Fc,_opj_set_default_decoder_parameters:hc,_bitshift64Ashr:Pi,_opj_get_decoded_tile:oc,_memset:Qi,_opj_version:fc,_memcpy:Ui,_opj_destroy_cstr_index:Ec,_opj_stream_set_user_data_length:Lb,_opj_stream_set_skip_function:Jb,_opj_image_destroy:Zb,_opj_stream_create_file_stream:Gc,_opj_setup_encoder:sc,_opj_stream_default_create:Eb,_bitshift64Shl:Ri,_opj_stream_create:vb,_jp2_version:lb,_i64Subtract:Oi,_opj_get_cstr_index:Dc,_opj_encode:uc,_opj_read_header:jc,_opj_get_cstr_info:Bc,_opj_set_default_encoder_parameters:rc,_opj_set_decode_area:lc,_opj_stream_set_write_function:Ib,_opj_dump_codec:Ac,_opj_create_decompress:gc,_opj_decode_tile_data:nc,_free:Gi,_opj_image_tile_create:ac,_opj_set_MCT:xc,_opj_set_info_handler:bc,_opj_start_compress:tc,_opj_write_tile:yc,_opj_setup_decoder:ic,_malloc:Fi,_opj_end_compress:vc,_opj_destroy_codec:zc,_jp2_decode:kb,_opj_stream_create_buffer_stream:ec,_opj_create_compress:qc,runPostSets:Ni,stackAlloc:bb,stackSave:cb,stackRestore:db,establishStackSpace:eb,setThrew:fb,setTempRet0:ib,getTempRet0:jb,dynCall_iiiiiiii:bj,dynCall_iiii:cj,dynCall_di:dj,dynCall_vi:ej,dynCall_vii:fj,dynCall_iiiiiii:gj,dynCall_ii:hj,dynCall_viii:ij,dynCall_iiiiiiiiiiii:jj,dynCall_iiiii:kj,dynCall_iii:lj,dynCall_iiiiii:mj,dynCall_viiii:nj}})\n\n\n// EMSCRIPTEN_END_ASM\n(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _opj_stream_destroy=Module[\"_opj_stream_destroy\"]=asm[\"_opj_stream_destroy\"];var _opj_stream_set_read_function=Module[\"_opj_stream_set_read_function\"]=asm[\"_opj_stream_set_read_function\"];var _opj_read_tile_header=Module[\"_opj_read_tile_header\"]=asm[\"_opj_read_tile_header\"];var _opj_set_warning_handler=Module[\"_opj_set_warning_handler\"]=asm[\"_opj_set_warning_handler\"];var _opj_destroy_cstr_info=Module[\"_opj_destroy_cstr_info\"]=asm[\"_opj_destroy_cstr_info\"];var _opj_image_create=Module[\"_opj_image_create\"]=asm[\"_opj_image_create\"];var _opj_set_error_handler=Module[\"_opj_set_error_handler\"]=asm[\"_opj_set_error_handler\"];var _opj_image_tile_create=Module[\"_opj_image_tile_create\"]=asm[\"_opj_image_tile_create\"];var _opj_end_decompress=Module[\"_opj_end_decompress\"]=asm[\"_opj_end_decompress\"];var _bitshift64Lshr=Module[\"_bitshift64Lshr\"]=asm[\"_bitshift64Lshr\"];var _opj_stream_set_seek_function=Module[\"_opj_stream_set_seek_function\"]=asm[\"_opj_stream_set_seek_function\"];var _opj_decode=Module[\"_opj_decode\"]=asm[\"_opj_decode\"];var _opj_set_decoded_resolution_factor=Module[\"_opj_set_decoded_resolution_factor\"]=asm[\"_opj_set_decoded_resolution_factor\"];var _opj_stream_create_default_file_stream=Module[\"_opj_stream_create_default_file_stream\"]=asm[\"_opj_stream_create_default_file_stream\"];var _opj_encode=Module[\"_opj_encode\"]=asm[\"_opj_encode\"];var _bitshift64Ashr=Module[\"_bitshift64Ashr\"]=asm[\"_bitshift64Ashr\"];var _opj_get_decoded_tile=Module[\"_opj_get_decoded_tile\"]=asm[\"_opj_get_decoded_tile\"];var _memset=Module[\"_memset\"]=asm[\"_memset\"];var _opj_version=Module[\"_opj_version\"]=asm[\"_opj_version\"];var _memcpy=Module[\"_memcpy\"]=asm[\"_memcpy\"];var _opj_destroy_cstr_index=Module[\"_opj_destroy_cstr_index\"]=asm[\"_opj_destroy_cstr_index\"];var _opj_stream_set_user_data_length=Module[\"_opj_stream_set_user_data_length\"]=asm[\"_opj_stream_set_user_data_length\"];var _opj_stream_set_skip_function=Module[\"_opj_stream_set_skip_function\"]=asm[\"_opj_stream_set_skip_function\"];var _opj_image_destroy=Module[\"_opj_image_destroy\"]=asm[\"_opj_image_destroy\"];var _opj_stream_create_file_stream=Module[\"_opj_stream_create_file_stream\"]=asm[\"_opj_stream_create_file_stream\"];var _opj_setup_encoder=Module[\"_opj_setup_encoder\"]=asm[\"_opj_setup_encoder\"];var _opj_stream_default_create=Module[\"_opj_stream_default_create\"]=asm[\"_opj_stream_default_create\"];var _bitshift64Shl=Module[\"_bitshift64Shl\"]=asm[\"_bitshift64Shl\"];var _opj_stream_create=Module[\"_opj_stream_create\"]=asm[\"_opj_stream_create\"];var _jp2_version=Module[\"_jp2_version\"]=asm[\"_jp2_version\"];var _i64Subtract=Module[\"_i64Subtract\"]=asm[\"_i64Subtract\"];var _opj_get_cstr_index=Module[\"_opj_get_cstr_index\"]=asm[\"_opj_get_cstr_index\"];var _opj_set_default_decoder_parameters=Module[\"_opj_set_default_decoder_parameters\"]=asm[\"_opj_set_default_decoder_parameters\"];var _i64Add=Module[\"_i64Add\"]=asm[\"_i64Add\"];var _opj_get_cstr_info=Module[\"_opj_get_cstr_info\"]=asm[\"_opj_get_cstr_info\"];var _opj_set_default_encoder_parameters=Module[\"_opj_set_default_encoder_parameters\"]=asm[\"_opj_set_default_encoder_parameters\"];var _opj_set_decode_area=Module[\"_opj_set_decode_area\"]=asm[\"_opj_set_decode_area\"];var _opj_stream_set_write_function=Module[\"_opj_stream_set_write_function\"]=asm[\"_opj_stream_set_write_function\"];var _opj_dump_codec=Module[\"_opj_dump_codec\"]=asm[\"_opj_dump_codec\"];var _opj_read_header=Module[\"_opj_read_header\"]=asm[\"_opj_read_header\"];var _opj_create_decompress=Module[\"_opj_create_decompress\"]=asm[\"_opj_create_decompress\"];var _opj_decode_tile_data=Module[\"_opj_decode_tile_data\"]=asm[\"_opj_decode_tile_data\"];var _opj_set_info_handler=Module[\"_opj_set_info_handler\"]=asm[\"_opj_set_info_handler\"];var _opj_stream_set_user_data=Module[\"_opj_stream_set_user_data\"]=asm[\"_opj_stream_set_user_data\"];var _opj_set_MCT=Module[\"_opj_set_MCT\"]=asm[\"_opj_set_MCT\"];var _free=Module[\"_free\"]=asm[\"_free\"];var runPostSets=Module[\"runPostSets\"]=asm[\"runPostSets\"];var _opj_start_compress=Module[\"_opj_start_compress\"]=asm[\"_opj_start_compress\"];var _opj_write_tile=Module[\"_opj_write_tile\"]=asm[\"_opj_write_tile\"];var _opj_setup_decoder=Module[\"_opj_setup_decoder\"]=asm[\"_opj_setup_decoder\"];var _malloc=Module[\"_malloc\"]=asm[\"_malloc\"];var _opj_end_compress=Module[\"_opj_end_compress\"]=asm[\"_opj_end_compress\"];var _opj_destroy_codec=Module[\"_opj_destroy_codec\"]=asm[\"_opj_destroy_codec\"];var _jp2_decode=Module[\"_jp2_decode\"]=asm[\"_jp2_decode\"];var _opj_stream_create_buffer_stream=Module[\"_opj_stream_create_buffer_stream\"]=asm[\"_opj_stream_create_buffer_stream\"];var _opj_create_compress=Module[\"_opj_create_compress\"]=asm[\"_opj_create_compress\"];var dynCall_iiiiiiii=Module[\"dynCall_iiiiiiii\"]=asm[\"dynCall_iiiiiiii\"];var dynCall_iiii=Module[\"dynCall_iiii\"]=asm[\"dynCall_iiii\"];var dynCall_di=Module[\"dynCall_di\"]=asm[\"dynCall_di\"];var dynCall_vi=Module[\"dynCall_vi\"]=asm[\"dynCall_vi\"];var dynCall_vii=Module[\"dynCall_vii\"]=asm[\"dynCall_vii\"];var dynCall_iiiiiii=Module[\"dynCall_iiiiiii\"]=asm[\"dynCall_iiiiiii\"];var dynCall_ii=Module[\"dynCall_ii\"]=asm[\"dynCall_ii\"];var dynCall_viii=Module[\"dynCall_viii\"]=asm[\"dynCall_viii\"];var dynCall_iiiiiiiiiiii=Module[\"dynCall_iiiiiiiiiiii\"]=asm[\"dynCall_iiiiiiiiiiii\"];var dynCall_iiiii=Module[\"dynCall_iiiii\"]=asm[\"dynCall_iiiii\"];var dynCall_iii=Module[\"dynCall_iii\"]=asm[\"dynCall_iii\"];var dynCall_iiiiii=Module[\"dynCall_iiiiii\"]=asm[\"dynCall_iiiiii\"];var dynCall_viiii=Module[\"dynCall_viiii\"]=asm[\"dynCall_viiii\"];Runtime.stackAlloc=asm[\"stackAlloc\"];Runtime.stackSave=asm[\"stackSave\"];Runtime.stackRestore=asm[\"stackRestore\"];Runtime.establishStackSpace=asm[\"establishStackSpace\"];Runtime.setTempRet0=asm[\"setTempRet0\"];Runtime.getTempRet0=asm[\"getTempRet0\"];function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module[\"calledRun\"])run();if(!Module[\"calledRun\"])dependenciesFulfilled=runCaller};Module[\"callMain\"]=Module.callMain=function callMain(args){assert(runDependencies==0,\"cannot call main when async dependencies remain! (listen on __ATMAIN__)\");assert(__ATPRERUN__.length==0,\"cannot call main when preRun functions remain to be called\");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module[\"thisProgram\"]),\"i8\",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module[\"calledRun\"])return;function doRun(){if(Module[\"calledRun\"])return;Module[\"calledRun\"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();if(Module[\"_main\"]&&shouldRunNow)Module[\"callMain\"](args);postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout((function(){setTimeout((function(){Module[\"setStatus\"](\"\")}),1);doRun()}),1)}else{doRun()}}Module[\"run\"]=Module.run=run;function exit(status,implicit){if(implicit&&Module[\"noExitRuntime\"]){return}if(Module[\"noExitRuntime\"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module[\"onExit\"])Module[\"onExit\"](status)}if(ENVIRONMENT_IS_NODE){process[\"stdout\"][\"once\"](\"drain\",(function(){process[\"exit\"](status)}));console.log(\" \");setTimeout((function(){process[\"exit\"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit===\"function\"){quit(status)}throw new ExitStatus(status)}Module[\"exit\"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=\"\"}ABORT=true;EXITSTATUS=1;var extra=\"\\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.\";var output=\"abort(\"+what+\") at \"+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module[\"abort\"]=Module.abort=abort;if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}var shouldRunNow=true;if(Module[\"noInitialRun\"]){shouldRunNow=false}run()\n\n\n\n\n\n return Module;\n};\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = OpenJPEG;\n\n/***/ }),\n\n/***/ \"../node_modules/babel-loader/lib/index.js!../node_modules/eslint-loader/index.js?!./webWorker/index.worker.js\":\n/*!**********************************************************************************************************!*\\\n !*** ../node_modules/babel-loader/lib!../node_modules/eslint-loader??ref--4!./webWorker/index.worker.js ***!\n \\**********************************************************************************************************/\n/*! exports provided: registerTaskHandler, version, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _webWorker_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webWorker.js */ \"./webWorker/webWorker.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerTaskHandler\", function() { return _webWorker_js__WEBPACK_IMPORTED_MODULE_0__[\"registerTaskHandler\"]; });\n\n/* harmony import */ var _decodeTask_decodeTask_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./decodeTask/decodeTask.js */ \"./webWorker/decodeTask/decodeTask.js\");\n/* harmony import */ var _version_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../version.js */ \"./version.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"version\", function() { return _version_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! pako */ \"../node_modules/pako/index.js\");\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(pako__WEBPACK_IMPORTED_MODULE_3__);\n\n\n // TODO: Not sure if this is necessary, but we probably need it for deflate in dicomParser\n\n/* eslint-disable-next-line import/extensions */\n\n // register our task\n\nObject(_webWorker_js__WEBPACK_IMPORTED_MODULE_0__[\"registerTaskHandler\"])(_decodeTask_decodeTask_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\nvar cornerstoneWADOImageLoaderWebWorker = {\n registerTaskHandler: _webWorker_js__WEBPACK_IMPORTED_MODULE_0__[\"registerTaskHandler\"],\n version: _version_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (cornerstoneWADOImageLoaderWebWorker);\n\n/***/ }),\n\n/***/ \"../node_modules/pako/index.js\":\n/*!*************************************!*\\\n !*** ../node_modules/pako/index.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Top level file is just a mixin of submodules & constants\n\n\nvar assign = __webpack_require__(/*! ./lib/utils/common */ \"../node_modules/pako/lib/utils/common.js\").assign;\n\nvar deflate = __webpack_require__(/*! ./lib/deflate */ \"../node_modules/pako/lib/deflate.js\");\nvar inflate = __webpack_require__(/*! ./lib/inflate */ \"../node_modules/pako/lib/inflate.js\");\nvar constants = __webpack_require__(/*! ./lib/zlib/constants */ \"../node_modules/pako/lib/zlib/constants.js\");\n\nvar pako = {};\n\nassign(pako, deflate, inflate, constants);\n\nmodule.exports = pako;\n\n\n/***/ }),\n\n/***/ \"../node_modules/pako/lib/deflate.js\":\n/*!*******************************************!*\\\n !*** ../node_modules/pako/lib/deflate.js ***!\n \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n\nvar zlib_deflate = __webpack_require__(/*! ./zlib/deflate */ \"../node_modules/pako/lib/zlib/deflate.js\");\nvar utils = __webpack_require__(/*! ./utils/common */ \"../node_modules/pako/lib/utils/common.js\");\nvar strings = __webpack_require__(/*! ./utils/strings */ \"../node_modules/pako/lib/utils/strings.js\");\nvar msg = __webpack_require__(/*! ./zlib/messages */ \"../node_modules/pako/lib/zlib/messages.js\");\nvar ZStream = __webpack_require__(/*! ./zlib/zstream */ \"../node_modules/pako/lib/zlib/zstream.js\");\n\nvar toString = Object.prototype.toString;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nvar Z_NO_FLUSH = 0;\nvar Z_FINISH = 4;\n\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\nvar Z_SYNC_FLUSH = 2;\n\nvar Z_DEFAULT_COMPRESSION = -1;\n\nvar Z_DEFAULT_STRATEGY = 0;\n\nvar Z_DEFLATED = 8;\n\n/* ===========================================================================*/\n\n\n/**\n * class Deflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[deflate]],\n * [[deflateRaw]] and [[gzip]].\n **/\n\n/* internal\n * Deflate.chunks -> Array\n *\n * Chunks of output data, if [[Deflate#onData]] not overridden.\n **/\n\n/**\n * Deflate.result -> Uint8Array|Array\n *\n * Compressed result, generated by default [[Deflate#onData]]\n * and [[Deflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Deflate#push]] with `Z_FINISH` / `true` param) or if you\n * push a chunk with explicit flush (call [[Deflate#push]] with\n * `Z_SYNC_FLUSH` param).\n **/\n\n/**\n * Deflate.err -> Number\n *\n * Error code after deflate finished. 0 (Z_OK) on success.\n * You will not need it in real life, because deflate errors\n * are possible only on wrong options or bad `onData` / `onEnd`\n * custom handlers.\n **/\n\n/**\n * Deflate.msg -> String\n *\n * Error message, if [[Deflate.err]] != 0\n **/\n\n\n/**\n * new Deflate(options)\n * - options (Object): zlib deflate options.\n *\n * Creates new deflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `level`\n * - `windowBits`\n * - `memLevel`\n * - `strategy`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw deflate\n * - `gzip` (Boolean) - create gzip wrapper\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n * - `header` (Object) - custom header for gzip\n * - `text` (Boolean) - true if compressed data believed to be text\n * - `time` (Number) - modification time, unix timestamp\n * - `os` (Number) - operation system code\n * - `extra` (Array) - array of bytes with extra data (max 65536)\n * - `name` (String) - file name (binary string)\n * - `comment` (String) - comment (binary string)\n * - `hcrc` (Boolean) - true if header crc should be added\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var deflate = new pako.Deflate({ level: 3});\n *\n * deflate.push(chunk1, false);\n * deflate.push(chunk2, true); // true -> last chunk\n *\n * if (deflate.err) { throw new Error(deflate.err); }\n *\n * console.log(deflate.result);\n * ```\n **/\nfunction Deflate(options) {\n if (!(this instanceof Deflate)) return new Deflate(options);\n\n this.options = utils.assign({\n level: Z_DEFAULT_COMPRESSION,\n method: Z_DEFLATED,\n chunkSize: 16384,\n windowBits: 15,\n memLevel: 8,\n strategy: Z_DEFAULT_STRATEGY,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n if (opt.raw && (opt.windowBits > 0)) {\n opt.windowBits = -opt.windowBits;\n }\n\n else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) {\n opt.windowBits += 16;\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new ZStream();\n this.strm.avail_out = 0;\n\n var status = zlib_deflate.deflateInit2(\n this.strm,\n opt.level,\n opt.method,\n opt.windowBits,\n opt.memLevel,\n opt.strategy\n );\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n if (opt.header) {\n zlib_deflate.deflateSetHeader(this.strm, opt.header);\n }\n\n if (opt.dictionary) {\n var dict;\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n // If we need to compress text, change encoding to utf8.\n dict = strings.string2buf(opt.dictionary);\n } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\n dict = new Uint8Array(opt.dictionary);\n } else {\n dict = opt.dictionary;\n }\n\n status = zlib_deflate.deflateSetDictionary(this.strm, dict);\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n this._dict_set = true;\n }\n}\n\n/**\n * Deflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|ArrayBuffer|String): input data. Strings will be\n * converted to utf8 byte sequence.\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\n *\n * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with\n * new compressed chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That will flush internal pending buffers and call\n * [[Deflate#onEnd]]. For interim explicit flushes (without ending the stream) you\n * can use mode Z_SYNC_FLUSH, keeping the compression context.\n *\n * On fail call [[Deflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * array format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nDeflate.prototype.push = function (data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var status, _mode;\n\n if (this.ended) { return false; }\n\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? Z_FINISH : Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // If we need to compress text, change encoding to utf8.\n strm.input = strings.string2buf(data);\n } else if (toString.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n status = zlib_deflate.deflate(strm, _mode); /* no bad return value */\n\n if (status !== Z_STREAM_END && status !== Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n if (strm.avail_out === 0 || (strm.avail_in === 0 && (_mode === Z_FINISH || _mode === Z_SYNC_FLUSH))) {\n if (this.options.to === 'string') {\n this.onData(strings.buf2binstring(utils.shrinkBuf(strm.output, strm.next_out)));\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END);\n\n // Finalize on the last chunk.\n if (_mode === Z_FINISH) {\n status = zlib_deflate.deflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === Z_OK;\n }\n\n // callback interim results if Z_SYNC_FLUSH.\n if (_mode === Z_SYNC_FLUSH) {\n this.onEnd(Z_OK);\n strm.avail_out = 0;\n return true;\n }\n\n return true;\n};\n\n\n/**\n * Deflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): output data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nDeflate.prototype.onData = function (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Deflate#onEnd(status) -> Void\n * - status (Number): deflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called once after you tell deflate that the input stream is\n * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)\n * or if an error happened. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nDeflate.prototype.onEnd = function (status) {\n // On success - join\n if (status === Z_OK) {\n if (this.options.to === 'string') {\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * deflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * Compress `data` with deflate algorithm and `options`.\n *\n * Supported options are:\n *\n * - level\n * - windowBits\n * - memLevel\n * - strategy\n * - dictionary\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , data = Uint8Array([1,2,3,4,5,6,7,8,9]);\n *\n * console.log(pako.deflate(data));\n * ```\n **/\nfunction deflate(input, options) {\n var deflator = new Deflate(options);\n\n deflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (deflator.err) { throw deflator.msg || msg[deflator.err]; }\n\n return deflator.result;\n}\n\n\n/**\n * deflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction deflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return deflate(input, options);\n}\n\n\n/**\n * gzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but create gzip wrapper instead of\n * deflate one.\n **/\nfunction gzip(input, options) {\n options = options || {};\n options.gzip = true;\n return deflate(input, options);\n}\n\n\nexports.Deflate = Deflate;\nexports.deflate = deflate;\nexports.deflateRaw = deflateRaw;\nexports.gzip = gzip;\n\n\n/***/ }),\n\n/***/ \"../node_modules/pako/lib/inflate.js\":\n/*!*******************************************!*\\\n !*** ../node_modules/pako/lib/inflate.js ***!\n \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n\nvar zlib_inflate = __webpack_require__(/*! ./zlib/inflate */ \"../node_modules/pako/lib/zlib/inflate.js\");\nvar utils = __webpack_require__(/*! ./utils/common */ \"../node_modules/pako/lib/utils/common.js\");\nvar strings = __webpack_require__(/*! ./utils/strings */ \"../node_modules/pako/lib/utils/strings.js\");\nvar c = __webpack_require__(/*! ./zlib/constants */ \"../node_modules/pako/lib/zlib/constants.js\");\nvar msg = __webpack_require__(/*! ./zlib/messages */ \"../node_modules/pako/lib/zlib/messages.js\");\nvar ZStream = __webpack_require__(/*! ./zlib/zstream */ \"../node_modules/pako/lib/zlib/zstream.js\");\nvar GZheader = __webpack_require__(/*! ./zlib/gzheader */ \"../node_modules/pako/lib/zlib/gzheader.js\");\n\nvar toString = Object.prototype.toString;\n\n/**\n * class Inflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[inflate]]\n * and [[inflateRaw]].\n **/\n\n/* internal\n * inflate.chunks -> Array\n *\n * Chunks of output data, if [[Inflate#onData]] not overridden.\n **/\n\n/**\n * Inflate.result -> Uint8Array|Array|String\n *\n * Uncompressed result, generated by default [[Inflate#onData]]\n * and [[Inflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Inflate#push]] with `Z_FINISH` / `true` param) or if you\n * push a chunk with explicit flush (call [[Inflate#push]] with\n * `Z_SYNC_FLUSH` param).\n **/\n\n/**\n * Inflate.err -> Number\n *\n * Error code after inflate finished. 0 (Z_OK) on success.\n * Should be checked if broken data possible.\n **/\n\n/**\n * Inflate.msg -> String\n *\n * Error message, if [[Inflate.err]] != 0\n **/\n\n\n/**\n * new Inflate(options)\n * - options (Object): zlib inflate options.\n *\n * Creates new inflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `windowBits`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw inflate\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n * By default, when no options set, autodetect deflate/gzip data format via\n * wrapper header.\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var inflate = new pako.Inflate({ level: 3});\n *\n * inflate.push(chunk1, false);\n * inflate.push(chunk2, true); // true -> last chunk\n *\n * if (inflate.err) { throw new Error(inflate.err); }\n *\n * console.log(inflate.result);\n * ```\n **/\nfunction Inflate(options) {\n if (!(this instanceof Inflate)) return new Inflate(options);\n\n this.options = utils.assign({\n chunkSize: 16384,\n windowBits: 0,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n // Force window size for `raw` data, if not set directly,\n // because we have no header for autodetect.\n if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {\n opt.windowBits = -opt.windowBits;\n if (opt.windowBits === 0) { opt.windowBits = -15; }\n }\n\n // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate\n if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&\n !(options && options.windowBits)) {\n opt.windowBits += 32;\n }\n\n // Gzip header has no info about windows size, we can do autodetect only\n // for deflate. So, if window size not set, force it to max when gzip possible\n if ((opt.windowBits > 15) && (opt.windowBits < 48)) {\n // bit 3 (16) -> gzipped data\n // bit 4 (32) -> autodetect gzip/deflate\n if ((opt.windowBits & 15) === 0) {\n opt.windowBits |= 15;\n }\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new ZStream();\n this.strm.avail_out = 0;\n\n var status = zlib_inflate.inflateInit2(\n this.strm,\n opt.windowBits\n );\n\n if (status !== c.Z_OK) {\n throw new Error(msg[status]);\n }\n\n this.header = new GZheader();\n\n zlib_inflate.inflateGetHeader(this.strm, this.header);\n\n // Setup dictionary\n if (opt.dictionary) {\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n opt.dictionary = strings.string2buf(opt.dictionary);\n } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\n opt.dictionary = new Uint8Array(opt.dictionary);\n }\n if (opt.raw) { //In raw mode we need to set the dictionary early\n status = zlib_inflate.inflateSetDictionary(this.strm, opt.dictionary);\n if (status !== c.Z_OK) {\n throw new Error(msg[status]);\n }\n }\n }\n}\n\n/**\n * Inflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|ArrayBuffer|String): input data\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\n *\n * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with\n * new output chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That will flush internal pending buffers and call\n * [[Inflate#onEnd]]. For interim explicit flushes (without ending the stream) you\n * can use mode Z_SYNC_FLUSH, keeping the decompression context.\n *\n * On fail call [[Inflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nInflate.prototype.push = function (data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var dictionary = this.options.dictionary;\n var status, _mode;\n var next_out_utf8, tail, utf8str;\n\n // Flag to properly process Z_BUF_ERROR on testing inflate call\n // when we check that all output data was flushed.\n var allowBufError = false;\n\n if (this.ended) { return false; }\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? c.Z_FINISH : c.Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // Only binary strings can be decompressed on practice\n strm.input = strings.binstring2buf(data);\n } else if (toString.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n\n status = zlib_inflate.inflate(strm, c.Z_NO_FLUSH); /* no bad return value */\n\n if (status === c.Z_NEED_DICT && dictionary) {\n status = zlib_inflate.inflateSetDictionary(this.strm, dictionary);\n }\n\n if (status === c.Z_BUF_ERROR && allowBufError === true) {\n status = c.Z_OK;\n allowBufError = false;\n }\n\n if (status !== c.Z_STREAM_END && status !== c.Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n\n if (strm.next_out) {\n if (strm.avail_out === 0 || status === c.Z_STREAM_END || (strm.avail_in === 0 && (_mode === c.Z_FINISH || _mode === c.Z_SYNC_FLUSH))) {\n\n if (this.options.to === 'string') {\n\n next_out_utf8 = strings.utf8border(strm.output, strm.next_out);\n\n tail = strm.next_out - next_out_utf8;\n utf8str = strings.buf2string(strm.output, next_out_utf8);\n\n // move tail\n strm.next_out = tail;\n strm.avail_out = chunkSize - tail;\n if (tail) { utils.arraySet(strm.output, strm.output, next_out_utf8, tail, 0); }\n\n this.onData(utf8str);\n\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n }\n\n // When no more input data, we should check that internal inflate buffers\n // are flushed. The only way to do it when avail_out = 0 - run one more\n // inflate pass. But if output data not exists, inflate return Z_BUF_ERROR.\n // Here we set flag to process this error properly.\n //\n // NOTE. Deflate does not return error in this case and does not needs such\n // logic.\n if (strm.avail_in === 0 && strm.avail_out === 0) {\n allowBufError = true;\n }\n\n } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== c.Z_STREAM_END);\n\n if (status === c.Z_STREAM_END) {\n _mode = c.Z_FINISH;\n }\n\n // Finalize on the last chunk.\n if (_mode === c.Z_FINISH) {\n status = zlib_inflate.inflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === c.Z_OK;\n }\n\n // callback interim results if Z_SYNC_FLUSH.\n if (_mode === c.Z_SYNC_FLUSH) {\n this.onEnd(c.Z_OK);\n strm.avail_out = 0;\n return true;\n }\n\n return true;\n};\n\n\n/**\n * Inflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): output data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nInflate.prototype.onData = function (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Inflate#onEnd(status) -> Void\n * - status (Number): inflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called either after you tell inflate that the input stream is\n * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)\n * or if an error happened. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nInflate.prototype.onEnd = function (status) {\n // On success - join\n if (status === c.Z_OK) {\n if (this.options.to === 'string') {\n // Glue & convert here, until we teach pako to send\n // utf8 aligned strings to onData\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * inflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Decompress `data` with inflate/ungzip and `options`. Autodetect\n * format via wrapper header by default. That's why we don't provide\n * separate `ungzip` method.\n *\n * Supported options are:\n *\n * - windowBits\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , input = pako.deflate([1,2,3,4,5,6,7,8,9])\n * , output;\n *\n * try {\n * output = pako.inflate(input);\n * } catch (err)\n * console.log(err);\n * }\n * ```\n **/\nfunction inflate(input, options) {\n var inflator = new Inflate(options);\n\n inflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (inflator.err) { throw inflator.msg || msg[inflator.err]; }\n\n return inflator.result;\n}\n\n\n/**\n * inflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * The same as [[inflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction inflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return inflate(input, options);\n}\n\n\n/**\n * ungzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Just shortcut to [[inflate]], because it autodetects format\n * by header.content. Done for convenience.\n **/\n\n\nexports.Inflate = Inflate;\nexports.inflate = inflate;\nexports.inflateRaw = inflateRaw;\nexports.ungzip = inflate;\n\n\n/***/ }),\n\n/***/ \"../node_modules/pako/lib/utils/common.js\":\n/*!************************************************!*\\\n !*** ../node_modules/pako/lib/utils/common.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n\nvar TYPED_OK = (typeof Uint8Array !== 'undefined') &&\n (typeof Uint16Array !== 'undefined') &&\n (typeof Int32Array !== 'undefined');\n\nfunction _has(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nexports.assign = function (obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n while (sources.length) {\n var source = sources.shift();\n if (!source) { continue; }\n\n if (typeof source !== 'object') {\n throw new TypeError(source + 'must be non-object');\n }\n\n for (var p in source) {\n if (_has(source, p)) {\n obj[p] = source[p];\n }\n }\n }\n\n return obj;\n};\n\n\n// reduce buffer size, avoiding mem copy\nexports.shrinkBuf = function (buf, size) {\n if (buf.length === size) { return buf; }\n if (buf.subarray) { return buf.subarray(0, size); }\n buf.length = size;\n return buf;\n};\n\n\nvar fnTyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs + len), dest_offs);\n return;\n }\n // Fallback to ordinary array\n for (var i = 0; i < len; i++) {\n dest[dest_offs + i] = src[src_offs + i];\n }\n },\n // Join array of chunks to single array.\n flattenChunks: function (chunks) {\n var i, l, len, pos, chunk, result;\n\n // calculate data length\n len = 0;\n for (i = 0, l = chunks.length; i < l; i++) {\n len += chunks[i].length;\n }\n\n // join chunks\n result = new Uint8Array(len);\n pos = 0;\n for (i = 0, l = chunks.length; i < l; i++) {\n chunk = chunks[i];\n result.set(chunk, pos);\n pos += chunk.length;\n }\n\n return result;\n }\n};\n\nvar fnUntyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n for (var i = 0; i < len; i++) {\n dest[dest_offs + i] = src[src_offs + i];\n }\n },\n // Join array of chunks to single array.\n flattenChunks: function (chunks) {\n return [].concat.apply([], chunks);\n }\n};\n\n\n// Enable/Disable typed arrays use, for testing\n//\nexports.setTyped = function (on) {\n if (on) {\n exports.Buf8 = Uint8Array;\n exports.Buf16 = Uint16Array;\n exports.Buf32 = Int32Array;\n exports.assign(exports, fnTyped);\n } else {\n exports.Buf8 = Array;\n exports.Buf16 = Array;\n exports.Buf32 = Array;\n exports.assign(exports, fnUntyped);\n }\n};\n\nexports.setTyped(TYPED_OK);\n\n\n/***/ }),\n\n/***/ \"../node_modules/pako/lib/utils/strings.js\":\n/*!*************************************************!*\\\n !*** ../node_modules/pako/lib/utils/strings.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// String encode/decode helpers\n\n\n\nvar utils = __webpack_require__(/*! ./common */ \"../node_modules/pako/lib/utils/common.js\");\n\n\n// Quick check if we can use fast array to bin string conversion\n//\n// - apply(Array) can fail on Android 2.2\n// - apply(Uint8Array) can fail on iOS 5.1 Safari\n//\nvar STR_APPLY_OK = true;\nvar STR_APPLY_UIA_OK = true;\n\ntry { String.fromCharCode.apply(null, [ 0 ]); } catch (__) { STR_APPLY_OK = false; }\ntry { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { STR_APPLY_UIA_OK = false; }\n\n\n// Table with utf8 lengths (calculated by first byte of sequence)\n// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,\n// because max possible codepoint is 0x10ffff\nvar _utf8len = new utils.Buf8(256);\nfor (var q = 0; q < 256; q++) {\n _utf8len[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);\n}\n_utf8len[254] = _utf8len[254] = 1; // Invalid sequence start\n\n\n// convert string to array (typed, when possible)\nexports.string2buf = function (str) {\n var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;\n }\n\n // allocate buffer\n buf = new utils.Buf8(buf_len);\n\n // convert\n for (i = 0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | (c >>> 12 & 0x3f);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n};\n\n// Helper (used in 2 places)\nfunction buf2binstring(buf, len) {\n // On Chrome, the arguments in a function call that are allowed is `65534`.\n // If the length of the buffer is smaller than that, we can use this optimization,\n // otherwise we will take a slower path.\n if (len < 65534) {\n if ((buf.subarray && STR_APPLY_UIA_OK) || (!buf.subarray && STR_APPLY_OK)) {\n return String.fromCharCode.apply(null, utils.shrinkBuf(buf, len));\n }\n }\n\n var result = '';\n for (var i = 0; i < len; i++) {\n result += String.fromCharCode(buf[i]);\n }\n return result;\n}\n\n\n// Convert byte array to binary string\nexports.buf2binstring = function (buf) {\n return buf2binstring(buf, buf.length);\n};\n\n\n// Convert binary string (typed, when possible)\nexports.binstring2buf = function (str) {\n var buf = new utils.Buf8(str.length);\n for (var i = 0, len = buf.length; i < len; i++) {\n buf[i] = str.charCodeAt(i);\n }\n return buf;\n};\n\n\n// convert array to string\nexports.buf2string = function (buf, max) {\n var i, out, c, c_len;\n var len = max || buf.length;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n var utf16buf = new Array(len * 2);\n\n for (out = 0, i = 0; i < len;) {\n c = buf[i++];\n // quick process ascii\n if (c < 0x80) { utf16buf[out++] = c; continue; }\n\n c_len = _utf8len[c];\n // skip 5 & 6 byte codes\n if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n return buf2binstring(utf16buf, out);\n};\n\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nexports.utf8border = function (buf, max) {\n var pos;\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n pos = max - 1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means buffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n\n\n/***/ }),\n\n/***/ \"../node_modules/pako/lib/zlib/adler32.js\":\n/*!************************************************!*\\\n !*** ../node_modules/pako/lib/zlib/adler32.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It isn't worth it to make additional optimizations as in original.\n// Small size is preferable.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction adler32(adler, buf, len, pos) {\n var s1 = (adler & 0xffff) |0,\n s2 = ((adler >>> 16) & 0xffff) |0,\n n = 0;\n\n while (len !== 0) {\n // Set limit ~ twice less than 5552, to keep\n // s2 in 31-bits, because we force signed ints.\n // in other case %= will fail.\n n = len > 2000 ? 2000 : len;\n len -= n;\n\n do {\n s1 = (s1 + buf[pos++]) |0;\n s2 = (s2 + s1) |0;\n } while (--n);\n\n s1 %= 65521;\n s2 %= 65521;\n }\n\n return (s1 | (s2 << 16)) |0;\n}\n\n\nmodule.exports = adler32;\n\n\n/***/ }),\n\n/***/ \"../node_modules/pako/lib/zlib/constants.js\":\n/*!**************************************************!*\\\n !*** ../node_modules/pako/lib/zlib/constants.js ***!\n \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nmodule.exports = {\n\n /* Allowed flush values; see deflate() and inflate() below for details */\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n\n /* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n //Z_MEM_ERROR: -4,\n Z_BUF_ERROR: -5,\n //Z_VERSION_ERROR: -6,\n\n /* compression levels */\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n\n\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n\n /* Possible values of the data_type field (though see inflate()) */\n Z_BINARY: 0,\n Z_TEXT: 1,\n //Z_ASCII: 1, // = Z_TEXT (deprecated)\n Z_UNKNOWN: 2,\n\n /* The deflate compression method */\n Z_DEFLATED: 8\n //Z_NULL: null // Use -1 or null inline, depending on var type\n};\n\n\n/***/ }),\n\n/***/ \"../node_modules/pako/lib/zlib/crc32.js\":\n/*!**********************************************!*\\\n !*** ../node_modules/pako/lib/zlib/crc32.js ***!\n \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// Use ordinary array, since untyped makes no boost here\nfunction makeTable() {\n var c, table = [];\n\n for (var n = 0; n < 256; n++) {\n c = n;\n for (var k = 0; k < 8; k++) {\n c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n table[n] = c;\n }\n\n return table;\n}\n\n// Create table on load. Just 255 signed longs. Not a problem.\nvar crcTable = makeTable();\n\n\nfunction crc32(crc, buf, len, pos) {\n var t = crcTable,\n end = pos + len;\n\n crc ^= -1;\n\n for (var i = pos; i < end; i++) {\n crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n }\n\n return (crc ^ (-1)); // >>> 0;\n}\n\n\nmodule.exports = crc32;\n\n\n/***/ }),\n\n/***/ \"../node_modules/pako/lib/zlib/deflate.js\":\n/*!************************************************!*\\\n !*** ../node_modules/pako/lib/zlib/deflate.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = __webpack_require__(/*! ../utils/common */ \"../node_modules/pako/lib/utils/common.js\");\nvar trees = __webpack_require__(/*! ./trees */ \"../node_modules/pako/lib/zlib/trees.js\");\nvar adler32 = __webpack_require__(/*! ./adler32 */ \"../node_modules/pako/lib/zlib/adler32.js\");\nvar crc32 = __webpack_require__(/*! ./crc32 */ \"../node_modules/pako/lib/zlib/crc32.js\");\nvar msg = __webpack_require__(/*! ./messages */ \"../node_modules/pako/lib/zlib/messages.js\");\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\nvar Z_NO_FLUSH = 0;\nvar Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\nvar Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\n//var Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\n//var Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\n//var Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n\n/* compression levels */\n//var Z_NO_COMPRESSION = 0;\n//var Z_BEST_SPEED = 1;\n//var Z_BEST_COMPRESSION = 9;\nvar Z_DEFAULT_COMPRESSION = -1;\n\n\nvar Z_FILTERED = 1;\nvar Z_HUFFMAN_ONLY = 2;\nvar Z_RLE = 3;\nvar Z_FIXED = 4;\nvar Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\n//var Z_BINARY = 0;\n//var Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n/*============================================================================*/\n\n\nvar MAX_MEM_LEVEL = 9;\n/* Maximum value for memLevel in deflateInit2 */\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_MEM_LEVEL = 8;\n\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\nvar D_CODES = 30;\n/* number of distance codes */\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\nvar HEAP_SIZE = 2 * L_CODES + 1;\n/* maximum heap size */\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\nvar MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);\n\nvar PRESET_DICT = 0x20;\n\nvar INIT_STATE = 42;\nvar EXTRA_STATE = 69;\nvar NAME_STATE = 73;\nvar COMMENT_STATE = 91;\nvar HCRC_STATE = 103;\nvar BUSY_STATE = 113;\nvar FINISH_STATE = 666;\n\nvar BS_NEED_MORE = 1; /* block not completed, need more input or more output */\nvar BS_BLOCK_DONE = 2; /* block flush performed */\nvar BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\nvar BS_FINISH_DONE = 4; /* finish done, accept no more input or output */\n\nvar OS_CODE = 0x03; // Unix :) . Don't detect, use this default.\n\nfunction err(strm, errorCode) {\n strm.msg = msg[errorCode];\n return errorCode;\n}\n\nfunction rank(f) {\n return ((f) << 1) - ((f) > 4 ? 9 : 0);\n}\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n\n/* =========================================================================\n * Flush as much pending output as possible. All deflate() output goes\n * through this function so some applications may wish to modify it\n * to avoid allocating a large strm->output buffer and copying into it.\n * (See also read_buf()).\n */\nfunction flush_pending(strm) {\n var s = strm.state;\n\n //_tr_flush_bits(s);\n var len = s.pending;\n if (len > strm.avail_out) {\n len = strm.avail_out;\n }\n if (len === 0) { return; }\n\n utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out);\n strm.next_out += len;\n s.pending_out += len;\n strm.total_out += len;\n strm.avail_out -= len;\n s.pending -= len;\n if (s.pending === 0) {\n s.pending_out = 0;\n }\n}\n\n\nfunction flush_block_only(s, last) {\n trees._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\n s.block_start = s.strstart;\n flush_pending(s.strm);\n}\n\n\nfunction put_byte(s, b) {\n s.pending_buf[s.pending++] = b;\n}\n\n\n/* =========================================================================\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\n * IN assertion: the stream state is correct and there is enough room in\n * pending_buf.\n */\nfunction putShortMSB(s, b) {\n// put_byte(s, (Byte)(b >> 8));\n// put_byte(s, (Byte)(b & 0xff));\n s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\n s.pending_buf[s.pending++] = b & 0xff;\n}\n\n\n/* ===========================================================================\n * Read a new buffer from the current input stream, update the adler32\n * and total number of bytes read. All deflate() input goes through\n * this function so some applications may wish to modify it to avoid\n * allocating a large strm->input buffer and copying from it.\n * (See also flush_pending()).\n */\nfunction read_buf(strm, buf, start, size) {\n var len = strm.avail_in;\n\n if (len > size) { len = size; }\n if (len === 0) { return 0; }\n\n strm.avail_in -= len;\n\n // zmemcpy(buf, strm->next_in, len);\n utils.arraySet(buf, strm.input, strm.next_in, len, start);\n if (strm.state.wrap === 1) {\n strm.adler = adler32(strm.adler, buf, len, start);\n }\n\n else if (strm.state.wrap === 2) {\n strm.adler = crc32(strm.adler, buf, len, start);\n }\n\n strm.next_in += len;\n strm.total_in += len;\n\n return len;\n}\n\n\n/* ===========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n * OUT assertion: the match length is not greater than s->lookahead.\n */\nfunction longest_match(s, cur_match) {\n var chain_length = s.max_chain_length; /* max hash chain length */\n var scan = s.strstart; /* current string */\n var match; /* matched string */\n var len; /* length of current match */\n var best_len = s.prev_length; /* best match length so far */\n var nice_match = s.nice_match; /* stop if match long enough */\n var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\n s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\n\n var _win = s.window; // shortcut\n\n var wmask = s.w_mask;\n var prev = s.prev;\n\n /* Stop when cur_match becomes <= limit. To simplify the code,\n * we prevent matches with the string of window index 0.\n */\n\n var strend = s.strstart + MAX_MATCH;\n var scan_end1 = _win[scan + best_len - 1];\n var scan_end = _win[scan + best_len];\n\n /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\n * It is easy to get rid of this optimization if necessary.\n */\n // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, \"Code too clever\");\n\n /* Do not waste too much time if we already have a good match: */\n if (s.prev_length >= s.good_match) {\n chain_length >>= 2;\n }\n /* Do not look for matches beyond the end of the input. This is necessary\n * to make deflate deterministic.\n */\n if (nice_match > s.lookahead) { nice_match = s.lookahead; }\n\n // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, \"need lookahead\");\n\n do {\n // Assert(cur_match < s->strstart, \"no future\");\n match = cur_match;\n\n /* Skip to next match if the match length cannot increase\n * or if the match length is less than 2. Note that the checks below\n * for insufficient lookahead only occur occasionally for performance\n * reasons. Therefore uninitialized memory will be accessed, and\n * conditional jumps will be made that depend on those values.\n * However the length of the match is limited to the lookahead, so\n * the output of deflate is not affected by the uninitialized values.\n */\n\n if (_win[match + best_len] !== scan_end ||\n _win[match + best_len - 1] !== scan_end1 ||\n _win[match] !== _win[scan] ||\n _win[++match] !== _win[scan + 1]) {\n continue;\n }\n\n /* The check at best_len-1 can be removed because it will be made\n * again later. (This heuristic is not always a win.)\n * It is not necessary to compare scan[2] and match[2] since they\n * are always equal when the other bytes match, given that\n * the hash keys are equal and that HASH_BITS >= 8.\n */\n scan += 2;\n match++;\n // Assert(*scan == *match, \"match[2]?\");\n\n /* We check for insufficient lookahead only every 8th comparison;\n * the 256th check will be made at strstart+258.\n */\n do {\n /*jshint noempty:false*/\n } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n scan < strend);\n\n // Assert(scan <= s->window+(unsigned)(s->window_size-1), \"wild scan\");\n\n len = MAX_MATCH - (strend - scan);\n scan = strend - MAX_MATCH;\n\n if (len > best_len) {\n s.match_start = cur_match;\n best_len = len;\n if (len >= nice_match) {\n break;\n }\n scan_end1 = _win[scan + best_len - 1];\n scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n\n if (best_len <= s.lookahead) {\n return best_len;\n }\n return s.lookahead;\n}\n\n\n/* ===========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead.\n *\n * IN assertion: lookahead < MIN_LOOKAHEAD\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\n * At least one byte has been read, or avail_in == 0; reads are\n * performed for at least two bytes (required for the zip translate_eol\n * option -- not supported here).\n */\nfunction fill_window(s) {\n var _w_size = s.w_size;\n var p, n, m, more, str;\n\n //Assert(s->lookahead < MIN_LOOKAHEAD, \"already enough lookahead\");\n\n do {\n more = s.window_size - s.lookahead - s.strstart;\n\n // JS ints have 32 bit, block below not needed\n /* Deal with !@#$% 64K limit: */\n //if (sizeof(int) <= 2) {\n // if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\n // more = wsize;\n //\n // } else if (more == (unsigned)(-1)) {\n // /* Very unlikely, but possible on 16 bit machine if\n // * strstart == 0 && lookahead == 1 (input done a byte at time)\n // */\n // more--;\n // }\n //}\n\n\n /* If the window is almost full and there is insufficient lookahead,\n * move the upper half to the lower one to make room in the upper half.\n */\n if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n\n utils.arraySet(s.window, s.window, _w_size, _w_size, 0);\n s.match_start -= _w_size;\n s.strstart -= _w_size;\n /* we now have strstart >= MAX_DIST */\n s.block_start -= _w_size;\n\n /* Slide the hash table (could be avoided with 32 bit values\n at the expense of memory usage). We slide even when level == 0\n to keep the hash table consistent if we switch back to level > 0\n later. (Using level 0 permanently is not an optimal usage of\n zlib, so we don't care about this pathological case.)\n */\n\n n = s.hash_size;\n p = n;\n do {\n m = s.head[--p];\n s.head[p] = (m >= _w_size ? m - _w_size : 0);\n } while (--n);\n\n n = _w_size;\n p = n;\n do {\n m = s.prev[--p];\n s.prev[p] = (m >= _w_size ? m - _w_size : 0);\n /* If n is not on any hash chain, prev[n] is garbage but\n * its value will never be used.\n */\n } while (--n);\n\n more += _w_size;\n }\n if (s.strm.avail_in === 0) {\n break;\n }\n\n /* If there was no sliding:\n * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\n * more == window_size - lookahead - strstart\n * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\n * => more >= window_size - 2*WSIZE + 2\n * In the BIG_MEM or MMAP case (not yet supported),\n * window_size == input_size + MIN_LOOKAHEAD &&\n * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\n * Otherwise, window_size == 2*WSIZE so more >= 2.\n * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\n */\n //Assert(more >= 2, \"more < 2\");\n n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\n s.lookahead += n;\n\n /* Initialize the hash value now that we have some input: */\n if (s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert;\n s.ins_h = s.window[str];\n\n /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask;\n//#if MIN_MATCH != 3\n// Call update_hash() MIN_MATCH-3 more times\n//#endif\n while (s.insert) {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = str;\n str++;\n s.insert--;\n if (s.lookahead + s.insert < MIN_MATCH) {\n break;\n }\n }\n }\n /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\n * but this is not important since only literal bytes will be emitted.\n */\n\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n\n /* If the WIN_INIT bytes after the end of the current data have never been\n * written, then zero those bytes in order to avoid memory check reports of\n * the use of uninitialized (or uninitialised as Julian writes) bytes by\n * the longest match routines. Update the high water mark for the next\n * time through here. WIN_INIT is set to MAX_MATCH since the longest match\n * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\n */\n// if (s.high_water < s.window_size) {\n// var curr = s.strstart + s.lookahead;\n// var init = 0;\n//\n// if (s.high_water < curr) {\n// /* Previous high water mark below current data -- zero WIN_INIT\n// * bytes or up to end of window, whichever is less.\n// */\n// init = s.window_size - curr;\n// if (init > WIN_INIT)\n// init = WIN_INIT;\n// zmemzero(s->window + curr, (unsigned)init);\n// s->high_water = curr + init;\n// }\n// else if (s->high_water < (ulg)curr + WIN_INIT) {\n// /* High water mark at or above current data, but below current data\n// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\n// * to end of window, whichever is less.\n// */\n// init = (ulg)curr + WIN_INIT - s->high_water;\n// if (init > s->window_size - s->high_water)\n// init = s->window_size - s->high_water;\n// zmemzero(s->window + s->high_water, (unsigned)init);\n// s->high_water += init;\n// }\n// }\n//\n// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\n// \"not enough room for search\");\n}\n\n/* ===========================================================================\n * Copy without compression as much as possible from the input stream, return\n * the current block state.\n * This function does not insert new strings in the dictionary since\n * uncompressible data is probably not useful. This function is used\n * only for the level=0 compression option.\n * NOTE: this function should be optimized to avoid extra copying from\n * window to pending_buf.\n */\nfunction deflate_stored(s, flush) {\n /* Stored blocks are limited to 0xffff bytes, pending_buf is limited\n * to pending_buf_size, and each stored block has a 5 byte header:\n */\n var max_block_size = 0xffff;\n\n if (max_block_size > s.pending_buf_size - 5) {\n max_block_size = s.pending_buf_size - 5;\n }\n\n /* Copy as much as possible from input to output: */\n for (;;) {\n /* Fill the window as much as possible: */\n if (s.lookahead <= 1) {\n\n //Assert(s->strstart < s->w_size+MAX_DIST(s) ||\n // s->block_start >= (long)s->w_size, \"slide too late\");\n// if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) ||\n// s.block_start >= s.w_size)) {\n// throw new Error(\"slide too late\");\n// }\n\n fill_window(s);\n if (s.lookahead === 0 && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n\n if (s.lookahead === 0) {\n break;\n }\n /* flush the current block */\n }\n //Assert(s->block_start >= 0L, \"block gone\");\n// if (s.block_start < 0) throw new Error(\"block gone\");\n\n s.strstart += s.lookahead;\n s.lookahead = 0;\n\n /* Emit a stored block if pending_buf will be full: */\n var max_start = s.block_start + max_block_size;\n\n if (s.strstart === 0 || s.strstart >= max_start) {\n /* strstart == 0 is possible when wraparound on 16-bit machine */\n s.lookahead = s.strstart - max_start;\n s.strstart = max_start;\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n\n\n }\n /* Flush if we may have to slide, otherwise block_start may become\n * negative and the data will be gone:\n */\n if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n\n s.insert = 0;\n\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n\n if (s.strstart > s.block_start) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_NEED_MORE;\n}\n\n/* ===========================================================================\n * Compress as much as possible from the input stream, return the current\n * block state.\n * This function does not perform lazy evaluation of matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\nfunction deflate_fast(s, flush) {\n var hash_head; /* head of the hash chain */\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) {\n break; /* flush the current block */\n }\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n * At this point we have always match_length < MIN_MATCH\n */\n if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n }\n if (s.match_length >= MIN_MATCH) {\n // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\n\n /*** _tr_tally_dist(s, s.strstart - s.match_start,\n s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n\n /* Insert new strings in the hash table only if the match length\n * is not too large. This saves time but degrades compression.\n */\n if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {\n s.match_length--; /* string at strstart already in table */\n do {\n s.strstart++;\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n * always MIN_MATCH bytes ahead.\n */\n } while (--s.match_length !== 0);\n s.strstart++;\n } else\n {\n s.strstart += s.match_length;\n s.match_length = 0;\n s.ins_h = s.window[s.strstart];\n /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask;\n\n//#if MIN_MATCH != 3\n// Call UPDATE_HASH() MIN_MATCH-3 more times\n//#endif\n /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\n * matter since it will be recomputed at next deflate call.\n */\n }\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s.window[s.strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = ((s.strstart < (MIN_MATCH - 1)) ? s.strstart : MIN_MATCH - 1);\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\nfunction deflate_slow(s, flush) {\n var hash_head; /* head of hash chain */\n var bflush; /* set if current block must be flushed */\n\n var max_insert;\n\n /* Process the input block. */\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n */\n s.prev_length = s.match_length;\n s.prev_match = s.match_start;\n s.match_length = MIN_MATCH - 1;\n\n if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\n s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n\n if (s.match_length <= 5 &&\n (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\n\n /* If prev_match is also MIN_MATCH, match_start is garbage\n * but we will ignore the current match anyway.\n */\n s.match_length = MIN_MATCH - 1;\n }\n }\n /* If there was a match at the previous step and the current\n * match is not better, output the previous match:\n */\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH;\n /* Do not insert strings in hash table beyond this. */\n\n //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\n\n /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\n s.prev_length - MIN_MATCH, bflush);***/\n bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH);\n /* Insert in hash table all strings up to the end of the match.\n * strstart-1 and strstart are already inserted. If there is not\n * enough lookahead, the last two strings are not inserted in\n * the hash table.\n */\n s.lookahead -= s.prev_length - 1;\n s.prev_length -= 2;\n do {\n if (++s.strstart <= max_insert) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n } while (--s.prev_length !== 0);\n s.match_available = 0;\n s.match_length = MIN_MATCH - 1;\n s.strstart++;\n\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n } else if (s.match_available) {\n /* If there was no match at the previous position, output a\n * single literal. If there was a match but the current match\n * is longer, truncate the previous match to a single literal.\n */\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);\n\n if (bflush) {\n /*** FLUSH_BLOCK_ONLY(s, 0) ***/\n flush_block_only(s, false);\n /***/\n }\n s.strstart++;\n s.lookahead--;\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n } else {\n /* There is no previous match to compare with, wait for\n * the next step to decide.\n */\n s.match_available = 1;\n s.strstart++;\n s.lookahead--;\n }\n }\n //Assert (flush != Z_NO_FLUSH, \"no flush?\");\n if (s.match_available) {\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);\n\n s.match_available = 0;\n }\n s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_BLOCK_DONE;\n}\n\n\n/* ===========================================================================\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\n * one. Do not maintain a hash table. (It will be regenerated if this run of\n * deflate switches away from Z_RLE.)\n */\nfunction deflate_rle(s, flush) {\n var bflush; /* set if current block must be flushed */\n var prev; /* byte at distance one to match */\n var scan, strend; /* scan goes up to strend for length of run */\n\n var _win = s.window;\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the longest run, plus one for the unrolled loop.\n */\n if (s.lookahead <= MAX_MATCH) {\n fill_window(s);\n if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* See how many times the previous byte repeats */\n s.match_length = 0;\n if (s.lookahead >= MIN_MATCH && s.strstart > 0) {\n scan = s.strstart - 1;\n prev = _win[scan];\n if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do {\n /*jshint noempty:false*/\n } while (prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n scan < strend);\n s.match_length = MAX_MATCH - (strend - scan);\n if (s.match_length > s.lookahead) {\n s.match_length = s.lookahead;\n }\n }\n //Assert(scan <= s->window+(uInt)(s->window_size-1), \"wild scan\");\n }\n\n /* Emit match if have run of MIN_MATCH or longer, else emit literal */\n if (s.match_length >= MIN_MATCH) {\n //check_match(s, s.strstart, s.strstart - 1, s.match_length);\n\n /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n s.strstart += s.match_length;\n s.match_length = 0;\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.\n * (It will be regenerated if this run of deflate switches away from Huffman.)\n */\nfunction deflate_huff(s, flush) {\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we have a literal to write. */\n if (s.lookahead === 0) {\n fill_window(s);\n if (s.lookahead === 0) {\n if (flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n break; /* flush the current block */\n }\n }\n\n /* Output a literal byte */\n s.match_length = 0;\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n s.lookahead--;\n s.strstart++;\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\nfunction Config(good_length, max_lazy, nice_length, max_chain, func) {\n this.good_length = good_length;\n this.max_lazy = max_lazy;\n this.nice_length = nice_length;\n this.max_chain = max_chain;\n this.func = func;\n}\n\nvar configuration_table;\n\nconfiguration_table = [\n /* good lazy nice chain */\n new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */\n new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */\n new Config(4, 5, 16, 8, deflate_fast), /* 2 */\n new Config(4, 6, 32, 32, deflate_fast), /* 3 */\n\n new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */\n new Config(8, 16, 32, 32, deflate_slow), /* 5 */\n new Config(8, 16, 128, 128, deflate_slow), /* 6 */\n new Config(8, 32, 128, 256, deflate_slow), /* 7 */\n new Config(32, 128, 258, 1024, deflate_slow), /* 8 */\n new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */\n];\n\n\n/* ===========================================================================\n * Initialize the \"longest match\" routines for a new zlib stream\n */\nfunction lm_init(s) {\n s.window_size = 2 * s.w_size;\n\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n\n /* Set the default configuration parameters:\n */\n s.max_lazy_match = configuration_table[s.level].max_lazy;\n s.good_match = configuration_table[s.level].good_length;\n s.nice_match = configuration_table[s.level].nice_length;\n s.max_chain_length = configuration_table[s.level].max_chain;\n\n s.strstart = 0;\n s.block_start = 0;\n s.lookahead = 0;\n s.insert = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n s.ins_h = 0;\n}\n\n\nfunction DeflateState() {\n this.strm = null; /* pointer back to this zlib stream */\n this.status = 0; /* as the name implies */\n this.pending_buf = null; /* output still pending */\n this.pending_buf_size = 0; /* size of pending_buf */\n this.pending_out = 0; /* next pending byte to output to the stream */\n this.pending = 0; /* nb of bytes in the pending buffer */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.gzhead = null; /* gzip header information to write */\n this.gzindex = 0; /* where in extra, name, or comment */\n this.method = Z_DEFLATED; /* can only be DEFLATED */\n this.last_flush = -1; /* value of flush param for previous deflate call */\n\n this.w_size = 0; /* LZ77 window size (32K by default) */\n this.w_bits = 0; /* log2(w_size) (8..16) */\n this.w_mask = 0; /* w_size - 1 */\n\n this.window = null;\n /* Sliding window. Input bytes are read into the second half of the window,\n * and move to the first half later to keep a dictionary of at least wSize\n * bytes. With this organization, matches are limited to a distance of\n * wSize-MAX_MATCH bytes, but this ensures that IO is always\n * performed with a length multiple of the block size.\n */\n\n this.window_size = 0;\n /* Actual size of window: 2*wSize, except when the user input buffer\n * is directly used as sliding window.\n */\n\n this.prev = null;\n /* Link to older string with same hash index. To limit the size of this\n * array to 64K, this link is maintained only for the last 32K strings.\n * An index in this array is thus a window index modulo 32K.\n */\n\n this.head = null; /* Heads of the hash chains or NIL. */\n\n this.ins_h = 0; /* hash index of string to be inserted */\n this.hash_size = 0; /* number of elements in hash table */\n this.hash_bits = 0; /* log2(hash_size) */\n this.hash_mask = 0; /* hash_size-1 */\n\n this.hash_shift = 0;\n /* Number of bits by which ins_h must be shifted at each input\n * step. It must be such that after MIN_MATCH steps, the oldest\n * byte no longer takes part in the hash key, that is:\n * hash_shift * MIN_MATCH >= hash_bits\n */\n\n this.block_start = 0;\n /* Window position at the beginning of the current output block. Gets\n * negative when the window is moved backwards.\n */\n\n this.match_length = 0; /* length of best match */\n this.prev_match = 0; /* previous match */\n this.match_available = 0; /* set if previous match exists */\n this.strstart = 0; /* start of string to insert */\n this.match_start = 0; /* start of matching string */\n this.lookahead = 0; /* number of valid bytes ahead in window */\n\n this.prev_length = 0;\n /* Length of the best match at previous step. Matches not greater than this\n * are discarded. This is used in the lazy match evaluation.\n */\n\n this.max_chain_length = 0;\n /* To speed up deflation, hash chains are never searched beyond this\n * length. A higher limit improves compression ratio but degrades the\n * speed.\n */\n\n this.max_lazy_match = 0;\n /* Attempt to find a better match only when the current match is strictly\n * smaller than this value. This mechanism is used only for compression\n * levels >= 4.\n */\n // That's alias to max_lazy_match, don't use directly\n //this.max_insert_length = 0;\n /* Insert new strings in the hash table only if the match length is not\n * greater than this length. This saves time but degrades compression.\n * max_insert_length is used only for compression levels <= 3.\n */\n\n this.level = 0; /* compression level (1..9) */\n this.strategy = 0; /* favor or force Huffman coding*/\n\n this.good_match = 0;\n /* Use a faster search when the previous match is longer than this */\n\n this.nice_match = 0; /* Stop searching when current match exceeds this */\n\n /* used by trees.c: */\n\n /* Didn't use ct_data typedef below to suppress compiler warning */\n\n // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */\n // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\n // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */\n\n // Use flat array of DOUBLE size, with interleaved fata,\n // because JS does not support effective\n this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2);\n this.dyn_dtree = new utils.Buf16((2 * D_CODES + 1) * 2);\n this.bl_tree = new utils.Buf16((2 * BL_CODES + 1) * 2);\n zero(this.dyn_ltree);\n zero(this.dyn_dtree);\n zero(this.bl_tree);\n\n this.l_desc = null; /* desc. for literal tree */\n this.d_desc = null; /* desc. for distance tree */\n this.bl_desc = null; /* desc. for bit length tree */\n\n //ush bl_count[MAX_BITS+1];\n this.bl_count = new utils.Buf16(MAX_BITS + 1);\n /* number of codes at each bit length for an optimal tree */\n\n //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */\n this.heap = new utils.Buf16(2 * L_CODES + 1); /* heap used to build the Huffman trees */\n zero(this.heap);\n\n this.heap_len = 0; /* number of elements in the heap */\n this.heap_max = 0; /* element of largest frequency */\n /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\n * The same heap array is used to build all trees.\n */\n\n this.depth = new utils.Buf16(2 * L_CODES + 1); //uch depth[2*L_CODES+1];\n zero(this.depth);\n /* Depth of each subtree used as tie breaker for trees of equal frequency\n */\n\n this.l_buf = 0; /* buffer index for literals or lengths */\n\n this.lit_bufsize = 0;\n /* Size of match buffer for literals/lengths. There are 4 reasons for\n * limiting lit_bufsize to 64K:\n * - frequencies can be kept in 16 bit counters\n * - if compression is not successful for the first block, all input\n * data is still in the window so we can still emit a stored block even\n * when input comes from standard input. (This can also be done for\n * all blocks if lit_bufsize is not greater than 32K.)\n * - if compression is not successful for a file smaller than 64K, we can\n * even emit a stored file instead of a stored block (saving 5 bytes).\n * This is applicable only for zip (not gzip or zlib).\n * - creating new Huffman trees less frequently may not provide fast\n * adaptation to changes in the input data statistics. (Take for\n * example a binary file with poorly compressible code followed by\n * a highly compressible string table.) Smaller buffer sizes give\n * fast adaptation but have of course the overhead of transmitting\n * trees more frequently.\n * - I can't count above 4\n */\n\n this.last_lit = 0; /* running index in l_buf */\n\n this.d_buf = 0;\n /* Buffer index for distances. To simplify the code, d_buf and l_buf have\n * the same number of elements. To use different lengths, an extra flag\n * array would be necessary.\n */\n\n this.opt_len = 0; /* bit length of current block with optimal trees */\n this.static_len = 0; /* bit length of current block with static trees */\n this.matches = 0; /* number of string matches in current block */\n this.insert = 0; /* bytes at end of window left to insert */\n\n\n this.bi_buf = 0;\n /* Output buffer. bits are inserted starting at the bottom (least\n * significant bits).\n */\n this.bi_valid = 0;\n /* Number of valid bits in bi_buf. All bits above the last valid bit\n * are always zero.\n */\n\n // Used for window memory init. We safely ignore it for JS. That makes\n // sense only for pointers and memory check tools.\n //this.high_water = 0;\n /* High water mark offset in window for initialized bytes -- bytes above\n * this are set to zero in order to avoid memory check warnings when\n * longest match routines access bytes past the input. This is then\n * updated to the new high water mark.\n */\n}\n\n\nfunction deflateResetKeep(strm) {\n var s;\n\n if (!strm || !strm.state) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.total_in = strm.total_out = 0;\n strm.data_type = Z_UNKNOWN;\n\n s = strm.state;\n s.pending = 0;\n s.pending_out = 0;\n\n if (s.wrap < 0) {\n s.wrap = -s.wrap;\n /* was made negative by deflate(..., Z_FINISH); */\n }\n s.status = (s.wrap ? INIT_STATE : BUSY_STATE);\n strm.adler = (s.wrap === 2) ?\n 0 // crc32(0, Z_NULL, 0)\n :\n 1; // adler32(0, Z_NULL, 0)\n s.last_flush = Z_NO_FLUSH;\n trees._tr_init(s);\n return Z_OK;\n}\n\n\nfunction deflateReset(strm) {\n var ret = deflateResetKeep(strm);\n if (ret === Z_OK) {\n lm_init(strm.state);\n }\n return ret;\n}\n\n\nfunction deflateSetHeader(strm, head) {\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n if (strm.state.wrap !== 2) { return Z_STREAM_ERROR; }\n strm.state.gzhead = head;\n return Z_OK;\n}\n\n\nfunction deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n if (!strm) { // === Z_NULL\n return Z_STREAM_ERROR;\n }\n var wrap = 1;\n\n if (level === Z_DEFAULT_COMPRESSION) {\n level = 6;\n }\n\n if (windowBits < 0) { /* suppress zlib wrapper */\n wrap = 0;\n windowBits = -windowBits;\n }\n\n else if (windowBits > 15) {\n wrap = 2; /* write gzip wrapper instead */\n windowBits -= 16;\n }\n\n\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||\n windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\n strategy < 0 || strategy > Z_FIXED) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n\n if (windowBits === 8) {\n windowBits = 9;\n }\n /* until 256-byte window bug fixed */\n\n var s = new DeflateState();\n\n strm.state = s;\n s.strm = strm;\n\n s.wrap = wrap;\n s.gzhead = null;\n s.w_bits = windowBits;\n s.w_size = 1 << s.w_bits;\n s.w_mask = s.w_size - 1;\n\n s.hash_bits = memLevel + 7;\n s.hash_size = 1 << s.hash_bits;\n s.hash_mask = s.hash_size - 1;\n s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);\n\n s.window = new utils.Buf8(s.w_size * 2);\n s.head = new utils.Buf16(s.hash_size);\n s.prev = new utils.Buf16(s.w_size);\n\n // Don't need mem init magic for JS.\n //s.high_water = 0; /* nothing written to s->window yet */\n\n s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\n\n s.pending_buf_size = s.lit_bufsize * 4;\n\n //overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);\n //s->pending_buf = (uchf *) overlay;\n s.pending_buf = new utils.Buf8(s.pending_buf_size);\n\n // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`)\n //s->d_buf = overlay + s->lit_bufsize/sizeof(ush);\n s.d_buf = 1 * s.lit_bufsize;\n\n //s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;\n s.l_buf = (1 + 2) * s.lit_bufsize;\n\n s.level = level;\n s.strategy = strategy;\n s.method = method;\n\n return deflateReset(strm);\n}\n\nfunction deflateInit(strm, level) {\n return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n}\n\n\nfunction deflate(strm, flush) {\n var old_flush, s;\n var beg, val; // for gzip header write only\n\n if (!strm || !strm.state ||\n flush > Z_BLOCK || flush < 0) {\n return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n }\n\n s = strm.state;\n\n if (!strm.output ||\n (!strm.input && strm.avail_in !== 0) ||\n (s.status === FINISH_STATE && flush !== Z_FINISH)) {\n return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);\n }\n\n s.strm = strm; /* just in case */\n old_flush = s.last_flush;\n s.last_flush = flush;\n\n /* Write the header */\n if (s.status === INIT_STATE) {\n\n if (s.wrap === 2) { // GZIP header\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n put_byte(s, 31);\n put_byte(s, 139);\n put_byte(s, 8);\n if (!s.gzhead) { // s->gzhead == Z_NULL\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, OS_CODE);\n s.status = BUSY_STATE;\n }\n else {\n put_byte(s, (s.gzhead.text ? 1 : 0) +\n (s.gzhead.hcrc ? 2 : 0) +\n (!s.gzhead.extra ? 0 : 4) +\n (!s.gzhead.name ? 0 : 8) +\n (!s.gzhead.comment ? 0 : 16)\n );\n put_byte(s, s.gzhead.time & 0xff);\n put_byte(s, (s.gzhead.time >> 8) & 0xff);\n put_byte(s, (s.gzhead.time >> 16) & 0xff);\n put_byte(s, (s.gzhead.time >> 24) & 0xff);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, s.gzhead.os & 0xff);\n if (s.gzhead.extra && s.gzhead.extra.length) {\n put_byte(s, s.gzhead.extra.length & 0xff);\n put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\n }\n if (s.gzhead.hcrc) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n }\n s.gzindex = 0;\n s.status = EXTRA_STATE;\n }\n }\n else // DEFLATE header\n {\n var header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;\n var level_flags = -1;\n\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\n level_flags = 0;\n } else if (s.level < 6) {\n level_flags = 1;\n } else if (s.level === 6) {\n level_flags = 2;\n } else {\n level_flags = 3;\n }\n header |= (level_flags << 6);\n if (s.strstart !== 0) { header |= PRESET_DICT; }\n header += 31 - (header % 31);\n\n s.status = BUSY_STATE;\n putShortMSB(s, header);\n\n /* Save the adler32 of the preset dictionary: */\n if (s.strstart !== 0) {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n strm.adler = 1; // adler32(0L, Z_NULL, 0);\n }\n }\n\n//#ifdef GZIP\n if (s.status === EXTRA_STATE) {\n if (s.gzhead.extra/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n\n while (s.gzindex < (s.gzhead.extra.length & 0xffff)) {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n break;\n }\n }\n put_byte(s, s.gzhead.extra[s.gzindex] & 0xff);\n s.gzindex++;\n }\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (s.gzindex === s.gzhead.extra.length) {\n s.gzindex = 0;\n s.status = NAME_STATE;\n }\n }\n else {\n s.status = NAME_STATE;\n }\n }\n if (s.status === NAME_STATE) {\n if (s.gzhead.name/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.name.length) {\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.gzindex = 0;\n s.status = COMMENT_STATE;\n }\n }\n else {\n s.status = COMMENT_STATE;\n }\n }\n if (s.status === COMMENT_STATE) {\n if (s.gzhead.comment/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.comment.length) {\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.status = HCRC_STATE;\n }\n }\n else {\n s.status = HCRC_STATE;\n }\n }\n if (s.status === HCRC_STATE) {\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size) {\n flush_pending(strm);\n }\n if (s.pending + 2 <= s.pending_buf_size) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n s.status = BUSY_STATE;\n }\n }\n else {\n s.status = BUSY_STATE;\n }\n }\n//#endif\n\n /* Flush as much pending output as possible */\n if (s.pending !== 0) {\n flush_pending(strm);\n if (strm.avail_out === 0) {\n /* Since avail_out is 0, deflate will be called again with\n * more output space, but possibly with both pending and\n * avail_in equal to zero. There won't be anything to do,\n * but this is not an error situation so make sure we\n * return OK instead of BUF_ERROR at next call of deflate:\n */\n s.last_flush = -1;\n return Z_OK;\n }\n\n /* Make sure there is something to do and avoid duplicate consecutive\n * flushes. For repeated and useless calls with Z_FINISH, we keep\n * returning Z_STREAM_END instead of Z_BUF_ERROR.\n */\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\n flush !== Z_FINISH) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* User must not provide more input after the first FINISH: */\n if (s.status === FINISH_STATE && strm.avail_in !== 0) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* Start a new block or continue the current one.\n */\n if (strm.avail_in !== 0 || s.lookahead !== 0 ||\n (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {\n var bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) :\n (s.strategy === Z_RLE ? deflate_rle(s, flush) :\n configuration_table[s.level].func(s, flush));\n\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\n s.status = FINISH_STATE;\n }\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0) {\n s.last_flush = -1;\n /* avoid BUF_ERROR next call, see above */\n }\n return Z_OK;\n /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\n * of deflate should use the same flush parameter to make sure\n * that the flush is complete. So we don't have to output an\n * empty block here, this will be done at next call. This also\n * ensures that for a very small output buffer, we emit at most\n * one empty block.\n */\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH) {\n trees._tr_align(s);\n }\n else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */\n\n trees._tr_stored_block(s, 0, 0, false);\n /* For a full flush, this empty block will be recognized\n * as a special marker by inflate_sync().\n */\n if (flush === Z_FULL_FLUSH) {\n /*** CLEAR_HASH(s); ***/ /* forget history */\n zero(s.head); // Fill with NIL (= 0);\n\n if (s.lookahead === 0) {\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n }\n }\n flush_pending(strm);\n if (strm.avail_out === 0) {\n s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\n return Z_OK;\n }\n }\n }\n //Assert(strm->avail_out > 0, \"bug2\");\n //if (strm.avail_out <= 0) { throw new Error(\"bug2\");}\n\n if (flush !== Z_FINISH) { return Z_OK; }\n if (s.wrap <= 0) { return Z_STREAM_END; }\n\n /* Write the trailer */\n if (s.wrap === 2) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n put_byte(s, (strm.adler >> 16) & 0xff);\n put_byte(s, (strm.adler >> 24) & 0xff);\n put_byte(s, strm.total_in & 0xff);\n put_byte(s, (strm.total_in >> 8) & 0xff);\n put_byte(s, (strm.total_in >> 16) & 0xff);\n put_byte(s, (strm.total_in >> 24) & 0xff);\n }\n else\n {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n\n flush_pending(strm);\n /* If avail_out is zero, the application will call deflate again\n * to flush the rest.\n */\n if (s.wrap > 0) { s.wrap = -s.wrap; }\n /* write the trailer only once! */\n return s.pending !== 0 ? Z_OK : Z_STREAM_END;\n}\n\nfunction deflateEnd(strm) {\n var status;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR;\n }\n\n status = strm.state.status;\n if (status !== INIT_STATE &&\n status !== EXTRA_STATE &&\n status !== NAME_STATE &&\n status !== COMMENT_STATE &&\n status !== HCRC_STATE &&\n status !== BUSY_STATE &&\n status !== FINISH_STATE\n ) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.state = null;\n\n return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;\n}\n\n\n/* =========================================================================\n * Initializes the compression dictionary from the given byte\n * sequence without producing any compressed output.\n */\nfunction deflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length;\n\n var s;\n var str, n;\n var wrap;\n var avail;\n var next;\n var input;\n var tmpDict;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR;\n }\n\n s = strm.state;\n wrap = s.wrap;\n\n if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) {\n return Z_STREAM_ERROR;\n }\n\n /* when using zlib wrappers, compute Adler-32 for provided dictionary */\n if (wrap === 1) {\n /* adler32(strm->adler, dictionary, dictLength); */\n strm.adler = adler32(strm.adler, dictionary, dictLength, 0);\n }\n\n s.wrap = 0; /* avoid computing Adler-32 in read_buf */\n\n /* if dictionary would fill window, just replace the history */\n if (dictLength >= s.w_size) {\n if (wrap === 0) { /* already empty otherwise */\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n /* use the tail */\n // dictionary = dictionary.slice(dictLength - s.w_size);\n tmpDict = new utils.Buf8(s.w_size);\n utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0);\n dictionary = tmpDict;\n dictLength = s.w_size;\n }\n /* insert dictionary into window and hash */\n avail = strm.avail_in;\n next = strm.next_in;\n input = strm.input;\n strm.avail_in = dictLength;\n strm.next_in = 0;\n strm.input = dictionary;\n fill_window(s);\n while (s.lookahead >= MIN_MATCH) {\n str = s.strstart;\n n = s.lookahead - (MIN_MATCH - 1);\n do {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n\n s.head[s.ins_h] = str;\n str++;\n } while (--n);\n s.strstart = str;\n s.lookahead = MIN_MATCH - 1;\n fill_window(s);\n }\n s.strstart += s.lookahead;\n s.block_start = s.strstart;\n s.insert = s.lookahead;\n s.lookahead = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n strm.next_in = next;\n strm.input = input;\n strm.avail_in = avail;\n s.wrap = wrap;\n return Z_OK;\n}\n\n\nexports.deflateInit = deflateInit;\nexports.deflateInit2 = deflateInit2;\nexports.deflateReset = deflateReset;\nexports.deflateResetKeep = deflateResetKeep;\nexports.deflateSetHeader = deflateSetHeader;\nexports.deflate = deflate;\nexports.deflateEnd = deflateEnd;\nexports.deflateSetDictionary = deflateSetDictionary;\nexports.deflateInfo = 'pako deflate (from Nodeca project)';\n\n/* Not implemented\nexports.deflateBound = deflateBound;\nexports.deflateCopy = deflateCopy;\nexports.deflateParams = deflateParams;\nexports.deflatePending = deflatePending;\nexports.deflatePrime = deflatePrime;\nexports.deflateTune = deflateTune;\n*/\n\n\n/***/ }),\n\n/***/ \"../node_modules/pako/lib/zlib/gzheader.js\":\n/*!*************************************************!*\\\n !*** ../node_modules/pako/lib/zlib/gzheader.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction GZheader() {\n /* true if compressed data believed to be text */\n this.text = 0;\n /* modification time */\n this.time = 0;\n /* extra flags (not used when writing a gzip file) */\n this.xflags = 0;\n /* operating system */\n this.os = 0;\n /* pointer to extra field or Z_NULL if none */\n this.extra = null;\n /* extra field length (valid if extra != Z_NULL) */\n this.extra_len = 0; // Actually, we don't need it in JS,\n // but leave for few code modifications\n\n //\n // Setup limits is not necessary because in js we should not preallocate memory\n // for inflate use constant limit in 65536 bytes\n //\n\n /* space at extra (only when reading header) */\n // this.extra_max = 0;\n /* pointer to zero-terminated file name or Z_NULL */\n this.name = '';\n /* space at name (only when reading header) */\n // this.name_max = 0;\n /* pointer to zero-terminated comment or Z_NULL */\n this.comment = '';\n /* space at comment (only when reading header) */\n // this.comm_max = 0;\n /* true if there was or will be a header crc */\n this.hcrc = 0;\n /* true when done reading gzip header (not used when writing a gzip file) */\n this.done = false;\n}\n\nmodule.exports = GZheader;\n\n\n/***/ }),\n\n/***/ \"../node_modules/pako/lib/zlib/inffast.js\":\n/*!************************************************!*\\\n !*** ../node_modules/pako/lib/zlib/inffast.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// See state defs from inflate.js\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\n\n/*\n Decode literal, length, and distance codes and write out the resulting\n literal and match bytes until either not enough input or output is\n available, an end-of-block is encountered, or a data error is encountered.\n When large enough input and output buffers are supplied to inflate(), for\n example, a 16K input buffer and a 64K output buffer, more than 95% of the\n inflate execution time is spent in this routine.\n\n Entry assumptions:\n\n state.mode === LEN\n strm.avail_in >= 6\n strm.avail_out >= 258\n start >= strm.avail_out\n state.bits < 8\n\n On return, state.mode is one of:\n\n LEN -- ran out of enough output space or enough available input\n TYPE -- reached end of block code, inflate() to interpret next block\n BAD -- error in block data\n\n Notes:\n\n - The maximum input bits used by a length/distance pair is 15 bits for the\n length code, 5 bits for the length extra, 15 bits for the distance code,\n and 13 bits for the distance extra. This totals 48 bits, or six bytes.\n Therefore if strm.avail_in >= 6, then there is enough input to avoid\n checking for available input while decoding.\n\n - The maximum bytes that a single length/distance pair can output is 258\n bytes, which is the maximum length that can be coded. inflate_fast()\n requires strm.avail_out >= 258 for each loop to avoid checking for\n output space.\n */\nmodule.exports = function inflate_fast(strm, start) {\n var state;\n var _in; /* local strm.input */\n var last; /* have enough input while in < last */\n var _out; /* local strm.output */\n var beg; /* inflate()'s initial strm.output */\n var end; /* while out < end, enough space available */\n//#ifdef INFLATE_STRICT\n var dmax; /* maximum distance from zlib header */\n//#endif\n var wsize; /* window size or zero if not using window */\n var whave; /* valid bytes in the window */\n var wnext; /* window write index */\n // Use `s_window` instead `window`, avoid conflict with instrumentation tools\n var s_window; /* allocated sliding window, if wsize != 0 */\n var hold; /* local strm.hold */\n var bits; /* local strm.bits */\n var lcode; /* local strm.lencode */\n var dcode; /* local strm.distcode */\n var lmask; /* mask for first level of length codes */\n var dmask; /* mask for first level of distance codes */\n var here; /* retrieved table entry */\n var op; /* code bits, operation, extra bits, or */\n /* window position, window bytes to copy */\n var len; /* match length, unused bytes */\n var dist; /* match distance */\n var from; /* where to copy match from */\n var from_source;\n\n\n var input, output; // JS specific, because we have no pointers\n\n /* copy state to local variables */\n state = strm.state;\n //here = state.here;\n _in = strm.next_in;\n input = strm.input;\n last = _in + (strm.avail_in - 5);\n _out = strm.next_out;\n output = strm.output;\n beg = _out - (start - strm.avail_out);\n end = _out + (strm.avail_out - 257);\n//#ifdef INFLATE_STRICT\n dmax = state.dmax;\n//#endif\n wsize = state.wsize;\n whave = state.whave;\n wnext = state.wnext;\n s_window = state.window;\n hold = state.hold;\n bits = state.bits;\n lcode = state.lencode;\n dcode = state.distcode;\n lmask = (1 << state.lenbits) - 1;\n dmask = (1 << state.distbits) - 1;\n\n\n /* decode literals and length/distances until end-of-block or not enough\n input data or output space */\n\n top:\n do {\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n\n here = lcode[hold & lmask];\n\n dolen:\n for (;;) { // Goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n if (op === 0) { /* literal */\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n output[_out++] = here & 0xffff/*here.val*/;\n }\n else if (op & 16) { /* length base */\n len = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (op) {\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n len += hold & ((1 << op) - 1);\n hold >>>= op;\n bits -= op;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", len));\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n here = dcode[hold & dmask];\n\n dodist:\n for (;;) { // goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n\n if (op & 16) { /* distance base */\n dist = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n }\n dist += hold & ((1 << op) - 1);\n//#ifdef INFLATE_STRICT\n if (dist > dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n//#endif\n hold >>>= op;\n bits -= op;\n //Tracevv((stderr, \"inflate: distance %u\\n\", dist));\n op = _out - beg; /* max distance in output */\n if (dist > op) { /* see if copy from window */\n op = dist - op; /* distance back in window */\n if (op > whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// if (len <= op - whave) {\n// do {\n// output[_out++] = 0;\n// } while (--len);\n// continue top;\n// }\n// len -= op - whave;\n// do {\n// output[_out++] = 0;\n// } while (--op > whave);\n// if (op === 0) {\n// from = _out - dist;\n// do {\n// output[_out++] = output[from++];\n// } while (--len);\n// continue top;\n// }\n//#endif\n }\n from = 0; // window index\n from_source = s_window;\n if (wnext === 0) { /* very common case */\n from += wsize - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n else if (wnext < op) { /* wrap around window */\n from += wsize + wnext - op;\n op -= wnext;\n if (op < len) { /* some from end of window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = 0;\n if (wnext < len) { /* some from start of window */\n op = wnext;\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n }\n else { /* contiguous in window */\n from += wnext - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n while (len > 2) {\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n len -= 3;\n }\n if (len) {\n output[_out++] = from_source[from++];\n if (len > 1) {\n output[_out++] = from_source[from++];\n }\n }\n }\n else {\n from = _out - dist; /* copy direct from output */\n do { /* minimum length is three */\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n len -= 3;\n } while (len > 2);\n if (len) {\n output[_out++] = output[from++];\n if (len > 1) {\n output[_out++] = output[from++];\n }\n }\n }\n }\n else if ((op & 64) === 0) { /* 2nd level distance code */\n here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dodist;\n }\n else {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n }\n else if ((op & 64) === 0) { /* 2nd level length code */\n here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dolen;\n }\n else if (op & 32) { /* end-of-block */\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.mode = TYPE;\n break top;\n }\n else {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n } while (_in < last && _out < end);\n\n /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n len = bits >> 3;\n _in -= len;\n bits -= len << 3;\n hold &= (1 << bits) - 1;\n\n /* update state and return */\n strm.next_in = _in;\n strm.next_out = _out;\n strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\n strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\n state.hold = hold;\n state.bits = bits;\n return;\n};\n\n\n/***/ }),\n\n/***/ \"../node_modules/pako/lib/zlib/inflate.js\":\n/*!************************************************!*\\\n !*** ../node_modules/pako/lib/zlib/inflate.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = __webpack_require__(/*! ../utils/common */ \"../node_modules/pako/lib/utils/common.js\");\nvar adler32 = __webpack_require__(/*! ./adler32 */ \"../node_modules/pako/lib/zlib/adler32.js\");\nvar crc32 = __webpack_require__(/*! ./crc32 */ \"../node_modules/pako/lib/zlib/crc32.js\");\nvar inflate_fast = __webpack_require__(/*! ./inffast */ \"../node_modules/pako/lib/zlib/inffast.js\");\nvar inflate_table = __webpack_require__(/*! ./inftrees */ \"../node_modules/pako/lib/zlib/inftrees.js\");\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\n//var Z_NO_FLUSH = 0;\n//var Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\n//var Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\nvar Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\nvar Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\nvar Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\n\nvar HEAD = 1; /* i: waiting for magic header */\nvar FLAGS = 2; /* i: waiting for method and flags (gzip) */\nvar TIME = 3; /* i: waiting for modification time (gzip) */\nvar OS = 4; /* i: waiting for extra flags and operating system (gzip) */\nvar EXLEN = 5; /* i: waiting for extra length (gzip) */\nvar EXTRA = 6; /* i: waiting for extra bytes (gzip) */\nvar NAME = 7; /* i: waiting for end of file name (gzip) */\nvar COMMENT = 8; /* i: waiting for end of comment (gzip) */\nvar HCRC = 9; /* i: waiting for header crc (gzip) */\nvar DICTID = 10; /* i: waiting for dictionary check value */\nvar DICT = 11; /* waiting for inflateSetDictionary() call */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\nvar TYPEDO = 13; /* i: same, but skip check to exit inflate on new block */\nvar STORED = 14; /* i: waiting for stored size (length and complement) */\nvar COPY_ = 15; /* i/o: same as COPY below, but only first time in */\nvar COPY = 16; /* i/o: waiting for input or output to copy stored block */\nvar TABLE = 17; /* i: waiting for dynamic block table lengths */\nvar LENLENS = 18; /* i: waiting for code length code lengths */\nvar CODELENS = 19; /* i: waiting for length/lit and distance code lengths */\nvar LEN_ = 20; /* i: same as LEN below, but only first time in */\nvar LEN = 21; /* i: waiting for length/lit/eob code */\nvar LENEXT = 22; /* i: waiting for length extra bits */\nvar DIST = 23; /* i: waiting for distance code */\nvar DISTEXT = 24; /* i: waiting for distance extra bits */\nvar MATCH = 25; /* o: waiting for output space to copy string */\nvar LIT = 26; /* o: waiting for output space to write literal */\nvar CHECK = 27; /* i: waiting for 32-bit check value */\nvar LENGTH = 28; /* i: waiting for 32-bit length (gzip) */\nvar DONE = 29; /* finished check, done -- remain here until reset */\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar MEM = 31; /* got an inflate() memory error -- remain here until reset */\nvar SYNC = 32; /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\n\n\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_WBITS = MAX_WBITS;\n\n\nfunction zswap32(q) {\n return (((q >>> 24) & 0xff) +\n ((q >>> 8) & 0xff00) +\n ((q & 0xff00) << 8) +\n ((q & 0xff) << 24));\n}\n\n\nfunction InflateState() {\n this.mode = 0; /* current inflate mode */\n this.last = false; /* true if processing last block */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.havedict = false; /* true if dictionary provided */\n this.flags = 0; /* gzip header method and flags (0 if zlib) */\n this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */\n this.check = 0; /* protected copy of check value */\n this.total = 0; /* protected copy of output count */\n // TODO: may be {}\n this.head = null; /* where to save gzip header information */\n\n /* sliding window */\n this.wbits = 0; /* log base 2 of requested window size */\n this.wsize = 0; /* window size or zero if not using window */\n this.whave = 0; /* valid bytes in the window */\n this.wnext = 0; /* window write index */\n this.window = null; /* allocated sliding window, if needed */\n\n /* bit accumulator */\n this.hold = 0; /* input bit accumulator */\n this.bits = 0; /* number of bits in \"in\" */\n\n /* for string and stored block copying */\n this.length = 0; /* literal or length of data to copy */\n this.offset = 0; /* distance back to copy string from */\n\n /* for table and code decoding */\n this.extra = 0; /* extra bits needed */\n\n /* fixed and dynamic code tables */\n this.lencode = null; /* starting table for length/literal codes */\n this.distcode = null; /* starting table for distance codes */\n this.lenbits = 0; /* index bits for lencode */\n this.distbits = 0; /* index bits for distcode */\n\n /* dynamic table building */\n this.ncode = 0; /* number of code length code lengths */\n this.nlen = 0; /* number of length code lengths */\n this.ndist = 0; /* number of distance code lengths */\n this.have = 0; /* number of code lengths in lens[] */\n this.next = null; /* next available space in codes[] */\n\n this.lens = new utils.Buf16(320); /* temporary storage for code lengths */\n this.work = new utils.Buf16(288); /* work area for code table building */\n\n /*\n because we don't have pointers in js, we use lencode and distcode directly\n as buffers so we don't need codes\n */\n //this.codes = new utils.Buf32(ENOUGH); /* space for code tables */\n this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */\n this.distdyn = null; /* dynamic table for distance codes (JS specific) */\n this.sane = 0; /* if false, allow invalid distance too far */\n this.back = 0; /* bits back of last unprocessed length/lit */\n this.was = 0; /* initial length of match */\n}\n\nfunction inflateResetKeep(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n strm.total_in = strm.total_out = state.total = 0;\n strm.msg = ''; /*Z_NULL*/\n if (state.wrap) { /* to support ill-conceived Java test suite */\n strm.adler = state.wrap & 1;\n }\n state.mode = HEAD;\n state.last = 0;\n state.havedict = 0;\n state.dmax = 32768;\n state.head = null/*Z_NULL*/;\n state.hold = 0;\n state.bits = 0;\n //state.lencode = state.distcode = state.next = state.codes;\n state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS);\n state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS);\n\n state.sane = 1;\n state.back = -1;\n //Tracev((stderr, \"inflate: reset\\n\"));\n return Z_OK;\n}\n\nfunction inflateReset(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n state.wsize = 0;\n state.whave = 0;\n state.wnext = 0;\n return inflateResetKeep(strm);\n\n}\n\nfunction inflateReset2(strm, windowBits) {\n var wrap;\n var state;\n\n /* get the state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n\n /* extract wrap request from windowBits parameter */\n if (windowBits < 0) {\n wrap = 0;\n windowBits = -windowBits;\n }\n else {\n wrap = (windowBits >> 4) + 1;\n if (windowBits < 48) {\n windowBits &= 15;\n }\n }\n\n /* set number of window bits, free window if different */\n if (windowBits && (windowBits < 8 || windowBits > 15)) {\n return Z_STREAM_ERROR;\n }\n if (state.window !== null && state.wbits !== windowBits) {\n state.window = null;\n }\n\n /* update state and reset the rest of it */\n state.wrap = wrap;\n state.wbits = windowBits;\n return inflateReset(strm);\n}\n\nfunction inflateInit2(strm, windowBits) {\n var ret;\n var state;\n\n if (!strm) { return Z_STREAM_ERROR; }\n //strm.msg = Z_NULL; /* in case we return an error */\n\n state = new InflateState();\n\n //if (state === Z_NULL) return Z_MEM_ERROR;\n //Tracev((stderr, \"inflate: allocated\\n\"));\n strm.state = state;\n state.window = null/*Z_NULL*/;\n ret = inflateReset2(strm, windowBits);\n if (ret !== Z_OK) {\n strm.state = null/*Z_NULL*/;\n }\n return ret;\n}\n\nfunction inflateInit(strm) {\n return inflateInit2(strm, DEF_WBITS);\n}\n\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding. Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it's called, and returns those tables the first time and\n thereafter. This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time. However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nvar virgin = true;\n\nvar lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\nfunction fixedtables(state) {\n /* build fixed huffman tables if first call (may not be thread safe) */\n if (virgin) {\n var sym;\n\n lenfix = new utils.Buf32(512);\n distfix = new utils.Buf32(32);\n\n /* literal/length table */\n sym = 0;\n while (sym < 144) { state.lens[sym++] = 8; }\n while (sym < 256) { state.lens[sym++] = 9; }\n while (sym < 280) { state.lens[sym++] = 7; }\n while (sym < 288) { state.lens[sym++] = 8; }\n\n inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 });\n\n /* distance table */\n sym = 0;\n while (sym < 32) { state.lens[sym++] = 5; }\n\n inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 });\n\n /* do this just once */\n virgin = false;\n }\n\n state.lencode = lenfix;\n state.lenbits = 9;\n state.distcode = distfix;\n state.distbits = 5;\n}\n\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning. If window does not exist yet, create it. This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor's data caches.\n */\nfunction updatewindow(strm, src, end, copy) {\n var dist;\n var state = strm.state;\n\n /* if it hasn't been done already, allocate space for the window */\n if (state.window === null) {\n state.wsize = 1 << state.wbits;\n state.wnext = 0;\n state.whave = 0;\n\n state.window = new utils.Buf8(state.wsize);\n }\n\n /* copy state->wsize or less output bytes into the circular window */\n if (copy >= state.wsize) {\n utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0);\n state.wnext = 0;\n state.whave = state.wsize;\n }\n else {\n dist = state.wsize - state.wnext;\n if (dist > copy) {\n dist = copy;\n }\n //zmemcpy(state->window + state->wnext, end - copy, dist);\n utils.arraySet(state.window, src, end - copy, dist, state.wnext);\n copy -= dist;\n if (copy) {\n //zmemcpy(state->window, end - copy, copy);\n utils.arraySet(state.window, src, end - copy, copy, 0);\n state.wnext = copy;\n state.whave = state.wsize;\n }\n else {\n state.wnext += dist;\n if (state.wnext === state.wsize) { state.wnext = 0; }\n if (state.whave < state.wsize) { state.whave += dist; }\n }\n }\n return 0;\n}\n\nfunction inflate(strm, flush) {\n var state;\n var input, output; // input/output buffers\n var next; /* next input INDEX */\n var put; /* next output INDEX */\n var have, left; /* available input and output */\n var hold; /* bit buffer */\n var bits; /* bits in bit buffer */\n var _in, _out; /* save starting available input and output */\n var copy; /* number of stored or match bytes to copy */\n var from; /* where to copy match bytes from */\n var from_source;\n var here = 0; /* current decoding table entry */\n var here_bits, here_op, here_val; // paked \"here\" denormalized (JS specific)\n //var last; /* parent table entry */\n var last_bits, last_op, last_val; // paked \"last\" denormalized (JS specific)\n var len; /* length to copy for repeats, bits to drop */\n var ret; /* return code */\n var hbuf = new utils.Buf8(4); /* buffer for gzip header crc calculation */\n var opts;\n\n var n; // temporary var for NEED_BITS\n\n var order = /* permutation of code lengths */\n [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n\n if (!strm || !strm.state || !strm.output ||\n (!strm.input && strm.avail_in !== 0)) {\n return Z_STREAM_ERROR;\n }\n\n state = strm.state;\n if (state.mode === TYPE) { state.mode = TYPEDO; } /* skip check */\n\n\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n _in = have;\n _out = left;\n ret = Z_OK;\n\n inf_leave: // goto emulation\n for (;;) {\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n //=== NEEDBITS(16);\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */\n state.check = 0/*crc32(0L, Z_NULL, 0)*/;\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = FLAGS;\n break;\n }\n state.flags = 0; /* expect zlib header */\n if (state.head) {\n state.head.done = false;\n }\n if (!(state.wrap & 1) || /* check if zlib header allowed */\n (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\n strm.msg = 'incorrect header check';\n state.mode = BAD;\n break;\n }\n if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n len = (hold & 0x0f)/*BITS(4)*/ + 8;\n if (state.wbits === 0) {\n state.wbits = len;\n }\n else if (len > state.wbits) {\n strm.msg = 'invalid window size';\n state.mode = BAD;\n break;\n }\n state.dmax = 1 << len;\n //Tracev((stderr, \"inflate: zlib header ok\\n\"));\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = hold & 0x200 ? DICTID : TYPE;\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n break;\n case FLAGS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.flags = hold;\n if ((state.flags & 0xff) !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n if (state.flags & 0xe000) {\n strm.msg = 'unknown header flags set';\n state.mode = BAD;\n break;\n }\n if (state.head) {\n state.head.text = ((hold >> 8) & 1);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = TIME;\n /* falls through */\n case TIME:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.time = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC4(state.check, hold)\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n hbuf[2] = (hold >>> 16) & 0xff;\n hbuf[3] = (hold >>> 24) & 0xff;\n state.check = crc32(state.check, hbuf, 4, 0);\n //===\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = OS;\n /* falls through */\n case OS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.xflags = (hold & 0xff);\n state.head.os = (hold >> 8);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = EXLEN;\n /* falls through */\n case EXLEN:\n if (state.flags & 0x0400) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length = hold;\n if (state.head) {\n state.head.extra_len = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n else if (state.head) {\n state.head.extra = null/*Z_NULL*/;\n }\n state.mode = EXTRA;\n /* falls through */\n case EXTRA:\n if (state.flags & 0x0400) {\n copy = state.length;\n if (copy > have) { copy = have; }\n if (copy) {\n if (state.head) {\n len = state.head.extra_len - state.length;\n if (!state.head.extra) {\n // Use untyped array for more convenient processing later\n state.head.extra = new Array(state.head.extra_len);\n }\n utils.arraySet(\n state.head.extra,\n input,\n next,\n // extra field is limited to 65536 bytes\n // - no need for additional size check\n copy,\n /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n len\n );\n //zmemcpy(state.head.extra + len, next,\n // len + copy > state.head.extra_max ?\n // state.head.extra_max - len : copy);\n }\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n state.length -= copy;\n }\n if (state.length) { break inf_leave; }\n }\n state.length = 0;\n state.mode = NAME;\n /* falls through */\n case NAME:\n if (state.flags & 0x0800) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n // TODO: 2 or 1 bytes?\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.name_max*/)) {\n state.head.name += String.fromCharCode(len);\n }\n } while (len && copy < have);\n\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.name = null;\n }\n state.length = 0;\n state.mode = COMMENT;\n /* falls through */\n case COMMENT:\n if (state.flags & 0x1000) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.comm_max*/)) {\n state.head.comment += String.fromCharCode(len);\n }\n } while (len && copy < have);\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.comment = null;\n }\n state.mode = HCRC;\n /* falls through */\n case HCRC:\n if (state.flags & 0x0200) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.check & 0xffff)) {\n strm.msg = 'header crc mismatch';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n if (state.head) {\n state.head.hcrc = ((state.flags >> 9) & 1);\n state.head.done = true;\n }\n strm.adler = state.check = 0;\n state.mode = TYPE;\n break;\n case DICTID:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n strm.adler = state.check = zswap32(hold);\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = DICT;\n /* falls through */\n case DICT:\n if (state.havedict === 0) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n return Z_NEED_DICT;\n }\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = TYPE;\n /* falls through */\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case TYPEDO:\n if (state.last) {\n //--- BYTEBITS() ---//\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n state.mode = CHECK;\n break;\n }\n //=== NEEDBITS(3); */\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.last = (hold & 0x01)/*BITS(1)*/;\n //--- DROPBITS(1) ---//\n hold >>>= 1;\n bits -= 1;\n //---//\n\n switch ((hold & 0x03)/*BITS(2)*/) {\n case 0: /* stored block */\n //Tracev((stderr, \"inflate: stored block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = STORED;\n break;\n case 1: /* fixed block */\n fixedtables(state);\n //Tracev((stderr, \"inflate: fixed codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = LEN_; /* decode codes */\n if (flush === Z_TREES) {\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break inf_leave;\n }\n break;\n case 2: /* dynamic block */\n //Tracev((stderr, \"inflate: dynamic codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = 'invalid block type';\n state.mode = BAD;\n }\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break;\n case STORED:\n //--- BYTEBITS() ---// /* go to byte boundary */\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\n strm.msg = 'invalid stored block lengths';\n state.mode = BAD;\n break;\n }\n state.length = hold & 0xffff;\n //Tracev((stderr, \"inflate: stored length %u\\n\",\n // state.length));\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = COPY_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case COPY_:\n state.mode = COPY;\n /* falls through */\n case COPY:\n copy = state.length;\n if (copy) {\n if (copy > have) { copy = have; }\n if (copy > left) { copy = left; }\n if (copy === 0) { break inf_leave; }\n //--- zmemcpy(put, next, copy); ---\n utils.arraySet(output, input, next, copy, put);\n //---//\n have -= copy;\n next += copy;\n left -= copy;\n put += copy;\n state.length -= copy;\n break;\n }\n //Tracev((stderr, \"inflate: stored end\\n\"));\n state.mode = TYPE;\n break;\n case TABLE:\n //=== NEEDBITS(14); */\n while (bits < 14) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n//#ifndef PKZIP_BUG_WORKAROUND\n if (state.nlen > 286 || state.ndist > 30) {\n strm.msg = 'too many length or distance symbols';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracev((stderr, \"inflate: table sizes ok\\n\"));\n state.have = 0;\n state.mode = LENLENS;\n /* falls through */\n case LENLENS:\n while (state.have < state.ncode) {\n //=== NEEDBITS(3);\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n while (state.have < 19) {\n state.lens[order[state.have++]] = 0;\n }\n // We have separate tables & no pointers. 2 commented lines below not needed.\n //state.next = state.codes;\n //state.lencode = state.next;\n // Switch to use dynamic table\n state.lencode = state.lendyn;\n state.lenbits = 7;\n\n opts = { bits: state.lenbits };\n ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n state.lenbits = opts.bits;\n\n if (ret) {\n strm.msg = 'invalid code lengths set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, \"inflate: code lengths ok\\n\"));\n state.have = 0;\n state.mode = CODELENS;\n /* falls through */\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_val < 16) {\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.lens[state.have++] = here_val;\n }\n else {\n if (here_val === 16) {\n //=== NEEDBITS(here.bits + 2);\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n if (state.have === 0) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1];\n copy = 3 + (hold & 0x03);//BITS(2);\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n }\n else if (here_val === 17) {\n //=== NEEDBITS(here.bits + 3);\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 3 + (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n else {\n //=== NEEDBITS(here.bits + 7);\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 11 + (hold & 0x7f);//BITS(7);\n //--- DROPBITS(7) ---//\n hold >>>= 7;\n bits -= 7;\n //---//\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n while (copy--) {\n state.lens[state.have++] = len;\n }\n }\n }\n\n /* handle error breaks in while */\n if (state.mode === BAD) { break; }\n\n /* check for end-of-block code (better have one) */\n if (state.lens[256] === 0) {\n strm.msg = 'invalid code -- missing end-of-block';\n state.mode = BAD;\n break;\n }\n\n /* build code tables -- note: do not change the lenbits or distbits\n values here (9 and 6) without reading the comments in inftrees.h\n concerning the ENOUGH constants, which depend on those values */\n state.lenbits = 9;\n\n opts = { bits: state.lenbits };\n ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.lenbits = opts.bits;\n // state.lencode = state.next;\n\n if (ret) {\n strm.msg = 'invalid literal/lengths set';\n state.mode = BAD;\n break;\n }\n\n state.distbits = 6;\n //state.distcode.copy(state.codes);\n // Switch to use dynamic table\n state.distcode = state.distdyn;\n opts = { bits: state.distbits };\n ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.distbits = opts.bits;\n // state.distcode = state.next;\n\n if (ret) {\n strm.msg = 'invalid distances set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, 'inflate: codes ok\\n'));\n state.mode = LEN_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case LEN_:\n state.mode = LEN;\n /* falls through */\n case LEN:\n if (have >= 6 && left >= 258) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n inflate_fast(strm, _out);\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n if (state.mode === TYPE) {\n state.back = -1;\n }\n break;\n }\n state.back = 0;\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)]; /*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if (here_bits <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_op && (here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.lencode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n state.length = here_val;\n if (here_op === 0) {\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.back = -1;\n state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break;\n }\n state.extra = here_op & 15;\n state.mode = LENEXT;\n /* falls through */\n case LENEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", state.length));\n state.was = state.length;\n state.mode = DIST;\n /* falls through */\n case DIST:\n for (;;) {\n here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if ((here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.distcode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n if (here_op & 64) {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break;\n }\n state.offset = here_val;\n state.extra = (here_op) & 15;\n state.mode = DISTEXT;\n /* falls through */\n case DISTEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n//#ifdef INFLATE_STRICT\n if (state.offset > state.dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracevv((stderr, \"inflate: distance %u\\n\", state.offset));\n state.mode = MATCH;\n /* falls through */\n case MATCH:\n if (left === 0) { break inf_leave; }\n copy = _out - left;\n if (state.offset > copy) { /* copy from window */\n copy = state.offset - copy;\n if (copy > state.whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// Trace((stderr, \"inflate.c too far\\n\"));\n// copy -= state.whave;\n// if (copy > state.length) { copy = state.length; }\n// if (copy > left) { copy = left; }\n// left -= copy;\n// state.length -= copy;\n// do {\n// output[put++] = 0;\n// } while (--copy);\n// if (state.length === 0) { state.mode = LEN; }\n// break;\n//#endif\n }\n if (copy > state.wnext) {\n copy -= state.wnext;\n from = state.wsize - copy;\n }\n else {\n from = state.wnext - copy;\n }\n if (copy > state.length) { copy = state.length; }\n from_source = state.window;\n }\n else { /* copy from output */\n from_source = output;\n from = put - state.offset;\n copy = state.length;\n }\n if (copy > left) { copy = left; }\n left -= copy;\n state.length -= copy;\n do {\n output[put++] = from_source[from++];\n } while (--copy);\n if (state.length === 0) { state.mode = LEN; }\n break;\n case LIT:\n if (left === 0) { break inf_leave; }\n output[put++] = state.length;\n left--;\n state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n // Use '|' instead of '+' to make sure that result is signed\n hold |= input[next++] << bits;\n bits += 8;\n }\n //===//\n _out -= left;\n strm.total_out += _out;\n state.total += _out;\n if (_out) {\n strm.adler = state.check =\n /*UPDATE(state.check, put - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));\n\n }\n _out = left;\n // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too\n if ((state.flags ? hold : zswap32(hold)) !== state.check) {\n strm.msg = 'incorrect data check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: check matches trailer\\n\"));\n }\n state.mode = LENGTH;\n /* falls through */\n case LENGTH:\n if (state.wrap && state.flags) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.total & 0xffffffff)) {\n strm.msg = 'incorrect length check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: length matches trailer\\n\"));\n }\n state.mode = DONE;\n /* falls through */\n case DONE:\n ret = Z_STREAM_END;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR;\n case SYNC:\n /* falls through */\n default:\n return Z_STREAM_ERROR;\n }\n }\n\n // inf_leave <- here is real place for \"goto inf_leave\", emulated via \"break inf_leave\"\n\n /*\n Return from inflate(), updating the total counts and the check value.\n If there was no progress during the inflate() call, return a buffer\n error. Call updatewindow() to create and/or update the window state.\n Note: a memory error from inflate() is non-recoverable.\n */\n\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n\n if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&\n (state.mode < CHECK || flush !== Z_FINISH))) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n }\n _in -= strm.avail_in;\n _out -= strm.avail_out;\n strm.total_in += _in;\n strm.total_out += _out;\n state.total += _out;\n if (state.wrap && _out) {\n strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));\n }\n strm.data_type = state.bits + (state.last ? 64 : 0) +\n (state.mode === TYPE ? 128 : 0) +\n (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {\n ret = Z_BUF_ERROR;\n }\n return ret;\n}\n\nfunction inflateEnd(strm) {\n\n if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {\n return Z_STREAM_ERROR;\n }\n\n var state = strm.state;\n if (state.window) {\n state.window = null;\n }\n strm.state = null;\n return Z_OK;\n}\n\nfunction inflateGetHeader(strm, head) {\n var state;\n\n /* check state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }\n\n /* save header structure */\n state.head = head;\n head.done = false;\n return Z_OK;\n}\n\nfunction inflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length;\n\n var state;\n var dictid;\n var ret;\n\n /* check state */\n if (!strm /* == Z_NULL */ || !strm.state /* == Z_NULL */) { return Z_STREAM_ERROR; }\n state = strm.state;\n\n if (state.wrap !== 0 && state.mode !== DICT) {\n return Z_STREAM_ERROR;\n }\n\n /* check for correct dictionary identifier */\n if (state.mode === DICT) {\n dictid = 1; /* adler32(0, null, 0)*/\n /* dictid = adler32(dictid, dictionary, dictLength); */\n dictid = adler32(dictid, dictionary, dictLength, 0);\n if (dictid !== state.check) {\n return Z_DATA_ERROR;\n }\n }\n /* copy dictionary to window using updatewindow(), which will amend the\n existing dictionary if appropriate */\n ret = updatewindow(strm, dictionary, dictLength, dictLength);\n if (ret) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n state.havedict = 1;\n // Tracev((stderr, \"inflate: dictionary set\\n\"));\n return Z_OK;\n}\n\nexports.inflateReset = inflateReset;\nexports.inflateReset2 = inflateReset2;\nexports.inflateResetKeep = inflateResetKeep;\nexports.inflateInit = inflateInit;\nexports.inflateInit2 = inflateInit2;\nexports.inflate = inflate;\nexports.inflateEnd = inflateEnd;\nexports.inflateGetHeader = inflateGetHeader;\nexports.inflateSetDictionary = inflateSetDictionary;\nexports.inflateInfo = 'pako inflate (from Nodeca project)';\n\n/* Not implemented\nexports.inflateCopy = inflateCopy;\nexports.inflateGetDictionary = inflateGetDictionary;\nexports.inflateMark = inflateMark;\nexports.inflatePrime = inflatePrime;\nexports.inflateSync = inflateSync;\nexports.inflateSyncPoint = inflateSyncPoint;\nexports.inflateUndermine = inflateUndermine;\n*/\n\n\n/***/ }),\n\n/***/ \"../node_modules/pako/lib/zlib/inftrees.js\":\n/*!*************************************************!*\\\n !*** ../node_modules/pako/lib/zlib/inftrees.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = __webpack_require__(/*! ../utils/common */ \"../node_modules/pako/lib/utils/common.js\");\n\nvar MAXBITS = 15;\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\nvar lbase = [ /* Length codes 257..285 base */\n 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n];\n\nvar lext = [ /* Length codes 257..285 extra */\n 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\n];\n\nvar dbase = [ /* Distance codes 0..29 base */\n 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n 8193, 12289, 16385, 24577, 0, 0\n];\n\nvar dext = [ /* Distance codes 0..29 extra */\n 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n 28, 28, 29, 29, 64, 64\n];\n\nmodule.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts)\n{\n var bits = opts.bits;\n //here = opts.here; /* table entry for duplication */\n\n var len = 0; /* a code's length in bits */\n var sym = 0; /* index of code symbols */\n var min = 0, max = 0; /* minimum and maximum code lengths */\n var root = 0; /* number of index bits for root table */\n var curr = 0; /* number of index bits for current table */\n var drop = 0; /* code bits to drop for sub-table */\n var left = 0; /* number of prefix codes available */\n var used = 0; /* code entries in table used */\n var huff = 0; /* Huffman code */\n var incr; /* for incrementing code, index */\n var fill; /* index for replicating entries */\n var low; /* low bits for current root entry */\n var mask; /* mask for low root bits */\n var next; /* next available space in table */\n var base = null; /* base value table to use */\n var base_index = 0;\n// var shoextra; /* extra bits table to use */\n var end; /* use base and extra for symbol > end */\n var count = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* number of codes of each length */\n var offs = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* offsets in table for each length */\n var extra = null;\n var extra_index = 0;\n\n var here_bits, here_op, here_val;\n\n /*\n Process a set of code lengths to create a canonical Huffman code. The\n code lengths are lens[0..codes-1]. Each length corresponds to the\n symbols 0..codes-1. The Huffman code is generated by first sorting the\n symbols by length from short to long, and retaining the symbol order\n for codes with equal lengths. Then the code starts with all zero bits\n for the first code of the shortest length, and the codes are integer\n increments for the same length, and zeros are appended as the length\n increases. For the deflate format, these bits are stored backwards\n from their more natural integer increment ordering, and so when the\n decoding tables are built in the large loop below, the integer codes\n are incremented backwards.\n\n This routine assumes, but does not check, that all of the entries in\n lens[] are in the range 0..MAXBITS. The caller must assure this.\n 1..MAXBITS is interpreted as that code length. zero means that that\n symbol does not occur in this code.\n\n The codes are sorted by computing a count of codes for each length,\n creating from that a table of starting indices for each length in the\n sorted table, and then entering the symbols in order in the sorted\n table. The sorted table is work[], with that space being provided by\n the caller.\n\n The length counts are used for other purposes as well, i.e. finding\n the minimum and maximum length codes, determining if there are any\n codes at all, checking for a valid set of lengths, and looking ahead\n at length counts to determine sub-table sizes when building the\n decoding tables.\n */\n\n /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n for (len = 0; len <= MAXBITS; len++) {\n count[len] = 0;\n }\n for (sym = 0; sym < codes; sym++) {\n count[lens[lens_index + sym]]++;\n }\n\n /* bound code lengths, force root to be within code lengths */\n root = bits;\n for (max = MAXBITS; max >= 1; max--) {\n if (count[max] !== 0) { break; }\n }\n if (root > max) {\n root = max;\n }\n if (max === 0) { /* no symbols to code at all */\n //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */\n //table.bits[opts.table_index] = 1; //here.bits = (var char)1;\n //table.val[opts.table_index++] = 0; //here.val = (var short)0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n\n //table.op[opts.table_index] = 64;\n //table.bits[opts.table_index] = 1;\n //table.val[opts.table_index++] = 0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n opts.bits = 1;\n return 0; /* no symbols, but wait for decoding to report error */\n }\n for (min = 1; min < max; min++) {\n if (count[min] !== 0) { break; }\n }\n if (root < min) {\n root = min;\n }\n\n /* check for an over-subscribed or incomplete set of lengths */\n left = 1;\n for (len = 1; len <= MAXBITS; len++) {\n left <<= 1;\n left -= count[len];\n if (left < 0) {\n return -1;\n } /* over-subscribed */\n }\n if (left > 0 && (type === CODES || max !== 1)) {\n return -1; /* incomplete set */\n }\n\n /* generate offsets into symbol table for each length for sorting */\n offs[1] = 0;\n for (len = 1; len < MAXBITS; len++) {\n offs[len + 1] = offs[len] + count[len];\n }\n\n /* sort symbols by length, by symbol order within each length */\n for (sym = 0; sym < codes; sym++) {\n if (lens[lens_index + sym] !== 0) {\n work[offs[lens[lens_index + sym]]++] = sym;\n }\n }\n\n /*\n Create and fill in decoding tables. In this loop, the table being\n filled is at next and has curr index bits. The code being used is huff\n with length len. That code is converted to an index by dropping drop\n bits off of the bottom. For codes where len is less than drop + curr,\n those top drop + curr - len bits are incremented through all values to\n fill the table with replicated entries.\n\n root is the number of index bits for the root table. When len exceeds\n root, sub-tables are created pointed to by the root entry with an index\n of the low root bits of huff. This is saved in low to check for when a\n new sub-table should be started. drop is zero when the root table is\n being filled, and drop is root when sub-tables are being filled.\n\n When a new sub-table is needed, it is necessary to look ahead in the\n code lengths to determine what size sub-table is needed. The length\n counts are used for this, and so count[] is decremented as codes are\n entered in the tables.\n\n used keeps track of how many table entries have been allocated from the\n provided *table space. It is checked for LENS and DIST tables against\n the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n the initial root table size constants. See the comments in inftrees.h\n for more information.\n\n sym increments through all symbols, and the loop terminates when\n all codes of length max, i.e. all codes, have been processed. This\n routine permits incomplete codes, so another loop after this one fills\n in the rest of the decoding tables with invalid code markers.\n */\n\n /* set up for code type */\n // poor man optimization - use if-else instead of switch,\n // to avoid deopts in old v8\n if (type === CODES) {\n base = extra = work; /* dummy value--not used */\n end = 19;\n\n } else if (type === LENS) {\n base = lbase;\n base_index -= 257;\n extra = lext;\n extra_index -= 257;\n end = 256;\n\n } else { /* DISTS */\n base = dbase;\n extra = dext;\n end = -1;\n }\n\n /* initialize opts for loop */\n huff = 0; /* starting code */\n sym = 0; /* starting code symbol */\n len = min; /* starting code length */\n next = table_index; /* current table to fill in */\n curr = root; /* current table index bits */\n drop = 0; /* current bits to drop from code for index */\n low = -1; /* trigger new sub-table when len > root */\n used = 1 << root; /* use root table entries */\n mask = used - 1; /* mask for comparing low */\n\n /* check available table space */\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n /* process all codes and make table entries */\n for (;;) {\n /* create table entry */\n here_bits = len - drop;\n if (work[sym] < end) {\n here_op = 0;\n here_val = work[sym];\n }\n else if (work[sym] > end) {\n here_op = extra[extra_index + work[sym]];\n here_val = base[base_index + work[sym]];\n }\n else {\n here_op = 32 + 64; /* end of block */\n here_val = 0;\n }\n\n /* replicate for those indices with low len bits equal to huff */\n incr = 1 << (len - drop);\n fill = 1 << curr;\n min = fill; /* save offset to next table */\n do {\n fill -= incr;\n table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\n } while (fill !== 0);\n\n /* backwards increment the len-bit code huff */\n incr = 1 << (len - 1);\n while (huff & incr) {\n incr >>= 1;\n }\n if (incr !== 0) {\n huff &= incr - 1;\n huff += incr;\n } else {\n huff = 0;\n }\n\n /* go to next symbol, update count, len */\n sym++;\n if (--count[len] === 0) {\n if (len === max) { break; }\n len = lens[lens_index + work[sym]];\n }\n\n /* create new sub-table if needed */\n if (len > root && (huff & mask) !== low) {\n /* if first time, transition to sub-tables */\n if (drop === 0) {\n drop = root;\n }\n\n /* increment past last table */\n next += min; /* here min is 1 << curr */\n\n /* determine length of next table */\n curr = len - drop;\n left = 1 << curr;\n while (curr + drop < max) {\n left -= count[curr + drop];\n if (left <= 0) { break; }\n curr++;\n left <<= 1;\n }\n\n /* check for enough space */\n used += 1 << curr;\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n /* point entry in root table to sub-table */\n low = huff & mask;\n /*table.op[low] = curr;\n table.bits[low] = root;\n table.val[low] = next - opts.table_index;*/\n table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\n }\n }\n\n /* fill in remaining table entry if code is incomplete (guaranteed to have\n at most one remaining entry, since if the code is incomplete, the\n maximum code length that was allowed to get this far is one bit) */\n if (huff !== 0) {\n //table.op[next + huff] = 64; /* invalid code marker */\n //table.bits[next + huff] = len - drop;\n //table.val[next + huff] = 0;\n table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\n }\n\n /* set return parameters */\n //opts.table_index += used;\n opts.bits = root;\n return 0;\n};\n\n\n/***/ }),\n\n/***/ \"../node_modules/pako/lib/zlib/messages.js\":\n/*!*************************************************!*\\\n !*** ../node_modules/pako/lib/zlib/messages.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nmodule.exports = {\n 2: 'need dictionary', /* Z_NEED_DICT 2 */\n 1: 'stream end', /* Z_STREAM_END 1 */\n 0: '', /* Z_OK 0 */\n '-1': 'file error', /* Z_ERRNO (-1) */\n '-2': 'stream error', /* Z_STREAM_ERROR (-2) */\n '-3': 'data error', /* Z_DATA_ERROR (-3) */\n '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */\n '-5': 'buffer error', /* Z_BUF_ERROR (-5) */\n '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */\n};\n\n\n/***/ }),\n\n/***/ \"../node_modules/pako/lib/zlib/trees.js\":\n/*!**********************************************!*\\\n !*** ../node_modules/pako/lib/zlib/trees.js ***!\n \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n/* eslint-disable space-unary-ops */\n\nvar utils = __webpack_require__(/*! ../utils/common */ \"../node_modules/pako/lib/utils/common.js\");\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n//var Z_FILTERED = 1;\n//var Z_HUFFMAN_ONLY = 2;\n//var Z_RLE = 3;\nvar Z_FIXED = 4;\n//var Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\nvar Z_BINARY = 0;\nvar Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n/*============================================================================*/\n\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n// From zutil.h\n\nvar STORED_BLOCK = 0;\nvar STATIC_TREES = 1;\nvar DYN_TREES = 2;\n/* The three kinds of block type */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\n/* The minimum and maximum match lengths */\n\n// From deflate.h\n/* ===========================================================================\n * Internal compression state.\n */\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\n\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\n\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\n\nvar D_CODES = 30;\n/* number of distance codes */\n\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\n\nvar HEAP_SIZE = 2 * L_CODES + 1;\n/* maximum heap size */\n\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar Buf_size = 16;\n/* size of bit buffer in bi_buf */\n\n\n/* ===========================================================================\n * Constants\n */\n\nvar MAX_BL_BITS = 7;\n/* Bit length codes must not exceed MAX_BL_BITS bits */\n\nvar END_BLOCK = 256;\n/* end of block literal code */\n\nvar REP_3_6 = 16;\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\n\nvar REPZ_3_10 = 17;\n/* repeat a zero length 3-10 times (3 bits of repeat count) */\n\nvar REPZ_11_138 = 18;\n/* repeat a zero length 11-138 times (7 bits of repeat count) */\n\n/* eslint-disable comma-spacing,array-bracket-spacing */\nvar extra_lbits = /* extra bits for each length code */\n [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];\n\nvar extra_dbits = /* extra bits for each distance code */\n [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];\n\nvar extra_blbits = /* extra bits for each bit length code */\n [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];\n\nvar bl_order =\n [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];\n/* eslint-enable comma-spacing,array-bracket-spacing */\n\n/* The lengths of the bit length codes are sent in order of decreasing\n * probability, to avoid transmitting the lengths for unused bit length codes.\n */\n\n/* ===========================================================================\n * Local data. These are initialized only once.\n */\n\n// We pre-fill arrays with 0 to avoid uninitialized gaps\n\nvar DIST_CODE_LEN = 512; /* see definition of array dist_code below */\n\n// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1\nvar static_ltree = new Array((L_CODES + 2) * 2);\nzero(static_ltree);\n/* The static literal tree. Since the bit lengths are imposed, there is no\n * need for the L_CODES extra codes used during heap construction. However\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\n * below).\n */\n\nvar static_dtree = new Array(D_CODES * 2);\nzero(static_dtree);\n/* The static distance tree. (Actually a trivial tree since all codes use\n * 5 bits.)\n */\n\nvar _dist_code = new Array(DIST_CODE_LEN);\nzero(_dist_code);\n/* Distance codes. The first 256 values correspond to the distances\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\n * the 15 bit distances.\n */\n\nvar _length_code = new Array(MAX_MATCH - MIN_MATCH + 1);\nzero(_length_code);\n/* length code for each normalized match length (0 == MIN_MATCH) */\n\nvar base_length = new Array(LENGTH_CODES);\nzero(base_length);\n/* First normalized length for each code (0 = MIN_MATCH) */\n\nvar base_dist = new Array(D_CODES);\nzero(base_dist);\n/* First normalized distance for each code (0 = distance of 1) */\n\n\nfunction StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n\n this.static_tree = static_tree; /* static tree or NULL */\n this.extra_bits = extra_bits; /* extra bits for each code or NULL */\n this.extra_base = extra_base; /* base index for extra_bits */\n this.elems = elems; /* max number of elements in the tree */\n this.max_length = max_length; /* max bit length for the codes */\n\n // show if `static_tree` has data or dummy - needed for monomorphic objects\n this.has_stree = static_tree && static_tree.length;\n}\n\n\nvar static_l_desc;\nvar static_d_desc;\nvar static_bl_desc;\n\n\nfunction TreeDesc(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree; /* the dynamic tree */\n this.max_code = 0; /* largest code with non zero frequency */\n this.stat_desc = stat_desc; /* the corresponding static tree */\n}\n\n\n\nfunction d_code(dist) {\n return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n}\n\n\n/* ===========================================================================\n * Output a short LSB first on the stream.\n * IN assertion: there is enough room in pendingBuf.\n */\nfunction put_short(s, w) {\n// put_byte(s, (uch)((w) & 0xff));\n// put_byte(s, (uch)((ush)(w) >> 8));\n s.pending_buf[s.pending++] = (w) & 0xff;\n s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\n}\n\n\n/* ===========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\nfunction send_bits(s, value, length) {\n if (s.bi_valid > (Buf_size - length)) {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n put_short(s, s.bi_buf);\n s.bi_buf = value >> (Buf_size - s.bi_valid);\n s.bi_valid += length - Buf_size;\n } else {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n s.bi_valid += length;\n }\n}\n\n\nfunction send_code(s, c, tree) {\n send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/);\n}\n\n\n/* ===========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\nfunction bi_reverse(code, len) {\n var res = 0;\n do {\n res |= code & 1;\n code >>>= 1;\n res <<= 1;\n } while (--len > 0);\n return res >>> 1;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer, keeping at most 7 bits in it.\n */\nfunction bi_flush(s) {\n if (s.bi_valid === 16) {\n put_short(s, s.bi_buf);\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n } else if (s.bi_valid >= 8) {\n s.pending_buf[s.pending++] = s.bi_buf & 0xff;\n s.bi_buf >>= 8;\n s.bi_valid -= 8;\n }\n}\n\n\n/* ===========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n * above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n * array bl_count contains the frequencies for each bit length.\n * The length opt_len is updated; static_len is also updated if stree is\n * not null.\n */\nfunction gen_bitlen(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var max_code = desc.max_code;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var extra = desc.stat_desc.extra_bits;\n var base = desc.stat_desc.extra_base;\n var max_length = desc.stat_desc.max_length;\n var h; /* heap index */\n var n, m; /* iterate over the tree elements */\n var bits; /* bit length */\n var xbits; /* extra bits */\n var f; /* frequency */\n var overflow = 0; /* number of elements with bit length too large */\n\n for (bits = 0; bits <= MAX_BITS; bits++) {\n s.bl_count[bits] = 0;\n }\n\n /* In a first pass, compute the optimal bit lengths (which may\n * overflow in the case of the bit length tree).\n */\n tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */\n\n for (h = s.heap_max + 1; h < HEAP_SIZE; h++) {\n n = s.heap[h];\n bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\n if (bits > max_length) {\n bits = max_length;\n overflow++;\n }\n tree[n * 2 + 1]/*.Len*/ = bits;\n /* We overwrite tree[n].Dad which is no longer needed */\n\n if (n > max_code) { continue; } /* not a leaf node */\n\n s.bl_count[bits]++;\n xbits = 0;\n if (n >= base) {\n xbits = extra[n - base];\n }\n f = tree[n * 2]/*.Freq*/;\n s.opt_len += f * (bits + xbits);\n if (has_stree) {\n s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits);\n }\n }\n if (overflow === 0) { return; }\n\n // Trace((stderr,\"\\nbit length overflow\\n\"));\n /* This happens for example on obj2 and pic of the Calgary corpus */\n\n /* Find the first bit length which could increase: */\n do {\n bits = max_length - 1;\n while (s.bl_count[bits] === 0) { bits--; }\n s.bl_count[bits]--; /* move one leaf down the tree */\n s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */\n s.bl_count[max_length]--;\n /* The brother of the overflow item also moves one step up,\n * but this does not affect bl_count[max_length]\n */\n overflow -= 2;\n } while (overflow > 0);\n\n /* Now recompute all bit lengths, scanning in increasing frequency.\n * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n * lengths instead of fixing only the wrong ones. This idea is taken\n * from 'ar' written by Haruhiko Okumura.)\n */\n for (bits = max_length; bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n m = s.heap[--h];\n if (m > max_code) { continue; }\n if (tree[m * 2 + 1]/*.Len*/ !== bits) {\n // Trace((stderr,\"code %d bits %d->%d\\n\", m, tree[m].Len, bits));\n s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/;\n tree[m * 2 + 1]/*.Len*/ = bits;\n }\n n--;\n }\n }\n}\n\n\n/* ===========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n * zero code length.\n */\nfunction gen_codes(tree, max_code, bl_count)\n// ct_data *tree; /* the tree to decorate */\n// int max_code; /* largest code with non zero frequency */\n// ushf *bl_count; /* number of codes at each bit length */\n{\n var next_code = new Array(MAX_BITS + 1); /* next code value for each bit length */\n var code = 0; /* running code value */\n var bits; /* bit index */\n var n; /* code index */\n\n /* The distribution counts are first used to generate the code values\n * without bit reversal.\n */\n for (bits = 1; bits <= MAX_BITS; bits++) {\n next_code[bits] = code = (code + bl_count[bits - 1]) << 1;\n }\n /* Check that the bit counts in bl_count are consistent. The last code\n * must be all ones.\n */\n //Assert (code + bl_count[MAX_BITS]-1 == (1< length code (0..28) */\n length = 0;\n for (code = 0; code < LENGTH_CODES - 1; code++) {\n base_length[code] = length;\n for (n = 0; n < (1 << extra_lbits[code]); n++) {\n _length_code[length++] = code;\n }\n }\n //Assert (length == 256, \"tr_static_init: length != 256\");\n /* Note that the length 255 (match length 258) can be represented\n * in two different ways: code 284 + 5 bits or code 285, so we\n * overwrite length_code[255] to use the best encoding:\n */\n _length_code[length - 1] = code;\n\n /* Initialize the mapping dist (0..32K) -> dist code (0..29) */\n dist = 0;\n for (code = 0; code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0; n < (1 << extra_dbits[code]); n++) {\n _dist_code[dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: dist != 256\");\n dist >>= 7; /* from now on, all distances are divided by 128 */\n for (; code < D_CODES; code++) {\n base_dist[code] = dist << 7;\n for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {\n _dist_code[256 + dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: 256+dist != 512\");\n\n /* Construct the codes of the static literal tree */\n for (bits = 0; bits <= MAX_BITS; bits++) {\n bl_count[bits] = 0;\n }\n\n n = 0;\n while (n <= 143) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n while (n <= 255) {\n static_ltree[n * 2 + 1]/*.Len*/ = 9;\n n++;\n bl_count[9]++;\n }\n while (n <= 279) {\n static_ltree[n * 2 + 1]/*.Len*/ = 7;\n n++;\n bl_count[7]++;\n }\n while (n <= 287) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n /* Codes 286 and 287 do not exist, but we must include them in the\n * tree construction to get a canonical Huffman tree (longest code\n * all ones)\n */\n gen_codes(static_ltree, L_CODES + 1, bl_count);\n\n /* The static distance tree is trivial: */\n for (n = 0; n < D_CODES; n++) {\n static_dtree[n * 2 + 1]/*.Len*/ = 5;\n static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5);\n }\n\n // Now data ready and we can init static trees\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS);\n static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS);\n static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);\n\n //static_init_done = true;\n}\n\n\n/* ===========================================================================\n * Initialize a new block.\n */\nfunction init_block(s) {\n var n; /* iterates over tree elements */\n\n /* Initialize the trees. */\n for (n = 0; n < L_CODES; n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < D_CODES; n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < BL_CODES; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; }\n\n s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1;\n s.opt_len = s.static_len = 0;\n s.last_lit = s.matches = 0;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer and align the output on a byte boundary\n */\nfunction bi_windup(s)\n{\n if (s.bi_valid > 8) {\n put_short(s, s.bi_buf);\n } else if (s.bi_valid > 0) {\n //put_byte(s, (Byte)s->bi_buf);\n s.pending_buf[s.pending++] = s.bi_buf;\n }\n s.bi_buf = 0;\n s.bi_valid = 0;\n}\n\n/* ===========================================================================\n * Copy a stored block, storing first the length and its\n * one's complement if requested.\n */\nfunction copy_block(s, buf, len, header)\n//DeflateState *s;\n//charf *buf; /* the input data */\n//unsigned len; /* its length */\n//int header; /* true if block header must be written */\n{\n bi_windup(s); /* align on byte boundary */\n\n if (header) {\n put_short(s, len);\n put_short(s, ~len);\n }\n// while (len--) {\n// put_byte(s, *buf++);\n// }\n utils.arraySet(s.pending_buf, s.window, buf, len, s.pending);\n s.pending += len;\n}\n\n/* ===========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\nfunction smaller(tree, n, m, depth) {\n var _n2 = n * 2;\n var _m2 = m * 2;\n return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\n (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\n}\n\n/* ===========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\nfunction pqdownheap(s, tree, k)\n// deflate_state *s;\n// ct_data *tree; /* the tree to restore */\n// int k; /* node to move down */\n{\n var v = s.heap[k];\n var j = k << 1; /* left son of k */\n while (j <= s.heap_len) {\n /* Set j to the smallest of the two sons: */\n if (j < s.heap_len &&\n smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) {\n j++;\n }\n /* Exit if v is smaller than both sons */\n if (smaller(tree, v, s.heap[j], s.depth)) { break; }\n\n /* Exchange v with the smallest son */\n s.heap[k] = s.heap[j];\n k = j;\n\n /* And continue down the tree, setting j to the left son of k */\n j <<= 1;\n }\n s.heap[k] = v;\n}\n\n\n// inlined manually\n// var SMALLEST = 1;\n\n/* ===========================================================================\n * Send the block data compressed using the given Huffman trees\n */\nfunction compress_block(s, ltree, dtree)\n// deflate_state *s;\n// const ct_data *ltree; /* literal tree */\n// const ct_data *dtree; /* distance tree */\n{\n var dist; /* distance of matched string */\n var lc; /* match length or unmatched char (if dist == 0) */\n var lx = 0; /* running index in l_buf */\n var code; /* the code to send */\n var extra; /* number of extra bits to send */\n\n if (s.last_lit !== 0) {\n do {\n dist = (s.pending_buf[s.d_buf + lx * 2] << 8) | (s.pending_buf[s.d_buf + lx * 2 + 1]);\n lc = s.pending_buf[s.l_buf + lx];\n lx++;\n\n if (dist === 0) {\n send_code(s, lc, ltree); /* send a literal byte */\n //Tracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n } else {\n /* Here, lc is the match length - MIN_MATCH */\n code = _length_code[lc];\n send_code(s, code + LITERALS + 1, ltree); /* send the length code */\n extra = extra_lbits[code];\n if (extra !== 0) {\n lc -= base_length[code];\n send_bits(s, lc, extra); /* send the extra length bits */\n }\n dist--; /* dist is now the match distance - 1 */\n code = d_code(dist);\n //Assert (code < D_CODES, \"bad d_code\");\n\n send_code(s, code, dtree); /* send the distance code */\n extra = extra_dbits[code];\n if (extra !== 0) {\n dist -= base_dist[code];\n send_bits(s, dist, extra); /* send the extra distance bits */\n }\n } /* literal or match pair ? */\n\n /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */\n //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,\n // \"pendingBuf overflow\");\n\n } while (lx < s.last_lit);\n }\n\n send_code(s, END_BLOCK, ltree);\n}\n\n\n/* ===========================================================================\n * Construct one Huffman tree and assigns the code bit strings and lengths.\n * Update the total bit length for the current block.\n * IN assertion: the field freq is set for all tree elements.\n * OUT assertions: the fields len and code are set to the optimal bit length\n * and corresponding code. The length opt_len is updated; static_len is\n * also updated if stree is not null. The field max_code is set.\n */\nfunction build_tree(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var elems = desc.stat_desc.elems;\n var n, m; /* iterate over heap elements */\n var max_code = -1; /* largest code with non zero frequency */\n var node; /* new node being created */\n\n /* Construct the initial heap, with least frequent element in\n * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\n * heap[0] is not used.\n */\n s.heap_len = 0;\n s.heap_max = HEAP_SIZE;\n\n for (n = 0; n < elems; n++) {\n if (tree[n * 2]/*.Freq*/ !== 0) {\n s.heap[++s.heap_len] = max_code = n;\n s.depth[n] = 0;\n\n } else {\n tree[n * 2 + 1]/*.Len*/ = 0;\n }\n }\n\n /* The pkzip format requires that at least one distance code exists,\n * and that at least one bit should be sent even if there is only one\n * possible code. So to avoid special checks later on we force at least\n * two codes of non zero frequency.\n */\n while (s.heap_len < 2) {\n node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\n tree[node * 2]/*.Freq*/ = 1;\n s.depth[node] = 0;\n s.opt_len--;\n\n if (has_stree) {\n s.static_len -= stree[node * 2 + 1]/*.Len*/;\n }\n /* node is 0 or 1 so it does not have extra bits */\n }\n desc.max_code = max_code;\n\n /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\n * establish sub-heaps of increasing lengths:\n */\n for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\n\n /* Construct the Huffman tree by repeatedly combining the least two\n * frequent nodes.\n */\n node = elems; /* next internal node of the tree */\n do {\n //pqremove(s, tree, n); /* n = node of least frequency */\n /*** pqremove ***/\n n = s.heap[1/*SMALLEST*/];\n s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\n pqdownheap(s, tree, 1/*SMALLEST*/);\n /***/\n\n m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\n\n s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\n s.heap[--s.heap_max] = m;\n\n /* Create a new node father of n and m */\n tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\n s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\n tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node;\n\n /* and insert the new node in the heap */\n s.heap[1/*SMALLEST*/] = node++;\n pqdownheap(s, tree, 1/*SMALLEST*/);\n\n } while (s.heap_len >= 2);\n\n s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\n\n /* At this point, the fields freq and dad are set. We can now\n * generate the bit lengths.\n */\n gen_bitlen(s, desc);\n\n /* The field len is now set, we can generate the bit codes */\n gen_codes(tree, max_code, s.bl_count);\n}\n\n\n/* ===========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree.\n */\nfunction scan_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n s.bl_tree[curlen * 2]/*.Freq*/ += count;\n\n } else if (curlen !== 0) {\n\n if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\n s.bl_tree[REP_3_6 * 2]/*.Freq*/++;\n\n } else if (count <= 10) {\n s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++;\n\n } else {\n s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++;\n }\n\n count = 0;\n prevlen = curlen;\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\nfunction send_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n /* tree[max_code+1].Len = -1; */ /* guard already set */\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\n\n } else if (curlen !== 0) {\n if (curlen !== prevlen) {\n send_code(s, curlen, s.bl_tree);\n count--;\n }\n //Assert(count >= 3 && count <= 6, \" 3_6?\");\n send_code(s, REP_3_6, s.bl_tree);\n send_bits(s, count - 3, 2);\n\n } else if (count <= 10) {\n send_code(s, REPZ_3_10, s.bl_tree);\n send_bits(s, count - 3, 3);\n\n } else {\n send_code(s, REPZ_11_138, s.bl_tree);\n send_bits(s, count - 11, 7);\n }\n\n count = 0;\n prevlen = curlen;\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\nfunction build_bl_tree(s) {\n var max_blindex; /* index of last bit length code of non zero freq */\n\n /* Determine the bit length frequencies for literal and distance trees */\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\n scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\n\n /* Build the bit length tree: */\n build_tree(s, s.bl_desc);\n /* opt_len now includes the length of the tree representations, except\n * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n */\n\n /* Determine the number of bit length codes to send. The pkzip format\n * requires that at least 4 bit length codes be sent. (appnote.txt says\n * 3 but the actual value used is 4.)\n */\n for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) {\n if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) {\n break;\n }\n }\n /* Update opt_len to include the bit length tree and counts */\n s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;\n //Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n // s->opt_len, s->static_len));\n\n return max_blindex;\n}\n\n\n/* ===========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\nfunction send_all_trees(s, lcodes, dcodes, blcodes)\n// deflate_state *s;\n// int lcodes, dcodes, blcodes; /* number of codes for each tree */\n{\n var rank; /* index in bl_order */\n\n //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n // \"too many codes\");\n //Tracev((stderr, \"\\nbl counts: \"));\n send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */\n send_bits(s, dcodes - 1, 5);\n send_bits(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */\n for (rank = 0; rank < blcodes; rank++) {\n //Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3);\n }\n //Tracev((stderr, \"\\nbl tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */\n //Tracev((stderr, \"\\nlit tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */\n //Tracev((stderr, \"\\ndist tree: sent %ld\", s->bits_sent));\n}\n\n\n/* ===========================================================================\n * Check if the data type is TEXT or BINARY, using the following algorithm:\n * - TEXT if the two conditions below are satisfied:\n * a) There are no non-portable control characters belonging to the\n * \"black list\" (0..6, 14..25, 28..31).\n * b) There is at least one printable character belonging to the\n * \"white list\" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\n * - BINARY otherwise.\n * - The following partially-portable control characters form a\n * \"gray list\" that is ignored in this detection algorithm:\n * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\n * IN assertion: the fields Freq of dyn_ltree are set.\n */\nfunction detect_data_type(s) {\n /* black_mask is the bit mask of black-listed bytes\n * set bits 0..6, 14..25, and 28..31\n * 0xf3ffc07f = binary 11110011111111111100000001111111\n */\n var black_mask = 0xf3ffc07f;\n var n;\n\n /* Check for non-textual (\"black-listed\") bytes. */\n for (n = 0; n <= 31; n++, black_mask >>>= 1) {\n if ((black_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) {\n return Z_BINARY;\n }\n }\n\n /* Check for textual (\"white-listed\") bytes. */\n if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\n s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n for (n = 32; n < LITERALS; n++) {\n if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n }\n\n /* There are no \"black-listed\" or \"white-listed\" bytes:\n * this stream either is empty or has tolerated (\"gray-listed\") bytes only.\n */\n return Z_BINARY;\n}\n\n\nvar static_init_done = false;\n\n/* ===========================================================================\n * Initialize the tree data structures for a new zlib stream.\n */\nfunction _tr_init(s)\n{\n\n if (!static_init_done) {\n tr_static_init();\n static_init_done = true;\n }\n\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc);\n s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc);\n s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\n\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n /* Initialize the first block of the first file: */\n init_block(s);\n}\n\n\n/* ===========================================================================\n * Send a stored block\n */\nfunction _tr_stored_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3); /* send block type */\n copy_block(s, buf, stored_len, true); /* with header */\n}\n\n\n/* ===========================================================================\n * Send one empty static block to give enough lookahead for inflate.\n * This takes 10 bits, of which 7 may remain in the bit buffer.\n */\nfunction _tr_align(s) {\n send_bits(s, STATIC_TREES << 1, 3);\n send_code(s, END_BLOCK, static_ltree);\n bi_flush(s);\n}\n\n\n/* ===========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and output the encoded block to the zip file.\n */\nfunction _tr_flush_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block, or NULL if too old */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n var opt_lenb, static_lenb; /* opt_len and static_len in bytes */\n var max_blindex = 0; /* index of last bit length code of non zero freq */\n\n /* Build the Huffman trees unless a stored block is forced */\n if (s.level > 0) {\n\n /* Check if the file is binary or text */\n if (s.strm.data_type === Z_UNKNOWN) {\n s.strm.data_type = detect_data_type(s);\n }\n\n /* Construct the literal and distance trees */\n build_tree(s, s.l_desc);\n // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n\n build_tree(s, s.d_desc);\n // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n /* At this point, opt_len and static_len are the total bit lengths of\n * the compressed block data, excluding the tree representations.\n */\n\n /* Build the bit length tree for the above two trees, and get the index\n * in bl_order of the last bit length code to send.\n */\n max_blindex = build_bl_tree(s);\n\n /* Determine the best encoding. Compute the block lengths in bytes. */\n opt_lenb = (s.opt_len + 3 + 7) >>> 3;\n static_lenb = (s.static_len + 3 + 7) >>> 3;\n\n // Tracev((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u \",\n // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\n // s->last_lit));\n\n if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\n\n } else {\n // Assert(buf != (char*)0, \"lost buf\");\n opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\n }\n\n if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) {\n /* 4: two words for the lengths */\n\n /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n * Otherwise we can't have processed more than WSIZE input bytes since\n * the last block flush, because compression would have been\n * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n * transform a block into a stored block.\n */\n _tr_stored_block(s, buf, stored_len, last);\n\n } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {\n\n send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);\n compress_block(s, static_ltree, static_dtree);\n\n } else {\n send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);\n send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1);\n compress_block(s, s.dyn_ltree, s.dyn_dtree);\n }\n // Assert (s->compressed_len == s->bits_sent, \"bad compressed size\");\n /* The above check is made mod 2^32, for files larger than 512 MB\n * and uLong implemented on 32 bits.\n */\n init_block(s);\n\n if (last) {\n bi_windup(s);\n }\n // Tracev((stderr,\"\\ncomprlen %lu(%lu) \", s->compressed_len>>3,\n // s->compressed_len-7*last));\n}\n\n/* ===========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\nfunction _tr_tally(s, dist, lc)\n// deflate_state *s;\n// unsigned dist; /* distance of matched string */\n// unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */\n{\n //var out_length, in_length, dcode;\n\n s.pending_buf[s.d_buf + s.last_lit * 2] = (dist >>> 8) & 0xff;\n s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff;\n\n s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff;\n s.last_lit++;\n\n if (dist === 0) {\n /* lc is the unmatched char */\n s.dyn_ltree[lc * 2]/*.Freq*/++;\n } else {\n s.matches++;\n /* Here, lc is the match length - MIN_MATCH */\n dist--; /* dist = match distance - 1 */\n //Assert((ush)dist < (ush)MAX_DIST(s) &&\n // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n // (ush)d_code(dist) < (ush)D_CODES, \"_tr_tally: bad match\");\n\n s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]/*.Freq*/++;\n s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\n }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n\n//#ifdef TRUNCATE_BLOCK\n// /* Try to guess if it is profitable to stop the current block here */\n// if ((s.last_lit & 0x1fff) === 0 && s.level > 2) {\n// /* Compute an upper bound for the compressed length */\n// out_length = s.last_lit*8;\n// in_length = s.strstart - s.block_start;\n//\n// for (dcode = 0; dcode < D_CODES; dcode++) {\n// out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]);\n// }\n// out_length >>>= 3;\n// //Tracev((stderr,\"\\nlast_lit %u, in %ld, out ~%ld(%ld%%) \",\n// // s->last_lit, in_length, out_length,\n// // 100L - out_length*100L/in_length));\n// if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) {\n// return true;\n// }\n// }\n//#endif\n\n return (s.last_lit === s.lit_bufsize - 1);\n /* We avoid equality with lit_bufsize because of wraparound at 64K\n * on 16 bit machines and because stored blocks are restricted to\n * 64K-1 bytes.\n */\n}\n\nexports._tr_init = _tr_init;\nexports._tr_stored_block = _tr_stored_block;\nexports._tr_flush_block = _tr_flush_block;\nexports._tr_tally = _tr_tally;\nexports._tr_align = _tr_align;\n\n\n/***/ }),\n\n/***/ \"../node_modules/pako/lib/zlib/zstream.js\":\n/*!************************************************!*\\\n !*** ../node_modules/pako/lib/zlib/zstream.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction ZStream() {\n /* next input byte */\n this.input = null; // JS specific, because we have no pointers\n this.next_in = 0;\n /* number of bytes available at input */\n this.avail_in = 0;\n /* total number of input bytes read so far */\n this.total_in = 0;\n /* next output byte should be put there */\n this.output = null; // JS specific, because we have no pointers\n this.next_out = 0;\n /* remaining free space at output */\n this.avail_out = 0;\n /* total number of bytes output so far */\n this.total_out = 0;\n /* last error message, NULL if no error */\n this.msg = ''/*Z_NULL*/;\n /* not visible by applications */\n this.state = null;\n /* best guess about the data type: binary or text */\n this.data_type = 2/*Z_UNKNOWN*/;\n /* adler32 value of the uncompressed data */\n this.adler = 0;\n}\n\nmodule.exports = ZStream;\n\n\n/***/ }),\n\n/***/ \"./shared/calculateMinMax.js\":\n/*!***********************************!*\\\n !*** ./shared/calculateMinMax.js ***!\n \\***********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return calculateMinMax; });\n/* harmony import */ var _getMinMax_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getMinMax.js */ \"./shared/getMinMax.js\");\n\n/**\n * Check the minimum and maximum values in the imageFrame pixel data\n * match with the provided smallestPixelValue and largestPixelValue metaData.\n *\n * If 'strict' is true, log to the console a warning if these values do not match.\n * Otherwise, correct them automatically.\n *\n * @param {Object} imageFrame\n * @param {Boolean} strict If 'strict' is true, log to the console a warning if these values do not match.\n * Otherwise, correct them automatically.Default is true.\n */\n\nfunction calculateMinMax(imageFrame) {\n var strict = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var minMax = Object(_getMinMax_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(imageFrame.pixelData);\n var mustAssign = !(isNumber(imageFrame.smallestPixelValue) && isNumber(imageFrame.largestPixelValue));\n\n if (strict === true && !mustAssign) {\n if (imageFrame.smallestPixelValue !== minMax.min) {\n console.warn('Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably.');\n }\n\n if (imageFrame.largestPixelValue !== minMax.max) {\n console.warn('Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably.');\n }\n } else {\n imageFrame.smallestPixelValue = minMax.min;\n imageFrame.largestPixelValue = minMax.max;\n }\n}\n\nfunction isNumber(numValue) {\n return typeof numValue === 'number';\n}\n\n/***/ }),\n\n/***/ \"./shared/decodeImageFrame.js\":\n/*!************************************!*\\\n !*** ./shared/decodeImageFrame.js ***!\n \\************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _decoders_decodeLittleEndian_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./decoders/decodeLittleEndian.js */ \"./shared/decoders/decodeLittleEndian.js\");\n/* harmony import */ var _decoders_decodeBigEndian_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./decoders/decodeBigEndian.js */ \"./shared/decoders/decodeBigEndian.js\");\n/* harmony import */ var _decoders_decodeRLE_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./decoders/decodeRLE.js */ \"./shared/decoders/decodeRLE.js\");\n/* harmony import */ var _decoders_decodeJPEGBaseline_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./decoders/decodeJPEGBaseline.js */ \"./shared/decoders/decodeJPEGBaseline.js\");\n/* harmony import */ var _decoders_decodeJPEGLossless_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./decoders/decodeJPEGLossless.js */ \"./shared/decoders/decodeJPEGLossless.js\");\n/* harmony import */ var _decoders_decodeJPEGLS_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./decoders/decodeJPEGLS.js */ \"./shared/decoders/decodeJPEGLS.js\");\n/* harmony import */ var _decoders_decodeJPEG2000_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./decoders/decodeJPEG2000.js */ \"./shared/decoders/decodeJPEG2000.js\");\n\n\n\n\n\n\n\n\nfunction decodeImageFrame(imageFrame, transferSyntax, pixelData, decodeConfig, options) {\n var start = new Date().getTime();\n\n if (transferSyntax === '1.2.840.10008.1.2') {\n // Implicit VR Little Endian\n imageFrame = Object(_decoders_decodeLittleEndian_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.1') {\n // Explicit VR Little Endian\n imageFrame = Object(_decoders_decodeLittleEndian_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.2') {\n // Explicit VR Big Endian (retired)\n imageFrame = Object(_decoders_decodeBigEndian_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.1.99') {\n // Deflate transfer syntax (deflated by dicomParser)\n imageFrame = Object(_decoders_decodeLittleEndian_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.5') {\n // RLE Lossless\n imageFrame = Object(_decoders_decodeRLE_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.50') {\n // JPEG Baseline lossy process 1 (8 bit)\n imageFrame = Object(_decoders_decodeJPEGBaseline_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.51') {\n // JPEG Baseline lossy process 2 & 4 (12 bit)\n imageFrame = Object(_decoders_decodeJPEGBaseline_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.57') {\n // JPEG Lossless, Nonhierarchical (Processes 14)\n imageFrame = Object(_decoders_decodeJPEGLossless_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.70') {\n // JPEG Lossless, Nonhierarchical (Processes 14 [Selection 1])\n imageFrame = Object(_decoders_decodeJPEGLossless_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.80') {\n // JPEG-LS Lossless Image Compression\n imageFrame = Object(_decoders_decodeJPEGLS_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.81') {\n // JPEG-LS Lossy (Near-Lossless) Image Compression\n imageFrame = Object(_decoders_decodeJPEGLS_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.90') {\n // JPEG 2000 Lossless\n imageFrame = Object(_decoders_decodeJPEG2000_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(imageFrame, pixelData, decodeConfig, options);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.91') {\n // JPEG 2000 Lossy\n imageFrame = Object(_decoders_decodeJPEG2000_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(imageFrame, pixelData, decodeConfig, options);\n } else {\n throw new Error(\"no decoder for transfer syntax \".concat(transferSyntax));\n }\n /* Don't know if these work...\n // JPEG 2000 Part 2 Multicomponent Image Compression (Lossless Only)\n else if(transferSyntax === \"1.2.840.10008.1.2.4.92\")\n {\n return decodeJPEG2000(dataSet, frame);\n }\n // JPEG 2000 Part 2 Multicomponent Image Compression\n else if(transferSyntax === \"1.2.840.10008.1.2.4.93\")\n {\n return decodeJPEG2000(dataSet, frame);\n }\n */\n\n\n var shouldShift = imageFrame.pixelRepresentation !== undefined && imageFrame.pixelRepresentation === 1;\n var shift = shouldShift && imageFrame.bitsStored !== undefined ? 32 - imageFrame.bitsStored : undefined;\n\n if (shouldShift && shift !== undefined) {\n for (var i = 0; i < imageFrame.pixelData.length; i++) {\n // eslint-disable-next-line no-bitwise\n imageFrame.pixelData[i] = imageFrame.pixelData[i] << shift >> shift;\n }\n }\n\n var end = new Date().getTime();\n imageFrame.decodeTimeInMS = end - start;\n return imageFrame;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (decodeImageFrame);\n\n/***/ }),\n\n/***/ \"./shared/decoders/decodeBigEndian.js\":\n/*!********************************************!*\\\n !*** ./shared/decoders/decodeBigEndian.js ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* eslint no-bitwise: 0 */\nfunction swap16(val) {\n return (val & 0xFF) << 8 | val >> 8 & 0xFF;\n}\n\nfunction decodeBigEndian(imageFrame, pixelData) {\n if (imageFrame.bitsAllocated === 16) {\n var arrayBuffer = pixelData.buffer;\n var offset = pixelData.byteOffset;\n var length = pixelData.length; // if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array\n // buffers on it\n\n if (offset % 2) {\n arrayBuffer = arrayBuffer.slice(offset);\n offset = 0;\n }\n\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2);\n } else {\n imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2);\n } // Do the byte swap\n\n\n for (var i = 0; i < imageFrame.pixelData.length; i++) {\n imageFrame.pixelData[i] = swap16(imageFrame.pixelData[i]);\n }\n } else if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = pixelData;\n }\n\n return imageFrame;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (decodeBigEndian);\n\n/***/ }),\n\n/***/ \"./shared/decoders/decodeJPEG2000.js\":\n/*!*******************************************!*\\\n !*** ./shared/decoders/decodeJPEG2000.js ***!\n \\*******************************************/\n/*! exports provided: default, initializeJPEG2000 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"initializeJPEG2000\", function() { return initializeJPEG2000; });\n/* harmony import */ var _codecs_openJPEG_FixedMemory_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../codecs/openJPEG-FixedMemory.js */ \"../codecs/openJPEG-FixedMemory.js\");\n/* harmony import */ var _codecs_openJPEG_FixedMemory_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codecs_openJPEG_FixedMemory_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _codecs_jpx_min_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../codecs/jpx.min.js */ \"../codecs/jpx.min.js\");\n/* harmony import */ var _codecs_jpx_min_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_codecs_jpx_min_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\nfunction decodeJpx(imageFrame, pixelData) {\n var jpxImage = new _codecs_jpx_min_js__WEBPACK_IMPORTED_MODULE_1___default.a();\n jpxImage.parse(pixelData);\n var tileCount = jpxImage.tiles.length;\n\n if (tileCount !== 1) {\n throw new Error(\"JPEG2000 decoder returned a tileCount of \".concat(tileCount, \", when 1 is expected\"));\n }\n\n imageFrame.columns = jpxImage.width;\n imageFrame.rows = jpxImage.height;\n imageFrame.pixelData = jpxImage.tiles[0].items;\n return imageFrame;\n}\n\nvar openJPEG;\n\nfunction decodeOpenJPEG(data, bytesPerPixel, signed) {\n var dataPtr = openJPEG._malloc(data.length);\n\n openJPEG.writeArrayToMemory(data, dataPtr); // create param outpout\n\n var imagePtrPtr = openJPEG._malloc(4);\n\n var imageSizePtr = openJPEG._malloc(4);\n\n var imageSizeXPtr = openJPEG._malloc(4);\n\n var imageSizeYPtr = openJPEG._malloc(4);\n\n var imageSizeCompPtr = openJPEG._malloc(4);\n\n var t0 = new Date().getTime();\n var ret = openJPEG.ccall('jp2_decode', 'number', ['number', 'number', 'number', 'number', 'number', 'number', 'number'], [dataPtr, data.length, imagePtrPtr, imageSizePtr, imageSizeXPtr, imageSizeYPtr, imageSizeCompPtr]); // add num vomp..etc\n\n if (ret !== 0) {\n console.log('[opj_decode] decoding failed!');\n\n openJPEG._free(dataPtr);\n\n openJPEG._free(openJPEG.getValue(imagePtrPtr, '*'));\n\n openJPEG._free(imageSizeXPtr);\n\n openJPEG._free(imageSizeYPtr);\n\n openJPEG._free(imageSizePtr);\n\n openJPEG._free(imageSizeCompPtr);\n\n return;\n }\n\n var imagePtr = openJPEG.getValue(imagePtrPtr, '*');\n var image = {\n length: openJPEG.getValue(imageSizePtr, 'i32'),\n sx: openJPEG.getValue(imageSizeXPtr, 'i32'),\n sy: openJPEG.getValue(imageSizeYPtr, 'i32'),\n nbChannels: openJPEG.getValue(imageSizeCompPtr, 'i32'),\n // hard coded for now\n perf_timetodecode: undefined,\n pixelData: undefined\n }; // Copy the data from the EMSCRIPTEN heap into the correct type array\n\n var length = image.sx * image.sy * image.nbChannels;\n var src32 = new Int32Array(openJPEG.HEAP32.buffer, imagePtr, length);\n\n if (bytesPerPixel === 1) {\n if (Uint8Array.from) {\n image.pixelData = Uint8Array.from(src32);\n } else {\n image.pixelData = new Uint8Array(length);\n\n for (var i = 0; i < length; i++) {\n image.pixelData[i] = src32[i];\n }\n }\n } else if (signed) {\n if (Int16Array.from) {\n image.pixelData = Int16Array.from(src32);\n } else {\n image.pixelData = new Int16Array(length);\n\n for (var _i = 0; _i < length; _i++) {\n image.pixelData[_i] = src32[_i];\n }\n }\n } else if (Uint16Array.from) {\n image.pixelData = Uint16Array.from(src32);\n } else {\n image.pixelData = new Uint16Array(length);\n\n for (var _i2 = 0; _i2 < length; _i2++) {\n image.pixelData[_i2] = src32[_i2];\n }\n }\n\n var t1 = new Date().getTime();\n image.perf_timetodecode = t1 - t0; // free\n\n openJPEG._free(dataPtr);\n\n openJPEG._free(imagePtrPtr);\n\n openJPEG._free(imagePtr);\n\n openJPEG._free(imageSizePtr);\n\n openJPEG._free(imageSizeXPtr);\n\n openJPEG._free(imageSizeYPtr);\n\n openJPEG._free(imageSizeCompPtr);\n\n return image;\n}\n\nfunction decodeOpenJpeg2000(imageFrame, pixelData) {\n var bytesPerPixel = imageFrame.bitsAllocated <= 8 ? 1 : 2;\n var signed = imageFrame.pixelRepresentation === 1;\n var image = decodeOpenJPEG(pixelData, bytesPerPixel, signed);\n imageFrame.columns = image.sx;\n imageFrame.rows = image.sy;\n imageFrame.pixelData = image.pixelData;\n\n if (image.nbChannels > 1) {\n imageFrame.photometricInterpretation = 'RGB';\n }\n\n return imageFrame;\n}\n\nfunction initializeJPEG2000(decodeConfig) {\n // check to make sure codec is loaded\n if (!decodeConfig.usePDFJS) {\n if (typeof _codecs_openJPEG_FixedMemory_js__WEBPACK_IMPORTED_MODULE_0___default.a === 'undefined') {\n throw new Error('OpenJPEG decoder not loaded');\n }\n }\n\n if (!openJPEG) {\n openJPEG = _codecs_openJPEG_FixedMemory_js__WEBPACK_IMPORTED_MODULE_0___default()();\n\n if (!openJPEG || !openJPEG._jp2_decode) {\n throw new Error('OpenJPEG failed to initialize');\n }\n }\n}\n\nfunction decodeJPEG2000(imageFrame, pixelData, decodeConfig) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n initializeJPEG2000(decodeConfig);\n\n if (options.usePDFJS || decodeConfig.usePDFJS) {\n // OHIF image-JPEG2000 https://github.com/OHIF/image-JPEG2000\n // console.log('PDFJS')\n return decodeJpx(imageFrame, pixelData);\n } // OpenJPEG2000 https://github.com/jpambrun/openjpeg\n // console.log('OpenJPEG')\n\n\n return decodeOpenJpeg2000(imageFrame, pixelData);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (decodeJPEG2000);\n\n\n/***/ }),\n\n/***/ \"./shared/decoders/decodeJPEGBaseline.js\":\n/*!***********************************************!*\\\n !*** ./shared/decoders/decodeJPEGBaseline.js ***!\n \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _codecs_jpeg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../codecs/jpeg.js */ \"../codecs/jpeg.js\");\n/* harmony import */ var _codecs_jpeg_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codecs_jpeg_js__WEBPACK_IMPORTED_MODULE_0__);\n\n\nfunction decodeJPEGBaseline(imageFrame, pixelData) {\n // check to make sure codec is loaded\n if (typeof _codecs_jpeg_js__WEBPACK_IMPORTED_MODULE_0___default.a === 'undefined') {\n throw new Error('No JPEG Baseline decoder loaded');\n }\n\n var jpeg = new _codecs_jpeg_js__WEBPACK_IMPORTED_MODULE_0___default.a();\n jpeg.parse(pixelData); // Do not use the internal jpeg.js color transformation,\n // since we will handle this afterwards\n\n jpeg.colorTransform = false;\n\n if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = jpeg.getData(imageFrame.columns, imageFrame.rows);\n return imageFrame;\n } else if (imageFrame.bitsAllocated === 16) {\n imageFrame.pixelData = jpeg.getData16(imageFrame.columns, imageFrame.rows);\n return imageFrame;\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (decodeJPEGBaseline);\n\n/***/ }),\n\n/***/ \"./shared/decoders/decodeJPEGLS.js\":\n/*!*****************************************!*\\\n !*** ./shared/decoders/decodeJPEGLS.js ***!\n \\*****************************************/\n/*! exports provided: default, initializeJPEGLS */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"initializeJPEGLS\", function() { return initializeJPEGLS; });\n/* harmony import */ var _codecs_charLS_FixedMemory_browser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../codecs/charLS-FixedMemory-browser.js */ \"../codecs/charLS-FixedMemory-browser.js\");\n/* harmony import */ var _codecs_charLS_FixedMemory_browser_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codecs_charLS_FixedMemory_browser_js__WEBPACK_IMPORTED_MODULE_0__);\n\nvar charLS;\n\nfunction jpegLSDecode(data, isSigned) {\n // prepare input parameters\n var dataPtr = charLS._malloc(data.length);\n\n charLS.writeArrayToMemory(data, dataPtr); // prepare output parameters\n\n var imagePtrPtr = charLS._malloc(4);\n\n var imageSizePtr = charLS._malloc(4);\n\n var widthPtr = charLS._malloc(4);\n\n var heightPtr = charLS._malloc(4);\n\n var bitsPerSamplePtr = charLS._malloc(4);\n\n var stridePtr = charLS._malloc(4);\n\n var allowedLossyErrorPtr = charLS._malloc(4);\n\n var componentsPtr = charLS._malloc(4);\n\n var interleaveModePtr = charLS._malloc(4); // Decode the image\n\n\n var result = charLS.ccall('jpegls_decode', 'number', ['number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number'], [dataPtr, data.length, imagePtrPtr, imageSizePtr, widthPtr, heightPtr, bitsPerSamplePtr, stridePtr, componentsPtr, allowedLossyErrorPtr, interleaveModePtr]); // Extract result values into object\n\n var image = {\n result: result,\n width: charLS.getValue(widthPtr, 'i32'),\n height: charLS.getValue(heightPtr, 'i32'),\n bitsPerSample: charLS.getValue(bitsPerSamplePtr, 'i32'),\n stride: charLS.getValue(stridePtr, 'i32'),\n components: charLS.getValue(componentsPtr, 'i32'),\n allowedLossyError: charLS.getValue(allowedLossyErrorPtr, 'i32'),\n interleaveMode: charLS.getValue(interleaveModePtr, 'i32'),\n pixelData: undefined\n }; // Copy image from emscripten heap into appropriate array buffer type\n\n var imagePtr = charLS.getValue(imagePtrPtr, '*');\n\n if (image.bitsPerSample <= 8) {\n image.pixelData = new Uint8Array(image.width * image.height * image.components);\n image.pixelData.set(new Uint8Array(charLS.HEAP8.buffer, imagePtr, image.pixelData.length));\n } else if (isSigned) {\n image.pixelData = new Int16Array(image.width * image.height * image.components);\n image.pixelData.set(new Int16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length));\n } else {\n image.pixelData = new Uint16Array(image.width * image.height * image.components);\n image.pixelData.set(new Uint16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length));\n } // free memory and return image object\n\n\n charLS._free(dataPtr);\n\n charLS._free(imagePtr);\n\n charLS._free(imagePtrPtr);\n\n charLS._free(imageSizePtr);\n\n charLS._free(widthPtr);\n\n charLS._free(heightPtr);\n\n charLS._free(bitsPerSamplePtr);\n\n charLS._free(stridePtr);\n\n charLS._free(componentsPtr);\n\n charLS._free(interleaveModePtr);\n\n return image;\n}\n\nfunction initializeJPEGLS() {\n // check to make sure codec is loaded\n if (typeof _codecs_charLS_FixedMemory_browser_js__WEBPACK_IMPORTED_MODULE_0___default.a === 'undefined') {\n throw new Error('No JPEG-LS decoder loaded');\n } // Try to initialize CharLS\n // CharLS https://github.com/cornerstonejs/charls\n\n\n if (!charLS) {\n charLS = _codecs_charLS_FixedMemory_browser_js__WEBPACK_IMPORTED_MODULE_0___default()();\n\n if (!charLS || !charLS._jpegls_decode) {\n throw new Error('JPEG-LS failed to initialize');\n }\n }\n}\n\nfunction decodeJPEGLS(imageFrame, pixelData) {\n initializeJPEGLS();\n var image = jpegLSDecode(pixelData, imageFrame.pixelRepresentation === 1); // throw error if not success or too much data\n\n if (image.result !== 0 && image.result !== 6) {\n throw new Error(\"JPEG-LS decoder failed to decode frame (error code \".concat(image.result, \")\"));\n }\n\n imageFrame.columns = image.width;\n imageFrame.rows = image.height;\n imageFrame.pixelData = image.pixelData;\n return imageFrame;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (decodeJPEGLS);\n\n\n/***/ }),\n\n/***/ \"./shared/decoders/decodeJPEGLossless.js\":\n/*!***********************************************!*\\\n !*** ./shared/decoders/decodeJPEGLossless.js ***!\n \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _codecs_jpegLossless_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../codecs/jpegLossless.js */ \"../codecs/jpegLossless.js\");\n/* harmony import */ var _codecs_jpegLossless_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codecs_jpegLossless_js__WEBPACK_IMPORTED_MODULE_0__);\n\n\nfunction decodeJPEGLossless(imageFrame, pixelData) {\n // check to make sure codec is loaded\n if (typeof _codecs_jpegLossless_js__WEBPACK_IMPORTED_MODULE_0___default.a === 'undefined' || typeof _codecs_jpegLossless_js__WEBPACK_IMPORTED_MODULE_0___default.a.lossless === 'undefined' || typeof _codecs_jpegLossless_js__WEBPACK_IMPORTED_MODULE_0___default.a.lossless.Decoder === 'undefined') {\n throw new Error('No JPEG Lossless decoder loaded');\n }\n\n var byteOutput = imageFrame.bitsAllocated <= 8 ? 1 : 2; // console.time('jpeglossless');\n\n var buffer = pixelData.buffer;\n var decoder = new _codecs_jpegLossless_js__WEBPACK_IMPORTED_MODULE_0___default.a.lossless.Decoder();\n var decompressedData = decoder.decode(buffer, pixelData.byteOffset, pixelData.length, byteOutput); // console.timeEnd('jpeglossless');\n\n if (imageFrame.pixelRepresentation === 0) {\n if (imageFrame.bitsAllocated === 16) {\n imageFrame.pixelData = new Uint16Array(decompressedData.buffer);\n return imageFrame;\n } // untested!\n\n\n imageFrame.pixelData = new Uint8Array(decompressedData.buffer);\n return imageFrame;\n }\n\n imageFrame.pixelData = new Int16Array(decompressedData.buffer);\n return imageFrame;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (decodeJPEGLossless);\n\n/***/ }),\n\n/***/ \"./shared/decoders/decodeLittleEndian.js\":\n/*!***********************************************!*\\\n !*** ./shared/decoders/decodeLittleEndian.js ***!\n \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\nfunction decodeLittleEndian(imageFrame, pixelData) {\n var arrayBuffer = pixelData.buffer;\n var offset = pixelData.byteOffset;\n var length = pixelData.length;\n\n if (imageFrame.bitsAllocated === 16) {\n // if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array\n // buffers on it\n if (offset % 2) {\n arrayBuffer = arrayBuffer.slice(offset);\n offset = 0;\n }\n\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2);\n } else {\n imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2);\n }\n } else if (imageFrame.bitsAllocated === 8 || imageFrame.bitsAllocated === 1) {\n imageFrame.pixelData = pixelData;\n } else if (imageFrame.bitsAllocated === 32) {\n // if pixel data is not aligned on even boundary, shift it\n if (offset % 2) {\n arrayBuffer = arrayBuffer.slice(offset);\n offset = 0;\n }\n\n imageFrame.pixelData = new Float32Array(arrayBuffer, offset, length / 4);\n }\n\n return imageFrame;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (decodeLittleEndian);\n\n/***/ }),\n\n/***/ \"./shared/decoders/decodeRLE.js\":\n/*!**************************************!*\\\n !*** ./shared/decoders/decodeRLE.js ***!\n \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\nfunction decodeRLE(imageFrame, pixelData) {\n if (imageFrame.bitsAllocated === 8) {\n if (imageFrame.planarConfiguration) {\n return decode8Planar(imageFrame, pixelData);\n }\n\n return decode8(imageFrame, pixelData);\n } else if (imageFrame.bitsAllocated === 16) {\n return decode16(imageFrame, pixelData);\n }\n\n throw new Error('unsupported pixel format for RLE');\n}\n\nfunction decode8(imageFrame, pixelData) {\n var frameData = pixelData;\n var frameSize = imageFrame.rows * imageFrame.columns;\n var outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel);\n var header = new DataView(frameData.buffer, frameData.byteOffset);\n var data = new Int8Array(frameData.buffer, frameData.byteOffset);\n var out = new Int8Array(outFrame);\n var outIndex = 0;\n var numSegments = header.getInt32(0, true);\n\n for (var s = 0; s < numSegments; ++s) {\n outIndex = s;\n var inIndex = header.getInt32((s + 1) * 4, true);\n var maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n var endOfSegment = frameSize * numSegments;\n\n while (inIndex < maxIndex) {\n var n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n // copy n bytes\n for (var i = 0; i < n + 1 && outIndex < endOfSegment; ++i) {\n out[outIndex] = data[inIndex++];\n outIndex += imageFrame.samplesPerPixel;\n }\n } else if (n <= -1 && n >= -127) {\n var value = data[inIndex++]; // run of n bytes\n\n for (var j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) {\n out[outIndex] = value;\n outIndex += imageFrame.samplesPerPixel;\n }\n }\n /* else if (n === -128) {\n } // do nothing */\n\n }\n }\n\n imageFrame.pixelData = new Uint8Array(outFrame);\n return imageFrame;\n}\n\nfunction decode8Planar(imageFrame, pixelData) {\n var frameData = pixelData;\n var frameSize = imageFrame.rows * imageFrame.columns;\n var outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel);\n var header = new DataView(frameData.buffer, frameData.byteOffset);\n var data = new Int8Array(frameData.buffer, frameData.byteOffset);\n var out = new Int8Array(outFrame);\n var outIndex = 0;\n var numSegments = header.getInt32(0, true);\n\n for (var s = 0; s < numSegments; ++s) {\n outIndex = s * frameSize;\n var inIndex = header.getInt32((s + 1) * 4, true);\n var maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n var endOfSegment = frameSize * numSegments;\n\n while (inIndex < maxIndex) {\n var n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n // copy n bytes\n for (var i = 0; i < n + 1 && outIndex < endOfSegment; ++i) {\n out[outIndex] = data[inIndex++];\n outIndex++;\n }\n } else if (n <= -1 && n >= -127) {\n var value = data[inIndex++]; // run of n bytes\n\n for (var j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) {\n out[outIndex] = value;\n outIndex++;\n }\n }\n /* else if (n === -128) {\n } // do nothing */\n\n }\n }\n\n imageFrame.pixelData = new Uint8Array(outFrame);\n return imageFrame;\n}\n\nfunction decode16(imageFrame, pixelData) {\n var frameData = pixelData;\n var frameSize = imageFrame.rows * imageFrame.columns;\n var outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel * 2);\n var header = new DataView(frameData.buffer, frameData.byteOffset);\n var data = new Int8Array(frameData.buffer, frameData.byteOffset);\n var out = new Int8Array(outFrame);\n var numSegments = header.getInt32(0, true);\n\n for (var s = 0; s < numSegments; ++s) {\n var outIndex = 0;\n var highByte = s === 0 ? 1 : 0;\n var inIndex = header.getInt32((s + 1) * 4, true);\n var maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n while (inIndex < maxIndex) {\n var n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n for (var i = 0; i < n + 1 && outIndex < frameSize; ++i) {\n out[outIndex * 2 + highByte] = data[inIndex++];\n outIndex++;\n }\n } else if (n <= -1 && n >= -127) {\n var value = data[inIndex++];\n\n for (var j = 0; j < -n + 1 && outIndex < frameSize; ++j) {\n out[outIndex * 2 + highByte] = value;\n outIndex++;\n }\n }\n /* else if (n === -128) {\n } // do nothing */\n\n }\n }\n\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(outFrame);\n } else {\n imageFrame.pixelData = new Int16Array(outFrame);\n }\n\n return imageFrame;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (decodeRLE);\n\n/***/ }),\n\n/***/ \"./shared/getMinMax.js\":\n/*!*****************************!*\\\n !*** ./shared/getMinMax.js ***!\n \\*****************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/**\n * Calculate the minimum and maximum values in an Array\n *\n * @param {Number[]} storedPixelData\n * @return {{min: Number, max: Number}}\n */\nfunction getMinMax(storedPixelData) {\n // we always calculate the min max values since they are not always\n // present in DICOM and we don't want to trust them anyway as cornerstone\n // depends on us providing reliable values for these\n var min = storedPixelData[0];\n var max = storedPixelData[0];\n var storedPixel;\n var numPixels = storedPixelData.length;\n\n for (var index = 1; index < numPixels; index++) {\n storedPixel = storedPixelData[index];\n min = Math.min(min, storedPixel);\n max = Math.max(max, storedPixel);\n }\n\n return {\n min: min,\n max: max\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (getMinMax);\n\n/***/ }),\n\n/***/ \"./version.js\":\n/*!********************!*\\\n !*** ./version.js ***!\n \\********************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ('3.0.6');\n\n/***/ }),\n\n/***/ \"./webWorker/decodeTask/decodeTask.js\":\n/*!********************************************!*\\\n !*** ./webWorker/decodeTask/decodeTask.js ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _shared_decoders_decodeJPEG2000_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/decoders/decodeJPEG2000.js */ \"./shared/decoders/decodeJPEG2000.js\");\n/* harmony import */ var _shared_decoders_decodeJPEGLS_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/decoders/decodeJPEGLS.js */ \"./shared/decoders/decodeJPEGLS.js\");\n/* harmony import */ var _shared_calculateMinMax_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/calculateMinMax.js */ \"./shared/calculateMinMax.js\");\n/* harmony import */ var _shared_decodeImageFrame_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/decodeImageFrame.js */ \"./shared/decodeImageFrame.js\");\n\n\n\n // the configuration object for the decodeTask\n\nvar decodeConfig;\n/**\n * Function to control loading and initializing the codecs\n * @param config\n */\n\nfunction loadCodecs(config) {\n // Initialize the codecs\n if (config.decodeTask.initializeCodecsOnStartup) {\n // console.time('initializeCodecs');\n Object(_shared_decoders_decodeJPEG2000_js__WEBPACK_IMPORTED_MODULE_0__[\"initializeJPEG2000\"])(config.decodeTask);\n Object(_shared_decoders_decodeJPEGLS_js__WEBPACK_IMPORTED_MODULE_1__[\"initializeJPEGLS\"])(config.decodeTask); // console.timeEnd('initializeCodecs');\n }\n}\n/**\n * Task initialization function\n */\n\n\nfunction initialize(config) {\n decodeConfig = config;\n loadCodecs(config);\n}\n/**\n * Task handler function\n */\n\n\nfunction handler(data, doneCallback) {\n // Load the codecs if they aren't already loaded\n loadCodecs(decodeConfig);\n var strict = decodeConfig && decodeConfig.decodeTask && decodeConfig.decodeTask.strict;\n var imageFrame = data.data.imageFrame; // convert pixel data from ArrayBuffer to Uint8Array since web workers support passing ArrayBuffers but\n // not typed arrays\n\n var pixelData = new Uint8Array(data.data.pixelData);\n Object(_shared_decodeImageFrame_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(imageFrame, data.data.transferSyntax, pixelData, decodeConfig.decodeTask, data.data.options);\n\n if (!imageFrame.pixelData) {\n throw new Error('decodeTask: imageFrame.pixelData is undefined after decoding');\n }\n\n Object(_shared_calculateMinMax_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(imageFrame, strict); // convert from TypedArray to ArrayBuffer since web workers support passing ArrayBuffers but not\n // typed arrays\n\n imageFrame.pixelData = imageFrame.pixelData.buffer; // invoke the callback with our result and pass the pixelData in the transferList to move it to\n // UI thread without making a copy\n\n doneCallback(imageFrame, [imageFrame.pixelData]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n taskType: 'decodeTask',\n handler: handler,\n initialize: initialize\n});\n\n/***/ }),\n\n/***/ \"./webWorker/webWorker.js\":\n/*!********************************!*\\\n !*** ./webWorker/webWorker.js ***!\n \\********************************/\n/*! exports provided: registerTaskHandler */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerTaskHandler\", function() { return registerTaskHandler; });\n// an object of task handlers\nvar taskHandlers = {}; // Flag to ensure web worker is only initialized once\n\nvar initialized = false; // the configuration object passed in when the web worker manager is initialized\n\nvar config;\n/**\n * Initialization function that loads additional web workers and initializes them\n * @param data\n */\n\nfunction initialize(data) {\n // console.log('web worker initialize ', data.workerIndex);\n // prevent initialization from happening more than once\n if (initialized) {\n return;\n } // save the config data\n\n\n config = data.config; // Additional web worker tasks can self-register by calling self.registerTaskHandler\n\n self.registerTaskHandler = registerTaskHandler; // load any additional web worker tasks\n\n if (data.config.webWorkerTaskPaths) {\n for (var i = 0; i < data.config.webWorkerTaskPaths.length; i++) {\n self.importScripts(data.config.webWorkerTaskPaths[i]);\n }\n } // initialize each task handler\n\n\n Object.keys(taskHandlers).forEach(function (key) {\n taskHandlers[key].initialize(config.taskConfiguration);\n }); // tell main ui thread that we have completed initialization\n\n self.postMessage({\n taskType: 'initialize',\n status: 'success',\n result: {},\n workerIndex: data.workerIndex\n });\n initialized = true;\n}\n/**\n * Function exposed to web worker tasks to register themselves\n * @param taskHandler\n */\n\n\nfunction registerTaskHandler(taskHandler) {\n if (taskHandlers[taskHandler.taskType]) {\n console.log('attempt to register duplicate task handler \"', taskHandler.taskType, '\"');\n return false;\n }\n\n taskHandlers[taskHandler.taskType] = taskHandler;\n\n if (initialized) {\n taskHandler.initialize(config.taskConfiguration);\n }\n}\n/**\n * Function to load a new web worker task with updated configuration\n * @param data\n */\n\nfunction loadWebWorkerTask(data) {\n config = data.config;\n self.importScripts(data.sourcePath);\n}\n/**\n * Web worker message handler - dispatches messages to the registered task handlers\n * @param msg\n */\n\n\nself.onmessage = function (msg) {\n // console.log('web worker onmessage', msg.data);\n // handle initialize message\n if (msg.data.taskType === 'initialize') {\n initialize(msg.data);\n return;\n } // handle loadWebWorkerTask message\n\n\n if (msg.data.taskType === 'loadWebWorkerTask') {\n loadWebWorkerTask(msg.data);\n return;\n } // dispatch the message if there is a handler registered for it\n\n\n if (taskHandlers[msg.data.taskType]) {\n try {\n taskHandlers[msg.data.taskType].handler(msg.data, function (result, transferList) {\n self.postMessage({\n taskType: msg.data.taskType,\n status: 'success',\n result: result,\n workerIndex: msg.data.workerIndex\n }, transferList);\n });\n } catch (error) {\n console.log(\"task \".concat(msg.data.taskType, \" failed - \").concat(error.message));\n self.postMessage({\n taskType: msg.data.taskType,\n status: 'failed',\n result: error.message,\n workerIndex: msg.data.workerIndex\n });\n }\n\n return;\n } // not task handler registered - send a failure message back to ui thread\n\n\n console.log('no task handler for ', msg.data.taskType);\n console.log(taskHandlers);\n self.postMessage({\n taskType: msg.data.taskType,\n status: 'failed - no task handler registered',\n workerIndex: msg.data.workerIndex\n });\n};\n\n/***/ })\n\n/******/ });\n//# sourceMappingURL=922d2a9b8827ff21dc41.worker.js.map", null); -}; - -/***/ }) - -/******/ }); -}); -//# sourceMappingURL=cornerstoneWADOImageLoader.js.map \ No newline at end of file +/*! cornerstone-tools - 6.0.6 - 2021-11-09 | (c) 2017 Chris Hafey | https://github.com/cornerstonejs/cornerstoneTools */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("cornerstone-tools",[],t):"object"==typeof exports?exports["cornerstone-tools"]=t():e.cornerstoneTools=t()}(window,(function(){return function(e){var t={};function n(a){if(t[a])return t[a].exports;var o=t[a]={i:a,l:!1,exports:{}};return e[a].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(a,o,function(t){return e[t]}.bind(null,o));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=25)}([function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function n(e,t){for(var n=0;n=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},storage:function(){try{return localStorage}catch(e){}}()};o.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],o.log=console.debug||console.log||function(){};var i=Object(a.a)(o);i.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: ".concat(e.message)}},t.a=i}).call(this,n(15))},function(e,t,n){e.exports=n(23)},function(e,t,n){"use strict";var a=n(6),o=n.n(a);t.a=function(e){function t(e){for(var t=0,n=0;n1)for(var n=1;n=1.5*n;return Math.round(e/n)+" "+a+(o?"s":"")}e.exports=function(e,t){t=t||{};var s=typeof e;if("string"===s&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return;var r=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*r;case"weeks":case"week":case"w":return 6048e5*r;case"days":case"day":case"d":return r*i;case"hours":case"hour":case"hrs":case"hr":case"h":return r*o;case"minutes":case"minute":case"mins":case"min":case"m":return r*a;case"seconds":case"second":case"secs":case"sec":case"s":return r*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}(e);if("number"===s&&!1===isNaN(e))return t.long?function(e){var t=Math.abs(e);if(t>=i)return r(e,t,i,"day");if(t>=o)return r(e,t,o,"hour");if(t>=a)return r(e,t,a,"minute");if(t>=n)return r(e,t,n,"second");return e+" ms"}(e):function(e){var t=Math.abs(e);if(t>=i)return Math.round(e/i)+"d";if(t>=o)return Math.round(e/o)+"h";if(t>=a)return Math.round(e/a)+"m";if(t>=n)return Math.round(e/n)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){var n=[],a=!0,o=!1,i=void 0;try{for(var r,s=e[Symbol.iterator]();!(a=(r=s.next()).done)&&(n.push(r.value),!t||n.length!==t);a=!0);}catch(e){o=!0,i=e}finally{try{a||null==s.return||s.return()}finally{if(o)throw i}}return n}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,n){var a=function(){return this||"object"==typeof self&&self}()||Function("return this")(),o=a.regeneratorRuntime&&Object.getOwnPropertyNames(a).indexOf("regeneratorRuntime")>=0,i=o&&a.regeneratorRuntime;if(a.regeneratorRuntime=void 0,e.exports=n(24),o)a.regeneratorRuntime=i;else try{delete a.regeneratorRuntime}catch(e){a.regeneratorRuntime=void 0}},function(e,t){!function(t){"use strict";var n=Object.prototype,a=n.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",r=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag",l="object"==typeof e,c=t.regeneratorRuntime;if(c)l&&(e.exports=c);else{(c=t.regeneratorRuntime=l?e.exports:{}).wrap=f;var u={},d={};d[i]=function(){return this};var h=Object.getPrototypeOf,v=h&&h(h(I([])));v&&v!==n&&a.call(v,i)&&(d=v);var g=x.prototype=p.prototype=Object.create(d);y.prototype=g.constructor=x,x.constructor=y,x[s]=y.displayName="GeneratorFunction",c.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},c.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,x):(e.__proto__=x,s in e||(e[s]="GeneratorFunction")),e.prototype=Object.create(g),e},c.awrap=function(e){return{__await:e}},T(b.prototype),b.prototype[r]=function(){return this},c.AsyncIterator=b,c.async=function(e,t,n,a){var o=new b(f(e,t,n,a));return c.isGeneratorFunction(t)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},T(g),g[s]="Generator",g[i]=function(){return this},g.toString=function(){return"[object Generator]"},c.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var a=t.pop();if(a in e)return n.value=a,n.done=!1,n}return n.done=!0,n}},c.values=I,w.prototype={constructor:w,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!e)for(var t in this)"t"===t.charAt(0)&&a.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(n,a){return r.type="throw",r.arg=e,t.next=n,a&&(t.method="next",t.arg=void 0),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],r=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=a.call(i,"catchLoc"),l=a.call(i,"finallyLoc");if(s&&l){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&a.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),E(n),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var a=n.completion;if("throw"===a.type){var o=a.arg;E(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:I(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}}}function f(e,t,n,a){var o=t&&t.prototype instanceof p?t:p,i=Object.create(o.prototype),r=new w(a||[]);return i._invoke=function(e,t,n){var a="suspendedStart";return function(o,i){if("executing"===a)throw new Error("Generator is already running");if("completed"===a){if("throw"===o)throw i;return S()}for(n.method=o,n.arg=i;;){var r=n.delegate;if(r){var s=C(r,n);if(s){if(s===u)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===a)throw a="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a="executing";var l=m(e,t,n);if("normal"===l.type){if(a=n.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(a="completed",n.method="throw",n.arg=l.arg)}}}(e,n,r),i}function m(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function p(){}function y(){}function x(){}function T(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function b(e){var t;this._invoke=function(n,o){function i(){return new Promise((function(t,i){!function t(n,o,i,r){var s=m(e[n],e,o);if("throw"!==s.type){var l=s.arg,c=l.value;return c&&"object"==typeof c&&a.call(c,"__await")?Promise.resolve(c.__await).then((function(e){t("next",e,i,r)}),(function(e){t("throw",e,i,r)})):Promise.resolve(c).then((function(e){l.value=e,i(l)}),(function(e){return t("throw",e,i,r)}))}r(s.arg)}(n,o,t,i)}))}return t=t?t.then(i,i):i()}}function C(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,C(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var a=m(n,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,u;var o=a.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function M(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(M,this),this.reset(!0)}function I(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n2&&void 0!==arguments[2]?arguments[2]:null;return"function"==typeof window.CustomEvent?n=new CustomEvent(t,{detail:a,cancelable:!0}):(n=document.createEvent("CustomEvent")).initCustomEvent(t,!0,!0,a),e.dispatchEvent(n)}function M(e){return e instanceof HTMLElement?e:yt.enabledElementByUID(e)}var E={UINT_16_ARRAY:0,FLOAT_32_ARRAY:1},w=E.UINT_16_ARRAY,I=E.FLOAT_32_ARRAY;function S(e,t,n){var a,o=Tt("segmentation").configuration;switch(o.arrayType){case w:a=2;break;case I:a=4;break;default:throw new Error("Unsupported Array Type ".concat(o.arrayType))}e.labelmaps3D[t]={buffer:new ArrayBuffer(n*a),labelmaps2D:[],metadata:[],activeSegmentIndex:1,colorLUTIndex:0,segmentsHidden:[],undo:[],redo:[]}}function k(){var e={};function t(t,n,a){!1===e.hasOwnProperty(t)&&(e[t]={});var o=e[t];!1===o.hasOwnProperty(n)&&(o[n]={data:[]}),o[n].data.push(a)}function n(t,n){if(!1!==e.hasOwnProperty(t)){var a=e[t];if(!1!==a.hasOwnProperty(n))return a[n]}}function a(t,n,a){e[t][n]=a}function o(t){!1!==e.hasOwnProperty(t)&&delete e[t]}return{get:function(e,t){var a=y.cornerstone.getEnabledElement(e);if(a.image)return n(a.image.imageId,t)},add:function(e,n,a){var o=y.cornerstone.getEnabledElement(e);o.image&&t(o.image.imageId,n,a)},set:function(e,t,n){var o=y.cornerstone.getEnabledElement(e);o.image&&a(o.image.imageId,t,n)},clear:function(e){var t=y.cornerstone.getEnabledElement(e);t.image&&o(t.image.imageId)},getImageIdToolState:n,addImageIdToolState:t,setImageIdToolState:a,clearImageIdToolState:o,saveImageIdToolState:function(t){return e[t]},restoreImageIdToolState:function(t,n){e[t]=n},saveToolState:function(){return e},restoreToolState:function(t){e=t},toolState:e}}var _=k();function P(e){var t=y.cornerstone.getEnabledElement(e);return void 0===t.toolStateManager&&(t.toolStateManager=_),t.toolStateManager}function D(e,t,n){var a=P(e);n.uuid=n.uuid||"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})),a.add(e,t,n),C(e,b.MEASUREMENT_ADDED,{toolName:t,toolType:t,element:e,measurementData:n})}function O(e,t){return P(e).get(e,t)}function L(e,t,n){var a=P(e).get(e,t);if(a&&a.data&&a.data.length){for(var o=-1,i=0;i0&&void 0!==arguments[0]?arguments[0]:"".concat("cornerstoneTools",":*");return R.a.enable(e)},B=function(){return R.a.disable()},V={series:{},colorLutTables:[]},q=N("store:modules:segmentationModule:metadata");function j(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"increase",n=Tt("segmentation"),a=n.configuration,o=O(e,"stack"),i=o.data[0],r=i.imageIds[0],s=V.series[r];if(s){var l=s.activeLabelmapIndex,c=s.labelmaps3D[l];switch(t){case"increase":c.activeSegmentIndex++,c.activeSegmentIndex>a.segmentsPerLabelmap&&(c.activeSegmentIndex=1);break;case"decrease":c.activeSegmentIndex--,c.activeSegmentIndex<=0&&(c.activeSegmentIndex=a.segmentsPerLabelmap)}}}var z=N("store:modules:segmentationModule:segmentVisibility");var W=N("store:modules:segmentationModule:getLabelmaps3D");function G(e){var t=M(e);if(t){var n=O(t,"stack");if(n){var a,o,i=n.data[0],r=i.imageIds[0],s=V.series[r];return s&&(a=s.labelmaps3D,o=s.activeLabelmapIndex),{labelmaps3D:a,activeLabelmapIndex:o,currentImageIdIndex:i.currentImageIdIndex}}W.error("Consumers must define stacks in their application if using segmentations in cornerstoneTools.")}}function Y(e,t){var n=G(e),a=n.labelmaps3D,o=n.activeLabelmapIndex;return a[t=void 0!==t?t:o]}var X=E.UINT_16_ARRAY,K=E.FLOAT_32_ARRAY;function Z(e,t){var n=M(e);if(n){var a=G(n).labelmaps3D;if(!a)return[];var o,i,r=Tt("segmentation").configuration;switch(r.arrayType){case X:o="Uint16Array",i="2";break;case K:o="Float32Array",i="4";break;default:throw new Error("Unsupported Array Type ".concat(r.arrayType))}var s=V.colorLutTables;if(void 0!==t){var l=a[t];return l?{labelmapIndex:t,bytesPerVoxel:i,type:o,buffer:l.buffer,colorLUT:s[l.colorLUTIndex]}:void 0}for(var c=[],u=0;u4&&void 0!==arguments[4]&&arguments[4],i=function(e,t){return t*a+e};e.forEach((function(e){var a=i.apply(void 0,J()(e));o?ee(a,t,n):t[a]=n}))}function ne(e,t,n,a){for(var o=e.detail,i=t.pixelData,r=t.segmentIndex,s=o.image,l=s.width,c=s.height,u=0;u5&&void 0!==arguments[5]?arguments[5]:"inside",r=e.detail.image.width,s=t.pixelData,l=t.segmentIndex,c=oe()(a,2),u=c[0],d=c[1],h=oe()(o,2),v=h[0],g=h[1];"outside"===i&&ne(e,t,a,o);for(var f=u;f5&&void 0!==arguments[5]?arguments[5]:"inside",r=t.pixelData,s=t.segmentIndex;if(void 0!==r&&void 0!==s){var l=e.detail.image.width,c=oe()(a,2),u=c[0],d=c[1],h=oe()(o,2),v=h[0],g=h[1];"outside"===i&&ce(e,t,a,o);for(var f=u;f2&&void 0!==arguments[2]?arguments[2]:{},a=n.onFlood||function(){},o=n.onBoundary||function(){},i=n.equals||fe,r=n.diagonals||!1,s=T(t),l=C(),c=[],u=[],d={},h={};for(c.push({currentArgs:t});c.length>0;)v(c.pop());return{flooded:u,boundaries:E()};function v(e){var t=e.currentArgs,n=e.previousArgs;g(t)||(f(t),m(t)?(p(t),x(t)):y(n))}function g(e){return!0===d[e]}function f(e){d[e]=!0}function m(e){var t=b(T,[e]);return b(i,[t,s])}function p(e){u.push(e),a.apply(void 0,J()(e))}function y(e){h[e]=e,o.apply(void 0,J()(e))}function x(e){for(var t=0;t3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,i=Math.floor(a),r=Math.floor(o);if(1===e)return[[i,r]];for(var s=[],l=0,c=-e;c<=e;c++){var u=r+c;if(!(u>t||u<0))for(var d=-e;d<=e;d++){var h=i+d;h>=n||h<0||d*d+c*cn.y?n.y++:n.y--:t.y===n.y?t.x>n.x?n.x++:n.x--:t.y>n.y?t.x>n.x?we(n,t):Ie(n,t):t.x>n.x?Se(n,t):ke(n,t),a.push({x:n.x,y:n.y});return a.pop(),a};function we(e,t){var n=_e(e,t);switch(De([Pe(n,Me.up),Pe(n,Me.right),Pe(n,Me.upRight)])){case 0:e.y++;break;case 1:e.x++;break;case 2:e.y++,e.x++}}function Ie(e,t){var n=_e(e,t);switch(De([Pe(n,Me.up),Pe(n,Me.left),Pe(n,Me.upLeft)])){case 0:e.y++;break;case 1:e.x--;break;case 2:e.y++,e.x--}}function Se(e,t){var n=_e(e,t);switch(De([Pe(n,Me.down),Pe(n,Me.right),Pe(n,Me.downRight)])){case 0:e.y--;break;case 1:e.x++;break;case 2:e.y--,e.x++}}function ke(e,t){var n=_e(e,t);switch(De([Pe(n,Me.down),Pe(n,Me.left),Pe(n,Me.downLeft)])){case 0:e.y--;break;case 1:e.x--;break;case 2:e.y--,e.x--}}function _e(e,t){var n=y.cornerstoneMath.point.distance(e,t);return{x:(t.x-e.x)/n,y:(t.y-e.y)/n}}function Pe(e,t){return e.x*t.x+e.y*t.y}function De(e){var t=e[0]>e[1]?0:1;return e[2]>e[t]&&(t=2),t}function Oe(e,t){var n=Tt("segmentation").getters;t=void 0===t?n.activeLabelmapIndex(e):t,y.cornerstone.triggerEvent(e,b.LABELMAP_MODIFIED,{labelmapIndex:t})}function Le(e,t){for(var n=[],a=0;a3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4?arguments[4]:void 0,i=arguments.length>5?arguments[5]:void 0,r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,s=Tt("segmentation"),l=s.configuration,c=V.series[e];c||(V.series[e]={activeLabelmapIndex:n,labelmaps3D:[]},c=V.series[e]),c.labelmaps3D[n]={buffer:t,labelmaps2D:[],metadata:a,activeSegmentIndex:1,colorLUTIndex:r,segmentsHidden:[],undo:[],redo:[]};for(var u=c.labelmaps3D[n].labelmaps2D,d=t.byteLength/o,h=0;h=0&&o=0}var Ye=N("store:modules:segmentationModule:getSegmentOfActiveLabelmapAtEvent");var Xe=N("store:modules:segmentationModule:setColorLUT");function Ke(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=Tt("segmentation"),a=n.configuration,o=a.segmentsPerLabelmap;t?($e(t,o),t.lengtht&&Xe.warn("segmentsPerLabelmap is set to ".concat(t,", and the provided colorLUT provides ").concat(e.length,". Using the first ").concat(t," colors from the LUT."))}function Je(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:255,t=[],n=0;n=360&&(Qe-=360),Qe}var tt=.6;function nt(){(tt+=.07)>.82&&(tt=.3+(tt-.82));return tt}function at(e){var t,n,a,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.6,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:255,s=(1-Math.abs(2*i-1))*o,l=s*(1-Math.abs(e/60%2-1)),c=i-s/2;return e<60?(t=s,n=l,a=0):e<120?(t=l,n=s,a=0):e<180?(t=0,n=s,a=l):e<240?(t=0,n=l,a=s):e<300?(t=l,n=0,a=s):e<360&&(t=s,n=0,a=l),[255*(t+c),255*(n+c),255*(a+c),r]}var ot=N("store:modules:segmentationModule:getBrushColor");var it={renderOutline:!0,renderFill:!0,shouldRenderInactiveLabelmaps:!0,radius:10,minRadius:1,maxRadius:50,fillAlpha:.2,fillAlphaInactive:.1,outlineAlpha:.7,outlineAlphaInactive:.35,outlineWidth:3,storeHistory:!0,segmentsPerLabelmap:65535,arrayType:E.UINT_16_ARRAY},rt=N("util:segmentation:labelmap3DHistory");function st(e,t,n){var a=e.labelmaps2D;t.forEach((function(e){for(var t=e.imageIdIndex,o=e.diff,i=a[t].pixelData,r=0;rr?r=e:e1&&void 0!==arguments[1]&&arguments[1],n=M(e);if(n){var a=O(n,"stack");if(a){var o,i=a.data[0],r=i.imageIds[0],s=V.series[r];if(s){var l=s.activeLabelmapIndex,c=s.labelmaps3D[l],u=c.activeSegmentIndex;o=V.colorLutTables[c.colorLUTIndex][u]}else o=V.colorLutTables[0][1];return t?"rgba(".concat(o[0],", ").concat(o[1],", ").concat(o[2],", 1.0 )"):"rgba(".concat(o[0],", ").concat(o[1],", ").concat(o[2],", 0.8 )")}ot.error("Consumers must define stacks in their application if using segmentations in cornerstoneTools.")}},labelmapBuffers:Z,activeLabelmapBuffer:function(e){var t=M(e);if(t){var n=O(t,"stack").data[0].imageIds[0],a=V.series[n];if(a)return Z(t,a.activeLabelmapIndex)}},colorLUT:Ze,colorForSegmentIndexColorLUT:function(e,t){return Ze(e)[t]}},setters:{metadata:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0,o=M(e);if(o){var i=y.cornerstone,r=O(o,"stack"),s=r.data[0],l=s.imageIds[0],c=V.series[l];if(c||(V.series[l]={labelmapIndex:t,labelmaps3D:[]},c=V.series[l]),!c.labelmaps3D[t]){var u=i.getEnabledElement(o),d=u.image,h=d.rows,v=d.columns,g=s.imageIds.length,f=h*v*g;S(c,t,f)}var m=c.labelmaps3D[t];m.metadata[n]=a}},labelmap3DForElement:function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4?arguments[4]:void 0,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,r=M(e);if(r){var s=O(r,"stack"),l=s.data[0].imageIds.length,c=s.data[0].imageIds[0];Re(c,t,n,a,l,o,i),Oe(r,n)}},labelmap3DByFirstImageId:Re,incrementActiveSegmentIndex:function(e){var t=M(e);t&&j(t,"increase")},decrementActiveSegmentIndex:function(e){var t=M(e);t&&j(t,"decrease")},activeSegmentIndex:function(e,t){var n=M(e);if(n){var a=O(n,"stack").data[0].imageIds[0],o=V.series[a];if(o){var i=o.activeLabelmapIndex,r=o.labelmaps3D[i],s=Tt("segmentation").configuration;t<=0?t=1:t>s.segmentsPerLabelmap&&(t=s.segmentsPerLabelmap),r.activeSegmentIndex=t}}},toggleSegmentVisibility:function(e,t,n){if(t){var a=M(e);if(a){var o=O(a,"stack").data[0].imageIds[0],i=V.series[o];if(i){if(n=void 0===n?i.activeLabelmapIndex:n,i.labelmaps3D[n]){var r=i.labelmaps3D[n].segmentsHidden;return r[t]=!r[t],!r[t]}z.warn("No labelmap3D of labelmap index ".concat(n," on stack."))}else z.warn("brushStackState is undefined")}}},updateSegmentsOnLabelmap2D:function(e){e.segmentsOnLabelmap=Q(e.pixelData)},deleteSegment:function(e,t,n){if(t){var a=M(e);if(a){var o=O(a,"stack").data[0].imageIds[0],i=V.series[o];if(i){n=void 0===n?i.activeLabelmapIndex:n;var r=i.labelmaps3D[n];if(r){delete r.metadata[t];for(var s=r.labelmaps2D,l=0;l1&&void 0!==arguments[1]?arguments[1]:0,n=M(e);if(n){var a=y.cornerstone,o=O(n,"stack"),i=o.data[0],r=a.getEnabledElement(n),s=r.image,l=s.rows,c=s.columns,u=i.imageIds.length,d=l*c*u,h=i.imageIds[0],v=V.series[h];v?(v.activeLabelmapIndex=t,v.labelmaps3D[t]||S(v,t,d)):(V.series[h]={activeLabelmapIndex:t,labelmaps3D:[]},S(v=V.series[h],t,d)),a.updateImage(n)}},radius:function(e){var t=Tt("segmentation").configuration;t.radius=Math.min(Math.max(e,t.minRadius),t.maxRadius)},pushState:function(e,t,n){var a=Y(e,n);a.undo.push(t),a.redo=[]},undo:function(e,t){var n=Y(e,t),a=n.undo,o=n.redo;if(a.length){var i=a.pop();st(n,i,1),o.push(i),y.cornerstone.updateImage(e)}else rt.warn("No undos left.")},redo:function(e,t){var n=Y(e,t),a=n.undo,o=n.redo;if(o.length){var i=o.pop();st(n,i,2),a.push(i),y.cornerstone.updateImage(e)}else rt.warn("No redos left.")}}},ct={activeManipulators:{}};function ut(e){var t=y.cornerstone.getEnabledElement(e).uuid;delete ct.activeManipulators[t]}function dt(e){var t=ct.activeManipulators,n=t[e];"function"==typeof n&&n(),delete t[e]}function ht(e){ut(e.detail.element)}var vt={setters:{addActiveManipulatorForElement:function(e,t){var n=y.cornerstone.getEnabledElement(e).uuid;ct.activeManipulators[n]=t},removeActiveManipulatorForElement:ut,cancelActiveManipulatorsForElement:function(e){dt(y.cornerstone.getEnabledElement(e).uuid)},cancelActiveManipulators:function(){var e=ct.activeManipulators;Object.keys(e).forEach((function(e){return dt(e)}))}},state:ct,enabledElementCallback:function(e){var t=y.cornerstone.EVENTS.NEW_IMAGE;e.removeEventListener(t,ht),e.addEventListener(t,ht)},removeEnabledElementCallback:function(e){var t=y.cornerstone.EVENTS.NEW_IMAGE;e.removeEventListener(t,ht),ut(e)}},gt={iconSize:16,viewBox:{x:16,y:16},mousePoint:{x:8,y:8},mousePointerGroupString:'\n \n \n '},ft={configuration:gt,getters:{defaultOptions:function(){return gt}},setters:{defaultOptions:function(e){Object.assign(gt,e)}}},mt={configuration:{mouseEnabled:!0,touchEnabled:!0,globalToolSyncEnabled:!1,showSVGCursors:!1,autoResizeViewports:!0,lineDash:[4,4]}},pt=(N("store:modules:storeLogger"),{globalTools:{},globalToolChangeHistory:[],enabledElements:[],tools:[],isToolLocked:!1,activeMultiPartTool:null,mousePositionImage:{},clickProximity:6,touchProximity:10,handleRadius:6,deleteIfHandleOutsideImage:!0,preventHandleOutsideImage:!1,preventTextBoxOutsideDisplayedArea:!1,handleTouchOffset:{x:0,y:-57},svgCursorUrl:null}),yt={mouseTools:function(){return pt.tools.filter((function(e){return e.supportedInteractionTypes.includes("Mouse")}))},touchTools:function(){return pt.tools.filter((function(e){return e.supportedInteractionTypes.includes("Touch")}))},enabledElementByUID:function(e){return pt.enabledElements.find((function(t){return y.cornerstone.getEnabledElement(t).uuid===e}))}},xt={segmentation:lt,cursor:ft,globalConfiguration:mt,manipulatorState:vt};function Tt(e){return xt[e]}var bt={modules:xt,state:pt,getters:yt},Ct=function(e,t){return pt.tools.find((function(n){return n.element===e&&n.name===t}))},Mt=xt.globalConfiguration;function Et(e,t){if(Mt.configuration.showSVGCursors){var n=t.getIconWithPointerSVG(),a=t.mousePoint,o=window.URL.createObjectURL(n);e.style.cursor="url('".concat(o,"') ").concat(a,", auto"),pt.svgCursorUrl=o}}function wt(e){Mt.configuration.showSVGCursors&&It(e,"none")}function It(e,t){pt.svgCursorUrl&&window.URL.revokeObjectURL(pt.svgCursorUrl),pt.svgCursorUrl=null,e.style.cursor=t}var St=Tt("globalConfiguration"),kt=N("store:setToolMode"),_t=function(e,t,n,a){void 0===a&&Array.isArray(n)&&(a=n,n=null);var o=Ct(e,t);o&&(function(e,t,n,a){t.supportedInteractionTypes.forEach((function(o){if(void 0===a||a.includes(o)){var i=Vt[o];i?i(t,e,n):kt.warn("Unable to resolve input conflicts for type %s",o)}})),bt.state.tools.filter((function(t){return t.element===e&&"active"===t.mode&&t.supportedInteractionTypes.length>0})).forEach((function(t){var n=!1;t.supportedInteractionTypes.forEach((function(e){t.options["is".concat(e,"Active")]&&(n=!0)})),n||(kt.log("Setting tool %s's to PASSIVE",t.name),Ht(e,t.name))}))}(e,o,n,a),o.supportedInteractionTypes.forEach((function(e){void 0===a||a.includes(e)?n["is".concat(e,"Active")]=!0:n["is".concat(e,"Active")]=!1})),St.configuration.showSVGCursors&&o.supportedInteractionTypes.includes("Mouse")&&function(e,t,n){var a;a="number"==typeof t?[t]:t.mouseButtonMask;a.includes(1)&&(n.svgCursor?Et(n.element,n.svgCursor):n.hideDefaultCursor?wt(e):function(e){It(e,"initial")}(e))}(e,n,o)),Ut("active",null,e,t,n)};var Pt=function(e,t,n){Bt("active",e,t,n),bt.state.enabledElements.forEach((function(a){_t(a,e,t,n)}))},Dt=Ut.bind(null,"disabled",null),Ot=Nt.bind(null,"disabled",null),Lt=Ut.bind(null,"enabled",null),At=Nt.bind(null,"enabled",null),Ht=Ut.bind(null,"passive",b.TOOL_DEACTIVATED),Rt=Nt.bind(null,"passive",b.TOOL_DEACTIVATED);function Ut(e,t,n,a,o){var i,r,s=Ct(n,a);s?(o=qt(o),Array.isArray(o.mouseButtonMask)&&0!==o.mouseButtonMask.length&&Array.isArray(s.options.mouseButtonMask)&&(o.mouseButtonMask=(i=o.mouseButtonMask,r=s.options.mouseButtonMask,i.concat(r).reduce((function(e,t){return-1===e.indexOf(t)&&e.push(t),e}),[]))),s.mode=e,s.mergeOptions(o),s["".concat(e,"Callback")]&&s["".concat(e,"Callback")](n,o),t&&C(n,t,{options:o,toolName:a,toolType:a,type:t})):kt.warn('Unable to find tool "%s" for enabledElement',a)}function Nt(e,t,n,a){Bt(e,n,a),bt.state.enabledElements.forEach((function(o){Ut(e,t,o,n,a)}))}function Ft(e,t,n){var a="is".concat(e,"Active"),o=bt.state.tools.find((function(e){return e.element===n&&"active"===e.mode&&!0===e.options[a]}));o&&(kt.log("Setting tool %s's %s to false",o.name,a),o.options[a]=!1)}function Bt(e,t,n,a){if(St.configuration.globalToolSyncEnabled){var o={mode:e,args:[t,n]};a&&o.push(a),bt.state.globalToolChangeHistory.push(o);bt.state.globalToolChangeHistory.length>50&&bt.state.globalToolChangeHistory.shift();var i=bt.state.globalTools[t];if(i)if("active"===e){var r=function(e,t,n){void 0===n&&Array.isArray(t)&&(n=t,t=null);var a=[],o=bt.state.globalTools[e];if(o){var i=new o.tool(o.props);i.supportedInteractionTypes.forEach((function(e){if(void 0===n||n.includes(e))if("Mouse"===e){var o=qt(t).mouseButtonMask;Array.isArray(o)&&o.length>0?o.forEach((function(t){return a.push("".concat(e,"-").concat(t))})):Array.isArray(o)&&0===o.length&&a.push("".concat(e,"-DELETE"))}else"MultiTouch"===e?a.push("".concat(e,"-").concat(i.configuration.touchPointers)):a.push(e)}))}return a}(t,n,a);Object.keys(bt.state.globalTools).forEach((function(e){var t=bt.state.globalTools[e];t.activeBindings=t.activeBindings.filter((function(e){return!r.includes(e)}))})),r.some((function(e){return e.includes("Mouse-DELETE")}))&&(i.activeBindings=i.activeBindings.filter((function(e){return!e.includes("Mouse")})),r=r.filter((function(e){return!e.includes("Mouse")}))),i.activeBindings=i.activeBindings.concat(r)}else i.activeBindings=[];else kt.warn("setToolMode call for tool not available globally: ".concat(t))}}var Vt={Mouse:function(e,t,n){var a=qt(n).mouseButtonMask;if(Array.isArray(a)&&a.length>0){var o=bt.state.tools.find((function(e){return e.element===t&&"active"===e.mode&&!0===e.options.isMouseActive&&Array.isArray(e.options.mouseButtonMask)&&e.options.mouseButtonMask.some((function(e){return a.includes(e)}))}));o&&(o.options.mouseButtonMask=o.options.mouseButtonMask.filter((function(e){return!a.includes(e)})),0===o.options.mouseButtonMask.length&&(o.options.isMouseActive=!1))}},MouseWheel:Ft.bind(void 0,"MouseWheel"),Touch:function(e,t){var n=bt.state.tools.find((function(e){return e.element===t&&"active"===e.mode&&!0===e.options.isTouchActive})),a=bt.state.tools.find((function(e){return e.element===t&&"active"===e.mode&&!0===e.options.isMultiTouchActive&&1===e.configuration.touchPointers}));n&&(kt.log("Setting tool %s's isTouchActive to false",n.name),n.options.isTouchActive=!1),a&&(kt.log("Setting tool %s's isTouchActive to false",a.name),a.options.isMultiTouchActive=!1)},TouchPinch:Ft.bind(void 0,"TouchPinch"),TouchRotate:Ft.bind(void 0,"TouchRotate"),DoubleTap:Ft.bind(void 0,"DoubleTap"),MultiTouch:function(e,t){var n,a=bt.state.tools.find((function(n){return n.element===t&&"active"===n.mode&&!0===n.options.isMultiTouchActive&&n.configuration.touchPointers===e.configuration.touchPointers}));1===e.configuration.touchPointers&&(n=bt.state.tools.find((function(e){return e.element===t&&"active"===e.mode&&!0===e.options.isTouchActive}))),a&&(kt.log("Setting tool %s's isMultiTouchActive to false",a.name),a.options.isMultiTouchActive=!1),n&&(kt.log("Setting tool %s's isTouchActive to false",n.name),n.options.isTouchActive=!1)}};function qt(e){return Array.isArray(e)?e={mouseButtonMask:e}:e!==Object(e)&&(e={mouseButtonMask:[e]}),e.hasOwnProperty("mouseButtonMask")||(e.mouseButtonMask=[]),Array.isArray(e.mouseButtonMask)||(e.mouseButtonMask=[e.mouseButtonMask]),e.mouseButtonMask=e.mouseButtonMask.filter((function(e){return"number"==typeof e&&0!==e})),e}var jt={passiveCallback:function(e){Dt(e,this.name)},enabledCallback:function(e){_t(e,this.name)}};var zt={passiveCallback:function(e){Dt(e,this.name)},activeCallback:function(e){Lt(e,this.name)}},Wt=function(e,t){e.save(),t(e),e.restore()},Gt=1,Yt=2;var Xt={setToolWidth:function(e){Gt=e},getToolWidth:function(){return Gt},setActiveWidth:function(e){Yt=e},getActiveWidth:function(){return Yt}},Kt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,a=t.color,o=t.lineWidth,i=t.fillStyle,r=t.lineDash,s=t.shouldDrawLines,l=void 0===s||s;e.beginPath(),e.strokeStyle=a||e.strokeStyle,e.lineWidth=o||void 0===o&&Xt.getToolWidth()||e.lineWidth,r&&e.setLineDash(r),n(e),i&&(e.fillStyle=i,e.fill()),l&&e.stroke(),r&&e.setLineDash([])};function Zt(e,t,n,a,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"pixel";Kt(e,o,(function(e){"pixel"===i&&(n=y.cornerstone.pixelToCanvas(t,n),a=y.cornerstone.pixelToCanvas(t,a)),e.moveTo(n.x,n.y),e.lineTo(a.x,a.y)}))}var $t=function(e,t,n,a,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"pixel";Kt(e,o,(function(e){"pixel"===i&&(n=y.cornerstone.pixelToCanvas(t,n),a=a.map((function(e){return y.cornerstone.pixelToCanvas(t,e)}))),e.moveTo(n.x,n.y),a.forEach((function(t){var n=t.x,a=t.y;e.lineTo(n,a)}))}))},Jt=function(e,t,n,a,o,i){var r=Math.atan2(n.y-t.y,n.x-t.x),s={color:a,lineWidth:o};i&&(s.lineDash=i),Zt(e,void 0,t,n,s,"canvas"),s={color:a,lineWidth:o,fillStyle:a};var l=[{x:n.x-10*Math.cos(r-Math.PI/7),y:n.y-10*Math.sin(r-Math.PI/7)},{x:n.x-10*Math.cos(r+Math.PI/7),y:n.y-10*Math.sin(r+Math.PI/7)},n];$t(e,void 0,n,l,s,"canvas")},Qt=function(e,t,n,a,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"pixel";"pixel"===i&&(n=y.cornerstone.pixelToCanvas(t,n)),Kt(e,o,(function(e){e.arc(n.x,n.y,a,0,2*Math.PI)}))};function en(e){var t=y.cornerstoneMath;if(e instanceof t.Vector3)return e;var n=Object.keys(e);return n.includes("x")&&n.includes("y")&&n.includes("z")?new t.Vector3(e.x,e.y,e.z):new t.Vector3(e[0],e[1],e[2])}function tn(e,t){var n=en(t.rowCosines),a=en(t.columnCosines),o=en(t.imagePositionPatient),i=e.clone().sub(o);return{x:n.dot(i)/t.columnPixelSpacing,y:a.dot(i)/t.rowPixelSpacing}}function nn(e,t){var n=en(t.rowCosines),a=en(t.columnCosines),o=en(t.imagePositionPatient),i=n.clone().multiplyScalar(e.x);i.multiplyScalar(t.columnPixelSpacing);var r=a.clone().multiplyScalar(e.y);r.multiplyScalar(t.rowPixelSpacing);var s=i.add(r);return s.add(o),s}function an(e,t){var n=en(e.rowCosines),a=en(e.columnCosines),o=en(e.imagePositionPatient),i=en(t.rowCosines),r=en(t.columnCosines),s=en(t.imagePositionPatient),l=n.clone().cross(a),c=new y.cornerstoneMath.Plane;c.setFromNormalAndCoplanarPoint(l,o);var u=i.clone().cross(r),d=new y.cornerstoneMath.Plane;d.setFromNormalAndCoplanarPoint(u,s);var h=d.clone().intersectPlane(c),v=h.origin,g=h.direction,f=nn({x:t.columns,y:t.rows},t),m=s.distanceTo(f),p=new y.cornerstoneMath.Line3;p.start=v,p.end=v.clone().add(g.multiplyScalar(m));var x=function(e,t){var n=[];return Object.keys(t).forEach((function(a){var o=t[a],i=e.intersectLine(o);i&&n.push(i)})),n}(p,function(e){var t=nn({x:0,y:0},e),n=nn({x:e.columns,y:0},e),a=nn({x:0,y:e.rows},e),o=nn({x:e.columns,y:e.rows},e);return{top:new y.cornerstoneMath.Line3(t,n),left:new y.cornerstoneMath.Line3(t,a),right:new y.cornerstoneMath.Line3(n,o),bottom:new y.cornerstoneMath.Line3(a,o)}}(t));if(2===x.length)return{start:x[0],end:x[1]}}function on(e,t,n){var a=n*(Math.PI/180);return{x:Math.cos(a)*(e.x-t.x)-Math.sin(a)*(e.y-t.y)+t.x,y:Math.sin(a)*(e.x-t.x)+Math.cos(a)*(e.y-t.y)+t.y}}var rn=function(e,t,n,a,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"pixel",r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0;"pixel"===i&&(n=y.cornerstone.pixelToCanvas(t,n),a=y.cornerstone.pixelToCanvas(t,a));var s=y.cornerstone.getViewport(t),l=t.clientWidth,c=t.clientHeight,u=s.scale,d=s.translation,h=s.rotation-r,v={x:l/2+d.x*u,y:c/2+d.y*u};Math.abs(h)>.05&&(n=on(n,v,-h),a=on(a,v,-h));var g=Math.abs(n.x-a.x),f=Math.abs(n.y-a.y),m=Math.min(n.x,a.x),p=Math.min(n.y,a.y),x={x:m+g/2,y:p+f/2};Math.abs(h)>.05&&(x=on(x,v,h));var T=h*Math.PI/180;Kt(e,o,(function(e){e.ellipse(x.x,x.y,g/2,f/2,T,0,2*Math.PI),e.closePath()}))},sn="white",ln="greenyellow",cn="transparent";var un={setFillColor:function(e){cn=e},getFillColor:function(){return cn},setToolColor:function(e){sn=e},getToolColor:function(){return sn},setActiveColor:function(e){ln=e},getActiveColor:function(){return ln},getColorIfActive:function(e){return e.color?e.color:e.active?ln:sn}},dn=function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=t.element,i=un.getToolColor();e.strokeStyle=a.color||i;for(var r=Object.keys(n),s=function(t){var i=r[t],s=n[i];if(!0===s.drawnIndependently)return"continue";if(!0===a.drawHandlesIfActive&&!s.active)return"continue";if(a.hideHandlesIfMoving&&s.moving)return"continue";var l={lineWidth:s.active?Xt.getActiveWidth():Xt.getToolWidth(),fillStyle:a.fill};a.lineDash&&(l.lineDash=a.lineDash),Kt(e,l,(function(e){var t=y.cornerstone.pixelToCanvas(o,s),n=s.radius||a.handleRadius||pt.handleRadius;e.arc(t.x,t.y,n,0,2*Math.PI)}))},l=0;l4&&void 0!==arguments[4]?arguments[4]:"pixel";Kt(e,a,(function(e){n.forEach((function(n){var a=n.start,i=n.end;if("pixel"===o){var r=y.cornerstone;a=r.pixelToCanvas(t,a),i=r.pixelToCanvas(t,i)}e.moveTo(a.x,a.y),e.lineTo(i.x,i.y)}))}))},vn=function(e,t,n,a,o,i){var r=e.length>0?y.cornerstoneMath.point.findClosestPoint(e,t):t,s=[{x:n.left+n.width/2,y:n.top},{x:n.left,y:n.top+n.height/2},{x:n.left+n.width/2,y:n.top+n.height},{x:n.left+n.width,y:n.top+n.height/2}];Zt(a,void 0,r,y.cornerstoneMath.point.findClosestPoint(s,r),{color:o,lineWidth:i,lineDash:[2,3]},"canvas")},gn={fontSize:15,fontFamily:"Arial",backgroundColor:"transparent"};function fn(e){if("string"!=typeof e)throw new Error("Font family must be a valid string");gn.fontFamily=e}function mn(e){if("number"!=typeof e||isNaN(e)||!isFinite(e))throw new Error("Font size must be a valid number");gn.fontSize=parseFloat(e)}var pn={setFont:function(e){var t=e.split("px ");2===t.length&&(mn(parseFloat(t[0])),fn(t[1]))},getFont:function(){return"".concat(gn.fontSize,"px ").concat(gn.fontFamily)},setFontSize:mn,getFontSize:function(){return gn.fontSize},setFontFamily:fn,getFontFamily:function(){return gn.fontFamily},setBackgroundColor:function(e){gn.backgroundColor=e},getBackgroundColor:function(){return gn.backgroundColor}},yn=function(e,t,n,a,o){var i=pn.getFontSize();e.font=pn.getFont(),e.textBaseline="top",e.fillStyle=a,n.forEach((function(n,a){e.fillText(n,t.left+o,t.top+o+a*(i+o))}))},xn=function(e,t,n){e.fillStyle=n,e.fillRect(t.left,t.top,t.width,t.height)};function Tn(e,t,n){var a=pn.getFont(),o=e.font;a&&a!==o&&(e.font=a);var i=e.measureText(t).width;return a&&a!==o&&(e.font=o),i+2*n}var bn=function(e,t,n,a,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};"[object Array]"!==Object.prototype.toString.call(t)&&(t=[t]);var r=5,s=pn.getFontSize(),l=pn.getBackgroundColor(),c=0;t.forEach((function(t){var n=Tn(e,t,r);c=Math.max(c,n)}));var u={width:c,height:r+t.length*(s+r)};return Wt(e,(function(e){e.strokeStyle=o,i.centering&&(!0===i.centering.x&&(n-=u.width/2),!0===i.centering.y&&(a-=u.height/2)),u.left=n,u.top=a,"function"==typeof i.displacer&&i.displacer(u),xn(e,u,l),yn(e,u,t,o,r)})),u};function Cn(e,t,n){return Math.min(Math.max(t,e),n)}function Mn(e,t){var n=t.left||0,a=t.top||0;e.x=Cn(e.x,n,n+t.width),e.y=Cn(e.y,a,a+t.height)}var En=function(e,t,n,a,o,i){i-oi&&(e[t]-=a-i)};function wn(e,t){var n=y.cornerstone,a=n.pixelToCanvas,o=n.canvasToPixel,i=n.getViewport,r=n.getEnabledElement,s=n.getDisplayedArea,l=o(e,{x:t.left,y:t.top}),c=function(e,t){var n=function(t){return y.cornerstone.canvasToPixel(e,t)},a=t.top,o=t.left,i=t.width,r=t.height,s=[n({x:o,y:a}),n({x:o+i,y:a}),n({x:o,y:a+r}),n({x:o+i,y:a+r})],l=s.map((function(e){return e.x})),c=s.map((function(e){return e.y}));return{minX:Math.min.apply(Math,J()(l)),minY:Math.min.apply(Math,J()(c)),maxX:Math.max.apply(Math,J()(l)),maxY:Math.max.apply(Math,J()(c))}}(e,t),u=c.minX,d=c.minY,h=c.maxX,v=c.maxY,g=i(e),f=s(r(e).image,g),m=g.displayedArea?g.displayedArea:f,p=m.tlhc,x=m.brhc,T=p.y-1,b=p.x-1,C=x.y,M=x.x;En(l,"y",d,v,T,C),En(l,"x",u,h,b,M);var E=a(e,l);t.top=E.y,t.left=E.x}var In=Cn,Sn=function(e,t,n,a,o,i,r,s,l,c){var u=y.cornerstone.pixelToCanvas,d=u(t,n);l&&(d.x+=l);var h={centering:{x:!1,y:c}};if(pt.preventTextBoxOutsideDisplayedArea&&(h.displacer=function(e){return wn(t,e)}),n.boundingBox=bn(e,a,d.x,d.y,r,h),n.hasMoved){var v=i(o).map((function(e){return u(t,e)}));vn(v,d,n.boundingBox,e,r,s)}},kn=function(e,t,n,a,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"pixel",r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0;if("pixel"===i){var s=y.cornerstone;n=s.pixelToCanvas(t,n),a=s.pixelToCanvas(t,a)}var l=y.cornerstone.getViewport(t),c=t.clientWidth,u=t.clientHeight,d=l.scale,h=l.translation,v=l.rotation-r,g={x:c/2+h.x*d,y:u/2+h.y*d};Math.abs(v)>.05&&(n=on(n,g,-v),a=on(a,g,-v));var f=Math.abs(n.x-a.x),m=Math.abs(n.y-a.y);n={x:Math.min(n.x,a.x),y:Math.min(n.y,a.y)},a={x:n.x+f,y:n.y+m};var p={x:n.x+f,y:n.y},x={x:n.x,y:n.y+m};Math.abs(v)>.05&&(n=on(n,g,v),a=on(a,g,v),p=on(p,g,v),x=on(x,g,v)),Kt(e,o,(function(e){e.moveTo(n.x,n.y),e.lineTo(p.x,p.y),e.lineTo(a.x,a.y),e.lineTo(x.x,x.y),e.lineTo(n.x,n.y)}))},_n=function(e){var t=e.getContext("2d");return t.setTransform(1,0,0,1,0,0),t},Pn=function(e,t){return void 0===e?t:e},Dn=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.shadow&&(e.shadowColor=Pn(t.shadowColor,"#000000"),e.shadowBlur=Pn(t.shadowBlur,0),e.shadowOffsetX=Pn(t.shadowOffsetX,1),e.shadowOffsetY=Pn(t.shadowOffsetY,1))},On=function(e){return 0===Object.keys(e).length&&e.constructor===Object},Ln=Tt("segmentation"),An=Ln.getters,Hn=Ln.setters;function Rn(){this.handles={start:{},end:{}}}function Un(e){var t=e.detail.element,n=e.detail.currentPoints.image;return On(this.handles.start)?this.handles.start=n:(this.handles.end=n,this._applyStrategy(e)),y.cornerstone.updateImage(t),!0}function Nn(e){var t=e.detail,n=t.element,a=t.currentPoints.image;this.handles.end=a,y.cornerstone.updateImage(n)}function Fn(e){e.detail.handles=this.handles;var t=e.detail.element,n=An.labelmap2D(t),a=n.labelmap2D,o=n.labelmap3D,i=n.currentImageIdIndex,r=a.pixelData,s=r.slice(),l={points:{start:{x:this.handles.start.x,y:this.handles.start.y},end:{x:this.handles.end.x,y:this.handles.end.y}},pixelData:r,segmentIndex:o.activeSegmentIndex,segmentationMixinType:"circleSegmentationMixin"};this.applyActiveStrategy(e,l);var c={imageIdIndex:i,diff:Le(s,r)};Hn.pushState(this.element,[c]),Hn.updateSegmentsOnLabelmap2D(a),y.cornerstone.updateImage(t),this._resetHandles()}var Bn={postTouchStartCallback:Un,postMouseDownCallback:Un,mouseClickCallback:Un,touchDragCallback:Nn,mouseDragCallback:Nn,mouseMoveCallback:Nn,touchEndCallback:Fn,mouseUpCallback:Fn,initializeMixin:Rn,renderToolData:function(e){var t=this,n=e.detail,a=n.element,o=An.brushColor(a,!0),i=_n(n.canvasContext.canvas),r=y.cornerstoneMath.point.distance;Wt(i,(function(e){if(!t.handles)return null;var n=y.cornerstone.pixelToCanvas(a,t.handles.start),i=y.cornerstone.pixelToCanvas(a,t.handles.end),s=r(n,i);Qt(e,a,t.handles.start,s,{color:o})}))},_resetHandles:Rn,_applyStrategy:Fn},Vn=N("tools:ScissorsTool"),qn=Tt("segmentation"),jn=qn.getters,zn=qn.setters;function Wn(e){var t=e.detail.element,n=e.detail.currentPoints.image,a=this.handles.points;if(!a.length)return Vn.warn("Something went wrong, empty handles detected."),null;a.push({x:n.x,y:n.y,lines:[]}),this.currentHandle+=1,y.cornerstone.updateImage(t)}function Gn(e){var t=e.detail,n=e.detail.element;this._addPoint(t),y.cornerstone.updateImage(n)}function Yn(e){var t=this.handles.points,n=e.detail.element,a=jn.labelmap2D(n),o=a.labelmap2D,i=a.labelmap3D,r=a.currentImageIdIndex,s=o.pixelData,l=s.slice(),c={points:t,pixelData:s,segmentIndex:i.activeSegmentIndex,segmentationMixinType:"freehandSegmentationMixin"};this.applyActiveStrategy(e,c);var u={imageIdIndex:r,diff:Le(l,s)};zn.pushState(this.element,[u]),zn.updateSegmentsOnLabelmap2D(o),y.cornerstone.updateImage(n),this._resetHandles()}function Xn(){this.handles={points:[]},this.currentHandle=0}var Kn={postTouchStartCallback:Wn,postMouseDownCallback:Wn,mouseClickCallback:Wn,touchDragCallback:Gn,mouseDragCallback:Gn,mouseMoveCallback:Gn,touchEndCallback:Yn,mouseUpCallback:Yn,initializeMixin:Xn,renderToolData:function(e){var t=e.detail,n=t.element,a=jn.brushColor(n,!0),o=_n(t.canvasContext.canvas),i=this.handles.points;i.length<2||Wt(o,(function(e){for(var t=0;t1)for(var n=0;nu||v<0||v>c)){var g=i.radius,f=r.canvasContext,m=r.element,p=o.brushColor(m,this._drawing);f.setTransform(1,0,0,1,0,0);var x=g*s.scale,T=n.pixelToCanvas(m,t);f.beginPath(),f.strokeStyle=p,f.ellipse(T.x,T.y,x,x,0,0,2*Math.PI),f.stroke()}}}}},ra=function(e){return e&&"object"===T()(e)&&"[object RegExp]"!==Object.prototype.toString.call(e)&&"[object Date]"!==Object.prototype.toString.call(e)},sa=function(e,t){var n;return t&&!0===t.clone&&ra(e)?ua((n=e,Array.isArray(n)?[]:{}),e,t):e},la=function(e,t,n){var a=e.slice();return t.forEach((function(t,o){void 0===a[o]?a[o]=sa(t,n):ra(t)?a[o]=ua(e[o],t,n):-1===e.indexOf(t)&&a.push(sa(t,n))})),a},ca=function(e,t,n){var a={};return ra(e)&&Object.keys(e).forEach((function(t){a[t]=sa(e[t],n)})),Object.keys(t).forEach((function(o){ra(t[o])&&e[o]?a[o]=ua(e[o],t[o],n):a[o]=sa(t[o],n)})),a},ua=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,a=Array.isArray(t),o=n||{arrayMerge:la},i=o.arrayMerge||la;if(a)return Array.isArray(e)?i(e,t,n):sa(t,n);var r=ca(e,t,n);return Object.getPrototypeOf(e)!==Object.prototype&&Object.setPrototypeOf(r,Object.getPrototypeOf(e)),r},da=ua,ha=N("tools:base:BaseTool"),va=Tt("globalConfiguration"),ga=function(){function e(t,n){r()(this,e),this.initialConfiguration=da(n,t);var a=this.initialConfiguration,o=a.name,i=a.strategies,s=a.defaultStrategy,l=a.configuration,c=a.supportedInteractionTypes,u=a.mixins,d=a.svgCursor;this.name=o,this.mode="disabled",this.element=void 0,this.supportedInteractionTypes=c||[],this.strategies=i||{},this.defaultStrategy=s||Object.keys(this.strategies)[0]||void 0,this.activeStrategy=this.defaultStrategy,d&&(this.svgCursor=d),this._options={},this._configuration=Object.assign({},l),this.updateOnMouseMove=!1,this.hideDefaultCursor=!1,u&&u.length&&this._applyMixins(u),this._cursors=Object.assign({},this.initialConfiguration.cursors);var h=this.defaultStrategy&&this._cursors[this.activeStrategy];h&&(this.svgCursor=h)}return l()(e,[{key:"mergeOptions",value:function(e){this._options=Object.assign({},this._options,e)}},{key:"clearOptions",value:function(){this._options={}}},{key:"applyActiveStrategy",value:function(e,t){return this.strategies[this.activeStrategy].call(this,e,t)}},{key:"_applyMixins",value:function(e){for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:{};return r()(this,t),a.configuration||(a.configuration={alwaysEraseOnClick:!1}),(n=u()(this,h()(t).call(this,e,a))).updateOnMouseMove=!0,n.hideDefaultCursor=!0,n._drawing=!1,n._drawingMouseUpCallback=n._drawingMouseUpCallback.bind(wa()(n)),n}return g()(t,e),l()(t,[{key:"renderBrush",value:function(e){throw new Error("Method renderBrush not implemented for ".concat(this.name,"."))}},{key:"_paint",value:function(e){throw new Error("Method _paint not implemented for ".concat(this.name,"."))}},{key:"mouseDragCallback",value:function(e){var t=e.detail.currentPoints;this._lastImageCoords=t.image,this._drawing&&this._paint(e)}},{key:"preMouseDownCallback",value:function(e){var t=e.detail,n=t.element,a=t.currentPoints;return this._startPainting(e),this._lastImageCoords=a.image,this._drawing=!0,this._startListeningForMouseUp(n),this._paint(e),!0}},{key:"_startPainting",value:function(e){var t=e.detail,n=t.element,a=Sa.configuration,o=Sa.getters.labelmap2D(n),i=o.labelmap2D,r=o.labelmap3D,s=o.currentImageIdIndex,l=o.activeLabelmapIndex,c=this._isCtrlDown(t)||this.configuration.alwaysEraseOnClick;if(this.paintEventData={labelmap2D:i,labelmap3D:r,currentImageIdIndex:s,activeLabelmapIndex:l,shouldErase:c},a.storeHistory){var u=i.pixelData.slice();this.paintEventData.previousPixelData=u}}},{key:"_endPainting",value:function(e){for(var t=Sa.configuration,n=Sa.setters,a=this.paintEventData,o=a.labelmap2D,i=a.currentImageIdIndex,r=new Set(o.pixelData).values(),s=[],l=!1;!l;){var c=r.next();(l=c.done)||s.push(c.value)}if(o.segmentsOnLabelmap=s,t.storeHistory){var u={imageIdIndex:i,diff:Le(this.paintEventData.previousPixelData,o.pixelData)};n.pushState(this.element,[u])}Oe(this.element)}},{key:"mouseMoveCallback",value:function(e){var t=e.detail.currentPoints;this._lastImageCoords=t.image}},{key:"renderToolData",value:function(e){var t=e.detail.element;Ia(t,this.name)&&this.renderBrush(e)}},{key:"passiveCallback",value:function(e){try{y.cornerstone.updateImage(this.element)}catch(e){return}}},{key:"_drawingMouseUpCallback",value:function(e){var t=e.detail.element;this._endPainting(e),this._drawing=!1,this._mouseUpRender=!0,this._stopListeningForMouseUp(t)}},{key:"newImageCallback",value:function(e){this._drawing&&(this._endPainting(e),this._startPainting(e))}},{key:"_startListeningForMouseUp",value:function(e){e.removeEventListener(b.MOUSE_UP,this._drawingMouseUpCallback),e.removeEventListener(b.MOUSE_CLICK,this._drawingMouseUpCallback),e.addEventListener(b.MOUSE_UP,this._drawingMouseUpCallback),e.addEventListener(b.MOUSE_CLICK,this._drawingMouseUpCallback),y.cornerstone.updateImage(e)}},{key:"_stopListeningForMouseUp",value:function(e){e.removeEventListener(b.MOUSE_UP,this._drawingMouseUpCallback),e.removeEventListener(b.MOUSE_CLICK,this._drawingMouseUpCallback),y.cornerstone.updateImage(e)}},{key:"increaseBrushSize",value:function(){var e=Sa.configuration,t=Sa.setters,n=e.radius,a=Math.floor(1.2*n);a===n&&(a+=1),t.radius(a)}},{key:"decreaseBrushSize",value:function(){var e=Sa.configuration,t=Sa.setters,n=e.radius,a=Math.floor(.8*n);t.radius(a)}},{key:"_isCtrlDown",value:function(e){return e.event&&e.event.ctrlKey||e.ctrlKey}}]),t}(ga),_a=function(e){return e.filter((function(e){return!(e.isMultiPartTool||e instanceof fo||e instanceof ka)}))};function Pa(e,t){var n,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mouse";if("touch"===a?n=(n=Ma(e,yt.touchTools())).filter((function(e){return e.options.isTouchActive})):(n=(n=Ma(e,yt.mouseTools())).filter((function(e){return Array.isArray(e.options.mouseButtonMask)&&t&&e.options.mouseButtonMask.includes(t)&&e.options.isMouseActive})),pt.isMultiPartToolActive&&(n=_a(n))),0!==n.length)return n[0]}var Da=N("manipulators:moveAllHandles"),Oa=Tt("manipulatorState"),La={mouse:[b.MOUSE_DRAG],touch:[b.TOUCH_DRAG]},Aa={mouse:[b.MOUSE_UP,b.MOUSE_CLICK],touch:[b.TOUCH_END,b.TOUCH_DRAG_END,b.TOUCH_PINCH,b.TOUCH_PRESS,b.TAP]},Ha=function(e,t,n,a){var o=e.element,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"mouse",s=arguments.length>6?arguments[6]:void 0;i=Object.assign({deleteIfHandleOutsideImage:pt.deleteIfHandleOutsideImage,preventHandleOutsideImage:pt.preventHandleOutsideImage},i);var l=Ra.bind(this,t,n,i,r),c=function e(a){Na(t,n,i,r,{dragHandler:l,upOrEndHandler:e},a,s)};Oa.setters.addActiveManipulatorForElement(o,Ua.bind(null,n,i,r,{dragHandler:l,upOrEndHandler:c},o,s)),n.active=!0,pt.isToolLocked=!0,La[r].forEach((function(e){o.addEventListener(e,l)})),Aa[r].forEach((function(e){o.addEventListener(e,c)}))};function Ra(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,i=o.detail,r=i.element,s=i.image,l=i.buttons,c=o.detail.deltaPoints.image,u=c.x,d=c.y;t.active=!0,t.invalidated=!0;for(var h=Object.keys(t.handles),v=0;v1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0,o=a.dragHandler,i=a.upOrEndHandler,r=arguments.length>4?arguments[4]:void 0,s=arguments.length>5?arguments[5]:void 0;Fa(e,t,n,{dragHandler:o,upOrEndHandler:i},r,s,!1)}function Na(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,i=o.dragHandler,r=o.upOrEndHandler,s=arguments.length>5?arguments[5]:void 0,l=arguments.length>6?arguments[6]:void 0,c=s.detail,u=c.element;Oa.setters.removeActiveManipulatorForElement(u),n.deleteIfHandleOutsideImage&&ba(c,t.handles)&&L(u,e,t),Fa(t,n,a,{dragHandler:i,upOrEndHandler:r},u,l,!0)}function Fa(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0,o=a.dragHandler,i=a.upOrEndHandler,r=arguments.length>4?arguments[4]:void 0,s=arguments.length>5?arguments[5]:void 0,l=!(arguments.length>6&&void 0!==arguments[6])||arguments[6];e.active=!1,e.invalidated=!0,pt.isToolLocked=!1,La[n].forEach((function(e){r.removeEventListener(e,o)})),Aa[n].forEach((function(e){r.removeEventListener(e,i)})),"function"==typeof t.doneMovingCallback&&(Da.warn("`options.doneMovingCallback` has been depricated. See https://github.com/cornerstonejs/cornerstoneTools/pull/915 for details."),t.doneMovingCallback(l)),"function"==typeof s&&s(l),y.cornerstone.updateImage(r)}var Ba=N("manipulators:moveHandle"),Va=Tt("manipulatorState"),qa={value:!1},ja={mouse:[b.MOUSE_DRAG],touch:[b.TOUCH_DRAG]},za={mouse:[b.MOUSE_UP,b.MOUSE_CLICK],touch:[b.TOUCH_END,b.TOUCH_DRAG_END,b.TOUCH_PINCH,b.TOUCH_PRESS,b.TAP]},Wa=function(e,t,n,a){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"mouse",r=arguments.length>6?arguments[6]:void 0;o=Object.assign({deleteIfHandleOutsideImage:pt.deleteIfHandleOutsideImage,preventHandleOutsideImage:pt.preventHandleOutsideImage},o);var s=e.element,l=Ga.bind(this,t,n,a,o,i),c=function s(){Xa(t,e,n,a,o,i,{dragHandler:l,upOrEndHandler:s},r)};if(Va.setters.addActiveManipulatorForElement(s,Ya.bind(null,t,e,n,a,o,i,{dragHandler:l,upOrEndHandler:c},r)),a.active=!0,a.moving=!0,n.active=!0,pt.isToolLocked=!0,ja[i].forEach((function(e){s.addEventListener(e,l)})),za[i].forEach((function(e){s.addEventListener(e,c)})),"touch"===i){qa.value=!0;var u=y.cornerstone.getEnabledElement(s),d=Ca(e,i);Za(a,qa,u,d)}};function Ga(e,t,n,a,o,i){var r=i.detail,s=r.image,l=r.element,c=r.buttons,u=Ca(i.detail,o);qa.value=!1,n.active=!0,n.hasMoved=!0,n.x=u.x,n.y=u.y,t.invalidated=!0,a.preventHandleOutsideImage&&Mn(n,s),y.cornerstone.updateImage(l);var d=Pa(l,c,o);d instanceof fo&&d.updateCachedStats(s,l,t),C(l,b.MEASUREMENT_MODIFIED,{toolName:e,toolType:e,element:l,measurementData:t})}function Ya(e,t,n,a){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},i=arguments.length>5?arguments[5]:void 0,r=arguments.length>6?arguments[6]:void 0,s=r.dragHandler,l=r.upOrEndHandler,c=arguments.length>7?arguments[7]:void 0;Ka(e,t,n,a,o,i,{dragHandler:s,upOrEndHandler:l},c,!1)}function Xa(e,t,n,a){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},i=arguments.length>5?arguments[5]:void 0,r=arguments.length>6?arguments[6]:void 0,s=r.dragHandler,l=r.upOrEndHandler,c=arguments.length>7?arguments[7]:void 0,u=t.element;Va.setters.removeActiveManipulatorForElement(u),Ka(e,t,n,a,o,i,{dragHandler:s,upOrEndHandler:l},c,!0)}function Ka(e,t,n,a){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},i=arguments.length>5?arguments[5]:void 0,r=arguments.length>6?arguments[6]:void 0,s=r.dragHandler,l=r.upOrEndHandler,c=arguments.length>7?arguments[7]:void 0,u=!(arguments.length>8&&void 0!==arguments[8])||arguments[8],d=t.element;a.active=!1,a.moving=!1,n.active=!1,n.invalidated=!0,qa.value=!1,pt.isToolLocked=!1,ja[i].forEach((function(e){d.removeEventListener(e,s)})),za[i].forEach((function(e){d.removeEventListener(e,l)})),o.deleteIfHandleOutsideImage&&ba(t,n.handles)&&L(d,e,n),"function"==typeof o.doneMovingCallback&&(Ba.warn("`options.doneMovingCallback` has been depricated. See https://github.com/cornerstonejs/cornerstoneTools/pull/915 for details."),o.doneMovingCallback(u)),"function"==typeof c&&c(u),y.cornerstone.updateImage(d)}function Za(e,t,n,a){if(t.value){var o=Math.abs(e.y-a.y),i=o/10;if(o<1)return e.y=a.y,void(t.value=!1);e.y>a.y?e.y-=i:e.y5&&void 0!==arguments[5]?arguments[5]:"mouse",r=arguments.length>6?arguments[6]:void 0;(o=Object.assign({deleteIfHandleOutsideImage:pt.deleteIfHandleOutsideImage,preventHandleOutsideImage:pt.preventHandleOutsideImage},o)).hasMoved=!1;var s=e.element;function l(e){no(t,n,a,o,i,e)}function c(e){oo(t,n,a,o,i,{moveHandler:l,moveEndHandler:c},e,r)}n.active=!0,a.moving=!0,a.active=!0,pt.isToolLocked=!0,Qa[i].forEach((function(e){s.addEventListener(e,l)})),s.addEventListener(b.TOUCH_START,ro),eo[i].forEach((function(e){s.addEventListener(e,c)})),Ja.setters.addActiveManipulatorForElement(s,io.bind(null,n,a,o,i,{moveHandler:l,moveEndHandler:c},s,r))};function no(e,t,n,a,o,i){var r=i.detail,s=r.image,l=r.element,c=r.buttons,u=Ca(i.detail,o);a.hasMoved=!0,t.invalidated=!0,n.active=!0,n.x=u.x,n.y=u.y,a&&a.preventHandleOutsideImage&&Mn(n,s),y.cornerstone.updateImage(l);var d=Pa(l,c,o);d instanceof fo&&d.updateCachedStats(s,l,t),C(l,b.MEASUREMENT_MODIFIED,{toolName:e,toolType:e,element:l,measurementData:t})}function ao(e,t,n,a,o){var i=a.moveHandler,r=a.moveEndHandler,s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];Qa[e].forEach((function(e){n.removeEventListener(e,i)})),eo[e].forEach((function(e){n.removeEventListener(e,r)})),n.removeEventListener(b.TOUCH_START,ro),pt.isToolLocked=!1,"function"==typeof o&&o(s),"function"==typeof t.doneMovingCallback&&($a.warn("`options.doneMovingCallback` has been depricated. See https://github.com/cornerstonejs/cornerstoneTools/pull/915 for details."),t.doneMovingCallback(s)),y.cornerstone.updateImage(n)}function oo(e,t,n,a,o,i,r,s){var l=i.moveHandler,c=i.moveEndHandler,u=r.detail,d=u.element,h=!0;if(!1!==a.hasMoved){var v=Ca(u,o);t.active=!1,t.invalidated=!0,n.active=!1,n.moving=!1,n.x=v.x,n.y=v.y,Ja.setters.removeActiveManipulatorForElement(d),a.preventHandleOutsideImage&&Mn(n,r.detail.image),a.deleteIfHandleOutsideImage&&ba(r.detail,t.handles)&&(t.cancelled=!0,h=!1,L(d,e,t)),ao(o,a,d,{moveHandler:l,moveEndHandler:c},s,h)}}function io(e,t,n,a,o,i,r){var s=o.moveHandler,l=o.moveEndHandler;e.active=!1,e.invalidated=!0,t.active=!1,ao(a,n,i,{moveHandler:s,moveEndHandler:l},r,!1)}function ro(e){return e.stopImmediatePropagation(),!1}function so(e,t){var n=pt.clickProximity,a=pt.touchProximity,o=pt.tools.find((function(e){return e.name===t}));return o&&o.configuration&&(n=o.configuration.clickProximity||n,a=o.configuration.touchProximity||a),"mouse"===e?n:a}function lo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function co(e){for(var t=1;t4&&void 0!==arguments[4]?arguments[4]:"mouse",i=0;i3&&void 0!==arguments[3]?arguments[3]:"mouse";n.active=!0,pt.isToolLocked=!0,Ha(e.detail,t.name,n,null,t.options,a,(function(){n.active=!1,pt.isToolLocked=!1})),e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault()},go=N("baseAnnotationTool"),fo=function(e){function t(){return r()(this,t),u()(this,h()(t).apply(this,arguments))}return g()(t,e),l()(t,[{key:"createNewMeasurement",value:function(e){throw new Error("Method createNewMeasurement not implemented for ".concat(this.name,"."))}},{key:"pointNearTool",value:function(e,t,n){arguments.length>3&&void 0!==arguments[3]&&arguments[3];throw new Error("Method pointNearTool not implemented for ".concat(this.name,"."))}},{key:"distanceFromPoint",value:function(e,t,n){throw new Error("Method distanceFromPoint not implemented for ".concat(this.name,"."))}},{key:"renderToolData",value:function(e){throw new Error("renderToolData not implemented for ".concat(this.name,"."))}},{key:"mouseMoveCallback",value:function(e){for(var t=e.detail,n=t.element,a=t.currentPoints.canvas,o=O(n,this.name),i=!1,r=0;r3&&void 0!==arguments[3]?arguments[3]:"mouse";uo(e,this,t,n,a)}},{key:"toolSelectedCallback",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mouse";vo(e,this,t,n)}},{key:"updateCachedStats",value:function(e,t,n){go.warn("updateCachedStats not implemented for ".concat(this.name,"."))}}]),t}(ga),mo=function(e,t,n,a){var o=y.cornerstone,i={start:o.pixelToCanvas(e,t),end:o.pixelToCanvas(e,n)};return y.cornerstoneMath.lineSegment.distanceToPoint(i,a)},po=function(e,t){var n=Math.pow(10,t);return Math.round(e*n)/n},yo=xt.cursor,xo=function(){function e(t,n){r()(this,e),this.iconGroupString=t,this.options=Object.assign({},yo.getters.defaultOptions(),n)}return l()(e,[{key:"getIconSVG",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._generateIconSVGString(e);return new Blob([t],{type:"image/svg+xml"})}},{key:"getIconSVGString",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._generateIconSVGString(e)}},{key:"getIconWithPointerSVG",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this._generateIconWithPointerSVGString(e);return new Blob([t],{type:"image/svg+xml"})}},{key:"getIconWithPointerString",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._generateIconWithPointerSVGString(e)}},{key:"_generateIconWithPointerSVGString",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign({},this.options,e),n=t.mousePointerGroupString,a=t.iconSize,o=t.viewBox,i=a/Math.max(o.x,o.y),r=16+a,s='\n \n \n ').concat(n,'\n \n \n ').concat(this.iconGroupString,"\n \n ");return this._injectColors(s,t)}},{key:"_generateIconSVGString",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign({},this.options,e),n=t.iconSize,a=t.viewBox,o='\n \n ').concat(this.iconGroupString,"\n ");return this._injectColors(o,t)}},{key:"_injectColors",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.activeColor||un.getActiveColor(),a=t.toolColor||un.getToolColor(),o=t.fillColor||un.getFillColor();return e.replace(/ACTIVE_COLOR/g,"".concat(n)).replace(/TOOL_COLOR/g,"".concat(a)).replace(/FILL_COLOR/g,"".concat(o))}},{key:"mousePoint",get:function(){var e=this.options.mousePoint;return"".concat(e.x," ").concat(e.y)}}]),e}(),To=new xo('',{viewBox:{x:1792,y:1792}}),bo=new xo('\n \n ',{viewBox:{x:24,y:24}}),Co=new xo('\n \n \n \n \n \n \n ',{viewBox:{x:48,y:48}}),Mo=new xo('\n \n \n \n \n ',{viewBox:{x:32,y:32}}),Eo=new xo('',{viewBox:{x:32,y:32}}),wo=new xo('',{viewBox:{x:32,y:32}}),Io=new xo('\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ',{viewBox:{x:18,y:18}}),So=new xo('\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ',{viewBox:{x:18,y:18}}),ko=new xo('\n \n ',{viewBox:{x:24,y:24}}),_o=new xo('',{viewBox:{x:1792,y:1792}}),Po=new xo('',{viewBox:{x:1792,y:1792}}),Do=new xo('',{viewBox:{x:1792,y:1792}}),Oo=new xo('',{viewBox:{x:1792,y:1792}}),Lo=new xo('',{viewBox:{x:2048,y:1792}}),Ao=new xo('',{viewBox:{x:512,y:512}}),Ho=new xo('',{viewBox:{x:1792,y:1792}}),Ro=new xo('',{viewBox:{x:1792,y:1792}}),Uo=new xo('',{viewBox:{x:24,y:28}}),No=new xo('',{viewBox:{x:1792,y:1792}}),Fo=new xo('\n ',{viewBox:{x:18,y:18}}),Bo=new xo('\n ',{viewBox:{x:640,y:512}}),Vo={x:127,y:60},qo=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"ACTIVE_COLOR";return'')},jo=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"ACTIVE_COLOR";return'\n ')},zo='',Wo='',Go='',Yo=new xo("".concat(zo," ").concat(qo()),{viewBox:Vo}),Xo=new xo("".concat(zo," ").concat(jo()),{viewBox:Vo}),Ko=new xo("".concat(zo," ").concat(qo()),{viewBox:Vo}),Zo=new xo("".concat(zo," ").concat(jo()),{viewBox:Vo}),$o=new xo("".concat(Wo," ").concat(qo()),{viewBox:Vo}),Jo=new xo("".concat(Wo," ").concat(jo()),{viewBox:Vo}),Qo=new xo("".concat(Wo," ").concat(qo()),{viewBox:Vo}),ei=new xo("".concat(Wo," ").concat(jo()),{viewBox:Vo}),ti=new xo("".concat(Go," ").concat(qo()),{viewBox:Vo}),ni=new xo("".concat(Go," ").concat(jo()),{viewBox:Vo}),ai=new xo("".concat(Go," ").concat(qo()),{viewBox:Vo}),oi=new xo("".concat(Go," ").concat(jo()),{viewBox:Vo});function ii(e){var t=y.cornerstone.metaData.get("imagePlaneModule",e.imageId);return t?{rowPixelSpacing:t.rowPixelSpacing||t.rowImagePixelSpacing,colPixelSpacing:t.columnPixelSpacing||t.colImagePixelSpacing}:{rowPixelSpacing:e.rowPixelSpacing,colPixelSpacing:e.columnPixelSpacing}}var ri=function(e){var t=T()(e);return null!==e&&("object"===t||"function"===t)};var si=function(e,t,n){var a,o,i,r,s,l,c=0,u=!1,d=!1,h=!0,v=!t&&0!==t&&"function"==typeof window.requestAnimationFrame;if("function"!=typeof e)throw new TypeError("Expected a function");function g(t){var n=a,i=o;return a=o=void 0,c=t,r=e.apply(i,n)}function f(e,t){return v?window.requestAnimationFrame(e):setTimeout(e,t)}function m(e){return c=e,s=f(y,t),u?g(e):r}function p(e){var n=e-l;return void 0===l||n>=t||n<0||d&&e-c>=i}function y(){var e=Date.now();if(p(e))return x(e);s=f(y,function(e){var n=e-c,a=t-(e-l);return d?Math.min(a,i-n):a}(e))}function x(e){return s=void 0,h&&a?g(e):(a=o=void 0,r)}function T(){for(var e=Date.now(),n=p(e),i=arguments.length,c=new Array(i),u=0;u0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"Angle",supportedInteractionTypes:["Mouse","Touch"],svgCursor:To,configuration:{drawHandles:!0,drawHandlesOnHover:!1,hideHandlesIfMoving:!1,renderDashed:!1}};return(e=u()(this,h()(t).call(this,n,a))).preventNewMeasurement=!1,e.throttledUpdateCachedStats=li(e.updateCachedStats,110),e}return g()(t,e),l()(t,[{key:"createNewMeasurement",value:function(e){return{visible:!0,active:!0,color:void 0,invalidated:!0,handles:{start:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!1},middle:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!0},end:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!1},textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}}}},{key:"pointNearTool",value:function(e,t,n){return!1!==t.visible&&(mo(e,t.handles.start,t.handles.middle,n)<25||mo(e,t.handles.middle,t.handles.end,n)<25)}},{key:"updateCachedStats",value:function(e,t,n){var a=di(e,n.handles.middle,n.handles.start),o=di(e,n.handles.end,n.handles.middle),i=di(e,n.handles.end,n.handles.start),r=ui(a),s=ui(o),l=ui(i),c=Math.acos((Math.pow(r,2)+Math.pow(s,2)-Math.pow(l,2))/(2*r*s));c*=180/Math.PI,n.rAngle=po(c,2),n.invalidated=!1}},{key:"renderToolData",value:function(e){var t=this,n=e.detail,a=n.enabledElement,o=this.configuration,i=o.handleRadius,r=o.drawHandlesOnHover,s=o.hideHandlesIfMoving,l=o.renderDashed,c=O(e.currentTarget,this.name),u=Tt("globalConfiguration").configuration.lineDash;if(c)for(var d=_n(n.canvasContext.canvas),h=n.image,v=n.element,g=ii(h),f=g.rowPixelSpacing,m=g.colPixelSpacing,p=Xt.getToolWidth(),x=function(e){var o=c.data[e];if(!1===o.visible)return"continue";Wt(d,(function(e){Dn(e,t.configuration);var c=un.getColorIfActive(o),d=y.cornerstone.pixelToCanvas(n.element,o.handles.start),g=y.cornerstone.pixelToCanvas(n.element,o.handles.middle),x={color:c};l&&(x.lineDash=u),$t(e,n.element,o.handles.start,[o.handles.middle,o.handles.end],x);var T={color:c,handleRadius:i,drawHandlesIfActive:r,hideHandlesIfMoving:s};if(t.configuration.drawHandles&&dn(e,n,o.handles,T),!0===o.invalidated&&(o.rAngle?t.throttledUpdateCachedStats(h,v,o):t.updateCachedStats(h,v,o)),o.rAngle){var C,M=function(e,t,n){var a=t&&n?"":" (isotropic)";return e.rAngle.toString()+String.fromCharCode(parseInt("00B0",16))+a}(o,f,m);if(!o.handles.textBox.hasMoved){C={x:g.x,y:g.y};var E=Tn(e,M,5);g.x0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"ArrowAnnotate",supportedInteractionTypes:["Mouse","Touch"],configuration:{getTextCallback:vi,changeTextCallback:gi,drawHandles:!0,drawHandlesOnHover:!1,hideHandlesIfMoving:!1,arrowFirst:!0,renderDashed:!1,allowEmptyLabel:!1},svgCursor:bo};return(e=u()(this,h()(t).call(this,n,a))).preventNewMeasurement=!1,e}return g()(t,e),l()(t,[{key:"createNewMeasurement",value:function(e){return{visible:!0,active:!0,color:void 0,handles:{start:{x:e.detail.currentPoints.image.x,y:e.detail.currentPoints.image.y,highlight:!0,active:!1},end:{x:e.detail.currentPoints.image.x,y:e.detail.currentPoints.image.y,highlight:!0,active:!1},textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}}}},{key:"pointNearTool",value:function(e,t,n){return!1!==t.visible&&mo(e,t.handles.start,t.handles.end,n)<25}},{key:"updateCachedStats",value:function(){}},{key:"renderToolData",value:function(e){var t=this,n=e.detail,a=n.element,o=n.enabledElement,i=this.configuration,r=i.handleRadius,s=i.drawHandlesOnHover,l=i.hideHandlesIfMoving,c=i.renderDashed,u=O(a,this.name);if(u){var d,h=e.detail.canvasContext.canvas,v=_n(h),g=Xt.getToolWidth();c&&(d=Tt("globalConfiguration").configuration.lineDash);for(var f=function(n){var i=u.data[n];if(!1===i.visible)return"continue";Wt(v,(function(n){Dn(n,t.configuration);var c=un.getColorIfActive(i),u=y.cornerstone.pixelToCanvas(a,i.handles.start),h=y.cornerstone.pixelToCanvas(a,i.handles.end);t.configuration.arrowFirst?Jt(n,h,u,c,g,d):Jt(n,u,h,c,g,d);var v={color:c,handleRadius:r,drawHandlesIfActive:s,hideHandlesIfMoving:l};t.configuration.drawHandles&&dn(n,e.detail,i.handles,v);var f=function(e){return e.text}(i);if(f&&""!==f){var m=Tn(n,f,5),x=pn.getFontSize()+10,T=Math.max(m,x)/2+5;if(h.x3&&void 0!==arguments[3]?arguments[3]:{};return Object.assign({x:e,y:t,index:n,drawnIndependently:!1,allowedOutsideImage:!1,highlight:!0,active:!1},a)},mi=function(e){var t=e.currentPoints.image,n=t.x,a=t.y;return{toolName:this.name,toolType:this.name,isCreating:!0,visible:!0,active:!0,invalidated:!0,handles:{start:fi(n,a,0),end:fi(n,a,1,{active:!0}),perpendicularStart:fi(n,a,2,{locked:!0}),perpendicularEnd:fi(n,a,3),textBox:fi(n-50,a-70,null,{highlight:!1,hasMoved:!0,active:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0})},longestDiameter:0,shortestDiameter:0}},pi=function(e,t,n,a){var o=y.cornerstone,i=y.cornerstoneMath,r={start:o.pixelToCanvas(e,t.perpendicularStart),end:o.pixelToCanvas(e,t.perpendicularEnd)};return i.lineSegment.distanceToPoint(r,n)3&&void 0!==arguments[3]?arguments[3]:"mouse",o=y.cornerstone,i=y.cornerstoneMath,r=t.handles,s={start:o.pixelToCanvas(e,r.start),end:o.pixelToCanvas(e,r.end)},l=i.lineSegment.distanceToPoint(s,n);if(fa(r.textBox,n))return!0;var c=so(a,"Bidirectional");return!!pi(e,r,n,c)||l3&&void 0!==arguments[3]?arguments[3]:6,o=pa(e,t,n,a),i=!1;return Object.keys(t).forEach((function(e){if("textBox"!==e){var n=t[e],a=n===o;n.active!==a&&(i=!0),n.active=a}})),i}(a,s.handles,r);Object.keys(s.handles).forEach((function(e){if("textBox"!==e){var t=s.handles[e];t.hover=t.active}})),l&&(i=!0);var c=t.pointNearTool(a,s,r,"mouse"),u=c&&!s.active,d=!c&&s.active;(u||d)&&(s.active=!s.active,i=!0)},s=0;s3&&void 0!==arguments[3]?arguments[3]:"mouse";"touch"===a?this.handleSelectedTouchCallback(e):this.handleSelectedMouseCallback(e)};function _i(e,t,n,a){var o=(n.x-a.x)/t,i=(n.y-a.y)/e;return Math.sqrt(o*o+i*i)}function Pi(e,t){return{start:e,end:t}}function Di(e,t,n){var a=y.cornerstoneMath.lineSegment,o=e.handles,i=o.start,r=o.end,s=o.perpendicularStart,l=o.perpendicularEnd,c=t.image,u=c.columnPixelSpacing,d=void 0===u?1:u,h=c.rowPixelSpacing,v=void 0===h?1:h,g=Pi(i,r),f=Pi(s,l),m=a.intersectLine(g,f);return{columnPixelSpacing:d,rowPixelSpacing:v,start:i,end:r,perpendicularStart:s,perpendicularEnd:l,longLine:g,intersection:m,distanceToFixed:_i(d,v,n,m),fixedPoint:n}}function Oi(e,t,n,a){var o=Di(t,n,a),i=o.columnPixelSpacing,r=o.rowPixelSpacing,s=o.distanceToFixed,l=_i(i,r,a,e);if(l<=s)return!1;var c=s/l,u=function(e,t){var n=e.columnPixelSpacing,a=e.rowPixelSpacing,o=e.start,i=e.perpendicularStart,r=e.perpendicularEnd,s=e.intersection,l=e.fixedPoint,c=_i(n,a,i,s),u=_i(n,a,r,s),d=xi(n,a,l,t),h=l===o?1:-1,v=h*a,g=h*n;return{start:{x:t.x+d.y*c*v,y:t.y+d.x*c*g*-1},end:{x:t.x+d.y*u*v*-1,y:t.y+d.x*u*g}}}(o,{x:a.x+(e.x-a.x)*c,y:a.y+(e.y-a.y)*c});return t.handles.perpendicularStart.x=u.start.x,t.handles.perpendicularStart.y=u.start.y,t.handles.perpendicularEnd.x=u.end.x,t.handles.perpendicularEnd.y=u.end.y,!0}function Li(e,t){return e===t}function Ai(e,t){return Li(e,t)?-1:1}function Hi(e,t,n,a){var o,i=e.columnPixelSpacing,r=e.rowPixelSpacing,s=e.fixedPoint,l=e.perpendicularStart,c=e.perpendicularEnd,u=e.distanceToFixed,d=Ai(s,c)*u,h=function(e,t,n){return Li(e,n)?t:n}(s,l,c)===l,v=h?"start":"end",g=h?"end":"start";return o={},Ta()(o,v,{x:n.start.x,y:n.start.y}),Ta()(o,g,{x:t.x+a.y*r*d,y:t.y+a.x*i*d*-1}),o}function Ri(e,t,n,a){var o=y.cornerstoneMath.lineSegment,i=Di(t,n,a),r=i.columnPixelSpacing,s=i.rowPixelSpacing,l=i.start,c=i.longLine,u=i.intersection;if(!function(e,t,n){return 0!==_i(e,t,n.start,n.end)}(r,s,c))return!1;var d=xi(r,s,l,u),h=function(e,t,n){var a=e.columnPixelSpacing,o=e.rowPixelSpacing,i=e.perpendicularEnd,r=e.fixedPoint,s=Number.MAX_SAFE_INTEGER,l=Ai(r,i)*s;return{start:t,end:{x:t.x+n.y*o*l,y:t.y+n.x*a*l*-1}}}(i,e,d),v=o.intersectLine(c,h);if(!v)return!1;var g=Hi(i,v,h,d);return t.handles.perpendicularStart.x=g.start.x,t.handles.perpendicularStart.y=g.start.y,t.handles.perpendicularEnd.x=g.end.x,t.handles.perpendicularEnd.y=g.end.y,!0}var Ui=function(e,t,n,a){var o,i,r,s,l={},c={},u={x:t.currentPoints.image.x+a.x,y:t.currentPoints.image.y+a.y};0===e.index?Oi(u,n,t,n.handles.end)?(e.x=u.x,e.y=u.y):(t.currentPoints.image.x=e.x,t.currentPoints.image.y=e.y):1===e.index?Oi(u,n,t,n.handles.start)?(e.x=u.x,e.y=u.y):(t.currentPoints.image.x=e.x,t.currentPoints.image.y=e.y):2===e.index?(o=!1,l.start={x:n.handles.start.x,y:n.handles.start.y},l.end={x:n.handles.end.x,y:n.handles.end.y},c.start={x:n.handles.perpendicularEnd.x,y:n.handles.perpendicularEnd.y},c.end={x:u.x,y:u.y},(i=y.cornerstoneMath.lineSegment.intersectLine(l,c))||(c.end={x:n.handles.perpendicularStart.x,y:n.handles.perpendicularStart.y},i=y.cornerstoneMath.lineSegment.intersectLine(l,c),r=y.cornerstoneMath.point.distance(i,n.handles.start),s=y.cornerstoneMath.point.distance(i,n.handles.end),(!i||r<3||s<3)&&(o=!0)),!1,o||Ri(u,n,t,n.handles.perpendicularEnd)||(t.currentPoints.image.x=n.handles.perpendicularStart.x,t.currentPoints.image.y=n.handles.perpendicularStart.y)):3===e.index&&(o=!1,l.start={x:n.handles.start.x,y:n.handles.start.y},l.end={x:n.handles.end.x,y:n.handles.end.y},c.start={x:n.handles.perpendicularStart.x,y:n.handles.perpendicularStart.y},c.end={x:u.x,y:u.y},(i=y.cornerstoneMath.lineSegment.intersectLine(l,c))||(c.end={x:n.handles.perpendicularEnd.x,y:n.handles.perpendicularEnd.y},i=y.cornerstoneMath.lineSegment.intersectLine(l,c),r=y.cornerstoneMath.point.distance(i,n.handles.start),s=y.cornerstoneMath.point.distance(i,n.handles.end),(!i||r<3||s<3)&&(o=!0)),!1,o||Ri(u,n,t,n.handles.perpendicularStart)||(t.currentPoints.image.x=n.handles.perpendicularEnd.x,t.currentPoints.image.y=n.handles.perpendicularEnd.y))},Ni=function(e,t,n){var a=e[n],o=t[n];e[n]=o,t[n]=a},Fi=function(e,t){Ni(e,t,"x"),Ni(e,t,"y"),Ni(e,t,"moving"),Ni(e,t,"hover"),Ni(e,t,"active"),Ni(e,t,"selected")};var Bi=function(e){var t,n=this,a=e.detail,o=a.element,i=so("mouse",this.name),r=function(e){t.invalidated=!0,ba(a,t.handles)&&L(o,n.name,t),e&&(e.moving=!1,e.selected=!0),Et(n.element,n.svgCursor),y.cornerstone.updateImage(o),o.addEventListener(b.MOUSE_MOVE,n._moveCallback),o.addEventListener(b.TOUCH_START,n._moveCallback)},s=a.startPoints.canvas,l=O(e.currentTarget,this.name);if(l){for(var c=function(c){t=l.data[c];var u=[o,t.handles,s,i],d=pa.apply(void 0,u);if(d)return o.removeEventListener(b.MOUSE_MOVE,n._moveCallback),o.removeEventListener(b.TOUCH_START,n._moveCallback),t.active=!0,Vi(t.handles),d.moving=!0,(d=function(e,t,n){var a=e.image,o=a.rowPixelSpacing,i=a.columnPixelSpacing,r=t.handles,s=r.start,l=r.end,c=r.perpendicularStart,u=r.perpendicularEnd,d=(s.x-l.x)*(i||1),h=(s.y-l.y)*(o||1),v=Math.sqrt(d*d+h*h),g=(c.x-u.x)*(i||1),f=(c.y-u.y)*(o||1);return(Math.sqrt(g*g+f*f)||0)>v?(Fi(s,l),Fi(s,c),Fi(l,u),Object.values(r).find((function(e){return!0===e.moving}))):n}(a,t,d)).hasBoundingBox||wt(n.element),function(e,t,n,a,o,i){var r=e.element,s=e.image,l=e.buttons,c={x:a.x-e.currentPoints.image.x,y:a.y-e.currentPoints.image.y},u=function(e){var o=e.detail;a.hasMoved=!0,void 0===a.index||null===a.index?(a.x=o.currentPoints.image.x+c.x,a.y=o.currentPoints.image.y+c.y):Ui(a,o,n,c),i&&(a.x=Math.max(a.x,0),a.x=Math.min(a.x,o.image.width),a.y=Math.max(a.y,0),a.y=Math.min(a.y,o.image.height)),n.invalidated=!0,y.cornerstone.updateImage(r);var u=Pa(r,l,"mouse");u instanceof fo&&u.updateCachedStats(s,r,n);var d={toolName:t,toolType:t,element:r,measurementData:n};y.cornerstone.triggerEvent(r,b.MEASUREMENT_MODIFIED,d)};a.active=!0,a.moving=!0,pt.isToolLocked=!0,r.addEventListener(b.MOUSE_DRAG,u),r.addEventListener(b.TOUCH_DRAG,u);var d=y.cornerstone.getImage(r),h=function(){y.cornerstone.getImage(r).imageId!==d.imageId&&v()};r.addEventListener(y.cornerstone.EVENTS.IMAGE_RENDERED,h);var v=function e(){a.active=!1,pt.isToolLocked=!1,r.removeEventListener(y.cornerstone.EVENTS.IMAGE_RENDERED,h),r.removeEventListener(b.MOUSE_DRAG,u),r.removeEventListener(b.MOUSE_UP,e),r.removeEventListener(b.MOUSE_CLICK,e),r.removeEventListener(b.TOUCH_DRAG,u),r.removeEventListener(b.TOUCH_DRAG_END,e),r.removeEventListener(b.TAP,e),y.cornerstone.updateImage(r),"function"==typeof o&&o()};r.addEventListener(b.MOUSE_UP,v),r.addEventListener(b.MOUSE_CLICK,v),r.addEventListener(b.TOUCH_DRAG_END,v),r.addEventListener(b.TAP,v)}(a,n.name,t,d,(function(){return r(d)})),ji(e),{v:!0}},u=0;ud){var f=d;d=g,g=f}return{longestDiameter:d.toFixed(1),shortestDiameter:g.toFixed(1)}}(n,ii(e)),o=a.longestDiameter,i=a.shortestDiameter;n.longestDiameter=o,n.shortestDiameter=i,n.invalidated=!1}}}]),t}(fo),$i=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=y.cornerstone,o=a.metaData.get("patientStudyModule",e.imageId),i=a.metaData.get("generalSeriesModule",e.imageId);if(o&&i){var r=i.modality;if("PT"===r){var s=n?t:t*e.slope+e.intercept,l=o.patientWeight;if(l){var c=a.metaData.get("petIsotopeModule",e.imageId);if(c){var u=c.radiopharmaceuticalInfo,d=u.radiopharmaceuticalStartTime,h=u.radionuclideTotalDose,v=u.radionuclideHalfLife,g=i.seriesTime;if(d&&h&&v&&g){var f=Ji(g.fractionalSeconds||0)+g.seconds+60*g.minutes+60*g.hours*60,m=Ji(d.fractionalSeconds||0)+d.seconds+60*d.minutes+60*d.hours*60,p=f-m,x=h*Math.exp(-p*Math.log(2)/v),T=s*l/x*1e3;return T}}}}}};function Ji(e){return parseFloat(".".concat(e))}var Qi=function(e,t){var n=e.width/2,a=e.height/2;if(n<=0||a<=0)return!1;var o=e.left+n,i=e.top+a,r=t.x-o,s=t.y-i;return r*r/(n*n)+s*s/(a*a)<=1},er=function(e,t){for(var n=0,a=0,o=0,i=0,r=null,s=null,l=t.top;l=0&&e.rotation<90&&(i.x=e.hflip?n.left.x:n.right.x,i.y=o),e.rotation>=90&&e.rotation<180&&(i.x=a,i.y=e.vflip?n.bottom.y:n.top.y),e.rotation>=180&&e.rotation<270&&(i.x=e.hflip?n.right.x:n.left.x,i.y=o),e.rotation>=270&&e.rotation<360&&(i.x=a,i.y=e.vflip?n.top.y:n.bottom.y),i}var ar=function(e){var t=e.toString().split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),t.join(".")},or=N("tools:annotation:CircleRoiTool"),ir=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"CircleRoi",supportedInteractionTypes:["Mouse","Touch"],svgCursor:Eo,configuration:{renderDashed:!1,hideHandlesIfMoving:!1}};return(e=u()(this,h()(t).call(this,n,a))).throttledUpdateCachedStats=li(e.updateCachedStats,110),e}return g()(t,e),l()(t,[{key:"createNewMeasurement",value:function(e){if(e&&e.currentPoints&&e.currentPoints.image)return{visible:!0,active:!0,color:void 0,invalidated:!0,handles:{start:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!1},end:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!0},initialRotation:e.viewport.rotation,textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}};or.error("required eventData not supplied to tool ".concat(this.name,"'s createNewMeasurement"))}},{key:"pointNearTool",value:function(e,t,n,a){var o=t&&t.handles&&t.handles.start&&t.handles.end,i=y.cornerstoneMath.point.distance;if(o||or.warn("invalid parameters supplied to tool ".concat(this.name,"'s pointNearTool")),!o||!1===t.visible)return!1;var r="mouse"===a?15:25,s=y.cornerstone.pixelToCanvas(e,t.handles.start),l=y.cornerstone.pixelToCanvas(e,t.handles.end),c=i(s,n),u=i(s,l);return c>u-r/2&&c2&&void 0!==arguments[2]?arguments[2]:{},a=n.area,o=n.mean,i=n.stdDev,r=n.min,s=n.max,l=n.meanStdDevSUV,c=arguments.length>3?arguments[3]:void 0,u=arguments.length>4?arguments[4]:void 0,d=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},h=d.showMinMax||!1,v=[],g=[];if(!t){var f=l&&0!==l.mean,m=rr(c,d.showHounsfieldUnits),p="Mean: ".concat(ar(o.toFixed(2))," ").concat(m),y="Std Dev: ".concat(ar(i.toFixed(2))," ").concat(m);if(f){for(var x=" SUV: ",T="".concat(x).concat(ar(l.mean.toFixed(2))),b="".concat(x).concat(ar(l.stdDev.toFixed(2))),C=Math.floor(e.measureText("".concat(y," ")).width);e.measureText(p).width0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"CobbAngle",supportedInteractionTypes:["Mouse","Touch"],svgCursor:Mo,configuration:{drawHandles:!0,drawHandlesOnHover:!1,hideHandlesIfMoving:!1,renderDashed:!1}};return(e=u()(this,h()(t).call(this,n,a))).hasIncomplete=!1,e.throttledUpdateCachedStats=li(e.updateCachedStats,110),e}return g()(t,e),l()(t,[{key:"createNewMeasurement",value:function(e){return this.hasIncomplete=!0,{visible:!0,active:!0,color:void 0,invalidated:!0,complete:!1,value:"",handles:{start:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!1},end:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!0},start2:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!1,drawnIndependently:!0},end2:{x:e.currentPoints.image.x+1,y:e.currentPoints.image.y,highlight:!0,active:!1,drawnIndependently:!0},textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}}}},{key:"pointNearTool",value:function(e,t,n){if(!1===t.visible)return!1;if(this.hasIncomplete)return!1;var a=mo(e,t.handles.start,t.handles.end,n)<25,o=mo(e,t.handles.start2,t.handles.end2,n)<25;return a||o}},{key:"updateCachedStats",value:function(e,t,n){var a=ii(e),o=a.rowPixelSpacing,i=a.colPixelSpacing,r=(Math.ceil(n.handles.start.x)-Math.ceil(n.handles.end.x))*(i||1),s=(Math.ceil(n.handles.start.y)-Math.ceil(n.handles.end.y))*(o||1),l=(Math.ceil(n.handles.start2.x)-Math.ceil(n.handles.end2.x))*(i||1),c=(Math.ceil(n.handles.start2.y)-Math.ceil(n.handles.end2.y))*(o||1),u=Math.acos(Math.abs((r*l+s*c)/(Math.sqrt(r*r+s*s)*Math.sqrt(l*l+c*c))));u*=180/Math.PI,n.rAngle=po(u,2),n.invalidated=!1}},{key:"renderToolData",value:function(e){var t=this,n=e.detail,a=this.configuration,o=a.handleRadius,i=a.drawHandlesOnHover,r=a.hideHandlesIfMoving,s=a.renderDashed,l=O(e.currentTarget,this.name);if(l)for(var c=_n(n.canvasContext.canvas),u=Xt.getToolWidth(),d=Tt("globalConfiguration").configuration.lineDash,h=pn.getFont(),v=e.detail.element,g=ii(y.cornerstone.getEnabledElement(v).image),f=g.rowPixelSpacing,m=g.colPixelSpacing,p=function(e){var a=l.data[e];if(!1===a.visible)return"continue";a.value||(a.value=t.textBoxText(a,f,m)),Wt(c,(function(e){Dn(e,t.configuration);var l=un.getColorIfActive(a),c={color:l};s&&(c.lineDash=d),Zt(e,n.element,a.handles.start,a.handles.end,c),a.complete&&Zt(e,n.element,a.handles.start2,a.handles.end2,c);var v={color:l,handleRadius:o,drawHandlesIfActive:i,hideHandlesIfMoving:r};t.configuration.drawHandles&&dn(e,n,a.handles,v),e.fillStyle=l;var g=a.value;if(!a.handles.textBox.hasMoved){var f={x:(a.handles.start.x+a.handles.end.x)/2,y:(a.handles.start.y+a.handles.end.y)/2-10};e.font=h,a.handles.textBox.x=f.x,a.handles.textBox.y=f.y}Sn(e,n.element,a.handles.textBox,g,a.handles,T,l,u,0,!0)}))},x=0;x0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"EllipticalRoi",supportedInteractionTypes:["Mouse","Touch"],configuration:{drawHandlesOnHover:!1,hideHandlesIfMoving:!1,renderDashed:!1},svgCursor:wo};return(e=u()(this,h()(t).call(this,n,a))).throttledUpdateCachedStats=li(e.updateCachedStats,110),e}return g()(t,e),l()(t,[{key:"createNewMeasurement",value:function(e){if(e&&e.currentPoints&&e.currentPoints.image)return{visible:!0,active:!0,color:void 0,invalidated:!0,handles:{start:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!1},end:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!0},initialRotation:e.viewport.rotation,textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}};ur.error("required eventData not supplied to tool ".concat(this.name,"'s createNewMeasurement"))}},{key:"pointNearTool",value:function(e,t,n,a){var o=t&&t.handles&&t.handles.start&&t.handles.end;if(o||ur.warn("invalid parameters supplied to tool ".concat(this.name,"'s pointNearTool")),!o||!1===t.visible)return!1;if(pa(e,t.handles,n,6))return!0;var i="mouse"===a?15:25,r=y.cornerstone.pixelToCanvas(e,t.handles.start),s=y.cornerstone.pixelToCanvas(e,t.handles.end),l={left:Math.min(r.x,s.x)+i/2,top:Math.min(r.y,s.y)+i/2,width:Math.abs(r.x-s.x)-i,height:Math.abs(r.y-s.y)-i},c={left:Math.min(r.x,s.x)-i/2,top:Math.min(r.y,s.y)-i/2,width:Math.abs(r.x-s.x)+i,height:Math.abs(r.y-s.y)+i},u=Qi(l,n);return!(!Qi(c,n)||u)}},{key:"updateCachedStats",value:function(e,t,n){var a=(y.cornerstone.metaData.get("generalSeriesModule",e.imageId)||{}).modality,o=ii(e),i=function(e,t,n,a,o){var i,r=fr(n.start,n.end),s=y.cornerstone.getPixels(t,r.left,r.top,r.width,r.height),l=er(s,r);"PT"===a&&(i={mean:$i(e,l.mean,!0)||0,stdDev:$i(e,l.stdDev,!0)||0});return{area:Math.PI*(r.width*(o.colPixelSpacing||1)/2)*(r.height*(o.rowPixelSpacing||1)/2)||0,count:l.count||0,mean:l.mean||0,variance:l.variance||0,stdDev:l.stdDev||0,min:l.min||0,max:l.max||0,meanStdDevSUV:i}}(e,t,n.handles,a,o);n.cachedStats=i,n.invalidated=!1}},{key:"renderToolData",value:function(e){var t=this,n=O(e.currentTarget,this.name);if(n){var a=e.detail,o=a.image,i=a.element,r=Xt.getToolWidth(),s=Tt("globalConfiguration").configuration.lineDash,l=this.configuration,c=l.handleRadius,u=l.drawHandlesOnHover,d=l.hideHandlesIfMoving,h=l.renderDashed,v=_n(a.canvasContext.canvas),g=ii(o),f=g.rowPixelSpacing,m=g.colPixelSpacing,p=(y.cornerstone.metaData.get("generalSeriesModule",o.imageId)||{}).modality,x=f&&m;Wt(v,(function(e){for(var l=0;l2&&void 0!==arguments[2]?arguments[2]:{},a=n.area,o=n.mean,i=n.stdDev,r=n.min,s=n.max,l=n.meanStdDevSUV,c=arguments.length>3?arguments[3]:void 0,u=arguments.length>4?arguments[4]:void 0,d=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},h=d.showMinMax||!1,v=[],g=[];if(!t){var f=l&&0!==l.mean,m=hr(c,d.showHounsfieldUnits),p="Mean: ".concat(ar(o.toFixed(2))," ").concat(m),y="Std Dev: ".concat(ar(i.toFixed(2))," ").concat(m);if(f){for(var x=" SUV: ",T="".concat(x).concat(ar(l.mean.toFixed(2))),b="".concat(x).concat(ar(l.stdDev.toFixed(2))),C=Math.floor(e.measureText("".concat(y," ")).width);e.measureText(p).widthe.x&&n.x>e.x)return!0;if(t.x===n.x)return e.xn.x){var a=t;t=n,n=a}var o=function(e,t,n){var a=(n.y-t.y)/(n.x-t.x);return{value:t.y+a*(e.x-t.x),gradient:a}}(e,t,n);return Math.sign(o.gradient)*e.y>Math.sign(o.gradient)*o.value}(e,t,n));var a,o,i}function yr(e,t,n,a){mr(e,t)&&(n.value+=a,n.squared+=a*a,n.count++)}var xr=function e(t,n){r()(this,e),this.toolIndex=t,this.handleIndexArray=n},Tr=function e(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];r()(this,e),this.x=t.x,this.y=t.y,this.highlight=n,this.active=a,this.lines=[]};function br(e,t,n,a){for(var o=e.length-1,i=0;i0?1:2}function wr(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}var Ir={newHandle:function(e,t){var n=t.length-1;return br(t,Mr(t[n]),Mr(e),[n])},end:function(e){var t=e.length-1;return br(e,Mr(e[t]),Mr(e[0]),[t,0])},modify:function(e,t){var n=Mr(e[t]),a=t-1;0===t&&(a=e.length-1);var o=Mr(e[a]);return!!br(e,n,o,[t,a])||br(e,n,o=Mr(e[a=t===e.length-1?0:t+1]),[t,a])}},Sr=function(){function e(t,n){r()(this,e),this._eventData=t,this._toolName=n}return l()(e,[{key:"findLine",value:function(){var e=this.findTool();if(null===e)return null;var t=this._getCloseLinesInTool(e);return t?this._findCorrectLine(e,t):null}},{key:"findTool",value:function(){return this._toolData=O(this._eventData.element,this._toolName),this._mousePoint=this._eventData.currentPoints.canvas,this._toolData?this._nearestHandleToPointAllTools().toolIndex:null}},{key:"_nearestHandleToPointAllTools",value:function(){for(var e=this._toolData,t={toolIndex:null,handleIndex:null,distance:1/0},n=0;n0&&d0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"FreehandRoi",supportedInteractionTypes:["Mouse","Touch"],configuration:{mouseLocation:{handles:{start:{highlight:!0,active:!0}}},spacing:1,activeHandleRadius:3,completeHandleRadius:6,completeHandleRadiusTouch:28,alwaysShowHandles:!1,invalidColor:"crimson",currentHandle:0,currentTool:-1,drawHandles:!0,renderDashed:!1},svgCursor:Io};return(e=u()(this,h()(t).call(this,n,a))).isMultiPartTool=!0,e._drawing=!1,e._dragging=!1,e._modifying=!1,e._drawingMouseDownCallback=e._drawingMouseDownCallback.bind(wa()(e)),e._drawingMouseMoveCallback=e._drawingMouseMoveCallback.bind(wa()(e)),e._drawingMouseDragCallback=e._drawingMouseDragCallback.bind(wa()(e)),e._drawingMouseUpCallback=e._drawingMouseUpCallback.bind(wa()(e)),e._drawingMouseDoubleClickCallback=e._drawingMouseDoubleClickCallback.bind(wa()(e)),e._editMouseUpCallback=e._editMouseUpCallback.bind(wa()(e)),e._editMouseDragCallback=e._editMouseDragCallback.bind(wa()(e)),e._drawingTouchStartCallback=e._drawingTouchStartCallback.bind(wa()(e)),e._drawingTouchDragCallback=e._drawingTouchDragCallback.bind(wa()(e)),e._drawingDoubleTapClickCallback=e._drawingDoubleTapClickCallback.bind(wa()(e)),e._editTouchDragCallback=e._editTouchDragCallback.bind(wa()(e)),e.throttledUpdateCachedStats=li(e.updateCachedStats,110),e}return g()(t,e),l()(t,[{key:"createNewMeasurement",value:function(e){if(e&&e.currentPoints&&e.currentPoints.image){var t={visible:!0,active:!0,invalidated:!0,color:void 0,handles:{points:[]}};return t.handles.textBox={active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0},t}Or.error("required eventData not supplied to tool ".concat(this.name,"'s createNewMeasurement"))}},{key:"pointNearTool",value:function(e,t,n){var a=t&&t.handles&&t.handles.points;if(!a)throw new Error("invalid parameters supplied to tool ".concat(this.name,"'s pointNearTool"));return!(!a||!1===t.visible)&&void 0!==this._pointNearHandle(e,t,n)}},{key:"distanceFromPoint",value:function(e,t,n){for(var a=1/0,o=0;o3&&void 0!==arguments[3]?arguments[3]:"mouse",o=e.detail.element,i=O(o,this.name);if(n.hasBoundingBox)uo(e,this,t,n,a);else{var r=this.configuration;r.dragOrigin={x:n.x,y:n.y};for(var s=0;s=2){var o=n.currentHandle;a.polyBoundingBox={},this._endDrawing(e,o)}}}},{key:"_drawingMouseDoubleClickCallback",value:function(e){var t=e.detail.element;this.completeDrawing(t),Fr(e)}},{key:"_drawingDoubleTapClickCallback",value:function(e){var t=e.detail.element;this.completeDrawing(t),Fr(e)}},{key:"_editMouseDragCallback",value:function(e){var t=e.detail,n=t.element,a=t.buttons;if(this.options.mouseButtonMask.includes(a)){var o,i=O(n,this.name),r=this.configuration,s=i.data[r.currentTool],l=r.currentHandle,c=s.handles.points;if(this._getMouseLocation(t),s.handles.invalidHandlePlacement=Rr.modify(c,l),s.active=!0,s.highlight=!0,c[l].x=r.mouseLocation.handles.start.x,c[l].y=r.mouseLocation.handles.start.y,o=this._getPrevHandleIndex(l,c),l>=0){var u=c[o].lines.length-1,d=c[o].lines[u];d.x=r.mouseLocation.handles.start.x,d.y=r.mouseLocation.handles.start.y}y.cornerstone.updateImage(n)}}},{key:"_editTouchDragCallback",value:function(e){var t,n=e.detail,a=n.element,o=O(a,this.name),i=this.configuration,r=o.data[i.currentTool],s=i.currentHandle,l=r.handles.points;if(this._getMouseLocation(n),r.handles.invalidHandlePlacement=Rr.modify(l,s),r.active=!0,r.highlight=!0,l[s].x=i.mouseLocation.handles.start.x,l[s].y=i.mouseLocation.handles.start.y,t=this._getPrevHandleIndex(s,l),s>=0){var c=l[t].lines.length-1,u=l[t].lines[c];u.x=i.mouseLocation.handles.start.x,u.y=i.mouseLocation.handles.start.y}y.cornerstone.updateImage(a)}},{key:"_getPrevHandleIndex",value:function(e,t){return 0===e?t.length-1:e-1}},{key:"_editMouseUpCallback",value:function(e){var t=e.detail,n=t.element,a=O(n,this.name);this._deactivateModify(n),this._dropHandle(t,a),this._endDrawing(n),y.cornerstone.updateImage(n)}},{key:"_dropHandle",value:function(e,t){var n=this.configuration,a=n.currentTool,o=t.data[a].handles,i=o.points;if(o.invalidHandlePlacement){var r,s=n.currentHandle,l=i[s];if(0===s)r=i[i.length-1];else r=i[s-1];l.x=n.dragOrigin.x,l.y=n.dragOrigin.y,r.lines[0]=l,o.invalidHandlePlacement=!1}}},{key:"_startDrawing",value:function(e){var t,n=e.detail,a=this.createNewMeasurement(n),o=n.element,i=this.configuration;e.type===b.MOUSE_DOWN_ACTIVATE?t="Mouse":e.type===b.TOUCH_START_ACTIVE&&(t="Touch"),this._activateDraw(o,t),this._getMouseLocation(n),D(o,this.name,a);var r=O(o,this.name);i.currentTool=r.data.length-1,this._activeDrawingToolReference=r.data[i.currentTool]}},{key:"_addPoint",value:function(e){var t=e.currentPoints,n=e.element,a=O(n,this.name),o=this.configuration,i=a.data[o.currentTool];if(!i.handles.invalidHandlePlacement){var r=new Ur(t.image);i.handles.points.length&&i.handles.points[o.currentHandle-1].lines.push(t.image),i.handles.points.push(r),o.currentHandle+=1,y.cornerstone.updateImage(n),this.fireModifiedEvent(n,i)}}},{key:"_addPointPencilMode",value:function(e,t){var n=this,a=this.configuration,o=e.element,i=a.mouseLocation.handles.start;t.every((function(e){return n._isDistanceLargerThanSpacing(o,e,i)}))&&this._addPoint(e)}},{key:"_endDrawing",value:function(e,t){var n=O(e,this.name),a=this.configuration,o=n.data[a.currentTool];if(o.active=!1,o.highlight=!1,o.handles.invalidHandlePlacement=!1,void 0!==t){var i=o.handles.points;i[a.currentHandle-1].lines.push(i[0])}this._modifying&&(this._modifying=!1,o.invalidated=!0),a.currentHandle=0,a.currentTool=-1,o.canComplete=!1,this._drawing&&this._deactivateDraw(e),y.cornerstone.updateImage(e),this.fireModifiedEvent(e,o),this.fireCompletedEvent(e,o)}},{key:"_pointNearHandle",value:function(e,t,n){if(void 0!==t.handles&&void 0!==t.handles.points&&!1!==t.visible){for(var a=0;a2?(e.canComplete=!0,r=!1):r=Rr.newHandle(o,i),r}},{key:"_checkHandlesPencilMode",value:function(e,t){var n=this.configuration.mouseLocation.handles.start,a=e.handles.points,o=Rr.newHandle(n,a);return!1===o&&(o=this._invalidHandlePencilMode(e,t)),o}},{key:"_invalidHandlePencilMode",value:function(e,t){var n=this.configuration,a=t.element,o=n.mouseLocation.handles.start,i=e.handles.points;if(this._isDistanceSmallerThanCompleteSpacingCanvas(a,i[0],o))return e.canComplete=!0,!1;e.canComplete=!1;for(var r=1;r")}},{key:"_compareDistanceToSpacing",value:function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:">",o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.configuration.spacing;return">"===a?y.cornerstoneMath.point.distance(t,n)>o:y.cornerstoneMath.point.distance(t,n)1&&void 0!==arguments[1]?arguments[1]:"Mouse";this._drawing=!0,this._drawingInteractionType=t,pt.isMultiPartToolActive=!0,wt(this.element),e.addEventListener(b.MOUSE_DOWN,this._drawingMouseDownCallback),e.addEventListener(b.MOUSE_MOVE,this._drawingMouseMoveCallback),e.addEventListener(b.MOUSE_DOUBLE_CLICK,this._drawingMouseDoubleClickCallback),e.addEventListener(b.MOUSE_DRAG,this._drawingMouseDragCallback),e.addEventListener(b.MOUSE_UP,this._drawingMouseUpCallback),e.addEventListener(b.TOUCH_START,this._drawingMouseMoveCallback),e.addEventListener(b.TOUCH_START,this._drawingTouchStartCallback),e.addEventListener(b.TOUCH_DRAG,this._drawingTouchDragCallback),e.addEventListener(b.TOUCH_END,this._drawingMouseUpCallback),e.addEventListener(b.DOUBLE_TAP,this._drawingDoubleTapClickCallback),y.cornerstone.updateImage(e)}},{key:"_deactivateDraw",value:function(e){this._drawing=!1,pt.isMultiPartToolActive=!1,this._activeDrawingToolReference=null,this._drawingInteractionType=null,Et(this.element,this.svgCursor),e.removeEventListener(b.MOUSE_DOWN,this._drawingMouseDownCallback),e.removeEventListener(b.MOUSE_MOVE,this._drawingMouseMoveCallback),e.removeEventListener(b.MOUSE_DOUBLE_CLICK,this._drawingMouseDoubleClickCallback),e.removeEventListener(b.MOUSE_DRAG,this._drawingMouseDragCallback),e.removeEventListener(b.MOUSE_UP,this._drawingMouseUpCallback),e.removeEventListener(b.TOUCH_START,this._drawingTouchStartCallback),e.removeEventListener(b.TOUCH_DRAG,this._drawingTouchDragCallback),e.removeEventListener(b.TOUCH_START,this._drawingMouseMoveCallback),e.removeEventListener(b.TOUCH_END,this._drawingMouseUpCallback),y.cornerstone.updateImage(e)}},{key:"_activateModify",value:function(e){pt.isToolLocked=!0,e.addEventListener(b.MOUSE_UP,this._editMouseUpCallback),e.addEventListener(b.MOUSE_DRAG,this._editMouseDragCallback),e.addEventListener(b.MOUSE_CLICK,this._editMouseUpCallback),e.addEventListener(b.TOUCH_END,this._editMouseUpCallback),e.addEventListener(b.TOUCH_DRAG,this._editTouchDragCallback),y.cornerstone.updateImage(e)}},{key:"_deactivateModify",value:function(e){pt.isToolLocked=!1,e.removeEventListener(b.MOUSE_UP,this._editMouseUpCallback),e.removeEventListener(b.MOUSE_DRAG,this._editMouseDragCallback),e.removeEventListener(b.MOUSE_CLICK,this._editMouseUpCallback),e.removeEventListener(b.TOUCH_END,this._editMouseUpCallback),e.removeEventListener(b.TOUCH_DRAG,this._editTouchDragCallback),y.cornerstone.updateImage(e)}},{key:"passiveCallback",value:function(e){this._closeToolIfDrawing(e)}},{key:"enabledCallback",value:function(e){this._closeToolIfDrawing(e)}},{key:"disabledCallback",value:function(e){this._closeToolIfDrawing(e)}},{key:"_closeToolIfDrawing",value:function(e){if(this._drawing){var t=this.configuration.currentHandle;this._endDrawing(e,t),y.cornerstone.updateImage(e)}}},{key:"fireModifiedEvent",value:function(e,t){C(e,b.MEASUREMENT_MODIFIED,{toolName:this.name,toolType:this.name,element:e,measurementData:t})}},{key:"fireCompletedEvent",value:function(e,t){C(e,b.MEASUREMENT_COMPLETED,{toolName:this.name,toolType:this.name,element:e,measurementData:t})}},{key:"cancelDrawing",value:function(e){if(this._drawing){var t=O(e,this.name),n=this.configuration,a=t.data[n.currentTool];a.active=!1,a.highlight=!1,a.handles.invalidHandlePlacement=!1,n.currentHandle=0,n.currentTool=-1,a.canComplete=!1,L(e,this.name,a),this._deactivateDraw(e),y.cornerstone.updateImage(e)}}},{key:"newImageCallback",value:function(e){var t=this.configuration;if(this._drawing&&this._activeDrawingToolReference){var n=e.detail.element,a=this._activeDrawingToolReference;a.active=!1,a.highlight=!1,a.handles.invalidHandlePlacement=!1;var o=a.handles.points;o[t.currentHandle-1].lines.push(o[0]),t.currentHandle=0,t.currentTool=-1,a.canComplete=!1,this._deactivateDraw(n),y.cornerstone.updateImage(n)}}},{key:"spacing",get:function(){return this.configuration.spacing},set:function(e){if("number"!=typeof e)throw new Error("Attempting to set freehand spacing to a value other than a number.");this.configuration.spacing=e,y.cornerstone.updateImage(this.element)}},{key:"activeHandleRadius",get:function(){return this.configuration.activeHandleRadius},set:function(e){if("number"!=typeof e)throw new Error("Attempting to set freehand activeHandleRadius to a value other than a number.");this.configuration.activeHandleRadius=e,y.cornerstone.updateImage(this.element)}},{key:"completeHandleRadius",get:function(){return this.configuration.completeHandleRadius},set:function(e){if("number"!=typeof e)throw new Error("Attempting to set freehand completeHandleRadius to a value other than a number.");this.configuration.completeHandleRadius=e,y.cornerstone.updateImage(this.element)}},{key:"alwaysShowHandles",get:function(){return this.configuration.alwaysShowHandles},set:function(e){if("boolean"!=typeof e)throw new Error("Attempting to set freehand alwaysShowHandles to a value other than a boolean.");this.configuration.alwaysShowHandles=e,y.cornerstone.updateImage(this.element)}},{key:"invalidColor",get:function(){return this.configuration.invalidColor},set:function(e){this.configuration.invalidColor=e,y.cornerstone.updateImage(this.element)}}]),t}(fo);function Fr(e){e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault()}var Br=N("tools:annotation:LengthTool"),Vr=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"Length",supportedInteractionTypes:["Mouse","Touch"],svgCursor:ko,configuration:{drawHandles:!0,drawHandlesOnHover:!1,hideHandlesIfMoving:!1,renderDashed:!1,digits:2}};return(e=u()(this,h()(t).call(this,n,a))).throttledUpdateCachedStats=li(e.updateCachedStats,110),e}return g()(t,e),l()(t,[{key:"createNewMeasurement",value:function(e){if(e&&e.currentPoints&&e.currentPoints.image){var t=e.currentPoints.image,n=t.x,a=t.y;return{visible:!0,active:!0,color:void 0,invalidated:!0,handles:{start:{x:n,y:a,highlight:!0,active:!1},end:{x:n,y:a,highlight:!0,active:!0},textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}}}Br.error("required eventData not supplied to tool ".concat(this.name,"'s createNewMeasurement"))}},{key:"pointNearTool",value:function(e,t,n){return t&&t.handles&&t.handles.start&&t.handles.end?!1!==t.visible&&mo(e,t.handles.start,t.handles.end,n)<25:(Br.warn("invalid parameters supplied to tool ".concat(this.name,"'s pointNearTool")),!1)}},{key:"updateCachedStats",value:function(e,t,n){var a=ii(e),o=a.rowPixelSpacing,i=a.colPixelSpacing,r=(n.handles.end.x-n.handles.start.x)*(i||1),s=(n.handles.end.y-n.handles.start.y)*(o||1),l=Math.sqrt(r*r+s*s);n.length=l,n.invalidated=!1}},{key:"renderToolData",value:function(e){var t=this,n=e.detail,a=this.configuration,o=a.handleRadius,i=a.drawHandlesOnHover,r=a.hideHandlesIfMoving,s=a.renderDashed,l=a.digits,c=O(e.currentTarget,this.name);if(c)for(var u=_n(n.canvasContext.canvas),d=n.image,h=n.element,v=ii(d),g=v.rowPixelSpacing,f=v.colPixelSpacing,m=Xt.getToolWidth(),p=Tt("globalConfiguration").configuration.lineDash,y=function(e){var a=c.data[e];if(!1===a.visible)return"continue";Wt(u,(function(e){Dn(e,t.configuration);var c=un.getColorIfActive(a),u={color:c};s&&(u.lineDash=p),Zt(e,h,a.handles.start,a.handles.end,u);var v={color:c,handleRadius:o,drawHandlesIfActive:i,hideHandlesIfMoving:r};if(t.configuration.drawHandles&&dn(e,n,a.handles,v),!a.handles.textBox.hasMoved){var y={x:Math.max(a.handles.start.x,a.handles.end.x)};y.x===a.handles.start.x?y.y=a.handles.start.y:y.y=a.handles.end.y,a.handles.textBox.x=y.x,a.handles.textBox.y=y.y}!0===a.invalidated&&(a.length?t.throttledUpdateCachedStats(d,h,a):t.updateCachedStats(d,h,a));var x=function(e,t,n){var a=(o=e.length,i=Number(o),isNaN(i)?void 0:i);var o,i;if(!a)return"";var r="mm";t&&n||(r="pixels");return e.unit=r,"".concat(a.toFixed(l)," ").concat(r)}(a,g,f);Sn(e,h,a.handles.textBox,x,a.handles,T,c,m,10,!0)}))},x=0;x0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"Probe",supportedInteractionTypes:["Mouse","Touch"],svgCursor:_o,configuration:{drawHandles:!0,renderDashed:!1}};return(e=u()(this,h()(t).call(this,n,a))).throttledUpdateCachedStats=li(e.updateCachedStats,110),e}return g()(t,e),l()(t,[{key:"createNewMeasurement",value:function(e){if(e&&e.currentPoints&&e.currentPoints.image)return{visible:!0,active:!0,color:void 0,invalidated:!0,handles:{end:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!0}}};jr.error("required eventData not supplied to tool ".concat(this.name,"'s createNewMeasurement"))}},{key:"pointNearTool",value:function(e,t,n){var a=t&&t.handles&&t.handles.end;if(a||jr.warn("invalid parameters supplied to tool ".concat(this.name,"'s pointNearTool")),!a||!1===t.visible)return!1;var o=y.cornerstone.pixelToCanvas(e,t.handles.end);return y.cornerstoneMath.point.distance(o,n)<5}},{key:"updateCachedStats",value:function(e,t,n){var a=Math.round(n.handles.end.x),o=Math.round(n.handles.end.y),i={};a>=0&&o>=0&&a=0&&m>=0&&f0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"RectangleRoi",supportedInteractionTypes:["Mouse","Touch"],configuration:{drawHandles:!0,drawHandlesOnHover:!1,hideHandlesIfMoving:!1,renderDashed:!1},svgCursor:Po};return(e=u()(this,h()(t).call(this,n,a))).throttledUpdateCachedStats=li(e.updateCachedStats,110),e}return g()(t,e),l()(t,[{key:"createNewMeasurement",value:function(e){if(e&&e.currentPoints&&e.currentPoints.image)return{visible:!0,active:!0,color:void 0,invalidated:!0,handles:{start:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!1},end:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!0},initialRotation:e.viewport.rotation,textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}};Wr.error("required eventData not supplied to tool ".concat(this.name,"'s createNewMeasurement"))}},{key:"pointNearTool",value:function(e,t,n,a){var o=t&&t.handles&&t.handles.start&&t.handles.end;if(o||Wr.warn("invalid parameters supplied to tool ".concat(this.name,"'s pointNearTool")),!o||!1===t.visible)return!1;var i="mouse"===a?15:25,r=y.cornerstone.pixelToCanvas(e,t.handles.start),s=y.cornerstone.pixelToCanvas(e,t.handles.end),l={left:Math.min(r.x,s.x),top:Math.min(r.y,s.y),width:Math.abs(r.x-s.x),height:Math.abs(r.y-s.y)};return y.cornerstoneMath.rect.distanceToPoint(l,n)5&&void 0!==arguments[5]?arguments[5]:{},h=d.showMinMax||!1,v=[],g=[];if(!t){var f=u&&0!==u.mean,m=Kr(a,d.showHounsfieldUnits),p="Mean: ".concat(ar(r.toFixed(2))," ").concat(m),y="Std Dev: ".concat(ar(s.toFixed(2))," ").concat(m);if(f){for(var x=" SUV: ",T="".concat(x).concat(ar(u.mean.toFixed(2))),b="".concat(x).concat(ar(u.stdDev.toFixed(2))),C=Math.floor(e.measureText("".concat(y," ")).width);e.measureText(p).width0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"TextMarker",supportedInteractionTypes:["Mouse","Touch"],configuration:{markers:[],current:"",ascending:!0,loop:!1,changeTextCallback:Jr},svgCursor:Do};return(e=u()(this,h()(t).call(this,n,a))).touchPressCallback=e._changeText.bind(wa()(e)),e.doubleClickCallback=e._changeText.bind(wa()(e)),e}return g()(t,e),l()(t,[{key:"createNewMeasurement",value:function(e){var t=this.configuration;if(t.current){var n={visible:!0,active:!0,text:t.current,color:void 0,handles:{end:{x:e.currentPoints.image.x,y:e.currentPoints.image.y,highlight:!0,active:!0,hasBoundingBox:!0}}},a={left:0,top:0,width:e.image.width,height:e.image.height};if(y.cornerstoneMath.point.insideRect(n.handles.end,a)){var o=t.markers.indexOf(t.current);return(o+=t.ascending?1:-1)>=t.markers.length?o=t.loop?0:-1:o<0&&(o=t.loop?t.markers.length:-1),t.current=t.markers[o],n}}}},{key:"pointNearTool",value:function(e,t,n){if(!1===t.visible)return!1;if(t.handles.end.boundingBox){var a=y.cornerstoneMath.rect.distanceToPoint(t.handles.end.boundingBox,n),o=fa(t.handles.end,n);return a<10||o}}},{key:"updateCachedStats",value:function(){}},{key:"renderToolData",value:function(e){var t=e.detail,n=this.configuration,a=O(t.element,this.name);if(a)for(var o=_n(t.canvasContext.canvas),i=function(e){var i=a.data[e];if(!1===i.visible)return"continue";var r=un.getColorIfActive(i);Wt(o,(function(e){Dn(e,n);var a=y.cornerstone.pixelToCanvas(t.element,i.handles.end);i.handles.end.boundingBox=bn(e,i.text,a.x,a.y-10,r,{centering:{x:!0,y:!0}})}))},r=0;r0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"Brush",supportedInteractionTypes:["Mouse","Touch"],configuration:{},mixins:["renderBrushMixin"]};return(e=u()(this,h()(t).call(this,n,a))).touchDragCallback=e._paint.bind(wa()(e)),e}return g()(t,e),l()(t,[{key:"_paint",value:function(e){var t=Qr.configuration,n=e.detail,a=(n.element,n.image),o=a.rows,i=a.columns,r=n.currentPoints.image,s=r.x,l=r.y;if(!(s<0||s>i||l<0||l>o)){var c=be(t.radius,o,i,s,l),u=this.paintEventData,d=u.labelmap2D,h=u.labelmap3D,v=u.shouldErase;te(c,d.pixelData,h.activeSegmentIndex,i,v),y.cornerstone.updateImage(e.detail.element)}}}]),t}(ka),ts=N("tools:SphericalBrushTool"),ns=Tt("segmentation"),as=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"SphericalBrush",supportedInteractionTypes:["Mouse","Touch"],configuration:{alwaysEraseOnClick:!1},mixins:["renderBrushMixin"]};return(e=u()(this,h()(t).call(this,n,a))).touchDragCallback=e._paint.bind(wa()(e)),e}return g()(t,e),l()(t,[{key:"_startPainting",value:function(e){var t,n=ns.configuration,a=ns.getters,o=e.detail,i=o.element,r=o.image,s=y.cornerstone,l=n.radius,c=r.rows,u=r.columns,d=Math.max(r.rowPixelSpacing,r.columnPixelSpacing),h=O(i,"stack").data[0].imageIds,v=a.labelmap2D(i),g=v.labelmap2D,f=v.labelmap3D,m=v.currentImageIdIndex,p=v.activeLabelmapIndex,x=this._isCtrlDown(o)||this.configuration.alwaysEraseOnClick,T=s.metaData.get("imagePlaneModule",r.imageId);if(T){var b=T.imagePositionPatient;t=this._getImagesInRange(m,b,h,l,d)}else ts.warn("No imagePlane metadata found for image, defaulting to circle brush application."),t=[{imageIdIndex:m,radiusOnImage:l}];if(this.paintEventData={labelmap2D:g,labelmap3D:f,currentImageIdIndex:m,activeLabelmapIndex:p,shouldErase:x,imagesInRange:t},n.storeHistory){for(var C=[],M=0;Mi||l<0||l>o)){for(var c=this.paintEventData,u=c.labelmap3D,d=c.imagesInRange,h=c.shouldErase,v=0;v=0;c--){var u=this._getRadiusOnImage(n[c],t,i,o);if(!u)break;r.push({imageIdIndex:c,radiusOnImage:u})}return r}},{key:"_getRadiusOnImage",value:function(e,t,n,a){var o=y.cornerstone.metaData.get("imagePlaneModule",e);if(o){var i=o.imagePositionPatient,r=Math.sqrt(Math.pow(i[0]-t[0],2)+Math.pow(i[1]-t[1],2)+Math.pow(i[2]-t[2],2));if(!(r>n))return Math.floor(Math.sqrt(Math.pow(n,2)-Math.pow(r,2))/a)}else ts.warn("Can't find imagePlane metadata for image, cancelling spherical brushing on: ".concat(e,","))}},{key:"_endPainting",value:function(e){for(var t=this.paintEventData,n=t.labelmap3D,a=t.imagesInRange,o=[],i=ns.configuration,r=ns.setters,s=0;s=E||e=I||te.xMax&&(e.xMax=n),ae.yMax&&(e.yMax=a)}function ss(e,t,n,a,o){for(var i=ge(a,[e.x,e.y]).flooded,r=0;ra!=u>a&&n<(c-s)*(a-l)/(u-l)+s&&(o=!o)}return o}var us=N("util:segmentation:operations:eraseInsideFreehand");function ds(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=t.points,o=t.segmentationMixinType;if("freehandSegmentationMixin"===o){var i=e.detail.image,r=a.map((function(e){return[e.x,e.y]})),s=Te(r,i),l=oe()(s,2),c=l[0],u=l[1];n?se(e,t,(function(e){return cs([e.x,e.y],r)}),c,u):le(e,t,(function(e){return cs([e.x,e.y],r)}),c,u)}else us.error("eraseInsideFreehand operation requires freehandSegmentationMixin operationData, recieved ".concat(o))}function hs(e,t){ds(e,t,!0)}function vs(e,t){ds(e,t,!1)}var gs=N("util:segmentation:operations:eraseInsideRectangle");function fs(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=t.points,o=t.segmentationMixinType;if("rectangleSegmentationMixin"===o){var i=e.detail,r=i.image,s=a.map((function(e){return[e.x,e.y]})),l=Te(s,r),c=oe()(l,2),u=c[0],d=c[1];n?se(e,t,(function(){return!0}),u,d):ne(e,t,u,d)}else gs.error("eraseInsideRectangle operation requires rectangleSegmentationMixin operationData, recieved ".concat(o))}function ms(e,t){fs(e,t,!0)}function ps(e,t){fs(e,t,!1)}var ys=N("util:segmentation:operations:fillInsideFreehand");function xs(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=t.points,o=t.segmentationMixinType;if("freehandSegmentationMixin"===o){var i=e.detail.image,r=a.map((function(e){return[e.x,e.y]})),s=Te(r,i),l=oe()(s,2),c=l[0],u=l[1];n?he(e,t,(function(e){return cs([e.x,e.y],r)}),c,u):ve(e,t,(function(e){return cs([e.x,e.y],r)}),c,u)}else ys.error("eraseInsideFreehand operation requires freehandSegmentationMixin operationData, recieved ".concat(o))}function Ts(e,t){xs(e,t,!0)}function bs(e,t){xs(e,t,!1)}var Cs=N("util:segmentation:operations:fillInsideRectangle");function Ms(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=t.points,o=t.segmentationMixinType;if("rectangleSegmentationMixin"===o){var i=e.detail.image,r=a.map((function(e){return[e.x,e.y]})),s=Te(r,i),l=oe()(s,2),c=l[0],u=l[1];n?he(e,t,(function(){return!0}),c,u):ce(e,t,c,u)}else Cs.error("eraseInsideRectangle operation requires rectangleSegmentationMixin operationData, recieved ".concat(o))}function Es(e,t){Ms(e,t,!0)}function ws(e,t){Ms(e,t,!1)}var Is=N("util:segmentation:operations:fillCircle");function Ss(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=t.segmentationMixinType;if("circleSegmentationMixin"===a){var o=e.detail,i=xe(e),r=oe()(i,2),s=r[0],l=r[1],c=ye(o.handles.start,o.handles.end);n?he(e,t,(function(e){return Qi(c,e)}),s,l):ve(e,t,(function(e){return Qi(c,e)}),s,l)}else Is.error("fillInsideCircle operation requires circleSegmentationMixin operationData, recieved ".concat(a))}function ks(e,t){Ss(e,t,!0)}function _s(e,t){Ss(e,t,!1)}var Ps=N("util:segmentation:operations:eraseInsideCircle");function Ds(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=t.segmentationMixinType;if("circleSegmentationMixin"===a){var o=e.detail,i=xe(e),r=oe()(i,2),s=r[0],l=r[1],c=ye(o.handles.start,o.handles.end);n?se(e,t,(function(e){return Qi(c,e)}),s,l):le(e,t,(function(e){return Qi(c,e)}),s,l)}else Ps.error("eraseInsideCircle operation requires circleSegmentationMixin operationData, recieved ".concat(a))}function Os(e,t){Ds(e,t,!0)}function Ls(e,t){Ds(e,t,!1)}var As=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var n={name:"FreehandScissors",strategies:{FILL_INSIDE:Ts,FILL_OUTSIDE:bs,ERASE_OUTSIDE:vs,ERASE_INSIDE:hs},cursors:{FILL_INSIDE:Xo,FILL_OUTSIDE:Zo,ERASE_OUTSIDE:Ko,ERASE_INSIDE:Yo},defaultStrategy:"FILL_INSIDE",supportedInteractionTypes:["Mouse","Touch"],svgCursor:Xo,mixins:["freehandSegmentationMixin"]};return u()(this,h()(t).call(this,e,n))}return g()(t,e),t}(ga),Hs=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var n={name:"RectangleScissors",strategies:{FILL_INSIDE:Es,FILL_OUTSIDE:ws,ERASE_OUTSIDE:ps,ERASE_INSIDE:ms},cursors:{FILL_INSIDE:Jo,FILL_OUTSIDE:ei,ERASE_OUTSIDE:Qo,ERASE_INSIDE:$o},defaultStrategy:"FILL_INSIDE",supportedInteractionTypes:["Mouse","Touch"],mixins:["rectangleSegmentationMixin"]};return u()(this,h()(t).call(this,e,n))}return g()(t,e),t}(ga),Rs=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var n={name:"CircleScissors",strategies:{FILL_INSIDE:ks,FILL_OUTSIDE:_s,ERASE_OUTSIDE:Ls,ERASE_INSIDE:Os},cursors:{FILL_INSIDE:ni,FILL_OUTSIDE:oi,ERASE_OUTSIDE:ai,ERASE_INSIDE:ti},defaultStrategy:"FILL_INSIDE",supportedInteractionTypes:["Mouse","Touch"],svgCursor:ni,mixins:["circleSegmentationMixin"]};return u()(this,h()(t).call(this,e,n))}return g()(t,e),t}(ga),Us=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var n={name:"CorrectionScissors",strategies:{CORRECTION:is},cursors:{CORRECTION:Xo},defaultStrategy:"CORRECTION",supportedInteractionTypes:["Mouse","Touch"],svgCursor:Xo,mixins:["polylineSegmentationMixin"]};return u()(this,h()(t).call(this,e,n))}return g()(t,e),t}(ga),Ns={},Fs={},Bs={};function Vs(e){if(!e)return"DEFAULT";var t=y.cornerstone.getEnabledElement(e).uuid;if(!t)throw new Error("Something went wrong when getting uuid from element");return t}var qs={setStartLoadHandler:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(!e)throw new Error("The Handler function must be defined");var n=Vs(t);Ns[n]=e},getStartLoadHandler:function(e){var t=Vs(e);return Ns[t]||Ns.DEFAULT},setEndLoadHandler:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(!e)throw new Error("The Handler function must be defined");var n=Vs(t);Fs[n]=e},getEndLoadHandler:function(e){var t=Vs(e);return Fs[t]||Fs.DEFAULT},setErrorLoadingHandler:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(!e)throw new Error("The Handler function must be defined");var n=Vs(t);Bs[n]=e},getErrorLoadingHandler:function(e){var t=Vs(e);return Bs[t]||Bs.DEFAULT},removeHandlers:function(e){var t=Vs(e);delete Ns[t],delete Fs[t],delete Bs[t]}},js={};function zs(e,t){if(!js[e])return{};var n=js[e].find((function(e){return e.element===t}));return n?n.options:{}}function Ws(e,t,n){if(js[e]){var a=js[e].findIndex((function(e){return e.element===t}));if(-1===a)js[e].push({element:t,options:n});else{var o=js[e][a].options||{};js[e][a].options=Object.assign(o,n)}}else js[e]=[{element:t,options:n}]}var Gs=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"Crosshairs",supportedInteractionTypes:["Mouse","Touch"],svgCursor:Oo};return(e=u()(this,h()(t).call(this,n,a))).preMouseDownCallback=e._chooseLocation.bind(wa()(e)),e.mouseDragCallback=e._chooseLocation.bind(wa()(e)),e.touchDragCallback=e._chooseLocation.bind(wa()(e)),e}return g()(t,e),l()(t,[{key:"_chooseLocation",value:function(e){var t=e.detail,n=t.element;e.stopImmediatePropagation();var a=O(n,this.name);if(a){var o=n,i=y.cornerstone.getEnabledElement(o).image.imageId,r=y.cornerstone.metaData.get("imagePlaneModule",i);if(r){var s=nn(t.currentPoints.image,r);a.data[0].synchronizationContext.getSourceElements().forEach((function(e){if(e!==o){var t=Number.MAX_VALUE,n=-1,a=O(e,"stack");if(void 0!==a){var i=a.data[0];if(i.imageIds.forEach((function(e,a){var o=y.cornerstone.metaData.get("imagePlaneModule",e);if(o&&o.imagePositionPatient&&o.rowCosines&&o.columnCosines){var i=en(o.imagePositionPatient),r=en(o.rowCosines),l=en(o.columnCosines).clone().cross(r.clone()),c=Math.abs(l.clone().dot(i)-l.clone().dot(s));c0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var n={name:"DoubleTapFitToWindow",supportedInteractionTypes:["DoubleTap"]};return u()(this,h()(t).call(this,e,n))}return g()(t,e),l()(t,[{key:"doubleTapCallback",value:function(e){var t=e.detail;y.cornerstone.fitToWindow(t.element)}}]),t}(ga),Xs=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"DragProbe",strategies:{default:Ks,minimal:Zs},defaultStrategy:"default",supportedInteractionTypes:["Mouse","Touch"],svgCursor:_o};return(e=u()(this,h()(t).call(this,n,a))).touchDragCallback=e._movingEventCallback.bind(wa()(e)),e.touchEndCallback=e._endMovingEventCallback.bind(wa()(e)),e.mouseDragCallback=e._movingEventCallback.bind(wa()(e)),e.mouseUpCallback=e._endMovingEventCallback.bind(wa()(e)),e.dragEventData={},e}return g()(t,e),l()(t,[{key:"_movingEventCallback",value:function(e){var t=e.detail,n=t.element;this.dragEventData=t,y.cornerstone.updateImage(n)}},{key:"_endMovingEventCallback",value:function(e){var t=e.detail.element;this.dragEventData={},y.cornerstone.updateImage(t)}},{key:"renderToolData",value:function(e){this.dragEventData.currentPoints&&e&&e.detail&&Boolean(Object.keys(this.dragEventData.currentPoints).length)&&(e.detail.currentPoints=this.dragEventData.currentPoints,this.applyActiveStrategy(e))}}]),t}(ga);function Ks(e){var t=this.configuration,n=y.cornerstone,a=e.detail,o=a.element,i=a.image,r=a.currentPoints,s=a.canvasContext,l=_n(s.canvas),c=un.getActiveColor(),u=pn.getFontSize(),d=Math.round(r.image.x),h=Math.round(r.image.y);d<0||h<0||d>=i.columns||h>=i.rows||Wt(l,(function(e){Dn(e,t);var a,s,l="".concat(d,", ").concat(h);if(i.color)a=qr(o,d,h,1,1),s="R: ".concat(a[0]," G: ").concat(a[1]," B: ").concat(a[2]," A: ").concat(a[3]);else{var v=(a=n.getStoredPixels(o,d,h,1,1))[0],g=v*i.slope+i.intercept,f=$i(i,v);s="SP: ".concat(v," MO: ").concat(parseFloat(g.toFixed(3))),f&&(s+=" SUV: ".concat(parseFloat(f.toFixed(3))))}var m={x:r.canvas.x+5,y:r.canvas.y-5};bn(e,s,m.x,m.y+u+5,c),bn(e,l,m.x,m.y,c)}))}function Zs(e){var t=this.configuration,n=y.cornerstone,a=e.detail,o=a.element,i=a.image,r=a.currentPoints,s=a.canvasContext,l=a.isTouchEvent,c=_n(s.canvas),u=un.getActiveColor(),d=r.page.y-pn.getFontSize()/2;l&&(d=r.page.y-4*pn.getFontSize());var h=n.pageToPixel(o,r.page.x,d);h.x<0||h.y<0||h.x>=i.columns||h.y>=i.rows||Wt(c,(function(e){Dn(e,t);var a,r=n.metaData.get("generalSeriesModule",i.imageId),s=r&&r.modality,c="";if(i.color)a=qr(o,h.x,h.y,1,1),c="R: ".concat(a[0]," G: ").concat(a[1]," B: ").concat(a[2]);else{var d=(a=n.getStoredPixels(o,h.x,h.y,1,1))[0],v=d*i.slope+i.intercept,g=parseFloat(v.toFixed(2));if("CT"===s)c+="HU: ".concat(g);else if("PT"===s){c+=g;var f=$i(i,d);f&&(c+=" SUV: ".concat(parseFloat(f.toFixed(2))))}else c+=g}var m=n.pixelToCanvas(o,h),p={x:12,y:-(pn.getFontSize()+10)/2},y=Tn(e,c,5);l&&(p={x:-y/2,y:-pn.getFontSize()-10-12}),Qt(e,o,m,6,{color:u},"canvas"),bn(e,c,m.x+p.x,m.y+p.y,u)}))}var $s=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"Eraser",supportedInteractionTypes:["Mouse","Touch"],svgCursor:Lo};return(e=u()(this,h()(t).call(this,n,a))).preMouseDownCallback=e._deleteAllNearbyTools.bind(wa()(e)),e.preTouchStartCallback=e._deleteAllNearbyTools.bind(wa()(e)),e}return g()(t,e),l()(t,[{key:"_deleteAllNearbyTools",value:function(e){var t=e.detail.currentPoints.canvas,n=e.detail.element;pt.tools.forEach((function(e){var a=O(n,e.name);a&&a.data.forEach((function(a){"function"==typeof e.pointNearTool&&e.pointNearTool(n,a,t)&&(L(n,e.name,a),y.cornerstone.updateImage(n))}))}));return!0}}]),t}(ga),Js=Dr.FreehandHandleData,Qs=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"FreehandRoiSculptor",referencedToolName:"FreehandRoi",supportedInteractionTypes:["Mouse","Touch","DoubleTap"],mixins:["activeOrDisabledBinaryTool"],configuration:el(),svgCursor:So};return(e=u()(this,h()(t).call(this,n,a))).updateOnMouseMove=!0,e.isMultiPartTool=!0,e.referencedToolName=e.initialConfiguration.referencedToolName,e._active=!1,e.activeMouseUpCallback=e.activeMouseUpCallback.bind(wa()(e)),e.activeTouchEndCallback=e.activeTouchEndCallback.bind(wa()(e)),e.activeMouseDragCallback=e.activeMouseDragCallback.bind(wa()(e)),e}return g()(t,e),l()(t,[{key:"renderToolData",value:function(e){var t=e.detail;if(null===this.configuration.currentTool)return!1;var n=t.element,a=this.configuration;if(!O(n,this.referencedToolName).data[a.currentTool])return!1;if(this._active){var o=t.canvasContext.canvas.getContext("2d"),i={color:this.configuration.dragColor,fill:null,handleRadius:this._toolSizeCanvas};dn(o,t,this.configuration.mouseLocation.handles,i)}else this.configuration.showCursorOnHover&&!this._recentTouchEnd&&this._renderHoverCursor(e)}},{key:"doubleClickCallback",value:function(e){var t=e.detail;this._selectFreehandTool(t),y.cornerstone.updateImage(t.element)}},{key:"doubleTapCallback",value:function(e){var t=e.detail;this._selectFreehandTool(t),y.cornerstone.updateImage(t.element)}},{key:"preTouchStartCallback",value:function(e){return this._initialiseSculpting(e),!0}},{key:"preMouseDownCallback",value:function(e){if(this.options.mouseButtonMask.includes(e.detail.buttons))return this._initialiseSculpting(e),!0}},{key:"activeMouseDragCallback",value:function(e){var t=this.configuration;if(this._active){var n=e.detail,a=O(n.element,this.referencedToolName);if(a){var o=a.data[t.currentTool].handles.points;this._getMouseLocation(n),this._sculpt(n,o),y.cornerstone.updateImage(n.element)}}}},{key:"activeMouseUpCallback",value:function(e){this._activeEnd(e)}},{key:"activeTouchEndCallback",value:function(e){this._activeEnd(e),this._deselectAllTools(e),this._recentTouchEnd=!0}},{key:"_activeEnd",value:function(e){var t=e.detail,n=t.element,a=this.configuration;this._active=!1,pt.isMultiPartToolActive=!1,this._getMouseLocation(t),this._invalidateToolData(t),a.mouseUpRender=!0,this._deactivateSculpt(n),y.cornerstone.updateImage(t.element),function(e){e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault()}(e)}},{key:"_renderHoverCursor",value:function(e){var t,n=e.detail,a=n.element,o=n.canvasContext.canvas.getContext("2d"),i=O(a,this.referencedToolName).data[this.configuration.currentTool];this._recentTouchEnd=!1,this.configuration.mouseUpRender?(t=this.configuration.mouseLocation.handles.start,this.configuration.mouseUpRender=!1):t=pt.mousePositionImage;var r=Ct(a,this.referencedToolName).distanceFromPointCanvas(a,i,t);if(this.configuration.mouseLocation.handles.start.x=t.x,this.configuration.mouseLocation.handles.start.y=t.y,this.configuration.limitRadiusOutsideRegion){var s=r;r=this._limitCursorRadiusCanvas(n,r),s>this.configuration.hoverCursorFadeDistance*r&&(o.globalAlpha=this.configuration.hoverCursorFadeAlpha)}var l={fill:null,color:this.configuration.hoverColor,handleRadius:r};dn(o,n,this.configuration.mouseLocation.handles,l),this.configuration.limitRadiusOutsideRegion&&(o.globalAlpha=1)}},{key:"newImageCallback",value:function(e){this._deselectAllTools(e)}},{key:"enabledCallback",value:function(e){this._deselectAllTools(e)}},{key:"passiveCallback",value:function(e){this._deselectAllTools(e)}},{key:"disabledCallback",value:function(e){this._deselectAllTools(e)}},{key:"_selectFreehandTool",value:function(e){var t=this.configuration,n=e.element,a=this._getClosestFreehandToolOnElement(n,e);void 0!==a&&(t.currentTool=a,wt(n))}},{key:"_activateFreehandTool",value:function(e,t){var n=O(e,this.referencedToolName).data;this.configuration.currentTool=t;for(var a=0;aa||(this._pushOneHandle(i,r),void 0===o.first?(o.first=i,o.last=i):o.last=i)}return o}},{key:"_pushOneHandle",value:function(e,t){var n=this._sculptData,a=n.points,o=n.mousePoint,i=n.toolSize,r=n.image,s=a[e],l=(s.x-o.x)/t,c=(s.y-o.y)/t,u={x:o.x+i*l,y:o.y+i*c};Mn(u,r),s.x=u.x,s.y=u.y;var d=this.constructor._getPreviousHandleIndex(e,a.length);a[d].lines.pop(),a[d].lines.push(s)}},{key:"_insertNewHandles",value:function(e){for(var t=this._findNewHandleIndicies(e),n=0,a=0;aa&&n.push(e)}},{key:"_insertHandleRadially",value:function(e){var t=this._sculptData.points,n=e-1,a=this.constructor._getNextHandleIndexBeforeInsert(e,t.length),o=this._getInsertPosition(e,n,a),i=new Js(o);t.splice(e,0,i),t[n].lines.pop(),t[n].lines.push(t[e]),Dr.addLine(t,e)}},{key:"_consolidateHandles",value:function(){if(!(this._sculptData.points.length<=3)){var e=this._findCloseHandlePairs();this._mergeCloseHandles(e)}}},{key:"_findCloseHandlePairs",value:function(){for(var e=this._sculptData,t=e.points,n=e.minSpacing,a=[],o=t.length,i=0;i2&&void 0!==arguments[2]&&arguments[2],a=e.element,o=e.image,i=this.configuration,r=O(a,this.referencedToolName),s=r.data[i.currentTool],l=1;if(n){var c=y.cornerstone.pixelToCanvas(a,{x:0,y:0}),u=y.cornerstone.pixelToCanvas(a,{x:o.width,y:o.height}),d=(u.x-c.x)*(u.y-c.y);l=d/(o.width*o.height)}var h=s.area*l,v=Math.pow(h/Math.PI,.5);return Math.min(t,v)}},{key:"_getClosestFreehandToolOnElement",value:function(e,t){var n=Ct(e,this.referencedToolName),a=O(e,this.referencedToolName);if(a){for(var o=a.data,i=t.currentPoints.image,r={distance:1/0,toolIndex:null},s=0;s0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"Magnify",supportedInteractionTypes:["Mouse","Touch"],configuration:{magnifySize:300,magnificationLevel:2},svgCursor:Ao};return(e=u()(this,h()(t).call(this,n,a))).zoomCanvas=void 0,e.zoomElement=void 0,e.activeCallback=e._createMagnificationCanvas.bind(wa()(e)),e.enabledCallback=e._createMagnificationCanvas.bind(wa()(e)),e.disabledCallback=e._destroyMagnificationCanvas.bind(wa()(e)),e.postTouchStartCallback=e._addMagnifyingGlass.bind(wa()(e)),e.touchDragCallback=e._updateMagnifyingGlass.bind(wa()(e)),e.touchEndCallback=e._removeMagnifyingGlass.bind(wa()(e)),e.touchDragEndCallback=e._removeMagnifyingGlass.bind(wa()(e)),e.postMouseDownCallback=e._addMagnifyingGlass.bind(wa()(e)),e.mouseDragCallback=e._updateMagnifyingGlass.bind(wa()(e)),e.mouseUpCallback=e._removeMagnifyingGlass.bind(wa()(e)),e.mouseClickCallback=e._removeMagnifyingGlass.bind(wa()(e)),e.newImageCallback=e._drawMagnificationTool.bind(wa()(e)),e}return g()(t,e),l()(t,[{key:"_addMagnifyingGlass",value:function(e){var t=this;this._removeZoomElement(),this._drawZoomedElement(e),window.requestAnimationFrame((function(){return t._drawMagnificationTool(e)})),wt(e.detail.element),e.preventDefault(),e.stopPropagation()}},{key:"_updateMagnifyingGlass",value:function(e){this._drawMagnificationTool(e),e.preventDefault(),e.stopPropagation()}},{key:"_removeMagnifyingGlass",value:function(e){var t=e.detail.element;Et(this.element,this.svgCursor),t.querySelector(".magnifyTool").style.display="none",this._removeZoomElement()}},{key:"_drawMagnificationTool",value:function(e){var t=e.detail.element,n=t.querySelector(".magnifyTool");if(n||this._createMagnificationCanvas(t),void 0!==this.zoomCanvas){var a=t.querySelector("canvas:not(.magnifyTool)"),o=_n(n),i=y.cornerstone.pixelToCanvas(e.detail.element,e.detail.currentPoints.image),r=Math.min(this.configuration.magnifySize,a.width,a.height),s=this.configuration.magnificationLevel;n.width=r,n.height=r,i.x=Math.max(i.x,.5*r/s),i.x=Math.min(i.x,a.width-.5*r/s),i.y=Math.max(i.y,.5*r/s),i.y=Math.min(i.y,a.height-.5*r/s);var l={x:i.x*s-.5*r,y:i.y*s-.5*r};l.x=Math.max(l.x,0),l.y=Math.max(l.y,0),o.drawImage(this.zoomCanvas,l.x,l.y,r,r,0,0,r,r);var c=e.detail.isTouchEvent?120:0,u={top:Math.max(i.y-.5*r-c,0),left:Math.max(i.x-.5*r,0)},d=n.getBoundingClientRect();u.top=Math.min(u.top,a.height-d.height),u.left=Math.min(u.left,a.width-d.width),n.style.top="".concat(u.top,"px"),n.style.left="".concat(u.left,"px"),n.style.display="block"}}},{key:"_drawZoomedElement",value:function(e){var t=e.detail.element,n=e.detail.enabledElement;void 0===n&&(n=y.cornerstone.getEnabledElement(t));var a=this.configuration.magnificationLevel,o=n.canvas,i=n.image;this.zoomElement||(this.zoomElement=document.createElement("div"),this.zoomElement.width=o.width*a,this.zoomElement.height=o.height*a,y.cornerstone.enable(this.zoomElement,n.options));var r=y.cornerstone.getEnabledElement(this.zoomElement),s=y.cornerstone.getViewport(n.element);this.zoomCanvas=r.canvas,this.zoomCanvas.width=o.width*a,this.zoomCanvas.height=o.height*a,r.viewport=Object.assign({},s),s.scale*=a,y.cornerstone.displayImage(this.zoomElement,i),y.cornerstone.setViewport(this.zoomElement,s)}},{key:"_removeZoomElement",value:function(){void 0!==this.zoomElement&&(y.cornerstone.disable(this.zoomElement),this.zoomElement=void 0,this.zoomCanvas=void 0)}},{key:"_createMagnificationCanvas",value:function(e){if(null===e.querySelector(".magnifyTool")){var t=document.createElement("canvas");t.classList.add("magnifyTool"),t.width=this.configuration.magnifySize,t.height=this.configuration.magnifySize,t.style.position="absolute",t.style.display="none",e.appendChild(t)}}},{key:"_destroyMagnificationCanvas",value:function(e){var t=e.querySelector(".magnifyTool");t&&e.removeChild(t)}}]),t}(ga),nl=xt.globalConfiguration,al=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"Overlay",configuration:{},mixins:["enabledOrDisabledBinaryTool"]},o=Object.assign(a,n);return(e=u()(this,h()(t).call(this,o))).initialConfiguration=o,e}return g()(t,e),l()(t,[{key:"enabledCallback",value:function(e){this.forceImageUpdate(e)}},{key:"disabledCallback",value:function(e){this.forceImageUpdate(e)}},{key:"forceImageUpdate",value:function(e){y.cornerstone.getEnabledElement(e).image&&y.cornerstone.updateImage(e)}},{key:"setupRender",value:function(e){if(e){var t=y.cornerstone.metaData.get("overlayPlaneModule",e.imageId);if(t&&t.overlays&&t.overlays.length)return t}}},{key:"setupViewport",value:function(e){if(void 0===e.overlayColor&&(e.overlayColor=nl.configuration.overlayColor||"white"),!1!==e.overlayColor)return!0}},{key:"renderToolData",value:function(e){var t=e.detail,n=t.enabledElement,a=t.image,o=t.viewport,i=t.canvasContext,r=this.setupRender(a);if(t&&n&&r&&this.setupViewport(o)){var s=a.columns,l=a.rows;r.overlays.forEach((function(e){if(!1!==e.visible){var t=document.createElement("canvas");t.width=s,t.height=l;var n=t.getContext("2d");n.fillStyle=e.fillStyle||o.overlayColor,"R"===e.type&&(n.fillRect(0,0,t.width,t.height),n.globalCompositeOperation="xor");for(var a=0,r=0;r0&&n.fillRect(c,r,1,1);var u=!isNaN(parseFloat(e.x))&&isFinite(e.x)?e.x:0,d=!isNaN(parseFloat(e.y))&&isFinite(e.y)?e.y:0;i.drawImage(t,u,d)}}))}}}]),t}(ga),ol={getOrientationString:function(e){for(var t=en(e),n="",a=t.x<0?"R":"L",o=t.y<0?"A":"P",i=t.z<0?"F":"H",r=new y.cornerstoneMath.Vector3(Math.abs(t.x),Math.abs(t.y),Math.abs(t.z)),s=1e-4,l=0;l<3;l++)if(r.x>s&&r.x>r.y&&r.x>r.z)n+=a,r.x=0;else if(r.y>s&&r.y>r.x&&r.y>r.z)n+=o,r.y=0;else if(r.z>s&&r.z>r.x&&r.z>r.y)n+=i,r.z=0;else if(r.x>s&&r.y>s&&r.x===r.y)n+=a+o,r.x=0,r.y=0;else if(r.x>s&&r.z>s&&r.x===r.z)n+=a+i,r.x=0,r.z=0;else{if(!(r.y>s&&r.z>s&&r.y===r.z))break;n+=o+i,r.y=0,r.z=0}return n},invertOrientationString:function(e){var t=e.replace("H","f");return t=(t=(t=(t=(t=(t=t.replace("F","h")).replace("R","l")).replace("L","r")).replace("A","p")).replace("P","a")).toUpperCase()}},il=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var n={name:"OrientationMarkers",configuration:{drawAllMarkers:!0},mixins:["enabledOrDisabledBinaryTool"]};return u()(this,h()(t).call(this,e,n))}return g()(t,e),l()(t,[{key:"enabledCallback",value:function(e){this.forceImageUpdate(e)}},{key:"disabledCallback",value:function(e){this.forceImageUpdate(e)}},{key:"forceImageUpdate",value:function(e){var t=y.cornerstone;t.getEnabledElement(e).image&&t.updateImage(e)}},{key:"renderToolData",value:function(e){var t=e.detail,n=_n(t.canvasContext.canvas),a=t.element,o=ll(a);if(o){var i=cl(a,o),r=un.getToolColor(),s={top:Tn(n,o.top,0),left:Tn(n,o.left,0),right:Tn(n,o.right,0),bottom:Tn(n,o.bottom,0),height:Tn(n,"M",0)};rl(n,o,i,s,r),this.configuration.drawAllMarkers&&sl(n,o,i,s,r)}}}]),t}(ga),rl=function(e,t,n,a,o){bn(e,t.top,n.top.x-a.top/2,n.top.y,o),bn(e,t.left,n.left.x-a.left/2,n.left.y,o)},sl=function(e,t,n,a,o){bn(e,t.right,n.right.x-a.right,n.right.y,o),bn(e,t.bottom,n.bottom.x-a.bottom/2,n.bottom.y-a.height,o)},ll=function(e){var t=y.cornerstone,n=t.getEnabledElement(e),a=t.metaData.get("imagePlaneModule",n.image.imageId);if(a&&a.rowCosines&&a.columnCosines){var o=ol.getOrientationString(a.rowCosines),i=ol.getOrientationString(a.columnCosines),r=ol.invertOrientationString(o);return{top:ol.invertOrientationString(i),bottom:i,left:r,right:o}}},cl=function(e){var t=y.cornerstone.getEnabledElement(e);return{top:y.cornerstone.pixelToCanvas(e,{x:t.image.width/2,y:5}),bottom:y.cornerstone.pixelToCanvas(e,{x:t.image.width/2,y:t.image.height-15}),left:y.cornerstone.pixelToCanvas(e,{x:5,y:t.image.height/2}),right:y.cornerstone.pixelToCanvas(e,{x:t.image.width-10,y:t.image.height/2})}},ul=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"PanMultiTouch",supportedInteractionTypes:["MultiTouch"],configuration:{touchPointers:2}};return(e=u()(this,h()(t).call(this,n,a))).multiTouchDragCallback=e._dragCallback.bind(wa()(e)),e}return g()(t,e),l()(t,[{key:"_dragCallback",value:function(e){var t=e.detail,n=t.element,a=t.viewport;if(t.numPointers===this.configuration.touchPointers){var o=this._getTranslation(t);this._applyTranslation(a,o),y.cornerstone.setViewport(n,a)}}},{key:"_getTranslation",value:function(e){var t=e.viewport,n=e.image,a=e.deltaPoints,o=t.scale,i=t.scale;return n.rowPixelSpacing0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"Pan",supportedInteractionTypes:["Mouse","Touch"],svgCursor:Ho};return(e=u()(this,h()(t).call(this,n,a))).touchDragCallback=e._dragCallback.bind(wa()(e)),e.mouseDragCallback=e._dragCallback.bind(wa()(e)),e}return g()(t,e),l()(t,[{key:"_dragCallback",value:function(e){var t=e.detail,n=t.element,a=t.viewport,o=this._getTranslation(t);this._applyTranslation(a,o),y.cornerstone.setViewport(n,a)}},{key:"_getTranslation",value:function(e){var t=e.viewport,n=e.image,a=e.deltaPoints,o=t.scale,i=t.scale;return n.rowPixelSpacing0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"ReferenceLines",mixins:["enabledOrDisabledBinaryTool"],configuration:{renderer:ml}};return(e=u()(this,h()(t).call(this,n,a))).renderer=null,e.synchronizationContext=null,e}var n;return g()(t,e),l()(t,[{key:"enabledCallback",value:(n=fl()(vl.a.mark((function e(t){var n,a,o,i=arguments;return vl.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},a=n.synchronizationContext,o=this.configuration.renderer,e.next=4,yl(t);case 4:if(e.sent&&o&&a){e.next=8;break}return xl.warn("Unable to enable ".concat(this.name,". Exiting enable callback. Tool will be enabled, but will not render.")),e.abrupt("return");case 8:this.renderer=o,this.synchronizationContext=a,this.forceImageUpdate(t);case 11:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"disabledCallback",value:function(e){this.forceImageUpdate(e)}},{key:"forceImageUpdate",value:function(e){y.cornerstone.getEnabledElement(e).image&&y.cornerstone.updateImage(e)}},{key:"renderToolData",value:function(e){var t=this,n=e.detail;if(this.renderer&&this.synchronizationContext){var a=this.synchronizationContext.getSourceElements(),o=_n(n.canvasContext.canvas);y.cornerstone.setToPixelCoordinateSystem(n.enabledElement,o),a.forEach((function(a){a!==e.currentTarget&&t.renderer(o,n,e.currentTarget,a)}))}}}]),t}(ga),bl=function(e,t,n){var a=Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)),o=Math.sqrt(Math.pow(e.x-n.x,2)+Math.pow(e.y-n.y,2)),i=Math.sqrt(Math.pow(t.x-n.x,2)+Math.pow(t.y-n.y,2));return{angle:180*Math.acos((Math.pow(a,2)+Math.pow(o,2)-Math.pow(i,2))/(2*a*o))/Math.PI,direction:(t.x-e.x)*(n.y-e.y)-(t.y-e.y)*(n.x-e.x)}},Cl=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var n={name:"Rotate",strategies:{default:Ml,horizontal:El,vertical:wl},defaultStrategy:"default",supportedInteractionTypes:["Mouse","Touch"],configuration:{roundAngles:!1,flipHorizontal:!1,flipVertical:!1,rotateScale:1},svgCursor:Ro};return u()(this,h()(t).call(this,e,n))}return g()(t,e),l()(t,[{key:"touchDragCallback",value:function(e){this.dragCallback(e)}},{key:"mouseDragCallback",value:function(e){this.dragCallback(e)}},{key:"postMouseDownCallback",value:function(e){this.initialRotation=e.detail.viewport.rotation}},{key:"dragCallback",value:function(e){e.detail.viewport.initialRotation=this.initialRotation,this.applyActiveStrategy(e),y.cornerstone.setViewport(e.detail.element,e.detail.viewport)}}]),t}(ga);function Ml(e){var t=this.configuration,n=t.roundAngles,a=t.rotateScale,o=e.detail,i=o.element,r=o.viewport,s=o.startPoints,l=o.currentPoints,c=r.initialRotation?r.initialRotation:r.rotation,u=i.getBoundingClientRect(i),d=i.clientWidth,h=i.clientHeight,v=r.scale,g=r.translation,f={x:u.left+d/2+g.x*v,y:u.top+h/2+g.y*v},m=bl(f,s.client,l.client);m.angle*=a,n&&(m.angle=Math.ceil(m.angle)),m.direction<0&&(m.angle=-m.angle),r.rotation=c+m.angle}function El(e){var t=this.configuration,n=t.roundAngles,a=t.flipHorizontal,o=t.rotateScale,i=e.detail,r=i.viewport,s=i.startPoints,l=i.currentPoints,c=r.initialRotation,u=s.client.x,d=(l.client.x-u)*o;n&&(d=Math.round(Math.abs(d))*(d>0?1:-1)),a&&(d=-d),r.rotation=c+d}function wl(e){var t=this.configuration,n=t.roundAngles,a=t.flipVertical,o=t.rotateScale,i=e.detail,r=i.viewport,s=i.startPoints,l=i.currentPoints,c=r.initialRotation,u=s.client.y,d=(l.client.y-u)*o;n&&(d=Math.round(Math.abs(d))*(d>0?1:-1)),a&&(d=-d),r.rotation=c+d}var Il=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var n={name:"RotateTouch",supportedInteractionTypes:["TouchRotate"]};return u()(this,h()(t).call(this,e,n))}return g()(t,e),l()(t,[{key:"touchRotateCallback",value:function(e){var t=e.detail,n=t.element,a=t.viewport,o=t.rotation;a.rotation+=o,y.cornerstone.setViewport(n,a)}}]),t}(ga),Sl=N("tools:ScaleOverlayTool"),kl=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var n={name:"ScaleOverlay",configuration:{minorTickLength:12.5,majorTickLength:25},mixins:["enabledOrDisabledBinaryTool"]};return u()(this,h()(t).call(this,e,n))}return g()(t,e),l()(t,[{key:"enabledCallback",value:function(e){this.forceImageUpdate(e)}},{key:"disabledCallback",value:function(e){this.forceImageUpdate(e)}},{key:"forceImageUpdate",value:function(e){y.cornerstone.getEnabledElement(e).image&&y.cornerstone.updateImage(e)}},{key:"renderToolData",value:function(e){var t=e.detail,n=_n(t.canvasContext.canvas),a=t.image,o=t.viewport,i=t.element,r=a.rowPixelSpacing,s=a.columnPixelSpacing,l=y.cornerstone.metaData.get("imagePlaneModule",a.imageId);if(l&&(r=l.rowPixelSpacing||l.rowImagePixelSpacing,s=l.columnPixelSpacing||l.colImagePixelSpacing),r&&s){var c={width:n.canvas.width,height:n.canvas.height},u=10/r*o.scale,d=10/s*o.scale,h=_l(c,.25,.05),v=_l(c,.05,.15);if(c.width&&c.height&&h&&v){var g=un.getToolColor(),f=Xt.getToolWidth(),m=Object.assign({},{hscaleBounds:h,vscaleBounds:v,verticalMinorTick:u,horizontalMinorTick:d,verticalLine:{start:{x:v.bottomRight.x,y:v.topLeft.y},end:{x:v.bottomRight.x,y:v.bottomRight.y}},horizontalLine:{start:{x:h.topLeft.x,y:h.bottomRight.y},end:{x:h.bottomRight.x,y:h.bottomRight.y}},color:g,lineWidth:f},this.configuration);Wt(n,(function(e){Dn(e,m),Zt(e,i,m.verticalLine.start,m.verticalLine.end,{color:m.color,lineWidth:m.lineWidth},"canvas"),Pl(e,i,m),Zt(e,i,m.horizontalLine.start,m.horizontalLine.end,{color:m.color,lineWidth:m.lineWidth},"canvas"),Dl(e,i,m)}))}}else Sl.warn("unable to define rowPixelSpacing or colPixelSpacing from data on ".concat(this.name,"'s renderToolData"))}}]),t}(ga),_l=function(e,t,n){var a=t*Math.min(1e3,e.width),o=n*Math.min(1e3,e.height),i={left:a,top:o,width:e.width-2*a,height:e.height-2*o};return{topLeft:{x:i.left,y:i.top},bottomRight:{x:i.left+i.width,y:i.top+i.height}}},Pl=function(e,t,n){for(var a=0;n.verticalLine.start.y+a*n.verticalMinorTick<=n.vscaleBounds.bottomRight.y;){var o=n.color,i=n.lineWidth,r={x:n.verticalLine.start.x,y:n.verticalLine.start.y+a*n.verticalMinorTick},s={x:0,y:n.verticalLine.start.y+a*n.verticalMinorTick};s.x=a%5==0?n.verticalLine.start.x-n.majorTickLength:n.verticalLine.start.x-n.minorTickLength,Zt(e,t,r,s,{color:o,lineWidth:i},"canvas"),a++}},Dl=function(e,t,n){for(var a=0;n.horizontalLine.start.x+a*n.horizontalMinorTick<=n.hscaleBounds.bottomRight.x;){var o=n.color,i=n.lineWidth,r={x:n.horizontalLine.start.x+a*n.horizontalMinorTick,y:n.horizontalLine.start.y},s={x:n.horizontalLine.start.x+a*n.horizontalMinorTick,y:0};s.y=a%5==0?n.horizontalLine.start.y-n.majorTickLength:n.horizontalLine.start.y-n.minorTickLength,Zt(e,t,r,s,{color:o,lineWidth:i},"canvas"),a++}},Ol=function(e,t){var n=O(e,"stack");if(n&&n.data&&n.data.length){var a,o=y.cornerstone;if(n.data.length>1){var i=O(e,"stackRenderer");i&&i.data&&i.data.length&&(a=i.data[0])}var r=n.data[0];t<0&&(t+=r.imageIds.length);var s=qs.getStartLoadHandler(e),l=qs.getEndLoadHandler(e),c=qs.getErrorLoadingHandler(e);if(t!==r.currentImageIdIndex){s&&s(e);var u={newImageIdIndex:t,direction:t-r.currentImageIdIndex};r.currentImageIdIndex=t;var d=r.imageIds[t];(Boolean(r.preventCache)?o.loadImage(d):o.loadAndCacheImage(d)).then((function(i){if(r.currentImageIdIndex===t){try{o.getEnabledElement(e)}catch(e){return}a?(a.currentImageIdIndex=t,a.render(e,n.data)):o.displayImage(e,i),l&&l(e,i)}}),(function(n){var a=r.imageIds[t];c&&c(e,a,n)})),C(e,b.STACK_SCROLL,u)}}},Ll=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=O(e,"stack");if(o&&o.data&&o.data.length){var i=o.data[0];i.pending||(i.pending=[]);var r=i.currentImageIdIndex+t;if(n){var s=i.imageIds.length;r%=s}else r=In(r,0,i.imageIds.length-1);if(a)Ol(e,r);else{var l={index:r};i.pending.push(l),Al(i,l,e)}}};function Al(e,t,n){if(e.pending[0]===t){if(e.currentImageIdIndex===t.index)return e.pending.splice(e.pending.indexOf(t),1),void(e.pending.length>0&&Al(e,e.pending[0],n));n.addEventListener(y.cornerstone.EVENTS.NEW_IMAGE,(function a(o){e.imageIds.indexOf(o.detail.image.imageId)===t.index&&(e.pending.splice(e.pending.indexOf(t),1),n.removeEventListener(y.cornerstone.EVENTS.NEW_IMAGE,a),e.pending.length>0&&Al(e,e.pending[0],n))})),Ol(n,t.index)}}var Hl=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var n={name:"StackScrollMouseWheel",supportedInteractionTypes:["MouseWheel"],configuration:{loop:!1,allowSkipping:!0,invert:!1}};return u()(this,h()(t).call(this,e,n))}return g()(t,e),l()(t,[{key:"mouseWheelCallback",value:function(e){var t=e.detail,n=t.direction,a=t.element,o=this.configuration,i=o.loop,r=o.allowSkipping,s=o.invert;Ll(a,s?-n:n,i,r)}}]),t}(ga),Rl=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"StackScrollMultiTouch",supportedInteractionTypes:["MultiTouch"],configuration:{loop:!1,allowSkipping:!0,touchPointers:3}};return(e=u()(this,h()(t).call(this,n,a))).multiTouchDragCallback=e._dragCallback.bind(wa()(e)),e}return g()(t,e),l()(t,[{key:"_dragCallback",value:function(e){var t=e.detail;if(t.numPointers===this.configuration.touchPointers){var n=t.element,a=t.deltaPoints,o=this.configuration,i=o.loop,r=o.allowSkipping,s=zs(this.name,n),l=this._getPixelPerImage(n),c=this._getDeltaY(n,a.page.y);if(!l)return;if(Math.abs(c)>=l){var u=Math.round(c/l);Ll(n,u,i,r),s.deltaY=c%l}else s.deltaY=c;Ws(this.name,n,s)}}},{key:"_getDeltaY",value:function(e,t){return(zs(this.name,e).deltaY||0)+t}},{key:"_getPixelPerImage",value:function(e){var t=O(e,"stack");if(t&&t.data&&t.data.length){var n=t.data[0];return this.configuration.stackScrollSpeed||Math.max(2,e.offsetHeight/Math.max(n.imageIds.length,8))}}}]),t}(ga),Ul=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"StackScroll",supportedInteractionTypes:["Mouse","Touch"],configuration:{loop:!1,allowSkipping:!0},svgCursor:Uo};return(e=u()(this,h()(t).call(this,n,a))).mouseDragCallback=e._dragCallback.bind(wa()(e)),e.touchDragCallback=e._dragCallback.bind(wa()(e)),e}return g()(t,e),l()(t,[{key:"_dragCallback",value:function(e){var t=e.detail,n=t.element,a=t.deltaPoints,o=this.configuration,i=o.loop,r=o.allowSkipping,s=zs(this.name,n),l=this._getPixelPerImage(n),c=this._getDeltaY(n,a.page.y);if(l){if(Math.abs(c)>=l){var u=Math.round(c/l);Ll(n,u,i,r),s.deltaY=c%l}else s.deltaY=c;Ws(this.name,n,s)}}},{key:"_getDeltaY",value:function(e,t){return(zs(this.name,e).deltaY||0)+t}},{key:"_getPixelPerImage",value:function(e){var t=O(e,"stack");if(t&&t.data&&t.data.length){var n=t.data[0];return this.configuration.stackScrollSpeed||Math.max(2,e.offsetHeight/Math.max(n.imageIds.length,8))}}}]),t}(ga),Nl=function(e,t,n,a,o){if(!e)throw new Error("getLuminance: parameter element must not be undefined");t=Math.round(t),n=Math.round(n);var i,r,s,l=y.cornerstone.getEnabledElement(e).image,c=[],u=0,d=l.getPixelData();if(l.color)for(r=0;r0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var a={name:"WwwcRegion",supportedInteractionTypes:["Mouse","Touch"],configuration:{minWindowWidth:10},svgCursor:No};return(e=u()(this,h()(t).call(this,n,a)))._resetHandles(),e.postTouchStartCallback=e._startOutliningRegion.bind(wa()(e)),e.touchDragCallback=e._setHandlesAndUpdate.bind(wa()(e)),e.touchEndCallback=e._applyStrategy.bind(wa()(e)),e.postMouseDownCallback=e._startOutliningRegion.bind(wa()(e)),e.mouseClickCallback=e._startOutliningRegion.bind(wa()(e)),e.mouseDragCallback=e._setHandlesAndUpdate.bind(wa()(e)),e.mouseMoveCallback=e._setHandlesAndUpdate.bind(wa()(e)),e.mouseUpCallback=e._applyStrategy.bind(wa()(e)),e}return g()(t,e),l()(t,[{key:"renderToolData",value:function(e){var t=this,n=e.detail,a=n.element,o=un.getColorIfActive({active:!0}),i=_n(n.canvasContext.canvas);Wt(i,(function(e){kn(e,a,t.handles.start,t.handles.end,{color:o})}))}},{key:"_startOutliningRegion",value:function(e){var t=e.detail.element,n=e.detail.currentPoints.image;return Bl(this.handles.start)?this.handles.start=n:(this.handles.end=n,this._applyStrategy(e)),y.cornerstone.updateImage(t),!0}},{key:"_setHandlesAndUpdate",value:function(e){var t=e.detail.element,n=e.detail.currentPoints.image;this.handles.end=n,y.cornerstone.updateImage(t)}},{key:"_applyStrategy",value:function(e){Bl(this.handles.start)||Bl(this.handles.end)||(e.detail.handles=this.handles,Vl(e,this.configuration),this._resetHandles())}},{key:"_resetHandles",value:function(){this.handles={start:{},end:{}}}}]),t}(ga),Bl=function(e){return 0===Object.keys(e).length&&e.constructor===Object},Vl=function(e,t){var n=e.detail,a=n.image,o=n.element,i=e.detail.handles,r=i.start,s=i.end,l=Math.min(r.x,s.x),c=Math.min(r.y,s.y),u=Math.abs(r.x-s.x),d=Math.abs(r.y-s.y);l=In(l,0,a.width),c=In(c,0,a.height),u=Math.floor(Math.min(u,Math.abs(a.width-l))),d=Math.floor(Math.min(d,Math.abs(a.height-c)));var h=Nl(o,l,c,u,d),v=ql(h,a.minPixelValue,a.maxPixelValue),g=n.viewport;void 0===t.minWindowWidth&&(t.minWindowWidth=10),g.voi.windowWidth=Math.max(Math.abs(v.max-v.min),t.minWindowWidth),g.voi.windowCenter=v.mean,g.voiLUT=void 0,y.cornerstone.setViewport(o,g),y.cornerstone.updateImage(o)},ql=function(e,t,n){var a=e.length,o=n,i=t,r=0;if(a<2)return{min:o,max:i,mean:(t+n)/2};for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var n={name:"Wwwc",strategies:{basicLevelingStrategy:zl},supportedInteractionTypes:["Mouse","Touch"],configuration:{orientation:0},svgCursor:Fo};return u()(this,h()(t).call(this,e,n))}return g()(t,e),l()(t,[{key:"mouseDragCallback",value:function(e){this.applyActiveStrategy(e),y.cornerstone.setViewport(e.detail.element,e.detail.viewport)}},{key:"touchDragCallback",value:function(e){e.stopImmediatePropagation(),this.applyActiveStrategy(e),y.cornerstone.setViewport(e.detail.element,e.detail.viewport)}}]),t}(ga);function zl(e){var t=this.configuration.orientation,n=e.detail,a=(n.image.maxPixelValue*n.image.slope+n.image.intercept-(n.image.minPixelValue*n.image.slope+n.image.intercept))/1024,o=n.deltaPoints.page.x*a,i=n.deltaPoints.page.y*a;0===t?(n.viewport.voi.windowWidth+=o,n.viewport.voi.windowCenter+=i):(n.viewport.voi.windowWidth+=i,n.viewport.voi.windowCenter+=o),n.viewport.voiLUT=void 0}var Wl=function(e,t,n){var a=n.maxScale,o=n.minScale,i=Math.log(e.scale)/Math.log(1.7)+t,r=Math.pow(1.7,i);return e.scale=a&&r>a?a:o&&r0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var n={name:"ZoomMouseWheel",supportedInteractionTypes:["MouseWheel"],configuration:{minScale:.25,maxScale:20,invert:!1}};return u()(this,h()(t).call(this,e,n))}return g()(t,e),l()(t,[{key:"mouseWheelCallback",value:function(e){var t=e.detail,n=t.element,a=t.viewport,o=t.spinY,i=this.configuration,r=i.invert,s=i.maxScale,l=i.minScale,c=Wl(a,r?o/4:-o/4,{maxScale:s,minScale:l});y.cornerstone.setViewport(n,c)}}]),t}(ga),Xl=Gl.correctShift,Kl=Gl.changeViewportScale,Zl=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var n={name:"Zoom",strategies:{default:Jl,translate:Ql,zoomToCenter:ec},defaultStrategy:"default",supportedInteractionTypes:["Mouse","Touch"],configuration:{invert:!1,preventZoomOutsideImage:!1,minScale:.25,maxScale:20},svgCursor:Bo};return u()(this,h()(t).call(this,e,n))}return g()(t,e),l()(t,[{key:"touchDragCallback",value:function(e){$l.call(this,e)}},{key:"mouseDragCallback",value:function(e){$l.call(this,e)}}]),t}(ga),$l=function(e){if(!e.detail.deltaPoints.page.y)return!1;this.applyActiveStrategy(e,this.configuration),y.cornerstone.setViewport(e.detail.element,e.detail.viewport)};function Jl(e){var t=this.configuration,n=t.invert,a=t.maxScale,o=t.minScale,i=e.detail.deltaPoints.page.y,r=n?-i/100:i/100,s=e.detail,l=s.element,c=s.viewport,u=[e.detail.startPoints.page.x,e.detail.startPoints.page.y,e.detail.startPoints.image.x,e.detail.startPoints.image.y],d=u[0],h=u[1],v=u[2],g=u[3],f=Kl(c,r,{maxScale:a,minScale:o});y.cornerstone.setViewport(l,f);var m=y.cornerstone.pageToPixel(l,d,h),p={x:v-m.x,y:g-m.y};p=Xl(p,f),c.translation.x-=p.x,c.translation.y-=p.y}function Ql(e){var t=this.configuration,n=t.invert,a=t.preventZoomOutsideImage,o=t.maxScale,i=t.minScale,r=e.detail.deltaPoints.page.y,s=n?-r/100:r/100,l=e.detail.image,c=e.detail.viewport,u=[e.detail.startPoints.image.x,e.detail.startPoints.image.y],d=u[0],h=u[1],v=Kl(c,s,{maxScale:o,minScale:i}),g={x:0,y:0};if(s<0)v.scale<3&&(Math.abs(v.translation.x)<.01?v.translation.x=0:g.x=v.translation.x/8,Math.abs(v.translation.y)<.01?v.translation.y=0:g.y=v.translation.y/8);else{a&&Mn(e.detail.startPoints.image,l);var f={x:l.width/2-d,y:l.height/2-h};f=Xl(f,v);var m={x:v.translation.x-f.x,y:v.translation.y-f.y};Math.abs(m.x)<.01?v.translation.x=f.x:g.x=m.x/8,Math.abs(m.y)<.01?v.translation.y=f.y:g.y=m.y/8}v.translation.x-=g.x,v.translation.y-=g.y}function ec(e){var t=this.configuration,n=t.invert,a=t.maxScale,o=t.minScale,i=e.detail.deltaPoints.page.y,r=n?-i/100:i/100,s=e.detail.viewport;Kl(s,r,{maxScale:a,minScale:o})}var tc=Gl.correctShift,nc=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r()(this,t);var n={name:"ZoomTouchPinch",supportedInteractionTypes:["TouchPinch"],configuration:{minScale:.25,maxScale:20}};return u()(this,h()(t).call(this,e,n))}return g()(t,e),l()(t,[{key:"touchPinchCallback",value:function(e){var t=e.detail,n=t.element,a=t.viewport,o=t.scaleChange,i=[e.detail.startPoints.page.x,e.detail.startPoints.page.y,e.detail.startPoints.image.x,e.detail.startPoints.image.y],r=i[0],s=i[1],l=i[2],c=i[3],u=this.configuration,d=u.maxScale,h=u.minScale;a.scale+=o*a.scale,d&&a.scale>d?a.scale=d:h&&a.scale0&&void 0!==arguments[0]?arguments[0]:{},t=e.x,n=e.y;return{x:t,y:n}}var ic,rc=N("eventListeners:mouseEventListeners"),sc=!0,lc=new Map;function cc(e){if("number"==typeof e.buttons)return e.buttons;switch(e.which){case 0:return 0;case 1:return 1;case 2:return 4;case 3:return 2}return 0}function uc(){sc=!1}function dc(e){var t=e.currentTarget,n=y.cornerstone.getEnabledElement(t);if(n.image){var a=b.MOUSE_DOUBLE_CLICK,o={page:y.cornerstoneMath.point.pageToPoint(e),image:y.cornerstone.pageToPixel(t,e.pageX,e.pageY),client:{x:e.clientX,y:e.clientY}};o.canvas=y.cornerstone.pixelToCanvas(t,o.image);var i=ac(o);rc.log("double-click: %o",cc(e)),C(t,a,{event:e,buttons:cc(e),viewport:y.cornerstone.getViewport(t),image:n.image,element:t,startPoints:o,lastPoints:i,currentPoints:o,deltaPoints:{x:0,y:0},type:a})}}function hc(e){var t=e.currentTarget,n=y.cornerstone.getEnabledElement(t);if(n.image){ic=setTimeout(uc,200),t.removeEventListener("mousemove",vc);var a={page:y.cornerstoneMath.point.pageToPoint(e),image:y.cornerstone.pageToPixel(t,e.pageX,e.pageY),client:{x:e.clientX,y:e.clientY}};a.canvas=y.cornerstone.pixelToCanvas(t,a.image);var o=ac(a),i={event:e,buttons:cc(e),viewport:y.cornerstone.getViewport(t),image:n.image,element:t,startPoints:a,lastPoints:o,currentPoints:a,deltaPoints:{x:0,y:0},type:b.MOUSE_DOWN};C(i.element,b.MOUSE_DOWN,i)&&(i.type=b.MOUSE_DOWN_ACTIVATE,C(i.element,b.MOUSE_DOWN_ACTIVATE,i)),document.addEventListener("mousemove",r),document.addEventListener("mouseup",s),lc.set(r,"mousemove"),lc.set(s,"mouseup")}function r(e){var i=b.MOUSE_DRAG,r={page:y.cornerstoneMath.point.pageToPoint(e),image:y.cornerstone.pageToPixel(t,e.pageX,e.pageY),client:{x:e.clientX,y:e.clientY}};r.canvas=y.cornerstone.pixelToCanvas(t,r.image);var s={page:y.cornerstoneMath.point.subtract(r.page,o.page),image:y.cornerstoneMath.point.subtract(r.image,o.image),client:y.cornerstoneMath.point.subtract(r.client,o.client),canvas:y.cornerstoneMath.point.subtract(r.canvas,o.canvas)};rc.log("mousemove: %o",cc(e));var l={buttons:cc(e),viewport:y.cornerstone.getViewport(t),image:n.image,element:t,startPoints:a,lastPoints:o,currentPoints:r,deltaPoints:s,type:i,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey};C(l.element,i,l),o=ac(r)}function s(e){clearTimeout(ic);var i=b.MOUSE_UP;sc&&(i=b.MOUSE_CLICK);var l={page:y.cornerstoneMath.point.pageToPoint(e),image:y.cornerstone.pageToPixel(t,e.pageX,e.pageY),client:{x:e.clientX,y:e.clientY}};l.canvas=y.cornerstone.pixelToCanvas(t,l.image);var c={page:y.cornerstoneMath.point.subtract(l.page,o.page),image:y.cornerstoneMath.point.subtract(l.image,o.image),client:y.cornerstoneMath.point.subtract(l.client,o.client),canvas:y.cornerstoneMath.point.subtract(l.canvas,o.canvas)};rc.log("mouseup: %o",cc(e));var u={event:e,buttons:cc(e),viewport:y.cornerstone.getViewport(t),image:n.image,element:t,startPoints:a,lastPoints:o,currentPoints:l,deltaPoints:c,type:i};C(u.element,i,u),document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",s),lc.delete(r),lc.delete(s),t.addEventListener("mousemove",vc),sc=!0}}function vc(e){var t=e.currentTarget,n=y.cornerstone.getEnabledElement(t);if(n.image){var a=b.MOUSE_MOVE,o={page:y.cornerstoneMath.point.pageToPoint(e),image:y.cornerstone.pageToPixel(t,e.pageX,e.pageY),client:{x:e.clientX,y:e.clientY}};o.canvas=y.cornerstone.pixelToCanvas(t,o.image);var i=ac(o),r={page:y.cornerstoneMath.point.pageToPoint(e),image:y.cornerstone.pageToPixel(t,e.pageX,e.pageY),client:{x:e.clientX,y:e.clientY}};r.canvas=y.cornerstone.pixelToCanvas(t,r.image);var s={page:y.cornerstoneMath.point.subtract(r.page,i.page),image:y.cornerstoneMath.point.subtract(r.image,i.image),client:y.cornerstoneMath.point.subtract(r.client,i.client),canvas:y.cornerstoneMath.point.subtract(r.canvas,i.canvas)};C(t,a,{viewport:y.cornerstone.getViewport(t),image:n.image,element:t,startPoints:o,lastPoints:i,currentPoints:r,deltaPoints:s,type:a}),i=ac(r)}}function gc(e){e.removeEventListener("mousedown",hc),e.removeEventListener("mousemove",vc),e.removeEventListener("dblclick",dc),lc.forEach((function(e,t){document.removeEventListener(e,t)})),lc.clear()}var fc={enable:function(e){gc(e),e.addEventListener("mousedown",hc),e.addEventListener("mousemove",vc),e.addEventListener("dblclick",dc)},disable:gc};function mc(e){var t=e.currentTarget,n=y.cornerstone.getEnabledElement(t);if(n.image&&!(e.deltaY>-1&&e.deltaY<1)){e.preventDefault();var a=e.pageX,o=e.pageY,i=y.cornerstone.pageToPixel(t,a,o),r=function(e){var t=0,n=0,a=0,o=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),a=10*t,o=10*n,"deltaY"in e&&(o=e.deltaY),"deltaX"in e&&(a=e.deltaX),(a||o)&&e.deltaMode&&(1===e.deltaMode?(a*=40,o*=40):(a*=800,o*=800)),a&&!t&&(t=a<1?-1:1),o&&!n&&(n=o<1?-1:1),{spinX:t,spinY:n,pixelX:a,pixelY:o}}(e),s=r.spinX,l=r.spinY,c=r.pixelX,u=r.pixelY,d=l<0?-1:1,h={element:t,viewport:y.cornerstone.getViewport(t),detail:e,image:n.image,direction:d,spinX:s,spinY:l,pixelX:c,pixelY:u,pageX:a,pageY:o,imageX:i.x,imageY:i.y};C(t,b.MOUSE_WHEEL,h)}}function pc(e){e.removeEventListener("wheel",mc,{passive:!1})}var yc,xc,Tc={enable:function(e){pc(e),e.addEventListener("wheel",mc,{passive:!1})},disable:pc},bc=0,Cc=1;function Mc(e,t){var n=Date.now();if(e!==yc){if(n-xc<=2e3)return t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),!1;yc=e}xc=n}var Ec=Mc.bind(null,bc),wc=Mc.bind(null,Cc);function Ic(e,t,n){var a=n?Ec:wc;t.forEach((function(t){e.addEventListener(t,a,{passive:!1})}))}function Sc(e,t,n){var a=n?Ec:wc;t.forEach((function(t){e.removeEventListener(t,a)}))}var kc=["mousedown","mouseup"],_c=["touchstart","touchend"];function Pc(e){Sc(e,kc,bc),Sc(e,_c,Cc)}var Dc,Oc,Lc,Ac,Hc,Rc,Uc,Nc,Fc,Bc={enable:function(e){Pc(e),Ic(e,kc,bc),Ic(e,_c,Cc)},disable:Pc},Vc=1,qc=0,jc=!1,zc=!1;function Wc(e){var t=e.currentTarget||e.srcEvent.currentTarget,n=y.cornerstone.getEnabledElement(t);if(n.image){var a,o,i,r;switch(e.preventDefault(),(e.pointers&&e.pointers.length>1||e.touches&&e.touches.length>1)&&(zc=!1,clearTimeout(Uc)),e.type){case"tap":zc=!1,clearTimeout(Uc),(Oc={page:y.cornerstoneMath.point.pageToPoint(e.pointers[0]),image:y.cornerstone.pageToPixel(t,e.pointers[0].pageX,e.pointers[0].pageY),client:{x:e.pointers[0].clientX,y:e.pointers[0].clientY}}).canvas=y.cornerstone.pixelToCanvas(t,Oc.image),a=b.TAP,Hc={event:e,viewport:y.cornerstone.getViewport(t),image:n.image,element:t,currentPoints:Oc,type:a,isTouchEvent:!0},C(t,a,Hc);break;case"doubletap":zc=!1,clearTimeout(Uc),(Oc={page:y.cornerstoneMath.point.pageToPoint(e.pointers[0]),image:y.cornerstone.pageToPixel(t,e.pointers[0].pageX,e.pointers[0].pageY),client:{x:e.pointers[0].clientX,y:e.pointers[0].clientY}}).canvas=y.cornerstone.pixelToCanvas(t,Oc.image),a=b.DOUBLE_TAP,Hc={event:e,viewport:y.cornerstone.getViewport(t),image:n.image,element:t,currentPoints:Oc,type:a,isTouchEvent:!0},C(t,a,Hc);break;case"pinchstart":zc=!1,clearTimeout(Uc),Vc=1;break;case"pinchmove":if(zc=!1,clearTimeout(Uc),!0===jc){Vc=e.scale,jc=!1;break}o=(e.scale-Vc)/Vc,(Dc={page:e.center,image:y.cornerstone.pageToPixel(t,e.center.x,e.center.y)}).canvas=y.cornerstone.pixelToCanvas(t,Dc.image),a=b.TOUCH_PINCH,Hc={event:e,startPoints:Dc,viewport:y.cornerstone.getViewport(t),image:n.image,element:t,direction:e.scale<1?1:-1,scaleChange:o,type:a,isTouchEvent:!0},C(t,a,Hc),Vc=e.scale;break;case"touchstart":Vc=1,clearTimeout(Uc),clearTimeout(Rc),Rc=setTimeout((function(){(Dc={page:y.cornerstoneMath.point.pageToPoint(e.touches[0]),image:y.cornerstone.pageToPixel(t,e.touches[0].pageX,e.touches[0].pageY),client:{x:e.touches[0].clientX,y:e.touches[0].clientY}}).canvas=y.cornerstone.pixelToCanvas(t,Dc.image),a=b.TOUCH_START,e.touches.length>1&&(a=b.MULTI_TOUCH_START),Hc={event:e,viewport:y.cornerstone.getViewport(t),image:n.image,element:t,startPoints:Dc,currentPoints:Dc,type:a,isTouchEvent:!0},!0===C(t,a,Hc)&&(a=b.TOUCH_START_ACTIVE,e.touches.length>1&&(a=b.MULTI_TOUCH_START_ACTIVE),Hc.type=a,C(t,a,Hc)),Lc=ac(Dc)}),50),zc=!0,Nc=0,Uc=setTimeout((function(){zc&&((Oc={page:y.cornerstoneMath.point.pageToPoint(e.touches[0]),image:y.cornerstone.pageToPixel(t,e.touches[0].pageX,e.touches[0].pageY),client:{x:e.touches[0].clientX,y:e.touches[0].clientY}}).canvas=y.cornerstone.pixelToCanvas(t,Dc.image),a=b.TOUCH_PRESS,Hc={event:e,viewport:y.cornerstone.getViewport(t),image:n.image,element:t,currentPoints:Oc,type:a,isTouchEvent:!0},C(t,a,Hc))}),700);break;case"touchend":Vc=1,zc=!1,clearTimeout(Uc),setTimeout((function(){(Dc={page:y.cornerstoneMath.point.pageToPoint(e.changedTouches[0]),image:y.cornerstone.pageToPixel(t,e.changedTouches[0].pageX,e.changedTouches[0].pageY),client:{x:e.changedTouches[0].clientX,y:e.changedTouches[0].clientY}}).canvas=y.cornerstone.pixelToCanvas(t,Dc.image),a=b.TOUCH_END,Hc={event:e,viewport:y.cornerstone.getViewport(t),image:n.image,element:t,startPoints:Dc,currentPoints:Dc,type:a,isTouchEvent:!0},C(t,a,Hc)}),50);break;case"panmove":i={x:e.deltaX-Fc.x,y:e.deltaY-Fc.y},Fc={x:e.deltaX,y:e.deltaY},(Oc={page:{x:Lc.page.x+i.x,y:Lc.page.y+i.y},image:y.cornerstone.pageToPixel(t,Lc.page.x+i.x,Lc.page.y+i.y),client:{x:Lc.client.x+i.x,y:Lc.client.y+i.y}}).canvas=y.cornerstone.pixelToCanvas(t,Oc.image),Ac={page:y.cornerstoneMath.point.subtract(Oc.page,Lc.page),image:y.cornerstoneMath.point.subtract(Oc.image,Lc.image),client:y.cornerstoneMath.point.subtract(Oc.client,Lc.client),canvas:y.cornerstoneMath.point.subtract(Oc.canvas,Lc.canvas)},(Nc+=Math.sqrt(Ac.page.x*Ac.page.x+Ac.page.y*Ac.page.y))>5&&(zc=!1,clearTimeout(Uc)),a=b.TOUCH_DRAG,e.pointers.length>1&&(a=b.MULTI_TOUCH_DRAG),Hc={viewport:y.cornerstone.getViewport(t),image:n.image,element:t,startPoints:Dc,lastPoints:Lc,currentPoints:Oc,deltaPoints:Ac,numPointers:e.pointers.length,type:a,isTouchEvent:!0},C(t,a,Hc),Lc=ac(Oc);break;case"panstart":Fc={x:e.deltaX,y:e.deltaY},(Oc={page:y.cornerstoneMath.point.pageToPoint(e.pointers[0]),image:y.cornerstone.pageToPixel(t,e.pointers[0].pageX,e.pointers[0].pageY),client:{x:e.pointers[0].clientX,y:e.pointers[0].clientY}}).canvas=y.cornerstone.pixelToCanvas(t,Oc.image),Lc=ac(Oc);break;case"panend":if(zc=!1,clearTimeout(Uc),!Lc)return!1;(Oc={page:y.cornerstoneMath.point.pageToPoint(e.pointers[0]),image:y.cornerstone.pageToPixel(t,e.pointers[0].pageX,e.pointers[0].pageY),client:{x:e.pointers[0].clientX,y:e.pointers[0].clientY}}).canvas=y.cornerstone.pixelToCanvas(t,Oc.image),Ac={page:y.cornerstoneMath.point.subtract(Oc.page,Lc.page),image:y.cornerstoneMath.point.subtract(Oc.image,Lc.image),client:y.cornerstoneMath.point.subtract(Oc.client,Lc.client),canvas:y.cornerstoneMath.point.subtract(Oc.canvas,Lc.canvas)},a=b.TOUCH_DRAG_END,Hc={event:e.srcEvent,viewport:y.cornerstone.getViewport(t),image:n.image,element:t,startPoints:Dc,lastPoints:Lc,currentPoints:Oc,deltaPoints:Ac,type:a,isTouchEvent:!0},C(t,a,Hc),2===e.pointers.length-e.changedPointers.length&&(jc=!0);break;case"rotatemove":zc=!1,clearTimeout(Uc),r=e.rotation-qc,qc=e.rotation,a=b.TOUCH_ROTATE,Hc={event:e.srcEvent,viewport:y.cornerstone.getViewport(t),image:n.image,element:t,rotation:r,type:a},C(t,a,Hc)}return!1}}function Gc(e){Bc.disable(e);["touchstart","touchend"].forEach((function(t){e.removeEventListener(t,Wc)}));var t=zs("touchInput",e),n=t.hammer;n&&(n.off("tap doubletap panstart panmove panend pinchstart pinchmove rotatemove",Wc),n.input.destroy()),t.hammer=null,function(e,t){var n=js[e];n&&(js[e]=n.filter((function(e){return e.element!==t})))}("touchInput",e)}var Yc={enable:function(e){Gc(e);var t=y.Hammer,n={inputClass:t.SUPPORT_POINTER_EVENTS?t.PointerEventInput:t.TouchInput},a=new t.Manager(e,n),o={pointers:0,direction:t.DIRECTION_ALL,threshold:0},i=new t.Pan(o),r=new t.Pinch({threshold:0}),s=new t.Rotate({threshold:0});r.recognizeWith(i),r.recognizeWith(s),s.recognizeWith(i);var l=new t.Tap({event:"doubletap",taps:2,interval:1500,threshold:50,posThreshold:50});l.recognizeWith(i),a.add([l,i,s,r]),a.on("tap doubletap panstart panmove panend pinchstart pinchmove rotatemove",Wc),Bc.enable(e),["touchstart","touchend"].forEach((function(t){e.addEventListener(t,Wc,{passive:!1})}));var c=zs("touchInput",e);c.hammer=a,Ws("touchInput",e,c)},disable:Gc},Xc=Tt("segmentation");function Kc(e,t,n,a,o){!function(e,t,n){var a=Xc.configuration,o=e.detail,i=_n(o.canvasContext.canvas),r=y.cornerstone.pixelToCanvas(o.element,{x:0,y:0}),s=y.cornerstone.pixelToCanvas(o.element,{x:o.image.width,y:0}),l=y.cornerstone.pixelToCanvas(o.element,{x:o.image.width,y:o.image.height}),c=y.cornerstoneMath.point.distance(r,s),u=y.cornerstoneMath.point.distance(s,l),d=o.canvasContext.canvas,h=o.viewport,v=i.imageSmoothingEnabled,g=i.globalAlpha;i.imageSmoothingEnabled=!1,i.globalAlpha=n?a.fillAlpha:a.fillAlphaInactive,function(e,t,n){if(n.hflip||n.vflip||n.rotation){var a={x:t.width/2+n.translation.x*n.scale,y:t.height/2+n.translation.y*n.scale};e.translate(a.x,a.y),n.rotation&&e.rotate(n.rotation*Math.PI/180),n.vflip&&e.scale(1,-1),n.hflip&&e.scale(-1,1),e.translate(-a.x,-a.y)}}(i,d,h);var f=function(e){var t=e.viewport,n=e.image,a=t.scale,o=t.scale;n.rowPixelSpacing3&&void 0!==arguments[3])||arguments[3],o=Zc.configuration,i=Zc.state,r=e.detail,s=r.element,l=r.canvasContext,c=o.outlineWidth||1,u=_n(l.canvas),d=i.colorLutTables[n],h=u.globalAlpha;u.globalAlpha=a?o.outlineAlpha:o.outlineAlphaInactive,Wt(u,(function(e){for(var n=1;n=0,r=e.y+1=0,l=e.x+13&&void 0!==arguments[3]?arguments[3]:"mouse";return t.filter((function(t){for(var o=so(a,t.name),i=O(e,t.name),r=0;r0}))},xu=function(e){if(!pt.isToolLocked){var t=e.detail,n=e.detail.element,a=e.detail.currentPoints.canvas,o=pu(n,yt.mouseTools()),i=o.filter((function(e){return"active"===e.mode&&Array.isArray(e.options.mouseButtonMask)&&e.options.mouseButtonMask.includes(t.buttons)&&e.options.isMouseActive}));if(pt.isMultiPartToolActive&&(i=_a(i)),i.length>0){var r=i.find((function(e){return"function"==typeof e.preMouseDownCallback}));if(r)if(r.preMouseDownCallback(e))return}if(!pt.isMultiPartToolActive){var s=yu(n,o),l=mu(n,s,a,"mouse");if(l.length>0){var c=l[0],u=O(n,c.name),d=ho(n,u,c.name,a),h=d.handle,v=d.data;c.handleSelectedCallback(e,v,h,"mouse")}else{var g=o.filter((function(e){var t=O(n,e.name);return t&&t.data&&e.pointNearTool&&t.data.some((function(t){return e.pointNearTool(n,t,a,"mouse")}))}));if(g.length>0){var f=g[0],m=O(n,f.name).data.find((function(e){return f.pointNearTool(n,e,a)}));f.toolSelectedCallback(e,m,"mouse")}else if(i.length>0){var p=i.find((function(e){return"function"==typeof e.postMouseDownCallback}));if(p)if(p.postMouseDownCallback(e))return}}}}},Tu=N("eventDispatchers:mouseEventHandlers"),bu=function(e){if(!pt.isToolLocked){var t=e.detail,n=Pa(t.element,t.buttons,"mouse");if(n){if("function"==typeof n.preMouseDownActivateCallback)if(n.preMouseDownActivateCallback(e))return;pt.isMultiPartToolActive||(n.addNewMeasurement?n.addNewMeasurement(e,"mouse"):n instanceof fo&&function(e,t){Tu.log("addNewMeasurement"),e.preventDefault(),e.stopPropagation();var n=e.detail,a=n.element,o=t.createNewMeasurement(n);o&&(D(a,t.name,o),y.cornerstone.updateImage(a),(1===Object.keys(o.handles).length?Wa:to)(n,t.name,o,o.handles.end,t.options,"mouse",(function(e){if(!o.cancelled)if(e){var n=b.MEASUREMENT_COMPLETED,i={toolName:t.name,toolType:t.name,element:a,measurementData:o};C(a,n,i)}else L(a,t.name,o)})))}(e,n))}}},Cu=function(e){if(!pt.isToolLocked){var t,n=e.detail,a=n.element;if(t=(t=(t=Ma(a,yt.mouseTools())).filter((function(e){return Array.isArray(e.options.mouseButtonMask)&&e.options.mouseButtonMask.includes(n.buttons)&&e.options.isMouseActive}))).filter((function(e){return"function"==typeof e.mouseDragCallback})),pt.isMultiPartToolActive&&(t=_a(t)),0!==t.length)t[0].mouseDragCallback(e)}},Mu=function(e){if(!pt.isToolLocked&&!pt.isMultiPartToolActive){var t,n=e.detail,a=n.element,o=n.currentPoints;pt.mousePositionImage=o.image;var i=(t=pu(a,yt.mouseTools())).filter((function(e){return"active"===e.mode&&e.options.isMouseActive})),r=!1;i.length>0&&(r=i.some((function(e){return e.updateOnMouseMove}))),t=yu(a,t);for(var s=0;s0){var i=o[0],r=O(n,i.name),s=r.data.find((function(e){return void 0!==pa(n,e.handles,a,28)}));return r.data.active=!0,s.active=!0,y.cornerstone.updateImage(n),Wa(e.detail,i.name,r.data,s,i.options,"touch",(function(){return Ru(r)})),e.stopImmediatePropagation(),void e.preventDefault()}var l=t.filter((function(e){var t=O(n,e.name);return t&&t.data&&e.pointNearTool&&t.data.some((function(t){return e.pointNearTool(n,t,a)}))}));if(l.length>0){var c=l[0],u=O(n,c.name),d=u.data.find((function(e){return c.pointNearTool(n,e,a)}));return d.active=!0,y.cornerstone.updateImage(n),Ha(e.detail,c.name,d,null,c.options,"touch",(function(){return Ru(u)})),e.stopImmediatePropagation(),void e.preventDefault()}var h=Ma(n,yt.touchTools());return h.length>0&&h[0].touchStartActiveCallback?h[0].touchStartActiveCallback(e):Hu(e),!1}},Fu=function(e){if(!pt.isToolLocked){var t=e.detail,n=t.element,a=t.startPoints.canvas,o=pu(n,yt.touchTools()),i=o.filter((function(e){return"active"===e.mode&&e.options.isTouchActive}));if(pt.isMultiPartToolActive&&(i=_a(i)),i.length>0){var r=i.find((function(e){return"function"==typeof e.preTouchStartCallback}));if(r)if(r.preTouchStartCallback(e))return}if(!pt.isMultiPartToolActive){var s=yu(n,o),l=mu(n,s,a,"touch");if(l.length>0){var c=l[0],u=O(n,c.name),d=ho(n,u,c.name,a,"touch"),h=d.handle,v=d.data;c.handleSelectedCallback(e,v,h,"touch")}else{var g=s.filter((function(e){var t=O(n,e.name);return t&&t.data&&e.pointNearTool&&t.data.some((function(t){return e.pointNearTool(n,t,a,"touch")}))}));if(g.length>0){var f=g[0],m=O(n,f.name).data.find((function(e){return f.pointNearTool(n,e,a)}));f.toolSelectedCallback(e,m,"touch")}else if(i.length>0){var p=i.find((function(e){return"function"==typeof e.postTouchStartCallback}));if(p)if(p.postTouchStartCallback(e))return}}}}},Bu=fu.bind(null,"DoubleTap","doubleTapCallback"),Vu=fu.bind(null,"Touch","touchDragCallback"),qu=fu.bind(null,"Touch","touchEndCallback"),ju=fu.bind(null,"TouchPinch","touchPinchCallback"),zu=fu.bind(null,"Touch","touchPressCallback"),Wu=fu.bind(null,"TouchRotate","touchRotateCallback"),Gu=function(e){e.addEventListener(b.TAP,Nu),e.addEventListener(b.TOUCH_START,Fu,{passive:!1}),e.addEventListener(b.TOUCH_DRAG,Vu,{passive:!1}),e.addEventListener(b.TOUCH_END,qu),e.addEventListener(b.TOUCH_START_ACTIVE,Hu),e.addEventListener(b.TOUCH_PRESS,zu),e.addEventListener(b.DOUBLE_TAP,Bu),e.addEventListener(b.TOUCH_PINCH,ju),e.addEventListener(b.TOUCH_ROTATE,Wu),e.addEventListener(b.MULTI_TOUCH_DRAG,Lu)},Yu=function(e){e.removeEventListener(b.TAP,Nu),e.removeEventListener(b.TOUCH_START,Fu),e.removeEventListener(b.TOUCH_DRAG,Vu),e.removeEventListener(b.TOUCH_END,qu),e.removeEventListener(b.TOUCH_START_ACTIVE,Hu),e.removeEventListener(b.TOUCH_PRESS,zu),e.removeEventListener(b.DOUBLE_TAP,Bu),e.removeEventListener(b.TOUCH_PINCH,ju),e.removeEventListener(b.TOUCH_ROTATE,Wu),e.removeEventListener(b.MULTI_TOUCH_DRAG,Lu)},Xu=N("addTool"),Ku=function(e,t,n){var a=new t(n);Ct(e,a.name)?Xu.warn("%s has already been added to the target element",a.name):(a.element=e,bt.state.tools.push(a))},Zu=function(e,t){$u(e,t),bt.state.enabledElements.forEach((function(n){Ku(n,e,t)}))},$u=function(e,t){if(Tt("globalConfiguration").configuration.globalToolSyncEnabled){var n=new e(t);void 0!==bt.state.globalTools[n.name]?Xu.warn("%s has already been added globally",n.name):bt.state.globalTools[n.name]={tool:e,props:t,activeBindings:[]}}},Ju=N("internals:addEnabledElement"),Qu=function(e){Ju.log("EVENT:ELEMENT_ENABLED");var t=e.detail.element;vu(t),Du(t);var n=Tt("globalConfiguration").configuration;n.mouseEnabled&&(fc.enable(t),Tc.enable(t),ku(t)),n.touchEnabled&&(Yc.enable(t),Gu(t)),ed(t)},ed=function(e){bt.state.enabledElements.push(e),bt.modules&&function(e){var t=bt.modules;Object.keys(t).forEach((function(n){"function"==typeof t[n].enabledElementCallback&&t[n].enabledElementCallback(e)}))}(e),function(e){if(!Tt("globalConfiguration").configuration.globalToolSyncEnabled)return;Object.keys(bt.state.globalTools).forEach((function(t){var n=bt.state.globalTools[t],a=n.tool,o=n.props;Ku(e,a,o)}))}(e),function(e){if(!Tt("globalConfiguration").configuration.globalToolSyncEnabled)return;var t={active:_t,passive:Ht,enabled:Lt,disabled:Dt};bt.state.globalToolChangeHistory.forEach((function(n){var a=n.args.slice(0);a.unshift(e),t[n.mode].apply(null,a)}))}(e)};var td=N("internals:removeEnabledElement"),nd=function(e){td.log("EVENT:ELEMENT_DISABLED");var t=e.detail.element,n=Tt("globalConfiguration").configuration;gu(t),Ou(t),n.mouseEnabled&&(fc.disable(t),Tc.disable(t),_u(t)),n.touchEnabled&&(Yc.disable(t),Yu(t)),ad(t),od(t),id(t)},ad=function(e){bt.state.tools.forEach((function(t){t.element===e&&Dt(t.element,t.name)})),bt.state.tools=bt.state.tools.filter((function(t){return t.element!==e}))},od=function(e){bt.modules&&function(e){var t=bt.modules;Object.keys(t).forEach((function(n){"function"==typeof t[n].removeEnabledElementCallback&&t[n].removeEnabledElementCallback(e)}))}(e);var t=bt.state.enabledElements.findIndex((function(t){return t===e}));t>-1?bt.state.enabledElements.splice(t,1):td.warn("unable to remove element")},id=function(e){qs.removeHandlers(e)};var rd,sd=function(){window.removeEventListener("resize",ld,!1)};function ld(){rd||(rd=setTimeout((function(){rd=null,cd()}),66))}var cd=function(){pt.enabledElements.forEach((function(e){y.cornerstone.resize(e)}))},ud=function(){sd(),window.addEventListener("resize",ld,!1)},dd=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};hd(),vd();var t=Tt("globalConfiguration");Array.isArray(e)?e.forEach((function(e){var t=e.moduleName,n=e.configuration,a=Tt(t);a&&(a.configuration=Object.assign({},a.configuration,n))})):t.configuration=Object.assign({},t.configuration,e),t.configuration.autoResizeViewports&&ud()};function hd(){!function(){var e=y.cornerstone,t=e.EVENTS.ELEMENT_ENABLED,n=e.EVENTS.ELEMENT_DISABLED;e.events.removeEventListener(t,Qu),e.events.removeEventListener(n,nd)}();var e=y.cornerstone,t=e.EVENTS.ELEMENT_ENABLED,n=e.EVENTS.ELEMENT_DISABLED;e.events.addEventListener(t,Qu),e.events.addEventListener(n,nd)}function vd(){var e=bt.modules;Object.keys(e).forEach((function(t){"function"==typeof e[t].onRegisterCallback&&e[t].onRegisterCallback()}))}var gd,fd=N("stackTools:stackPrefetch"),md={maxImagesToPrefetch:1/0,preserveExistingPool:!1};function pd(e,t){e=Math.round(e)||0;var n=[],a=(t=Math.round(t)||0)-e+1;if(a<=0)return n;for(;a--;)n[a]=t--;return n}function yd(e){var t=O(e,"stack");if(t&&t.data&&t.data.length){var n=t.data[0],a=O(e,"stackPrefetch");if(a){var o=a.data[0]||{};if(o.indicesToRequest&&o.indicesToRequest.length||(o.enabled=!1),!1!==o.enabled)if(a.data[0].indicesToRequest.sort((function(e,t){return e-t})),o.indicesToRequest.slice().forEach((function(e){var t=n.imageIds[e];t&&(y.cornerstone.imageCache.getImageLoadObject(t)&&b(e))})),o.indicesToRequest.length){md.preserveExistingPool||y.cornerstone.imageLoadPoolManager.clearRequestStack("prefetch");for(var i,r,s,l,c,u,d,h=(i=o.indicesToRequest,r=n.currentImageIdIndex,s=0,l=i.length-1,i.forEach((function(e,t){er&&(l=Math.min(t,l))})),{low:s,high:l}),v=(qs.getErrorLoadingHandler(e),h.low),g=h.high,f=[];v>=0||gmd.maxImagesToPrefetch)&&v>=0,x=!(o.indicesToRequest[g]-m>md.maxImagesToPrefetch)&&g-1&&o.indicesToRequest.splice(t,1)}}function xd(e){return function(t){var n,a=t.detail;try{n=O(e,"stack")}catch(e){return}if(n&&n.data&&n.data.length){var o=n.data[0].imageIds.indexOf(a.imageId);if(!(o<0)){var i=O(e,"stackPrefetch");i&&i.data&&i.data.length&&i.data[0].indicesToRequest.push(o)}}}}function Td(e){clearTimeout(gd),gd=setTimeout((function(){var t=e.target;try{yd(t)}catch(e){return}}),10)}var bd={enable:function(e){O(e,"stackPrefetch").data=[];var t=O(e,"stack");if(t&&t.data&&t.data.length){var n=t.data[0];if(!0!==n.preventCache){var a={indicesToRequest:pd(0,n.imageIds.length-1),enabled:!0,direction:1},o=a.indicesToRequest.indexOf(n.currentImageIdIndex);a.indicesToRequest.splice(o,1),D(e,"stackPrefetch",a),yd(e),e.removeEventListener(y.cornerstone.EVENTS.NEW_IMAGE,Td),e.addEventListener(y.cornerstone.EVENTS.NEW_IMAGE,Td);var i=xd(e);y.cornerstone.events.removeEventListener(y.cornerstone.EVENTS.IMAGE_CACHE_PROMISE_REMOVED,i),y.cornerstone.events.addEventListener(y.cornerstone.EVENTS.IMAGE_CACHE_PROMISE_REMOVED,i)}else fd.warn("A stack that should not be cached was given the stackPrefetch")}},disable:function(e){clearTimeout(gd),e.removeEventListener(y.cornerstone.EVENTS.NEW_IMAGE,Td);var t=xd(e);y.cornerstone.events.removeEventListener(y.cornerstone.EVENTS.IMAGE_CACHE_PROMISE_REMOVED,t);var n=O(e,"stackPrefetch");n&&n.data.length&&(n.data[0].enabled=!1,y.cornerstone.imageLoadPoolManager.clearRequestStack("prefetch"))},getConfiguration:function(){return md},setConfiguration:function(e){md=e}},Cd=function(){function e(){r()(this,e),this.currentImageIdIndex=0,this.layerIds=[],this.findImageFn=void 0}return l()(e,[{key:"render",value:function(e,t){var n=this;if(!Number.isInteger(this.currentImageIdIndex))throw new Error("FusionRenderer: render - Image ID Index is not an integer");if(!this.findImageFn)throw new Error("No findImage function has been defined");t||(t=O(e,"stack").data);var a=y.cornerstone,o=t[0],i=o.imageIds[this.currentImageIdIndex],r=t.slice(1,t.length);a.loadAndCacheImage(i).then((function(t){var s=n.layerIds[0];s?a.setLayerImage(e,t,s):(s=a.addLayer(e,t,o.options),n.layerIds.push(s)),a.displayImage(e,t),r.forEach((function(t,o){var r=n.findImageFn(t.imageIds,i),l=o+1,c=n.layerIds[l];c||(c=a.addLayer(e,void 0,t.options),n.layerIds.push(c)),r?a.loadAndCacheImage(r).then((function(t){a.setLayerImage(e,t,c),a.updateImage(e)})):(a.setLayerImage(e,void 0,c),a.setActiveLayer(e,s),a.updateImage(e))}))}))}}]),e}(),Md={};Md.FusionRenderer=Cd;var Ed=Md;function wd(e){var t=e.intervalId;void 0!==t&&(e.intervalId=void 0,e.usingFrameTimeVector?clearTimeout(t):clearInterval(t))}function Id(e,t){var n,a;if(void 0===e)throw new Error("playClip: element must not be undefined");var o=O(e,"stack");if(o&&o.data&&o.data.length){var i,r=y.cornerstone;if(o.data.length>1){var s=O(e,"stackRenderer");s&&s.data&&s.data.length&&(i=s.data[0])}var l=o.data[0],c=O(e,"playClip");c&&c.data&&c.data.length?wd(n=c.data[0]):D(e,"playClip",n={intervalId:void 0,framesPerSecond:30,lastFrameTimeStamp:void 0,frameRate:0,frameTimeVector:void 0,ignoreFrameTimeVector:!1,usingFrameTimeVector:!1,speed:1,reverse:!1,loop:!0}),(t<0||t>0)&&(n.framesPerSecond=Number(t),n.reverse=n.framesPerSecond<0,n.ignoreFrameTimeVector=!0),!0!==n.ignoreFrameTimeVector&&n.frameTimeVector&&n.frameTimeVector.length===l.imageIds.length&&(a=function(e,t){var n,a,o,i=0,r=e.length,s=[];for(s.isTimeVarying=!1,("number"!=typeof t||t<=0)&&(t=1),n=1;n0&&(o=s.isTimeVarying?i/s.length|0:s[0],s.push(o)),s}(n.frameTimeVector,n.speed));var u=function(){var t,a,s,c=l.currentImageIdIndex,u=l.imageIds.length;if(n.reverse?c--:c++,!n.loop&&(c<0||c>=u))return wd(n),void function(e){C(e,b.CLIP_STOPPED,{element:e})}(e);c>=u&&(c=0),c<0&&(c=u-1),c!==l.currentImageIdIndex&&(t=qs.getStartLoadHandler(e),a=qs.getEndLoadHandler(e),s=qs.getErrorLoadingHandler(e),t&&t(e),(!0===l.preventCache?r.loadImage(l.imageIds[c]):r.loadAndCacheImage(l.imageIds[c])).then((function(t){try{l.currentImageIdIndex=c,i?(i.currentImageIdIndex=c,i.render(e,o.data)):r.displayImage(e,t),a&&a(e,t)}catch(e){return}}),(function(t){var n=l.imageIds[c];s&&s(e,n,t)})))};a&&a.length>0&&a.isTimeVarying?(n.usingFrameTimeVector=!0,n.intervalId=setTimeout((function e(){n.intervalId=setTimeout(e,a[l.currentImageIdIndex]),u()}),0)):(n.usingFrameTimeVector=!1,n.intervalId=setInterval(u,1e3/Math.abs(n.framesPerSecond)))}}function Sd(e){var t=O(e,"playClip");t&&t.data&&t.data.length&&wd(t.data[0])}var kd=function(e,t){var n=bt.state.tools.findIndex((function(n){return n.element===e&&n.name===t}));n>=0&&bt.state.tools.splice(n,1)},_d=function(e){Pd(e),bt.state.enabledElements.forEach((function(t){kd(t,e)}))},Pd=function(e){Tt("globalConfiguration").configuration.globalToolSyncEnabled&&bt.state.globalTools[e]&&delete bt.state.globalTools[e]},Dd=function(e,t,n){var a=Ct(e,t);a&&a.mergeOptions(n)},Od=function(e,t){pt.enabledElements.forEach((function(n){Dd(n,e,t)}))};function Ld(e,t){var n={};return{get:function(a,o){return e.indexOf(o)>=0?(!1===n.hasOwnProperty(o)&&(n[o]={data:[]}),n[o]):t.get(a,o)},add:function(a,o,i){if(!(e.indexOf(o)>=0))return t.add(a,o,i);!1===n.hasOwnProperty(o)&&(n[o]={data:[]}),n[o].data.push(i)},saveToolState:function(){return n},restoreToolState:function(e){n=e},toolState:n}}var Ad=[];function Hd(e,t){var n=P(e);n||(n=_);var a=["stack","stackPrefetch","playClip","volume","slab","referenceLines","crosshairs","stackRenderer"];t&&(a=a.concat(t));var o=Ld(a,n);Ad.push(o),H(e,o)}var Rd={newStackSpecificToolStateManager:Ld,addStackStateManager:Hd};function Ud(){var e={};return{get:function(t,n){if(!1!==e.hasOwnProperty(t)){var a=e[t];if(!1!==a.hasOwnProperty(n))return a[n]}},add:function(t,n,a){!1===e.hasOwnProperty(t)&&(e[t]={});var o=e[t];!1===o.hasOwnProperty(n)&&(o[n]={data:[]}),o[n].data.push(a)},remove:function(t,n,a){if(!1!==e.hasOwnProperty(t)){var o=e[t];if(!1!==o.hasOwnProperty(n)){for(var i=o[n],r=-1,s=0;s2&&void 0!==arguments[2]?arguments[2]:"image/png",a=e.querySelector("canvas");if(a.msToBlob){var o=a.msToBlob();return window.navigator.msSaveBlob(o,t)}var i=document.createElement("a");if(i.download=t,i.href=a.toDataURL(n,1),document.createEvent){var r=document.createEvent("MouseEvents");r.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),i.dispatchEvent(r)}else i.fireEvent&&i.fireEvent("onclick")},Bd=N("thirdParty:registerModule"),Vd=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=qd(e);!a||n?(a&&Bd.warn("Overwriting module %s",e),xt[e]=t,"function"==typeof xt[e].onRegisterCallback&&xt[e].onRegisterCallback()):Bd.warn("A module with the name %s is already registered",e)};function qd(e){return void 0!==xt[e]}function jd(){var e,t=navigator.userAgent,n=t.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];return/trident/i.test(n[1])?(e=/\brv[ :]+(\d+)/g.exec(t)||[],"IE ".concat(e[1]||"")):"Chrome"===n[1]&&null!==(e=t.match(/\b(OPR|Edge)\/(\d+)/))?e.slice(1).join(" ").replace("OPR","Opera"):(n=n[2]?[n[1],n[2]]:[navigator.appName,navigator.appVersion,"-?"],null!==(e=t.match(/version\/(\d+)/i))&&n.splice(1,1,e[1]),n.join(" "))}var zd={"base/BaseTool":ga,"base/BaseAnnotationTool":fo,"base/BaseBrushTool":ka,"tools/cursors/MouseCursor":xo,"tools/cursors":o,"manipulators/anyHandlesOutsideImage":ba,"manipulators/getHandleNearImagePoint":pa,"manipulators/getHandlePixelPosition":Ca,"manipulators/handleActivator":ya,"manipulators/moveAllHandles":Ha,"manipulators/moveHandle":Wa,"manipulators/moveNewHandle":to,"manipulators/moveHandleNearImagePoint":uo,"manipulators/findHandleDataNearImagePoint":ho,"manipulators/moveAnnotation":vo,"mixins/activeOrDisabledBinaryTool":ia.activeOrDisabledBinaryTool,"mixins/enabledOrDisabledBinaryTool":ia.enabledOrDisabledBinaryTool,"drawing/getNewContext":_n,"drawing/draw":Wt,"drawing/path":Kt,"drawing/setShadow":Dn,"drawing/drawLine":Zt,"drawing/drawLines":hn,"drawing/drawJoinedLines":$t,"drawing/drawCircle":Qt,"drawing/drawEllipse":rn,"drawing/drawRect":kn,"drawing/fillOutsideRect":function(e,t,n,a,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"pixel";if("pixel"===i){var r=y.cornerstone;n=r.pixelToCanvas(t,n),a=r.pixelToCanvas(t,a)}var s=Math.min(n.x,a.x),l=Math.min(n.y,a.y),c=Math.abs(n.x-a.x),u=Math.abs(n.y-a.y);Kt(e,o,(function(e){e.rect(0,0,e.canvas.clientWidth,e.canvas.clientHeight),e.rect(s+c,l,-c,u)}))},"drawing/drawTextBox":bn,"drawing/drawArrow":Jt,"drawing/fillBox":xn,"drawing/fillTextLines":yn,"drawing/drawLink":vn,"drawing/drawLinkedTextBox":Sn,"drawing/drawHandles":dn,"drawing/textBoxWidth":Tn,"util/getActiveTool":Pa,"util/getLuminance":Nl,"util/getROITextBoxCoords":nr,"util/copyPoints":ac,"util/calculateSUV":$i,"util/setContextToDisplayFontSize":function(e,t,n){return y.cornerstone.setToPixelCoordinateSystem(e,t,.1),{fontSize:n/e.viewport.scale/.1,lineHeight:n/e.viewport.scale/.1,fontScale:.1}},"util/scrollToIndex":Ol,"util/scroll":Ll,"util/roundToDecimal":po,"util/projectPatientPointToImagePlane":tn,"util/imagePointToPatientPoint":nn,"util/planePlaneIntersection":an,"util/pointInsideBoundingBox":fa,"util/makeUnselectable":function(e,t){e.style.webkitUserSelect="none",e.style.webkitTouchCallout="none",e.style.mozUserSelect="none",e.style.msUserSelect="none",e.style.oUserSelect="none",e.style.khtmlUserSelect="none",e.style.userSelect="none",e.unselectable="on",e.oncontextmenu=function(){return!1},!0===t&&(e.style.pointerEvents="none")},"util/getRGBPixels":qr,"util/getBrowserInfo":jd,"util/isMobileDevice":function(){return new RegExp("Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini").test(navigator.userAgent)},"util/angleBetweenPoints":bl,"util/numbersWithCommas":ar,"util/lineSegDistance":mo,"util/triggerEvent":C,"util/convertToVector3":en,"util/clip":Cn,"util/clipToBox":Mn,"util/clipBoxToDisplayedArea":wn,"util/debounce":si,"util/deepmerge":da,"util/getDefault":Pn,"util/getProximityThreshold":so,"util/getPixelSpacing":ii,"util/isEmptyObject":On,"util/isObject":ri,"util/isPointInImage":Ge,"util/isPointInPolygon":cs,"util/getLogger":N,"util/throttle":li,"util/wait":pl,"util/waitForEnabledElementImageToLoad":yl,"util/getKeyPressData":function(e){var t=y.cornerstone,n=e.currentTarget,a=t.getEnabledElement(n);if(a&&a.image){var o=bt.state.mousePositionImage;return{event:window.event||e,element:n,viewport:t.getViewport(n),image:a.image,currentPoints:{image:o,canvas:t.pixelToCanvas(n,o)},keyCode:e.keyCode,which:e.which}}},"util/ellipseUtils":tr,"util/freehandUtils":Dr,"util/segmentationUtils":a,"util/zoomUtils":Gl},Wd=N("thirdParty:registerMixin"),Gd=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=Yd(e);!a||n?(a&&Wd.warn("Overwriting mixins/%s",e),ia[e]=t,zd["mixins/".concat(e)]=ia[e]):Wd.warn("mixins/%s is already registered",e)};function Yd(e){return void 0!==ia[e]}var Xd=N("thirdParty:registerType"),Kd=function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o="".concat(e,"/").concat(t),i=Zd(o);!i||a?(i&&Xd.warn("Overwriting %s",o),zd[o]=n):Xd.warn("%s is already registered",o)};function Zd(e){return void 0!==zd[e]}var $d=N("thirdParty:register"),Jd=function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(Qd(e,t,n))switch(e){case"module":Vd(t,n,a);break;case"mixin":Gd(t,n,a);break;default:Kd(e,t,n,a)}};function Qd(e,t,n){return e?t?"object"===T()(n)||"function"==typeof n||($d.warn("The %s is a %s, it should be an Object or a function.",n,T()(n)),!1):($d.warn("The %s must have a name in order to register.",e),!1):($d.warn("The type must be given in order to register."),!1)}var eh=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.forEach((function(e){var n=e.type,a=e.name,o=e.item;Jd(n,a,o,t)}))},th=function(e,t,n){if(n!==t){var a=y.cornerstone,o=a.getViewport(t),i=a.getViewport(n);i.voi.windowWidth===o.voi.windowWidth&&i.voi.windowCenter===o.voi.windowCenter&&i.invert===o.invert||(i.voi.windowWidth=o.voi.windowWidth,i.voi.windowCenter=o.voi.windowCenter,i.invert=o.invert,e.setViewport(n,i))}},nh=function(e,t,n){n!==t&&y.cornerstone.updateImage(n)};function ah(e){return e.filter((function(e,t,n){return n.indexOf(e)===t}))}var oh=function(e,t){y.cornerstone;var n=this,a=[],o=[],i=!1,r={},s=t;function l(e){var t=e.detail.element;n.remove(t),function(e){for(var t in js)js[t]=js[t].filter((function(t){return t.element!==e}))}(t)}this.enabled=!0,this.setHandler=function(e){s=e},this.getHandler=function(){return s},this.getDistances=function(){if(a.length&&o.length){var e=y.cornerstone;r.distances={},r.imageIds={sourceElements:[],targetElements:[]},a.forEach((function(t){var n=e.getEnabledElement(t);if(n&&n.image){var a=n.image.imageId,i=e.metaData.get("imagePlaneModule",a);if(i&&i.imagePositionPatient){var s=en(i.imagePositionPatient);r.hasOwnProperty(n)||(r.distances[a]={},r.imageIds.sourceElements.push(a),o.forEach((function(n){var o=e.getEnabledElement(n);if(o&&o.image){var i=o.image.imageId;if(r.imageIds.targetElements.push(i),t!==n&&a!==i&&!r.distances[a].hasOwnProperty(i)){var l=e.metaData.get("imagePlaneModule",i);if(l&&l.imagePositionPatient){var c=en(l.imagePositionPatient);r.distances[a][i]=c.clone().sub(s)}}}})),Object.keys(r.distances[a]).length||delete r.distances[a])}}}))}},this.fireEvent=function(e,t){var l=!n.enabled,c=!a.length||!o.length;l||c||(i=!0,o.forEach((function(i){var l=o.indexOf(i);if(-1!==l){var c=r.imageIds.targetElements[l],u=a.indexOf(e);if(-1!==u){var d,h=r.imageIds.sourceElements[u];h===c?d=0:void 0!==r.distances[h]&&(d=r.distances[h][c]),s(n,e,i,t,d)}}})),i=!1)},this.onEvent=function(e){var t=e.detail;!0!==i&&n.fireEvent(e.currentTarget,t)},this.addSource=function(t){-1===a.indexOf(t)&&(a.push(t),e.split(" ").forEach((function(e){t.addEventListener(e,n.onEvent)})),n.getDistances(),n.updateDisableHandlers())},this.addTarget=function(e){-1===o.indexOf(e)&&(o.push(e),n.getDistances(),s(n,e,e,0),n.updateDisableHandlers())},this.add=function(e){n.addSource(e),n.addTarget(e)},this.removeSource=function(t){var o=a.indexOf(t);-1!==o&&(a.splice(o,1),e.split(" ").forEach((function(e){t.removeEventListener(e,n.onEvent)})),n.getDistances(),n.fireEvent(t),n.updateDisableHandlers())},this.removeTarget=function(e){var t=o.indexOf(e);-1!==t&&(o.splice(t,1),n.getDistances(),s(n,e,e,0),n.updateDisableHandlers())},this.remove=function(e){n.removeTarget(e),n.removeSource(e)},this.getSourceElements=function(){return a},this.getTargetElements=function(){return o},this.displayImage=function(e,t,n){i=!0,y.cornerstone.displayImage(e,t,n),i=!1},this.setViewport=function(e,t){i=!0,y.cornerstone.setViewport(e,t),i=!1},this.updateDisableHandlers=function(){ah(a.concat(o)).forEach((function(e){e.removeEventListener(y.cornerstone.EVENTS.ELEMENT_DISABLED,l),e.addEventListener(y.cornerstone.EVENTS.ELEMENT_DISABLED,l)}))},this.destroy=function(){ah(a.concat(o)).forEach((function(e){n.remove(e)}))}},ih=function(e,t,n,a){if(t!==n&&a&&a.direction){var o=y.cornerstone,i=O(n,"stack").data[0],r=i.currentImageIdIndex+a.direction;if(r=In(r,0,i.imageIds.length-1),i.currentImageIdIndex!==r){var s=qs.getStartLoadHandler(n),l=qs.getEndLoadHandler(n),c=qs.getErrorLoadingHandler(n);i.currentImageIdIndex=r;var u=i.imageIds[r];s&&s(n),(!0===i.preventCache?o.loadImage(u):o.loadAndCacheImage(u)).then((function(t){var a=o.getViewport(n);i.currentImageIdIndex===r&&(e.displayImage(n,t,a),l&&l(n,t))}),(function(e){var t=i.imageIds[r];c&&c(n,t,e)}))}}},rh=function(e,t,n){if(n!==t){var a=y.cornerstone,o=O(t,"stack").data[0],i=o.imageIds[o.currentImageIdIndex],r=a.metaData.get("imagePlaneModule",i);if(void 0!==r&&void 0!==r.imagePositionPatient){var s=en(r.imagePositionPatient),l=O(n,"stack").data[0],c=Number.MAX_VALUE,u=-1;if(l.imageIds.forEach((function(e,t){var n=a.metaData.get("imagePlaneModule",e);if(void 0!==n&&void 0!==n.imagePositionPatient){var o=en(n.imagePositionPatient).distanceToSquared(s);o>4!=4092||65476===t;){switch(t){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,n.lossless.Decoder.TABLE);break;case 65501:this.restartInterval=this.readNumber();break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(t>>8!=255)throw new Error("ERROR: format throw new IOException! (decode)")}t=this.stream.get16()}if(t<65472||t>65479)throw new Error("ERROR: could not handle arithmetic code!");this.frame.read(this.stream),t=this.stream.get16();do{for(;65498!==t;){switch(t){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,n.lossless.Decoder.TABLE);break;case 65501:this.restartInterval=this.readNumber();break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(t>>8!=255)throw new Error("ERROR: format throw new IOException! (Parser.decode)")}t=this.stream.get16()}switch(this.precision=this.frame.precision,this.components=this.frame.components,this.numBytes||(this.numBytes=parseInt(Math.ceil(this.precision/8))),1==this.numBytes?this.mask=255:this.mask=65535,this.scan.read(this.stream),this.numComp=this.scan.numComp,this.selection=this.scan.selection,1===this.numBytes?3===this.numComp?(this.getter=this.getValueRGB,this.setter=this.setValueRGB,this.output=this.outputRGB):(this.getter=this.getValue8,this.setter=this.setValue8,this.output=this.outputSingle):(this.getter=this.getValue16,this.setter=this.setValue16,this.output=this.outputSingle),this.selection){case 2:this.selector=this.select2;break;case 3:this.selector=this.select3;break;case 4:this.selector=this.select4;break;case 5:this.selector=this.select5;break;case 6:this.selector=this.select6;break;case 7:this.selector=this.select7;break;default:this.selector=this.select1}for(this.scanComps=this.scan.components,this.quantTables=this.quantTable.quantTables,a=0;a=n.lossless.Decoder.RESTART_MARKER_BEGIN&&t<=n.lossless.Decoder.RESTART_MARKER_END))break}65500===t&&1===o&&(this.readNumber(),t=this.stream.get16())}while(65497!==t&&this.xLoc>1)},n.lossless.Decoder.prototype.select6=function(e){return this.getPreviousY(e)+(this.getPreviousX(e)-this.getPreviousXY(e)>>1)},n.lossless.Decoder.prototype.select7=function(e){return(this.getPreviousX(e)+this.getPreviousY(e))/2},n.lossless.Decoder.prototype.decodeRGB=function(e,i,r){var f,t,a,s,l,o,u,c;for(e[0]=this.selector(0),e[1]=this.selector(1),e[2]=this.selector(2),l=0;l=65280)return f;for(e[l]=this.IDCT_Source[0]=e[l]+this.getn(r,f,i,r),this.IDCT_Source[0]*=s[0],c=1;c<64;c+=1){if((f=this.getHuffmanValue(t,i,r))>=65280)return f;if(c+=f>>4,0==(15&f)){if(f>>4==0)break}else this.IDCT_Source[n.lossless.Decoder.IDCT_P[c]]=this.getn(r,15&f,i,r)*s[c]}}return 0},n.lossless.Decoder.prototype.decodeSingle=function(e,i,r){var f,t,a,s;for(this.restarting?(this.restarting=!1,e[0]=1<=65280)return f;if((s=(a=this.getn(e,f,i,r))>>8)>=n.lossless.Decoder.RESTART_MARKER_BEGIN&&s<=n.lossless.Decoder.RESTART_MARKER_END)return s;e[0]+=a}return 0},n.lossless.Decoder.prototype.getHuffmanValue=function(e,i,r){var f,t;if(65535,r[0]<8?(i[0]<<=8,255===(t=this.stream.get8())&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),i[0]|=t):r[0]-=8,0!=((f=e[i[0]>>r[0]])&n.lossless.Decoder.MSB)){if(0!==this.markerIndex)return this.markerIndex=0,65280|this.marker;i[0]&=65535>>16-r[0],i[0]<<=8,255===(t=this.stream.get8())&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),i[0]|=t,f=e[256*(255&f)+(i[0]>>r[0])],r[0]+=8}if(r[0]+=8-(f>>8),r[0]<0)throw new Error("index="+r[0]+" temp="+i[0]+" code="+f+" in HuffmanValue()");return r[0]>16-r[0],255&f)},n.lossless.Decoder.prototype.getn=function(e,i,r,f){var n,t;if(1,-1,65535,0===i)return 0;if(16===i)return e[0]>=0?-32768:32768;if(f[0]-=i,f[0]>=0){if(f[0]>f[0],r[0]&=65535>>16-f[0]}else{if(r[0]<<=8,255===(t=this.stream.get8())&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=t,f[0]+=8,f[0]<0){if(0!==this.markerIndex)return this.markerIndex=0,(65280|this.marker)<<8;r[0]<<=8,255===(t=this.stream.get8())&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=t,f[0]+=8}if(f[0]<0)throw new Error("index="+f[0]+" in getn()");if(f[0]>f[0],r[0]&=65535>>16-f[0]}return n<1<0?this.getter(this.yLoc*this.xDim+this.xLoc-1,e):this.yLoc>0?this.getPreviousY(e):1<0&&this.yLoc>0?this.getter((this.yLoc-1)*this.xDim+this.xLoc-1,e):this.getPreviousY(e)},n.lossless.Decoder.prototype.getPreviousY=function(e){return this.yLoc>0?this.getter((this.yLoc-1)*this.xDim+this.xLoc,e):this.getPreviousX(e)},n.lossless.Decoder.prototype.isLastPixel=function(){return this.xLoc===this.xDim-1&&this.yLoc===this.yDim-1},n.lossless.Decoder.prototype.outputSingle=function(e){this.xLoc=this.xDim&&(this.yLoc+=1,this.xLoc=0))},n.lossless.Decoder.prototype.outputRGB=function(e){var i=this.yLoc*this.xDim+this.xLoc;this.xLoc=this.xDim&&(this.yLoc+=1,this.xLoc=0))},n.lossless.Decoder.prototype.setValue8=function(e,i){this.outputData[e]=i},n.lossless.Decoder.prototype.getValue8=function(e){return this.outputData[e]},(f=new ArrayBuffer(2),new DataView(f).setInt16(0,256,!0),256===new Int16Array(f)[0])?(n.lossless.Decoder.prototype.setValue16=n.lossless.Decoder.prototype.setValue8,n.lossless.Decoder.prototype.getValue16=n.lossless.Decoder.prototype.getValue8):(n.lossless.Decoder.prototype.setValue16=function(e,i){this.outputData[e]=(255&i)<<8|i>>8&255},n.lossless.Decoder.prototype.getValue16=function(e){var i=this.outputData[e];return(255&i)<<8|i>>8&255}),n.lossless.Decoder.prototype.setValueRGB=function(e,i,r){this.outputData[3*e+r]=i},n.lossless.Decoder.prototype.getValueRGB=function(e,i){return this.outputData[3*e+i]},n.lossless.Decoder.prototype.readApp=function(){var e=0,i=this.stream.get16();for(e+=2;ei)throw new Error("ERROR: frame format error");if(n=e.get8(),(a+=1)>=i)throw new Error("ERROR: frame format error [c>=Lf]");t=e.get8(),a+=1,this.components[n]||(this.components[n]=new f.lossless.ComponentSpec),this.components[n].hSamp=t>>4,this.components[n].vSamp=15&t,this.components[n].quantTableSel=e.get8(),a+=1}if(a!==i)throw new Error("ERROR: frame format error [Lf!=count]");return 1},"undefined"!==typeof i&&i.exports&&(i.exports=f.lossless.FrameHeader)},{"./component-spec.js":1,"./data-stream.js":2}],5:[function(e,i,r){"use strict";var f=f||{};f.lossless=f.lossless||{},f.lossless.DataStream=f.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),f.lossless.Utils=f.lossless.Utils||(void 0!==e?e("./utils.js"):null),f.lossless.HuffmanTable=f.lossless.HuffmanTable||function(){this.l=f.lossless.Utils.createArray(4,2,16),this.th=[],this.v=f.lossless.Utils.createArray(4,2,16,200),this.tc=f.lossless.Utils.createArray(4,2),this.tc[0][0]=0,this.tc[1][0]=0,this.tc[2][0]=0,this.tc[3][0]=0,this.tc[0][1]=0,this.tc[1][1]=0,this.tc[2][1]=0,this.tc[3][1]=0,this.th[0]=0,this.th[1]=0,this.th[2]=0,this.th[3]=0},f.lossless.HuffmanTable.MSB=2147483648,f.lossless.HuffmanTable.prototype.read=function(e,i){var r,f,n,t,a,s,l=0;for(r=e.get16(),l+=2;l3)throw new Error("ERROR: Huffman table ID > 3");if((t=f>>4)>2)throw new Error("ERROR: Huffman table [Table class > 2 ]");for(this.th[n]=1,this.tc[n][t]=1,a=0;a<16;a+=1)this.l[n][t][a]=e.get8(),l+=1;for(a=0;a<16;a+=1)for(s=0;sr)throw new Error("ERROR: Huffman table format error [count>Lh]");this.v[n][t][a][s]=e.get8(),l+=1}}if(l!==r)throw new Error("ERROR: Huffman table format error [count!=Lf]");for(a=0;a<4;a+=1)for(s=0;s<2;s+=1)0!==this.tc[a][s]&&this.buildHuffTable(i[a][s],this.l[a][s],this.v[a][s]);return 1},f.lossless.HuffmanTable.prototype.buildHuffTable=function(e,i,r){var n,t,a,s,l;for(256,t=0,a=0;a<8;a+=1)for(s=0;s>a+1;l+=1)e[t]=r[a][s]|a+1<<8,t+=1;for(a=1;t<256;a+=1,t+=1)e[t]=a|f.lossless.HuffmanTable.MSB;for(n=1,t=0,a=8;a<16;a+=1)for(s=0;s>a-7;l+=1)e[256*n+t]=r[a][s]|a+1<<8,t+=1;if(t>=256){if(t>256)throw new Error("ERROR: Huffman table error(1)!");t=0,n+=1}}},"undefined"!==typeof i&&i.exports&&(i.exports=f.lossless.HuffmanTable)},{"./data-stream.js":2,"./utils.js":10}],6:[function(e,i,r){"use strict";var f=f||{};f.lossless=f.lossless||{},f.lossless.ComponentSpec=f.lossless.ComponentSpec||(void 0!==e?e("./component-spec.js"):null),f.lossless.DataStream=f.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),f.lossless.Decoder=f.lossless.Decoder||(void 0!==e?e("./decoder.js"):null),f.lossless.FrameHeader=f.lossless.FrameHeader||(void 0!==e?e("./frame-header.js"):null),f.lossless.HuffmanTable=f.lossless.HuffmanTable||(void 0!==e?e("./huffman-table.js"):null),f.lossless.QuantizationTable=f.lossless.QuantizationTable||(void 0!==e?e("./quantization-table.js"):null),f.lossless.ScanComponent=f.lossless.ScanComponent||(void 0!==e?e("./scan-component.js"):null),f.lossless.ScanHeader=f.lossless.ScanHeader||(void 0!==e?e("./scan-header.js"):null),f.lossless.Utils=f.lossless.Utils||(void 0!==e?e("./utils.js"):null),"undefined"!==typeof i&&i.exports&&(i.exports=f)},{"./component-spec.js":1,"./data-stream.js":2,"./decoder.js":3,"./frame-header.js":4,"./huffman-table.js":5,"./quantization-table.js":7,"./scan-component.js":8,"./scan-header.js":9,"./utils.js":10}],7:[function(e,i,r){"use strict";var f=f||{};f.lossless=f.lossless||{},f.lossless.DataStream=f.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),f.lossless.Utils=f.lossless.Utils||(void 0!==e?e("./utils.js"):null),f.lossless.QuantizationTable=f.lossless.QuantizationTable||function(){this.precision=[],this.tq=[],this.quantTables=f.lossless.Utils.createArray(4,64),this.tq[0]=0,this.tq[1]=0,this.tq[2]=0,this.tq[3]=0},f.lossless.QuantizationTable.enhanceQuantizationTable=function(e,i){var r;for(r=0;r<8;r+=1)e[i[0+r]]*=90,e[i[32+r]]*=90,e[i[16+r]]*=118,e[i[48+r]]*=49,e[i[40+r]]*=71,e[i[8+r]]*=126,e[i[56+r]]*=25,e[i[24+r]]*=106;for(r=0;r<8;r+=1)e[i[0+8*r]]*=90,e[i[4+8*r]]*=90,e[i[2+8*r]]*=118,e[i[6+8*r]]*=49,e[i[5+8*r]]*=71,e[i[1+8*r]]*=126,e[i[7+8*r]]*=25,e[i[3+8*r]]*=106;for(r=0;r<64;r+=1)e[r]>>=6},f.lossless.QuantizationTable.prototype.read=function(e,i){var r,n,t,a,s=0;for(r=e.get16(),s+=2;s3)throw new Error("ERROR: Quantization table ID > 3");if(this.precision[t]=n>>4,0===this.precision[t])this.precision[t]=8;else{if(1!==this.precision[t])throw new Error("ERROR: Quantization table precision error");this.precision[t]=16}if(this.tq[t]=1,8===this.precision[t]){for(a=0;a<64;a+=1){if(s>r)throw new Error("ERROR: Quantization table format error");this.quantTables[t][a]=e.get8(),s+=1}f.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t],i)}else{for(a=0;a<64;a+=1){if(s>r)throw new Error("ERROR: Quantization table format error");this.quantTables[t][a]=e.get16(),s+=2}f.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t],i)}}if(s!==r)throw new Error("ERROR: Quantization table error [count!=Lq]");return 1},"undefined"!==typeof i&&i.exports&&(i.exports=f.lossless.QuantizationTable)},{"./data-stream.js":2,"./utils.js":10}],8:[function(e,i,r){"use strict";var f=f||{};f.lossless=f.lossless||{},f.lossless.ScanComponent=f.lossless.ScanComponent||function(){this.acTabSel=0,this.dcTabSel=0,this.scanCompSel=0},"undefined"!==typeof i&&i.exports&&(i.exports=f.lossless.ScanComponent)},{}],9:[function(e,i,r){"use strict";var f=f||{};f.lossless=f.lossless||{},f.lossless.DataStream=f.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),f.lossless.ScanComponent=f.lossless.ScanComponent||(void 0!==e?e("./scan-component.js"):null),f.lossless.ScanHeader=f.lossless.ScanHeader||function(){this.ah=0,this.al=0,this.numComp=0,this.selection=0,this.spectralEnd=0,this.components=[]},f.lossless.ScanHeader.prototype.read=function(e){var i,r,n,t=0;for(i=e.get16(),t+=2,this.numComp=e.get8(),t+=1,r=0;ri)throw new Error("ERROR: scan header format error");this.components[r].scanCompSel=e.get8(),t+=1,n=e.get8(),t+=1,this.components[r].dcTabSel=n>>4,this.components[r].acTabSel=15&n}if(this.selection=e.get8(),t+=1,this.spectralEnd=e.get8(),t+=1,n=e.get8(),this.ah=n>>4,this.al=15&n,(t+=1)!==i)throw new Error("ERROR: scan header format error [count!=Ns]");return 1},"undefined"!==typeof i&&i.exports&&(i.exports=f.lossless.ScanHeader)},{"./data-stream.js":2,"./scan-component.js":8}],10:[function(e,i,r){"use strict";var f=f||{};f.lossless=f.lossless||{},f.lossless.Utils=f.lossless.Utils||{},f.lossless.Utils.createArray=function(e){var i=new Array(e||0),r=e;if(arguments.length>1)for(var n=Array.prototype.slice.call(arguments,1);r--;)i[e-1-r]=f.lossless.Utils.createArray.apply(this,n);return i},f.lossless.Utils.makeCRCTable=function(){for(var e,i=[],r=0;r<256;r++){e=r;for(var f=0;f<8;f++)e=1&e?3988292384^e>>>1:e>>>1;i[r]=e}return i},f.lossless.Utils.crc32=function(e){for(var i=new Uint8Array(e.buffer),r=f.lossless.Utils.crcTable||(f.lossless.Utils.crcTable=f.lossless.Utils.makeCRCTable()),n=-1,t=0;t>>8^r[255&(n^i[t])];return(-1^n)>>>0},"undefined"!==typeof i&&i.exports&&(i.exports=f.lossless.Utils)},{}]},{},[6])(6)}))},function(e,i,r){e.exports=function(){return r(2)('/*! For license information please see 434dd146697bf197b774.worker.js.LICENSE */\n!function(e){var i={};function r(t){if(i[t])return i[t].exports;var n=i[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=i,r.d=function(e,i,t){r.o(e,i)||Object.defineProperty(e,i,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,i){if(1&i&&(e=r(e)),8&i)return e;if(4&i&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&i&&"string"!=typeof e)for(var n in e)r.d(t,n,function(i){return e[i]}.bind(null,n));return t},r.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(i,"a",i),i},r.o=function(e,i){return Object.prototype.hasOwnProperty.call(e,i)},r.p="",r(r.s=21)}([function(e,i,r){"use strict";var t="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function n(e,i){return Object.prototype.hasOwnProperty.call(e,i)}i.assign=function(e){for(var i=Array.prototype.slice.call(arguments,1);i.length;){var r=i.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var t in r)n(r,t)&&(e[t]=r[t])}}return e},i.shrinkBuf=function(e,i){return e.length===i?e:e.subarray?e.subarray(0,i):(e.length=i,e)};var f={arraySet:function(e,i,r,t,n){if(i.subarray&&e.subarray)e.set(i.subarray(r,r+t),n);else for(var f=0;f>4!=4092||65476===f;){switch(f){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn\'t support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,n.lossless.Decoder.TABLE);break;case 65501:this.restartInterval=this.readNumber();break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(f>>8!=255)throw new Error("ERROR: format throw new IOException! (decode)")}f=this.stream.get16()}if(f<65472||f>65479)throw new Error("ERROR: could not handle arithmetic code!");this.frame.read(this.stream),f=this.stream.get16();do{for(;65498!==f;){switch(f){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn\'t support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,n.lossless.Decoder.TABLE);break;case 65501:this.restartInterval=this.readNumber();break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(f>>8!=255)throw new Error("ERROR: format throw new IOException! (Parser.decode)")}f=this.stream.get16()}switch(this.precision=this.frame.precision,this.components=this.frame.components,this.numBytes||(this.numBytes=parseInt(Math.ceil(this.precision/8))),1==this.numBytes?this.mask=255:this.mask=65535,this.scan.read(this.stream),this.numComp=this.scan.numComp,this.selection=this.scan.selection,1===this.numBytes?3===this.numComp?(this.getter=this.getValueRGB,this.setter=this.setValueRGB,this.output=this.outputRGB):(this.getter=this.getValue8,this.setter=this.setValue8,this.output=this.outputSingle):(this.getter=this.getValue16,this.setter=this.setValue16,this.output=this.outputSingle),this.selection){case 2:this.selector=this.select2;break;case 3:this.selector=this.select3;break;case 4:this.selector=this.select4;break;case 5:this.selector=this.select5;break;case 6:this.selector=this.select6;break;case 7:this.selector=this.select7;break;default:this.selector=this.select1}for(this.scanComps=this.scan.components,this.quantTables=this.quantTable.quantTables,a=0;a=n.lossless.Decoder.RESTART_MARKER_BEGIN&&f<=n.lossless.Decoder.RESTART_MARKER_END))break}65500===f&&1===o&&(this.readNumber(),f=this.stream.get16())}while(65497!==f&&this.xLoc>1)},n.lossless.Decoder.prototype.select6=function(e){return this.getPreviousY(e)+(this.getPreviousX(e)-this.getPreviousXY(e)>>1)},n.lossless.Decoder.prototype.select7=function(e){return(this.getPreviousX(e)+this.getPreviousY(e))/2},n.lossless.Decoder.prototype.decodeRGB=function(e,i,r){var t,f,a,s,l,o,u,c;for(e[0]=this.selector(0),e[1]=this.selector(1),e[2]=this.selector(2),l=0;l=65280)return t;for(e[l]=this.IDCT_Source[0]=e[l]+this.getn(r,t,i,r),this.IDCT_Source[0]*=s[0],c=1;c<64;c+=1){if((t=this.getHuffmanValue(f,i,r))>=65280)return t;if(c+=t>>4,0==(15&t)){if(t>>4==0)break}else this.IDCT_Source[n.lossless.Decoder.IDCT_P[c]]=this.getn(r,15&t,i,r)*s[c]}}return 0},n.lossless.Decoder.prototype.decodeSingle=function(e,i,r){var t,f,a,s;for(this.restarting?(this.restarting=!1,e[0]=1<=65280)return t;if((s=(a=this.getn(e,t,i,r))>>8)>=n.lossless.Decoder.RESTART_MARKER_BEGIN&&s<=n.lossless.Decoder.RESTART_MARKER_END)return s;e[0]+=a}return 0},n.lossless.Decoder.prototype.getHuffmanValue=function(e,i,r){var t,f;if(65535,r[0]<8?(i[0]<<=8,255===(f=this.stream.get8())&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),i[0]|=f):r[0]-=8,0!=((t=e[i[0]>>r[0]])&n.lossless.Decoder.MSB)){if(0!==this.markerIndex)return this.markerIndex=0,65280|this.marker;i[0]&=65535>>16-r[0],i[0]<<=8,255===(f=this.stream.get8())&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),i[0]|=f,t=e[256*(255&t)+(i[0]>>r[0])],r[0]+=8}if(r[0]+=8-(t>>8),r[0]<0)throw new Error("index="+r[0]+" temp="+i[0]+" code="+t+" in HuffmanValue()");return r[0]>16-r[0],255&t)},n.lossless.Decoder.prototype.getn=function(e,i,r,t){var n,f;if(1,-1,65535,0===i)return 0;if(16===i)return e[0]>=0?-32768:32768;if(t[0]-=i,t[0]>=0){if(t[0]>t[0],r[0]&=65535>>16-t[0]}else{if(r[0]<<=8,255===(f=this.stream.get8())&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=f,t[0]+=8,t[0]<0){if(0!==this.markerIndex)return this.markerIndex=0,(65280|this.marker)<<8;r[0]<<=8,255===(f=this.stream.get8())&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=f,t[0]+=8}if(t[0]<0)throw new Error("index="+t[0]+" in getn()");if(t[0]>t[0],r[0]&=65535>>16-t[0]}return n<1<0?this.getter(this.yLoc*this.xDim+this.xLoc-1,e):this.yLoc>0?this.getPreviousY(e):1<0&&this.yLoc>0?this.getter((this.yLoc-1)*this.xDim+this.xLoc-1,e):this.getPreviousY(e)},n.lossless.Decoder.prototype.getPreviousY=function(e){return this.yLoc>0?this.getter((this.yLoc-1)*this.xDim+this.xLoc,e):this.getPreviousX(e)},n.lossless.Decoder.prototype.isLastPixel=function(){return this.xLoc===this.xDim-1&&this.yLoc===this.yDim-1},n.lossless.Decoder.prototype.outputSingle=function(e){this.xLoc=this.xDim&&(this.yLoc+=1,this.xLoc=0))},n.lossless.Decoder.prototype.outputRGB=function(e){var i=this.yLoc*this.xDim+this.xLoc;this.xLoc=this.xDim&&(this.yLoc+=1,this.xLoc=0))},n.lossless.Decoder.prototype.setValue8=function(e,i){this.outputData[e]=i},n.lossless.Decoder.prototype.getValue8=function(e){return this.outputData[e]},(t=new ArrayBuffer(2),new DataView(t).setInt16(0,256,!0),256===new Int16Array(t)[0])?(n.lossless.Decoder.prototype.setValue16=n.lossless.Decoder.prototype.setValue8,n.lossless.Decoder.prototype.getValue16=n.lossless.Decoder.prototype.getValue8):(n.lossless.Decoder.prototype.setValue16=function(e,i){this.outputData[e]=(255&i)<<8|i>>8&255},n.lossless.Decoder.prototype.getValue16=function(e){var i=this.outputData[e];return(255&i)<<8|i>>8&255}),n.lossless.Decoder.prototype.setValueRGB=function(e,i,r){this.outputData[3*e+r]=i},n.lossless.Decoder.prototype.getValueRGB=function(e,i){return this.outputData[3*e+i]},n.lossless.Decoder.prototype.readApp=function(){var e=0,i=this.stream.get16();for(e+=2;ei)throw new Error("ERROR: frame format error");if(n=e.get8(),(a+=1)>=i)throw new Error("ERROR: frame format error [c>=Lf]");f=e.get8(),a+=1,this.components[n]||(this.components[n]=new t.lossless.ComponentSpec),this.components[n].hSamp=f>>4,this.components[n].vSamp=15&f,this.components[n].quantTableSel=e.get8(),a+=1}if(a!==i)throw new Error("ERROR: frame format error [Lf!=count]");return 1},"undefined"!==typeof i&&i.exports&&(i.exports=t.lossless.FrameHeader)},{"./component-spec.js":1,"./data-stream.js":2}],5:[function(e,i,r){"use strict";var t=t||{};t.lossless=t.lossless||{},t.lossless.DataStream=t.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),t.lossless.Utils=t.lossless.Utils||(void 0!==e?e("./utils.js"):null),t.lossless.HuffmanTable=t.lossless.HuffmanTable||function(){this.l=t.lossless.Utils.createArray(4,2,16),this.th=[],this.v=t.lossless.Utils.createArray(4,2,16,200),this.tc=t.lossless.Utils.createArray(4,2),this.tc[0][0]=0,this.tc[1][0]=0,this.tc[2][0]=0,this.tc[3][0]=0,this.tc[0][1]=0,this.tc[1][1]=0,this.tc[2][1]=0,this.tc[3][1]=0,this.th[0]=0,this.th[1]=0,this.th[2]=0,this.th[3]=0},t.lossless.HuffmanTable.MSB=2147483648,t.lossless.HuffmanTable.prototype.read=function(e,i){var r,t,n,f,a,s,l=0;for(r=e.get16(),l+=2;l3)throw new Error("ERROR: Huffman table ID > 3");if((f=t>>4)>2)throw new Error("ERROR: Huffman table [Table class > 2 ]");for(this.th[n]=1,this.tc[n][f]=1,a=0;a<16;a+=1)this.l[n][f][a]=e.get8(),l+=1;for(a=0;a<16;a+=1)for(s=0;sr)throw new Error("ERROR: Huffman table format error [count>Lh]");this.v[n][f][a][s]=e.get8(),l+=1}}if(l!==r)throw new Error("ERROR: Huffman table format error [count!=Lf]");for(a=0;a<4;a+=1)for(s=0;s<2;s+=1)0!==this.tc[a][s]&&this.buildHuffTable(i[a][s],this.l[a][s],this.v[a][s]);return 1},t.lossless.HuffmanTable.prototype.buildHuffTable=function(e,i,r){var n,f,a,s,l;for(256,f=0,a=0;a<8;a+=1)for(s=0;s>a+1;l+=1)e[f]=r[a][s]|a+1<<8,f+=1;for(a=1;f<256;a+=1,f+=1)e[f]=a|t.lossless.HuffmanTable.MSB;for(n=1,f=0,a=8;a<16;a+=1)for(s=0;s>a-7;l+=1)e[256*n+f]=r[a][s]|a+1<<8,f+=1;if(f>=256){if(f>256)throw new Error("ERROR: Huffman table error(1)!");f=0,n+=1}}},"undefined"!==typeof i&&i.exports&&(i.exports=t.lossless.HuffmanTable)},{"./data-stream.js":2,"./utils.js":10}],6:[function(e,i,r){"use strict";var t=t||{};t.lossless=t.lossless||{},t.lossless.ComponentSpec=t.lossless.ComponentSpec||(void 0!==e?e("./component-spec.js"):null),t.lossless.DataStream=t.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),t.lossless.Decoder=t.lossless.Decoder||(void 0!==e?e("./decoder.js"):null),t.lossless.FrameHeader=t.lossless.FrameHeader||(void 0!==e?e("./frame-header.js"):null),t.lossless.HuffmanTable=t.lossless.HuffmanTable||(void 0!==e?e("./huffman-table.js"):null),t.lossless.QuantizationTable=t.lossless.QuantizationTable||(void 0!==e?e("./quantization-table.js"):null),t.lossless.ScanComponent=t.lossless.ScanComponent||(void 0!==e?e("./scan-component.js"):null),t.lossless.ScanHeader=t.lossless.ScanHeader||(void 0!==e?e("./scan-header.js"):null),t.lossless.Utils=t.lossless.Utils||(void 0!==e?e("./utils.js"):null),"undefined"!==typeof i&&i.exports&&(i.exports=t)},{"./component-spec.js":1,"./data-stream.js":2,"./decoder.js":3,"./frame-header.js":4,"./huffman-table.js":5,"./quantization-table.js":7,"./scan-component.js":8,"./scan-header.js":9,"./utils.js":10}],7:[function(e,i,r){"use strict";var t=t||{};t.lossless=t.lossless||{},t.lossless.DataStream=t.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),t.lossless.Utils=t.lossless.Utils||(void 0!==e?e("./utils.js"):null),t.lossless.QuantizationTable=t.lossless.QuantizationTable||function(){this.precision=[],this.tq=[],this.quantTables=t.lossless.Utils.createArray(4,64),this.tq[0]=0,this.tq[1]=0,this.tq[2]=0,this.tq[3]=0},t.lossless.QuantizationTable.enhanceQuantizationTable=function(e,i){var r;for(r=0;r<8;r+=1)e[i[0+r]]*=90,e[i[32+r]]*=90,e[i[16+r]]*=118,e[i[48+r]]*=49,e[i[40+r]]*=71,e[i[8+r]]*=126,e[i[56+r]]*=25,e[i[24+r]]*=106;for(r=0;r<8;r+=1)e[i[0+8*r]]*=90,e[i[4+8*r]]*=90,e[i[2+8*r]]*=118,e[i[6+8*r]]*=49,e[i[5+8*r]]*=71,e[i[1+8*r]]*=126,e[i[7+8*r]]*=25,e[i[3+8*r]]*=106;for(r=0;r<64;r+=1)e[r]>>=6},t.lossless.QuantizationTable.prototype.read=function(e,i){var r,n,f,a,s=0;for(r=e.get16(),s+=2;s3)throw new Error("ERROR: Quantization table ID > 3");if(this.precision[f]=n>>4,0===this.precision[f])this.precision[f]=8;else{if(1!==this.precision[f])throw new Error("ERROR: Quantization table precision error");this.precision[f]=16}if(this.tq[f]=1,8===this.precision[f]){for(a=0;a<64;a+=1){if(s>r)throw new Error("ERROR: Quantization table format error");this.quantTables[f][a]=e.get8(),s+=1}t.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[f],i)}else{for(a=0;a<64;a+=1){if(s>r)throw new Error("ERROR: Quantization table format error");this.quantTables[f][a]=e.get16(),s+=2}t.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[f],i)}}if(s!==r)throw new Error("ERROR: Quantization table error [count!=Lq]");return 1},"undefined"!==typeof i&&i.exports&&(i.exports=t.lossless.QuantizationTable)},{"./data-stream.js":2,"./utils.js":10}],8:[function(e,i,r){"use strict";var t=t||{};t.lossless=t.lossless||{},t.lossless.ScanComponent=t.lossless.ScanComponent||function(){this.acTabSel=0,this.dcTabSel=0,this.scanCompSel=0},"undefined"!==typeof i&&i.exports&&(i.exports=t.lossless.ScanComponent)},{}],9:[function(e,i,r){"use strict";var t=t||{};t.lossless=t.lossless||{},t.lossless.DataStream=t.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),t.lossless.ScanComponent=t.lossless.ScanComponent||(void 0!==e?e("./scan-component.js"):null),t.lossless.ScanHeader=t.lossless.ScanHeader||function(){this.ah=0,this.al=0,this.numComp=0,this.selection=0,this.spectralEnd=0,this.components=[]},t.lossless.ScanHeader.prototype.read=function(e){var i,r,n,f=0;for(i=e.get16(),f+=2,this.numComp=e.get8(),f+=1,r=0;ri)throw new Error("ERROR: scan header format error");this.components[r].scanCompSel=e.get8(),f+=1,n=e.get8(),f+=1,this.components[r].dcTabSel=n>>4,this.components[r].acTabSel=15&n}if(this.selection=e.get8(),f+=1,this.spectralEnd=e.get8(),f+=1,n=e.get8(),this.ah=n>>4,this.al=15&n,(f+=1)!==i)throw new Error("ERROR: scan header format error [count!=Ns]");return 1},"undefined"!==typeof i&&i.exports&&(i.exports=t.lossless.ScanHeader)},{"./data-stream.js":2,"./scan-component.js":8}],10:[function(e,i,r){"use strict";var t=t||{};t.lossless=t.lossless||{},t.lossless.Utils=t.lossless.Utils||{},t.lossless.Utils.createArray=function(e){var i=new Array(e||0),r=e;if(arguments.length>1)for(var n=Array.prototype.slice.call(arguments,1);r--;)i[e-1-r]=t.lossless.Utils.createArray.apply(this,n);return i},t.lossless.Utils.makeCRCTable=function(){for(var e,i=[],r=0;r<256;r++){e=r;for(var t=0;t<8;t++)e=1&e?3988292384^e>>>1:e>>>1;i[r]=e}return i},t.lossless.Utils.crc32=function(e){for(var i=new Uint8Array(e.buffer),r=t.lossless.Utils.crcTable||(t.lossless.Utils.crcTable=t.lossless.Utils.makeCRCTable()),n=-1,f=0;f>>8^r[255&(n^i[f])];return(-1^n)>>>0},"undefined"!==typeof i&&i.exports&&(i.exports=t.lossless.Utils)},{}]},{},[6])(6)}))},function(e,i,r){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(module,exports){var OpenJPEG=function(Module){var Module;Module=Module||{},Module||(Module=(void 0!==OpenJPEG?OpenJPEG:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&"function"==typeof require&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=function(e){process.stdout.write(e+"\\n")}),Module.printErr||(Module.printErr=function(e){process.stderr.write(e+"\\n")});var nodeFS=require("fs"),nodePath=require("path");Module.read=function(e,i){e=nodePath.normalize(e);var r=nodeFS.readFileSync(e);return r||e==nodePath.resolve(e)||(e=path.join(__dirname,"..","src",e),r=nodeFS.readFileSync(e)),r&&!i&&(r=r.toString()),r},Module.readBinary=function(e){var i=Module.read(e,!0);return i.buffer||(i=new Uint8Array(i)),assert(i.buffer),i},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),void 0!==module&&(module.exports=Module),process.on("uncaughtException",(function(e){if(!(e instanceof ExitStatus))throw e})),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available (jsc?)"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var i=read(e,"binary");return assert("object"==typeof i),i},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments);else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var i=new XMLHttpRequest;return i.open("GET",e,!1),i.send(null),i.responseText},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.log(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(e){dump(e)}:function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),void 0===Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}function globalEval(e){eval.call(null,e)}for(var key in!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[],moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);var Runtime={setTempRet0:function(e){tempRet0=e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var i=parseInt(e.substr(1));return assert(i%8==0),i/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,i){return"double"===i||"i64"===i?7&e&&(assert(4==(7&e)),e+=4):assert(0==(3&e)),e},getAlignSize:function(e,i,r){return r||"i64"!=e&&"double"!=e?e?Math.min(i||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(i,8):8},dynCall:function(e,i,r){return r&&r.length?(r.splice||(r=Array.prototype.slice.call(r)),r.splice(0,0,i),Module["dynCall_"+e].apply(null,r)):Module["dynCall_"+e].call(null,i)},functionPointers:[],addFunction:function(e){for(var i=0;i=TOTAL_MEMORY&&!enlargeMemory())return DYNAMICTOP=i,0;return i},alignMemory:function(e,i){return e=Math.ceil(e/(i||16))*(i||16)},makeBigInt:function(e,i,r){return r?+(e>>>0)+4294967296*+(i>>>0):+(e>>>0)+4294967296*+(0|i)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var __THREW__=0,ABORT=!1,EXITSTATUS=0,undef=0,tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat,tempI64,tempI64b,tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(e,i){e||abort("Assertion failed: "+i)}var globalScope=this,cwrap,ccall;function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,i,r,t){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":HEAP8[e>>0]=i;break;case"i16":HEAP16[e>>1]=i;break;case"i32":HEAP32[e>>2]=i;break;case"i64":tempI64=[i>>>0,(tempDouble=i,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=i;break;case"double":HEAPF64[e>>3]=i;break;default:abort("invalid type for setValue: "+r)}}function getValue(e,i,r){switch("*"===(i=i||"i8").charAt(i.length-1)&&(i="i32"),i){case"i1":case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+i)}return null}!function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var i=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,i),i},stringToC:function(e){var i=0;return null!=e&&0!==e&&writeStringToMemory(e,i=Runtime.stackAlloc(1+(e.length<<2))),i}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,i,r,t,n){var f=getCFunc(e),a=[],s=0;if(t)for(var l=0;l>2]=0;for(l=a+f;t>0]=0;return a}if("i8"===s)return e.subarray||e.slice?HEAPU8.set(e,a):HEAPU8.set(new Uint8Array(e),a),a;for(var o,u,c,h=0;h>0],(0!=r||i)&&(n++,!i||n!=i););i||(i=n);var f="";if(t<128){for(var a;i>0;)a=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(i,1024))),f=f?f+a:a,e+=1024,i-=1024;return f}return Module.UTF8ToString(e)}function AsciiToString(e){for(var i="";;){var r=HEAP8[e++>>0];if(!r)return i;i+=String.fromCharCode(r)}}function stringToAscii(e,i){return writeAsciiToMemory(e,i,!1)}function UTF8ArrayToString(e,i){for(var r,t,n,f,a,s="";;){if(!(r=e[i++]))return s;if(128&r)if(t=63&e[i++],192!=(224&r))if(n=63&e[i++],224==(240&r)?r=(15&r)<<12|t<<6|n:(f=63&e[i++],240==(248&r)?r=(7&r)<<18|t<<12|n<<6|f:(a=63&e[i++],r=248==(252&r)?(3&r)<<24|t<<18|n<<12|f<<6|a:(1&r)<<30|t<<24|n<<18|f<<12|a<<6|63&e[i++])),r<65536)s+=String.fromCharCode(r);else{var l=r-65536;s+=String.fromCharCode(55296|l>>10,56320|1023&l)}else s+=String.fromCharCode((31&r)<<6|t);else s+=String.fromCharCode(r)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,i,r,t){if(!(t>0))return 0;for(var n=r,f=r+t-1,a=0;a=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=f)break;i[r++]=s}else if(s<=2047){if(r+1>=f)break;i[r++]=192|s>>6,i[r++]=128|63&s}else if(s<=65535){if(r+2>=f)break;i[r++]=224|s>>12,i[r++]=128|s>>6&63,i[r++]=128|63&s}else if(s<=2097151){if(r+3>=f)break;i[r++]=240|s>>18,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}else if(s<=67108863){if(r+4>=f)break;i[r++]=248|s>>24,i[r++]=128|s>>18&63,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}else{if(r+5>=f)break;i[r++]=252|s>>30,i[r++]=128|s>>24&63,i[r++]=128|s>>18&63,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}}return i[r]=0,r-n}function stringToUTF8(e,i,r){return stringToUTF8Array(e,HEAPU8,i,r)}function lengthBytesUTF8(e){for(var i=0,r=0;r=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&e.charCodeAt(++r)),t<=127?++i:i+=t<=2047?2:t<=65535?3:t<=2097151?4:t<=67108863?5:6}return i}function UTF16ToString(e){for(var i=0,r="";;){var t=HEAP16[e+2*i>>1];if(0==t)return r;++i,r+=String.fromCharCode(t)}}function stringToUTF16(e,i,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var t=i,n=(r-=2)<2*e.length?r/2:e.length,f=0;f>1]=a,i+=2}return HEAP16[i>>1]=0,i-t}function lengthBytesUTF16(e){return 2*e.length}function UTF32ToString(e){for(var i=0,r="";;){var t=HEAP32[e+4*i>>2];if(0==t)return r;if(++i,t>=65536){var n=t-65536;r+=String.fromCharCode(55296|n>>10,56320|1023&n)}else r+=String.fromCharCode(t)}}function stringToUTF32(e,i,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var t=i,n=t+r-4,f=0;f=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++f);if(HEAP32[i>>2]=a,(i+=4)+4>n)break}return HEAP32[i>>2]=0,i-t}function lengthBytesUTF32(e){for(var i=0,r=0;r=55296&&t<=57343&&++r,i+=4}return i}function demangle(e){var i=!!Module.___cxa_demangle;if(i)try{var r=_malloc(e.length);writeStringToMemory(e.substr(1),r);var t=_malloc(4),n=Module.___cxa_demangle(r,0,0,t);if(0===getValue(t,"i32")&&n)return Pointer_stringify(n)}catch(e){}finally{r&&_free(r),t&&_free(t),n&&_free(n)}var f=3,a={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},s=[],l=!0;var o=e;try{if("Object._main"==e||"_main"==e)return"main()";if("number"==typeof e&&(e=Pointer_stringify(e)),"_"!==e[0])return e;if("_"!==e[1])return e;if("Z"!==e[2])return e;switch(e[3]){case"n":return"operator new()";case"d":return"operator delete()"}o=function i(r,t,n){t=t||1/0;var o,u="",c=[];if("N"===e[f]){if(o=function(){"K"===e[++f]&&f++;for(var i=[];"E"!==e[f];)if("S"!==e[f])if("C"!==e[f]){var r=parseInt(e.substr(f)),t=r.toString().length;if(!r||!t){f--;break}var n=e.substr(f+t,r);i.push(n),s.push(n),f+=t+r}else i.push(i[i.length-1]),f+=2;else{f++;var a=e.indexOf("_",f),l=e.substring(f,a)||0;i.push(s[l]||"?"),f=a+1}return f++,i}().join("::"),0===--t)return r?[o]:o}else if(("K"===e[f]||l&&"L"===e[f])&&f++,k=parseInt(e.substr(f))){var h=k.toString().length;o=e.substr(f+h,k),f+=h+k}if(l=!1,"I"===e[f]){f++;var d=i(!0);u+=i(!0,1,!0)[0]+" "+o+"<"+d.join(", ")+">"}else u=o;e:for(;f0;){var b=e[f++];if(b in a)c.push(a[b]);else switch(b){case"P":c.push(i(!0,1,!0)[0]+"*");break;case"R":c.push(i(!0,1,!0)[0]+"&");break;case"L":f++;var k=e.indexOf("E",f)-f;c.push(e.substr(f,k)),f+=k+2;break;case"A":k=parseInt(e.substr(f));if(f+=k.toString().length,"_"!==e[f])throw"?";f++,c.push(i(!0,1,!0)[0]+" ["+k+"]");break;case"E":break e;default:u+="?"+b;break e}}return n||1!==c.length||"void"!==c[0]||(c=[]),r?(u&&c.push(u+"?"),c):u+"("+c.join(", ")+")"}()}catch(e){o+="?"}return o.indexOf("?")>=0&&!i&&Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),o}function demangleAll(e){return e.replace(/__Z[\\w\\d_]+/g,(function(e){var i=demangle(e);return e===i?e:e+" ["+i+"]"}))}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(i){e=i}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE,Module.allocate=allocate,Module.getMemory=getMemory,Module.Pointer_stringify=Pointer_stringify,Module.AsciiToString=AsciiToString,Module.stringToAscii=stringToAscii,Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.UTF16ToString=UTF16ToString,Module.stringToUTF16=stringToUTF16,Module.lengthBytesUTF16=lengthBytesUTF16,Module.UTF32ToString=UTF32ToString,Module.stringToUTF32=stringToUTF32,Module.lengthBytesUTF32=lengthBytesUTF32,Module.stackTrace=stackTrace;var PAGE_SIZE=4096,HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function alignMemoryPage(e){return e%4096>0&&(e+=4096-e%4096),e}var STATIC_BASE=0,STATICTOP=0,staticSealed=!1,STACK_BASE=0,STACKTOP=0,STACK_MAX=0,DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}for(var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||4e8,totalMemory=65536,buffer;totalMemory0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?Runtime.dynCall("v",r):Runtime.dynCall("vi",r,[i.arg]):r(void 0===i.arg?null:i.arg)}else i()}}totalMemory!==TOTAL_MEMORY&&(TOTAL_MEMORY=totalMemory),assert("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support"),buffer=new ArrayBuffer(TOTAL_MEMORY),HEAP8=new Int8Array(buffer),HEAP16=new Int16Array(buffer),HEAP32=new Int32Array(buffer),HEAPU8=new Uint8Array(buffer),HEAPU16=new Uint16Array(buffer),HEAPU32=new Uint32Array(buffer),HEAPF32=new Float32Array(buffer),HEAPF64=new Float64Array(buffer),HEAP32[0]=255,assert(255===HEAPU8[0]&&0===HEAPU8[3],"Typed arrays 2 must be run on a little-endian system"),Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,i,r){var t=r>0?r:lengthBytesUTF8(e)+1,n=new Array(t),f=stringToUTF8Array(e,n,0,n.length);return i&&(n.length=f),n}function intArrayToString(e){for(var i=[],r=0;r255&&(t&=255),i.push(String.fromCharCode(t))}return i.join("")}function writeStringToMemory(e,i,r){for(var t=intArrayFromString(e,r),n=0;n>0]=f,n+=1}}function writeArrayToMemory(e,i){for(var r=0;r>0]=e[r]}function writeAsciiToMemory(e,i,r){for(var t=0;t>0]=e.charCodeAt(t);r||(HEAP8[i>>0]=0)}function unSign(e,i,r){return e>=0?e:i<=32?2*Math.abs(1<=t&&(i<=32||e>t)&&(e=-2*t+e),e}Module.addOnPreRun=addOnPreRun,Module.addOnInit=addOnInit,Module.addOnPreMain=addOnPreMain,Module.addOnExit=addOnExit,Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,i){var r=65535&e,t=65535&i;return r*t+((e>>>16)*t+r*(i>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var i=0;i<32;i++)if(e&1<<31-i)return i;return 32}),Math.clz32=Math.clz32;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_min=Math.min,Math_clz32=Math.clz32,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var i=dependenciesFulfilled;dependenciesFulfilled=null,i()}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var memoryInitializer=null,ASM_CONSTS=[];STATIC_BASE=8,STATICTOP=STATIC_BASE+25664,__ATINIT__.push(),allocate([131,192,202,161,69,182,251,63,127,251,58,112,206,136,234,63,127,251,58,112,206,136,234,63,131,192,202,161,69,182,251,63,225,122,20,174,71,225,252,63,94,186,73,12,2,43,249,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,6,64,0,0,0,0,0,128,21,64,92,143,194,245,40,92,37,64,215,163,112,61,10,87,53,64,246,40,92,143,194,85,69,64,133,235,81,184,30,85,85,64,102,102,102,102,102,86,101,64,205,204,204,204,204,84,117,64,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,173,250,92,109,197,254,230,63,86,125,174,182,98,127,237,63,199,75,55,137,65,96,249,63,242,210,77,98,16,88,8,64,250,126,106,188,116,19,24,64,133,235,81,184,30,5,40,64,0,0,0,0,0,0,56,64,92,143,194,245,40,252,71,64,236,81,184,30,133,251,87,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,113,61,10,215,163,112,255,63,104,145,237,124,63,181,16,64,117,147,24,4,86,206,32,64,102,102,102,102,102,230,48,64,236,81,184,30,133,235,64,64,92,143,194,245,40,236,80,64,154,153,153,153,153,233,96,64,154,153,153,153,153,233,112,64,51,51,51,51,51,231,128,64,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,164,112,61,10,215,163,0,64,236,81,184,30,133,235,14,64,119,190,159,26,47,157,32,64,174,71,225,122,20,46,49,64,123,20,174,71,225,90,65,64,246,40,92,143,194,101,81,64,154,153,153,153,153,105,97,64,154,153,153,153,153,105,113,64,154,153,153,153,153,105,129,64,0,0,0,0,0,0,0,0,4,0,0,0,67,80,82,76,0,0,0,0,0,0,0,0,76,82,67,80,0,0,0,0,3,0,0,0,80,67,82,76,0,0,0,0,1,0,0,0,82,76,67,80,0,0,0,0,2,0,0,0,82,80,67,76,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,144,255,0,0,12,0,0,0,1,0,0,0,82,255,0,0,20,0,0,0,2,0,0,0,83,255,0,0,20,0,0,0,3,0,0,0,94,255,0,0,20,0,0,0,4,0,0,0,92,255,0,0,20,0,0,0,5,0,0,0,93,255,0,0,20,0,0,0,6,0,0,0,95,255,0,0,20,0,0,0,7,0,0,0,81,255,0,0,2,0,0,0,8,0,0,0,85,255,0,0,4,0,0,0,9,0,0,0,87,255,0,0,4,0,0,0,10,0,0,0,88,255,0,0,16,0,0,0,11,0,0,0,96,255,0,0,4,0,0,0,12,0,0,0,97,255,0,0,16,0,0,0,13,0,0,0,145,255,0,0,0,0,0,0,0,0,0,0,99,255,0,0,4,0,0,0,14,0,0,0,100,255,0,0,20,0,0,0,15,0,0,0,116,255,0,0,20,0,0,0,16,0,0,0,120,255,0,0,4,0,0,0,17,0,0,0,117,255,0,0,20,0,0,0,18,0,0,0,119,255,0,0,20,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,32,32,80,106,20,0,0,0,112,121,116,102,21,0,0,0,104,50,112,106,22,0,0,0,114,100,104,105,23,0,0,0,114,108,111,99,24,0,0,0,99,99,112,98,25,0,0,0,114,108,99,112,26,0,0,0,112,97,109,99,27,0,0,0,102,101,100,99,28,0,0,0,1,86,0,0,0,0,0,0,164,4,0,0,180,4,0,0,1,86,0,0,1,0,0,0,180,4,0,0,164,4,0,0,1,52,0,0,0,0,0,0,196,4,0,0,68,5,0,0,1,52,0,0,1,0,0,0,212,4,0,0,84,5,0,0,1,24,0,0,0,0,0,0,228,4,0,0,164,5,0,0,1,24,0,0,1,0,0,0,244,4,0,0,180,5,0,0,193,10,0,0,0,0,0,0,4,5,0,0,4,6,0,0,193,10,0,0,1,0,0,0,20,5,0,0,20,6,0,0,33,5,0,0,0,0,0,0,36,5,0,0,36,8,0,0,33,5,0,0,1,0,0,0,52,5,0,0,52,8,0,0,33,2,0,0,0,0,0,0,68,9,0,0,164,8,0,0,33,2,0,0,1,0,0,0,84,9,0,0,180,8,0,0,1,86,0,0,0,0,0,0,100,5,0,0,84,5,0,0,1,86,0,0,1,0,0,0,116,5,0,0,68,5,0,0,1,84,0,0,0,0,0,0,132,5,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,5,0,0,84,6,0,0,1,72,0,0,0,0,0,0,164,5,0,0,68,6,0,0,1,72,0,0,1,0,0,0,180,5,0,0,84,6,0,0,1,56,0,0,0,0,0,0,196,5,0,0,68,6,0,0,1,56,0,0,1,0,0,0,212,5,0,0,84,6,0,0,1,48,0,0,0,0,0,0,228,5,0,0,164,6,0,0,1,48,0,0,1,0,0,0,244,5,0,0,180,6,0,0,1,36,0,0,0,0,0,0,4,6,0,0,196,6,0,0,1,36,0,0,1,0,0,0,20,6,0,0,212,6,0,0,1,28,0,0,0,0,0,0,36,6,0,0,4,7,0,0,1,28,0,0,1,0,0,0,52,6,0,0,20,7,0,0,1,22,0,0,0,0,0,0,36,8,0,0,36,7,0,0,1,22,0,0,1,0,0,0,52,8,0,0,52,7,0,0,1,86,0,0,0,0,0,0,100,6,0,0,84,6,0,0,1,86,0,0,1,0,0,0,116,6,0,0,68,6,0,0,1,84,0,0,0,0,0,0,132,6,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,6,0,0,84,6,0,0,1,81,0,0,0,0,0,0,164,6,0,0,100,6,0,0,1,81,0,0,1,0,0,0,180,6,0,0,116,6,0,0,1,72,0,0,0,0,0,0,196,6,0,0,132,6,0,0,1,72,0,0,1,0,0,0,212,6,0,0,148,6,0,0,1,56,0,0,0,0,0,0,228,6,0,0,164,6,0,0,1,56,0,0,1,0,0,0,244,6,0,0,180,6,0,0,1,52,0,0,0,0,0,0,4,7,0,0,196,6,0,0,1,52,0,0,1,0,0,0,20,7,0,0,212,6,0,0,1,48,0,0,0,0,0,0,36,7,0,0,228,6,0,0,1,48,0,0,1,0,0,0,52,7,0,0,244,6,0,0,1,40,0,0,0,0,0,0,68,7,0,0,228,6,0,0,1,40,0,0,1,0,0,0,84,7,0,0,244,6,0,0,1,36,0,0,0,0,0,0,100,7,0,0,4,7,0,0,1,36,0,0,1,0,0,0,116,7,0,0,20,7,0,0,1,34,0,0,0,0,0,0,132,7,0,0,36,7,0,0,1,34,0,0,1,0,0,0,148,7,0,0,52,7,0,0,1,28,0,0,0,0,0,0,164,7,0,0,68,7,0,0,1,28,0,0,1,0,0,0,180,7,0,0,84,7,0,0,1,24,0,0,0,0,0,0,196,7,0,0,100,7,0,0,1,24,0,0,1,0,0,0,212,7,0,0,116,7,0,0,1,22,0,0,0,0,0,0,228,7,0,0,132,7,0,0,1,22,0,0,1,0,0,0,244,7,0,0,148,7,0,0,1,20,0,0,0,0,0,0,4,8,0,0,164,7,0,0,1,20,0,0,1,0,0,0,20,8,0,0,180,7,0,0,1,18,0,0,0,0,0,0,36,8,0,0,196,7,0,0,1,18,0,0,1,0,0,0,52,8,0,0,212,7,0,0,1,17,0,0,0,0,0,0,68,8,0,0,228,7,0,0,1,17,0,0,1,0,0,0,84,8,0,0,244,7,0,0,193,10,0,0,0,0,0,0,100,8,0,0,4,8,0,0,193,10,0,0,1,0,0,0,116,8,0,0,20,8,0,0,193,9,0,0,0,0,0,0,132,8,0,0,36,8,0,0,193,9,0,0,1,0,0,0,148,8,0,0,52,8,0,0,161,8,0,0,0,0,0,0,164,8,0,0,68,8,0,0,161,8,0,0,1,0,0,0,180,8,0,0,84,8,0,0,33,5,0,0,0,0,0,0,196,8,0,0,100,8,0,0,33,5,0,0,1,0,0,0,212,8,0,0,116,8,0,0,65,4,0,0,0,0,0,0,228,8,0,0,132,8,0,0,65,4,0,0,1,0,0,0,244,8,0,0,148,8,0,0,161,2,0,0,0,0,0,0,4,9,0,0,164,8,0,0,161,2,0,0,1,0,0,0,20,9,0,0,180,8,0,0,33,2,0,0,0,0,0,0,36,9,0,0,196,8,0,0,33,2,0,0,1,0,0,0,52,9,0,0,212,8,0,0,65,1,0,0,0,0,0,0,68,9,0,0,228,8,0,0,65,1,0,0,1,0,0,0,84,9,0,0,244,8,0,0,17,1,0,0,0,0,0,0,100,9,0,0,4,9,0,0,17,1,0,0,1,0,0,0,116,9,0,0,20,9,0,0,133,0,0,0,0,0,0,0,132,9,0,0,36,9,0,0,133,0,0,0,1,0,0,0,148,9,0,0,52,9,0,0,73,0,0,0,0,0,0,0,164,9,0,0,68,9,0,0,73,0,0,0,1,0,0,0,180,9,0,0,84,9,0,0,37,0,0,0,0,0,0,0,196,9,0,0,100,9,0,0,37,0,0,0,1,0,0,0,212,9,0,0,116,9,0,0,21,0,0,0,0,0,0,0,228,9,0,0,132,9,0,0,21,0,0,0,1,0,0,0,244,9,0,0,148,9,0,0,9,0,0,0,0,0,0,0,4,10,0,0,164,9,0,0,9,0,0,0,1,0,0,0,20,10,0,0,180,9,0,0,5,0,0,0,0,0,0,0,36,10,0,0,196,9,0,0,5,0,0,0,1,0,0,0,52,10,0,0,212,9,0,0,1,0,0,0,0,0,0,0,36,10,0,0,228,9,0,0,1,0,0,0,1,0,0,0,52,10,0,0,244,9,0,0,1,86,0,0,0,0,0,0,68,10,0,0,68,10,0,0,1,86,0,0,1,0,0,0,84,10,0,0,84,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,11,0,0,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,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,2,0,0,0,3,0,0,0,38,94,0,0,0,4,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,10,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,64,4,32,0,32,2,128,0,128,8,16,0,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,0,3,128,4,0,6,128,7,0,9,128,10,0,12,128,13,0,15,128,16,0,18,128,19,0,21,128,22,0,24,128,25,0,27,128,28,0,30,128,31,0,33,128,34,0,36,128,37,0,39,128,40,0,42,128,43,0,45,128,46,0,48,128,49,0,51,128,52,0,54,128,55,0,57,128,58,0,60,128,61,0,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,0,81,128,82,0,84,128,85,0,87,128,88,0,90,128,91,0,93,128,94,0,96,128,97,0,99,128,100,0,102,128,103,0,105,128,106,0,108,128,109,0,111,128,112,0,114,128,115,0,117,128,118,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,128,38,128,39,128,40,128,41,0,43,0,44,0,45,128,46,128,47,0,49,0,50,128,51,128,52,0,54,0,55,128,56,0,58,0,59,128,60,0,62,128,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,128,81,0,83,128,84,0,86,0,88,128,89,0,91,0,93,128,94,128,96,0,98,0,100,128,101,128,103,0,105,0,107,0,109,128,110,128,112,128,114,128,116,0,118,0,120,0,122,0,124,0,126,0,24,128,23,0,23,128,22,0,22,128,21,0,21,128,20,0,20,128,19,0,19,128,18,0,18,128,17,0,17,128,16,0,16,128,15,0,15,128,14,0,14,128,13,0,13,128,12,0,12,128,11,0,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,0,5,128,4,0,4,128,3,0,3,128,2,0,2,128,1,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,1,128,1,0,2,128,2,0,3,128,3,0,4,128,4,0,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,0,11,128,11,0,12,128,12,0,13,128,13,0,14,128,14,0,15,128,15,0,16,128,16,0,17,128,17,0,18,128,18,0,19,128,19,0,20,128,20,0,21,128,21,0,22,128,22,0,23,128,23,0,32,0,31,0,30,0,29,0,28,0,27,128,26,128,25,128,24,128,23,0,23,0,22,0,21,128,20,128,19,0,19,0,18,128,17,128,16,0,16,0,15,128,14,0,14,0,13,128,12,0,12,128,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,128,5,0,5,128,4,0,4,0,4,128,3,0,3,0,3,128,2,128,2,0,2,0,2,128,1,128,1,0,1,0,1,0,1,128,0,128,0,128,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,116,104,101,32,100,101,99,111,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,104,101,97,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,33,0,91,69,82,82,79,82,93,32,37,115,0,83,116,114,101,97,109,32,114,101,97,99,104,101,100,32,105,116,115,32,101,110,100,32,33,10,0,69,114,114,111,114,32,111,110,32,119,114,105,116,105,110,103,32,115,116,114,101,97,109,33,10,0,83,116,114,101,97,109,32,101,114,114,111,114,33,10,0,50,46,49,46,48,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,115,101,116,117,112,95,100,101,99,111,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,114,101,97,100,95,104,101,97,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,119,98,0,114,98,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,44,37,100,93,10,0,68,101,112,114,101,99,97,116,101,100,32,102,105,101,108,100,115,32,99,112,95,99,105,110,101,109,97,32,111,114,32,99,112,95,114,115,105,122,32,97,114,101,32,117,115,101,100,10,80,108,101,97,115,101,32,99,111,110,115,105,100,101,114,32,117,115,105,110,103,32,111,110,108,121,32,116,104,101,32,114,115,105,122,32,102,105,101,108,100,10,83,101,101,32,111,112,101,110,106,112,101,103,46,104,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,10,0,84,104,101,32,100,101,115,105,114,101,100,32,109,97,120,105,109,117,109,32,99,111,100,101,115,116,114,101,97,109,32,115,105,122,101,32,104,97,115,32,108,105,109,105,116,101,100,10,97,116,32,108,101,97,115,116,32,111,110,101,32,111,102,32,116,104,101,32,100,101,115,105,114,101,100,32,113,117,97,108,105,116,121,32,108,97,121,101,114,115,10,0,74,80,69,71,32,50,48,48,48,32,83,99,97,108,97,98,108,101,32,68,105,103,105,116,97,108,32,67,105,110,101,109,97,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,49,32,115,105,110,103,108,101,32,113,117,97,108,105,116,121,32,108,97,121,101,114,45,62,32,78,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,45,62,32,82,97,116,101,32,111,102,32,116,104,101,32,108,97,115,116,32,108,97,121,101,114,32,40,37,51,46,49,102,41,32,119,105,108,108,32,98,101,32,117,115,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,60,61,32,53,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,53,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,54,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,51,48,50,48,56,51,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,48,52,49,54,54,54,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,51,32,99,111,109,112,111,110,101,110,116,115,45,62,32,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,115,105,103,110,101,100,0,117,110,115,105,103,110,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,80,114,101,99,105,115,105,111,110,32,111,102,32,101,97,99,104,32,99,111,109,112,111,110,101,110,116,32,115,104,97,108,108,32,98,101,32,49,50,32,98,105,116,115,32,117,110,115,105,103,110,101,100,45,62,32,65,116,32,108,101,97,115,116,32,99,111,109,112,111,110,101,110,116,32,37,100,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,32,98,105,116,115,44,32,37,115,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,50,48,52,56,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,49,48,56,48,10,45,62,32,73,110,112,117,116,32,105,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,52,48,57,54,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,50,49,54,48,10,45,62,32,73,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,52,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,76,111,110,103,32,84,101,114,109,32,83,116,111,114,97,103,101,32,112,114,111,102,105,108,101,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,66,114,111,97,100,99,97,115,116,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,73,77,70,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,97,114,116,45,50,32,112,114,111,102,105,108,101,32,100,101,102,105,110,101,100,10,98,117,116,32,110,111,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,46,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,85,110,115,117,112,112,111,114,116,101,100,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,117,115,101,114,32,101,110,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,37,115,37,115,0,67,114,101,97,116,101,100,32,98,121,32,79,112,101,110,74,80,69,71,32,118,101,114,115,105,111,110,32,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,104,101,99,107,105,110,103,32,116,104,101,32,112,111,99,32,118,97,108,117,101,115,46,10,0,77,105,115,115,105,110,103,32,112,97,99,107,101,116,115,32,112,111,115,115,105,98,108,101,32,108,111,115,115,32,111,102,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,101,109,112,32,98,117,102,102,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,70,97,105,108,101,100,32,116,111,32,105,110,118,101,114,115,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,110,111,114,109,115,32,10,0,70,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,106,50,107,32,109,99,116,32,101,110,99,111,100,105,110,103,10,0,67,97,110,110,111,116,32,112,101,114,102,111,114,109,32,77,67,84,32,111,110,32,99,111,109,112,111,110,101,110,116,115,32,119,105,116,104,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,46,32,68,105,115,97,98,108,105,110,103,32,77,67,84,46,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,10,0,73,110,99,111,110,115,105,115,116,101,110,116,32,109,97,114,107,101,114,32,115,105,122,101,10,0,77,97,114,107,101,114,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,32,119,105,116,104,32,105,116,115,32,112,111,115,105,116,105,111,110,10,0,77,97,114,107,101,114,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,104,101,97,100,101,114,10,0,78,111,116,32,115,117,114,101,32,104,111,119,32,116,104,97,116,32,104,97,112,112,101,110,101,100,46,10,0,70,97,105,108,32,116,111,32,114,101,97,100,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,40,37,35,120,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,116,108,32,109,97,114,107,101,114,10,0,84,105,108,101,32,112,97,114,116,32,108,101,110,103,116,104,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,79,84,32,109,97,114,107,101,114,10,0,111,112,106,95,106,50,107,95,97,112,112,108,121,95,110,98,95,116,105,108,101,95,112,97,114,116,115,95,99,111,114,114,101,99,116,105,111,110,32,101,114,114,111,114,10,0,78,111,110,32,99,111,110,102,111,114,109,97,110,116,32,99,111,100,101,115,116,114,101,97,109,32,84,80,115,111,116,61,61,84,78,115,111,116,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,84,32,109,97,114,107,101,114,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,84,32,100,97,116,97,10,0,67,97,110,110,111,116,32,100,101,99,111,100,101,32,116,105,108,101,44,32,109,101,109,111,114,121,32,101,114,114,111,114,10,0,72,101,97,100,101,114,32,111,102,32,116,105,108,101,32,37,100,32,47,32,37,100,32,104,97,115,32,98,101,101,110,32,114,101,97,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,46,10,0,78,111,32,69,79,67,32,109,97,114,107,101,114,46,32,80,111,115,115,105,98,108,121,32,97,32,116,114,117,110,99,97,116,101,100,32,115,116,114,101,97,109,10,0,83,116,114,101,97,109,32,100,111,101,115,32,110,111,116,32,101,110,100,32,119,105,116,104,32,69,79,67,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,44,32,101,120,112,101,99,116,101,100,32,83,79,84,10,0,78,101,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,98,101,102,111,114,101,32,98,101,103,105,110,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,99,111,100,101,115,116,114,101,97,109,0,78,111,32,100,101,99,111,100,101,100,32,97,114,101,97,32,112,97,114,97,109,101,116,101,114,115,44,32,115,101,116,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,116,111,32,116,104,101,32,119,104,111,108,101,32,105,109,97,103,101,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,83,105,122,101,32,120,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,119,61,37,100,41,46,10,0,83,105,122,101,32,121,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,104,61,37,100,41,46,10,0,83,101,116,116,105,110,103,32,100,101,99,111,100,105,110,103,32,97,114,101,97,32,116,111,32,37,100,44,37,100,44,37,100,44,37,100,10,0,87,114,111,110,103,32,102,108,97,103,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,102,111,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,116,120,48,61,37,100,44,32,116,121,48,61,37,100,10,0,9,32,116,100,120,61,37,100,44,32,116,100,121,61,37,100,10,0,9,32,116,119,61,37,100,44,32,116,104,61,37,100,10,0,125,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,100,101,120,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,77,97,105,110,32,104,101,97,100,101,114,32,115,116,97,114,116,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,9,32,77,97,105,110,32,104,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE),allocate([97,100,101,114,32,101,110,100,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,0,9,32,77,97,114,107,101,114,32,108,105,115,116,58,32,123,10,0,9,9,32,116,121,112,101,61,37,35,120,44,32,112,111,115,61,37,108,108,105,44,32,108,101,110,61,37,100,10,0,9,32,125,10,0,9,32,84,105,108,101,32,105,110,100,101,120,58,32,123,10,0,9,9,32,110,98,32,111,102,32,116,105,108,101,45,112,97,114,116,32,105,110,32,116,105,108,101,32,91,37,100,93,61,37,100,10,0,9,9,9,32,116,105,108,101,45,112,97,114,116,91,37,100,93,58,32,115,116,97,114,95,112,111,115,61,37,108,108,105,44,32,101,110,100,95,104,101,97,100,101,114,61,37,108,108,105,44,32,101,110,100,95,112,111,115,61,37,108,108,105,46,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,73,109,97,103,101,32,105,110,102,111,32,123,10,0,37,115,32,120,48,61,37,100,44,32,121,48,61,37,100,10,0,37,115,32,120,49,61,37,100,44,32,121,49,61,37,100,10,0,37,115,32,110,117,109,99,111,109,112,115,61,37,100,10,0,37,115,9,32,99,111,109,112,111,110,101,110,116,32,37,100,32,123,10,0,37,115,125,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,99,111,109,112,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,37,115,32,100,120,61,37,100,44,32,100,121,61,37,100,10,0,37,115,32,112,114,101,99,61,37,100,10,0,37,115,32,115,103,110,100,61,37,100,10,0,87,101,32,110,101,101,100,32,97,110,32,105,109,97,103,101,32,112,114,101,118,105,111,117,115,108,121,32,99,114,101,97,116,101,100,46,10,0,84,105,108,101,32,105,110,100,101,120,32,112,114,111,118,105,100,101,100,32,98,121,32,116,104,101,32,117,115,101,114,32,105,115,32,105,110,99,111,114,114,101,99,116,32,37,100,32,40,109,97,120,32,61,32,37,100,41,32,10,0,82,101,115,111,108,117,116,105,111,110,32,102,97,99,116,111,114,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,109,97,120,105,109,117,109,32,114,101,115,111,108,117,116,105,111,110,32,105,110,32,116,104,101,32,99,111,109,112,111,110,101,110,116,46,10,0,84,104,101,32,103,105,118,101,110,32,116,105,108,101,32,105,110,100,101,120,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,46,0,116,105,108,101,32,110,117,109,98,101,114,32,37,100,32,47,32,37,100,10,0,69,114,114,111,114,32,97,108,108,111,99,97,116,105,110,103,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,100,97,116,97,46,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,101,110,99,111,100,101,32,97,108,108,32,116,105,108,101,115,10,0,83,105,122,101,32,109,105,115,109,97,116,99,104,32,98,101,116,119,101,101,110,32,116,105,108,101,32,100,97,116,97,32,97,110,100,32,115,101,110,116,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,105,109,97,103,101,32,104,101,97,100,101,114,46,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,114,101,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,111,115,116,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,105,108,101,32,67,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,66,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,84,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,79,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,116,104,101,32,67,79,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,80,79,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,84,76,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,81,99,100,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,104,101,32,83,73,90,32,109,97,114,107,101,114,10,0,78,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,105,115,32,116,111,111,32,104,105,103,104,32,105,110,32,99,111,109,112,97,114,105,115,111,110,32,116,111,32,116,104,101,32,115,105,122,101,32,111,102,32,116,105,108,101,115,10,0,67,97,110,110,111,116,32,101,110,99,111,100,101,32,116,105,108,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,111,110,101,32,116,105,108,101,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,101,101,107,32,102,117,110,99,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,84,105,108,101,32,37,100,47,37,100,32,104,97,115,32,98,101,101,110,32,100,101,99,111,100,101,100,46,10,0,73,109,97,103,101,32,100,97,116,97,32,104,97,115,32,98,101,101,110,32,117,112,100,97,116,101,100,32,119,105,116,104,32,116,105,108,101,32,37,100,46,10,10,0,84,105,108,101,32,114,101,97,100,44,32,100,101,99,111,100,101,100,32,97,110,100,32,117,112,100,97,116,101,100,32,105,115,32,110,111,116,32,116,104,101,32,100,101,115,105,114,101,100,32,111,110,101,32,40,37,100,32,118,115,32,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,115,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,9,32,100,101,102,97,117,108,116,32,116,105,108,101,32,123,10,0,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,32,112,114,103,61,37,35,120,10,0,9,9,32,110,117,109,108,97,121,101,114,115,61,37,100,10,0,9,9,32,109,99,116,61,37,120,10,0,9,9,32,99,111,109,112,32,37,100,32,123,10,0,9,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,9,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,61,37,100,10,0,9,9,9,32,99,98,108,107,119,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,104,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,115,116,121,61,37,35,120,10,0,9,9,9,32,113,109,102,98,105,100,61,37,100,10,0,9,9,9,32,112,114,101,99,99,105,110,116,115,105,122,101,32,40,119,44,104,41,61,0,40,37,100,44,37,100,41,32,0,9,9,9,32,113,110,116,115,116,121,61,37,100,10,0,9,9,9,32,110,117,109,103,98,105,116,115,61,37,100,10,0,9,9,9,32,115,116,101,112,115,105,122,101,115,32,40,109,44,101,41,61,0,9,9,9,32,114,111,105,115,104,105,102,116,61,37,100,10,0,9,9,32,125,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,79,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,115,116,97,103,101,115,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,100,97,116,97,32,115,112,97,110,110,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,99,111,108,108,101,99,116,105,111,110,115,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,111,116,104,101,114,32,116,104,97,110,32,97,114,114,97,121,32,100,101,99,111,114,114,101,108,97,116,105,111,110,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,32,105,110,100,105,120,32,115,104,117,102,102,108,101,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,111,117,116,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,105,110,100,105,120,101,115,10,0,67,114,114,111,114,32,114,101,97,100,105,110,103,32,67,66,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,99,116,32,100,97,116,97,32,119,105,116,104,105,110,32,109,117,108,116,105,112,108,101,32,77,67,84,32,114,101,99,111,114,100,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,77,67,84,32,109,97,114,107,101,114,115,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,82,71,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,58,32,112,97,99,107,101,116,32,104,101,97,100,101,114,32,104,97,118,101,32,98,101,101,110,32,112,114,101,118,105,111,117,115,108,121,32,102,111,117,110,100,32,105,110,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,40,80,80,77,32,109,97,114,107,101,114,41,46,10,0,90,112,112,116,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,77,32,109,97,114,107,101,114,10,0,90,112,112,109,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,84,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,105,108,108,101,103,97,108,32,45,62,32,37,100,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,110,117,109,98,101,114,32,111,102,32,112,97,114,97,109,101,116,101,114,115,32,40,32,37,100,32,118,115,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,101,103,97,116,105,118,101,32,111,114,32,122,101,114,111,32,105,109,97,103,101,32,115,105,122,101,32,40,37,100,32,120,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,110,118,97,108,105,100,32,116,105,108,101,32,115,105,122,101,32,40,116,100,120,58,32,37,100,44,32,116,100,121,58,32,37,100,41,10,0,80,114,101,118,101,110,116,32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119,32,40,120,49,58,32,37,100,44,32,121,49,58,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,108,108,101,103,97,108,32,116,105,108,101,32,111,102,102,115,101,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,83,73,90,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32,99,111,109,112,32,61,32,37,100,32,58,32,100,120,61,37,117,32,100,121,61,37,117,10,32,40,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,50,53,53,32,97,99,99,111,114,100,105,110,103,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,41,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,115,32,58,32,37,117,32,120,32,37,117,32,40,109,97,120,105,109,117,109,32,102,105,120,101,100,32,98,121,32,106,112,101,103,50,48,48,48,32,110,111,114,109,32,105,115,32,54,53,53,51,53,32,116,105,108,101,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,79,67,32,109,97,114,107,101,114,10,0,84,111,111,32,109,97,110,121,32,80,79,67,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,67,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,58,32,37,100,44,32,114,101,103,97,114,100,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,81,99,100,32,111,114,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,87,104,105,108,101,32,114,101,97,100,105,110,103,32,67,67,80,95,81,78,84,83,84,89,32,101,108,101,109,101,110,116,32,105,110,115,105,100,101,32,81,67,68,32,111,114,32,81,67,67,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,44,32,110,117,109,98,101,114,32,111,102,32,115,117,98,98,97,110,100,115,32,40,37,100,41,32,105,115,32,103,114,101,97,116,101,114,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,46,32,83,111,32,119,101,32,108,105,109,105,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,115,116,111,114,101,100,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,32,97,110,100,32,115,107,105,112,32,116,104,101,32,114,101,115,116,46,32,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,82,71,78,32,109,97,114,107,101,114,10,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,32,105,110,32,82,71,78,32,40,37,100,32,119,104,101,110,32,116,104,101,114,101,32,97,114,101,32,111,110,108,121,32,37,100,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,32,40,98,97,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,102,111,114,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,44,32,109,97,120,32,118,97,108,117,101,32,105,115,32,115,101,116,32,105,110,32,111,112,101,110,106,112,101,103,46,104,32,97,116,32,37,100,10,0,69,114,114,111,114,32,100,101,99,111,100,105,110,103,32,99,111,109,112,111,110,101,110,116,32,37,100,46,10,84,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,116,111,32,114,101,109,111,118,101,32,105,115,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,111,102,32,116,104,105,115,32,99,111,109,112,111,110,101,110,116,10,77,111,100,105,102,121,32,116,104,101,32,99,112,95,114,101,100,117,99,101,32,112,97,114,97,109,101,116,101,114,46,10,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,44,32,73,110,118,97,108,105,100,32,99,98,108,107,119,47,99,98,108,107,104,32,99,111,109,98,105,110,97,116,105,111,110,10,0,73,110,118,97,108,105,100,32,112,114,101,99,105,110,99,116,32,115,105,122,101,10,0,67,79,68,32,109,97,114,107,101,114,32,97,108,114,101,97,100,121,32,114,101,97,100,46,32,78,111,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,67,79,68,32,109,97,114,107,101,114,32,112,101,114,32,116,105,108,101,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,83,99,111,100,32,118,97,108,117,101,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,112,114,111,103,114,101,115,115,105,111,110,32,111,114,100,101,114,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,105,110,32,67,79,68,32,109,97,114,107,101,114,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,45,54,53,53,51,53,93,10,0,73,110,118,97,108,105,100,32,116,105,108,101,32,110,117,109,98,101,114,32,37,100,10,0,69,109,112,116,121,32,83,79,84,32,109,97,114,107,101,114,32,100,101,116,101,99,116,101,100,58,32,80,115,111,116,61,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,105,115,32,110,111,116,32,99,111,114,114,101,99,116,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,58,32,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,108,101,45,112,97,114,116,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,44,32,119,101,32,97,115,115,117,109,105,110,103,32,105,116,32,105,115,32,116,104,101,32,108,97,115,116,32,116,105,108,101,45,112,97,114,116,32,111,102,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,46,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,104,101,97,100,101,114,41,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,83,79,84,32,109,97,114,107,101,114,46,32,84,105,108,101,32,105,110,100,101,120,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,10,0,83,116,97,114,116,32,116,111,32,114,101,97,100,32,106,50,107,32,109,97,105,110,32,104,101,97,100,101,114,32,40,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,109,104,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,97,32,83,79,67,32,109,97,114,107,101,114,32,10,0,65,32,109,97,114,107,101,114,32,73,68,32,119,97,115,32,101,120,112,101,99,116,101,100,32,40,48,120,102,102,45,45,41,32,105,110,115,116,101,97,100,32,111,102,32,37,46,56,120,10,0,85,110,107,110,111,119,110,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,32,109,97,114,107,101,114,32,104,97,118,101,32,98,101,101,110,32,100,101,116,101,99,116,101,100,32,97,110,100,32,103,101,110,101,114,97,116,101,100,32,101,114,114,111,114,46,10,0,77,97,114,107,101,114,32,104,97,110,100,108,101,114,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,10,0,114,101,113,117,105,114,101,100,32,83,73,90,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,67,79,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,81,67,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,98,121,116,101,115,32,116,111,32,114,101,97,100,32,78,112,112,109,10,0,67,111,114,114,117,112,116,101,100,32,80,80,77,32,109,97,114,107,101,114,115,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,77,32,100,97,116,97,10,0,77,97,105,110,32,104,101,97,100,101,114,32,104,97,115,32,98,101,101,110,32,99,111,114,114,101,99,116,108,121,32,100,101,99,111,100,101,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,105,110,32,116,104,101,32,74,80,50,32,102,105,108,101,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,119,104,105,108,101,32,115,101,116,116,105,110,103,32,117,112,32,74,80,50,32,101,110,99,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,104,101,110,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,117,110,107,110,111,119,110,32,101,110,117,109,99,115,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,110,111,116,32,101,110,111,117,103,104,32,105,109,97,103,101,32,99,111,109,112,111,110,101,110,116,115,32,102,111,114,32,97,110,32,97,117,116,111,109,97,116,105,99,32,99,100,101,102,32,98,111,120,32,99,114,101,97,116,105,111,110,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,112,111,115,105,116,105,111,110,32,99,111,110,102,108,105,99,116,115,32,119,105,116,104,32,99,111,108,111,114,32,99,104,97,110,110,101,108,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,77,117,108,116,105,112,108,101,32,97,108,112,104,97,32,99,104,97,110,110,101,108,115,32,115,112,101,99,105,102,105,101,100,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,74,80,50,32,98,111,120,32,119,104,105,99,104,32,97,114,101,32,97,102,116,101,114,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,110,111,116,32,98,101,32,114,101,97,100,32,98,121,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,111,108,100,32,74,80,50,32,72,101,97,100,101,114,32,100,97,116,97,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,102,116,121,112,32,100,97,116,97,10,0,69,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,102,116,121,112,32,100,97,116,97,32,116,111,32,115,116,114,101,97,109,10,0,70,97,105,108,101,100,32,116,111,32,115,101,101,107,32,105,110,32,116,104,101,32,115,116,114,101,97,109,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,102,105,108,101,32,104,101,97,100,101,114,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,115,105,122,101,115,32,104,105,103,104,101,114,32,116,104,97,110,32,50,94,51,50,10,0,98,97,100,32,112,108,97,99,101,100,32,106,112,101,103,32,99,111,100,101,115,116,114,101,97,109,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,117,110,100,101,102,105,110,101,100,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,40,37,120,41,10,0,70,111,117,110,100,32,97,32,109,105,115,112,108,97,99,101,100,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,111,117,116,115,105,100,101,32,106,112,50,104,32,98,111,120,10,0,74,80,69,71,50,48,48,48,32,72,101,97,100,101,114,32,98,111,120,32,110,111,116,32,114,101,97,100,32,121,101,116,44,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,107,105,112,112,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,73,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,102,111,114,32,98,111,120,32,39,37,99,37,99,37,99,37,99,39,46,32,78,101,101,100,32,37,100,32,98,121,116,101,115,44,32,37,100,32,98,121,116,101,115,32,114,101,109,97,105,110,105,110,103,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,98,111,120,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,114,101,97,100,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,102,105,114,115,116,32,98,111,120,32,109,117,115,116,32,98,101,32,74,80,69,71,32,50,48,48,48,32,115,105,103,110,97,116,117,114,101,32,98,111,120,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,115,101,99,111,110,100,32,98,111,120,32,109,117,115,116,32,98,101,32,102,105,108,101,32,116,121,112,101,32,98,111,120,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,68,69,70,32,98,111,120,46,10,0,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,32,100,101,115,99,114,105,112,116,105,111,110,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,32,105,110,32,67,68,69,70,32,98,111,120,46,10,0,78,101,101,100,32,116,111,32,114,101,97,100,32,97,32,80,67,76,82,32,98,111,120,32,98,101,102,111,114,101,32,116,104,101,32,67,77,65,80,32,98,111,120,46,10,0,79,110,108,121,32,111,110,101,32,67,77,65,80,32,98,111,120,32,105,115,32,97,108,108,111,119,101,100,46,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,77,65,80,32,98,111,120,46,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,37,100,32,101,110,116,114,105,101,115,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,48,32,112,97,108,101,116,116,101,32,99,111,108,117,109,110,115,10,0,65,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,108,116,104,111,117,103,104,32,66,80,67,32,103,105,118,101,110,32,98,121,32,116,104,101,32,73,72,68,82,32,98,111,120,32,40,37,100,41,32,105,110,100,105,99,97,116,101,32,99,111,109,112,111,110,101,110,116,115,32,98,105,116,32,100,101,112,116,104,32,105,115,32,99,111,110,115,116,97,110,116,10,0,66,97,100,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,65,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,114,101,97,100,101,114,32,115,104,97,108,108,32,105,103,110,111,114,101,32,97,108,108,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,101,115,32,97,102,116,101,114,32,116,104,101,32,102,105,114,115,116,44,32,115,111,32,119,101,32,105,103,110,111,114,101,32,116,104,105,115,32,111,110,101,46,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,67,73,69,76,97,98,44,32,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,67,79,76,82,32,66,79,88,32,109,101,116,104,32,118,97,108,117,101,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,118,97,108,117,101,32,40,37,100,41,44,32,115,111,32,119,101,32,119,105,108,108,32,105,103,110,111,114,101,32,116,104,101,32,101,110,116,105,114,101,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,46,32,10,0,66,97,100,32,105,109,97,103,101,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,105,109,97,103,101,32,104,101,97,100,101,114,32,40,105,104,100,114,41,10,0,74,80,50,32,73,72,68,82,32,98,111,120,58,32,99,111,109,112,114,101,115,115,105,111,110,32,116,121,112,101,32,105,110,100,105,99,97,116,101,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,97,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,102,105,108,101,32,40,37,100,41,32,10,0,84,104,101,32,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,56,32,98,121,116,101,115,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,88,76,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,49,54,32,98,121,116,101,115,10,0,66,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,98,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,110,111,32,39,105,104,100,114,39,32,98,111,120,46,10,0,84,104,101,32,102,116,121,112,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,115,101,99,111,110,100,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,70,84,89,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,105,116,104,32,70,84,89,80,32,66,111,120,10,0,84,104,101,32,115,105,103,110,97,116,117,114,101,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,83,105,103,110,97,116,117,114,101,32,58,32,98,97,100,32,109,97,103,105,99,32,110,117,109,98,101,114,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,97,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,105,110,100,101,120,32,37,100,32,40,62,61,32,37,100,41,46,10,0,73,110,99,111,109,112,108,101,116,101,32,99,104,97,110,110,101,108,32,100,101,102,105,110,105,116,105,111,110,115,46,10,0,85,110,101,120,112,101,99,116,101,100,32,79,79,77,46,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,47,112,97,108,101,116,116,101,32,105,110,100,101,120,32,102,111,114,32,100,105,114,101,99,116,32,109,97,112,112,105,110,103,32,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,105,115,32,109,97,112,112,101,100,32,116,119,105,99,101,46,10,0,68,105,114,101,99,116,32,117,115,101,32,97,116,32,35,37,100,32,104,111,119,101,118,101,114,32,112,99,111,108,61,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,100,111,101,115,110,39,116,32,104,97,118,101,32,97,32,109,97,112,112,105,110,103,46,10,0,67,111,109,112,111,110,101,110,116,32,109,97,112,112,105,110,103,32,115,101,101,109,115,32,119,114,111,110,103,46,32,84,114,121,105,110,103,32,116,111,32,99,111,114,114,101,99,116,46,10,0,84,105,108,101,115,32,100,111,110,39,116,32,97,108,108,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,100,105,109,101,110,115,105,111,110,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,40,37,100,41,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,97,32,77,67,84,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,116,105,108,101,115,32,114,101,113,117,105,114,101,32,97,116,32,108,101,97,115,116,32,111,110,101,32,114,101,115,111,108,117,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,114,101,115,111,108,117,116,105,111,110,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,98,97,110,100,32,112,114,101,99,105,110,116,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,117,114,114,101,110,116,32,112,114,101,99,105,110,99,116,32,99,111,100,101,98,108,111,99,107,32,101,108,101,109,101,110,116,10,0,78,111,32,105,110,99,108,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,32,105,109,115,98,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,10,0,116,103,116,95,99,114,101,97,116,101,32,116,114,101,101,45,62,110,117,109,110,111,100,101,115,32,61,61,32,48,44,32,110,111,32,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,32,110,111,100,101,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,116,97,103,32,116,114,101,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,97,32,110,101,119,32,118,97,108,105,100,97,116,105,111,110,32,112,114,111,99,101,100,117,114,101,10,0,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240),allocate([7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,3,3,6,3,6,6,8,3,6,6,8,6,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,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,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,1,1,0,0,1,1,1,0,0,1,0,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,99,117,114,114,101,110,116,32,115,105,122,101,32,40,37,100,32,62,32,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,115,107,105,112,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480),allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+25118);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3],HEAP8[tempDoublePtr+4]=HEAP8[e+4],HEAP8[tempDoublePtr+5]=HEAP8[e+5],HEAP8[tempDoublePtr+6]=HEAP8[e+6],HEAP8[tempDoublePtr+7]=HEAP8[e+7]}assert(tempDoublePtr%8==0),Module._i64Subtract=_i64Subtract;var _floorf=Math_floor;Module._bitshift64Ashr=_bitshift64Ashr;var _SItoF=!0;Module._memset=_memset;var _BDtoILow=!0,_ceilf=Math_ceil;function _abort(){Module.abort()}function ___lock(){}function ___unlock(){}Module._bitshift64Shl=_bitshift64Shl,Module._i64Add=_i64Add;var _floor=Math_floor,_sqrt=Math_sqrt,PATH=void 0;function _emscripten_set_main_loop_timing(e,i){if(Browser.mainLoop.timingMode=e,Browser.mainLoop.timingValue=i,!Browser.mainLoop.func)return 1;if(0==e)Browser.mainLoop.scheduler=function(){setTimeout(Browser.mainLoop.runner,i)},Browser.mainLoop.method="timeout";else if(1==e)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(2==e){if(!window.setImmediate){var r=[],t="__emcc";window.addEventListener("message",(function(e){e.source===window&&e.data===t&&(e.stopPropagation(),r.shift()())}),!0),window.setImmediate=function(e){r.push(e),window.postMessage(t,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(e,i,r,t,n){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=e,Browser.mainLoop.arg=t;var f=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var i=Date.now(),r=Browser.mainLoop.queue.shift();if(r.func(r.arg),Browser.mainLoop.remainingBlockers){var n=Browser.mainLoop.remainingBlockers,a=n%1==0?n-1:Math.floor(n);r.counted?Browser.mainLoop.remainingBlockers=a:(a+=.5,Browser.mainLoop.remainingBlockers=(8*n+a)/9)}return console.log(\'main loop blocker "\'+r.name+\'" took \'+(Date.now()-i)+" ms"),Browser.mainLoop.updateStatus(),void setTimeout(Browser.mainLoop.runner,0)}f1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0?Browser.mainLoop.scheduler():("timeout"===Browser.mainLoop.method&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter((function(){void 0!==t?Runtime.dynCall("vi",e,[t]):Runtime.dynCall("v",e)})),f0?_emscripten_set_main_loop_timing(0,1e3/i):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var e=Browser.mainLoop.timingMode,i=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(e,i),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var e=Module.statusMessage||"Please wait...",i=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;i?i=6;){var a=t>>n-6&63;n-=6,r+=i[a]}return 2==n?(r+=i[(3&t)<<4],r+="=="):4==n&&(r+=i[(15&t)<<2],r+="="),r}(e),f(o))},o.src=l,Browser.safeSetTimeout((function(){f(o)}),1e4)}};Module.preloadPlugins.push(i);var r=Module.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||function(){},r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},r.exitPointerLock=r.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",t,!1),document.addEventListener("mozpointerlockchange",t,!1),document.addEventListener("webkitpointerlockchange",t,!1),document.addEventListener("mspointerlockchange",t,!1),Module.elementPointerLock&&r.addEventListener("click",(function(e){!Browser.pointerLock&&r.requestPointerLock&&(r.requestPointerLock(),e.preventDefault())}),!1))}function t(){Browser.pointerLock=document.pointerLockElement===r||document.mozPointerLockElement===r||document.webkitPointerLockElement===r||document.msPointerLockElement===r}},createContext:function(e,i,r,t){if(i&&Module.ctx&&e==Module.canvas)return Module.ctx;var n,f;if(i){var a={antialias:!1,alpha:!1};if(t)for(var s in t)a[s]=t[s];(f=GL.createContext(e,a))&&(n=GL.getContext(f).GLctx),e.style.backgroundColor="black"}else n=e.getContext("2d");return n?(r&&(i||assert("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=n,i&&GL.makeContextCurrent(f),Module.useWebGL=i,Browser.moduleContextCreatedCallbacks.forEach((function(e){e()})),Browser.init()),n):null},destroyContext:function(e,i,r){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(e,i,r){Browser.lockPointer=e,Browser.resizeCanvas=i,Browser.vrDevice=r,void 0===Browser.lockPointer&&(Browser.lockPointer=!0),void 0===Browser.resizeCanvas&&(Browser.resizeCanvas=!1),void 0===Browser.vrDevice&&(Browser.vrDevice=null);var t=Module.canvas;function n(){Browser.isFullScreen=!1;var e=t.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e?(t.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},t.cancelFullScreen=t.cancelFullScreen.bind(document),Browser.lockPointer&&t.requestPointerLock(),Browser.isFullScreen=!0,Browser.resizeCanvas&&Browser.setFullScreenCanvasSize()):(e.parentNode.insertBefore(t,e),e.parentNode.removeChild(e),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullScreen),Browser.updateCanvasDimensions(t)}Browser.fullScreenHandlersInstalled||(Browser.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var f=document.createElement("div");t.parentNode.insertBefore(f,t),f.appendChild(t),f.requestFullScreen=f.requestFullScreen||f.mozRequestFullScreen||f.msRequestFullscreen||(f.webkitRequestFullScreen?function(){f.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?f.requestFullScreen({vrDisplay:r}):f.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(e){var i=Date.now();if(0===Browser.nextRAF)Browser.nextRAF=i+1e3/60;else for(;i+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-i,0);setTimeout(e,r)},requestAnimationFrame:function(e){"undefined"==typeof window?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var e=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],e.forEach((function(e){e()}))}},safeRequestAnimationFrame:function(e){return Browser.requestAnimationFrame((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}))},safeSetTimeout:function(e,i){return Module.noExitRuntime=!0,setTimeout((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}),i)},safeSetInterval:function(e,i){return Module.noExitRuntime=!0,setInterval((function(){ABORT||Browser.allowAsyncCallbacks&&e()}),i)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var i=0;switch(e.type){case"DOMMouseScroll":i=e.detail;break;case"mousewheel":i=e.wheelDelta;break;case"wheel":i=e.deltaY;break;default:throw"unrecognized mouse wheel event: "+e.type}return i},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Browser.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),"undefined"!=typeof SDL?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var i=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,t=Module.canvas.height,n=void 0!==window.scrollX?window.scrollX:window.pageXOffset,f=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var a=e.touch;if(void 0===a)return;var s=a.pageX-(n+i.left),l=a.pageY-(f+i.top),o={x:s*=r/i.width,y:l*=t/i.height};if("touchstart"===e.type)Browser.lastTouches[a.identifier]=o,Browser.touches[a.identifier]=o;else if("touchend"===e.type||"touchmove"===e.type){var u=Browser.touches[a.identifier];u||(u=o),Browser.lastTouches[a.identifier]=u,Browser.touches[a.identifier]=o}return}var c=e.pageX-(n+i.left),h=e.pageY-(f+i.top);c*=r/i.width,h*=t/i.height,Browser.mouseMovementX=c-Browser.mouseX,Browser.mouseMovementY=h-Browser.mouseY,Browser.mouseX=c,Browser.mouseY=h}},xhrLoad:function(e,i,r){var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=function(){200==t.status||0==t.status&&t.response?i(t.response):r()},t.onerror=r,t.send(null)},asyncLoad:function(e,i,r,t){Browser.xhrLoad(e,(function(r){assert(r,\'Loading data file "\'+e+\'" failed (no arrayBuffer).\'),i(new Uint8Array(r)),t||removeRunDependency("al "+e)}),(function(i){if(!r)throw\'Loading data file "\'+e+\'" failed.\';r()})),t||addRunDependency("al "+e)},resizeListeners:[],updateResizeListeners:function(){var e=Module.canvas;Browser.resizeListeners.forEach((function(i){i(e.width,e.height)}))},setCanvasSize:function(e,i,r){var t=Module.canvas;Browser.updateCanvasDimensions(t,e,i),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e|=8388608,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e&=-8388609,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},updateCanvasDimensions:function(e,i,r){i&&r?(e.widthNative=i,e.heightNative=r):(i=e.widthNative,r=e.heightNative);var t=i,n=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(t/n>2]},getStr:function(){return Pointer_stringify(SYSCALLS.get())},get64:function(){var e=SYSCALLS.get(),i=SYSCALLS.get();return assert(e>=0?0===i:-1===i),e},getZero:function(){assert(0===SYSCALLS.get())}};function ___syscall54(e,i){SYSCALLS.varargs=i;try{return 0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}Module._bitshift64Lshr=_bitshift64Lshr;var _BDtoIHigh=!0;function _pthread_cleanup_push(e,i){__ATEXIT__.push((function(){Runtime.dynCall("vi",e,[i])})),_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!"),__ATEXIT__.pop(),_pthread_cleanup_push.level=__ATEXIT__.length}function ___syscall5(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStr(),t=SYSCALLS.get(),n=SYSCALLS.get();return FS.open(r,t,n).fd}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function _emscripten_memcpy_big(e,i,r){return HEAPU8.set(HEAPU8.subarray(i,i+r),e),e}function ___syscall6(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}Module._memcpy=_memcpy;var _llvm_pow_f64=Math_pow;function _sbrk(e){var i=_sbrk;i.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),i.called=!0,assert(Runtime.dynamicAlloc),i.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var r=DYNAMICTOP;if(0!=e&&!i.alloc(e))return-1>>>0;return r}var _BItoD=!0;function _time(e){var i=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=i),i}function _pthread_self(){return 0}function ___syscall140(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get(),f=SYSCALLS.get(),a=SYSCALLS.get(),s=n;return assert(0===t),FS.llseek(r,s,a),HEAP32[f>>2]=r.position,r.getdents&&0===s&&0===a&&(r.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,i){SYSCALLS.varargs=i;try{SYSCALLS.get();var r=SYSCALLS.get(),t=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffer=[]);for(var f=___syscall146.buffer,a=0;a>2],l=HEAP32[r+(8*a+4)>>2],o=0;o>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:return ___setErrNo(ERRNO_CODES.EINVAL),-1;default:return-ERRNO_CODES.EINVAL}}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall145(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get();return SYSCALLS.doReadv(r,t,n)}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}Module.requestFullScreen=function(e,i,r){Browser.requestFullScreen(e,i,r)},Module.requestAnimationFrame=function(e){Browser.requestAnimationFrame(e)},Module.setCanvasSize=function(e,i,r){Browser.setCanvasSize(e,i,r)},Module.pauseMainLoop=function(){Browser.mainLoop.pause()},Module.resumeMainLoop=function(){Browser.mainLoop.resume()},Module.getUserMedia=function(){Browser.getUserMedia()},Module.createContext=function(e,i,r,t){return Browser.createContext(e,i,r,t)},STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),staticSealed=!0,STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX),assert(DYNAMIC_BASE>2]=r;if((f[e+8>>2]|0)==16)o=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else o=f[e+12>>2]|0;a=(f[e+80>>2]|0)+16|0;s=(f[a>>2]|0)>>>0<257?1:2;l=s+1|0;if(l>>>0>r>>>0){Ht(t,1,14585,h)|0;t=0;c=h;return t|0}f[n>>2]=r-l;ct(i,u,s);r=f[u>>2]|0;if(r>>>0>=(f[a>>2]|0)>>>0){Ht(t,1,14611,h+8|0)|0;t=0;c=h;return t|0}ct(i+s|0,(f[o+5584>>2]|0)+(r*1080|0)|0,1);if(!(_i(e,f[u>>2]|0,i+l|0,n,t)|0)){Ht(t,1,14585,h+16|0)|0;t=0;c=h;return t|0}if(!(f[n>>2]|0)){t=1;c=h;return t|0}Ht(t,1,14585,h+24|0)|0;t=0;c=h;return t|0}function Ve(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0;o=c;c=c+32|0;l=o+8|0;n=o+20|0;s=f[(f[e+80>>2]|0)+16>>2]|0;a=s>>>0<257?1:2;if((a+2|0)!=(r|0)){Ht(t,1,14502,o)|0;l=0;c=o;return l|0}if((f[e+8>>2]|0)==16)e=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else e=f[e+12>>2]|0;ct(i,n,a);ct(i+a|0,o+16|0,1);r=f[n>>2]|0;if(r>>>0>>0){ct(i+(a+1)|0,(f[e+5584>>2]|0)+(r*1080|0)+808|0,1);l=1;c=o;return l|0}else{f[l>>2]=r;f[l+4>>2]=s;Ht(t,1,14528,l)|0;l=0;c=o;return l|0}return 0}function Ge(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0;s=c;c=c+16|0;n=s+12|0;f[n>>2]=r;if(!(wi(e,0,i,n,t)|0)){Ht(t,1,14476,s)|0;a=0;c=s;return a|0}if(f[n>>2]|0){Ht(t,1,14476,s+8|0)|0;a=0;c=s;return a|0}if((f[e+8>>2]|0)==16)n=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else n=f[e+12>>2]|0;n=f[n+5584>>2]|0;r=e+80|0;if((f[(f[r>>2]|0)+16>>2]|0)>>>0<=1){a=1;c=s;return a|0}t=n+24|0;e=n+804|0;a=n+28|0;i=1;while(1){f[n+1104>>2]=f[t>>2];f[n+1884>>2]=f[e>>2];Nl(n+1108|0,a|0,776)|0;i=i+1|0;if(i>>>0>=(f[(f[r>>2]|0)+16>>2]|0)>>>0){n=1;break}else n=n+1080|0}c=s;return n|0}function Ke(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+48|0;d=b+32|0;h=b+24|0;u=b+16|0;a=b+8|0;n=b;o=b+40|0;s=b+36|0;f[o>>2]=r;l=e+80|0;do{if((f[(f[l>>2]|0)+16>>2]|0)>>>0<257){if(r){ct(i,s,1);a=i+1|0;i=r+-1|0;break}Ht(t,1,14129,n)|0;d=0;c=b;return d|0}else{if(r>>>0>=2){ct(i,s,2);a=i+2|0;i=r+-2|0;break}Ht(t,1,14129,a)|0;d=0;c=b;return d|0}}while(0);f[o>>2]=i;n=f[s>>2]|0;i=f[(f[l>>2]|0)+16>>2]|0;if(n>>>0>=i>>>0){f[u>>2]=n;f[u+4>>2]=i;Ht(t,1,14155,u)|0;d=0;c=b;return d|0}if(!(wi(e,n,a,o,t)|0)){Ht(t,1,14129,h)|0;d=0;c=b;return d|0}if(!(f[o>>2]|0)){d=1;c=b;return d|0}Ht(t,1,14129,d)|0;d=0;c=b;return d|0}function We(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0;v=c;c=c+16|0;s=v+8|0;m=v+12|0;_=f[(f[e+80>>2]|0)+16>>2]|0;w=_>>>0<257?1:2;k=(w<<1)+5|0;a=(r>>>0)/(k>>>0)|0;if((a|0)==0|((r>>>0)%(k>>>0)|0|0)!=0){Ht(n,1,14085,v)|0;m=0;c=v;return m|0}if((f[e+8>>2]|0)==16)k=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else k=f[e+12>>2]|0;r=k+5636|0;e=t[r>>0]|0;if(!(e&4))b=0;else b=(f[k+420>>2]|0)+1|0;d=b+a|0;if(d>>>0>31){f[s>>2]=d;Ht(n,1,14111,s)|0;m=0;c=v;return m|0}t[r>>0]=e|4;if(b>>>0>>0){n=w+1|0;h=k+8|0;s=w+3|0;l=w|4;o=l+w|0;u=o+1|0;e=i;a=b;r=k+424+(b*148|0)|0;while(1){ct(e,r,1);ct(e+1|0,r+4|0,w);i=r+8|0;ct(e+n|0,i,2);p=f[i>>2]|0;b=f[h>>2]|0;f[i>>2]=p>>>0>>0?p:b;ct(e+s|0,r+12|0,1);i=r+16|0;ct(e+l|0,i,w);ct(e+o|0,m,1);f[r+36>>2]=f[m>>2];b=f[i>>2]|0;f[i>>2]=b>>>0<_>>>0?b:_;a=a+1|0;if(a>>>0>=d>>>0)break;else{e=e+u|0;r=r+148|0}}}f[k+420>>2]=d+-1;p=1;c=v;return p|0}function Ze(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0;F=c;c=c+144|0;N=F+128|0;O=F+120|0;x=F+112|0;L=F+104|0;R=F+96|0;C=F+88|0;S=F+72|0;v=F+64|0;_=F+56|0;w=F+48|0;k=F+40|0;m=F+32|0;u=F+24|0;l=F+16|0;s=F+136|0;y=F+132|0;I=f[e+80>>2]|0;D=e+88|0;if(r>>>0<36){Ht(a,1,13440,F)|0;a=0;c=F;return a|0}B=r+-36|0;b=(B>>>0)/3|0;if((B>>>0)%3|0){Ht(a,1,13440,F+8|0)|0;a=0;c=F;return a|0}ct(i,s,2);n[D>>1]=f[s>>2];M=I+8|0;ct(i+2|0,M,4);T=I+12|0;ct(i+6|0,T,4);ct(i+10|0,I,4);d=I+4|0;ct(i+14|0,d,4);g=e+100|0;ct(i+18|0,g,4);A=e+104|0;ct(i+22|0,A,4);p=e+92|0;ct(i+26|0,p,4);E=e+96|0;ct(i+30|0,E,4);ct(i+34|0,s,2);o=i+36|0;r=f[s>>2]|0;if(r>>>0>=16385){f[l>>2]=r;Ht(a,1,13468,l)|0;a=0;c=F;return a|0}r=r&65535;B=I+16|0;f[B>>2]=r;if((r|0)!=(b|0)){f[u>>2]=r;f[u+4>>2]=b;Ht(a,1,13529,u)|0;a=0;c=F;return a|0}u=f[I>>2]|0;h=f[M>>2]|0;if(h>>>0>u>>>0){r=f[d>>2]|0;i=f[T>>2]|0;if(r>>>0>>0){s=f[g>>2]|0;l=f[A>>2]|0;if(!(ie(l,s)|0)){f[k>>2]=s;f[k+4>>2]=l;Ht(a,1,13705,k)|0;a=0;c=F;return a|0}m=zl(i|0,0,h|0,0)|0;if(!((m|0)==(ie(i,h)|0)&(P|0)==0)){f[w>>2]=h;f[w+4>>2]=i;Ht(a,1,13766,w)|0;a=0;c=F;return a|0}h=f[p>>2]|0;k=Il(h|0,0,s|0,0)|0;w=P;d=f[E>>2]|0;m=Il(d|0,0,l|0,0)|0;if(h>>>0<=u>>>0?d>>>0<=r>>>0&(k|0-w)>>>0>u>>>0&(m|0-P)>>>0>r>>>0:0){i=Fn(b,52)|0;b=I+24|0;f[b>>2]=i;if(!i){f[B>>2]=0;Ht(a,1,13852,v)|0;a=0;c=F;return a|0}e:do{if(f[B>>2]|0){u=e+168|0;r=0;l=i;while(1){ct(o,y,1);f[l+24>>2]=(f[y>>2]&127)+1;f[l+32>>2]=(f[y>>2]|0)>>>7;ct(o+1|0,y,1);f[l>>2]=f[y>>2];ct(o+2|0,y,1);s=f[y>>2]|0;f[l+4>>2]=s;i=f[l>>2]|0;if((s+-1|0)>>>0>254|(i+-1|0)>>>0>254)break;f[l+36>>2]=0;f[l+40>>2]=f[u>>2];r=r+1|0;if(r>>>0>=(f[B>>2]|0)>>>0)break e;else{o=o+3|0;l=l+52|0}}f[S>>2]=r;f[S+4>>2]=i;f[S+8>>2]=s;Ht(a,1,13900,S)|0;a=0;c=F;return a|0}}while(0);h=f[p>>2]|0;u=f[g>>2]|0;o=((f[M>>2]|0)+-1-h+u|0)/(u|0)|0;f[e+112>>2]=o;l=f[E>>2]|0;s=f[A>>2]|0;i=((f[T>>2]|0)+-1-l+s|0)/(s|0)|0;f[e+116>>2]=i;if(!((i|0)==0|(o|0)==0)?o>>>0<=(65535/(i>>>0)|0)>>>0:0){d=ie(o,i)|0;r=e+28|0;if(!(t[e+76>>0]&2)){f[r>>2]=0;f[e+32>>2]=0;f[e+36>>2]=o;f[e+40>>2]=i}else{f[r>>2]=(((f[r>>2]|0)-h|0)>>>0)/(u>>>0)|0;C=e+32|0;f[C>>2]=(((f[C>>2]|0)-l|0)>>>0)/(s>>>0)|0;C=e+36|0;f[C>>2]=((f[C>>2]|0)+-1-h+u|0)/(u|0)|0;C=e+40|0;f[C>>2]=((f[C>>2]|0)+-1-l+s|0)/(s|0)|0}C=Fn(d,5640)|0;o=e+164|0;f[o>>2]=C;if(!C){Ht(a,1,13852,R)|0;a=0;c=F;return a|0}R=Fn(f[B>>2]|0,1080)|0;i=e+12|0;f[(f[i>>2]|0)+5584>>2]=R;if(!R){Ht(a,1,13852,L)|0;a=0;c=F;return a|0}L=Fn(10,20)|0;r=f[i>>2]|0;f[r+5612>>2]=L;if(!L){Ht(a,1,13852,x)|0;a=0;c=F;return a|0}f[r+5620>>2]=10;x=Fn(10,20)|0;r=f[i>>2]|0;f[r+5624>>2]=x;if(!x){Ht(a,1,13852,O)|0;a=0;c=F;return a|0}f[r+5632>>2]=10;l=f[B>>2]|0;if(l){s=f[b>>2]|0;r=r+5584|0;i=0;do{if(!(f[s+(i*52|0)+32>>2]|0))f[(f[r>>2]|0)+(i*1080|0)+1076>>2]=1<<(f[s+(i*52|0)+24>>2]|0)+-1;i=i+1|0}while(i>>>0>>0)}e:do{if(d){r=f[o>>2]|0;O=Fn(l,1080)|0;f[r+5584>>2]=O;if(O){i=0;while(1){i=i+1|0;if(i>>>0>=d>>>0)break e;O=Fn(f[B>>2]|0,1080)|0;f[r+11224>>2]=O;if(!O)break;else r=r+5640|0}}Ht(a,1,13852,N)|0;a=0;c=F;return a|0}}while(0);f[e+8>>2]=4;Gt(I,D);a=1;c=F;return a|0}f[C>>2]=o;f[C+4>>2]=i;Ht(a,1,14002,C)|0;a=0;c=F;return a|0}Ht(a,1,13808,_)|0;a=0;c=F;return a|0}}else{i=f[T>>2]|0;r=f[d>>2]|0}f[m>>2]=h-u;f[m+4>>2]=i-r;Ht(a,1,13643,m)|0;a=0;c=F;return a|0}function Je(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=c;c=c+32|0;e=n+12|0;if(r>>>0<2){Ht(t,1,13414,n)|0;t=0;c=n;return t|0}ct(i,n+16|0,1);ct(i+1|0,e,1);i=f[e>>2]|0;if(!(((r+-2|0)>>>0)%(((i>>>5&2)+2+(i>>>4&3)|0)>>>0)|0)){t=1;c=n;return t|0}Ht(t,1,13414,n+8|0)|0;t=0;c=n;return t|0}function Qe(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=c;c=c+16|0;if(!r){Ht(t,1,13388,e)|0;i=0}else i=1;c=e;return i|0}function $e(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0;o=c;c=c+32|0;l=o+8|0;s=o+12|0;if(!r){Ht(t,1,13362,o)|0;t=0;c=o;return t|0}ct(i,o+16|0,1);n=r+-1|0;if(!n){t=1;c=o;return t|0}else{a=0;e=0}do{i=i+1|0;ct(i,s,1);r=f[s>>2]|0;if(!(r&128))e=0;else e=(r&127|e)<<7;a=a+1|0}while((a|0)!=(n|0));if(!e){t=1;c=o;return t|0}Ht(t,1,13362,l)|0;t=0;c=o;return t|0}function ei(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0;k=c;c=c+48|0;b=k+32|0;u=k+24|0;s=k+16|0;a=k+8|0;d=k+36|0;if(r>>>0<2){Ht(n,1,13276,k)|0;b=0;c=k;return b|0}h=e+184|0;t[h>>0]=t[h>>0]|1;ct(i,d,1);h=i+1|0;o=r+-1|0;l=e+124|0;r=f[l>>2]|0;do{if(r){a=e+120|0;i=f[d>>2]|0;if((f[a>>2]|0)>>>0<=i>>>0){e=i+1|0;i=Hn(r,e<<3)|0;if(i){f[l>>2]=i;r=f[a>>2]|0;Ol(i+(r<<3)|0,0,e-r<<3|0)|0;f[a>>2]=e;r=f[l>>2]|0;break}Ht(n,1,13302,s)|0;b=0;c=k;return b|0}}else{i=(f[d>>2]|0)+1|0;r=Fn(i,8)|0;f[l>>2]=r;if(r){f[e+120>>2]=i;break}Ht(n,1,13302,a)|0;b=0;c=k;return b|0}}while(0);i=f[d>>2]|0;if(f[r+(i<<3)>>2]|0){f[u>>2]=i;Ht(n,1,13340,u)|0;b=0;c=k;return b|0}u=Nn(o)|0;r=f[d>>2]|0;i=f[l>>2]|0;f[i+(r<<3)>>2]=u;if(!u){Ht(n,1,13302,b)|0;b=0;c=k;return b|0}else{f[i+(r<<3)+4>>2]=o;Nl(f[i+(f[d>>2]<<3)>>2]|0,h|0,o|0)|0;b=1;c=k;return b|0}return 0}function ii(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0;_=c;c=c+48|0;w=_+40|0;b=_+32|0;o=_+24|0;l=_+16|0;k=_+44|0;if(r>>>0<2){Ht(n,1,13127,_)|0;w=0;c=_;return w|0}if(t[e+184>>0]&1){Ht(n,1,13153,_+8|0)|0;w=0;c=_;return w|0}s=f[e+200>>2]|0;a=f[e+164>>2]|0;d=a+(s*5640|0)+5636|0;t[d>>0]=t[d>>0]|2;ct(i,k,1);d=i+1|0;h=r+-1|0;u=a+(s*5640|0)+5164|0;i=f[u>>2]|0;do{if(i){a=a+(s*5640|0)+5160|0;e=f[k>>2]|0;if((f[a>>2]|0)>>>0<=e>>>0){r=e+1|0;e=Hn(i,r<<3)|0;if(e){f[u>>2]=e;i=f[a>>2]|0;Ol(e+(i<<3)|0,0,r-i<<3|0)|0;f[a>>2]=r;i=f[u>>2]|0;break}Ht(n,1,8775,o)|0;w=0;c=_;return w|0}}else{e=(f[k>>2]|0)+1|0;i=Fn(e,8)|0;f[u>>2]=i;if(i){f[a+(s*5640|0)+5160>>2]=e;break}Ht(n,1,8775,l)|0;w=0;c=_;return w|0}}while(0);e=f[k>>2]|0;if(f[i+(e<<3)>>2]|0){f[b>>2]=e;Ht(n,1,13254,b)|0;w=0;c=_;return w|0}b=Nn(h)|0;i=f[k>>2]|0;e=f[u>>2]|0;f[e+(i<<3)>>2]=b;if(!b){Ht(n,1,8775,w)|0;w=0;c=_;return w|0}else{f[e+(i<<3)+4>>2]=h;Nl(f[e+(f[k>>2]<<3)>>2]|0,d|0,h|0)|0;w=1;c=_;return w|0}return 0}function ri(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;i=c;c=c+16|0;if((f[(f[e+80>>2]|0)+16>>2]<<2|0)==(r|0)){t=1;c=i;return t|0}Ht(t,1,13101,i)|0;t=0;c=i;return t|0}function ti(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return 1}function ni(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0;m=c;c=c+48|0;_=m+40|0;w=m+32|0;u=m+24|0;k=m+44|0;if((f[e+8>>2]|0)==16)l=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else l=f[e+12>>2]|0;if(r>>>0<2){Ht(t,1,12933,m)|0;_=0;c=m;return _|0}ct(i,k,2);if(f[k>>2]|0){Ht(t,2,12959,m+8|0)|0;_=1;c=m;return _|0}if(r>>>0<7){Ht(t,1,12933,m+16|0)|0;_=0;c=m;return _|0}ct(i+2|0,k,2);d=i+4|0;b=f[k>>2]&255;o=l+5612|0;n=f[o>>2]|0;h=l+5616|0;e=f[h>>2]|0;e:do{if(!e){a=0;s=n}else{a=0;s=n;do{if((f[s+8>>2]|0)==(b|0))break e;s=s+20|0;a=a+1|0}while(a>>>0>>0)}}while(0);if((a|0)==(e|0)){a=l+5620|0;do{if((e|0)==(f[a>>2]|0)){e=e+10|0;f[a>>2]=e;e=Hn(n,e*20|0)|0;if(e){f[o>>2]=e;n=f[h>>2]|0;Ol(e+(n*20|0)|0,0,((f[a>>2]|0)-n|0)*20|0)|0;n=f[o>>2]|0;e=f[h>>2]|0;break}zn(f[o>>2]|0);f[o>>2]=0;f[a>>2]=0;f[h>>2]=0;Ht(t,1,13019,u)|0;_=0;c=m;return _|0}}while(0);f[h>>2]=e+1;s=n+(e*20|0)|0}a=s+12|0;e=f[a>>2]|0;if(e){zn(e);f[a>>2]=0}f[s+8>>2]=b;b=f[k>>2]|0;f[s+4>>2]=b>>>8&3;f[s>>2]=b>>>10&3;ct(d,k,2);if(f[k>>2]|0){Ht(t,2,13057,w)|0;_=1;c=m;return _|0}e=r+-6|0;n=Nn(e)|0;f[a>>2]=n;if(!n){Ht(t,1,12933,_)|0;_=0;c=m;return _|0}else{Nl(n|0,i+6|0,e|0)|0;f[s+16>>2]=e;_=1;c=m;return _|0}return 0}function fi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0;l=c;c=c+32|0;n=l+16|0;s=l+12|0;e=e+80|0;a=f[(f[e>>2]|0)+16>>2]|0;if((a+2|0)!=(r|0)){Ht(t,1,12907,l)|0;s=0;c=l;return s|0}ct(i,n,2);if((f[n>>2]|0)!=(a|0)){Ht(t,1,12907,l+8|0)|0;s=0;c=l;return s|0}if(!a){s=1;c=l;return s|0}n=i+2|0;i=0;e=f[(f[e>>2]|0)+24>>2]|0;while(1){ct(n,s,1);f[e+32>>2]=(f[s>>2]|0)>>>7&1;f[e+24>>2]=(f[s>>2]&127)+1;i=i+1|0;if((i|0)==(a|0)){e=1;break}else{n=n+1|0;e=e+52|0}}c=l;return e|0}function ai(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0;I=c;c=c+144|0;B=I+120|0;O=I+112|0;x=I+104|0;P=I+96|0;L=I+88|0;R=I+80|0;C=I+72|0;T=I+64|0;S=I+56|0;A=I+48|0;k=I+40|0;b=I+32|0;h=I+24|0;M=I+136|0;p=I+132|0;g=I+128|0;y=I+124|0;if((f[e+8>>2]|0)==16)w=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else w=f[e+12>>2]|0;if(r>>>0<2){Ht(n,1,12567,I)|0;B=0;c=I;return B|0}ct(i,M,2);if(f[M>>2]|0){Ht(n,2,12593,I+8|0)|0;B=1;c=I;return B|0}if(r>>>0<7){Ht(n,1,12567,I+16|0)|0;B=0;c=I;return B|0}ct(i+2|0,p,1);d=i+3|0;u=w+5624|0;a=f[u>>2]|0;E=w+5628|0;e=f[E>>2]|0;e:do{if(!e){l=0;s=a}else{o=f[p>>2]|0;l=0;s=a;do{if((f[s>>2]|0)==(o|0))break e;s=s+20|0;l=l+1|0}while(l>>>0>>0)}}while(0);if((l|0)==(e|0)){s=w+5632|0;do{if((e|0)==(f[s>>2]|0)){e=e+10|0;f[s>>2]=e;e=Hn(a,e*20|0)|0;if(e){f[u>>2]=e;a=f[E>>2]|0;Ol(e+(a*20|0)|0,0,((f[s>>2]|0)-a|0)*20|0)|0;a=f[u>>2]|0;e=f[E>>2]|0;break}zn(f[u>>2]|0);f[u>>2]=0;f[s>>2]=0;f[E>>2]=0;Ht(n,1,12639,h)|0;B=0;c=I;return B|0}}while(0);s=a+(e*20|0)|0}f[s>>2]=f[p>>2];ct(d,M,2);if(f[M>>2]|0){Ht(n,2,12593,b)|0;B=1;c=I;return B|0}ct(i+5|0,g,2);a=f[g>>2]|0;if(a>>>0>1){Ht(n,2,12677,k)|0;B=1;c=I;return B|0}e=r+-7|0;e:do{if(a){_=s+4|0;m=s+16|0;v=s+8|0;r=s+12|0;k=w+5612|0;b=w+5616|0;h=i+7|0;d=0;i:while(1){if(e>>>0<3){a=27;break}ct(h,M,1);if((f[M>>2]|0)!=1){a=29;break}ct(h+1|0,y,2);a=e+-3|0;l=f[y>>2]|0;o=(l>>>15)+1|0;l=l&32767;f[_>>2]=l;s=(ie(o,l)|0)+2|0;if(a>>>0>>0){a=31;break}e=h+3|0;u=a-s|0;if(l){a=0;do{ct(e,M,o);if((f[M>>2]|0)!=(a|0)){a=34;break i}e=e+o|0;a=a+1|0}while(a>>>0<(f[_>>2]|0)>>>0)}ct(e,y,2);a=e+2|0;s=f[y>>2]|0;l=(s>>>15)+1|0;s=s&32767;f[y>>2]=s;if((s|0)!=(f[_>>2]|0)){a=37;break}e=(ie(l,s)|0)+3|0;if(u>>>0>>0){a=39;break}e=u-e|0;if(s){s=0;do{ct(a,M,l);if((f[M>>2]|0)!=(s|0)){a=42;break i}a=a+l|0;s=s+1|0}while(s>>>0<(f[_>>2]|0)>>>0)}ct(a,M,3);h=a+3|0;t[m>>0]=((f[M>>2]|0)>>>16^1)&1|t[m>>0]&-2;f[v>>2]=0;f[r>>2]=0;u=f[M>>2]|0;s=u&255;f[p>>2]=s;if(s){l=f[b>>2]|0;if(!l){a=50;break}o=0;a=f[k>>2]|0;while(1){if((f[a+8>>2]|0)==(s|0))break;o=o+1|0;if(o>>>0>=l>>>0){a=50;break i}else a=a+20|0}f[v>>2]=a}s=u>>>8&255;f[p>>2]=s;if(s){l=f[b>>2]|0;if(!l){a=57;break}o=0;a=f[k>>2]|0;while(1){if((f[a+8>>2]|0)==(s|0))break;o=o+1|0;if(o>>>0>=l>>>0){a=57;break i}else a=a+20|0}f[r>>2]=a}d=d+1|0;if(d>>>0>=(f[g>>2]|0)>>>0)break e}if((a|0)==27){Ht(n,1,12567,A)|0;B=0;c=I;return B|0}else if((a|0)==29){Ht(n,2,12721,S)|0;B=1;c=I;return B|0}else if((a|0)==31){Ht(n,1,12567,T)|0;B=0;c=I;return B|0}else if((a|0)==34){Ht(n,2,12787,C)|0;B=1;c=I;return B|0}else if((a|0)==37){Ht(n,2,12841,R)|0;B=1;c=I;return B|0}else if((a|0)==39){Ht(n,1,12567,L)|0;B=0;c=I;return B|0}else if((a|0)==42){Ht(n,2,12787,P)|0;B=1;c=I;return B|0}else if((a|0)==50){Ht(n,1,12567,x)|0;B=0;c=I;return B|0}else if((a|0)==57){Ht(n,1,12567,O)|0;B=0;c=I;return B|0}}}while(0);if(!e){f[E>>2]=(f[E>>2]|0)+1;B=1;c=I;return B|0}else{Ht(n,1,12567,B)|0;B=0;c=I;return B|0}return 0}function si(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0;m=c;c=c+32|0;_=m+24|0;w=m+20|0;d=e+80|0;n=f[d>>2]|0;if((f[e+8>>2]|0)==16)a=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else a=f[e+12>>2]|0;if(!r){Ht(t,1,12486,m)|0;_=0;c=m;return _|0}ct(i,w,1);e=f[w>>2]|0;if(e>>>0>1){Ht(t,2,12512,m+8|0)|0;_=1;c=m;return _|0}if((e+1|0)!=(r|0)){Ht(t,2,12486,m+16|0)|0;_=0;c=m;return _|0}h=a+5584|0;e=f[n+16>>2]|0;if(e){r=0;t=f[h>>2]|0;while(1){f[t+1076>>2]=0;r=r+1|0;if(r>>>0>=e>>>0)break;else t=t+1080|0}}u=a+5604|0;e=f[u>>2]|0;if(e){zn(e);f[u>>2]=0}if(!(f[w>>2]|0)){_=1;c=m;return _|0}o=a+5624|0;s=a+5628|0;l=0;while(1){i=i+1|0;ct(i,_,1);e=f[d>>2]|0;n=f[o>>2]|0;a=f[s>>2]|0;if(((a|0)!=0?!((a|0)==0?1:(f[n>>2]|0)!=(f[_>>2]|0)):0)?(b=f[n+4>>2]|0,k=e+16|0,(b|0)==(f[k>>2]|0)):0){e=f[n+8>>2]|0;if(e){r=ie(b,b)|0;a=ie(f[1036+(f[e>>2]<<2)>>2]|0,r)|0;if((f[e+16>>2]|0)!=(a|0)){e=0;r=32;break}t=Nn(r<<2)|0;f[u>>2]=t;if(!t){e=0;r=32;break}So[f[1052+(f[e>>2]<<2)>>2]&15](f[e+12>>2]|0,t,r)}e=f[n+12>>2]|0;if(e){r=f[k>>2]|0;a=ie(r,f[1036+(f[e>>2]<<2)>>2]|0)|0;if((f[e+16>>2]|0)!=(a|0)){e=0;r=32;break}a=Nn(r<<2)|0;if(!a){e=0;r=32;break}So[f[1068+(f[e>>2]<<2)>>2]&15](f[e+12>>2]|0,a,r);e=f[k>>2]|0;if(e){r=0;t=a;n=f[h>>2]|0;while(1){f[n+1076>>2]=f[t>>2];r=r+1|0;if((r|0)==(e|0))break;else{t=t+4|0;n=n+1080|0}}}zn(a)}}l=l+1|0;if(l>>>0>=(f[w>>2]|0)>>>0){e=1;r=32;break}}if((r|0)==32){c=m;return e|0}return 0}function li(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}t=0;while(1){ct(e,n,2);f[i>>2]=f[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+2|0}}c=a;return}function oi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}t=0;while(1){ct(e,n,4);f[i>>2]=f[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}c=a;return}function ui(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}t=0;while(1){kt(e,n);f[i>>2]=~~+o[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}c=a;return}function ci(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}t=0;while(1){dt(e,n);f[i>>2]=~~+u[n>>3];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+8|0}}c=a;return}function hi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}t=0;while(1){ct(e,n,2);o[i>>2]=+((f[n>>2]|0)>>>0);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+2|0}}c=a;return}function di(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}t=0;while(1){ct(e,n,4);o[i>>2]=+((f[n>>2]|0)>>>0);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}c=a;return}function bi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}t=0;while(1){kt(e,n);f[i>>2]=f[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}c=a;return}function ki(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=c;c=c+16|0;n=f;if(!r){c=f;return}t=0;while(1){dt(e,n);o[i>>2]=+u[n>>3];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+8|0}}c=f;return}function wi(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0;d=c;c=c+32|0;s=d+8|0;o=d+20|0;if((f[e+8>>2]|0)==16)e=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else e=f[e+12>>2]|0;h=f[e+5584>>2]|0;e=f[t>>2]|0;if(!e){Ht(n,1,14224,d)|0;i=0;c=d;return i|0}f[t>>2]=e+-1;ct(r,o,1);r=r+1|0;a=f[o>>2]&31;l=h+(i*1080|0)+24|0;f[l>>2]=a;f[h+(i*1080|0)+804>>2]=(f[o>>2]|0)>>>5;do{if((a|0)==1){e=1;u=8}else{e=(f[t>>2]|0)>>>((a|0)!=0&1);if(e>>>0>97){f[s>>2]=e;f[s+4>>2]=97;f[s+8>>2]=97;Ht(n,2,14260,s)|0;a=f[l>>2]|0}n=(e|0)==0;if(a)if(n){e=0;u=20;break}else{u=8;break}if(!n){a=0;while(1){ct(r,o,1);if(a>>>0<97){f[h+(i*1080|0)+28+(a<<3)>>2]=(f[o>>2]|0)>>>3;f[h+(i*1080|0)+28+(a<<3)+4>>2]=0}a=a+1|0;if((a|0)==(e|0))break;else r=r+1|0}}e=(f[t>>2]|0)-e|0}}while(0);if((u|0)==8){a=0;while(1){ct(r,o,2);if(a>>>0<97){f[h+(i*1080|0)+28+(a<<3)>>2]=(f[o>>2]|0)>>>11;f[h+(i*1080|0)+28+(a<<3)+4>>2]=f[o>>2]&2047}a=a+1|0;if((a|0)==(e|0)){u=20;break}else r=r+2|0}}if((u|0)==20)e=(f[t>>2]|0)-(e<<1)|0;f[t>>2]=e;if((f[l>>2]|0)!=1){i=1;c=d;return i|0}e=h+(i*1080|0)+28|0;r=h+(i*1080|0)+32|0;a=1;do{t=(f[e>>2]|0)-(((a+-1|0)>>>0)/3|0)|0;f[h+(i*1080|0)+28+(a<<3)>>2]=(t|0)>0?t:0;f[h+(i*1080|0)+28+(a<<3)+4>>2]=f[r>>2];a=a+1|0}while((a|0)!=97);e=1;c=d;return e|0}function _i(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0;_=c;c=c+48|0;k=_+40|0;u=_+32|0;o=_+16|0;l=_+8|0;b=_+44|0;s=e+8|0;if((f[s>>2]|0)==16)a=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else a=f[e+12>>2]|0;h=f[a+5584>>2]|0;if((f[t>>2]|0)>>>0<5){Ht(n,1,14664,_)|0;t=0;c=_;return t|0}d=h+(i*1080|0)+4|0;ct(r,d,1);a=(f[d>>2]|0)+1|0;f[d>>2]=a;if(a>>>0>33){f[l>>2]=a;f[l+4>>2]=33;Ht(n,1,14699,l)|0;t=0;c=_;return t|0}if((f[e+168>>2]|0)>>>0>=a>>>0){f[o>>2]=i;Ht(n,1,14776,o)|0;f[s>>2]=f[s>>2]|32768;t=0;c=_;return t|0}l=h+(i*1080|0)+8|0;ct(r+1|0,l,1);f[l>>2]=(f[l>>2]|0)+2;e=h+(i*1080|0)+12|0;ct(r+2|0,e,1);o=(f[e>>2]|0)+2|0;f[e>>2]=o;l=f[l>>2]|0;if(l>>>0>10|o>>>0>10|(l+o|0)>>>0>12){Ht(n,1,14934,_+24|0)|0;t=0;c=_;return t|0}ct(r+3|0,h+(i*1080|0)+16|0,1);ct(r+4|0,h+(i*1080|0)+20|0,1);s=(f[t>>2]|0)+-5|0;f[t>>2]=s;a=f[d>>2]|0;if(!(f[h+(i*1080|0)>>2]&1)){if(!a){t=1;c=_;return t|0}else a=0;do{f[h+(i*1080|0)+812+(a<<2)>>2]=15;f[h+(i*1080|0)+944+(a<<2)>>2]=15;a=a+1|0}while(a>>>0<(f[d>>2]|0)>>>0);a=1;c=_;return a|0}if(s>>>0>>0){Ht(n,1,14664,u)|0;t=0;c=_;return t|0}do{if(!a)a=0;else{e=0;s=r+5|0;while(1){ct(s,b,1);s=s+1|0;a=f[b>>2]|0;if((e|0)!=0?a>>>0<16|(a&15|0)==0:0)break;f[h+(i*1080|0)+812+(e<<2)>>2]=a&15;f[h+(i*1080|0)+944+(e<<2)>>2]=(f[b>>2]|0)>>>4;e=e+1|0;a=f[d>>2]|0;if(e>>>0>=a>>>0){w=22;break}}if((w|0)==22){s=f[t>>2]|0;break}Ht(n,1,15002,k)|0;t=0;c=_;return t|0}}while(0);f[t>>2]=s-a;t=1;c=_;return t|0}function mi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){ut(i,~~+o[e>>2]>>>0,2);t=t+1|0;if((t|0)==(r|0))break;else{i=i+2|0;e=e+4|0}}return}function vi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){ut(i,~~+o[e>>2]>>>0,4);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}return}function pi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){bt(i,+o[e>>2]);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}return}function gi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){ht(i,+o[e>>2]);t=t+1|0;if((t|0)==(r|0))break;else{i=i+8|0;e=e+4|0}}return}function yi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0;l=c;c=c+16|0;if(!r){r=0;c=l;return r|0}if(!(lf(f[e>>2]|0,i,r,t)|0)){Ht(t,1,16303,l)|0;r=0;c=l;return r|0}if(f[e+128>>2]|0){r=1;c=l;return r|0}s=e+108|0;if(!(Hi(r,s,t)|0)){r=0;c=l;return r|0}i=f[e+48>>2]|0;e:do{switch(i|0){case 16:{f[r+20>>2]=1;break}case 17:{f[r+20>>2]=2;break}case 18:{f[r+20>>2]=3;break}case 24:{f[r+20>>2]=4;break}default:{n=r+20|0;if((i|0)==12){f[n>>2]=5;break e}else{f[n>>2]=-1;break e}}}}while(0);a=e+120|0;i=f[a>>2]|0;do{if(i){if(f[i+12>>2]|0){zi(r,s);break}zn(f[i+4>>2]|0);zn(f[(f[a>>2]|0)+8>>2]|0);zn(f[f[a>>2]>>2]|0);i=f[a>>2]|0;n=f[i+12>>2]|0;if(n){zn(n);i=f[a>>2]|0}zn(i);f[a>>2]=0}}while(0);if(f[e+116>>2]|0)Yi(r,s,t);i=f[s>>2]|0;if(!i){r=1;c=l;return r|0}f[r+28>>2]=i;f[r+32>>2]=f[e+112>>2];f[s>>2]=0;r=1;c=l;return r|0}function Mi(e,i){e=e|0;i=i|0;qn(f[e>>2]|0,i);t[e+124>>0]=0;f[e+128>>2]=f[i+8248>>2]&1;return}function Ei(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0;y=c;c=c+80|0;g=y+64|0;m=y+56|0;b=y+48|0;_=y+40|0;w=y+32|0;k=y+24|0;if(!((e|0)!=0&(i|0)!=0&(r|0)!=0)){i=0;c=y;return i|0}v=r+16|0;if(((f[v>>2]|0)+-1|0)>>>0>16383){Ht(t,1,16352,y)|0;i=0;c=y;return i|0}if(!(Gn(f[e>>2]|0,i,r,t)|0)){i=0;c=y;return i|0}f[e+56>>2]=1785737760;f[e+60>>2]=0;f[e+64>>2]=1;a=Nn(4)|0;s=e+68|0;f[s>>2]=a;if(!a){f[s>>2]=0;Ht(t,1,16421,y+8|0)|0;i=0;c=y;return i|0}f[a>>2]=1785737760;u=f[v>>2]|0;f[e+20>>2]=u;u=Nn(u*12|0)|0;a=e+72|0;f[a>>2]=u;if(!u){f[a>>2]=0;Ht(t,1,16421,y+16|0)|0;i=0;c=y;return i|0}f[e+16>>2]=(f[r+12>>2]|0)-(f[r+4>>2]|0);f[e+12>>2]=(f[r+8>>2]|0)-(f[r>>2]|0);p=r+24|0;h=f[p>>2]|0;l=f[h+24>>2]|0;o=f[h+32>>2]|0;a=e+24|0;f[a>>2]=l+-1+(o<<7);d=f[v>>2]|0;if(d>>>0>1){s=1;do{if((l|0)!=(f[h+(s*52|0)+24>>2]|0))f[a>>2]=255;s=s+1|0}while(s>>>0>>0)}f[e+28>>2]=7;f[e+32>>2]=0;f[e+36>>2]=0;s=(d|0)==0;if(!s?(f[u+8>>2]=l+-1+(o<<7),d>>>0>1):0){a=1;do{f[u+(a*12|0)+8>>2]=(f[h+(a*52|0)+24>>2]|0)+-1+(f[h+(a*52|0)+32>>2]<<7);a=a+1|0}while(a>>>0>>0)}a=e+40|0;e:do{if(!(f[r+32>>2]|0)){f[a>>2]=1;switch(f[r+20>>2]|0){case 1:{f[e+48>>2]=16;break e}case 2:{f[e+48>>2]=17;break e}case 3:{f[e+48>>2]=18;break e}default:break e}}else{f[a>>2]=2;f[e+48>>2]=0}}while(0);e:do{if(!s){s=0;a=0;l=0;do{r=(n[h+(l*52|0)+48>>1]|0)==0;a=(r&1^1)+a|0;s=r?s:l;l=l+1|0}while(l>>>0>>0);l=s;if((a|0)!=1){if(a>>>0<=1)break;Ht(t,2,16717,b)|0;break}switch(f[e+48>>2]|0){case 18:case 16:{s=3;break}case 17:{s=1;break}default:{Ht(t,2,16467,k)|0;break e}}if(d>>>0<(s+1|0)>>>0){Ht(t,2,16541,w)|0;break}if(l>>>0>>0){Ht(t,2,16634,_)|0;break}_=Nn(8)|0;a=e+116|0;f[a>>2]=_;if(!_){Ht(t,1,16782,m)|0;i=0;c=y;return i|0}m=Nn((f[v>>2]|0)*6|0)|0;r=f[a>>2]|0;f[r>>2]=m;if(!m){Ht(t,1,16782,g)|0;i=0;c=y;return i|0}u=f[v>>2]|0;n[r+4>>1]=u;o=f[r>>2]|0;a=0;do{n[o+(a*6|0)>>1]=a;n[o+(a*6|0)+2>>1]=0;g=a;a=a+1|0;n[o+(g*6|0)+4>>1]=a}while((a|0)!=(s|0));if(s>>>0>>0){l=f[p>>2]|0;do{g=(n[l+(s*52|0)+48>>1]|0)==0;n[o+(s*6|0)>>1]=s;a=o+(s*6|0)+2|0;if(g){n[a>>1]=-1;n[o+(s*6|0)+4>>1]=-1}else{n[a>>1]=1;n[(f[r>>2]|0)+(s*6|0)+4>>1]=0}s=s+1|0}while(s>>>0>>0)}}}while(0);f[e+52>>2]=0;f[e+44>>2]=0;f[e+96>>2]=f[i+18692>>2];i=1;c=y;return i|0}function Ai(e,i,r){e=e|0;i=i|0;r=r|0;return cf(f[e>>2]|0,i,r)|0}function Si(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;t=e+8|0;if(!(oa(f[t>>2]|0,52,r)|0)){r=0;return r|0}a=f[t>>2]|0;s=ua(a)|0;t=ca(a)|0;if(s){l=0;n=1;while(1){if(!n)n=0;else n=(po[f[t>>2]&63](e,i,r)|0)!=0;l=l+1|0;if((l|0)==(s|0))break;else{t=t+4|0;n=n&1}}ha(a);if(!n){r=0;return r|0}}else ha(a);r=Wn(f[e>>2]|0,i,r)|0;return r|0}function Ti(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;t=e+8|0;if(!(oa(f[t>>2]|0,53,r)|0)){r=0;return r|0}if(!(hf(f[e>>2]|0,i,r)|0)){r=0;return r|0}l=f[t>>2]|0;a=ua(l)|0;t=ca(l)|0;if(!a)t=1;else{s=0;n=t;t=1;while(1){if(!t)t=0;else t=(po[f[n>>2]&63](e,i,r)|0)!=0;t=t&1;s=s+1|0;if((s|0)==(a|0))break;else n=n+4|0}}ha(l);r=t;return r|0}function Ci(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0;n=e+4|0;if(!(oa(f[n>>2]|0,54,t)|0)){i=0;return i|0}s=f[n>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(po[f[n>>2]&63](e,i,t)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}ha(s);if(!a){i=0;return i|0}}else ha(s);n=e+8|0;if(!(oa(f[n>>2]|0,55,t)|0)){i=0;return i|0}if(!(oa(f[n>>2]|0,56,t)|0)){i=0;return i|0}if(!(oa(f[n>>2]|0,57,t)|0)){i=0;return i|0}if((f[e+96>>2]|0)!=0?(oa(f[n>>2]|0,58,t)|0)==0:0){i=0;return i|0}if(!(oa(f[n>>2]|0,59,t)|0)){i=0;return i|0}s=f[n>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(po[f[n>>2]&63](e,i,t)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}ha(s);if(!a){i=0;return i|0}}else ha(s);i=df(f[e>>2]|0,i,r,t)|0;return i|0}function Ri(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0;u=i+8|0;if(!(oa(f[u>>2]|0,52,t)|0)){e=0;return e|0}s=f[i+4>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(po[f[n>>2]&63](i,e,t)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}ha(s);if(!a){e=0;return e|0}}else ha(s);s=f[u>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(po[f[n>>2]&63](i,e,t)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}ha(s);if(!a){e=0;return e|0}}else ha(s);e=Zn(e,f[i>>2]|0,r,t)|0;return e|0}function Li(e,i,r,t,n,a,s,l,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;return Qn(f[e>>2]|0,i,r,t,n,a,s,l,o,u,c)|0}function Pi(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;return bf(f[e>>2]|0,i,r,t,n,a)|0}function xi(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;return $n(f[e>>2]|0,i,r,t,n,a)|0}function Oi(e){e=e|0;var i=0,r=0,t=0;if(!e)return;Vn(f[e>>2]|0);f[e>>2]=0;i=e+72|0;r=f[i>>2]|0;if(r){zn(r);f[i>>2]=0}i=e+68|0;r=f[i>>2]|0;if(r){zn(r);f[i>>2]=0}i=e+108|0;r=f[i>>2]|0;if(r){zn(r);f[i>>2]=0}t=e+116|0;i=f[t>>2]|0;if(i){r=f[i>>2]|0;if(r){zn(r);i=f[t>>2]|0;f[i>>2]=0}zn(i);f[t>>2]=0}t=e+120|0;i=f[t>>2]|0;if(i){r=f[i+12>>2]|0;if(r){zn(r);i=f[t>>2]|0;f[i+12>>2]=0}r=f[i+4>>2]|0;if(r){zn(r);i=f[t>>2]|0;f[i+4>>2]=0}r=f[i+8>>2]|0;if(r){zn(r);i=f[t>>2]|0;f[i+8>>2]=0}r=f[i>>2]|0;if(r){zn(r);i=f[t>>2]|0;f[i>>2]=0}zn(i);f[t>>2]=0}i=e+4|0;r=f[i>>2]|0;if(r){la(r);f[i>>2]=0}i=e+8|0;r=f[i>>2]|0;if(r){la(r);f[i>>2]=0}zn(e);return}function Bi(e,i,r,t,n,a,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;return ef(f[e>>2]|0,i,r,t,n,a,s)|0}function Ii(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0;l=c;c=c+16|0;if(!r){e=0;c=l;return e|0}Ht(t,2,16826,l)|0;if(!(of(f[e>>2]|0,i,r,t,n)|0)){Ht(t,1,16303,l+8|0)|0;e=0;c=l;return e|0}s=e+108|0;if(!(Hi(r,s,t)|0)){e=0;c=l;return e|0}n=f[e+48>>2]|0;e:do{switch(n|0){case 16:{f[r+20>>2]=1;break}case 17:{f[r+20>>2]=2;break}case 18:{f[r+20>>2]=3;break}case 24:{f[r+20>>2]=4;break}default:{i=r+20|0;if((n|0)==12){f[i>>2]=5;break e}else{f[i>>2]=-1;break e}}}}while(0);a=e+120|0;i=f[a>>2]|0;do{if(i){if(f[i+12>>2]|0){zi(r,s);break}zn(f[i+4>>2]|0);zn(f[(f[a>>2]|0)+8>>2]|0);zn(f[f[a>>2]>>2]|0);i=f[a>>2]|0;n=f[i+12>>2]|0;if(n){zn(n);i=f[a>>2]|0}zn(i);f[a>>2]=0}}while(0);if(f[e+116>>2]|0)Yi(r,s,t);i=f[s>>2]|0;if(!i){e=1;c=l;return e|0}f[r+28>>2]=i;f[r+32>>2]=f[e+112>>2];f[s>>2]=0;e=1;c=l;return e|0}function Di(e){e=e|0;var i=0;i=Fn(1,136)|0;if(!i)return i|0;if(!e){e=Xn()|0;f[i>>2]=e}else{e=rf()|0;f[i>>2]=e}if(!e){Oi(i);i=0;return i|0}e=i+108|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;t[e+16>>0]=0;e=sa()|0;f[i+4>>2]=e;if(!e){Oi(i);i=0;return i|0}e=sa()|0;f[i+8>>2]=e;if(e)return i|0;Oi(i);i=0;return i|0}function Ni(e,i,r){e=e|0;i=i|0;r=r|0;tf(f[e>>2]|0,i,r);return}function Fi(e){e=e|0;return sf(f[e>>2]|0)|0}function Ui(e){e=e|0;return af(f[e>>2]|0)|0}function ji(e,i,r){e=e|0;i=i|0;r=r|0;return uf(f[e>>2]|0,i,r)|0}function Hi(e,i,r){e=e|0;i=i|0;r=r|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0;T=c;c=c+80|0;S=T+72|0;A=T+64|0;E=T+56|0;M=T+48|0;y=T+40|0;g=T+32|0;p=T+24|0;m=T+16|0;b=T+8|0;d=T;l=f[i+8>>2]|0;e:do{if(l){_=f[l>>2]|0;w=n[l+4>>1]|0;l=f[e+16>>2]|0;k=f[i+12>>2]|0;if((k|0)!=0?(f[k+12>>2]|0)!=0:0)i=a[k+18>>0]|0;else i=l;h=w<<16>>16==0;i:do{if(!h){u=0;r:while(1){o=u&65535;l=s[_+(o*6|0)>>1]|0;if(l>>>0>=i>>>0){o=15;break}l=n[_+(o*6|0)+4>>1]|0;switch(l<<16>>16){case 0:case-1:break;default:{l=(l&65535)+-1|0;if(l>>>0>=i>>>0){o=18;break r}}}u=u+1<<16>>16;if((u&65535)>=(w&65535))break i}if((o|0)==15){f[d>>2]=l;f[d+4>>2]=i;Ht(r,1,19343,d)|0;r=0;c=T;return r|0}else if((o|0)==18){f[b>>2]=l;f[b+4>>2]=i;Ht(r,1,19343,b)|0;r=0;c=T;return r|0}}}while(0);if(!i)l=k;else{i:do{if(!h)while(1){i=i+-1|0;l=0;do{if((s[_+((l&65535)*6|0)>>1]|0)==(i|0))break;l=l+1<<16>>16}while((l&65535)<(w&65535));if(l<<16>>16==w<<16>>16)break i;if(!i){l=k;break e}}}while(0);Ht(r,1,19380,m)|0;r=0;c=T;return r|0}}else l=f[i+12>>2]|0}while(0);if(!l){r=1;c=T;return r|0}v=f[l+12>>2]|0;if(!v){r=1;c=T;return r|0}k=t[l+18>>0]|0;m=k&255;_=k<<24>>24==0;if(_)l=1;else{u=e+16|0;i=0;h=0;l=1;do{i=s[v+(i<<2)>>1]|0;o=f[u>>2]|0;if(i>>>0>=o>>>0){f[p>>2]=i;f[p+4>>2]=o;Ht(r,1,19343,p)|0;l=0}h=h+1<<16>>16;i=h&65535}while(i>>>0>>0)}w=Fn(m,4)|0;if(!w){Ht(r,1,19413,g)|0;r=0;c=T;return r|0}if(!_){d=0;b=0;do{o=t[v+(d<<2)+3>>0]|0;u=o&255;do{if((o&255)<(k&255)){h=w+(u<<2)|0;i=t[v+(d<<2)+2>>0]|0;if((f[h>>2]|0)!=0&i<<24>>24==1){f[M>>2]=u;Ht(r,1,19486,M)|0;l=0;break}if(i<<24>>24!=0|o<<24>>24==0){f[h>>2]=1;break}else{f[E>>2]=d;f[E+4>>2]=u;Ht(r,1,19517,E)|0;l=0;break}}else{f[y>>2]=u;Ht(r,1,19430,y)|0;l=0}}while(0);b=b+1<<16>>16;d=b&65535}while(d>>>0>>0);if(!_){i=0;o=0;do{if((f[w+(i<<2)>>2]|0)==0?(t[v+(i<<2)+2>>0]|0)!=0:0){f[A>>2]=i;Ht(r,1,19553,A)|0;l=0}o=o+1<<16>>16;i=o&65535}while(i>>>0>>0)}}if(!l){zn(w);r=0;c=T;return r|0}e:do{if(!((f[e+16>>2]|0)!=1|_)){l=0;i=0;while(1){i=i+1<<16>>16;if(!(f[w+(l<<2)>>2]|0))break;l=i&65535;if(l>>>0>=m>>>0)break e}f[S>>2]=l;Ht(r,2,19591,S)|0;if(!_){l=0;i=0;do{t[v+(l<<2)+2>>0]=1;t[v+(l<<2)+3>>0]=i;i=i+1<<16>>16;l=i&65535}while(l>>>0>>0)}}}while(0);zn(w);r=1;c=T;return r|0}function zi(e,i){e=e|0;i=i|0;var r=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0;y=i+12|0;i=f[y>>2]|0;h=f[i+8>>2]|0;b=f[i+4>>2]|0;w=f[i>>2]|0;_=f[i+12>>2]|0;i=t[i+18>>0]|0;m=e+24|0;v=f[m>>2]|0;p=i&255;g=Nn(p*52|0)|0;if(!g)return;d=i<<24>>24==0;if(!d){u=0;c=0;do{i=n[_+(u<<2)>>1]|0;if(!(t[_+(u<<2)+2>>0]|0)){i=i&65535;r=g+(u*52|0)|0;l=v+(i*52|0)|0;o=r+52|0;do{f[r>>2]=f[l>>2];r=r+4|0;l=l+4|0}while((r|0)<(o|0))}else{i=i&65535;r=g+((a[_+(u<<2)+3>>0]|0)*52|0)|0;l=v+(i*52|0)|0;o=r+52|0;do{f[r>>2]=f[l>>2];r=r+4|0;l=l+4|0}while((r|0)<(o|0))}o=Nn(ie(f[v+(i*52|0)+8>>2]<<2,f[v+(i*52|0)+12>>2]|0)|0)|0;f[g+(u*52|0)+44>>2]=o;if(!o){k=7;break}f[g+(u*52|0)+24>>2]=a[h+u>>0];f[g+(u*52|0)+32>>2]=a[b+u>>0];c=c+1<<16>>16;u=c&65535}while(u>>>0

>>0);if((k|0)==7){zn(g);return}h=(s[(f[y>>2]|0)+16>>1]|0)+-1|0;if(!d){i=0;c=0;do{o=f[v+((s[_+(i<<2)>>1]|0)*52|0)+44>>2]|0;l=a[_+(i<<2)+3>>0]|0;u=ie(f[g+(l*52|0)+12>>2]|0,f[g+(l*52|0)+8>>2]|0)|0;if(!(t[_+(i<<2)+2>>0]|0)){i=f[g+(i*52|0)+44>>2]|0;if(u){r=0;do{f[i+(r<<2)>>2]=f[o+(r<<2)>>2];r=r+1|0}while((r|0)!=(u|0))}}else{i=f[g+(l*52|0)+44>>2]|0;if(u){r=0;do{k=f[o+(r<<2)>>2]|0;f[i+(r<<2)>>2]=f[w+((ie((k|0)<0?0:(k|0)>(h|0)?h:k,p)|0)+l<<2)>>2];r=r+1|0}while((r|0)!=(u|0))}}c=c+1<<16>>16;i=c&65535}while(i>>>0

>>0)}}r=e+16|0;l=f[r>>2]|0;if(l){i=0;o=0;do{i=f[v+(i*52|0)+44>>2]|0;if(i)zn(i);o=o+1<<16>>16;i=o&65535}while(i>>>0>>0)}zn(v);f[m>>2]=g;f[r>>2]=p;zn(f[(f[y>>2]|0)+4>>2]|0);zn(f[(f[y>>2]|0)+8>>2]|0);zn(f[f[y>>2]>>2]|0);i=f[y>>2]|0;r=f[i+12>>2]|0;if(r){zn(r);i=f[y>>2]|0}zn(i);f[y>>2]=0;return}function Yi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0;E=c;c=c+80|0;y=E+8|0;g=E;p=E+16|0;M=i+8|0;t=f[M>>2]|0;i=f[t>>2]|0;v=n[t+4>>1]|0;if(v<<16>>16){m=e+16|0;b=e+24|0;w=1;_=0;while(1){k=n[i+(_*6|0)>>1]|0;d=k&65535;e=f[m>>2]|0;e:do{if(d>>>0>>0){t=n[i+(_*6|0)+4>>1]|0;switch(t<<16>>16){case-1:case 0:{n[(f[b>>2]|0)+(d*52|0)+48>>1]=n[i+(_*6|0)+2>>1]|0;break e}default:{}}o=(t&65535)+65535|0;h=o&65535;o=o&65535;if(o>>>0>=e>>>0){f[y>>2]=o;f[y+4>>2]=e;Ht(r,2,19302,y)|0;break}u=i+(_*6|0)+2|0;if((d|0)!=(o|0)?(n[u>>1]|0)==0:0){t=f[b>>2]|0;e=t+(d*52|0)|0;a=p;s=e;l=a+52|0;do{f[a>>2]=f[s>>2];a=a+4|0;s=s+4|0}while((a|0)<(l|0));a=e;s=t+(o*52|0)|0;l=a+52|0;do{f[a>>2]=f[s>>2];a=a+4|0;s=s+4|0}while((a|0)<(l|0));a=(f[b>>2]|0)+(o*52|0)|0;s=p;l=a+52|0;do{f[a>>2]=f[s>>2];a=a+4|0;s=s+4|0}while((a|0)<(l|0));if((_+1&65535)<(v&65535)){a=w;do{t=i+(a*6|0)|0;e=n[t>>1]|0;if(e<<16>>16!=k<<16>>16){if(e<<16>>16==h<<16>>16)n[t>>1]=k}else n[t>>1]=h;a=a+1|0}while((a&65535)<<16>>16!=v<<16>>16)}}n[(f[b>>2]|0)+(d*52|0)+48>>1]=n[u>>1]|0}else{f[g>>2]=d;f[g+4>>2]=e;Ht(r,2,19262,g)|0}}while(0);_=_+1|0;if((_&65535)<<16>>16==v<<16>>16)break;else w=w+1|0}i=f[M>>2]|0;t=i;i=f[i>>2]|0}if(!i){y=t;zn(y);f[M>>2]=0;c=E;return}else{zn(i);y=f[M>>2]|0;zn(y);f[M>>2]=0;c=E;return}}function qi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,x=0,O=0,B=0;B=c;c=c+192|0;E=B+152|0;M=B+144|0;y=B+136|0;g=B+128|0;p=B+120|0;R=B+88|0;m=B+80|0;w=B+64|0;k=B+48|0;x=B+40|0;A=B+32|0;L=B+24|0;v=B+16|0;_=B+8|0;d=B+176|0;b=B+168|0;C=B+156|0;t=Fn(1,1024)|0;if(!t){Ht(r,1,17098,B)|0;O=0;c=B;return O|0}h=d+4|0;S=C+4|0;T=e+100|0;u=1024;e:while(1){if((Ot(i,d,8,r)|0)!=8)break;while(1){ct(d,C,4);ct(h,S,4);switch(f[C>>2]|0){case 0:{n=Nt(i)|0;o=P;if((o|0)>0|(o|0)==0&n>>>0>4294967287){O=6;break e}f[C>>2]=n+8;l=8;break}case 1:{if((Ot(i,d,8,r)|0)!=8)break e;ct(d,b,4);if(f[b>>2]|0){O=10;break e}ct(h,C,4);l=16;break}default:l=8}a=f[S>>2]|0;if((a|0)==1785737827){O=13;break e}n=f[C>>2]|0;if(!n){O=17;break e}if(n>>>0>>0){O=19;break e}if((a|0)==1783636e3){s=1084;a=l;O=22;break}if((a|0)==1718909296){s=1092;a=l;O=22;break}o=(a|0)==1785737832;i:do{if((a|0)!=1768449138)if((a|0)!=1668246642)if((a|0)!=1651532643)if((a|0)!=1885564018)if((a|0)!=1668112752){s=(a|0)==1667523942?1148:0;n=n-l|0;if((a|0)<1785737832)switch(a|0){case 1667523942:{O=30;break i}default:{}}else switch(a|0){case 1785737832:{O=30;break i}default:{}}a=f[T>>2]|0;if(!(a&1)){O=45;break e}if(!(a&2)){O=47;break e}f[T>>2]=a|2147483647;o=Ft(i,n,0,r)|0;if(!((o|0)==(n|0)&(P|0)==0)){O=50;break e}}else{s=1140;O=28}else{s=1132;O=28}else{s=1124;O=28}else{s=1116;O=28}else{s=1108;O=28}}while(0);if((O|0)==28){n=n-l|0;O=30}if((O|0)==30){O=0;if(o){s=1100;break}f[k>>2]=a>>>24;f[k+4>>2]=a>>>16&255;f[k+8>>2]=a>>>8&255;f[k+12>>2]=a&255;Ht(r,2,17282,k)|0;if(f[T>>2]&4)break;o=f[S>>2]|0;f[w>>2]=o>>>24;f[w+4>>2]=o>>>16&255;f[w+8>>2]=o>>>8&255;f[w+12>>2]=o&255;Ht(r,2,17333,w)|0;f[T>>2]=f[T>>2]|2147483647;o=Ft(i,n,0,r)|0;if(!((o|0)==(n|0)&(P|0)==0)){O=33;break e}}if((Ot(i,d,8,r)|0)!=8)break e}if((O|0)==22){O=0;n=n-a|0}o=Nt(i)|0;l=P;if(0>(l|0)|0==(l|0)&n>>>0>o>>>0){O=35;break}if(n>>>0>u>>>0){a=Hn(t,n)|0;if(!a){O=38;break}else{t=a;a=n}}else a=u;if((Ot(i,t,n,r)|0)!=(n|0)){O=40;break}if(!(Co[f[s+4>>2]&63](e,t,n,r)|0)){O=43;break}else u=a}switch(O|0){case 6:{Ht(r,1,17148,_)|0;break}case 10:{Ht(r,1,17148,v)|0;break}case 13:{n=f[T>>2]|0;if(!(n&4)){Ht(r,1,17190,L)|0;zn(t);O=0;c=B;return O|0}else{f[T>>2]=n|8;zn(t);O=1;c=B;return O|0}}case 17:{Ht(r,1,17218,A)|0;zn(t);O=0;c=B;return O|0}case 19:{f[x>>2]=n;f[x+4>>2]=a;Ht(r,1,17256,x)|0;zn(t);O=0;c=B;return O|0}case 33:{Ht(r,1,17399,m)|0;zn(t);O=0;c=B;return O|0}case 35:{L=f[C>>2]|0;x=f[S>>2]|0;O=Nt(i)|0;f[R>>2]=L;f[R+4>>2]=x>>>24;f[R+8>>2]=x>>>16&255;f[R+12>>2]=x>>>8&255;f[R+16>>2]=x&255;f[R+20>>2]=n;f[R+24>>2]=O;Ht(r,1,17449,R)|0;zn(t);O=0;c=B;return O|0}case 38:{zn(t);Ht(r,1,17525,p)|0;O=0;c=B;return O|0}case 40:{Ht(r,1,17567,g)|0;zn(t);O=0;c=B;return O|0}case 43:{zn(t);O=0;c=B;return O|0}case 45:{Ht(r,1,17616,y)|0;zn(t);O=0;c=B;return O|0}case 47:{Ht(r,1,17686,M)|0;zn(t);O=0;c=B;return O|0}case 50:{Ht(r,1,17399,E)|0;zn(t);O=0;c=B;return O|0}}zn(t);O=1;c=B;return O|0}function Xi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;s=c;c=c+32|0;a=s+24|0;t=Dt(i)|0;n=P;e=e+80|0;l=e;l=Pl(t|0,n|0,f[l>>2]|0,f[l+4>>2]|0)|0;ut(a,l,4);ut(a+4|0,1785737827,4);if(!(Ut(i,f[e>>2]|0,f[e+4>>2]|0,r)|0)){Ht(r,1,17067,s)|0;l=0;c=s;return l|0}if((Bt(i,a,8,r)|0)!=8){Ht(r,1,17067,s+8|0)|0;l=0;c=s;return l|0}if(Ut(i,t,n,r)|0){l=1;c=s;return l|0}Ht(r,1,17067,s+16|0)|0;l=0;c=s;return l|0}function Vi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;r=((f[e>>2]|0)!=0?(f[e+104>>2]|f[e+100>>2]|0)==0:0)&(f[e+8>>2]|0)!=0&(f[e+4>>2]|0)!=0&(f[e+64>>2]|0)!=0&(f[e+16>>2]|0)!=0&(f[e+12>>2]|0)!=0&1;t=f[e+20>>2]|0;if(!t){a=r;e=e+40|0;e=f[e>>2]|0;e=e+-1|0;e=e>>>0<2;e=e&1;i=jt(i)|0;i=i&a;e=i&e;return e|0}n=f[e+72>>2]|0;a=0;do{r=(f[n+(a*12|0)+8>>2]&126)>>>0<38&r;a=a+1|0}while(a>>>0>>0);e=e+40|0;e=f[e>>2]|0;e=e+-1|0;e=e>>>0<2;e=e&1;i=jt(i)|0;i=i&r;e=i&e;return e|0}function Gi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;e=c;c=c+16|0;t=e;ut(t,12,4);ut(t+4|0,1783636e3,4);ut(t+8|0,218793738,4);r=(Bt(i,t,12,r)|0)==12&1;c=e;return r|0}function Ki(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0;u=c;c=c+16|0;o=u+8|0;n=e+64|0;s=(f[n>>2]<<2)+16|0;l=Fn(1,s)|0;if(!l){Ht(r,1,16987,u)|0;o=0;c=u;return o|0}ut(l,s,4);ut(l+4|0,1718909296,4);ut(l+8|0,f[e+56>>2]|0,4);ut(l+12|0,f[e+60>>2]|0,4);a=l+16|0;if(f[n>>2]|0){e=e+68|0;t=0;do{ut(a,f[(f[e>>2]|0)+(t<<2)>>2]|0,4);t=t+1|0}while(t>>>0<(f[n>>2]|0)>>>0)}e=(Bt(i,l,s,r)|0)==(s|0);if(!e)Ht(r,1,17026,o)|0;zn(l);o=e&1;c=u;return o|0}function Wi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0;w=c;c=c+80|0;b=w+16|0;h=w+8|0;o=w;n=w+24|0;u=w+72|0;t=n;a=t+48|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(a|0));k=(f[e+24>>2]|0)==255;f[n>>2]=2;t=n+12|0;if(k){f[t>>2]=3;f[n+24>>2]=4;t=3}else{f[t>>2]=4;t=2}if(!(f[e+116>>2]|0))k=t;else{f[n+(t*12|0)>>2]=5;k=t+1|0}ut(u+4|0,1785737832,4);s=0;l=n;t=8;while(1){a=l+8|0;_=Ro[f[l>>2]&7](e,a)|0;f[l+4>>2]=_;if(!_){d=8;break}t=(f[a>>2]|0)+t|0;s=s+1|0;if((s|0)>=(k|0))break;else l=l+12|0}if((d|0)==8){Ht(r,1,16901,o)|0;a=0;while(1){t=f[n+4>>2]|0;if(t)zn(t);a=a+1|0;if((a|0)>=(k|0)){t=0;break}else n=n+12|0}c=w;return t|0}ut(u,t,4);e:do{if((Bt(i,u,8,r)|0)==8){t=0;a=n;while(1){_=a+8|0;d=Bt(i,f[a+4>>2]|0,f[_>>2]|0,r)|0;if((d|0)!=(f[_>>2]|0))break;t=t+1|0;if((t|0)>=(k|0)){t=1;break e}else a=a+12|0}Ht(r,1,16944,b)|0;t=0}else{Ht(r,1,16944,h)|0;t=0}}while(0);s=0;while(1){a=f[n+4>>2]|0;if(a)zn(a);s=s+1|0;if((s|0)>=(k|0))break;else n=n+12|0}c=w;return t|0}function Zi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=Dt(i)|0;e=e+88|0;f[e>>2]=t;f[e+4>>2]=P;i=Ft(i,24,0,r)|0;return(i|0)==24&(P|0)==0&1|0}function Ji(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=Dt(i)|0;e=e+80|0;f[e>>2]=t;f[e+4>>2]=P;i=Ft(i,8,0,r)|0;return(i|0)==8&(P|0)==0&1|0}function Qi(e,i){e=e|0;i=i|0;var r=0;r=Fn(1,22)|0;if(!r){i=0;return i|0}ut(r,22,4);ut(r+4|0,1768449138,4);ut(r+8|0,f[e+16>>2]|0,4);ut(r+12|0,f[e+12>>2]|0,4);ut(r+16|0,f[e+20>>2]|0,2);ut(r+18|0,f[e+24>>2]|0,1);ut(r+19|0,f[e+28>>2]|0,1);ut(r+20|0,f[e+32>>2]|0,1);ut(r+21|0,f[e+36>>2]|0,1);f[i>>2]=22;i=r;return i|0}function $i(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0;n=e+20|0;a=(f[n>>2]|0)+8|0;s=Fn(1,a)|0;if(!s){i=0;return i|0}ut(s,a,4);ut(s+4|0,1651532643,4);if(f[n>>2]|0){e=e+72|0;r=0;t=s+8|0;while(1){ut(t,f[(f[e>>2]|0)+(r*12|0)+8>>2]|0,1);r=r+1|0;if(r>>>0>=(f[n>>2]|0)>>>0)break;else t=t+1|0}}f[i>>2]=a;i=s;return i|0}function er(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,s=0,l=0,o=0;r=e+40|0;switch(f[r>>2]|0){case 1:{o=15;break}case 2:{o=(f[e+112>>2]|0)+11|0;break}default:{i=0;return i|0}}l=Fn(1,o)|0;if(!l){i=0;return i|0}ut(l,o,4);ut(l+4|0,1668246642,4);ut(l+8|0,f[r>>2]|0,1);ut(l+9|0,f[e+52>>2]|0,1);ut(l+10|0,f[e+44>>2]|0,1);n=l+11|0;switch(f[r>>2]|0){case 1:{ut(n,f[e+48>>2]|0,4);break}case 2:{s=e+112|0;if(f[s>>2]|0){e=e+108|0;t=0;r=n;while(1){ut(r,a[(f[e>>2]|0)+t>>0]|0,1);t=t+1|0;if(t>>>0>=(f[s>>2]|0)>>>0)break;else r=r+1|0}}break}default:{}}f[i>>2]=o;i=l;return i|0}function ir(e,i){e=e|0;i=i|0;var r=0,t=0,a=0,l=0,o=0,u=0;l=e+116|0;o=((s[(f[l>>2]|0)+4>>1]|0)*6|0)+10|0;u=Nn(o)|0;if(!u){i=0;return i|0}ut(u,o,4);ut(u+4|0,1667523942,4);ut(u+8|0,s[(f[l>>2]|0)+4>>1]|0,2);e=f[l>>2]|0;if(n[e+4>>1]|0){t=0;r=0;a=u+10|0;while(1){ut(a,s[(f[e>>2]|0)+(t*6|0)>>1]|0,2);ut(a+2|0,s[(f[f[l>>2]>>2]|0)+(t*6|0)+2>>1]|0,2);ut(a+4|0,s[(f[f[l>>2]>>2]|0)+(t*6|0)+4>>1]|0,2);r=r+1<<16>>16;e=f[l>>2]|0;if((r&65535)>=(s[e+4>>1]|0))break;else{t=r&65535;a=a+6|0}}}f[i>>2]=o;i=u;return i|0}function rr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;a=c;c=c+32|0;n=a+16|0;if((r|0)!=14){Ht(t,1,18507,a)|0;n=0;c=a;return n|0}ct(i,e+16|0,4);ct(i+4|0,e+12|0,4);r=e+20|0;ct(i+8|0,r,2);r=Fn(f[r>>2]|0,12)|0;f[e+72>>2]=r;if(!r){Ht(t,1,18540,a+8|0)|0;n=0;c=a;return n|0}ct(i+10|0,e+24|0,1);r=e+28|0;ct(i+11|0,r,1);r=f[r>>2]|0;if((r|0)!=7){f[n>>2]=r;Ht(t,4,18589,n)|0}ct(i+12|0,e+32|0,1);ct(i+13|0,e+36|0,1);n=1;c=a;return n|0}function tr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0;M=c;c=c+80|0;l=M+40|0;v=M+32|0;u=M+24|0;o=M+16|0;p=M+72|0;m=M+68|0;k=M+64|0;w=M+60|0;d=M+56|0;_=M+52|0;b=M+48|0;h=M+44|0;if(r>>>0<3){Ht(n,1,18180,M)|0;y=0;c=M;return y|0}g=e+108|0;y=e+124|0;if(t[y>>0]|0){Ht(n,4,18212,M+8|0)|0;y=1;c=M;return y|0}s=e+40|0;ct(i,s,1);ct(i+1|0,e+52|0,1);ct(i+2|0,e+44|0,1);a=i+3|0;s=f[s>>2]|0;switch(s|0){case 1:{if(r>>>0<7){f[o>>2]=r;Ht(n,1,18321,o)|0;y=0;c=M;return y|0}s=e+48|0;if(r>>>0>7?(f[s>>2]|0)!=14:0){f[u>>2]=r;Ht(n,2,18321,u)|0}ct(a,s,4);if((f[s>>2]|0)==14){a=Nn(36)|0;f[a>>2]=14;f[b>>2]=0;f[d>>2]=0;f[k>>2]=0;f[_>>2]=0;f[w>>2]=0;f[m>>2]=0;f[h>>2]=4470064;s=a+4|0;f[s>>2]=1145390592;switch(r|0){case 35:{ct(i+7|0,m,4);ct(i+11|0,k,4);ct(i+15|0,w,4);ct(i+19|0,d,4);ct(i+23|0,_,4);ct(i+27|0,b,4);ct(i+31|0,h,4);f[s>>2]=0;break}case 7:break;default:{f[v>>2]=r;Ht(n,2,18357,v)|0}}f[a+8>>2]=f[m>>2];f[a+16>>2]=f[w>>2];f[a+24>>2]=f[_>>2];f[a+12>>2]=f[k>>2];f[a+20>>2]=f[d>>2];f[a+28>>2]=f[b>>2];f[a+32>>2]=f[h>>2];f[g>>2]=a;f[e+112>>2]=0}t[y>>0]=1;y=1;c=M;return y|0}case 2:{l=r+-3|0;s=e+112|0;f[s>>2]=l;e=Fn(1,l)|0;f[g>>2]=e;if(!e){f[s>>2]=0;y=0;c=M;return y|0}if((r|0)>3){s=0;while(1){ct(a,p,1);t[(f[g>>2]|0)+s>>0]=f[p>>2];s=s+1|0;if((s|0)==(l|0))break;else a=a+1|0}}t[y>>0]=1;y=1;c=M;return y|0}default:{if(s>>>0<=2){y=1;c=M;return y|0}f[l>>2]=s;Ht(n,4,18401,l)|0;y=1;c=M;return y|0}}return 0}function nr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0;l=c;c=c+16|0;a=l;n=f[e+24>>2]|0;if((n|0)!=255){f[a>>2]=n;Ht(t,2,18034,a)|0}s=e+20|0;if((f[s>>2]|0)!=(r|0)){Ht(t,1,18148,l+8|0)|0;s=0;c=l;return s|0}if(!r){s=1;c=l;return s|0}a=e+72|0;n=0;while(1){ct(i,(f[a>>2]|0)+(n*12|0)+8|0,1);n=n+1|0;if(n>>>0>=(f[s>>2]|0)>>>0){i=1;break}else i=i+1|0}c=l;return i|0}function fr(e,i,r,s){e=e|0;i=i|0;r=r|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0;_=c;c=c+16|0;l=_;w=_+12|0;o=e+120|0;if(r>>>0<3|(f[o>>2]|0)!=0){r=0;c=_;return r|0}ct(i,w,2);u=f[w>>2]|0;k=u&65535;if((k+-1|0)>>>0>1023){f[l>>2]=k;Ht(s,1,17951,l)|0;r=0;c=_;return r|0}ct(i+2|0,w,1);b=f[w>>2]&65535;if(!b){Ht(s,1,17989,_+8|0)|0;r=0;c=_;return r|0}if((b+3|0)>>>0>r>>>0){r=0;c=_;return r|0}l=Nn(ie(k<<2,b)|0)|0;if(!l){r=0;c=_;return r|0}d=Nn(b)|0;if(!d){zn(l);r=0;c=_;return r|0}h=Nn(b)|0;if(!h){zn(l);zn(d);r=0;c=_;return r|0}e=Nn(20)|0;if(!e){zn(l);zn(d);zn(h);r=0;c=_;return r|0}f[e+4>>2]=h;f[e+8>>2]=d;f[e>>2]=l;n[e+16>>1]=u;t[e+18>>0]=f[w>>2];f[e+12>>2]=0;f[o>>2]=e;e=i+3|0;s=0;o=0;do{ct(e,w,1);e=e+1|0;t[d+s>>0]=(f[w>>2]&127)+1;t[h+s>>0]=(f[w>>2]|0)>>>7&1;o=o+1<<16>>16;s=o&65535}while(s>>>0>>0);if(!k){r=1;c=_;return r|0}s=0;e:while(1){u=0;o=l;h=0;while(1){l=((a[d+u>>0]|0)+7|0)>>>3;l=l>>>0>4?4:l;if((e-i+l|0)>(r|0)){e=0;l=22;break e}ct(e,w,l);e=e+l|0;f[o>>2]=f[w>>2];l=o+4|0;h=h+1<<16>>16;u=h&65535;if(u>>>0>=b>>>0)break;else o=l}s=s+1<<16>>16;if((s&65535)>>>0>=k>>>0){e=1;l=22;break}}if((l|0)==22){c=_;return e|0}return 0}function ar(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0;u=c;c=c+32|0;o=u+20|0;l=e+120|0;e=f[l>>2]|0;if(!e){Ht(a,1,17841,u)|0;o=0;c=u;return o|0}if(f[e+12>>2]|0){Ht(a,1,17887,u+8|0)|0;o=0;c=u;return o|0}s=t[e+18>>0]|0;e=(s&255)<<2;if(e>>>0>r>>>0){Ht(a,1,17918,u+16|0)|0;o=0;c=u;return o|0}a=Nn(e)|0;if(!a){o=0;c=u;return o|0}if(s<<24>>24){e=i;r=0;while(1){ct(e,o,2);n[a+(r<<2)>>1]=f[o>>2];ct(e+2|0,o,1);t[a+(r<<2)+2>>0]=f[o>>2];ct(e+3|0,o,1);t[a+(r<<2)+3>>0]=f[o>>2];r=r+1|0;if((r&255)<<24>>24==s<<24>>24)break;else e=e+4|0}}f[(f[l>>2]|0)+12>>2]=a;o=1;c=u;return o|0}function sr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var a=0,l=0,o=0,u=0;u=c;c=c+32|0;o=u+20|0;l=e+116|0;if(f[l>>2]|0){o=0;c=u;return o|0}if(r>>>0<2){Ht(t,1,17747,u)|0;o=0;c=u;return o|0}ct(i,o,2);e=f[o>>2]|0;a=e&65535;if(!a){Ht(t,1,17780,u+8|0)|0;o=0;c=u;return o|0}if(((a*6|0)+2|0)>>>0>r>>>0){Ht(t,1,17747,u+16|0)|0;o=0;c=u;return o|0}r=Nn(e*6|0)|0;if(!r){o=0;c=u;return o|0}e=Nn(8)|0;f[l>>2]=e;if(!e){zn(r);o=0;c=u;return o|0}f[e>>2]=r;t=f[o>>2]&65535;n[e+4>>1]=t;if(!(t<<16>>16)){o=1;c=u;return o|0}else{a=0;e=i}do{i=a&65535;ct(e+2|0,o,2);n[r+(i*6|0)>>1]=f[o>>2];ct(e+4|0,o,2);e=e+6|0;n[r+(i*6|0)+2>>1]=f[o>>2];ct(e,o,2);n[r+(i*6|0)+4>>1]=f[o>>2];a=a+1<<16>>16}while((a&65535)<(s[(f[l>>2]|0)+4>>1]|0));e=1;c=u;return e|0}function lr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;a=c;c=c+32|0;n=a+20|0;e=e+100|0;if(f[e>>2]|0){Ht(t,1,19130,a)|0;t=0;c=a;return t|0}if((r|0)!=4){Ht(t,1,19184,a+8|0)|0;t=0;c=a;return t|0}ct(i,n,4);if((f[n>>2]|0)==218793738){f[e>>2]=f[e>>2]|1;t=1;c=a;return t|0}else{Ht(t,1,19218,a+16|0)|0;t=0;c=a;return t|0}return 0}function or(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0;l=c;c=c+32|0;a=l+24|0;s=e+100|0;if((f[s>>2]|0)!=1){Ht(t,1,19011,l)|0;s=0;c=l;return s|0}if(r>>>0<8){Ht(t,1,19061,l+8|0)|0;s=0;c=l;return s|0}ct(i,e+56|0,4);ct(i+4|0,e+60|0,4);i=i+8|0;r=r+-8|0;if(r&3){Ht(t,1,19061,l+16|0)|0;s=0;c=l;return s|0}r=r>>>2;n=e+64|0;f[n>>2]=r;if(r){r=Fn(r,4)|0;f[e+68>>2]=r;if(!r){Ht(t,1,19097,a)|0;s=0;c=l;return s|0}if(f[n>>2]|0){e=e+68|0;r=0;while(1){ct(i,(f[e>>2]|0)+(r<<2)|0,4);r=r+1|0;if(r>>>0>=(f[n>>2]|0)>>>0)break;else i=i+4|0}}}f[s>>2]=f[s>>2]|2;s=1;c=l;return s|0}function ur(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0;S=c;c=c+96|0;E=S+72|0;m=S+64|0;_=S+56|0;w=S+48|0;y=S+40|0;g=S+32|0;p=S+24|0;v=S+16|0;k=S+8|0;d=S+80|0;b=S+76|0;M=e+100|0;if(!(f[M>>2]&2)){Ht(t,1,18679,S)|0;A=0;c=S;return A|0}h=e+104|0;f[h>>2]=0;do{if(r){o=i;i=0;e:while(1){if(r>>>0<8){A=6;break}ct(o,d,4);n=f[d>>2]|0;ct(o+4|0,d,4);l=f[d>>2]|0;switch(n|0){case 0:{A=14;break e}case 1:{if(r>>>0<16){A=9;break e}ct(o+8|0,b,4);if(f[b>>2]|0){A=11;break e}ct(o+12|0,d,4);n=f[d>>2]|0;if(!n){A=13;break e}else a=16;break}default:a=8}if(n>>>0>>0){A=16;break}if(r>>>0>>0){A=19;break}s=(l|0)==1768449138;if(!s)if((l|0)!=1668246642)if((l|0)!=1651532643)if((l|0)!=1885564018)if((l|0)!=1668112752)if((l|0)==1667523942){u=1148;A=26}else f[h>>2]=f[h>>2]|2147483647;else{u=1140;A=26}else{u=1132;A=26}else{u=1124;A=26}else{u=1116;A=26}else{u=1108;A=26}if((A|0)==26?(A=0,(Co[f[u+4>>2]&63](e,o+a|0,n-a|0,t)|0)==0):0){i=0;A=32;break}i=s?1:i;if((r|0)==(n|0)){A=29;break}else{o=o+n|0;r=r-n|0}}if((A|0)==6)Ht(t,1,18724,k)|0;else if((A|0)==9)Ht(t,1,18764,v)|0;else if((A|0)==11)Ht(t,1,17148,p)|0;else if((A|0)==13)Ht(t,1,17218,g)|0;else if((A|0)==14)Ht(t,1,17218,y)|0;else if((A|0)==16)Ht(t,1,18808,w)|0;else if((A|0)==19){Ht(t,1,18880,m)|0;A=0;c=S;return A|0}else if((A|0)==29){if(!i)break;f[M>>2]=f[M>>2]|4;A=1;c=S;return A|0}else if((A|0)==32){c=S;return i|0}Ht(t,1,18837,_)|0;A=0;c=S;return A|0}}while(0);Ht(t,1,18952,E)|0;A=0;c=S;return A|0}function cr(){return 8}function hr(){return 32}function dr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0;if(!t)return;else n=0;do{c=e+(n<<2)|0;l=f[c>>2]|0;o=i+(n<<2)|0;s=f[o>>2]|0;a=r+(n<<2)|0;u=f[a>>2]|0;f[c>>2]=(s<<1)+l+u>>2;f[o>>2]=u-s;f[a>>2]=l-s;n=n+1|0}while((n|0)!=(t|0));return}function br(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0;if(!t)return;else n=0;do{u=e+(n<<2)|0;o=i+(n<<2)|0;s=f[o>>2]|0;a=r+(n<<2)|0;c=f[a>>2]|0;l=(f[u>>2]|0)-(c+s>>2)|0;f[u>>2]=l+c;f[o>>2]=l;f[a>>2]=l+s;n=n+1|0}while((n|0)!=(t|0));return}function kr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0;if(!t)return;else n=0;do{b=e+(n<<2)|0;p=f[b>>2]|0;u=i+(n<<2)|0;v=f[u>>2]|0;a=r+(n<<2)|0;m=f[a>>2]|0;o=((p|0)<0)<<31>>31;w=zl(p|0,o|0,2449,0)|0;w=Il(w|0,P|0,4096,0)|0;w=Dl(w|0,P|0,13)|0;l=((v|0)<0)<<31>>31;_=zl(v|0,l|0,4809,0)|0;_=Il(_|0,P|0,4096,0)|0;_=Dl(_|0,P|0,13)|0;s=((m|0)<0)<<31>>31;k=zl(m|0,s|0,934,0)|0;k=Il(k|0,P|0,4096,0)|0;k=Dl(k|0,P|0,13)|0;c=zl(p|0,o|0,1382,0)|0;c=Il(c|0,P|0,4096,0)|0;c=Dl(c|0,P|0,13)|0;h=zl(v|0,l|0,2714,0)|0;h=Il(h|0,P|0,4096,0)|0;h=Dl(h|0,P|0,13)|0;d=Bl(m|0,s|0,12)|0;d=Il(d|0,P|0,4096,0)|0;d=Dl(d|0,P|0,13)|0;o=Bl(p|0,o|0,12)|0;o=Il(o|0,P|0,4096,0)|0;o=Dl(o|0,P|0,13)|0;l=zl(v|0,l|0,3430,0)|0;l=Il(l|0,P|0,4096,0)|0;l=Dl(l|0,P|0,13)|0;s=zl(m|0,s|0,666,0)|0;s=Il(s|0,P|0,4096,0)|0;s=Dl(s|0,P|0,13)|0;f[b>>2]=_+w+k;f[u>>2]=d-(h+c);f[a>>2]=o-l-s;n=n+1|0}while((n|0)!=(t|0));return}function wr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0.0,s=0.0,l=0,u=0.0,c=0;if(!t)return;else n=0;do{c=e+(n<<2)|0;s=+o[c>>2];l=i+(n<<2)|0;a=+o[l>>2];f=r+(n<<2)|0;u=+o[f>>2];o[c>>2]=s+u*1.4019999504089355;o[l>>2]=s-a*.3441300094127655-u*.714139997959137;o[f>>2]=s+a*1.7719999551773071;n=n+1|0}while((n|0)!=(t|0));return}function _r(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0;a=ie(t,t)|0;b=Nn(a+t<<2)|0;if(!b){t=0;return t|0}if(a){s=0;n=e;while(1){f[b+(s+t<<2)>>2]=~~(+o[n>>2]*8192.0);s=s+1|0;if((s|0)==(a|0))break;else n=n+4|0}}if(i){h=(t|0)==0;d=0;do{if(!h){n=0;do{f[b+(n<<2)>>2]=f[f[r+(n<<2)>>2]>>2];n=n+1|0}while((n|0)!=(t|0));if(!h){e=0;u=b;do{u=u+(t<<2)|0;a=r+(e<<2)|0;n=f[a>>2]|0;f[n>>2]=0;s=0;l=0;c=u;while(1){k=f[c>>2]|0;w=f[b+(l<<2)>>2]|0;k=zl(w|0,((w|0)<0)<<31>>31|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Il(k|0,P|0,4096,0)|0;k=Dl(k|0,P|0,13)|0;s=k+s|0;f[n>>2]=s;l=l+1|0;if((l|0)==(t|0))break;else c=c+4|0}f[a>>2]=n+4;e=e+1|0}while((e|0)!=(t|0))}}d=d+1|0}while((d|0)!=(i|0))}zn(b);w=1;return w|0}function mr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0.0,s=0,l=0,u=0,c=0,h=0,d=0,b=0;h=Nn(t<<3)|0;if(!h){t=0;return t|0}if(i){d=(t|0)==0;b=0;do{if(!d){n=0;do{f[h+(n<<2)>>2]=f[f[r+(n<<2)>>2]>>2];n=n+1|0}while((n|0)!=(t|0));if(!d){u=0;c=e;while(1){n=h+(u+t<<2)|0;o[n>>2]=0.0;a=0.0;s=0;l=c;while(1){a=a+ +o[l>>2]*+o[h+(s<<2)>>2];o[n>>2]=a;s=s+1|0;if((s|0)==(t|0))break;else l=l+4|0}s=r+(u<<2)|0;l=f[s>>2]|0;f[s>>2]=l+4;o[l>>2]=a;u=u+1|0;if((u|0)==(t|0))break;else c=c+(t<<2)|0}}}b=b+1|0}while((b|0)!=(i|0))}zn(h);t=1;return t|0}function vr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0,a=0,s=0,l=0.0;if(!i)return;else s=0;do{a=e+(s<<3)|0;u[a>>3]=0.0;t=0.0;n=0;f=s;while(1){l=+o[r+(f<<2)>>2];t=t+l*l;n=n+1|0;if((n|0)==(i|0))break;else f=f+i|0}u[a>>3]=+Y(+t);s=s+1|0}while((s|0)!=(i|0));return}function pr(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0;P=c;c=c+32|0;T=P+28|0;y=P+24|0;M=P+20|0;E=P+16|0;A=P+12|0;S=P+8|0;o=P+4|0;u=P;n=i+76|0;R=f[n>>2]|0;C=R+(r*5640|0)+420|0;L=(f[C>>2]|0)+1|0;h=e+16|0;g=Nn((f[h>>2]|0)*528|0)|0;if(!g){L=0;c=P;return L|0}p=Nn(f[h>>2]<<2)|0;if(!p){zn(g);L=0;c=P;return L|0}n=Sr(e,f[n>>2]|0,r)|0;if(!n){zn(g);zn(p);L=0;c=P;return L|0}a=f[h>>2]|0;if(a){s=0;l=g;while(1){f[p+(s<<2)>>2]=l;s=s+1|0;if(s>>>0>=a>>>0)break;else l=l+528|0}}Tr(e,i,r,M,E,A,S,o,u,y,T,p);m=f[y>>2]|0;w=ie(f[h>>2]|0,m)|0;_=ie(f[T>>2]|0,w)|0;v=R+(r*5640|0)+8|0;k=Fn(ie((f[v>>2]|0)+1|0,_)|0,2)|0;s=n+4|0;f[s>>2]=k;if(!k){zn(g);zn(p);a=f[s>>2]|0;if(a){zn(a);f[s>>2]=0}if(L){e=n;d=0;while(1){h=e+196|0;a=f[h>>2]|0;if(a){i=e+192|0;s=f[i>>2]|0;if(s){u=0;while(1){l=a+12|0;o=f[l>>2]|0;if(o){zn(o);f[l>>2]=0;s=f[i>>2]|0}u=u+1|0;if(u>>>0>=s>>>0)break;else a=a+16|0}a=f[h>>2]|0}zn(a);f[h>>2]=0}d=d+1|0;if((d|0)==(L|0))break;else e=e+232|0}}zn(n);L=0;c=P;return L|0}a=f[n+196>>2]|0;k=f[e+24>>2]|0;f[n+200>>2]=f[M>>2];f[n+204>>2]=f[A>>2];f[n+208>>2]=f[E>>2];f[n+212>>2]=f[S>>2];f[n+20>>2]=1;f[n+16>>2]=m;f[n+12>>2]=w;f[n+8>>2]=_;h=f[n+192>>2]|0;if(h){e=0;i=k;while(1){l=f[a+12>>2]|0;s=f[p+(e<<2)>>2]|0;f[a>>2]=f[i>>2];f[a+4>>2]=f[i+4>>2];u=f[a+8>>2]|0;if(u){o=0;while(1){f[l>>2]=f[s>>2];f[l+4>>2]=f[s+4>>2];f[l+8>>2]=f[s+8>>2];f[l+12>>2]=f[s+12>>2];o=o+1|0;if(o>>>0>=u>>>0)break;else{s=s+16|0;l=l+16|0}}}e=e+1|0;if(e>>>0>=h>>>0)break;else{a=a+16|0;i=i+52|0}}}if(L>>>0>1){h=n;b=1;do{a=f[h+428>>2]|0;f[h+432>>2]=f[M>>2];f[h+436>>2]=f[A>>2];f[h+440>>2]=f[E>>2];f[h+444>>2]=f[S>>2];f[h+252>>2]=1;f[h+248>>2]=m;f[h+244>>2]=w;f[h+240>>2]=_;e=f[h+424>>2]|0;if(e){d=0;i=k;while(1){l=f[a+12>>2]|0;s=f[p+(d<<2)>>2]|0;f[a>>2]=f[i>>2];f[a+4>>2]=f[i+4>>2];u=f[a+8>>2]|0;if(u){o=0;while(1){f[l>>2]=f[s>>2];f[l+4>>2]=f[s+4>>2];f[l+8>>2]=f[s+8>>2];f[l+12>>2]=f[s+12>>2];o=o+1|0;if(o>>>0>=u>>>0)break;else{s=s+16|0;l=l+16|0}}}d=d+1|0;if(d>>>0>=e>>>0)break;else{a=a+16|0;i=i+52|0}}}f[h+236>>2]=f[h+4>>2];h=h+232|0;b=b+1|0}while((b|0)!=(L|0))}zn(g);zn(p);h=f[y>>2]|0;if(!(t[R+(r*5640|0)+5636>>0]&4)){i=f[T>>2]|0;u=(f[C>>2]|0)+1|0;if(!u){L=n;c=P;return L|0}o=f[R+(r*5640|0)+4>>2]|0;a=f[v>>2]|0;s=n;l=0;while(1){f[s+80>>2]=o;f[s+40>>2]=1;f[s+44>>2]=0;f[s+48>>2]=0;f[s+64>>2]=0;f[s+68>>2]=0;f[s+56>>2]=i;f[s+60>>2]=f[s+192>>2];f[s+52>>2]=a;f[s+72>>2]=h;l=l+1|0;if((l|0)==(u|0))break;else s=s+232|0}c=P;return n|0}else{l=(f[C>>2]|0)+1|0;if(!l){L=n;c=P;return L|0}o=n;a=R+(r*5640|0)+424|0;s=0;while(1){f[o+80>>2]=f[a+36>>2];f[o+40>>2]=1;f[o+44>>2]=f[a>>2];f[o+48>>2]=f[a+4>>2];f[o+64>>2]=0;f[o+68>>2]=0;f[o+56>>2]=f[a+12>>2];f[o+60>>2]=f[a+16>>2];f[o+52>>2]=f[a+8>>2];f[o+72>>2]=h;s=s+1|0;if((s|0)==(l|0))break;else{o=o+232|0;a=a+148|0}}c=P;return n|0}return 0}function gr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0;if(!e)return;r=e+4|0;t=f[r>>2]|0;if(t){zn(t);f[r>>2]=0}if(i){u=e;c=0;while(1){o=u+196|0;r=f[o>>2]|0;if(r){l=u+192|0;t=f[l>>2]|0;if(t){s=0;while(1){n=r+12|0;a=f[n>>2]|0;if(a){zn(a);f[n>>2]=0;t=f[l>>2]|0}s=s+1|0;if(s>>>0>=t>>>0)break;else r=r+16|0}r=f[o>>2]|0}zn(r);f[o>>2]=0}c=c+1|0;if((c|0)==(i|0))break;else u=u+232|0}}zn(e);return}function yr(e,i,r,s){e=e|0;i=i|0;r=r|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0;N=c;c=c+32|0;x=N+28|0;P=N+24|0;T=N+20|0;C=N+16|0;R=N+12|0;L=N+8|0;O=N+4|0;B=N;I=i+76|0;M=f[I>>2]|0;D=(f[M+(r*5640|0)+420>>2]|0)+1|0;S=e+16|0;A=Nn((f[S>>2]|0)*528|0)|0;if(!A){r=0;c=N;return r|0}E=Nn(f[S>>2]<<2)|0;if(!E){zn(A);r=0;c=N;return r|0}l=Sr(e,f[I>>2]|0,r)|0;if(!l){zn(A);zn(E);r=0;c=N;return r|0}o=f[S>>2]|0;if(o){u=0;h=A;while(1){f[E+(u<<2)>>2]=h;u=u+1|0;if(u>>>0>=o>>>0)break;else h=h+528|0}}Tr(e,i,r,T,C,R,L,O,B,P,x,E);p=f[P>>2]|0;g=ie(f[S>>2]|0,p)|0;y=ie(f[x>>2]|0,g)|0;t[l>>0]=(a[i+93>>0]|0)>>>3&1;v=Fn(ie(f[M+(r*5640|0)+8>>2]|0,y)|0,2)|0;u=l+4|0;f[u>>2]=v;if(!v){zn(A);zn(E);o=f[u>>2]|0;if(o){zn(o);f[u>>2]=0}if(D){w=l;_=0;while(1){k=w+196|0;o=f[k>>2]|0;if(o){b=w+192|0;u=f[b>>2]|0;if(u){d=0;while(1){h=o+12|0;e=f[h>>2]|0;if(e){zn(e);f[h>>2]=0;u=f[b>>2]|0}d=d+1|0;if(d>>>0>=u>>>0)break;else o=o+16|0}o=f[k>>2]|0}zn(o);f[k>>2]=0}_=_+1|0;if((_|0)==(D|0))break;else w=w+232|0}}zn(l);r=0;c=N;return r|0}o=f[l+196>>2]|0;v=f[e+24>>2]|0;f[l+200>>2]=f[T>>2];f[l+204>>2]=f[R>>2];f[l+208>>2]=f[C>>2];f[l+212>>2]=f[L>>2];f[l+224>>2]=f[O>>2];f[l+228>>2]=f[B>>2];f[l+20>>2]=1;f[l+16>>2]=p;f[l+12>>2]=g;f[l+8>>2]=y;k=f[l+192>>2]|0;if(k){w=0;b=v;while(1){h=f[o+12>>2]|0;u=f[E+(w<<2)>>2]|0;f[o>>2]=f[b>>2];f[o+4>>2]=f[b+4>>2];d=f[o+8>>2]|0;if(d){e=0;while(1){f[h>>2]=f[u>>2];f[h+4>>2]=f[u+4>>2];f[h+8>>2]=f[u+8>>2];f[h+12>>2]=f[u+12>>2];e=e+1|0;if(e>>>0>=d>>>0)break;else{u=u+16|0;h=h+16|0}}}w=w+1|0;if(w>>>0>=k>>>0)break;else{o=o+16|0;b=b+52|0}}}if(D>>>0>1){k=l;m=1;do{o=f[k+428>>2]|0;f[k+432>>2]=f[T>>2];f[k+436>>2]=f[R>>2];f[k+440>>2]=f[C>>2];f[k+444>>2]=f[L>>2];f[k+456>>2]=f[O>>2];f[k+460>>2]=f[B>>2];f[k+252>>2]=1;f[k+248>>2]=p;f[k+244>>2]=g;f[k+240>>2]=y;w=f[k+424>>2]|0;if(w){_=0;b=v;while(1){h=f[o+12>>2]|0;u=f[E+(_<<2)>>2]|0;f[o>>2]=f[b>>2];f[o+4>>2]=f[b+4>>2];d=f[o+8>>2]|0;if(d){e=0;while(1){f[h>>2]=f[u>>2];f[h+4>>2]=f[u+4>>2];f[h+8>>2]=f[u+8>>2];f[h+12>>2]=f[u+12>>2];e=e+1|0;if(e>>>0>=d>>>0)break;else{u=u+16|0;h=h+16|0}}}_=_+1|0;if(_>>>0>=w>>>0)break;else{o=o+16|0;b=b+52|0}}}f[k+236>>2]=f[k+4>>2];k=k+232|0;m=m+1|0}while((m|0)!=(D|0))}zn(A);zn(E);do{if(t[M+(r*5640|0)+5636>>0]&4){o=n[i>>1]|0;if((o&65535)>2){if(!((s|0)==1|(o&65535)<7))break}else if((s|0)!=1)break;Cr(f[I>>2]|0,r,f[T>>2]|0,f[C>>2]|0,f[R>>2]|0,f[L>>2]|0,f[P>>2]|0,f[O>>2]|0,f[B>>2]|0);r=l;c=N;return r|0}}while(0);y=f[S>>2]|0;g=f[T>>2]|0;p=f[C>>2]|0;v=f[R>>2]|0;m=f[L>>2]|0;_=f[P>>2]|0;w=f[x>>2]|0;k=f[O>>2]|0;b=f[B>>2]|0;o=f[I>>2]|0;h=(f[o+(r*5640|0)+420>>2]|0)+1|0;if(!h){r=l;c=N;return r|0}e=f[o+(r*5640|0)+8>>2]|0;d=f[o+(r*5640|0)+4>>2]|0;o=o+(r*5640|0)+424|0;u=0;while(1){f[o+76>>2]=0;f[o+92>>2]=y;f[o+72>>2]=0;f[o+88>>2]=w;f[o+68>>2]=0;f[o+84>>2]=e;f[o+36>>2]=d;f[o+80>>2]=0;f[o+96>>2]=_;f[o+100>>2]=g;f[o+104>>2]=p;f[o+108>>2]=v;f[o+112>>2]=m;f[o+116>>2]=k;f[o+120>>2]=b;u=u+1|0;if((u|0)==(h|0))break;else o=o+148|0}c=N;return l|0}function Mr(e,i,r,a,s,l,o){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,H=0,z=0,Y=0,q=0,X=0;z=f[i+76>>2]|0;Y=z+(r*5640|0)+424+(a*148|0)+36|0;q=Yn(f[Y>>2]|0)|0;f[e+(a*232|0)+40>>2]=1;X=e+(a*232|0)+44|0;f[e+(a*232|0)+80>>2]=f[Y>>2];do{if(t[i+93>>0]&8){u=n[i>>1]|0;if((u&65535)>2){if(!((o|0)==1&(u&65535)>6|(u+-3&65535)<4))break}else if(!((o|0)==1|(u+-3&65535)<4))break;u=l+1|0;e:do{if((u|0)<4){o=z+(r*5640|0)+424+(a*148|0)+72|0;c=z+(r*5640|0)+424+(a*148|0)+88|0;h=e+(a*232|0)+56|0;d=z+(r*5640|0)+424+(a*148|0)+76|0;b=e+(a*232|0)+48|0;k=z+(r*5640|0)+424+(a*148|0)+92|0;w=e+(a*232|0)+60|0;_=z+(r*5640|0)+424+(a*148|0)+68|0;m=e+(a*232|0)+64|0;v=z+(r*5640|0)+424+(a*148|0)+84|0;p=e+(a*232|0)+52|0;g=z+(r*5640|0)+424+(a*148|0)+80|0;y=e+(a*232|0)+68|0;M=z+(r*5640|0)+424+(a*148|0)+96|0;E=e+(a*232|0)+72|0;A=z+(r*5640|0)+424+(a*148|0)+100|0;S=e+(a*232|0)+96|0;T=z+(r*5640|0)+424+(a*148|0)+108|0;C=e+(a*232|0)+104|0;R=z+(r*5640|0)+424+(a*148|0)+104|0;L=e+(a*232|0)+100|0;P=z+(r*5640|0)+424+(a*148|0)+112|0;x=e+(a*232|0)+108|0;while(1){i:do{switch(t[q+u>>0]|0){case 82:{f[X>>2]=f[o>>2];f[h>>2]=f[c>>2];break}case 67:{f[b>>2]=f[d>>2];f[w>>2]=f[k>>2];break}case 76:{f[m>>2]=f[_>>2];f[p>>2]=f[v>>2];break}case 80:if((f[Y>>2]|0)>>>0<2){f[y>>2]=f[g>>2];f[E>>2]=f[M>>2];break i}else{f[S>>2]=f[A>>2];f[C>>2]=f[T>>2];f[L>>2]=f[R>>2];f[x>>2]=f[P>>2];break i}default:{}}}while(0);u=u+1|0;if((u|0)==4)break e}}}while(0);u=(l|0)>-1;if(!s){if(!u)return;h=z+(r*5640|0)+424+(a*148|0)+76|0;d=z+(r*5640|0)+424+(a*148|0)+132|0;b=e+(a*232|0)+48|0;k=e+(a*232|0)+60|0;w=z+(r*5640|0)+424+(a*148|0)+72|0;_=z+(r*5640|0)+424+(a*148|0)+128|0;m=e+(a*232|0)+56|0;v=z+(r*5640|0)+424+(a*148|0)+68|0;p=z+(r*5640|0)+424+(a*148|0)+124|0;g=e+(a*232|0)+64|0;y=e+(a*232|0)+52|0;M=z+(r*5640|0)+424+(a*148|0)+80|0;E=z+(r*5640|0)+424+(a*148|0)+136|0;A=e+(a*232|0)+68|0;S=e+(a*232|0)+72|0;T=z+(r*5640|0)+424+(a*148|0)+100|0;C=z+(r*5640|0)+424+(a*148|0)+140|0;R=z+(r*5640|0)+424+(a*148|0)+108|0;L=z+(r*5640|0)+424+(a*148|0)+144|0;P=e+(a*232|0)+96|0;x=z+(r*5640|0)+424+(a*148|0)+116|0;s=e+(a*232|0)+100|0;O=e+(a*232|0)+104|0;c=z+(r*5640|0)+424+(a*148|0)+120|0;o=e+(a*232|0)+108|0;u=l;while(1){e:do{switch(t[q+u>>0]|0){case 67:{a=f[h>>2]|0;f[b>>2]=a;a=a+1|0;f[k>>2]=a;f[d>>2]=a;break}case 82:{a=f[w>>2]|0;f[X>>2]=a;a=a+1|0;f[m>>2]=a;f[_>>2]=a;break}case 76:{a=f[v>>2]|0;f[g>>2]=a;a=a+1|0;f[y>>2]=a;f[p>>2]=a;break}case 80:if((f[Y>>2]|0)>>>0<2){a=f[M>>2]|0;f[A>>2]=a;a=a+1|0;f[S>>2]=a;f[E>>2]=a;break e}else{a=f[T>>2]|0;l=f[R>>2]|0;f[P>>2]=a;r=f[x>>2]|0;r=r+a-((a>>>0)%(r>>>0)|0)|0;f[s>>2]=r;f[O>>2]=l;a=f[c>>2]|0;a=a+l-((l>>>0)%(a>>>0)|0)|0;f[o>>2]=a;f[C>>2]=r;f[L>>2]=a;break e}default:{}}}while(0);if((u|0)>0)u=u+-1|0;else break}return}if(!u)return;N=z+(r*5640|0)+424+(a*148|0)+128|0;F=z+(r*5640|0)+424+(a*148|0)+88|0;U=z+(r*5640|0)+424+(a*148|0)+72|0;j=e+(a*232|0)+56|0;H=z+(r*5640|0)+424+(a*148|0)+132|0;k=z+(r*5640|0)+424+(a*148|0)+92|0;w=z+(r*5640|0)+424+(a*148|0)+76|0;_=e+(a*232|0)+48|0;m=e+(a*232|0)+60|0;v=z+(r*5640|0)+424+(a*148|0)+124|0;p=z+(r*5640|0)+424+(a*148|0)+84|0;g=z+(r*5640|0)+424+(a*148|0)+68|0;y=e+(a*232|0)+64|0;M=e+(a*232|0)+52|0;E=z+(r*5640|0)+424+(a*148|0)+136|0;A=z+(r*5640|0)+424+(a*148|0)+96|0;S=z+(r*5640|0)+424+(a*148|0)+80|0;T=e+(a*232|0)+68|0;C=e+(a*232|0)+72|0;R=z+(r*5640|0)+424+(a*148|0)+140|0;L=z+(r*5640|0)+424+(a*148|0)+104|0;P=e+(a*232|0)+96|0;x=z+(r*5640|0)+424+(a*148|0)+116|0;s=e+(a*232|0)+100|0;O=z+(r*5640|0)+424+(a*148|0)+144|0;B=z+(r*5640|0)+424+(a*148|0)+112|0;I=e+(a*232|0)+104|0;D=z+(r*5640|0)+424+(a*148|0)+120|0;d=e+(a*232|0)+108|0;b=z+(r*5640|0)+424+(a*148|0)+100|0;h=z+(r*5640|0)+424+(a*148|0)+108|0;c=l;u=1;while(1){o=q+c|0;e:do{switch(t[o>>0]|0){case 67:{l=f[H>>2]|0;f[_>>2]=l+-1;f[m>>2]=l;break}case 82:{l=f[N>>2]|0;f[X>>2]=l+-1;f[j>>2]=l;break}case 76:{l=f[v>>2]|0;f[y>>2]=l+-1;f[M>>2]=l;break}case 80:if((f[Y>>2]|0)>>>0<2){l=f[E>>2]|0;f[T>>2]=l+-1;f[C>>2]=l;break e}else{l=f[R>>2]|0;z=f[x>>2]|0;f[P>>2]=l-z-((l>>>0)%(z>>>0)|0);f[s>>2]=l;l=f[O>>2]|0;z=f[D>>2]|0;f[I>>2]=l-z-((l>>>0)%(z>>>0)|0);f[d>>2]=l;break e}default:{}}}while(0);e:do{if((u|0)==1)switch(t[o>>0]|0){case 82:{u=f[N>>2]|0;if((u|0)!=(f[F>>2]|0)){f[X>>2]=u;u=u+1|0;f[j>>2]=u;f[N>>2]=u;u=0;break e}if(!(Rr(c+-1|0,i,r,a,q)|0)){u=0;break e}u=f[U>>2]|0;f[X>>2]=u;u=u+1|0;f[j>>2]=u;f[N>>2]=u;u=1;break e}case 67:{u=f[H>>2]|0;if((u|0)!=(f[k>>2]|0)){f[_>>2]=u;u=u+1|0;f[m>>2]=u;f[H>>2]=u;u=0;break e}if(!(Rr(c+-1|0,i,r,a,q)|0)){u=0;break e}u=f[w>>2]|0;f[_>>2]=u;u=u+1|0;f[m>>2]=u;f[H>>2]=u;u=1;break e}case 76:{u=f[v>>2]|0;if((u|0)!=(f[p>>2]|0)){f[y>>2]=u;u=u+1|0;f[M>>2]=u;f[v>>2]=u;u=0;break e}if(!(Rr(c+-1|0,i,r,a,q)|0)){u=0;break e}u=f[g>>2]|0;f[y>>2]=u;u=u+1|0;f[M>>2]=u;f[v>>2]=u;u=1;break e}case 80:{if((f[Y>>2]|0)>>>0<2){u=f[E>>2]|0;if((u|0)!=(f[A>>2]|0)){f[T>>2]=u;u=u+1|0;f[C>>2]=u;f[E>>2]=u;u=0;break e}if(!(Rr(c+-1|0,i,r,a,q)|0)){u=0;break e}u=f[S>>2]|0;f[T>>2]=u;u=u+1|0;f[C>>2]=u;f[E>>2]=u;u=1;break e}u=f[R>>2]|0;if(u>>>0<(f[L>>2]|0)>>>0){f[P>>2]=u;l=f[x>>2]|0;u=l+u-((u>>>0)%(l>>>0)|0)|0;f[s>>2]=u;f[R>>2]=u;u=0;break e}o=f[O>>2]|0;if(o>>>0<(f[B>>2]|0)>>>0){f[I>>2]=o;l=f[D>>2]|0;u=0;o=l+o-((o>>>0)%(l>>>0)|0)|0}else{if(!(Rr(c+-1|0,i,r,a,q)|0)){u=0;break e}l=f[h>>2]|0;f[O>>2]=l;f[I>>2]=l;o=f[D>>2]|0;u=1;o=o+l-((l>>>0)%(o>>>0)|0)|0}f[d>>2]=o;f[O>>2]=o;z=f[b>>2]|0;f[P>>2]=z;l=f[x>>2]|0;l=l+z-((z>>>0)%(l>>>0)|0)|0;f[s>>2]=l;f[R>>2]=l;break e}default:{u=1;break e}}}while(0);if((c|0)>0)c=c+-1|0;else break}return}}while(0);f[X>>2]=f[z+(r*5640|0)+424+(a*148|0)+72>>2];f[e+(a*232|0)+56>>2]=f[z+(r*5640|0)+424+(a*148|0)+88>>2];f[e+(a*232|0)+48>>2]=f[z+(r*5640|0)+424+(a*148|0)+76>>2];f[e+(a*232|0)+60>>2]=f[z+(r*5640|0)+424+(a*148|0)+92>>2];f[e+(a*232|0)+64>>2]=f[z+(r*5640|0)+424+(a*148|0)+68>>2];f[e+(a*232|0)+52>>2]=f[z+(r*5640|0)+424+(a*148|0)+84>>2];f[e+(a*232|0)+68>>2]=f[z+(r*5640|0)+424+(a*148|0)+80>>2];f[e+(a*232|0)+72>>2]=f[z+(r*5640|0)+424+(a*148|0)+96>>2];f[e+(a*232|0)+96>>2]=f[z+(r*5640|0)+424+(a*148|0)+100>>2];f[e+(a*232|0)+104>>2]=f[z+(r*5640|0)+424+(a*148|0)+108>>2];f[e+(a*232|0)+100>>2]=f[z+(r*5640|0)+424+(a*148|0)+104>>2];f[e+(a*232|0)+108>>2]=f[z+(r*5640|0)+424+(a*148|0)+112>>2];return}function Er(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0;B=f[i+76>>2]|0;D=f[i+24>>2]|0;U=(r>>>0)%(D>>>0)|0;D=(r>>>0)/(D>>>0)|0;N=f[i+4>>2]|0;O=f[i+12>>2]|0;x=(ie(O,U)|0)+N|0;F=f[e>>2]|0;F=(x|0)>(F|0)?x:F;N=(ie(O,U+1|0)|0)+N|0;U=f[e+8>>2]|0;U=(N|0)<(U|0)?N:U;N=f[i+8>>2]|0;O=f[i+16>>2]|0;x=(ie(O,D)|0)+N|0;I=f[e+4>>2]|0;I=(x|0)>(I|0)?x:I;N=(ie(O,D+1|0)|0)+N|0;D=f[e+12>>2]|0;D=(N|0)<(D|0)?N:D;N=f[e+16>>2]|0;if(!N){c=0;u=2147483647;o=2147483647;l=0}else{C=D+-1|0;R=U+-1|0;L=I+-1|0;x=F+-1|0;c=0;u=2147483647;o=2147483647;l=0;O=0;S=f[e+24>>2]|0;T=f[B+(r*5640|0)+5584>>2]|0;while(1){M=f[S>>2]|0;E=f[S+4>>2]|0;A=f[T+4>>2]|0;l=A>>>0>l>>>0?A:l;if(A){g=(C+E|0)/(E|0)|0;v=(R+M|0)/(M|0)|0;_=(L+E|0)/(E|0)|0;k=(x+M|0)/(M|0)|0;k=Il(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;w=P;_=Il(_|0,((_|0)<0)<<31>>31|0,-1,-1)|0;m=P;v=Il(v|0,((v|0)<0)<<31>>31|0,-1,-1)|0;p=P;g=Il(g|0,((g|0)<0)<<31>>31|0,-1,-1)|0;y=P;i=0;b=0;while(1){h=f[T+812+(b<<2)>>2]|0;d=f[T+944+(b<<2)>>2]|0;a=i+-1+A|0;s=M<>>0>>0?u:s;o=o>>>0>>0?o:j;j=Bl(1,0,a|0)|0;s=P;i=Il(k|0,w|0,j|0,s|0)|0;i=xl(i|0,P|0,a|0)|0;n=Il(_|0,m|0,j|0,s|0)|0;n=xl(n|0,P|0,a|0)|0;e=Il(v|0,p|0,j|0,s|0)|0;e=xl(e|0,P|0,a|0)|0;s=Il(g|0,y|0,j|0,s|0)|0;a=xl(s|0,P|0,a|0)|0;s=Bl(1,0,d|0)|0;s=Il(s|0,P|0,-1,-1)|0;s=Il(s|0,P|0,a|0,((a|0)<0)<<31>>31|0)|0;s=xl(s|0,P|0,d|0)|0;if((i|0)==(e|0))i=0;else{j=Bl(1,0,h|0)|0;j=Il(j|0,P|0,-1,-1)|0;j=Il(j|0,P|0,e|0,((e|0)<0)<<31>>31|0)|0;j=xl(j|0,P|0,h|0)|0;i=(j<>h<>h}e=ie(i,(n|0)==(a|0)?0:(s<>d<>d)|0;c=e>>>0>c>>>0?e:c;e=b+1|0;if(e>>>0>>0){i=~b;b=e}else break}}O=O+1|0;if(O>>>0>=N>>>0)break;else{S=S+52|0;T=T+1080|0}}}if(t[B+(r*5640|0)+5636>>0]&4){Cr(B,r,F,U,I,D,c,u,o);return}n=(f[B+(r*5640|0)+420>>2]|0)+1|0;if(!n)return;a=f[B+(r*5640|0)+8>>2]|0;s=f[B+(r*5640|0)+4>>2]|0;i=B+(r*5640|0)+424|0;e=0;while(1){f[i+76>>2]=0;f[i+92>>2]=N;f[i+72>>2]=0;f[i+88>>2]=l;f[i+68>>2]=0;f[i+84>>2]=a;f[i+36>>2]=s;f[i+80>>2]=0;f[i+96>>2]=c;f[i+100>>2]=F;f[i+104>>2]=U;f[i+108>>2]=I;f[i+112>>2]=D;f[i+116>>2]=u;f[i+120>>2]=o;e=e+1|0;if((e|0)==(n|0))break;else i=i+148|0}return}function Ar(e){e=e|0;var i=0,r=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,H=0,z=0,Y=0,q=0,X=0,V=0,G=0,K=0,W=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,te=0,ne=0,fe=0,ae=0,se=0,le=0,oe=0,ue=0,ce=0,he=0,de=0,be=0,ke=0,we=0,_e=0,me=0,ve=0,pe=0,ge=0,ye=0,Me=0,Ee=0,Ae=0,Se=0,Te=0,Ce=0,Re=0,Le=0,Pe=0,xe=0,Oe=0,Be=0,Ie=0,De=0,Ne=0,Fe=0,Ue=0,je=0,He=0,ze=0,Ye=0,qe=0,Xe=0,Ve=0,Ge=0,Ke=0,We=0,Ze=0,Je=0,Qe=0,$e=0,ei=0,ii=0,ri=0,ti=0,ni=0,fi=0,ai=0,si=0,li=0,oi=0,ui=0,ci=0,hi=0,di=0;switch(f[e+80>>2]|0){case 0:{i=e+40|0;if(!(f[i>>2]|0)){L=e+32|0;c=L;L=f[L>>2]|0;r=18}else{f[i>>2]=0;v=f[e+64>>2]|0;f[e+36>>2]=v;r=5}while(1){if((r|0)==5){if(v>>>0>=(f[e+52>>2]|0)>>>0){di=0;r=153;break}A=f[e+44>>2]|0;f[e+28>>2]=A;r=7}else if((r|0)==18){o=L+1|0;f[c>>2]=o;s=c;r=14}while(1){if((r|0)==7){r=0;if(A>>>0>=(f[e+56>>2]|0)>>>0){r=21;break}S=f[e+48>>2]|0;k=e+24|0;f[k>>2]=S}else if((r|0)==14){if(o>>>0<(f[e+72>>2]|0)>>>0){r=16;break}P=e+24|0;d=P;P=f[P>>2]|0;r=19}while(1){if((r|0)==19){r=0;S=P+1|0;f[d>>2]=S;k=d}if(S>>>0>=(f[e+60>>2]|0)>>>0){r=20;break}T=f[e+196>>2]|0;C=f[e+28>>2]|0;if(C>>>0<(f[T+(S<<4)+8>>2]|0)>>>0)break;else{d=k;P=S;r=19}}if((r|0)==20){r=e+28|0;A=(f[r>>2]|0)+1|0;f[r>>2]=A;r=7;continue}i=f[T+(S<<4)+12>>2]|0;if(!(t[e>>0]|0))f[e+72>>2]=ie(f[i+(C<<4)+12>>2]|0,f[i+(C<<4)+8>>2]|0)|0;o=f[e+68>>2]|0;s=e+32|0;f[s>>2]=o;r=14}if((r|0)==16){r=0;R=ie(f[e+8>>2]|0,f[e+36>>2]|0)|0;R=(ie(f[e+12>>2]|0,f[e+28>>2]|0)|0)+R|0;R=R+(ie(f[e+16>>2]|0,f[e+24>>2]|0)|0)|0;R=R+(ie(f[e+20>>2]|0,o)|0)|0;R=(f[e+4>>2]|0)+(R<<1)|0;if(!(n[R>>1]|0))break;else{c=s;L=o;r=18;continue}}else if((r|0)==21){r=e+36|0;v=(f[r>>2]|0)+1|0;f[r>>2]=v;r=5;continue}}if((r|0)==153)return di|0;n[R>>1]=1;e=1;return e|0}case 1:{i=e+40|0;if(!(f[i>>2]|0)){M=e+32|0;u=M;M=f[M>>2]|0;r=38}else{f[i>>2]=0;x=f[e+44>>2]|0;f[e+28>>2]=x;r=25}while(1){if((r|0)==25){if(x>>>0>=(f[e+56>>2]|0)>>>0){di=0;r=153;break}_=f[e+64>>2]|0;f[e+36>>2]=_;r=27}else if((r|0)==38){l=M+1|0;f[u>>2]=l;a=u;r=34}while(1){if((r|0)==27){r=0;if(_>>>0>=(f[e+52>>2]|0)>>>0){r=41;break}m=f[e+48>>2]|0;b=e+24|0;f[b>>2]=m}else if((r|0)==34){if(l>>>0<(f[e+72>>2]|0)>>>0){r=36;break}E=e+24|0;h=E;E=f[E>>2]|0;r=39}while(1){if((r|0)==39){r=0;m=E+1|0;f[h>>2]=m;b=h}if(m>>>0>=(f[e+60>>2]|0)>>>0){r=40;break}p=f[e+196>>2]|0;g=f[e+28>>2]|0;if(g>>>0<(f[p+(m<<4)+8>>2]|0)>>>0)break;else{h=b;E=m;r=39}}if((r|0)==40){r=e+36|0;_=(f[r>>2]|0)+1|0;f[r>>2]=_;r=27;continue}i=f[p+(m<<4)+12>>2]|0;if(!(t[e>>0]|0))f[e+72>>2]=ie(f[i+(g<<4)+12>>2]|0,f[i+(g<<4)+8>>2]|0)|0;l=f[e+68>>2]|0;a=e+32|0;f[a>>2]=l;r=34}if((r|0)==36){r=0;y=ie(f[e+8>>2]|0,f[e+36>>2]|0)|0;y=(ie(f[e+12>>2]|0,f[e+28>>2]|0)|0)+y|0;y=y+(ie(f[e+16>>2]|0,f[e+24>>2]|0)|0)|0;y=y+(ie(f[e+20>>2]|0,l)|0)|0;y=(f[e+4>>2]|0)+(y<<1)|0;if(!(n[y>>1]|0))break;else{u=a;M=l;r=38;continue}}else if((r|0)==41){r=e+28|0;x=(f[r>>2]|0)+1|0;f[r>>2]=x;r=25;continue}}if((r|0)==153)return di|0;n[y>>1]=1;e=1;return e|0}case 2:{i=e+40|0;if(!(f[i>>2]|0)){ci=e+36|0;Xe=ci;ci=f[ci>>2]|0;r=75}else{f[i>>2]=0;b=e+224|0;f[b>>2]=0;k=e+228|0;f[k>>2]=0;w=f[e+192>>2]|0;if(w){_=f[e+196>>2]|0;i=0;r=0;m=0;do{o=f[_+(m<<4)+8>>2]|0;if(o){u=f[_+(m<<4)+12>>2]|0;c=f[_+(m<<4)>>2]|0;h=f[_+(m<<4)+4>>2]|0;d=o+-1|0;a=0;l=0;while(1){s=d+a|0;qe=c<>2]|0);s=h<<(f[u+(l<<4)+4>>2]|0)+s;i=(i|0)==0?qe:i>>>0>>0?i:qe;r=(r|0)==0?s:r>>>0>>0?r:s;s=l+1|0;if((s|0)==(o|0))break;else{a=~l;l=s}}f[b>>2]=i;f[k>>2]=r}m=m+1|0}while((m|0)!=(w|0))}if(!(t[e>>0]|0)){f[e+104>>2]=f[e+204>>2];f[e+96>>2]=f[e+200>>2];f[e+108>>2]=f[e+212>>2];f[e+100>>2]=f[e+208>>2]}I=f[e+44>>2]|0;f[e+28>>2]=I;r=54}while(1){if((r|0)==54){if(I>>>0>=(f[e+56>>2]|0)>>>0){di=0;r=153;break}We=f[e+104>>2]|0;f[e+220>>2]=We;r=56}else if((r|0)==75){oi=ci+1|0;f[Xe>>2]=oi;Ve=Xe;r=71}while(1){if((r|0)==56){if((We|0)>=(f[e+108>>2]|0)){r=79;break}Ze=f[e+96>>2]|0;f[e+216>>2]=Ze;r=58}else if((r|0)==71){if(oi>>>0<(f[e+52>>2]|0)>>>0){r=73;break}hi=e+24|0;Ge=hi;hi=f[hi>>2]|0;r=76}while(1){if((r|0)==58){if((Ze|0)>=(f[e+100>>2]|0)){r=78;break}Je=f[e+48>>2]|0;Ke=e+24|0;f[Ke>>2]=Je}else if((r|0)==76){Je=hi+1|0;f[Ge>>2]=Je;Ke=Ge}if(Je>>>0>=(f[e+60>>2]|0)>>>0){Ze=f[e+224>>2]|0;r=e+216|0;qe=f[r>>2]|0;Ze=qe+Ze-((qe|0)%(Ze|0)|0)|0;f[r>>2]=Ze;r=58;continue}r=f[e+196>>2]|0;h=f[e+28>>2]|0;i=f[r+(Je<<4)+8>>2]|0;if(h>>>0>=i>>>0){Ge=Ke;hi=Je;r=76;continue}d=f[r+(Je<<4)+12>>2]|0;l=i+~h|0;o=f[e+200>>2]|0;u=f[r+(Je<<4)>>2]|0;Qe=u<>2]|0;qe=f[r+(Je<<4)+4>>2]|0;ei=qe<>2]|0)|0)/(Qe|0)|0;ti=ei+-1|0;r=(ti+(f[e+212>>2]|0)|0)/(ei|0)|0;ni=f[d+(h<<4)>>2]|0;a=ni+l|0;fi=f[d+(h<<4)+4>>2]|0;s=fi+l|0;ai=f[e+220>>2]|0;if((ai|0)%(qe<>2]|0;if((si|0)%(u<>2]|0;if(!li){Ge=Ke;hi=Je;r=76;continue}if((ii|0)==(r|0)|(($e|0)==(i|0)?1:(f[d+(h<<4)+12>>2]|0)==0)){Ge=Ke;hi=Je;r=76}else{r=70;break}}if((r|0)==70){f[e+32>>2]=(((ri+si|0)/(Qe|0)|0)>>ni)-($e>>ni)+(ie((((ti+ai|0)/(ei|0)|0)>>fi)-(ii>>fi)|0,li)|0);oi=f[e+64>>2]|0;Ve=e+36|0;f[Ve>>2]=oi;r=71;continue}else if((r|0)==78){We=f[e+228>>2]|0;r=e+220|0;qe=f[r>>2]|0;We=qe+We-((qe|0)%(We|0)|0)|0;f[r>>2]=We;r=56;continue}}if((r|0)==73){r=0;ui=ie(f[e+8>>2]|0,oi)|0;ui=(ie(f[e+12>>2]|0,f[e+28>>2]|0)|0)+ui|0;ui=ui+(ie(f[e+16>>2]|0,f[e+24>>2]|0)|0)|0;ui=ui+(ie(f[e+20>>2]|0,f[e+32>>2]|0)|0)|0;ui=(f[e+4>>2]|0)+(ui<<1)|0;if(!(n[ui>>1]|0))break;else{Xe=Ve;ci=oi;r=75;continue}}else if((r|0)==79){r=e+28|0;I=(f[r>>2]|0)+1|0;f[r>>2]=I;r=54;continue}}if((r|0)==153)return di|0;n[ui>>1]=1;e=1;return e|0}case 3:{r=e+40|0;if(!(f[r>>2]|0)){Ye=f[e+24>>2]|0;De=e+36|0;ke=De;De=f[De>>2]|0;Ue=Ye;Ye=(f[e+196>>2]|0)+(Ye<<4)|0;r=113}else{f[r>>2]=0;b=e+224|0;f[b>>2]=0;k=e+228|0;f[k>>2]=0;w=f[e+192>>2]|0;if(w){_=f[e+196>>2]|0;i=0;r=0;m=0;do{o=f[_+(m<<4)+8>>2]|0;if(o){u=f[_+(m<<4)+12>>2]|0;c=f[_+(m<<4)>>2]|0;h=f[_+(m<<4)+4>>2]|0;d=o+-1|0;a=0;l=0;while(1){s=d+a|0;hi=c<>2]|0);s=h<<(f[u+(l<<4)+4>>2]|0)+s;i=(i|0)==0?hi:i>>>0>>0?i:hi;r=(r|0)==0?s:r>>>0>>0?r:s;s=l+1|0;if((s|0)==(o|0))break;else{a=~l;l=s}}f[b>>2]=i;f[k>>2]=r}m=m+1|0}while((m|0)!=(w|0))}if(!(t[e>>0]|0)){i=f[e+204>>2]|0;f[e+104>>2]=i;f[e+96>>2]=f[e+200>>2];f[e+108>>2]=f[e+212>>2];f[e+100>>2]=f[e+208>>2]}else i=f[e+104>>2]|0;f[e+220>>2]=i;r=93}while(1){if((r|0)==93){if((i|0)>=(f[e+108>>2]|0)){di=0;r=153;break}ve=f[e+96>>2]|0;f[e+216>>2]=ve;r=95}else if((r|0)==113){Oe=De+1|0;f[ke>>2]=Oe;we=ke;Be=Ue;ze=Ye;r=109}while(1){if((r|0)==95){if((ve|0)>=(f[e+100>>2]|0)){r=117;break}pe=f[e+48>>2]|0;f[e+24>>2]=pe;r=97}else if((r|0)==109){if(Oe>>>0<(f[e+52>>2]|0)>>>0){r=111;break}Ne=e+28|0;_e=Ne;Ne=f[Ne>>2]|0;je=Be;qe=ze;r=114}while(1){if((r|0)==97){if(pe>>>0>=(f[e+60>>2]|0)>>>0){r=116;break}He=(f[e+196>>2]|0)+(pe<<4)|0;ge=f[e+44>>2]|0;me=e+28|0;f[me>>2]=ge;Fe=pe}else if((r|0)==114){ge=Ne+1|0;f[_e>>2]=ge;me=_e;Fe=je;He=qe}hi=f[e+56>>2]|0;r=f[He+8>>2]|0;if(ge>>>0>=(hi>>>0>>0?hi:r)>>>0){pe=Fe+1|0;f[e+24>>2]=pe;r=97;continue}d=f[He+12>>2]|0;r=r+~ge|0;a=f[e+200>>2]|0;s=f[He>>2]|0;ye=s<>2]|0;hi=f[He+4>>2]|0;Ee=hi<>2]|0)|0)/(ye|0)|0;Te=Ee+-1|0;u=(Te+(f[e+212>>2]|0)|0)/(Ee|0)|0;Ce=f[d+(ge<<4)>>2]|0;c=Ce+r|0;Re=f[d+(ge<<4)+4>>2]|0;h=Re+r|0;Le=f[e+220>>2]|0;if((Le|0)%(hi<>2]|0;if((Pe|0)%(s<>2]|0;if(!xe){_e=me;Ne=ge;je=Fe;qe=He;r=114;continue}if((Ae|0)==(u|0)|((Me|0)==(o|0)?1:(f[d+(ge<<4)+12>>2]|0)==0)){_e=me;Ne=ge;je=Fe;qe=He;r=114}else{r=108;break}}if((r|0)==108){f[e+32>>2]=(((Se+Pe|0)/(ye|0)|0)>>Ce)-(Me>>Ce)+(ie((((Te+Le|0)/(Ee|0)|0)>>Re)-(Ae>>Re)|0,xe)|0);Oe=f[e+64>>2]|0;we=e+36|0;f[we>>2]=Oe;Be=Fe;ze=He;r=109;continue}else if((r|0)==116){ve=f[e+224>>2]|0;r=e+216|0;hi=f[r>>2]|0;ve=hi+ve-((hi|0)%(ve|0)|0)|0;f[r>>2]=ve;r=95;continue}}if((r|0)==111){r=0;Ie=ie(f[e+8>>2]|0,Oe)|0;Ie=(ie(f[e+12>>2]|0,f[e+28>>2]|0)|0)+Ie|0;Ie=Ie+(ie(f[e+16>>2]|0,Be)|0)|0;Ie=Ie+(ie(f[e+20>>2]|0,f[e+32>>2]|0)|0)|0;Ie=(f[e+4>>2]|0)+(Ie<<1)|0;if(!(n[Ie>>1]|0))break;else{ke=we;De=Oe;Ue=Be;Ye=ze;r=113;continue}}else if((r|0)==117){i=f[e+228>>2]|0;r=e+220|0;hi=f[r>>2]|0;i=hi+i-((hi|0)%(i|0)|0)|0;f[r>>2]=i;r=93;continue}}if((r|0)==153)return di|0;n[Ie>>1]=1;e=1;return e|0}case 4:{i=e+40|0;if(!(f[i>>2]|0)){de=f[e+24>>2]|0;ne=e+36|0;D=ne;ne=f[ne>>2]|0;ae=de;de=(f[e+196>>2]|0)+(de<<4)|0;r=148}else{f[i>>2]=0;j=f[e+48>>2]|0;f[e+24>>2]=j;r=121}while(1){if((r|0)==121){if(j>>>0>=(f[e+60>>2]|0)>>>0){di=0;r=153;break}i=f[e+196>>2]|0;w=i+(j<<4)|0;b=e+224|0;f[b>>2]=0;k=e+228|0;f[k>>2]=0;c=f[i+(j<<4)+8>>2]|0;if(c){h=f[i+(j<<4)+12>>2]|0;d=f[w>>2]|0;s=f[i+(j<<4)+4>>2]|0;l=c+-1|0;r=0;i=0;a=0;u=0;while(1){o=l+a|0;hi=d<>2]|0);o=s<<(f[h+(u<<4)+4>>2]|0)+o;r=(r|0)==0?hi:r>>>0>>0?r:hi;i=(i|0)==0?o:i>>>0>>0?i:o;o=u+1|0;if((o|0)==(c|0))break;else{a=~u;u=o}}f[b>>2]=r;f[k>>2]=i}if(!(t[e>>0]|0)){i=f[e+204>>2]|0;f[e+104>>2]=i;f[e+96>>2]=f[e+200>>2];f[e+108>>2]=f[e+212>>2];f[e+100>>2]=f[e+208>>2]}else i=f[e+104>>2]|0;f[e+220>>2]=i;O=i;B=j;r=130}else if((r|0)==148){ee=ne+1|0;f[D>>2]=ee;N=D;re=ae;he=de;r=144}while(1){if((r|0)==130){if((O|0)>=(f[e+108>>2]|0)){r=152;break}H=f[e+96>>2]|0;f[e+216>>2]=H;se=B;ue=w;r=132}else if((r|0)==144){if(ee>>>0<(f[e+52>>2]|0)>>>0){r=146;break}fe=e+28|0;F=fe;fe=f[fe>>2]|0;oe=re;be=he;r=149}while(1){if((r|0)==132){if((H|0)>=(f[e+100>>2]|0)){r=151;break}z=f[e+44>>2]|0;U=e+28|0;f[U>>2]=z;le=se;ce=ue}else if((r|0)==149){z=fe+1|0;f[F>>2]=z;U=F;le=oe;ce=be}hi=f[e+56>>2]|0;i=f[ce+8>>2]|0;if(z>>>0>=(hi>>>0>>0?hi:i)>>>0){H=f[e+224>>2]|0;se=e+216|0;ue=f[se>>2]|0;H=ue+H-((ue|0)%(H|0)|0)|0;f[se>>2]=H;se=le;ue=ce;r=132;continue}h=f[ce+12>>2]|0;i=i+~z|0;r=f[e+200>>2]|0;a=f[ce>>2]|0;Y=a<>2]|0;hi=f[ce+4>>2]|0;X=hi<>2]|0)|0)/(Y|0)|0;K=X+-1|0;o=(K+(f[e+212>>2]|0)|0)/(X|0)|0;W=f[h+(z<<4)>>2]|0;u=W+i|0;Z=f[h+(z<<4)+4>>2]|0;c=Z+i|0;J=f[e+220>>2]|0;if((J|0)%(hi<>2]|0;if((Q|0)%(a<>2]|0;if(!$){F=U;fe=z;oe=le;be=ce;r=149;continue}if((V|0)==(o|0)|((q|0)==(l|0)?1:(f[h+(z<<4)+12>>2]|0)==0)){F=U;fe=z;oe=le;be=ce;r=149}else{r=143;break}}if((r|0)==143){f[e+32>>2]=(((G+Q|0)/(Y|0)|0)>>W)-(q>>W)+(ie((((K+J|0)/(X|0)|0)>>Z)-(V>>Z)|0,$)|0);ee=f[e+64>>2]|0;N=e+36|0;f[N>>2]=ee;re=le;he=ce;r=144;continue}else if((r|0)==151){O=f[e+228>>2]|0;B=e+220|0;w=f[B>>2]|0;O=w+O-((w|0)%(O|0)|0)|0;f[B>>2]=O;B=se;w=ue;r=130;continue}}if((r|0)==146){r=0;te=ie(f[e+8>>2]|0,ee)|0;te=(ie(f[e+12>>2]|0,f[e+28>>2]|0)|0)+te|0;te=te+(ie(f[e+16>>2]|0,re)|0)|0;te=te+(ie(f[e+20>>2]|0,f[e+32>>2]|0)|0)|0;te=(f[e+4>>2]|0)+(te<<1)|0;if(!(n[te>>1]|0))break;else{D=N;ne=ee;ae=re;de=he;r=148;continue}}else if((r|0)==152){j=B+1|0;f[e+24>>2]=j;r=121;continue}}if((r|0)==153)return di|0;n[te>>1]=1;e=1;return e|0}default:{e=0;return e|0}}return 0}function Sr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0;c=(f[i+(r*5640|0)+420>>2]|0)+1|0;t=Fn(c,232)|0;if(!t){c=0;return c|0}if(!c){c=t;return c|0}o=e+16|0;a=i+(r*5640|0)+5584|0;e=f[o>>2]|0;s=t;l=0;e:while(1){i=Fn(e,16)|0;n=s+196|0;f[n>>2]=i;if(!i){e=5;break}u=f[o>>2]|0;f[s+192>>2]=u;i:do{if(!u)e=0;else{e=(f[a>>2]|0)+4|0;u=Fn(f[e>>2]|0,16)|0;f[i+12>>2]=u;if(!u){e=18;break e}else r=0;while(1){f[i+(r<<4)+8>>2]=f[e>>2];r=r+1|0;e=f[o>>2]|0;if(r>>>0>=e>>>0)break i;i=f[n>>2]|0;e=(f[a>>2]|0)+(r*1080|0)+4|0;u=Fn(f[e>>2]|0,16)|0;f[i+(r<<4)+12>>2]=u;if(!u){e=18;break e}}}}while(0);l=l+1|0;if(l>>>0>=c>>>0){e=32;break}else s=s+232|0}if((e|0)==5){e=t+4|0;i=f[e>>2]|0;if(!i){o=t;u=0}else{zn(i);f[e>>2]=0;o=t;u=0}while(1){l=o+196|0;e=f[l>>2]|0;if(e){s=o+192|0;i=f[s>>2]|0;if(i){a=0;while(1){r=e+12|0;n=f[r>>2]|0;if(n){zn(n);f[r>>2]=0;i=f[s>>2]|0}a=a+1|0;if(a>>>0>=i>>>0)break;else e=e+16|0}e=f[l>>2]|0}zn(e);f[l>>2]=0}u=u+1|0;if((u|0)==(c|0))break;else o=o+232|0}zn(t);c=0;return c|0}else if((e|0)==18){e=t+4|0;i=f[e>>2]|0;if(!i){o=t;u=0}else{zn(i);f[e>>2]=0;o=t;u=0}while(1){l=o+196|0;e=f[l>>2]|0;if(e){s=o+192|0;i=f[s>>2]|0;if(i){a=0;while(1){r=e+12|0;n=f[r>>2]|0;if(n){zn(n);f[r>>2]=0;i=f[s>>2]|0}a=a+1|0;if(a>>>0>=i>>>0)break;else e=e+16|0}e=f[l>>2]|0}zn(e);f[l>>2]=0}u=u+1|0;if((u|0)==(c|0))break;else o=o+232|0}zn(t);c=0;return c|0}else if((e|0)==32)return t|0;return 0}function Tr(e,i,r,t,n,a,s,l,o,u,c,h){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;h=h|0;var d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,x=0,O=0,B=0,I=0,D=0;b=f[(f[i+76>>2]|0)+(r*5640|0)+5584>>2]|0;d=f[e+24>>2]|0;B=f[i+24>>2]|0;O=i+12|0;x=(ie(f[O>>2]|0,(r>>>0)%(B>>>0)|0)|0)+(f[i+4>>2]|0)|0;L=f[e>>2]|0;f[t>>2]=x>>>0>L>>>0?x:L;x=Il(f[O>>2]|0,0,x|0,0)|0;x=x|0-P;O=f[e+8>>2]|0;f[n>>2]=x>>>0>>0?x:O;O=i+16|0;B=(ie(f[O>>2]|0,(r>>>0)/(B>>>0)|0)|0)+(f[i+8>>2]|0)|0;x=f[e+4>>2]|0;f[a>>2]=B>>>0>x>>>0?B:x;B=Il(f[O>>2]|0,0,B|0,0)|0;B=B|0-P;O=f[e+12>>2]|0;f[s>>2]=B>>>0>>0?B:O;f[u>>2]=0;f[c>>2]=0;f[l>>2]=2147483647;f[o>>2]=2147483647;O=e+16|0;if(!(f[O>>2]|0))return;else B=0;while(1){_=f[h+(B<<2)>>2]|0;k=f[d>>2]|0;e=((f[t>>2]|0)+-1+k|0)/(k|0)|0;L=d+4|0;w=f[L>>2]|0;r=((f[a>>2]|0)+-1+w|0)/(w|0)|0;k=(k+-1+(f[n>>2]|0)|0)/(k|0)|0;w=(w+-1+(f[s>>2]|0)|0)/(w|0)|0;x=b+4|0;i=f[x>>2]|0;if(i>>>0>(f[c>>2]|0)>>>0){f[c>>2]=i;i=f[x>>2]|0}if(i){C=Il(e|0,((e|0)<0)<<31>>31|0,-1,-1)|0;R=P;S=Il(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;T=P;E=Il(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;A=P;y=Il(w|0,((w|0)<0)<<31>>31|0,-1,-1)|0;M=P;g=0;while(1){i=i+-1|0;k=f[b+812+(g<<2)>>2]|0;p=f[b+944+(g<<2)>>2]|0;f[_>>2]=k;f[_+4>>2]=p;m=f[d>>2]<>2]<>2]|0;f[l>>2]=(e|0)<(m|0)?e:m;m=f[o>>2]|0;f[o>>2]=(m|0)<(I|0)?m:I;I=Bl(1,0,i|0)|0;m=P;e=Il(C|0,R|0,I|0,m|0)|0;e=xl(e|0,P|0,i|0)|0;w=Il(S|0,T|0,I|0,m|0)|0;w=xl(w|0,P|0,i|0)|0;r=Il(E|0,A|0,I|0,m|0)|0;r=xl(r|0,P|0,i|0)|0;m=Il(y|0,M|0,I|0,m|0)|0;m=xl(m|0,P|0,i|0)|0;I=Bl(1,0,p|0)|0;v=P;D=Il(m|0,((m|0)<0)<<31>>31|0,-1,-1)|0;v=Il(D|0,P|0,I|0,v|0)|0;v=xl(v|0,P|0,p|0)|0;if((e|0)==(r|0))e=0;else{r=Il(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;I=P;D=Bl(1,0,k|0)|0;D=Il(r|0,I|0,D|0,P|0)|0;D=xl(D|0,P|0,k|0)|0;e=(D<>k<>k}D=(w|0)==(m|0)?0:(v<>p<>p;f[_+8>>2]=e;f[_+12>>2]=D;e=ie(e,D)|0;if(e>>>0>(f[u>>2]|0)>>>0)f[u>>2]=e;g=g+1|0;if(g>>>0>=(f[x>>2]|0)>>>0)break;else _=_+16|0}}B=B+1|0;if(B>>>0>=(f[O>>2]|0)>>>0)break;else{d=d+52|0;b=b+1080|0}}return}function Cr(e,i,r,t,n,a,s,l,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,c=0;u=(f[e+(i*5640|0)+420>>2]|0)+1|0;f[e+(i*5640|0)+500>>2]=f[e+(i*5640|0)+428>>2];f[e+(i*5640|0)+516>>2]=f[e+(i*5640|0)+440>>2];f[e+(i*5640|0)+496>>2]=f[e+(i*5640|0)+424>>2];f[e+(i*5640|0)+512>>2]=f[e+(i*5640|0)+436>>2];f[e+(i*5640|0)+508>>2]=f[e+(i*5640|0)+432>>2];f[e+(i*5640|0)+492>>2]=0;f[e+(i*5640|0)+460>>2]=f[e+(i*5640|0)+456>>2];f[e+(i*5640|0)+504>>2]=0;f[e+(i*5640|0)+520>>2]=s;f[e+(i*5640|0)+524>>2]=r;f[e+(i*5640|0)+528>>2]=t;f[e+(i*5640|0)+532>>2]=n;f[e+(i*5640|0)+536>>2]=a;f[e+(i*5640|0)+540>>2]=l;f[e+(i*5640|0)+544>>2]=o;if(u>>>0<=1)return;e=e+(i*5640|0)+572|0;i=1;while(1){f[e+76>>2]=f[e+4>>2];f[e+92>>2]=f[e+16>>2];f[e+72>>2]=f[e>>2];f[e+88>>2]=f[e+12>>2];c=f[e+8>>2]|0;f[e+84>>2]=c;f[e+36>>2]=f[e+32>>2];f[e+80>>2]=0;f[e+68>>2]=c>>>0>(f[e+-64>>2]|0)>>>0?c:0;f[e+96>>2]=s;f[e+100>>2]=r;f[e+104>>2]=t;f[e+108>>2]=n;f[e+112>>2]=a;f[e+116>>2]=l;f[e+120>>2]=o;i=i+1|0;if((i|0)==(u|0))break;else e=e+148|0}return}function Rr(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0;o=f[i+76>>2]|0;if((e|0)>-1)s=e;else{r=0;return r|0}e:while(1){switch(t[a+s>>0]|0){case 82:{l=3;break e}case 67:{l=5;break e}case 76:{l=7;break e}case 80:{l=9;break e}default:{}}s=s+-1|0}if((l|0)==3)if((f[o+(r*5640|0)+424+(n*148|0)+128>>2]|0)==(f[o+(r*5640|0)+424+(n*148|0)+88>>2]|0))return(Rr(e+-1|0,i,r,n,a)|0)!=0|0;else{r=1;return r|0}else if((l|0)==5)if((f[o+(r*5640|0)+424+(n*148|0)+132>>2]|0)==(f[o+(r*5640|0)+424+(n*148|0)+92>>2]|0))return(Rr(e+-1|0,i,r,n,a)|0)!=0|0;else{r=1;return r|0}else if((l|0)==7)if((f[o+(r*5640|0)+424+(n*148|0)+124>>2]|0)==(f[o+(r*5640|0)+424+(n*148|0)+84>>2]|0))return(Rr(e+-1|0,i,r,n,a)|0)!=0|0;else{r=1;return r|0}else if((l|0)==9){if((f[o+(r*5640|0)+424+(n*148|0)+36>>2]|0)>>>0<2)if((f[o+(r*5640|0)+424+(n*148|0)+136>>2]|0)==(f[o+(r*5640|0)+424+(n*148|0)+96>>2]|0))return(Rr(s+-1|0,i,r,n,a)|0)!=0|0;else{r=1;return r|0}if((f[o+(r*5640|0)+424+(n*148|0)+140>>2]|0)!=(f[o+(r*5640|0)+424+(n*148|0)+104>>2]|0)){r=1;return r|0}if((f[o+(r*5640|0)+424+(n*148|0)+144>>2]|0)==(f[o+(r*5640|0)+424+(n*148|0)+112>>2]|0))return(Rr(s+-1|0,i,r,n,a)|0)!=0|0;else{r=1;return r|0}}return 0}function Lr(e){e=e|0;var i=0,r=0;i=Fn(1,44)|0;if(!i){e=0;return e|0}r=i+40|0;t[r>>0]=t[r>>0]&-2|(e|0)!=0;e=Fn(1,4)|0;f[i+20>>2]=e;if(e){r=i;return r|0}zn(i);r=0;return r|0}function Pr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0.0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0;j=c;c=c+1200|0;U=j;t=f[f[e+20>>2]>>2]|0;F=t+16|0;n=f[F>>2]|0;if(!n){c=j;return}I=t+20|0;D=(f[e+32>>2]|0)+8|0;N=(f[e+28>>2]|0)+88|0;O=e+24|0;B=(i|0)==0;P=(r|0)==0;x=i+-1|0;t=n;L=0;do{l=f[I>>2]|0;o=f[D>>2]|0;C=f[l+(L*52|0)+16>>2]|0;if(o){if(C){e=f[N>>2]|0;a=+((f[(f[(f[O>>2]|0)+24>>2]|0)+(L*52|0)+24>>2]|0)>>>0)*.0625;n=0;do{r=ie(C,n)|0;s=0;do{R=(r+s|0)*3|0;f[U+(n*120|0)+(s*12|0)>>2]=~~(+(f[e+(R<<2)>>2]|0)*a);f[U+(n*120|0)+(s*12|0)+4>>2]=~~(+(f[e+(R+1<<2)>>2]|0)*a);f[U+(n*120|0)+(s*12|0)+8>>2]=~~(+(f[e+(R+2<<2)>>2]|0)*a);s=s+1|0}while(s>>>0>>0);n=n+1|0}while(n>>>0>>0);R=9}}else R=9;if((R|0)==9){R=0;if(C){y=l+(L*52|0)+24|0;T=0;do{M=f[y>>2]|0;E=M+(T*136|0)+24|0;t=f[E>>2]|0;if(t){A=M+(T*136|0)+16|0;S=M+(T*136|0)+20|0;e=f[S>>2]|0;r=f[A>>2]|0;g=0;do{if(ie(e,r)|0){m=M+(T*136|0)+28+(g*36|0)+20|0;v=U+(i*120|0)+(T*12|0)+(g<<2)|0;p=U+(x*120|0)+(T*12|0)+(g<<2)|0;_=0;do{t=f[m>>2]|0;w=ie(f[t+(_*40|0)+20>>2]|0,f[t+(_*40|0)+16>>2]|0)|0;if(w){h=t+(_*40|0)+24|0;d=f[v>>2]|0;k=0;do{o=f[h>>2]|0;u=o+(k*52|0)|0;b=f[o+(k*52|0)+4>>2]|0;t=(f[(f[(f[O>>2]|0)+24>>2]|0)+(L*52|0)+24>>2]|0)-(f[o+(k*52|0)+28>>2]|0)|0;if(!B){e=f[p>>2]|0;r=d-e|0;if((e|0)<=(t|0)){r=r+(e-t)|0;r=(r|0)<0?0:r}}else{f[o+(k*52|0)+44>>2]=0;r=(d|0)>(t|0)?d-t|0:0}l=o+(k*52|0)+44|0;n=f[l>>2]|0;s=(n|0)==0;if(s)if(!r)r=0;else r=(r*3|0)+-2|0;else r=(r*3|0)+n|0;f[b+(i*24|0)>>2]=r-n;do{if((r|0)!=(n|0)){e=f[o+(k*52|0)+8>>2]|0;t=f[e+((r+-1|0)*24|0)>>2]|0;if(s)f[b+(i*24|0)+16>>2]=f[u>>2];else{o=f[e+((n+-1|0)*24|0)>>2]|0;f[b+(i*24|0)+16>>2]=(f[u>>2]|0)+o;t=t-o|0}f[b+(i*24|0)+4>>2]=t;if(P)break;f[l>>2]=r}}while(0);k=k+1|0}while(k>>>0>>0);e=f[S>>2]|0;r=f[A>>2]|0}_=_+1|0}while(_>>>0<(ie(e,r)|0)>>>0);t=f[E>>2]|0}g=g+1|0}while(g>>>0>>0)}T=T+1|0}while(T>>>0>>0);t=f[F>>2]|0}}L=L+1|0}while(L>>>0>>0);c=j;return}function xr(e,i,r,t){e=e|0;i=i|0;r=+r;t=t|0;var n=0,a=0.0,s=0,l=0,o=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0;e=f[f[e+20>>2]>>2]|0;x=e+40+(i<<3)|0;u[x>>3]=0.0;O=e+16|0;n=f[O>>2]|0;if(!n)return;L=e+20|0;P=(i|0)==0;R=(t|0)==0;e=n;C=0;do{n=f[L>>2]|0;T=f[n+(C*52|0)+16>>2]|0;if(T){g=n+(C*52|0)+24|0;S=0;do{y=f[g>>2]|0;M=y+(S*136|0)+24|0;e=f[M>>2]|0;if(e){E=y+(S*136|0)+16|0;A=y+(S*136|0)+20|0;n=f[A>>2]|0;t=f[E>>2]|0;p=0;do{if(ie(n,t)|0){v=y+(S*136|0)+28+(p*36|0)+20|0;m=0;do{e=f[v>>2]|0;_=ie(f[e+(m*40|0)+20>>2]|0,f[e+(m*40|0)+16>>2]|0)|0;if(_){d=e+(m*40|0)+24|0;w=0;do{o=f[d>>2]|0;c=o+(w*52|0)|0;b=f[o+(w*52|0)+4>>2]|0;k=o+(w*52|0)+44|0;if(P){f[k>>2]=0;h=0}else h=f[k>>2]|0;t=f[o+(w*52|0)+48>>2]|0;if(h>>>0>>0){s=f[o+(w*52|0)+8>>2]|0;e=h;l=h;do{n=f[s+(l*24|0)>>2]|0;a=+u[s+(l*24|0)+8>>3];if(e){I=e+-1|0;a=a-+u[s+(I*24|0)+8>>3];n=n-(f[s+(I*24|0)>>2]|0)|0}do{if(!n){if(!(a!=0.0))break;e=l+1|0}else{if(!(r-a/+(n>>>0)<2.220446049250313e-16))break;e=l+1|0}}while(0);l=l+1|0}while(l>>>0>>0);s=e;f[b+(i*24|0)>>2]=s-h;if((s|0)!=(h|0)){t=s+-1|0;n=f[o+(w*52|0)+8>>2]|0;e=f[n+(t*24|0)>>2]|0;if(!h){f[b+(i*24|0)+16>>2]=f[c>>2];a=+u[n+(t*24|0)+8>>3]}else{h=h+-1|0;I=f[n+(h*24|0)>>2]|0;f[b+(i*24|0)+16>>2]=(f[c>>2]|0)+I;a=+u[n+(t*24|0)+8>>3]-+u[n+(h*24|0)+8>>3];e=e-I|0}f[b+(i*24|0)+4>>2]=e;u[b+(i*24|0)+8>>3]=a;u[x>>3]=a+ +u[x>>3];if(!R)f[k>>2]=s}else B=26}else{f[b+(i*24|0)>>2]=0;B=26}if((B|0)==26){B=0;u[b+(i*24|0)+8>>3]=0.0}w=w+1|0}while(w>>>0<_>>>0);n=f[A>>2]|0;t=f[E>>2]|0}m=m+1|0}while(m>>>0<(ie(n,t)|0)>>>0);e=f[M>>2]|0}p=p+1|0}while(p>>>0>>0)}S=S+1|0}while(S>>>0>>0);e=f[O>>2]|0}C=C+1|0}while(C>>>0>>0);return}function Or(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,h=0,d=0.0,b=0.0,k=0.0,w=0.0,_=0.0,m=0.0,v=0,p=0,g=0,y=0,M=0.0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0.0,D=0,N=0,F=0,U=0,j=0,H=0,z=0,Y=0,X=0,V=0,G=0,K=0,W=0;K=c;c=c+800|0;G=K;Y=f[e+28>>2]|0;X=f[f[e+20>>2]>>2]|0;V=f[e+32>>2]|0;j=X+24|0;f[j>>2]=0;H=f[X+16>>2]|0;if(!H){l=0;I=0.0;d=0.0;k=1797693134862315708145274.0e284}else{F=f[X+20>>2]|0;U=f[(f[e+24>>2]|0)+24>>2]|0;l=0;z=0;b=0.0;d=0.0;k=1797693134862315708145274.0e284;do{B=F+(z*52|0)+48|0;f[B>>2]=0;D=f[F+(z*52|0)+16>>2]|0;if(!D)h=0;else{N=f[F+(z*52|0)+24>>2]|0;h=0;O=0;do{L=f[N+(O*136|0)+24>>2]|0;if(L){P=ie(f[N+(O*136|0)+20>>2]|0,f[N+(O*136|0)+16>>2]|0)|0;x=(P|0)==0;R=0;do{if(!x){C=f[N+(O*136|0)+28+(R*36|0)+20>>2]|0;T=0;do{A=ie(f[C+(T*40|0)+20>>2]|0,f[C+(T*40|0)+16>>2]|0)|0;if(A){S=f[C+(T*40|0)+24>>2]|0;E=0;do{g=f[S+(E*52|0)+48>>2]|0;if(g){y=f[S+(E*52|0)+8>>2]|0;p=0;do{v=f[y+(p*24|0)>>2]|0;w=+u[y+(p*24|0)+8>>3];if(p){W=p+-1|0;w=w-+u[y+(W*24|0)+8>>3];v=v-(f[y+(W*24|0)>>2]|0)|0}do{if(v){w=w/+(v|0);k=wb))break;b=w}}while(0);p=p+1|0}while(p>>>0>>0)}W=ie((f[S+(E*52|0)+24>>2]|0)-(f[S+(E*52|0)+16>>2]|0)|0,(f[S+(E*52|0)+20>>2]|0)-(f[S+(E*52|0)+12>>2]|0)|0)|0;l=W+l|0;h=W+h|0;E=E+1|0}while(E>>>0>>0);f[j>>2]=l;f[B>>2]=h}T=T+1|0}while(T>>>0

>>0)}R=R+1|0}while(R>>>0>>0)}O=O+1|0}while(O>>>0>>0)}I=+(1<>2]|0)+-1.0;d=d+ +(h|0)*(I*I);z=z+1|0}while(z>>>0>>0);I=b}B=(s|0)!=0;if(B){z=f[e+36>>2]|0;H=f[s+88>>2]|0;f[H+(z*592|0)+552>>2]=l;u[H+(z*592|0)+560>>3]=+u[X+32>>3];l=V+8|0;W=Nn(f[l>>2]<<3)|0;f[H+(z*592|0)>>2]=W;if(!W){W=0;c=K;return W|0}}else l=V+8|0;if(!(f[l>>2]|0)){W=1;c=K;return W|0}A=X+32|0;S=Y+93|0;T=e+36|0;C=s+88|0;R=X+40|0;L=e+24|0;P=e+8|0;x=e+16|0;O=0;while(1){b=+o[V+20+(O<<2)>>2];if(b!=0.0){y=~~+ee(+b)>>>0;y=y>>>0>>0?y:a}else y=a;m=+o[V+5184+(O<<2)>>2];M=+u[A>>3]-d/+q(10.0,+(m/10.0));W=t[S>>0]|0;if(!((W&1)!=0&b>0.0)?!((W&4)!=0&m>0.0):0)b=k;else{E=Ka(f[L>>2]|0,Y)|0;if(!E){l=0;h=57;break}g=O+1|0;h=G+(O+-1<<3)|0;v=X+40+(O<<3)|0;if(!O){_=I;h=0;m=k;w=0.0;do{b=(m+_)*.5;xr(e,0,b,0);do{if(t[S>>0]&4){if(((n[Y>>1]|0)+-3&65535)>=4){W=+u[R>>3]>2]|0,X,g,i,r,y,s,f[P>>2]|0,f[e>>2]|0,f[x>>2]|0,0)|0))m=b;else{W=+u[R>>3]>2]|0,X,g,i,r,y,s,f[P>>2]|0,f[e>>2]|0,f[x>>2]|0,0)|0)==0;_=W?_:b;m=W?b:m;w=W?w:b}}while(0);h=h+1|0}while((h|0)!=128)}else{_=I;p=0;m=k;w=0.0;do{b=(m+_)*.5;xr(e,O,b,0);do{if(t[S>>0]&4){if(((n[Y>>1]|0)+-3&65535)>=4){W=+u[h>>3]+ +u[v>>3]>2]|0,X,g,i,r,y,s,f[P>>2]|0,f[e>>2]|0,f[x>>2]|0,0)|0))m=b;else{W=+u[h>>3]+ +u[v>>3]>2]|0,X,g,i,r,y,s,f[P>>2]|0,f[e>>2]|0,f[x>>2]|0,0)|0)==0;_=W?_:b;m=W?b:m;w=W?w:b}}while(0);p=p+1|0}while((p|0)!=128)}Wa(E);b=w==0.0?b:w}if(B)u[(f[(f[C>>2]|0)+((f[T>>2]|0)*592|0)>>2]|0)+(O<<3)>>3]=b;xr(e,O,b,1);if(!O)b=+u[R>>3];else b=+u[G+(O+-1<<3)>>3]+ +u[X+40+(O<<3)>>3];u[G+(O<<3)>>3]=b;O=O+1|0;if(O>>>0>=(f[l>>2]|0)>>>0){l=1;h=57;break}}if((h|0)==57){c=K;return l|0}return 0}function Br(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;f[e+24>>2]=i;f[e+28>>2]=r;n=Fn(1,848)|0;t=e+20|0;f[f[t>>2]>>2]=n;if(!n){e=0;return e|0}n=i+16|0;a=Fn(f[n>>2]|0,52)|0;i=f[f[t>>2]>>2]|0;f[i+20>>2]=a;if(!a){a=0;return a|0}f[i+16>>2]=f[n>>2];f[e>>2]=f[r+84>>2];a=1;return a|0}function Ir(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0;if(!e)return;m=e+20|0;i=f[m>>2]|0;do{if(i){_=(t[e+40>>0]&1)==0?3:4;r=f[i>>2]|0;if(r){b=r+20|0;u=r+16|0;if(f[u>>2]|0){h=0;d=f[b>>2]|0;while(1){c=d+24|0;i=f[c>>2]|0;if(i){l=f[d+28>>2]|0;o=(l>>>0)/136|0;if(l>>>0>135){l=0;while(1){s=i+48|0;r=f[s>>2]|0;if(r){n=f[i+52>>2]|0;a=(n>>>0)/40|0;if(n>>>0>39){n=0;while(1){v=r+32|0;ta(f[v>>2]|0);f[v>>2]=0;v=r+36|0;ta(f[v>>2]|0);f[v>>2]=0;yo[_&7](r);n=n+1|0;if(n>>>0>=a>>>0)break;else r=r+40|0}r=f[s>>2]|0}zn(r);f[s>>2]=0}s=i+84|0;r=f[s>>2]|0;if(r){v=f[i+88>>2]|0;a=(v>>>0)/40|0;if(v>>>0>39){n=0;while(1){v=r+32|0;ta(f[v>>2]|0);f[v>>2]=0;v=r+36|0;ta(f[v>>2]|0);f[v>>2]=0;yo[_&7](r);n=n+1|0;if(n>>>0>=a>>>0)break;else r=r+40|0}r=f[s>>2]|0}zn(r);f[s>>2]=0}s=i+120|0;r=f[s>>2]|0;if(r){v=f[i+124>>2]|0;a=(v>>>0)/40|0;if(v>>>0>39){n=0;while(1){v=r+32|0;ta(f[v>>2]|0);f[v>>2]=0;v=r+36|0;ta(f[v>>2]|0);f[v>>2]=0;yo[_&7](r);n=n+1|0;if(n>>>0>=a>>>0)break;else r=r+40|0}r=f[s>>2]|0}zn(r);f[s>>2]=0}l=l+1|0;if(l>>>0>=o>>>0)break;else i=i+136|0}i=f[c>>2]|0}zn(i);f[c>>2]=0}if((f[d+36>>2]|0)!=0?(k=d+32|0,w=f[k>>2]|0,(w|0)!=0):0){jn(w);f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0}h=h+1|0;if(h>>>0>=(f[u>>2]|0)>>>0)break;else d=d+52|0}}zn(f[b>>2]|0);f[b>>2]=0;zn(f[f[m>>2]>>2]|0);i=f[m>>2]|0;f[i>>2]=0;if(!i)break}zn(i);f[m>>2]=0}}while(0);zn(e);return}function Dr(e){e=e|0;var i=0,r=0,t=0,n=0,a=0;t=e+32|0;n=f[t>>2]|0;i=e+40|0;r=f[i>>2]|0;if(n){a=e+44|0;if(r>>>0<=(f[a>>2]|0)>>>0){e=1;return e|0}if(f[e+36>>2]|0){jn(n);n=Un(f[i>>2]|0)|0;f[t>>2]=n;if(!n){f[a>>2]=0;f[i>>2]=0;f[e+36>>2]=0;e=0;return e|0}else{f[a>>2]=f[i>>2];f[e+36>>2]=1;e=1;return e|0}}}a=Un(r)|0;f[t>>2]=a;if(!a){e=0;return e|0}f[e+44>>2]=f[i>>2];f[e+36>>2]=1;e=1;return e|0}function Nr(e,i,r){e=e|0;i=i|0;r=r|0;return Gr(e,i,1,1.0,52,r)|0}function Fr(e,i,r){e=e|0;i=i|0;r=r|0;return Gr(e,i,0,.5,56,r)|0}function Ur(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0;r=f[e+24>>2]|0;n=f[r+16>>2]|0;if(!n){a=0;return a|0}a=0;i=0;t=f[r+24>>2]|0;r=f[(f[f[e+20>>2]>>2]|0)+20>>2]|0;while(1){l=f[t+24>>2]|0;l=((l&7|0)!=0&1)+(l>>>3)|0;s=f[r+24>>2]|0;e=(f[r+20>>2]|0)+-1|0;i=(ie(ie((l|0)==3?4:l,(f[s+(e*136|0)+8>>2]|0)-(f[s+(e*136|0)>>2]|0)|0)|0,(f[s+(e*136|0)+12>>2]|0)-(f[s+(e*136|0)+4>>2]|0)|0)|0)+i|0;a=a+1|0;if(a>>>0>=n>>>0)break;else{t=t+52|0;r=r+52|0}}return i|0}function jr(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0;E=c;c=c+16|0;y=E;if(!(f[e+8>>2]|0)){f[e+36>>2]=i;p=e+28|0;l=f[(f[p>>2]|0)+76>>2]|0;M=e+32|0;f[M>>2]=l+(i*5640|0);g=(s|0)==0;v=e+20|0;if(!g){o=f[(f[f[v>>2]>>2]|0)+20>>2]|0;b=f[l+(i*5640|0)+5584>>2]|0;k=o+16|0;if(!(f[k>>2]|0)){o=s+88|0;l=0}else{u=f[o+24>>2]|0;o=s+88|0;h=f[o>>2]|0;d=0;l=0;do{m=u+(d*136|0)+16|0;f[h+(i*592|0)+20+(d<<2)>>2]=f[m>>2];_=u+(d*136|0)+20|0;f[h+(i*592|0)+152+(d<<2)>>2]=f[_>>2];l=(ie(f[_>>2]|0,f[m>>2]|0)|0)+l|0;f[h+(i*592|0)+284+(d<<2)>>2]=f[b+812+(d<<2)>>2];f[h+(i*592|0)+416+(d<<2)>>2]=f[b+944+(d<<2)>>2];d=d+1|0}while(d>>>0<(f[k>>2]|0)>>>0)}m=Fn(ie(ie(f[s+52>>2]|0,l)|0,f[s+56>>2]|0)|0,32)|0;f[(f[o>>2]|0)+(i*592|0)+548>>2]=m;if(!m){e=0;c=E;return e|0}}l=f[f[v>>2]>>2]|0;m=l+16|0;if(!(f[m>>2]|0)){d=f[M>>2]|0;u=0;o=f[l+20>>2]|0}else{d=f[M>>2]|0;o=f[l+20>>2]|0;i=0;w=f[d+5584>>2]|0;_=o;while(1){b=f[_+32>>2]|0;k=ie((f[_+12>>2]|0)-(f[_+4>>2]|0)|0,(f[_+8>>2]|0)-(f[_>>2]|0)|0)|0;l=(k|0)==0;if((f[w+20>>2]|0)==1){if(!l){u=w+1076|0;h=0;l=b;while(1){f[l>>2]=(f[l>>2]|0)-(f[u>>2]|0);h=h+1|0;if((h|0)==(k|0))break;else l=l+4|0}}}else if(!l){u=w+1076|0;h=0;l=b;while(1){f[l>>2]=(f[l>>2]|0)-(f[u>>2]|0)<<11;h=h+1|0;if((h|0)==(k|0))break;else l=l+4|0}}i=i+1|0;u=f[m>>2]|0;if(i>>>0>=u>>>0)break;else{w=w+1080|0;_=_+52|0}}}b=ie((f[o+12>>2]|0)-(f[o+4>>2]|0)|0,(f[o+8>>2]|0)-(f[o>>2]|0)|0)|0;e:do{switch(f[d+16>>2]|0){case 0:break;case 2:{if(f[d+5608>>2]|0){h=Nn(u<<2)|0;if(!h){e=0;c=E;return e|0}l=f[m>>2]|0;if(!l)l=0;else{u=0;while(1){f[h+(u<<2)>>2]=f[o+32>>2];u=u+1|0;if((u|0)==(l|0))break;else o=o+52|0}}m=(_r(f[(f[M>>2]|0)+5608>>2]|0,b,h,l,f[(f[(f[e+24>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;zn(h);if(m){e=0;c=E;return e|0}}break}default:{u=f[o+32>>2]|0;h=f[o+84>>2]|0;l=f[o+136>>2]|0;if(!(f[(f[d+5584>>2]|0)+20>>2]|0)){kr(u,h,l,b);break e}else{dr(u,h,l,b);break e}}}}while(0);l=f[f[v>>2]>>2]|0;o=l+16|0;e:do{if(f[o>>2]|0){u=0;h=f[(f[M>>2]|0)+5584>>2]|0;l=f[l+20>>2]|0;i:while(1){switch(f[h+20>>2]|0){case 1:{if(!(ya(l)|0)){l=0;o=54;break i}break}case 0:{if(!(Sa(l)|0)){l=0;o=54;break i}break}default:{}}u=u+1|0;if(u>>>0>=(f[o>>2]|0)>>>0)break e;else{h=h+1080|0;l=l+52|0}}if((o|0)==54){c=E;return l|0}}}while(0);l=f[M>>2]|0;o=Ua(1)|0;if(!o){e=0;c=E;return e|0}do{if((f[l+16>>2]|0)==1)if(!(f[(f[l+5584>>2]|0)+20>>2]|0)){u=hr()|0;h=3;break}else{u=cr()|0;h=3;break}else{u=f[l+5600>>2]|0;h=f[(f[e+24>>2]|0)+16>>2]|0}}while(0);v=za(o,f[f[v>>2]>>2]|0,l,u,h)|0;ja(o);if(!v){e=0;c=E;return e|0}l=f[p>>2]|0;f[y>>2]=0;if(!g)f[s+12>>2]=0;if(!(t[l+93>>0]&5)){if(f[(f[M>>2]|0)+8>>2]|0){l=0;do{Pr(e,l,1);l=l+1|0}while(l>>>0<(f[(f[M>>2]|0)+8>>2]|0)>>>0)}}else if(!(Or(e,r,y,a,s)|0)){e=0;c=E;return e|0}}if(s)f[s+12>>2]=1;l=Ka(f[e+24>>2]|0,f[e+28>>2]|0)|0;if(!l)l=1;else{e=Va(l,f[e+36>>2]|0,f[f[e+20>>2]>>2]|0,f[(f[e+32>>2]|0)+8>>2]|0,r,n,a,s,f[e+4>>2]|0,f[e>>2]|0,f[e+16>>2]|0,1)|0;Wa(l);l=(e|0)==0}e=l&1^1;c=E;return e|0}function Hr(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0;p=c;c=c+16|0;h=p+8|0;u=p;l=p+12|0;s=e+36|0;f[s>>2]=t;v=f[e+28>>2]|0;k=e+32|0;f[k>>2]=(f[v+76>>2]|0)+(t*5640|0);f[l>>2]=0;b=e+24|0;t=Ka(f[b>>2]|0,v)|0;if(!t){v=0;c=p;return v|0}d=e+20|0;v=Ga(t,f[s>>2]|0,f[f[d>>2]>>2]|0,i,l,r,n,a)|0;Wa(t);if(!v){v=0;c=p;return v|0}t=f[f[d>>2]>>2]|0;e=f[(f[k>>2]|0)+5584>>2]|0;s=f[t+20>>2]|0;r=Ua(0)|0;if(!r){v=0;c=p;return v|0}l=t+16|0;e:do{if(f[l>>2]|0){n=0;t=s;while(1){if(!(Ha(r,t,e)|0))break;n=n+1|0;if(n>>>0>=(f[l>>2]|0)>>>0)break e;else{e=e+1080|0;t=t+52|0}}ja(r);v=0;c=p;return v|0}}while(0);ja(r);t=f[f[d>>2]>>2]|0;s=t+16|0;do{if(f[s>>2]|0){l=0;n=f[(f[b>>2]|0)+24>>2]|0;r=f[(f[k>>2]|0)+5584>>2]|0;e=f[t+20>>2]|0;while(1){t=(f[n+36>>2]|0)+1|0;if((f[r+20>>2]|0)==1){if(!(Ma(e,t)|0)){t=0;e=49;break}}else if(!(La(e,t)|0)){t=0;e=49;break}l=l+1|0;if(l>>>0>=(f[s>>2]|0)>>>0){e=14;break}else{n=n+52|0;r=r+1080|0;e=e+52|0}}if((e|0)==14){t=f[f[d>>2]>>2]|0;break}else if((e|0)==49){c=p;return t|0}}}while(0);l=f[k>>2]|0;e=f[t+20>>2]|0;s=f[l+16>>2]|0;do{if(s){i=ie((f[e+12>>2]|0)-(f[e+4>>2]|0)|0,(f[e+8>>2]|0)-(f[e>>2]|0)|0)|0;r=t+16|0;t=f[r>>2]|0;if(t>>>0<=2){f[h>>2]=t;Ht(a,1,19703,h)|0;break}if((ie((f[e+64>>2]|0)-(f[e+56>>2]|0)|0,(f[e+60>>2]|0)-(f[e+52>>2]|0)|0)|0)>=(i|0)?(ie((f[e+116>>2]|0)-(f[e+108>>2]|0)|0,(f[e+112>>2]|0)-(f[e+104>>2]|0)|0)|0)>=(i|0):0){if((s|0)!=2){t=f[e+32>>2]|0;if((f[(f[l+5584>>2]|0)+20>>2]|0)==1){br(t,f[e+84>>2]|0,f[e+136>>2]|0,i);break}else{wr(t,f[e+84>>2]|0,f[e+136>>2]|0,i);break}}n=l+5604|0;if(!(f[n>>2]|0))break;l=Nn(t<<2)|0;if(!l){v=0;c=p;return v|0}t=f[r>>2]|0;if(!t)t=0;else{s=0;while(1){f[l+(s<<2)>>2]=f[e+32>>2];s=s+1|0;if((s|0)==(t|0))break;else e=e+52|0}}v=(mr(f[n>>2]|0,i,l,t,f[(f[(f[b>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;zn(l);if(v)t=0;else break;c=p;return t|0}Ht(a,1,19642,u)|0;v=0;c=p;return v|0}}while(0);t=f[f[d>>2]>>2]|0;m=t+16|0;if(!(f[m>>2]|0)){v=1;c=p;return v|0}v=0;_=f[(f[b>>2]|0)+24>>2]|0;w=f[(f[k>>2]|0)+5584>>2]|0;k=f[t+20>>2]|0;while(1){b=f[k+24>>2]|0;a=f[_+36>>2]|0;s=f[b+(a*136|0)+8>>2]|0;l=f[b+(a*136|0)>>2]|0;d=s-l|0;n=f[b+(a*136|0)+12>>2]|0;a=f[b+(a*136|0)+4>>2]|0;b=(f[k+8>>2]|0)-(f[k>>2]|0)-d|0;t=f[_+24>>2]|0;if(!(f[_+32>>2]|0)){t=1<>2]|0;e=(n|0)==(a|0);if((f[w+20>>2]|0)==1){if(!e){r=(s|0)==(l|0);i=w+1076|0;l=n-a|0;n=0;while(1){if(!r){e=0;s=t;while(1){a=(f[i>>2]|0)+(f[s>>2]|0)|0;f[s>>2]=(a|0)<(h|0)?h:(a|0)>(u|0)?u:a;e=e+1|0;if((e|0)==(d|0))break;else s=s+4|0}t=t+(d<<2)|0}n=n+1|0;if((n|0)==(l|0))break;else t=t+(b<<2)|0}}}else if(!e){r=(s|0)==(l|0);i=w+1076|0;l=n-a|0;n=0;while(1){if(!r){e=0;s=t;while(1){a=Es(+o[s>>2])|0;a=(f[i>>2]|0)+a|0;f[s>>2]=(a|0)<(h|0)?h:(a|0)>(u|0)?u:a;e=e+1|0;if((e|0)==(d|0))break;else s=s+4|0}t=t+(d<<2)|0}n=n+1|0;if((n|0)==(l|0))break;else t=t+(b<<2)|0}}v=v+1|0;if(v>>>0>=(f[m>>2]|0)>>>0){t=1;break}else{_=_+52|0;w=w+1080|0;k=k+52|0}}c=p;return t|0}function zr(e,i,r){e=e|0;i=i|0;r=r|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0;w=e+24|0;h=f[w>>2]|0;s=f[h+16>>2]|0;c=(s|0)==0;if(c){w=1;return w|0}l=0;a=0;o=f[h+24>>2]|0;u=f[(f[f[e+20>>2]>>2]|0)+20>>2]|0;while(1){d=f[o+24>>2]|0;d=((d&7|0)!=0&1)+(d>>>3)|0;b=f[u+24>>2]|0;k=(f[u+20>>2]|0)+-1|0;a=(ie(ie((d|0)==3?4:d,(f[b+(k*136|0)+8>>2]|0)-(f[b+(k*136|0)>>2]|0)|0)|0,(f[b+(k*136|0)+12>>2]|0)-(f[b+(k*136|0)+4>>2]|0)|0)|0)+a|0;l=l+1|0;if((l|0)==(s|0))break;else{o=o+52|0;u=u+52|0}}a=a>>>0>r>>>0;if(a|c){w=a&1^1;return w|0}k=0;b=f[h+24>>2]|0;d=f[(f[f[e+20>>2]>>2]|0)+20>>2]|0;while(1){c=f[b+24>>2]|0;e=f[d+24>>2]|0;r=f[b+36>>2]|0;l=f[e+(r*136|0)+8>>2]|0;o=f[e+(r*136|0)>>2]|0;h=l-o|0;u=f[e+(r*136|0)+12>>2]|0;r=f[e+(r*136|0)+4>>2]|0;e=(f[d+8>>2]|0)-(f[d>>2]|0)-h|0;c=((c&7|0)!=0&1)+(c>>>3)|0;e:do{switch(((c|0)==3?4:c)|0){case 1:{a=f[d+32>>2]|0;s=(u|0)==(r|0);if(!(f[b+32>>2]|0)){if(s)break e;c=(l|0)==(o|0);u=u-r|0;r=0;while(1){if(!c){o=i+h|0;l=0;s=a;while(1){t[i>>0]=f[s>>2];l=l+1|0;if((l|0)==(h|0))break;else{i=i+1|0;s=s+4|0}}i=o;a=a+(h<<2)|0}r=r+1|0;if((r|0)==(u|0))break;else a=a+(e<<2)|0}}else{if(s)break e;c=(l|0)==(o|0);u=u-r|0;r=0;while(1){if(!c){o=i+h|0;l=0;s=a;while(1){t[i>>0]=f[s>>2];l=l+1|0;if((l|0)==(h|0))break;else{i=i+1|0;s=s+4|0}}i=o;a=a+(h<<2)|0}r=r+1|0;if((r|0)==(u|0))break;else a=a+(e<<2)|0}}break}case 2:{a=f[d+32>>2]|0;s=(u|0)==(r|0);if(!(f[b+32>>2]|0)){if(!s){c=(l|0)==(o|0);u=u-r|0;r=0;while(1){if(!c){o=i+(h<<1)|0;l=0;s=a;while(1){n[i>>1]=f[s>>2];l=l+1|0;if((l|0)==(h|0))break;else{i=i+2|0;s=s+4|0}}i=o;a=a+(h<<2)|0}r=r+1|0;if((r|0)==(u|0))break;else a=a+(e<<2)|0}}}else if(!s){c=(l|0)==(o|0);u=u-r|0;r=0;while(1){if(!c){o=i+(h<<1)|0;l=0;s=a;while(1){n[i>>1]=f[s>>2];l=l+1|0;if((l|0)==(h|0))break;else{i=i+2|0;s=s+4|0}}i=o;a=a+(h<<2)|0}r=r+1|0;if((r|0)==(u|0))break;else a=a+(e<<2)|0}}break}case 4:{if((u|0)!=(r|0)){c=(l|0)==(o|0);u=u-r|0;r=0;a=f[d+32>>2]|0;while(1){if(!c){o=i+(h<<2)|0;l=0;s=a;while(1){f[i>>2]=f[s>>2];l=l+1|0;if((l|0)==(h|0))break;else{i=i+4|0;s=s+4|0}}i=o;a=a+(h<<2)|0}r=r+1|0;if((r|0)==(u|0))break;else a=a+(e<<2)|0}}break}default:{}}}while(0);k=k+1|0;if(k>>>0>=(f[(f[w>>2]|0)+16>>2]|0)>>>0){i=1;break}else{b=b+52|0;d=d+52|0}}return i|0}function Yr(e){e=e|0;var i=0,r=0,t=0,n=0,a=0;r=f[e+24>>2]|0;n=f[r+16>>2]|0;if(!n){a=0;return a|0}a=0;i=0;t=f[r+24>>2]|0;r=f[(f[f[e+20>>2]>>2]|0)+20>>2]|0;while(1){e=f[t+24>>2]|0;e=((e&7|0)!=0&1)+(e>>>3)|0;i=(ie(ie((f[r+12>>2]|0)-(f[r+4>>2]|0)|0,(f[r+8>>2]|0)-(f[r>>2]|0)|0)|0,(e|0)==3?4:e)|0)+i|0;a=a+1|0;if(a>>>0>=n>>>0)break;else{t=t+52|0;r=r+52|0}}return i|0}function qr(e,i,r){e=e|0;i=i|0;r=r|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0;b=f[e+24>>2]|0;w=b+16|0;o=f[w>>2]|0;d=(o|0)==0;if(d)l=0;else{u=0;l=0;c=f[b+24>>2]|0;h=f[(f[f[e+20>>2]>>2]|0)+20>>2]|0;while(1){k=f[c+24>>2]|0;k=((k&7|0)!=0&1)+(k>>>3)|0;l=(ie(ie((f[h+12>>2]|0)-(f[h+4>>2]|0)|0,(f[h+8>>2]|0)-(f[h>>2]|0)|0)|0,(k|0)==3?4:k)|0)+l|0;u=u+1|0;if((u|0)==(o|0))break;else{c=c+52|0;h=h+52|0}}}l=(l|0)!=(r|0);if(l|d){w=l&1^1;return w|0}k=0;d=f[b+24>>2]|0;r=f[(f[f[e+20>>2]>>2]|0)+20>>2]|0;while(1){e=f[d+24>>2]|0;l=(f[r+8>>2]|0)-(f[r>>2]|0)|0;o=(f[r+12>>2]|0)-(f[r+4>>2]|0)|0;h=ie(o,l)|0;e=((e&7|0)!=0&1)+(e>>>3)|0;e:do{switch(((e|0)==3?4:e)|0){case 1:{o=f[r+32>>2]|0;l=(h|0)==0;if(!(f[d+32>>2]|0)){if(l)break e;else{u=0;l=o;o=i}while(1){f[l>>2]=a[o>>0];u=u+1|0;if((u|0)==(h|0))break;else{l=l+4|0;o=o+1|0}}i=i+h|0;break e}else{if(l)break e;else{u=0;l=o;o=i}while(1){f[l>>2]=t[o>>0];u=u+1|0;if((u|0)==(h|0))break;else{l=l+4|0;o=o+1|0}}i=i+h|0;break e}}case 2:{c=f[r+32>>2]|0;u=(h|0)==0;if(!(f[d+32>>2]|0)){if(!u){u=i+(ie(o<<1,l)|0)|0;o=0;l=c;while(1){f[l>>2]=s[i>>1];o=o+1|0;if((o|0)==(h|0))break;else{l=l+4|0;i=i+2|0}}i=u}}else if(!u){u=i+(ie(o<<1,l)|0)|0;o=0;l=c;while(1){f[l>>2]=n[i>>1];o=o+1|0;if((o|0)==(h|0))break;else{l=l+4|0;i=i+2|0}}i=u}break}case 4:{if(h){u=i+(ie(o<<2,l)|0)|0;l=0;o=f[r+32>>2]|0;while(1){f[o>>2]=f[i>>2];l=l+1|0;if((l|0)==(h|0))break;else{o=o+4|0;i=i+4|0}}i=u}break}default:{}}}while(0);k=k+1|0;if(k>>>0>=(f[w>>2]|0)>>>0){i=1;break}else{d=d+52|0;r=r+52|0}}return i|0}function Xr(e){e=e|0;var i=0,r=0,t=0,n=0,a=0;a=e+24|0;i=f[a>>2]|0;if(!i)return;n=f[e+28>>2]|0;t=(n>>>0)/52|0;if(n>>>0>51){n=0;while(1){e=f[i>>2]|0;if(e){zn(e+-1|0);f[i>>2]=0}e=i+4|0;r=f[e>>2]|0;if(r){zn(r);f[e>>2]=0}e=i+8|0;r=f[e>>2]|0;if(r){zn(r);f[e>>2]=0}n=n+1|0;if(n>>>0>=t>>>0)break;else i=i+52|0}i=f[a>>2]|0}zn(i);f[a>>2]=0;return}function Vr(e){e=e|0;var i=0,r=0,t=0,n=0,a=0;a=e+24|0;i=f[a>>2]|0;if(!i)return;n=f[e+28>>2]|0;t=(n>>>0)/56|0;if(n>>>0>55){n=0;while(1){e=f[i>>2]|0;if(e){zn(e);f[i>>2]=0}r=i+4|0;e=f[r>>2]|0;if(e){zn(e);f[r>>2]=0}n=n+1|0;if(n>>>0>=t>>>0)break;else i=i+56|0}i=f[a>>2]|0}zn(i);f[a>>2]=0;return}function Gr(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=+n;a=a|0;s=s|0;var l=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,H=0,z=0,Y=0,q=0,X=0,V=0,G=0,K=0,W=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,te=0,ne=0,fe=0,ae=0,se=0,le=0,oe=0,ue=0,ce=0,he=0,de=0,be=0,ke=0,we=0,_e=0,me=0,ve=0,pe=0,ge=0,ye=0,Me=0,Ee=0,Ae=0,Se=0,Te=0,Ce=0,Re=0,Le=0,Pe=0,xe=0,Oe=0,Be=0,Ie=0,De=0,Ne=0,Fe=0,Ue=0,je=0,He=0,ze=0,Ye=0,qe=0,Xe=0.0;qe=c;c=c+80|0;Ne=qe+64|0;De=qe+56|0;Ue=qe+48|0;He=qe+40|0;je=qe+32|0;ze=qe+24|0;Fe=qe+16|0;Ie=qe+8|0;l=f[e+28>>2]|0;Be=f[f[e+20>>2]>>2]|0;k=f[(f[l+76>>2]|0)+(i*5640|0)+5584>>2]|0;w=f[Be+20>>2]|0;d=f[e+24>>2]|0;b=f[d+24>>2]|0;Pe=f[l+24>>2]|0;h=f[l+12>>2]|0;Oe=(ie(h,(i>>>0)%(Pe>>>0)|0)|0)+(f[l+4>>2]|0)|0;u=f[d>>2]|0;u=Oe>>>0>u>>>0?Oe:u;f[Be>>2]=u;Oe=Il(h|0,0,Oe|0,0)|0;Oe=Oe|0-P;h=f[d+8>>2]|0;h=Oe>>>0>>0?Oe:h;Oe=Be+8|0;f[Oe>>2]=h;xe=f[l+16>>2]|0;Pe=(ie(xe,(i>>>0)/(Pe>>>0)|0)|0)+(f[l+8>>2]|0)|0;i=f[d+4>>2]|0;i=Pe>>>0>i>>>0?Pe:i;Le=Be+4|0;f[Le>>2]=i;Pe=Il(xe|0,0,Pe|0,0)|0;Pe=Pe|0-P;d=f[d+12>>2]|0;d=Pe>>>0>>0?Pe:d;Pe=Be+12|0;f[Pe>>2]=d;if(!(f[k+4>>2]|0)){Ht(s,1,19777,qe)|0;Ye=0;c=qe;return Ye|0}xe=Be+16|0;if(!(f[xe>>2]|0)){Ye=1;c=qe;return Ye|0}Re=l+80|0;Ce=e+40|0;Te=(r|0)==0;l=i;Se=0;e:while(1){f[b+36>>2]=0;ge=f[b>>2]|0;i=(u+-1+ge|0)/(ge|0)|0;f[w>>2]=i;ye=f[b+4>>2]|0;l=(l+-1+ye|0)/(ye|0)|0;Ae=w+4|0;f[Ae>>2]=l;ge=(h+-1+ge|0)/(ge|0)|0;Ee=w+8|0;f[Ee>>2]=ge;ye=(d+-1+ye|0)/(ye|0)|0;Me=w+12|0;f[Me>>2]=ye;i=ge-i|0;l=ye-l|0;if((4294967295/(i>>>0)|0)>>>0>>0){Ye=6;break}i=ie(l,i)|0;if(i>>>0>1073741823){Ye=8;break}h=i<<2;ge=f[k+4>>2]|0;ye=w+16|0;f[ye>>2]=ge;e=f[Re>>2]|0;f[w+20>>2]=ge>>>0>>0?1:ge-e|0;e=w+40|0;f[e>>2]=h;do{if(t[Ce>>0]&1){r=w+32|0;u=f[r>>2]|0;if(u){l=w+44|0;if(h>>>0<=(f[l>>2]|0)>>>0)break;i=w+36|0;if(f[i>>2]|0){jn(u);ge=Un(f[e>>2]|0)|0;f[r>>2]=ge;if(!ge){Ye=16;break e}f[l>>2]=f[e>>2];f[i>>2]=1;break}}ge=Un(h)|0;f[r>>2]=ge;if(!ge)break e;f[w+44>>2]=f[e>>2];f[w+36>>2]=1}}while(0);r=(f[ye>>2]|0)*136|0;l=w+24|0;e=f[l>>2]|0;if(e){i=w+28|0;if(r>>>0>(f[i>>2]|0)>>>0){e=Hn(e,r)|0;if(!e){Ye=24;break}f[l>>2]=e;ge=f[i>>2]|0;Ol(e+ge|0,0,r-ge|0)|0;f[i>>2]=r}}else{i=Nn(r)|0;f[l>>2]=i;if(!i){i=0;Ye=87;break}f[w+28>>2]=r;Ol(i|0,0,r|0)|0}i=f[ye>>2]|0;ge=(f[k+20>>2]|0)==0?7:8;if(i){_e=k+8|0;me=k+12|0;ve=b+24|0;pe=k+804|0;we=f[l>>2]|0;l=k+28|0;e=0;while(1){be=i;ke=i+-1|0;ce=f[w>>2]|0;he=Bl(1,0,ke|0)|0;he=Il(he|0,P|0,-1,-1)|0;de=P;ce=Il(he|0,de|0,ce|0,((ce|0)<0)<<31>>31|0)|0;ce=xl(ce|0,P|0,ke|0)|0;f[we>>2]=ce;r=f[Ae>>2]|0;r=Il(he|0,de|0,r|0,((r|0)<0)<<31>>31|0)|0;r=xl(r|0,P|0,ke|0)|0;f[we+4>>2]=r;i=f[Ee>>2]|0;i=Il(he|0,de|0,i|0,((i|0)<0)<<31>>31|0)|0;i=xl(i|0,P|0,ke|0)|0;f[we+8>>2]=i;u=f[Me>>2]|0;u=Il(he|0,de|0,u|0,((u|0)<0)<<31>>31|0)|0;u=xl(u|0,P|0,ke|0)|0;f[we+12>>2]=u;_=f[k+812+(e<<2)>>2]|0;d=f[k+944+(e<<2)>>2]|0;m=ce>>_<<_;v=r>>d<>31|0)|0;h=xl(h|0,P|0,d|0)|0;if((ce|0)==(i|0))i=0;else{ce=Bl(1,0,_|0)|0;ce=Il(ce|0,P|0,-1,-1)|0;i=Il(ce|0,P|0,i|0,((i|0)<0)<<31>>31|0)|0;i=xl(i|0,P|0,_|0)|0;i=(i<<_)-m>>_}ce=we+16|0;f[ce>>2]=i;le=(r|0)==(u|0)?0:(h<>d;f[we+20>>2]=le;le=ie(le,i)|0;oe=le*40|0;ue=(e|0)==0;if(ue)i=1;else{m=Il(m|0,((m|0)<0)<<31>>31|0,1,0)|0;m=Dl(m|0,P|0,1)|0;v=Il(v|0,((v|0)<0)<<31>>31|0,1,0)|0;v=Dl(v|0,P|0,1)|0;i=3;d=d+-1|0;_=_+-1|0}se=we+24|0;f[se>>2]=i;q=f[_e>>2]|0;q=q>>>0<_>>>0?q:_;X=f[me>>2]|0;X=X>>>0>>0?X:d;V=(le|0)!=0;G=(le|0)==0;K=1<<_;W=1<>2]|0;i=Il(he|0,de|0,i|0,((i|0)<0)<<31>>31|0)|0;i=xl(i|0,P|0,ke|0)|0;l=f[Ae>>2]|0;l=Il(he|0,de|0,l|0,((l|0)<0)<<31>>31|0)|0;l=xl(l|0,P|0,ke|0)|0;r=f[Ee>>2]|0;r=Il(he|0,de|0,r|0,((r|0)<0)<<31>>31|0)|0;r=xl(r|0,P|0,ke|0)|0;h=f[Me>>2]|0;h=Il(he|0,de|0,h|0,((h|0)<0)<<31>>31|0)|0;h=xl(h|0,P|0,ke|0)|0;u=0}else{u=fe+1|0;i=f[w>>2]|0;j=Bl(u&1|0,0,ke|0)|0;j=Pl(te|0,ne|0,j|0,P|0)|0;h=P;i=Il(j|0,h|0,i|0,((i|0)<0)<<31>>31|0)|0;i=xl(i|0,P|0,be|0)|0;l=f[Ae>>2]|0;H=Bl(u>>>1|0,0,ke|0)|0;H=Pl(te|0,ne|0,H|0,P|0)|0;z=P;l=Il(H|0,z|0,l|0,((l|0)<0)<<31>>31|0)|0;l=xl(l|0,P|0,be|0)|0;r=f[Ee>>2]|0;r=Il(j|0,h|0,r|0,((r|0)<0)<<31>>31|0)|0;r=xl(r|0,P|0,be|0)|0;h=f[Me>>2]|0;h=Il(H|0,z|0,h|0,((h|0)<0)<<31>>31|0)|0;h=xl(h|0,P|0,be|0)|0}f[ae+16>>2]=u;f[ae>>2]=i;z=ae+4|0;f[z>>2]=l;H=ae+8|0;f[H>>2]=r;j=ae+12|0;f[j>>2]=h;l=Ao[ge&15](u)|0;Xe=+(f[Y+4>>2]|0)*.00048828125+1.0;o[ae+32>>2]=+Ms(1.0,(f[ve>>2]|0)+l-(f[Y>>2]|0)|0)*Xe*n;f[ae+28>>2]=(f[Y>>2]|0)+-1+(f[pe>>2]|0);l=ae+20|0;r=f[l>>2]|0;if(!(V&(r|0)==0)){i=ae+24|0;if((f[i>>2]|0)>>>0>>0){r=Hn(r,oe)|0;if(!r){Ye=41;break e}f[l>>2]=r;U=f[i>>2]|0;Ol(r+U|0,0,oe-U|0)|0;f[i>>2]=oe}}else{i=Nn(oe)|0;f[l>>2]=i;if(!i){i=0;Ye=87;break e}Ol(i|0,0,oe|0)|0;f[ae+24>>2]=oe}if(!G){F=f[l>>2]|0;U=0;while(1){L=f[ce>>2]|0;I=(((U>>>0)%(L>>>0)|0)<<_)+m|0;L=(((U>>>0)/(L>>>0)|0)<>2]|0;B=(I|0)>(B|0)?I:B;f[F>>2]=B;I=f[z>>2]|0;I=(L|0)>(I|0)?L:I;L=F+4|0;f[L>>2]=I;N=f[H>>2]|0;N=(x|0)<(N|0)?x:N;x=F+8|0;f[x>>2]=N;u=f[j>>2]|0;u=(O|0)<(u|0)?O:u;O=F+12|0;f[O>>2]=u;B=B>>q<>X<>31|0)|0;N=xl(N|0,P|0,q|0)|0;u=Il(Q|0,$|0,u|0,((u|0)<0)<<31>>31|0)|0;u=xl(u|0,P|0,X|0)|0;N=(N<>q;D=F+16|0;f[D>>2]=N;u=(u<>X;p=F+20|0;f[p>>2]=u;N=ie(u,N)|0;u=ie(N,a)|0;l=F+24|0;r=f[l>>2]|0;do{if((r|0)==0&(N|0)!=0){i=Nn(u)|0;f[l>>2]=i;if(!i){i=0;Ye=87;break e}Ol(i|0,0,u|0)|0;f[F+28>>2]=u}else{i=F+28|0;if(u>>>0<=(f[i>>2]|0)>>>0)break;r=Hn(r,u)|0;if(!r){Ye=50;break e}f[l>>2]=r;R=f[i>>2]|0;Ol(r+R|0,0,u-R|0)|0;f[i>>2]=u}}while(0);h=F+32|0;i=f[h>>2]|0;r=f[D>>2]|0;u=f[p>>2]|0;if(!i)i=Kr(r,u,s)|0;else i=ra(i,r,u,s)|0;f[h>>2]=i;if(!i)Ht(s,2,19990,De)|0;h=F+36|0;r=f[h>>2]|0;u=f[D>>2]|0;i=f[p>>2]|0;if(!r)i=Kr(u,i,s)|0;else i=ra(r,u,i,s)|0;f[h>>2]=i;if(!i)Ht(s,2,20012,Ne)|0;if(N){R=0;do{S=f[D>>2]|0;A=(((R>>>0)%(S>>>0)|0)<>>0)/(S>>>0)|0)<>2]|0;r=i+(R*56|0)|0;u=f[r>>2]|0;if(!u){E=Nn(8192)|0;f[r>>2]=E;if(!E){i=0;Ye=87;break e}f[i+(R*56|0)+32>>2]=8192;E=Fn(10,32)|0;f[i+(R*56|0)+4>>2]=E;if(!E){i=0;Ye=87;break e}f[i+(R*56|0)+52>>2]=10}else{h=i+(R*56|0)+32|0;p=f[h>>2]|0;g=i+(R*56|0)+4|0;y=f[g>>2]|0;M=r;E=M+52|0;do{f[M>>2]=0;M=M+4|0}while((M|0)<(E|0));f[r>>2]=u;f[h>>2]=p;f[g>>2]=y}E=f[F>>2]|0;f[i+(R*56|0)+8>>2]=(A|0)>(E|0)?A:E;A=f[L>>2]|0;f[i+(R*56|0)+12>>2]=(S|0)>(A|0)?S:A;S=f[x>>2]|0;f[i+(R*56|0)+16>>2]=(T|0)<(S|0)?T:S;T=f[O>>2]|0;f[i+(R*56|0)+20>>2]=(C|0)<(T|0)?C:T}else{r=f[l>>2]|0;i=r+(R*52|0)+4|0;if((f[i>>2]|0)==0?(E=Fn(100,24)|0,f[i>>2]=E,(E|0)==0):0){i=0;Ye=87;break e}i=r+(R*52|0)+8|0;if((f[i>>2]|0)==0?(E=Fn(100,24)|0,f[i>>2]=E,(E|0)==0):0){i=0;Ye=87;break e}h=f[F>>2]|0;h=(A|0)>(h|0)?A:h;f[r+(R*52|0)+12>>2]=h;i=f[L>>2]|0;S=(S|0)>(i|0)?S:i;f[r+(R*52|0)+16>>2]=S;i=f[x>>2]|0;i=(T|0)<(i|0)?T:i;f[r+(R*52|0)+20>>2]=i;T=f[O>>2]|0;C=(C|0)<(T|0)?C:T;f[r+(R*52|0)+24>>2]=C;h=ie(C-S|0,i-h<<2)|0;i=r+(R*52|0)+36|0;if(h>>>0<=(f[i>>2]|0)>>>0)break;u=r+(R*52|0)|0;r=f[u>>2]|0;if(r)zn(r+-1|0);r=Nn(h|1)|0;f[u>>2]=r;if(!r){Ye=74;break e}f[i>>2]=h;t[r>>0]=0;f[u>>2]=(f[u>>2]|0)+1}}while(0);R=R+1|0}while(R>>>0>>0)}U=U+1|0;if(U>>>0>=le>>>0)break;else F=F+40|0}}l=Y+8|0;fe=fe+1|0;if(fe>>>0>=(f[se>>2]|0)>>>0)break;else{ae=ae+36|0;Y=l}}e=e+1|0;if(e>>>0<(f[ye>>2]|0)>>>0){i=ke;we=we+136|0}else break}}i=Se+1|0;if(i>>>0>=(f[xe>>2]|0)>>>0){i=1;Ye=87;break}u=f[Be>>2]|0;l=f[Le>>2]|0;h=f[Oe>>2]|0;d=f[Pe>>2]|0;Se=i;b=b+52|0;k=k+1080|0;w=w+52|0}if((Ye|0)==6){Ht(s,1,19816,Ie)|0;Ye=0;c=qe;return Ye|0}else if((Ye|0)==8){Ht(s,1,19816,Fe)|0;Ye=0;c=qe;return Ye|0}else if((Ye|0)==16){f[l>>2]=0;f[e>>2]=0;f[i>>2]=0}else if((Ye|0)==24){Ht(s,1,19849,je)|0;zn(f[l>>2]|0);f[l>>2]=0;f[i>>2]=0;Ye=0;c=qe;return Ye|0}else if((Ye|0)==41){Ht(s,1,19889,He)|0;zn(f[l>>2]|0);f[l>>2]=0;f[i>>2]=0;Ye=0;c=qe;return Ye|0}else if((Ye|0)==50){zn(f[l>>2]|0);f[l>>2]=0;f[i>>2]=0;Ht(s,1,19932,Ue)|0;Ye=0;c=qe;return Ye|0}else if((Ye|0)==74){f[i>>2]=0;Ye=0;c=qe;return Ye|0}else if((Ye|0)==87){c=qe;return i|0}Ht(s,1,19816,ze)|0;Ye=0;c=qe;return Ye|0}function Kr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0;g=c;c=c+288|0;u=g+16|0;l=g+8|0;v=g+152|0;p=g+24|0;t=Fn(1,20)|0;if(!t){Ht(r,1,20034,g)|0;p=0;c=g;return p|0}f[t>>2]=e;h=t+4|0;f[h>>2]=i;f[v>>2]=e;f[p>>2]=i;o=t+8|0;f[o>>2]=0;n=0;s=0;while(1){m=ie(i,e)|0;e=(e+1|0)/2|0;a=s+1|0;f[v+(a<<2)>>2]=e;i=(i+1|0)/2|0;f[p+(a<<2)>>2]=i;n=n+m|0;if(m>>>0<=1)break;else s=a}f[o>>2]=n;if(!n){zn(t);Ht(r,2,20072,l)|0;p=0;c=g;return p|0}n=Fn(n,16)|0;f[t+12>>2]=n;if(!n){Ht(r,1,20122,u)|0;zn(t);p=0;c=g;return p|0}m=f[o>>2]|0;f[t+16>>2]=m<<4;i=n+((ie(f[h>>2]|0,f[t>>2]|0)|0)<<4)|0;if(!s)i=n;else{_=0;a=i;e=i;i=n;do{k=f[p+(_<<2)>>2]|0;e:do{if((k|0)>0){w=f[v+(_<<2)>>2]|0;if((w|0)<=0){o=k+-1|0;r=0;while(1){b=(r&1|0)!=0|(r|0)==(o|0);l=b?a:e;e=b?a:e+(w<<4)|0;r=r+1|0;if((r|0)>=(k|0)){a=l;break e}else a=l}}b=((w+2+((w|0)<2?~w:-3)|0)>>>1)+1|0;h=k+-1|0;d=0;do{r=w;u=a;while(1){f[i>>2]=u;l=i+16|0;o=r;r=r+-2|0;if((r|0)>-1){f[l>>2]=u;i=i+32|0}else i=l;if((o|0)<=2)break;else u=u+16|0}u=a+(b<<4)|0;r=(d&1|0)!=0|(d|0)==(h|0);a=r?u:e;e=r?u:e+(w<<4)|0;d=d+1|0}while((d|0)<(k|0))}}while(0);_=_+1|0}while((_|0)!=(s|0))}f[i>>2]=0;if(!m){p=t;c=g;return p|0}else i=0;while(1){f[n+4>>2]=999;f[n+8>>2]=0;f[n+12>>2]=0;i=i+1|0;if((i|0)==(m|0))break;else n=n+16|0}c=g;return t|0}function Wr(e){e=e|0;var i=0,r=0;if(!e)return;i=f[e+8>>2]|0;if(!i)return;r=0;e=f[e+12>>2]|0;while(1){f[e+4>>2]=999;f[e+8>>2]=0;f[e+12>>2]=0;r=r+1|0;if(r>>>0>=i>>>0)break;else e=e+16|0}return}function Zr(e){e=e|0;var i=0;i=c;c=c+e|0;c=c+15&-16;return i|0}function Jr(){return c|0}function Qr(e){e=e|0;c=e}function $r(e,i){e=e|0;i=i|0;c=e;h=i}function et(e,i){e=e|0;i=i|0;if(!w){w=e;_=i}}function it(e){e=e|0;t[d>>0]=t[e>>0];t[d+1>>0]=t[e+1>>0];t[d+2>>0]=t[e+2>>0];t[d+3>>0]=t[e+3>>0]}function rt(e){e=e|0;t[d>>0]=t[e>>0];t[d+1>>0]=t[e+1>>0];t[d+2>>0]=t[e+2>>0];t[d+3>>0]=t[e+3>>0];t[d+4>>0]=t[e+4>>0];t[d+5>>0]=t[e+5>>0];t[d+6>>0]=t[e+6>>0];t[d+7>>0]=t[e+7>>0]}function tt(e){e=e|0;P=e}function nt(){return P|0}function ft(e,i,r,t,n,a,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+8272|0;o=b+16|0;h=b+12|0;l=b;f[h>>2]=0;if((f[e>>2]|0)==1375686655)d=rn(0)|0;else d=rn(2)|0;Zt(d,1,0)|0;Jt(d,2,0)|0;Qt(d,3,0)|0;tn(o);f[l>>2]=e;f[l+4>>2]=e;f[l+8>>2]=i;u=$t(l,1)|0;if(!(nn(d,o)|0)){tl(4476)|0;St(u);gn(d);a=1;c=b;return a|0}if(!(fn(u,d,h)|0)){tl(4528)|0;St(u);gn(d);Vt(f[h>>2]|0);a=1;c=b;return a|0}if(!(un(d,u,f[h>>2]|0,f[o+8228>>2]|0)|0)){tl(4578)|0;gn(d);St(u);Vt(f[h>>2]|0);a=1;c=b;return a|0}l=f[h>>2]|0;f[n>>2]=f[l+8>>2];f[a>>2]=f[l+12>>2];e=f[l+16>>2]|0;f[s>>2]=e;e=ie(ie(e<<2,f[n>>2]|0)|0,f[a>>2]|0)|0;f[t>>2]=e;t=yl(e)|0;f[r>>2]=t;switch(f[s>>2]|0){case 1:{Nl(t|0,f[(f[l+24>>2]|0)+44>>2]|0,e|0)|0;break}case 3:{if((ie(f[a>>2]|0,f[n>>2]|0)|0)>0){i=f[l+24>>2]|0;l=f[i+44>>2]|0;e=f[i+96>>2]|0;i=f[i+148>>2]|0;o=0;do{s=o*3|0;f[t+(s<<2)>>2]=f[l+(o<<2)>>2];f[t+(s+1<<2)>>2]=f[e+(o<<2)>>2];f[t+(s+2<<2)>>2]=f[i+(o<<2)>>2];o=o+1|0}while((o|0)<(ie(f[a>>2]|0,f[n>>2]|0)|0))}break}default:{}}St(u);gn(d);Vt(f[h>>2]|0);a=0;c=b;return a|0}function at(){return en()|0}function st(e,i){e=e|0;i=i|0;return}function lt(e,i){e=e|0;i=i|0;return}function ot(e,i){e=e|0;i=i|0;var r=0;i=c;c=c+16|0;r=i;f[r>>2]=e;rl(4625,r)|0;c=i;return}function ut(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;s=c;c=c+16|0;a=s;f[a>>2]=i;if(!r){c=s;return}i=e;n=0;e=a+(r+-1)|0;while(1){t[i>>0]=t[e>>0]|0;n=n+1|0;if((n|0)==(r|0))break;else{i=i+1|0;e=e+-1|0}}c=s;return}function ct(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;f[i>>2]=0;if(!r)return;n=0;i=i+(r+-1)|0;while(1){t[i>>0]=t[e>>0]|0;n=n+1|0;if((n|0)==(r|0))break;else{e=e+1|0;i=i+-1|0}}return}function ht(e,i){e=e|0;i=+i;var r=0,n=0,a=0,s=0,l=0;r=c;c=c+16|0;s=r;u[s>>3]=i;s=s+8|0;u[d>>3]=i;n=f[d>>2]|0;a=f[d+4>>2]|0;l=Dl(n|0,a|0,56)|0;t[e>>0]=l;l=Dl(n|0,a|0,48)|0;t[e+1>>0]=l;l=Dl(n|0,a|0,40)|0;t[e+2>>0]=l;t[e+3>>0]=a;t[e+4>>0]=t[s+-5>>0]|0;t[e+5>>0]=t[s+-6>>0]|0;a=Dl(n|0,a|0,8)|0;t[e+6>>0]=a;t[e+7>>0]=n;c=r;return}function dt(e,i){e=e|0;i=i|0;var r=0;r=i+8|0;t[r+-1>>0]=t[e>>0]|0;t[r+-2>>0]=t[e+1>>0]|0;t[r+-3>>0]=t[e+2>>0]|0;t[r+-4>>0]=t[e+3>>0]|0;t[r+-5>>0]=t[e+4>>0]|0;t[r+-6>>0]=t[e+5>>0]|0;t[r+-7>>0]=t[e+6>>0]|0;t[i>>0]=t[e+7>>0]|0;return}function bt(e,i){e=e|0;i=+i;var r=0;r=(o[d>>2]=i,f[d>>2]|0);t[e>>0]=r>>>24;t[e+1>>0]=r>>>16;t[e+2>>0]=r>>>8;t[e+3>>0]=r;return}function kt(e,i){e=e|0;i=i|0;var r=0;r=i+4|0;t[r+-1>>0]=t[e>>0]|0;t[r+-2>>0]=t[e+1>>0]|0;t[r+-3>>0]=t[e+2>>0]|0;t[i>>0]=t[e+3>>0]|0;return}function wt(e,i){e=e|0;i=i|0;var r=0,t=0;t=Fn(1,72)|0;if(!t){i=0;return i|0}f[t+64>>2]=e;e=Nn(e)|0;f[t+32>>2]=e;if(!e){zn(t);i=0;return i|0}f[t+36>>2]=e;e=t+68|0;r=f[e>>2]|0;if(!i){f[e>>2]=r|1;f[t+40>>2]=31;f[t+44>>2]=32}else{f[e>>2]=r|2;f[t+40>>2]=29;f[t+44>>2]=30}f[t+16>>2]=4;f[t+20>>2]=5;f[t+24>>2]=6;f[t+28>>2]=7;i=t;return i|0}function _t(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0;d=c;c=c+16|0;h=d;n=e+48|0;a=f[n>>2]|0;if(a>>>0>=i>>>0){h=e+36|0;f[h>>2]=(f[h>>2]|0)+i;f[n>>2]=a-i;h=e+56|0;e=h;e=Il(f[e>>2]|0,f[e+4>>2]|0,i|0,r|0)|0;f[h>>2]=e;f[h+4>>2]=P;h=r;e=i;P=h;c=d;return e|0}u=e+68|0;if(f[u>>2]&4){h=e+36|0;f[h>>2]=(f[h>>2]|0)+a;f[n>>2]=0;e=e+56|0;h=e;h=Il(f[h>>2]|0,f[h+4>>2]|0,a|0,0)|0;f[e>>2]=h;f[e+4>>2]=P;e=(a|0)!=0;h=e?0:-1;e=e?a:-1;P=h;c=d;return e|0}if(!a){a=0;n=0}else{f[e+36>>2]=f[e+32>>2];i=Pl(i|0,r|0,a|0,0)|0;f[n>>2]=0;n=0;r=P}e:do{if((r|0)>0|(r|0)==0&i>>>0>0){o=e+24|0;while(1){s=po[f[o>>2]&63](i,r,f[e>>2]|0)|0;l=P;if((s|0)==-1&(l|0)==-1)break;i=Pl(i|0,r|0,s|0,l|0)|0;r=P;a=Il(s|0,l|0,a|0,n|0)|0;n=P;if(!((r|0)>0|(r|0)==0&i>>>0>0))break e}Ht(t,4,4636,h)|0;f[u>>2]=f[u>>2]|4;e=e+56|0;h=e;h=Il(f[h>>2]|0,f[h+4>>2]|0,a|0,n|0)|0;f[e>>2]=h;f[e+4>>2]=P;e=(a|0)!=0|(n|0)!=0;h=e?n:-1;e=e?a:-1;P=h;c=d;return e|0}}while(0);h=e+56|0;e=h;e=Il(f[e>>2]|0,f[e+4>>2]|0,a|0,n|0)|0;f[h>>2]=e;f[h+4>>2]=P;h=n;e=a;P=h;c=d;return e|0}function mt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;f[e+36>>2]=f[e+32>>2];f[e+48>>2]=0;a=(po[f[e+28>>2]&63](i,r,f[e>>2]|0)|0)==0;t=e+68|0;n=f[t>>2]|0;if(a){f[t>>2]=n|4;a=0;return a|0}else{f[t>>2]=n&-5;a=e+56|0;f[a>>2]=i;f[a+4>>2]=r;a=1;return a|0}return 0}function vt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0;_=c;c=c+16|0;w=_+8|0;h=_;k=e+68|0;if(f[k>>2]&8){w=-1;e=-1;P=w;c=_;return e|0}o=e+32|0;n=f[o>>2]|0;b=e+36|0;f[b>>2]=n;u=e+48|0;a=f[u>>2]|0;do{if(a){l=e+20|0;while(1){s=po[f[l>>2]&63](n,a,f[e>>2]|0)|0;if((s|0)==-1)break;n=(f[b>>2]|0)+s|0;f[b>>2]=n;m=f[u>>2]|0;a=m-s|0;f[u>>2]=a;if((m|0)==(s|0)){d=6;break}}if((d|0)==6){n=f[o>>2]|0;break}f[k>>2]=f[k>>2]|8;Ht(t,4,4662,h)|0;f[k>>2]=f[k>>2]|8;f[u>>2]=0;e=-1;m=-1;P=e;c=_;return m|0}}while(0);f[b>>2]=n;e:do{if((r|0)>0|(r|0)==0&i>>>0>0){o=e+24|0;a=0;n=0;while(1){s=po[f[o>>2]&63](i,r,f[e>>2]|0)|0;l=P;if((s|0)==-1&(l|0)==-1)break;i=Pl(i|0,r|0,s|0,l|0)|0;r=P;a=Il(s|0,l|0,a|0,n|0)|0;n=P;if(!((r|0)>0|(r|0)==0&i>>>0>0))break e}Ht(t,4,4688,w)|0;f[k>>2]=f[k>>2]|8;m=e+56|0;e=m;e=Il(f[e>>2]|0,f[e+4>>2]|0,a|0,n|0)|0;f[m>>2]=e;f[m+4>>2]=P;m=(a|0)!=0|(n|0)!=0;e=m?n:-1;m=m?a:-1;P=e;c=_;return m|0}else{a=0;n=0}}while(0);e=e+56|0;m=e;m=Il(f[m>>2]|0,f[m+4>>2]|0,a|0,n|0)|0;f[e>>2]=m;f[e+4>>2]=P;e=n;m=a;P=e;c=_;return m|0}function pt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0;k=c;c=c+16|0;o=k;h=e+32|0;n=f[h>>2]|0;d=e+36|0;f[d>>2]=n;b=e+48|0;a=f[b>>2]|0;do{if(!a)a=e;else{l=e+20|0;while(1){s=po[f[l>>2]&63](n,a,f[e>>2]|0)|0;if((s|0)==-1)break;n=(f[d>>2]|0)+s|0;f[d>>2]=n;w=f[b>>2]|0;a=w-s|0;f[b>>2]=a;if((w|0)==(s|0)){u=6;break}}if((u|0)==6){a=e;n=f[h>>2]|0;break}w=e+68|0;f[w>>2]=f[w>>2]|8;Ht(t,4,4662,o)|0;f[w>>2]=f[w>>2]|8;w=0;c=k;return w|0}}while(0);f[d>>2]=n;f[b>>2]=0;if(!(po[f[e+28>>2]&63](i,r,f[a>>2]|0)|0)){w=e+68|0;f[w>>2]=f[w>>2]|8;w=0;c=k;return w|0}else{w=e+56|0;f[w>>2]=i;f[w+4>>2]=r;w=1;c=k;return w|0}return 0}function gt(e,i,r){e=e|0;i=i|0;r=r|0;return-1}function yt(e,i,r){e=e|0;i=i|0;r=r|0;return-1}function Mt(e,i,r){e=e|0;i=i|0;r=r|0;P=-1;return-1}function Et(e,i,r){e=e|0;i=i|0;r=r|0;return 0}function At(e){e=e|0;var i=0,r=0,t=0;t=Fn(1,72)|0;if(!t){e=0;return e|0}f[t+64>>2]=1048576;i=Nn(1048576)|0;f[t+32>>2]=i;if(!i){zn(t);e=0;return e|0}f[t+36>>2]=i;i=t+68|0;r=f[i>>2]|0;if(!e){f[i>>2]=r|1;f[t+40>>2]=31;f[t+44>>2]=32}else{f[i>>2]=r|2;f[t+40>>2]=29;f[t+44>>2]=30}f[t+16>>2]=4;f[t+20>>2]=5;f[t+24>>2]=6;f[t+28>>2]=7;e=t;return e|0}function St(e){e=e|0;var i=0;if(!e)return;i=f[e+4>>2]|0;if(i)yo[i&7](f[e>>2]|0);i=e+32|0;zn(f[i>>2]|0);f[i>>2]=0;zn(e);return}function Tt(e,i){e=e|0;i=i|0;if(!e)return;if(!(f[e+68>>2]&2))return;f[e+16>>2]=i;return}function Ct(e,i){e=e|0;i=i|0;if(!e)return;f[e+28>>2]=i;return}function Rt(e,i){e=e|0;i=i|0;if(!e)return;if(!(f[e+68>>2]&1))return;f[e+20>>2]=i;return}function Lt(e,i){e=e|0;i=i|0;if(!e)return;f[e+24>>2]=i;return}function Pt(e,i,r){e=e|0;i=i|0;r=r|0;if(!e)return;f[e>>2]=i;f[e+4>>2]=r;return}function xt(e,i,r){e=e|0;i=i|0;r=r|0;if(!e)return;e=e+8|0;f[e>>2]=i;f[e+4>>2]=r;return}function Ot(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0;y=c;c=c+16|0;m=y+8|0;_=y;g=e+48|0;n=f[g>>2]|0;if(n>>>0>=r>>>0){p=e+36|0;Nl(i|0,f[p>>2]|0,r|0)|0;f[p>>2]=(f[p>>2]|0)+r;f[g>>2]=(f[g>>2]|0)-r;g=e+56|0;p=g;p=Il(f[p>>2]|0,f[p+4>>2]|0,r|0,0)|0;f[g>>2]=p;f[g+4>>2]=P;g=r;c=y;return g|0}v=e+68|0;if(f[v>>2]&4){p=e+36|0;Nl(i|0,f[p>>2]|0,n|0)|0;t=f[g>>2]|0;f[p>>2]=(f[p>>2]|0)+t;p=e+56|0;v=p;t=Il(f[v>>2]|0,f[v+4>>2]|0,t|0,0)|0;f[p>>2]=t;f[p+4>>2]=P;f[g>>2]=0;g=(n|0)!=0?n:-1;c=y;return g|0}if(!n){b=e+32|0;a=f[b>>2]|0;k=e+36|0;f[k>>2]=a;w=k;p=e+56|0;n=0}else{k=e+36|0;Nl(i|0,f[k>>2]|0,n|0)|0;b=e+32|0;a=f[b>>2]|0;f[k>>2]=a;w=f[g>>2]|0;p=e+56|0;h=p;h=Il(f[h>>2]|0,f[h+4>>2]|0,w|0,0)|0;d=p;f[d>>2]=h;f[d+4>>2]=P;f[g>>2]=0;r=r-w|0;i=i+w|0;w=k}h=e+64|0;d=e+16|0;u=i;s=a;while(1){i=f[h>>2]|0;a=f[d>>2]|0;if(r>>>0>>0){a=po[a&63](s,i,f[e>>2]|0)|0;f[g>>2]=a;if((a|0)==-1){a=11;break}if(a>>>0>=r>>>0){i=u;a=14;break}Nl(u|0,f[w>>2]|0,a|0)|0;s=f[b>>2]|0;f[k>>2]=s;i=f[g>>2]|0;l=p;l=Il(f[l>>2]|0,f[l+4>>2]|0,i|0,0)|0;o=P;n=a+n|0}else{i=po[a&63](u,r,f[e>>2]|0)|0;f[g>>2]=i;if((i|0)==-1){a=16;break}n=i+n|0;if(i>>>0>=r>>>0){a=20;break}s=f[b>>2]|0;f[k>>2]=s;l=p;l=Il(f[l>>2]|0,f[l+4>>2]|0,i|0,0)|0;o=P}a=p;f[a>>2]=l;f[a+4>>2]=o;f[g>>2]=0;r=r-i|0;u=u+i|0}if((a|0)==11){Ht(t,4,4636,_)|0;f[g>>2]=0;f[v>>2]=f[v>>2]|4;g=(n|0)!=0?n:-1;c=y;return g|0}else if((a|0)==14){Nl(i|0,f[w>>2]|0,r|0)|0;f[w>>2]=(f[w>>2]|0)+r;f[g>>2]=(f[g>>2]|0)-r;t=p;t=Il(f[t>>2]|0,f[t+4>>2]|0,r|0,0)|0;g=p;f[g>>2]=t;f[g+4>>2]=P;g=n+r|0;c=y;return g|0}else if((a|0)==16){Ht(t,4,4636,m)|0;f[g>>2]=0;f[v>>2]=f[v>>2]|4;g=(n|0)!=0?n:-1;c=y;return g|0}else if((a|0)==20){t=p;t=Il(f[t>>2]|0,f[t+4>>2]|0,i|0,0)|0;f[p>>2]=t;f[p+4>>2]=P;f[k>>2]=f[b>>2];f[g>>2]=0;g=n;c=y;return g|0}return 0}function Bt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0;p=c;c=c+16|0;_=p;d=e+68|0;if(f[d>>2]&8){v=-1;c=p;return v|0}w=e+64|0;n=f[w>>2]|0;v=e+48|0;o=f[v>>2]|0;a=n-o|0;do{if(a>>>0>>0){b=e+32|0;s=e+36|0;k=e+20|0;l=e+56|0;u=n;h=a;n=0;e:while(1){if((u|0)==(o|0))a=f[b>>2]|0;else{Nl(f[s>>2]|0,i|0,h|0)|0;a=f[b>>2]|0;f[s>>2]=a;o=(f[v>>2]|0)+h|0;f[v>>2]=o;g=l;g=Il(f[g>>2]|0,f[g+4>>2]|0,h|0,0)|0;u=l;f[u>>2]=g;f[u+4>>2]=P;r=r-h|0;i=i+h|0;n=h+n|0}f[s>>2]=a;if(!o)o=0;else{do{u=po[f[k>>2]&63](a,o,f[e>>2]|0)|0;if((u|0)==-1)break e;a=(f[s>>2]|0)+u|0;f[s>>2]=a;g=f[v>>2]|0;o=g-u|0;f[v>>2]=o}while((g|0)!=(u|0));a=f[b>>2]|0}f[s>>2]=a;u=f[w>>2]|0;h=u-o|0;if(r>>>0<=h>>>0){m=5;break}}if((m|0)==5)break;f[d>>2]=f[d>>2]|8;Ht(t,4,4662,_)|0;g=-1;c=p;return g|0}else{a=e+36|0;l=e+56|0;s=a;a=f[a>>2]|0;n=0}}while(0);Nl(a|0,i|0,r|0)|0;f[s>>2]=(f[s>>2]|0)+r;f[v>>2]=(f[v>>2]|0)+r;v=l;v=Il(f[v>>2]|0,f[v+4>>2]|0,r|0,0)|0;g=l;f[g>>2]=v;f[g+4>>2]=P;g=n+r|0;c=p;return g|0}function It(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0;d=c;c=c+16|0;o=d;a=e+32|0;r=f[a>>2]|0;h=e+36|0;f[h>>2]=r;s=e+48|0;t=f[s>>2]|0;do{if(t){l=e+20|0;while(1){n=po[f[l>>2]&63](r,t,f[e>>2]|0)|0;if((n|0)==-1)break;r=(f[h>>2]|0)+n|0;f[h>>2]=r;b=f[s>>2]|0;t=b-n|0;f[s>>2]=t;if((b|0)==(n|0)){u=6;break}}if((u|0)==6){r=f[a>>2]|0;break}b=e+68|0;f[b>>2]=f[b>>2]|8;Ht(i,4,4662,o)|0;b=0;c=d;return b|0}}while(0);f[h>>2]=r;b=1;c=d;return b|0}function Dt(e){e=e|0;e=e+56|0;P=f[e+4>>2]|0;return f[e>>2]|0}function Nt(e){e=e|0;var i=0,r=0;r=e+8|0;i=f[r>>2]|0;r=f[r+4>>2]|0;if((i|0)==0&(r|0)==0){r=0;e=0;P=r;return e|0}e=e+56|0;e=Pl(i|0,r|0,f[e>>2]|0,f[e+4>>2]|0)|0;r=P;P=r;return e|0}function Ft(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=Co[f[e+40>>2]&63](e,i,r,t)|0;return e|0}function Ut(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return Co[f[e+44>>2]&63](e,i,r,t)|0}function jt(e){e=e|0;return(f[e+28>>2]|0)!=7|0}function Ht(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0;l=c;c=c+528|0;a=l;s=l+16|0;e:do{if(e){switch(i|0){case 1:{i=e;n=e+12|0;break}case 2:{i=e+4|0;n=e+16|0;break}case 4:{i=e+8|0;n=e+20|0;break}default:{i=0;break e}}e=f[i>>2]|0;i=f[n>>2]|0;if(i)if(!r)i=1;else{Ol(s|0,0,512)|0;f[a>>2]=t;al(s,512,r,a)|0;Mo[i&7](s,e);i=1}else i=0}else i=0}while(0);c=l;return i|0}function zt(e){e=e|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=4;f[e+20>>2]=4;f[e+16>>2]=4;return}function Yt(e,i){e=e|0;i=i|0;return}function qt(){return Fn(1,36)|0}function Xt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0;t=Fn(1,36)|0;if(!t){l=t;return l|0}f[t+20>>2]=r;s=t+16|0;f[s>>2]=e;r=Fn(1,e*52|0)|0;l=t+24|0;f[l>>2]=r;if(!r){r=f[t+28>>2]|0;if(r)zn(r);zn(t);l=0;return l|0}if(!e){l=t;return l|0}n=0;while(1){f[r+(n*52|0)>>2]=f[i+(n*36|0)>>2];f[r+(n*52|0)+4>>2]=f[i+(n*36|0)+4>>2];o=f[i+(n*36|0)+8>>2]|0;f[r+(n*52|0)+8>>2]=o;u=f[i+(n*36|0)+12>>2]|0;f[r+(n*52|0)+12>>2]=u;f[r+(n*52|0)+16>>2]=f[i+(n*36|0)+16>>2];f[r+(n*52|0)+20>>2]=f[i+(n*36|0)+20>>2];f[r+(n*52|0)+24>>2]=f[i+(n*36|0)+24>>2];f[r+(n*52|0)+28>>2]=f[i+(n*36|0)+28>>2];f[r+(n*52|0)+32>>2]=f[i+(n*36|0)+32>>2];o=Fn(ie(u,o)|0,4)|0;f[r+(n*52|0)+44>>2]=o;n=n+1|0;if(!o)break;if(n>>>0>=e>>>0){a=22;break}r=f[l>>2]|0}if((a|0)==22)return t|0;r=f[l>>2]|0;if(r){n=f[s>>2]|0;if(n){i=0;while(1){r=f[r+(i*52|0)+44>>2]|0;if(r){zn(r);n=f[s>>2]|0}i=i+1|0;if(i>>>0>=n>>>0)break;r=f[l>>2]|0}r=f[l>>2]|0}zn(r)}r=f[t+28>>2]|0;if(r)zn(r);zn(t);u=0;return u|0}function Vt(e){e=e|0;var i=0,r=0,t=0,n=0,a=0;if(!e)return;n=e+24|0;i=f[n>>2]|0;if(i){a=e+16|0;r=f[a>>2]|0;if(r){t=0;while(1){i=f[i+(t*52|0)+44>>2]|0;if(i){zn(i);r=f[a>>2]|0}t=t+1|0;if(t>>>0>=r>>>0)break;i=f[n>>2]|0}i=f[n>>2]|0}zn(i)}i=f[e+28>>2]|0;if(i)zn(i);zn(e);return}function Gt(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;r=f[i+4>>2]|0;t=f[e>>2]|0;a=f[i+8>>2]|0;s=f[e+4>>2]|0;n=f[i+12>>2]|0;c=(ie((f[i+24>>2]|0)+-1|0,n)|0)+r|0;l=f[i+16>>2]|0;o=(ie((f[i+28>>2]|0)+-1|0,l)|0)+a|0;i=Il(c|0,0,n|0,0)|0;i=i|0-P;n=f[e+8>>2]|0;l=Il(o|0,0,l|0,0)|0;l=l|0-P;o=f[e+12>>2]|0;c=f[e+16>>2]|0;if(!c)return;u=(r>>>0>t>>>0?r:t)+-1|0;a=(a>>>0>s>>>0?a:s)+-1|0;n=(i>>>0>>0?i:n)+-1|0;r=(l>>>0>>0?l:o)+-1|0;t=0;i=f[e+24>>2]|0;while(1){s=f[i>>2]|0;o=((u+s|0)>>>0)/(s>>>0)|0;b=f[i+4>>2]|0;e=((a+b|0)>>>0)/(b>>>0)|0;l=f[i+40>>2]|0;d=Bl(1,0,l|0)|0;h=P;s=Il((((n+s|0)>>>0)/(s>>>0)|0)-o|0,0,-1,-1)|0;s=Il(s|0,P|0,d|0,h|0)|0;s=Dl(s|0,P|0,l|0)|0;b=Il((((r+b|0)>>>0)/(b>>>0)|0)-e|0,0,-1,-1)|0;h=Il(b|0,P|0,d|0,h|0)|0;l=Dl(h|0,P|0,l|0)|0;f[i+8>>2]=s;f[i+12>>2]=l;f[i+16>>2]=o;f[i+20>>2]=e;t=t+1|0;if(t>>>0>=c>>>0)break;else i=i+52|0}return}function Kt(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];o=i+24|0;t=f[o>>2]|0;l=i+16|0;if(!t)r=o;else{r=f[l>>2]|0;if(!r)r=o;else{n=0;while(1){t=f[t+(n*52|0)+44>>2]|0;if(t){zn(t);r=f[l>>2]|0}n=n+1|0;if(n>>>0>=r>>>0)break;t=f[o>>2]|0}r=o;t=f[o>>2]|0}zn(t);f[o>>2]=0}t=f[e+16>>2]|0;f[l>>2]=t;t=Nn(t*52|0)|0;f[r>>2]=t;if(!t){f[o>>2]=0;f[l>>2]=0;return}if(f[l>>2]|0){s=e+24|0;a=0;do{r=t+(a*52|0)|0;t=(f[s>>2]|0)+(a*52|0)|0;n=r+52|0;do{f[r>>2]=f[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(n|0));t=f[o>>2]|0;f[t+(a*52|0)+44>>2]=0;a=a+1|0}while(a>>>0<(f[l>>2]|0)>>>0)}f[i+20>>2]=f[e+20>>2];n=e+32|0;r=f[n>>2]|0;a=i+32|0;f[a>>2]=r;if(!r){f[i+28>>2]=0;return}t=Nn(r)|0;r=i+28|0;f[r>>2]=t;if(!t){f[r>>2]=0;f[a>>2]=0;return}else{Nl(t|0,f[e+28>>2]|0,f[n>>2]|0)|0;return}}function Wt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=Fn(1,36)|0;if(!t){e=t;return e|0}f[t+20>>2]=r;f[t+16>>2]=e;r=Fn(e,52)|0;f[t+24>>2]=r;if(!r){r=f[t+28>>2]|0;if(r)zn(r);zn(t);e=0;return e|0}else{if(!e){e=t;return e|0}else n=0;do{f[r+(n*52|0)>>2]=f[i+(n*36|0)>>2];f[r+(n*52|0)+4>>2]=f[i+(n*36|0)+4>>2];f[r+(n*52|0)+8>>2]=f[i+(n*36|0)+8>>2];f[r+(n*52|0)+12>>2]=f[i+(n*36|0)+12>>2];f[r+(n*52|0)+16>>2]=f[i+(n*36|0)+16>>2];f[r+(n*52|0)+20>>2]=f[i+(n*36|0)+20>>2];f[r+(n*52|0)+24>>2]=f[i+(n*36|0)+24>>2];f[r+(n*52|0)+32>>2]=f[i+(n*36|0)+32>>2];f[r+(n*52|0)+44>>2]=0;n=n+1|0}while((n|0)!=(e|0));return t|0}return 0}function Zt(e,i,r){e=e|0;i=i|0;r=r|0;if(!e){r=0;return r|0}f[e+64>>2]=i;f[e+52>>2]=r;r=1;return r|0}function Jt(e,i,r){e=e|0;i=i|0;r=r|0;if(!e){r=0;return r|0}f[e+60>>2]=i;f[e+48>>2]=r;r=1;return r|0}function Qt(e,i,r){e=e|0;i=i|0;r=r|0;if(!e){r=0;return r|0}f[e+56>>2]=i;f[e+44>>2]=r;r=1;return r|0}function $t(e,i){e=e|0;i=i|0;var r=0;if(!e){e=0;return e|0}r=At(i)|0;if(!r){e=0;return e|0}Pt(r,e,0);xt(r,f[e+8>>2]|0,0);if(!i)Rt(r,9);else Tt(r,8);Lt(r,1);Ct(r,10);e=r;return e|0}function en(){return 4703}function rn(e){e=e|0;var i=0;i=Fn(1,84)|0;if(!i){e=0;return e|0}f[i+68>>2]=1;switch(e|0){case 0:{f[i+72>>2]=13;f[i+76>>2]=2;f[i+80>>2]=3;f[i+4>>2]=33;f[i+16>>2]=11;f[i>>2]=34;f[i+20>>2]=1;f[i+24>>2]=5;f[i+8>>2]=1;f[i+12>>2]=1;f[i+28>>2]=1;f[i+32>>2]=1;f[i+36>>2]=12;e=rf()|0;f[i+40>>2]=e;if(!e){zn(i);e=0;return e|0}break}case 2:{f[i+72>>2]=14;f[i+76>>2]=4;f[i+80>>2]=5;f[i+4>>2]=35;f[i+16>>2]=13;f[i>>2]=36;f[i+8>>2]=2;f[i+12>>2]=2;f[i+20>>2]=2;f[i+24>>2]=6;f[i+28>>2]=2;f[i+32>>2]=2;f[i+36>>2]=14;e=Di(1)|0;f[i+40>>2]=e;if(!e){zn(i);e=0;return e|0}break}default:{zn(i);e=0;return e|0}}zt(i+44|0);e=i;return e|0}function tn(e){e=e|0;if(!e)return;Ol(e|0,0,8248)|0;f[e+8200>>2]=-1;f[e+8204>>2]=-1;f[e+8248>>2]=0;return}function nn(e,i){e=e|0;i=i|0;var r=0;r=c;c=c+16|0;if(!((e|0)!=0&(i|0)!=0)){i=0;c=r;return i|0}if(!(f[e+68>>2]|0)){Ht(e+44|0,1,4709,r)|0;i=0;c=r;return i|0}else{Mo[f[e+24>>2]&7](f[e+40>>2]|0,i);i=1;c=r;return i|0}return 0}function fn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=c;c=c+16|0;if(!((e|0)!=0&(i|0)!=0)){e=0;c=t;return e|0}if(!(f[i+68>>2]|0)){Ht(i+44|0,1,4790,t)|0;e=0;c=t;return e|0}else{e=Co[f[i>>2]&63](e,f[i+40>>2]|0,r,i+44|0)|0;c=t;return e|0}return 0}function an(e,i,r){e=e|0;i=i|0;r=r|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(!(f[e+68>>2]|0)){i=0;return i|0}i=Co[f[e+4>>2]&63](f[e+40>>2]|0,i,r,e+44|0)|0;return i|0}function sn(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;if(!e){t=0;return t|0}if(!(f[e+68>>2]|0)){t=0;return t|0}t=vo[f[e+28>>2]&3](f[e+40>>2]|0,i,r,t,n,a,e+44|0)|0;return t|0}function ln(e,i,r,t,n,a,s,l,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;if(!((r|0)!=0&((e|0)!=0&(i|0)!=0&(t|0)!=0))){l=0;return l|0}if(!(f[e+68>>2]|0)){l=0;return l|0}l=To[f[e+8>>2]&3](f[e+40>>2]|0,r,t,n,a,s,l,o,u,i,e+44|0)|0;return l|0}function on(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;if(!((e|0)!=0&(r|0)!=0&(n|0)!=0)){i=0;return i|0}if(!(f[e+68>>2]|0)){i=0;return i|0}i=Eo[f[e+12>>2]&7](f[e+40>>2]|0,i,r,t,n,e+44|0)|0;return i|0}function un(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if(!((e|0)!=0&(i|0)!=0)){t=0;return t|0}if(!(f[e+68>>2]|0)){t=0;return t|0}t=Lo[f[e+32>>2]&3](f[e+40>>2]|0,i,r,e+44|0,t)|0;return t|0}function cn(e,i){e=e|0;i=i|0;if(!e){i=0;return i|0}i=po[f[e+36>>2]&63](f[e+40>>2]|0,i,e+44|0)|0;return i|0}function hn(e){e=e|0;var i=0;i=Fn(1,84)|0;if(!i){e=0;return e|0}f[i+68>>2]=0;switch(e|0){case 0:{f[i+4>>2]=15;f[i+12>>2]=16;f[i>>2]=37;f[i+8>>2]=3;f[i+16>>2]=1;f[i+20>>2]=38;e=Xn()|0;f[i+40>>2]=e;if(!e){zn(i);e=0;return e|0}break}case 2:{f[i+4>>2]=17;f[i+12>>2]=18;f[i>>2]=39;f[i+8>>2]=4;f[i+16>>2]=2;f[i+20>>2]=40;e=Di(0)|0;f[i+40>>2]=e;if(!e){zn(i);e=0;return e|0}break}default:{zn(i);e=0;return e|0}}zt(i+44|0);e=i;return e|0}function dn(e){e=e|0;if(!e)return;Ol(e|0,0,18708)|0;f[e+5592>>2]=6;f[e+18684>>2]=0;f[e+5596>>2]=64;f[e+5600>>2]=64;f[e+44>>2]=0;f[e+5612>>2]=-1;f[e+18188>>2]=1;f[e+18192>>2]=1;t[e+18688>>0]=0;f[e+18196>>2]=-1;f[e+18200>>2]=-1;o[e+4792>>2]=0.0;f[e+4788>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[e+28>>2]=0;f[e+18692>>2]=0;return}function bn(e,i,r){e=e|0;i=i|0;r=r|0;if(!((e|0)!=0&(i|0)!=0&(r|0)!=0)){i=0;return i|0}if(f[e+68>>2]|0){i=0;return i|0}i=Co[f[e+20>>2]&63](f[e+40>>2]|0,i,r,e+44|0)|0;return i|0}function kn(e,i,r){e=e|0;i=i|0;r=r|0;if(!((e|0)!=0&(r|0)!=0)){r=0;return r|0}if(f[e+68>>2]|0){r=0;return r|0}r=Co[f[e>>2]&63](f[e+40>>2]|0,r,i,e+44|0)|0;return r|0}function wn(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(f[e+68>>2]|0){i=0;return i|0}i=po[f[e+4>>2]&63](f[e+40>>2]|0,i,e+44|0)|0;return i|0}function _n(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(f[e+68>>2]|0){i=0;return i|0}i=po[f[e+12>>2]&63](f[e+40>>2]|0,i,e+44|0)|0;return i|0}function mn(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(!(f[e+68>>2]|0)){i=0;return i|0}i=po[f[e+16>>2]&63](f[e+40>>2]|0,i,e+44|0)|0;return i|0}function vn(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var l=0,o=0,u=0;u=a<<2;l=ie(u,a)|0;o=e+18704|0;a=s[o>>1]|0;n[o>>1]=(a&32768|0)==0?-32512:(a|256)&65535;f[e+5608>>2]=1;t[e+18690>>0]=2;o=Nn(l+u|0)|0;a=e+18696|0;f[a>>2]=o;if(!o){r=0;return r|0}Nl(o|0,i|0,l|0)|0;Nl((f[a>>2]|0)+l|0,r|0,u|0)|0;r=1;return r|0}function pn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;if(!((r|0)!=0&((e|0)!=0&(n|0)!=0))){i=0;return i|0}if(f[e+68>>2]|0){i=0;return i|0}i=Eo[f[e+8>>2]&7](f[e+40>>2]|0,i,r,t,n,e+44|0)|0;return i|0}function gn(e){e=e|0;var i=0,r=0;if(!e)return;i=e+40|0;r=f[i>>2]|0;if(!(f[e+68>>2]|0))yo[f[e+16>>2]&7](r);else yo[f[e+20>>2]&7](r);f[i>>2]=0;zn(e);return}function yn(e,i,r){e=e|0;i=i|0;r=r|0;if(!e)return;So[f[e+72>>2]&15](f[e+40>>2]|0,i,r);return}function Mn(e){e=e|0;if(!e){e=0;return e|0}e=Ao[f[e+76>>2]&15](f[e+40>>2]|0)|0;return e|0}function En(e){e=e|0;var i=0,r=0;if(!e)return;i=f[e>>2]|0;r=f[i+48>>2]|0;if(r){zn(r);i=f[e>>2]|0}zn(i);f[e>>2]=0;return}function An(e){e=e|0;if(!e){e=0;return e|0}e=Ao[f[e+80>>2]&15](f[e+40>>2]|0)|0;return e|0}function Sn(e){e=e|0;var i=0;i=f[e>>2]|0;if(!i)return;Jn(i);f[e>>2]=0;return}function Tn(e,i){e=e|0;i=i|0;return Cn(e,1048576,i)|0}function Cn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!e){i=0;return i|0}t=Ys(e,(r|0)==0?4869:4872)|0;if(!t){i=0;return i|0}e=wt(i,r)|0;if(!e){Hs(t)|0;i=0;return i|0}else{Pt(e,t,6);Zs(t,0,2)|0;i=$s(t)|0;Zs(t,0,0)|0;xt(e,i,((i|0)<0)<<31>>31);Tt(e,19);Rt(e,20);Lt(e,21);Ct(e,22);i=e;return i|0}return 0}function Rn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;a=(f[r>>2]|0)+(f[r+8>>2]|0)|0;r=r+4|0;t=f[r>>2]|0;n=a-t|0;if((a|0)==(t|0)){a=-1;return a|0}a=n>>>0>i>>>0?i:n;Nl(e|0,t|0,a|0)|0;f[r>>2]=(f[r>>2]|0)+a;return a|0}function Ln(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0;u=r+4|0;t=f[u>>2]|0;l=r+8|0;a=f[l>>2]|0;o=t-(f[r>>2]|0)|0;n=(a|0)==0?1:a;while(1)if((n-o|0)>>>0>>0)n=n<<1;else{s=n;break}if((s|0)!=(a|0)){t=Nn(s)|0;if(!t){i=-1;return i|0}n=f[r>>2]|0;if(n){Nl(t|0,n|0,o|0)|0;zn(f[r>>2]|0)}f[r>>2]=t;t=t+o|0;f[u>>2]=t;f[l>>2]=s}Nl(t|0,e|0,i|0)|0;f[u>>2]=(f[u>>2]|0)+i;return i|0}function Pn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;n=(f[i>>2]|0)+(f[i+8>>2]|0)|0;i=i+4|0;r=f[i>>2]|0;t=n-r|0;if((n|0)==(r|0)){n=-1;return n|0}f[i>>2]=r+e;n=t>>>0>e>>>0?e:t;return n|0}function xn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=f[r+8>>2]|0;f[r+4>>2]=(f[r>>2]|0)+(0>(i|0)|0==(i|0)&t>>>0>e>>>0?e:t);return 1}function On(e,i,r){e=e|0;i=i|0;r=r|0;i=Gs(e,1,i,r)|0;return((i|0)!=0?i:-1)|0}function Bn(e,i,r){e=e|0;i=i|0;r=r|0;return il(e,1,i,r)|0}function In(e,i,r){e=e|0;i=i|0;r=r|0;r=(Zs(r,e,1)|0)==0;P=r?i:-1;return(r?e:-1)|0}function Dn(e,i,r){e=e|0;i=i|0;r=r|0;return(Zs(r,e,0)|0)==0|0}function Nn(e){e=e|0;if(!e)e=0;else e=yl(e)|0;return e|0}function Fn(e,i){e=e|0;i=i|0;if(!i)e=0;else e=El(e,i)|0;return e|0}function Un(e){e=e|0;var i=0,r=0;r=c;c=c+16|0;i=r;do{if(e)if(!(Sl(i,16,e)|0)){i=f[i>>2]|0;break}else{f[i>>2]=0;i=0;break}else i=0}while(0);c=r;return i|0}function jn(e){e=e|0;Ml(e);return}function Hn(e,i){e=e|0;i=i|0;if(!i)i=0;else i=Al(e,i)|0;return i|0}function zn(e){e=e|0;Ml(e);return}function Yn(e){e=e|0;var i=0,r=0;i=696;while(1){r=f[i>>2]|0;if((r|0)==-1|(r|0)==(e|0))break;else i=i+12|0}return i+4|0}function qn(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0))return;f[e+172>>2]=f[i+4>>2];f[e+168>>2]=f[i>>2];return}function Xn(){var e=0,i=0;e=Fn(1,208)|0;if(!e){e=0;return e|0}f[e>>2]=0;i=e+184|0;t[i>>0]=t[i>>0]&-3;i=Nn(1e3)|0;f[e+44>>2]=i;if(!i){Vn(e);i=0;return i|0}f[e+48>>2]=1e3;i=sa()|0;f[e+192>>2]=i;if(!i){Vn(e);i=0;return i|0}i=sa()|0;f[e+188>>2]=i;if(i){i=e;return i|0}Vn(e);i=0;return i|0}function Vn(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0;if(!e)return;if(!(f[e>>2]|0)){i=e+36|0;r=f[i>>2]|0;if(r){zn(r);f[i>>2]=0}i=e+24|0;r=f[i>>2]|0;if(r){zn(r);f[i>>2]=0;f[e+28>>2]=0}i=e+44|0;r=f[i>>2]|0;if(r){zn(r);f[i>>2]=0;f[e+48>>2]=0}}else{i=e+12|0;r=f[i>>2]|0;if(r){kf(r);zn(f[i>>2]|0);f[i>>2]=0}i=e+16|0;r=f[i>>2]|0;if(r){zn(r);f[i>>2]=0;f[e+20>>2]=0}}Ir(f[e+204>>2]|0);i=e+88|0;s=e+164|0;r=f[s>>2]|0;if(r){n=ie(f[e+112>>2]|0,f[e+116>>2]|0)|0;if(n){a=0;while(1){kf(r);a=a+1|0;if((a|0)==(n|0))break;else r=r+5640|0}r=f[s>>2]|0}zn(r);f[s>>2]=0}s=e+124|0;r=f[s>>2]|0;if(r){l=e+120|0;n=f[l>>2]|0;if(n){a=0;while(1){r=f[r+(a<<3)>>2]|0;if(r){zn(r);n=f[l>>2]|0}a=a+1|0;if(a>>>0>=n>>>0)break;r=f[s>>2]|0}r=f[s>>2]|0}f[l>>2]=0;zn(r);f[s>>2]=0}l=e+144|0;zn(f[l>>2]|0);f[l>>2]=0;f[e+128>>2]=0;l=e+108|0;zn(f[l>>2]|0);f[l>>2]=0;if(!(t[e+184>>0]&2)){l=e+176|0;zn(f[l>>2]|0);f[l>>2]=0}r=i+100|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(r|0));l=e+188|0;la(f[l>>2]|0);f[l>>2]=0;la(f[e+192>>2]|0);f[l>>2]=0;l=e+196|0;Jn(f[l>>2]|0);f[l>>2]=0;l=e+80|0;Vt(f[l>>2]|0);f[l>>2]=0;l=e+84|0;Vt(f[l>>2]|0);f[l>>2]=0;zn(e);return}function Gn(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,h=0,d=0,b=0,k=0,w=0,_=0.0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,z=0,Y=0,q=0,X=0,V=0,G=0,K=0,W=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,te=0,ne=0,fe=0,ae=0,se=0,le=0,oe=0,ue=0,ce=0.0;ue=c;c=c+320|0;fe=ue+296|0;ne=ue+288|0;oe=ue+280|0;le=ue+272|0;se=ue+264|0;ae=ue+256|0;te=ue+248|0;re=ue+240|0;K=ue+232|0;V=ue+224|0;X=ue+216|0;q=ue+208|0;Y=ue+200|0;z=ue+192|0;j=ue+184|0;g=ue+176|0;p=ue+168|0;v=ue+160|0;m=ue+152|0;w=ue+144|0;B=ue+136|0;O=ue+128|0;F=ue+112|0;x=ue+104|0;P=ue+96|0;L=ue+88|0;C=ue+80|0;T=ue+72|0;S=ue+64|0;A=ue+56|0;E=ue+48|0;M=ue+32|0;y=ue+24|0;k=ue+16|0;h=ue+8|0;l=ue;D=ue+309|0;N=ue+300|0;if(!((e|0)!=0&(i|0)!=0&(r|0)!=0)){a=0;c=ue;return a|0}ee=i+5592|0;s=f[ee>>2]|0;if((s+-1|0)>>>0>32){f[l>>2]=s;f[l+4>>2]=33;Ht(a,1,4875,l)|0;a=0;c=ue;return a|0}Q=e+112|0;f[Q>>2]=1;$=e+116|0;f[$>>2]=1;I=i+18704|0;do{if(!(n[I>>1]|0)){switch(f[i+18676>>2]|0){case 1:{n[I>>1]=3;f[i+18700>>2]=1302083;f[i+18680>>2]=1041666;l=1;break}case 2:{n[I>>1]=3;f[i+18700>>2]=651041;f[i+18680>>2]=520833;l=1;break}case 3:{n[I>>1]=4;f[i+18700>>2]=1302083;f[i+18680>>2]=1041666;l=1;break}default:l=0}s=f[i+18684>>2]|0;e:do{if((s|0)>=4)if((s|0)<33024){switch(s|0){case 4:break;default:{J=13;break e}}n[I>>1]=4;break}else{switch(s|0){case 33024:break;default:{J=13;break e}}n[I>>1]=-32512;break}else{switch(s|0){case 3:break;default:{J=13;break e}}n[I>>1]=3}}while(0);if((J|0)==13?(l|0)==0:0)break;Ht(a,2,4931,h)|0}}while(0);R=i+18700|0;s=f[R>>2]|0;do{if((s|0)<1){_=+o[i+4792+((f[i+4788>>2]|0)+-1<<2)>>2];if(_>0.0){W=f[r+24>>2]|0;k=ie(f[W+8>>2]|0,f[r+16>>2]|0)|0;k=ie(k,f[W+12>>2]|0)|0;ce=+((ie(k,f[W+24>>2]|0)|0)>>>0);f[R>>2]=~~+H(+(ce/(_*8.0*+((f[W>>2]|0)>>>0)*+((f[W+4>>2]|0)>>>0))));break}else{f[R>>2]=0;break}}else{b=f[r+24>>2]|0;W=ie(f[b+8>>2]|0,f[r+16>>2]|0)|0;W=ie(W,f[b+12>>2]|0)|0;_=+((ie(W,f[b+24>>2]|0)|0)>>>0);s=ie(s<<3,f[b>>2]|0)|0;_=_/+((ie(s,f[b+4>>2]|0)|0)>>>0);b=i+4788|0;s=f[b>>2]|0;if(s){h=s;s=0;d=0;while(1){l=i+4792+(d<<2)|0;if(+o[l>>2]<_){o[l>>2]=_;l=f[b>>2]|0;s=1}else l=h;d=d+1|0;if(d>>>0>=l>>>0)break;else h=l}if(s)Ht(a,2,5068,k)|0}}}while(0);s=n[I>>1]|0;e:do{if((s+-3&65535)>=4){if(s<<16>>16==7){Ht(a,2,7228,w)|0;n[I>>1]=0;s=0;break}if((s+-256&65535)<524){Ht(a,2,7283,m)|0;n[I>>1]=0;s=0;break}if((s+-1024&65535)<1180){Ht(a,2,7331,v)|0;n[I>>1]=0;s=0;break}if(s<<16>>16<=-1)switch(s<<16>>16){case-32512:{s=-32512;break e}case-32768:{Ht(a,2,7373,p)|0;n[I>>1]=0;s=0;break e}default:{Ht(a,2,7461,g)|0;n[I>>1]=0;s=0;break e}}}else{if((s+-5&65535)<2){Ht(a,2,5160,y)|0;n[I>>1]=0;s=0;break}f[i>>2]=0;f[i+12>>2]=1;f[i+16>>2]=1;t[i+18689>>0]=67;t[i+18688>>0]=1;f[i+4>>2]=0;f[i+8>>2]=0;f[i+18180>>2]=0;f[i+18184>>2]=0;f[i+5596>>2]=32;f[i+5600>>2]=32;f[i+5604>>2]=0;f[i+5612>>2]=-1;f[i+18188>>2]=1;f[i+18192>>2]=1;f[i+5608>>2]=1;l=i+4788|0;h=f[l>>2]|0;if((h|0)>1){ce=+o[i+4792+(h+-1<<2)>>2];f[M>>2]=h;u[M+8>>3]=ce;Ht(a,2,5222,M)|0;f[i+4792>>2]=f[i+4792+((f[l>>2]|0)+-1<<2)>>2];f[l>>2]=1;s=n[I>>1]|0}i:do{switch(s&65535|0){case 3:{s=f[ee>>2]|0;if((s|0)>6){f[E>>2]=s+1;Ht(a,2,5395,E)|0;f[ee>>2]=6;s=6}break}case 4:{s=f[ee>>2]|0;if((s|0)<2){f[A>>2]=s+1;Ht(a,2,5541,A)|0;f[ee>>2]=1;s=1;break i}if((s|0)>7){f[S>>2]=s+1;Ht(a,2,5695,S)|0;f[ee>>2]=7;s=7}break}default:s=f[ee>>2]|0}}while(0);l=i+40|0;f[l>>2]=f[l>>2]|1;l=i+5620|0;f[l>>2]=s+-1;if((s|0)>1){s=0;do{f[i+5624+(s<<2)>>2]=256;f[i+5756+(s<<2)>>2]=256;s=s+1|0}while((s|0)<(f[l>>2]|0))}f[i+44>>2]=4;if((n[I>>1]|0)==4){s=f[ee>>2]|0;f[i+96>>2]=1;f[i+48>>2]=0;f[i+52>>2]=0;f[i+56>>2]=1;W=s+-1|0;f[i+60>>2]=W;f[i+64>>2]=3;f[i+80>>2]=4;f[i+244>>2]=1;f[i+196>>2]=W;f[i+200>>2]=0;f[i+204>>2]=1;f[i+208>>2]=s;f[i+212>>2]=3;f[i+228>>2]=4;s=2}else s=0;f[i+4784>>2]=s;f[i+20>>2]=1;s=f[R>>2]|0;if((s|0)>=1){if((s|0)>1302083){Ht(a,2,5998,C)|0;f[R>>2]=1302083}}else{f[R>>2]=1302083;Ht(a,2,5849,T)|0}s=i+18680|0;l=f[s>>2]|0;if((l|0)>=1){if((l|0)>1041666){Ht(a,2,6320,P)|0;f[s>>2]=1041666}}else{f[s>>2]=1041666;Ht(a,2,6171,L)|0}l=f[r+16>>2]|0;d=f[r+24>>2]|0;b=f[d+8>>2]|0;s=ie(b,l)|0;k=f[d+12>>2]|0;s=ie(s,k)|0;ce=+((ie(s,f[d+24>>2]|0)|0)>>>0);s=ie(f[R>>2]<<3,f[d>>2]|0)|0;o[i+4792>>2]=ce/+((ie(s,f[d+4>>2]|0)|0)>>>0);s=n[I>>1]|0;i:do{if((l|0)==3){l=d+28|0;h=d+32|0;if(!((f[l>>2]|0)!=12|f[h>>2])){l=d+80|0;h=d+84|0;if(!((f[l>>2]|0)!=12|f[h>>2])){l=d+132|0;h=d+136|0;if(!((f[l>>2]|0)!=12|f[h>>2])){switch(s&65535|0){case 3:{if(k>>>0>1080|b>>>0>2048){f[O>>2]=b;f[O+4>>2]=k;Ht(a,2,6892,O)|0;break i}break}case 4:{if(k>>>0>2160|b>>>0>4096){f[B>>2]=b;f[B+4>>2]=k;Ht(a,2,7063,B)|0;break i}break}default:{}}break e}else{k=l;s=h;l=2}}else{k=l;s=h;l=1}}else{k=l;s=h;l=0}t[D>>0]=t[6659]|0;t[D+1>>0]=t[6660]|0;t[D+2>>0]=t[6661]|0;t[D+3>>0]=t[6662]|0;t[D+4>>0]=t[6663]|0;t[D+5>>0]=t[6664]|0;t[D+6>>0]=t[6665]|0;h=N;d=6666;b=h+9|0;do{t[h>>0]=t[d>>0]|0;h=h+1|0;d=d+1|0}while((h|0)<(b|0));W=(f[s>>2]|0)!=0?D:N;N=f[k>>2]|0;f[F>>2]=l;f[F+4>>2]=N;f[F+8>>2]=W;Ht(a,2,6675,F)|0}else{f[x>>2]=l;Ht(a,2,6493,x)|0}}while(0);n[I>>1]=0;s=0}}while(0);f[e+168>>2]=f[i+18680>>2];W=e+88|0;n[W>>1]=s;F=e+181|0;D=t[F>>0]&-2|f[i+20>>2]&1;t[F>>0]=D;N=i+24|0;D=(f[N>>2]&255)<<1&2|D&-3;t[F>>0]=D;t[F>>0]=D&-5|(f[i+28>>2]&255)<<2&4;do{if((f[N>>2]|0)!=0?(U=i+32|0,(f[U>>2]|0)!=0):0){s=ie((f[i+4788>>2]|0)*12|0,f[ee>>2]|0)|0;l=Nn(s)|0;f[e+176>>2]=l;if(l){Nl(l|0,f[U>>2]|0,s|0)|0;break}Ht(a,1,7520,j)|0;a=0;c=ue;return a|0}}while(0);d=e+100|0;f[d>>2]=f[i+12>>2];b=e+104|0;f[b>>2]=f[i+16>>2];h=e+92|0;f[h>>2]=f[i+4>>2];k=e+96|0;f[k>>2]=f[i+8>>2];l=i+36|0;s=f[l>>2]|0;do{if(!s){s=en()|0;l=Nn((dl(s)|0)+29|0)|0;f[e+108>>2]=l;if(l){f[q>>2]=7697;f[q+4>>2]=s;nl(l,7692,q)|0;break}Ht(a,1,7646,Y)|0;a=0;c=ue;return a|0}else{s=Nn((dl(s)|0)+1|0)|0;f[e+108>>2]=s;if(s){hl(s,f[l>>2]|0)|0;break}Ht(a,1,7592,z)|0;a=0;c=ue;return a|0}}while(0);s=(f[r+8>>2]|0)-(f[h>>2]|0)|0;l=f[r+12>>2]|0;if(!(f[i>>2]|0)){f[d>>2]=s;f[b>>2]=l-(f[k>>2]|0)}else{q=f[d>>2]|0;f[Q>>2]=(s+-1+q|0)/(q|0)|0;q=f[b>>2]|0;f[$>>2]=(l+-1-(f[k>>2]|0)+q|0)/(q|0)|0}if(t[i+18688>>0]|0){t[e+180>>0]=t[i+18689>>0]|0;t[F>>0]=t[F>>0]|8}q=Fn(ie(f[$>>2]|0,f[Q>>2]|0)|0,5640)|0;N=e+164|0;f[N>>2]=q;if(!q){Ht(a,1,7726,X)|0;a=0;c=ue;return a|0}D=i+4784|0;S=f[D>>2]|0;do{if(S){y=i+48|0;T=f[ee>>2]|0;C=f[r+16>>2]|0;R=f[i+4788>>2]|0;L=ie(C,T)|0;P=Fn(ie(L,R)|0,4)|0;if(!P){Ht(a,1,7780,V)|0;break}h=f[y>>2]|0;m=i+60|0;s=f[m>>2]|0;if(h>>>0>>0){w=ie(h,C)|0;v=i+52|0;p=i+64|0;g=i+56|0;l=f[p>>2]|0;while(1){d=f[v>>2]|0;if(d>>>0>>0){s=f[g>>2]|0;k=d;b=d+w|0;while(1){if(!s)s=0;else{l=b;d=0;while(1){f[P+(l<<2)>>2]=1;d=d+1|0;s=f[g>>2]|0;if(d>>>0>=s>>>0)break;else l=l+L|0}l=f[p>>2]|0}k=k+1|0;if(k>>>0>=l>>>0)break;else b=b+1|0}s=f[m>>2]|0}h=h+1|0;if(h>>>0>=s>>>0)break;else w=w+C|0}}if(S>>>0>1){A=1;do{s=y;y=y+148|0;g=f[s+8>>2]|0;p=s+156|0;d=f[p>>2]|0;g=d>>>0>g>>>0?g:0;b=f[y>>2]|0;M=s+160|0;l=f[M>>2]|0;if(b>>>0>>0){w=ie(b,C)|0;E=s+152|0;m=s+164|0;v=ie(g,L)|0;h=f[m>>2]|0;s=d;while(1){d=f[E>>2]|0;if(d>>>0>>0){k=d;d=d+w|0;while(1){if(g>>>0>>0){l=d+v|0;h=g;while(1){f[P+(l<<2)>>2]=1;h=h+1|0;s=f[p>>2]|0;if(h>>>0>=s>>>0)break;else l=l+L|0}h=f[m>>2]|0}k=k+1|0;if(k>>>0>=h>>>0)break;else d=d+1|0}l=f[M>>2]|0}b=b+1|0;if(b>>>0>=l>>>0)break;else w=w+C|0}}A=A+1|0}while((A|0)!=(S|0))}if((R|0)!=0?(G=(C|0)==0,(T|0)!=0):0){l=0;w=0;s=0;do{if(!G){k=l;b=0;while(1){h=0;d=k;while(1){s=(f[P+(d<<2)>>2]|0)!=1|s;h=h+1|0;if((h|0)==(C|0))break;else d=d+1|0}b=b+1|0;if((b|0)==(T|0))break;else k=k+C|0}l=L+l|0}w=w+1|0}while((w|0)!=(R|0));if(s)Ht(a,1,7828,K)|0}zn(P)}}while(0);e:do{if(ie(f[$>>2]|0,f[Q>>2]|0)|0){y=i+4788|0;M=i+40|0;E=i+44|0;A=i+18690|0;S=r+16|0;l=i+18696|0;T=r+24|0;C=i+5596|0;R=i+5600|0;L=i+5604|0;P=i+5608|0;x=i+5612|0;O=i+5616|0;B=i+5620|0;I=0;i:while(1){w=f[N>>2]|0;m=w+(I*5640|0)|0;K=f[y>>2]|0;s=w+(I*5640|0)+8|0;f[s>>2]=K;if(K){h=((n[W>>1]|0)+-3&65535)<4;b=0;do{d=(t[F>>0]&4)==0;do{if(!h)if(d){f[w+(I*5640|0)+20+(b<<2)>>2]=f[i+4792+(b<<2)>>2];break}else{f[w+(I*5640|0)+5184+(b<<2)>>2]=f[i+5192+(b<<2)>>2];break}else{if(!d)f[w+(I*5640|0)+5184+(b<<2)>>2]=f[i+5192+(b<<2)>>2];f[w+(I*5640|0)+20+(b<<2)>>2]=f[i+4792+(b<<2)>>2]}}while(0);b=b+1|0}while(b>>>0<(f[s>>2]|0)>>>0)}f[m>>2]=f[M>>2];f[w+(I*5640|0)+4>>2]=f[E>>2];k=w+(I*5640|0)+16|0;f[k>>2]=t[A>>0];s=w+(I*5640|0)+5636|0;h=t[s>>0]|0;t[s>>0]=h&-5;if(!(f[D>>2]|0))f[w+(I*5640|0)+420>>2]=0;else{t[s>>0]=h|4;h=f[D>>2]|0;if(!h)s=0;else{d=I+1|0;b=0;s=0;do{if((d|0)==(f[i+48+(b*148|0)+48>>2]|0)){f[w+(I*5640|0)+424+(s*148|0)>>2]=f[i+48+(s*148|0)>>2];f[w+(I*5640|0)+424+(s*148|0)+4>>2]=f[i+48+(s*148|0)+4>>2];f[w+(I*5640|0)+424+(s*148|0)+8>>2]=f[i+48+(s*148|0)+8>>2];f[w+(I*5640|0)+424+(s*148|0)+12>>2]=f[i+48+(s*148|0)+12>>2];f[w+(I*5640|0)+424+(s*148|0)+16>>2]=f[i+48+(s*148|0)+16>>2];f[w+(I*5640|0)+424+(s*148|0)+32>>2]=f[i+48+(s*148|0)+32>>2];f[w+(I*5640|0)+424+(s*148|0)+48>>2]=f[i+48+(s*148|0)+48>>2];s=s+1|0}b=b+1|0}while(b>>>0>>0)}f[w+(I*5640|0)+420>>2]=s+-1}K=Fn(f[S>>2]|0,1080)|0;g=w+(I*5640|0)+5584|0;f[g>>2]=K;if(!K){J=149;break}do{if(!(f[l>>2]|0)){r:do{if((f[k>>2]|0)==1){s=f[S>>2]|0;if(s>>>0<=2){d=s;break}h=f[T>>2]|0;s=f[h>>2]|0;do{if((s|0)==(f[h+52>>2]|0)){if((s|0)!=(f[h+104>>2]|0))break;s=f[h+4>>2]|0;if((s|0)!=(f[h+56>>2]|0))break;if((s|0)==(f[h+108>>2]|0)){J=175;break r}}}while(0);Ht(a,2,8224,fe)|0;f[k>>2]=0;J=175}else J=175}while(0);if((J|0)==175){J=0;d=f[S>>2]|0}if(!d)break;s=f[T>>2]|0;h=0;do{if(!(f[s+(h*52|0)+32>>2]|0))f[(f[g>>2]|0)+(h*1080|0)+1076>>2]=1<<(f[s+(h*52|0)+24>>2]|0)+-1;h=h+1|0}while(h>>>0>>0);Z=d;J=166}else{d=f[S>>2]|0;d=ie(d<<2,d)|0;s=Nn(d)|0;b=(f[l>>2]|0)+d|0;if(!s){J=152;break i}f[k>>2]=2;h=Nn(d)|0;f[w+(I*5640|0)+5608>>2]=h;if(!h){J=154;break i}Nl(h|0,f[l>>2]|0,d|0)|0;Nl(s|0,f[l>>2]|0,d|0)|0;h=Nn(d)|0;d=w+(I*5640|0)+5604|0;f[d>>2]=h;if(!h){J=156;break i}if(!(Fa(s,h,f[S>>2]|0)|0)){J=158;break i}h=Nn(f[S>>2]<<3)|0;f[w+(I*5640|0)+5600>>2]=h;if(!h){J=160;break i}vr(h,f[S>>2]|0,f[d>>2]|0);zn(s);s=f[S>>2]|0;if(s){h=f[g>>2]|0;d=0;do{f[h+(d*1080|0)+1076>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(!(Kn(m,r)|0)){J=167;break i}Z=f[S>>2]|0;J=166}}while(0);if((J|0)==166?(J=0,(Z|0)!=0):0){p=0;do{m=f[g>>2]|0;v=m+(p*1080|0)|0;f[v>>2]=f[M>>2]&1;d=f[ee>>2]|0;b=m+(p*1080|0)+4|0;f[b>>2]=d;s=f[C>>2]|0;if((s|0)>1){h=0;do{s=s>>1;h=h+1|0}while((s|0)>1);s=h}else s=0;f[m+(p*1080|0)+8>>2]=s;s=f[R>>2]|0;if((s|0)>1){h=0;do{s=s>>1;h=h+1|0}while((s|0)>1);s=h}else s=0;f[m+(p*1080|0)+12>>2]=s;f[m+(p*1080|0)+16>>2]=f[L>>2];K=f[P>>2]|0;f[m+(p*1080|0)+20>>2]=(K|0)==0&1;f[m+(p*1080|0)+24>>2]=(K|0)!=0?2:0;f[m+(p*1080|0)+804>>2]=2;if((p|0)==(f[x>>2]|0))s=f[O>>2]|0;else s=0;f[m+(p*1080|0)+808>>2]=s;do{if(!(f[M>>2]&1)){if(!d)break;else s=0;do{f[m+(p*1080|0)+812+(s<<2)>>2]=15;f[m+(p*1080|0)+944+(s<<2)>>2]=15;s=s+1|0}while(s>>>0<(f[b>>2]|0)>>>0)}else{if((d|0)>0){b=d;w=0}else break;while(1){k=b;b=b+-1|0;s=f[B>>2]|0;do{if((w|0)<(s|0)){s=f[i+5624+(w<<2)>>2]|0;if((s|0)<1)f[m+(p*1080|0)+812+(b<<2)>>2]=1;else{if((s|0)>1){h=0;do{s=s>>1;h=h+1|0}while((s|0)>1);s=h}else s=0;f[m+(p*1080|0)+812+(b<<2)>>2]=s}s=f[i+5756+(w<<2)>>2]|0;if((s|0)<1){f[m+(p*1080|0)+944+(b<<2)>>2]=1;break}if((s|0)>1){h=0;do{s=s>>1;h=h+1|0}while((s|0)>1);s=h}else s=0;f[m+(p*1080|0)+944+(b<<2)>>2]=s}else{K=s+-1|0;h=w-K|0;s=f[i+5624+(K<<2)>>2]>>h;h=f[i+5756+(K<<2)>>2]>>h;if((s|0)<1)f[m+(p*1080|0)+812+(b<<2)>>2]=1;else{if((s|0)>1){d=0;do{s=s>>1;d=d+1|0}while((s|0)>1);s=d}else s=0;f[m+(p*1080|0)+812+(b<<2)>>2]=s}if((h|0)<1){f[m+(p*1080|0)+944+(b<<2)>>2]=1;break}if((h|0)>1){s=0;do{h=h>>1;s=s+1|0}while((h|0)>1)}else s=0;f[m+(p*1080|0)+944+(b<<2)>>2]=s}}while(0);if((k|0)<=1)break;else w=w+1|0}}}while(0);Ra(v,f[(f[T>>2]|0)+(p*52|0)+24>>2]|0);p=p+1|0}while(p>>>0<(f[S>>2]|0)>>>0)}I=I+1|0;if(I>>>0>=(ie(f[$>>2]|0,f[Q>>2]|0)|0)>>>0)break e}if((J|0)==149){Ht(a,1,7867,re)|0;a=0;c=ue;return a|0}else if((J|0)==152){Ht(a,1,7931,te)|0;a=0;c=ue;return a|0}else if((J|0)==154){zn(s);Ht(a,1,7974,ae)|0;a=0;c=ue;return a|0}else if((J|0)==156){zn(s);Ht(a,1,8032,se)|0;a=0;c=ue;return a|0}else if((J|0)==158){zn(s);Ht(a,1,8092,le)|0;a=0;c=ue;return a|0}else if((J|0)==160){zn(s);Ht(a,1,8140,oe)|0;a=0;c=ue;return a|0}else if((J|0)==167){Ht(a,1,8190,ne)|0;a=0;c=ue;return a|0}}else l=i+18696|0}while(0);s=f[l>>2]|0;if(!s){a=1;c=ue;return a|0}zn(s);f[l>>2]=0;a=1;c=ue;return a|0}function Kn(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0;if((f[e+16>>2]|0)!=2){e=1;return e|0}h=e+5604|0;_=e+5616|0;r=f[_>>2]|0;d=e+5620|0;do{if(f[h>>2]|0){do{if((r|0)==(f[d>>2]|0)){r=r+10|0;f[d>>2]=r;n=e+5612|0;r=Hn(f[n>>2]|0,r*20|0)|0;if(r){f[n>>2]=r;w=f[_>>2]|0;Ol(r+(w*20|0)|0,0,((f[d>>2]|0)-w|0)*20|0)|0;r=f[_>>2]|0;break}zn(f[n>>2]|0);f[n>>2]=0;f[d>>2]=0;f[_>>2]=0;e=0;return e|0}else n=e+5612|0}while(0);u=f[n>>2]|0;s=u+(r*20|0)|0;c=u+(r*20|0)+12|0;n=f[c>>2]|0;if(n){zn(n);f[c>>2]=0}f[u+(r*20|0)+8>>2]=1;f[u+(r*20|0)+4>>2]=1;f[s>>2]=2;n=f[i+16>>2]|0;n=ie(n,n)|0;a=n<<2;l=Nn(a)|0;f[c>>2]=l;if(!l){e=0;return e|0}else{So[f[768+(f[s>>2]<<2)>>2]&15](f[h>>2]|0,l,n);f[u+(r*20|0)+16>>2]=a;r=(f[_>>2]|0)+1|0;f[_>>2]=r;l=2;break}}else{l=1;s=0}}while(0);do{if((r|0)==(f[d>>2]|0)){n=r+10|0;f[d>>2]=n;r=e+5612|0;n=Hn(f[r>>2]|0,n*20|0)|0;if(!n){zn(f[r>>2]|0);f[r>>2]=0;f[d>>2]=0;f[_>>2]=0;e=0;return e|0}else{f[r>>2]=n;a=f[_>>2]|0;Ol(n+(a*20|0)|0,0,((f[d>>2]|0)-a|0)*20|0)|0;if(!s){s=0;break}s=n+((a+-1|0)*20|0)|0;break}}else r=e+5612|0}while(0);h=f[r>>2]|0;d=f[_>>2]|0;w=h+(d*20|0)|0;b=h+(d*20|0)+12|0;r=f[b>>2]|0;if(r){zn(r);f[b>>2]=0}k=l+1|0;f[h+(d*20|0)+8>>2]=l;f[h+(d*20|0)+4>>2]=2;f[w>>2]=2;i=i+16|0;r=f[i>>2]|0;n=r<<2;c=Nn(n)|0;f[b>>2]=c;if(!c){e=0;return e|0}a=Nn(n)|0;if(!a){zn(f[b>>2]|0);f[b>>2]=0;e=0;return e|0}if(r){l=0;u=a;c=f[e+5584>>2]|0;while(1){o[u>>2]=+(f[c+1076>>2]|0);l=l+1|0;if((l|0)==(r|0))break;else{u=u+4|0;c=c+1080|0}}}So[f[768+(f[w>>2]<<2)>>2]&15](a,f[b>>2]|0,r);zn(a);f[h+(d*20|0)+16>>2]=n;f[_>>2]=(f[_>>2]|0)+1;l=e+5628|0;r=f[l>>2]|0;a=e+5632|0;do{if((r|0)==(f[a>>2]|0)){r=r+10|0;f[a>>2]=r;n=e+5624|0;r=Hn(f[n>>2]|0,r*20|0)|0;if(r){f[n>>2]=r;e=f[l>>2]|0;Ol(r+(e*20|0)|0,0,((f[a>>2]|0)-e|0)*20|0)|0;r=f[l>>2]|0;break}zn(f[n>>2]|0);f[n>>2]=0;f[a>>2]=0;f[l>>2]=0;e=0;return e|0}else n=e+5624|0}while(0);e=f[n>>2]|0;f[e+(r*20|0)+8>>2]=s;_=e+(r*20|0)+16|0;t[_>>0]=t[_>>0]|1;f[e+(r*20|0)+4>>2]=f[i>>2];f[e+(r*20|0)>>2]=k;f[e+(r*20|0)+12>>2]=w;f[l>>2]=(f[l>>2]|0)+1;e=1;return e|0}function Wn(e,i,r){e=e|0;i=i|0;r=r|0;return 1}function Zn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0;o=qt()|0;u=i+80|0;f[u>>2]=o;if(!o){u=0;return u|0}n=i+192|0;if((oa(f[n>>2]|0,23,t)|0)!=0?(oa(f[n>>2]|0,24,t)|0)!=0:0){s=f[n>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(po[f[n>>2]&63](i,e,t)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}ha(s);if(!a){Vt(f[u>>2]|0);f[u>>2]=0;u=0;return u|0}}else ha(s);n=i+188|0;if((oa(f[n>>2]|0,25,t)|0)!=0?(oa(f[n>>2]|0,26,t)|0)!=0:0){s=f[n>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(po[f[n>>2]&63](i,e,t)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}ha(s);if(!a){Vt(f[u>>2]|0);f[u>>2]=0;u=0;return u|0}}else ha(s);n=qt()|0;f[r>>2]=n;if(!n){u=0;return u|0}Kt(f[u>>2]|0,n);n=ie(f[i+116>>2]|0,f[i+112>>2]|0)|0;l=i+196|0;f[(f[l>>2]|0)+36>>2]=n;n=Fn(n,40)|0;a=f[l>>2]|0;f[a+40>>2]=n;if(!n){u=0;return u|0}if(!(f[a+36>>2]|0)){u=1;return u|0}s=0;while(1){f[n+(s*40|0)+28>>2]=100;f[n+(s*40|0)+20>>2]=0;u=Fn(100,24)|0;a=f[l>>2]|0;n=f[a+40>>2]|0;f[n+(s*40|0)+24>>2]=u;s=s+1|0;if(!u){n=0;a=30;break}if(s>>>0>=(f[a+36>>2]|0)>>>0){n=1;a=30;break}}if((a|0)==30)return n|0}Vt(f[u>>2]|0);f[u>>2]=0;u=0;return u|0}Vt(f[u>>2]|0);f[u>>2]=0;u=0;return u|0}function Jn(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0;if(!e)return;i=e+28|0;r=f[i>>2]|0;if(r){zn(r);f[i>>2]=0}s=e+40|0;i=f[s>>2]|0;if(i){a=e+36|0;if(f[a>>2]|0){r=i;n=0;do{t=f[r+(n*40|0)+36>>2]|0;if(t){zn(t);i=f[s>>2]|0;f[i+(n*40|0)+36>>2]=0;r=i}t=f[r+(n*40|0)+16>>2]|0;if(t){zn(t);i=f[s>>2]|0;f[i+(n*40|0)+16>>2]=0;r=i}t=f[r+(n*40|0)+24>>2]|0;if(t){zn(t);r=f[s>>2]|0;f[r+(n*40|0)+24>>2]=0;i=r}n=n+1|0}while(n>>>0<(f[a>>2]|0)>>>0)}zn(i);f[s>>2]=0}zn(e);return}function Qn(e,i,r,a,s,l,o,u,h,d,b){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;d=d|0;b=b|0;var k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,H=0,z=0,Y=0,q=0,X=0,V=0,G=0,K=0,W=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,te=0,ne=0,fe=0,ae=0,se=0,le=0,oe=0,ue=0,ce=0,he=0,de=0,be=0,ke=0,we=0,_e=0,me=0,ve=0,pe=0,ge=0,ye=0,Me=0,Ee=0,Ae=0,Se=0,Te=0,Ce=0,Re=0;Re=c;c=c+256|0;Ce=Re+200|0;Te=Re+192|0;Ae=Re+184|0;Ee=Re+176|0;ke=Re+168|0;be=Re+160|0;de=Re+152|0;he=Re+144|0;ce=Re+136|0;ue=Re+128|0;le=Re+120|0;se=Re+112|0;ye=Re+104|0;pe=Re+96|0;ae=Re+88|0;fe=Re+80|0;ne=Re+72|0;ge=Re+64|0;te=Re+56|0;re=Re+48|0;me=Re+40|0;_e=Re+32|0;we=Re+24|0;oe=Re+16|0;ee=Re+8|0;$=Re;G=Re+240|0;X=Re+236|0;W=Re+232|0;J=Re+228|0;Q=Re+224|0;V=Re+220|0;Z=Re+216|0;q=Re+212|0;K=Re+208|0;f[q>>2]=65424;Se=e+8|0;e:do{switch(f[Se>>2]|0){case 256:{f[q>>2]=65497;k=e+76|0;Me=117;break}case 8:{ve=e+76|0;if(!(t[ve>>0]&1)){j=e+200|0;H=e+164|0;z=e+72|0;Y=e+24|0;T=e+196|0;C=e+112|0;R=e+116|0;x=G+2|0;O=G+6|0;B=G+7|0;I=e+16|0;D=e+20|0;N=e+64|0;k=65424;i:while(1){r:do{if((k|0)!=65427){while(1){S=Nt(d)|0;if((S|0)==0&(P|0)==0){Me=7;break}if((Ot(d,f[I>>2]|0,2,b)|0)!=2){Me=9;break i}ct(f[I>>2]|0,K,2);if((f[K>>2]|0)>>>0<2){Me=11;break i}if((f[q>>2]|0)==32896?(S=Nt(d)|0,(S|0)==0&(P|0)==0):0){Me=14;break}m=f[Se>>2]|0;k=f[K>>2]|0;if(m&16)f[Y>>2]=-2-k+(f[Y>>2]|0);w=k+-2|0;f[K>>2]=w;k=f[q>>2]|0;_=784;while(1){S=f[_>>2]|0;if((S|0)==0|(S|0)==(k|0)){E=_;break}else _=_+12|0}if(!(f[_+4>>2]&m)){Me=20;break i}if(w>>>0>(f[D>>2]|0)>>>0){S=Nt(d)|0;A=P;if(0>(A|0)|0==(A|0)&w>>>0>S>>>0){Me=24;break i}k=Hn(f[I>>2]|0,f[K>>2]|0)|0;if(!k){Me=26;break i}f[I>>2]=k;w=f[K>>2]|0;f[D>>2]=w}else k=f[I>>2]|0;w=Ot(d,k,w,b)|0;if((w|0)!=(f[K>>2]|0)){Me=29;break i}k=f[_+8>>2]|0;if(!k){Me=31;break i}if(!(Co[k&63](e,f[I>>2]|0,w,b)|0)){Me=33;break i}_=f[j>>2]|0;w=f[T>>2]|0;g=f[E>>2]|0;y=Dt(d)|0;M=f[K>>2]|0;y=y-M+-4|0;M=M+4|0;w=w+40|0;p=f[w>>2]|0;k=f[p+(_*40|0)+20>>2]|0;m=p+(_*40|0)+28|0;v=f[m>>2]|0;if((k+1|0)>>>0>v>>>0){v=~~(+(v>>>0)+100.0)>>>0;f[m>>2]=v;m=Hn(f[p+(_*40|0)+24>>2]|0,v*24|0)|0;v=f[w>>2]|0;k=v+(_*40|0)+24|0;if(!m){Me=41;break i}f[k>>2]=m;w=v;k=f[v+(_*40|0)+20>>2]|0}else{w=p;m=f[p+(_*40|0)+24>>2]|0}n[m+(k*24|0)>>1]=g;S=m+(k*24|0)+8|0;f[S>>2]=y;f[S+4>>2]=((y|0)<0)<<31>>31;f[m+(k*24|0)+16>>2]=M;f[w+(_*40|0)+20>>2]=k+1;if((g|0)==65424?(L=f[w+(_*40|0)+16>>2]|0,(L|0)!=0):0){S=L+((f[w+(_*40|0)+12>>2]|0)*24|0)|0;f[S>>2]=y;f[S+4>>2]=0}do{if((f[E>>2]|0)==65424){k=Dt(d)|0;k=-4-(f[K>>2]|0)+k|0;S=N;A=f[S+4>>2]|0;if(!(0>(A|0)|(0==(A|0)?k>>>0>(f[S>>2]|0)>>>0:0)))break;S=N;f[S>>2]=k;f[S+4>>2]=0}}while(0);if(t[ve>>0]&4){Me=46;break}if((Ot(d,f[I>>2]|0,2,b)|0)!=2){Me=50;break i}ct(f[I>>2]|0,q,2);if((f[q>>2]|0)==65427)break r}if((Me|0)==7){Me=0;f[Se>>2]=64;break}else if((Me|0)==14){Me=0;f[Se>>2]=64;break}else if((Me|0)==46){Me=0;S=Ft(d,f[Y>>2]|0,0,b)|0;if(!((P|0)==0?(S|0)==(f[Y>>2]|0):0)){Me=47;break i}f[q>>2]=65427;break}}}while(0);S=Nt(d)|0;if((S|0)==0&(P|0)==0?(f[Se>>2]|0)==64:0){Me=115;break}k=t[ve>>0]|0;if(!(k&4)){w=f[j>>2]|0;_=f[H>>2]|0;if(!(f[z>>2]|0)){k=f[Y>>2]|0;if(k>>>0>1){m=k+-2|0;f[Y>>2]=m}else m=k}else{m=Nt(d)|0;m=Il(m|0,P|0,-2,0)|0;f[Y>>2]=m}k=_+(w*5640|0)+5592|0;S=_+(w*5640|0)+5596|0;do{if(!m)A=1;else{A=Nt(d)|0;E=P;if(0>(E|0)|0==(E|0)&m>>>0>A>>>0)Ht(b,2,8573,ae)|0;w=f[k>>2]|0;if(!w){A=Nn(f[Y>>2]|0)|0;f[k>>2]=A;if(!A)break i;else{A=0;break}}w=Hn(w,(f[Y>>2]|0)+(f[S>>2]|0)|0)|0;if(!w){Me=65;break i}f[k>>2]=w;A=0}}while(0);w=f[T>>2]|0;if(w){y=Dt(d)|0;m=P;E=Il(y|0,m|0,-2,-1)|0;_=f[j>>2]|0;w=w+40|0;p=f[w>>2]|0;g=f[p+(_*40|0)+12>>2]|0;v=f[p+(_*40|0)+16>>2]|0;M=v+(g*24|0)+8|0;f[M>>2]=E;f[M+4>>2]=P;M=f[Y>>2]|0;m=Il(M|0,0,y|0,m|0)|0;g=v+(g*24|0)+16|0;f[g>>2]=m;f[g+4>>2]=P;M=M+2|0;g=f[p+(_*40|0)+20>>2]|0;m=p+(_*40|0)+28|0;v=f[m>>2]|0;if((g+1|0)>>>0>v>>>0){v=~~(+(v>>>0)+100.0)>>>0;f[m>>2]=v;m=Hn(f[p+(_*40|0)+24>>2]|0,v*24|0)|0;v=f[w>>2]|0;p=v+(_*40|0)+24|0;if(!m){k=p;Me=74;break}f[p>>2]=m;y=v;w=f[v+(_*40|0)+20>>2]|0}else{y=p;m=f[p+(_*40|0)+24>>2]|0;w=g}n[m+(w*24|0)>>1]=-109;g=xl(0,E|0,32)|0;E=m+(w*24|0)+8|0;f[E>>2]=g;f[E+4>>2]=P;f[m+(w*24|0)+16>>2]=M;f[y+(_*40|0)+20>>2]=w+1}if(!A)k=Ot(d,(f[k>>2]|0)+(f[S>>2]|0)|0,f[Y>>2]|0,b)|0;else k=0;f[Se>>2]=(k|0)==(f[Y>>2]|0)?8:64;f[S>>2]=(f[S>>2]|0)+k;k=t[ve>>0]|0;if((k&9)==1){t[ve>>0]=k|8;w=f[j>>2]|0;do{if((jt(d)|0)!=0?(F=Dt(d)|0,U=P,!((F|0)==-1&(U|0)==-1)):0){while(1){if((Ot(d,G,2,b)|0)!=2){Me=81;break}ct(G,X,2);if((f[X>>2]|0)!=65424){Me=83;break}if((Ot(d,G,2,b)|0)!=2){Me=85;break}ct(G,W,2);if((f[W>>2]|0)!=10){Me=87;break}f[W>>2]=8;k=Ot(d,G,8,b)|0;if((k|0)!=(f[W>>2]|0)){Me=89;break}if((k|0)!=8){Me=91;break}ct(G,J,2);ct(x,Q,4);ct(O,V,1);ct(B,Z,1);if((f[J>>2]|0)==(w|0)){Me=97;break}k=f[Q>>2]|0;if(k>>>0<14){Me=94;break}Me=k+-12|0;f[Q>>2]=Me;Me=Ft(d,Me,0,b)|0;if(!((P|0)==0?(Me|0)==(f[Q>>2]|0):0)){Me=96;break}}if((Me|0)==81){Me=0;k=(Ut(d,F,U,b)|0)!=0&1;w=0;break}else if((Me|0)==83){Me=0;k=(Ut(d,F,U,b)|0)!=0&1;w=0;break}else if((Me|0)==85){Me=0;Ht(b,1,8295,se)|0;k=0;w=0;break}else if((Me|0)==87){Me=0;Ht(b,1,8313,le)|0;k=0;w=0;break}else if((Me|0)==89){Me=0;Ht(b,1,8295,ue)|0;k=0;w=0;break}else if((Me|0)==91){Me=0;Ht(b,1,8662,ce)|0;k=0;w=0;break}else if((Me|0)==94){Me=0;k=(Ut(d,F,U,b)|0)!=0&1;w=0;break}else if((Me|0)==96){Me=0;k=(Ut(d,F,U,b)|0)!=0&1;w=0;break}else if((Me|0)==97){Me=0;w=(f[V>>2]|0)==(f[Z>>2]|0)&1;k=(Ut(d,F,U,b)|0)!=0&1;break}}else{k=1;w=0}}while(0);if(!k){Me=99;break}if(w){k=ie(f[R>>2]|0,f[C>>2]|0)|0;t[ve>>0]=t[ve>>0]&-18|16;if(k){w=f[H>>2]|0;v=0;do{_=w+(v*5640|0)+5588|0;m=f[_>>2]|0;if(m)f[_>>2]=m+1;v=v+1|0}while((v|0)!=(k|0))}Ht(b,2,8734,de)|0}}if(!(t[ve>>0]&1)){if((Ot(d,f[I>>2]|0,2,b)|0)!=2){Me=109;break}ct(f[I>>2]|0,q,2)}}else{t[ve>>0]=k&-6;f[Se>>2]=8;if((Ot(d,f[I>>2]|0,2,b)|0)!=2){Me=113;break}ct(f[I>>2]|0,q,2)}k=f[q>>2]|0;if(!((k|0)!=65497&(t[ve>>0]&1)==0)){Me=116;break}}switch(Me|0){case 9:{Ht(b,1,8295,$)|0;b=0;c=Re;return b|0}case 11:{Ht(b,1,8313,ee)|0;b=0;c=Re;return b|0}case 20:{Ht(b,1,8339,oe)|0;b=0;c=Re;return b|0}case 24:{Ht(b,1,8382,we)|0;b=0;c=Re;return b|0}case 26:{zn(f[I>>2]|0);f[I>>2]=0;f[D>>2]=0;Ht(b,1,8427,_e)|0;b=0;c=Re;return b|0}case 29:{Ht(b,1,8295,me)|0;b=0;c=Re;return b|0}case 31:{Ht(b,1,8461,re)|0;b=0;c=Re;return b|0}case 33:{f[te>>2]=f[q>>2];Ht(b,1,8490,te)|0;b=0;c=Re;return b|0}case 41:{zn(f[k>>2]|0);Ce=f[w>>2]|0;f[Ce+(_*40|0)+24>>2]=0;f[Ce+(_*40|0)+28>>2]=0;f[Ce+(_*40|0)+20>>2]=0;Ht(b,1,8537,ge)|0;b=0;c=Re;return b|0}case 47:{Ht(b,1,8295,ne)|0;b=0;c=Re;return b|0}case 50:{Ht(b,1,8295,fe)|0;b=0;c=Re;return b|0}case 65:{zn(f[k>>2]|0);f[k>>2]=0;break}case 74:{zn(f[k>>2]|0);Ce=f[w>>2]|0;f[Ce+(_*40|0)+24>>2]=0;f[Ce+(_*40|0)+28>>2]=0;f[Ce+(_*40|0)+20>>2]=0;Ht(b,1,8537,ye)|0;b=0;c=Re;return b|0}case 99:{Ht(b,1,8688,he)|0;b=0;c=Re;return b|0}case 109:{Ht(b,1,8295,be)|0;b=0;c=Re;return b|0}case 113:{Ht(b,1,8295,ke)|0;b=0;c=Re;return b|0}case 115:{k=f[q>>2]|0;Me=116;break}}if((Me|0)==116)if((k|0)==65497){k=ve;Me=117;break e}else{k=ve;break e}Ht(b,1,8628,pe)|0;b=0;c=Re;return b|0}else k=ve;break}default:{b=0;c=Re;return b|0}}}while(0);if((Me|0)==117)if((f[Se>>2]|0)!=256){f[e+200>>2]=0;f[Se>>2]=256}if(!(t[k>>0]&1)){m=ie(f[e+112>>2]|0,f[e+116>>2]|0)|0;v=e+200|0;w=f[v>>2]|0;e:do{if(w>>>0>>0){k=w;_=(f[e+164>>2]|0)+(w*5640|0)|0;while(1){if(f[_+5592>>2]|0){w=k;break e}w=k+1|0;f[v>>2]=w;if(w>>>0>>0){k=w;_=_+5640|0}else break}}}while(0);if((w|0)==(m|0)){f[h>>2]=0;b=1;c=Re;return b|0}}else{w=e+200|0;v=w;w=f[w>>2]|0}S=f[e+164>>2]|0;if(t[S+(w*5640|0)+5636>>0]&2){T=S+(w*5640|0)+5160|0;_=f[T>>2]|0;if(!_)k=0;else{m=f[S+(w*5640|0)+5164>>2]|0;p=0;k=0;do{k=(f[m+(p<<3)+4>>2]|0)+k|0;p=p+1|0}while((p|0)!=(_|0))}Me=Nn(k)|0;A=S+(w*5640|0)+5172|0;f[A>>2]=Me;if(!Me){Ht(b,1,8775,Ee)|0;Ht(b,1,8813,Ae)|0;b=0;c=Re;return b|0}E=S+(w*5640|0)+5180|0;f[E>>2]=k;_=f[T>>2]|0;M=S+(w*5640|0)+5164|0;if(!_)k=f[M>>2]|0;else{k=f[M>>2]|0;g=k;y=0;p=0;while(1){m=f[g+(y<<3)>>2]|0;if(!m)m=g;else{Nl((f[A>>2]|0)+p|0,m|0,f[g+(y<<3)+4>>2]|0)|0;m=f[M>>2]|0;p=(f[m+(y<<3)+4>>2]|0)+p|0;zn(f[m+(y<<3)>>2]|0);m=f[M>>2]|0;f[m+(y<<3)>>2]=0;f[m+(y<<3)+4>>2]=0;_=f[T>>2]|0;k=m}y=y+1|0;if(y>>>0>=_>>>0)break;else g=m}}f[T>>2]=0;zn(k);f[M>>2]=0;f[S+(w*5640|0)+5168>>2]=f[A>>2];f[S+(w*5640|0)+5176>>2]=f[E>>2];w=f[v>>2]|0}k=e+204|0;if(!(Fr(f[k>>2]|0,w,b)|0)){Ht(b,1,8839,Te)|0;b=0;c=Re;return b|0}else{Te=ie(f[e+112>>2]|0,f[e+116>>2]|0)|0;f[Ce>>2]=(f[v>>2]|0)+1;f[Ce+4>>2]=Te;Ht(b,4,8873,Ce)|0;f[i>>2]=f[v>>2];f[h>>2]=1;f[r>>2]=Ur(f[k>>2]|0)|0;b=f[f[(f[k>>2]|0)+20>>2]>>2]|0;f[a>>2]=f[b>>2];f[s>>2]=f[b+4>>2];f[l>>2]=f[b+8>>2];f[o>>2]=f[b+12>>2];f[u>>2]=f[b+16>>2];f[Se>>2]=f[Se>>2]|128;b=1;c=Re;return b|0}return 0}function $n(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0;v=c;c=c+48|0;_=v+28|0;m=v+32|0;b=e+8|0;if(!(f[b>>2]&128)){a=0;c=v;return a|0}w=e+200|0;if((f[w>>2]|0)!=(i|0)){a=0;c=v;return a|0}l=f[e+164>>2]|0;d=l+(i*5640|0)|0;k=l+(i*5640|0)+5592|0;o=f[k>>2]|0;if(!o){kf(d);a=0;c=v;return a|0}u=e+204|0;h=l+(i*5640|0)+5596|0;if(!(Hr(f[u>>2]|0,o,f[h>>2]|0,i,f[e+196>>2]|0,s)|0)){kf(d);f[b>>2]=f[b>>2]|32768;Ht(s,1,8912,v)|0;a=0;c=v;return a|0}if(!(zr(f[u>>2]|0,r,n)|0)){a=0;c=v;return a|0}l=f[k>>2]|0;if(l){zn(l);f[k>>2]=0;f[h>>2]=0}k=e+76|0;t[k>>0]=t[k>>0]&-2;f[b>>2]=f[b>>2]&-129;k=Nt(a)|0;e=f[b>>2]|0;if((e|0)==256|(k|0)==0&(P|0)==0&(e|0)==64){a=1;c=v;return a|0}if((Ot(a,m,2,s)|0)!=2){Ht(s,2,8931,v+8|0)|0;a=1;c=v;return a|0}ct(m,_,2);switch(f[_>>2]|0){case 65497:{f[w>>2]=0;f[b>>2]=256;a=1;c=v;return a|0}case 65424:{a=1;c=v;return a|0}default:if((Nt(a)|0)==0&(P|0)==0){f[b>>2]=64;Ht(s,2,8975,v+16|0)|0;a=1;c=v;return a|0}else{Ht(s,1,9005,v+24|0)|0;a=0;c=v;return a|0}}return 0}function ef(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;A=c;c=c+112|0;E=A+96|0;M=A+88|0;y=A+80|0;g=A+72|0;p=A+64|0;m=A+56|0;_=A+48|0;b=A+40|0;d=A+32|0;h=A+24|0;u=A+16|0;k=f[e+80>>2]|0;if((f[e+8>>2]|0)!=8){Ht(l,1,9037,A)|0;l=0;c=A;return l|0}if(!(n|r|a|s)){Ht(l,4,9116,A+8|0)|0;f[e+28>>2]=0;f[e+32>>2]=0;f[e+36>>2]=f[e+112>>2];f[e+40>>2]=f[e+116>>2];l=1;c=A;return l|0}v=k+8|0;o=f[v>>2]|0;if(o>>>0>>0){f[u>>2]=r;f[u+4>>2]=o;Ht(l,1,9185,u)|0;l=0;c=A;return l|0}o=f[k>>2]|0;if(o>>>0>r>>>0){f[h>>2]=r;f[h+4>>2]=o;Ht(l,2,9272,h)|0;o=0;r=f[k>>2]|0}else o=((r-(f[e+92>>2]|0)|0)>>>0)/((f[e+100>>2]|0)>>>0)|0;f[e+28>>2]=o;f[i>>2]=r;w=k+12|0;r=f[w>>2]|0;if(r>>>0>>0){f[d>>2]=n;f[d+4>>2]=r;Ht(l,1,9360,d)|0;l=0;c=A;return l|0}u=k+4|0;r=f[u>>2]|0;if(r>>>0>n>>>0){f[b>>2]=n;f[b+4>>2]=r;Ht(l,2,9445,b)|0;r=0;n=f[u>>2]|0}else r=((n-(f[e+96>>2]|0)|0)>>>0)/((f[e+104>>2]|0)>>>0)|0;f[e+32>>2]=r;h=i+4|0;f[h>>2]=n;r=f[k>>2]|0;if(r>>>0>a>>>0){f[_>>2]=a;f[_+4>>2]=r;Ht(l,1,9531,_)|0;l=0;c=A;return l|0}r=f[v>>2]|0;if(r>>>0>>0){f[m>>2]=a;f[m+4>>2]=r;Ht(l,2,9620,m)|0;r=f[e+112>>2]|0;a=f[v>>2]|0}else{r=f[e+100>>2]|0;r=(a+-1-(f[e+92>>2]|0)+r|0)/(r|0)|0}f[e+36>>2]=r;o=i+8|0;f[o>>2]=a;a=f[u>>2]|0;if(a>>>0>s>>>0){f[p>>2]=s;f[p+4>>2]=a;Ht(l,1,9708,p)|0;l=0;c=A;return l|0}a=f[w>>2]|0;if(a>>>0>>0){f[g>>2]=s;f[g+4>>2]=a;Ht(l,2,9798,g)|0;r=f[w>>2]|0;a=f[e+116>>2]|0}else{a=f[e+104>>2]|0;r=s;a=(s+-1-(f[e+96>>2]|0)+a|0)/(a|0)|0}f[e+40>>2]=a;s=i+12|0;f[s>>2]=r;g=e+76|0;t[g>>0]=t[g>>0]|2;g=f[i+16>>2]|0;e=f[i>>2]|0;e:do{if(g){n=f[h>>2]|0;v=n+-1|0;p=f[o>>2]|0;w=p+-1|0;_=e+-1|0;a=0;k=f[i+24>>2]|0;while(1){i=f[k>>2]|0;r=(_+i|0)/(i|0)|0;f[k+16>>2]=r;b=f[k+4>>2]|0;o=(v+b|0)/(b|0)|0;f[k+20>>2]=o;i=(w+i|0)/(i|0)|0;u=f[k+40>>2]|0;h=Bl(1,0,u|0)|0;d=P;i=Il(i|0,((i|0)<0)<<31>>31|0,-1,-1)|0;i=Il(i|0,P|0,h|0,d|0)|0;i=xl(i|0,P|0,u|0)|0;r=Il(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;r=Il(r|0,P|0,h|0,d|0)|0;r=xl(r|0,P|0,u|0)|0;r=i-r|0;if((r|0)<0){o=29;break}m=f[s>>2]|0;i=(b+-1+m|0)/(b|0)|0;f[k+8>>2]=r;i=Il(i|0,((i|0)<0)<<31>>31|0,-1,-1)|0;i=Il(i|0,P|0,h|0,d|0)|0;i=xl(i|0,P|0,u|0)|0;r=Il(o|0,((o|0)<0)<<31>>31|0,-1,-1)|0;r=Il(r|0,P|0,h|0,d|0)|0;r=xl(r|0,P|0,u|0)|0;r=i-r|0;if((r|0)<0){o=31;break}f[k+12>>2]=r;a=a+1|0;if(a>>>0>=g>>>0){r=p;a=m;break e}else k=k+52|0}if((o|0)==29){f[y>>2]=a;f[y+4>>2]=r;Ht(l,1,9887,y)|0;l=0;c=A;return l|0}else if((o|0)==31){f[M>>2]=a;f[M+4>>2]=r;Ht(l,1,9956,M)|0;l=0;c=A;return l|0}}else{n=f[h>>2]|0;r=f[o>>2]|0;a=f[s>>2]|0}}while(0);f[E>>2]=e;f[E+4>>2]=n;f[E+8>>2]=r;f[E+12>>2]=a;Ht(l,4,10025,E)|0;l=1;c=A;return l|0}function rf(){var e=0,i=0,r=0;e=Fn(1,208)|0;if(!e){i=0;return i|0}f[e>>2]=1;i=e+184|0;t[i>>0]=t[i>>0]|2;i=Fn(1,5640)|0;f[e+12>>2]=i;if(!i){Vn(e);i=0;return i|0}i=Fn(1,1e3)|0;f[e+16>>2]=i;if(!i){Vn(e);i=0;return i|0}f[e+20>>2]=1e3;f[e+60>>2]=-1;i=e+64|0;f[i>>2]=0;f[i+4>>2]=0;i=Fn(1,48)|0;do{if(i){f[i+32>>2]=100;f[i+24>>2]=0;r=Fn(100,24)|0;f[i+28>>2]=r;if(!r){zn(i);break}f[i+40>>2]=0;f[e+196>>2]=i;r=sa()|0;f[e+192>>2]=r;if(!r){Vn(e);r=0;return r|0}r=sa()|0;f[e+188>>2]=r;if(r){r=e;return r|0}Vn(e);r=0;return r|0}}while(0);f[e+196>>2]=0;Vn(e);r=0;return r|0}function tf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0;v=c;c=c+128|0;m=v+104|0;_=v+72|0;w=v+64|0;d=v+40|0;u=v+24|0;l=v+16|0;a=v+8|0;n=v;if(i&384){il(10063,11,1,r)|0;c=v;return}if((i&1|0)!=0?(t=f[e+80>>2]|0,(t|0)!=0):0)nf(t,0,r);if(i&2){il(10075,36,1,r)|0;t=f[e+96>>2]|0;f[n>>2]=f[e+92>>2];f[n+4>>2]=t;qs(r,10112,n)|0;n=f[e+104>>2]|0;f[a>>2]=f[e+100>>2];f[a+4>>2]=n;qs(r,10130,a)|0;a=f[e+116>>2]|0;f[l>>2]=f[e+112>>2];f[l+4>>2]=a;qs(r,10148,l)|0;pf(f[e+12>>2]|0,f[(f[e+80>>2]|0)+16>>2]|0,r);il(10164,2,1,r)|0}if((i&8|0)!=0?(o=ie(f[e+112>>2]|0,f[e+116>>2]|0)|0,(o|0)!=0):0){t=e+80|0;n=0;a=f[e+164>>2]|0;while(1){pf(a,f[(f[t>>2]|0)+16>>2]|0,r);n=n+1|0;if((n|0)==(o|0))break;else a=a+5640|0}}if(!(i&16)){c=v;return}l=f[e+196>>2]|0;il(10167,37,1,r)|0;o=l;i=f[o+4>>2]|0;t=l+8|0;e=f[t>>2]|0;t=f[t+4>>2]|0;a=u;f[a>>2]=f[o>>2];f[a+4>>2]=i;a=u+8|0;f[a>>2]=e;f[a+4>>2]=t;qs(r,10205,u)|0;il(10272,17,1,r)|0;a=l+28|0;t=f[a>>2]|0;e:do{if((t|0)!=0?(h=l+24|0,(f[h>>2]|0)!=0):0){n=0;while(1){i=t+(n*24|0)+8|0;o=f[i>>2]|0;i=f[i+4>>2]|0;u=f[t+(n*24|0)+16>>2]|0;f[d>>2]=s[t+(n*24|0)>>1];e=d+8|0;f[e>>2]=o;f[e+4>>2]=i;f[d+16>>2]=u;qs(r,10290,d)|0;n=n+1|0;if(n>>>0>=(f[h>>2]|0)>>>0)break e;t=f[a>>2]|0}}}while(0);il(10321,4,1,r)|0;i=l+40|0;a=f[i>>2]|0;if((a|0)!=0?(k=l+36|0,b=f[k>>2]|0,(b|0)!=0):0){n=0;t=0;do{t=(f[a+(n*40|0)+4>>2]|0)+t|0;n=n+1|0}while((n|0)!=(b|0));if(t){il(10326,16,1,r)|0;if(f[k>>2]|0){t=f[i>>2]|0;o=0;do{l=f[t+(o*40|0)+4>>2]|0;f[w>>2]=o;f[w+4>>2]=l;qs(r,10343,w)|0;t=f[i>>2]|0;n=f[t+(o*40|0)+16>>2]|0;e:do{if(!((l|0)==0|(n|0)==0)){t=0;while(1){e=n+(t*24|0)|0;p=f[e>>2]|0;e=f[e+4>>2]|0;h=n+(t*24|0)+8|0;u=f[h>>2]|0;h=f[h+4>>2]|0;b=n+(t*24|0)+16|0;d=f[b>>2]|0;b=f[b+4>>2]|0;f[_>>2]=t;a=_+8|0;f[a>>2]=p;f[a+4>>2]=e;a=_+16|0;f[a>>2]=u;f[a+4>>2]=h;a=_+24|0;f[a>>2]=d;f[a+4>>2]=b;qs(r,10379,_)|0;a=t+1|0;t=f[i>>2]|0;if((a|0)==(l|0))break e;n=f[t+(o*40|0)+16>>2]|0;t=a}}}while(0);n=f[t+(o*40|0)+24>>2]|0;e:do{if((n|0)!=0?(f[t+(o*40|0)+20>>2]|0)!=0:0){t=0;while(1){b=n+(t*24|0)+8|0;d=f[b>>2]|0;b=f[b+4>>2]|0;a=f[n+(t*24|0)+16>>2]|0;f[m>>2]=s[n+(t*24|0)>>1];p=m+8|0;f[p>>2]=d;f[p+4>>2]=b;f[m+16>>2]=a;qs(r,10290,m)|0;a=t+1|0;t=f[i>>2]|0;if(a>>>0>=(f[t+(o*40|0)+20>>2]|0)>>>0)break e;n=f[t+(o*40|0)+24>>2]|0;t=a}}}while(0);o=o+1|0}while(o>>>0<(f[k>>2]|0)>>>0)}il(10321,4,1,r)|0}}il(10164,2,1,r)|0;c=v;return}function nf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0;d=c;c=c+64|0;h=d+48|0;u=d+40|0;l=d+32|0;s=d+16|0;a=d;o=d+52|0;if(!i){il(10482,13,1,r)|0;t[o+1>>0]=0;n=9}else{il(10445,36,1,f[676]|0)|0;n=0}t[o>>0]=n;b=f[e>>2]|0;n=f[e+4>>2]|0;f[a>>2]=o;f[a+4>>2]=b;f[a+8>>2]=n;qs(r,10496,a)|0;a=f[e+8>>2]|0;n=f[e+12>>2]|0;f[s>>2]=o;f[s+4>>2]=a;f[s+8>>2]=n;qs(r,10513,s)|0;s=e+16|0;n=f[s>>2]|0;f[l>>2]=o;f[l+4>>2]=n;qs(r,10530,l)|0;n=e+24|0;if(!(f[n>>2]|0)){il(10164,2,1,r)|0;c=d;return}if(!(f[s>>2]|0)){il(10164,2,1,r)|0;c=d;return}else a=0;do{f[u>>2]=o;f[u+4>>2]=a;qs(r,10546,u)|0;ff((f[n>>2]|0)+(a*52|0)|0,i,r);f[h>>2]=o;qs(r,10566,h)|0;a=a+1|0}while(a>>>0<(f[s>>2]|0)>>>0);il(10164,2,1,r)|0;c=d;return}function ff(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0;u=c;c=c+48|0;o=u+24|0;l=u+16|0;s=u;a=u+32|0;n=(i|0)!=0;if(n){il(10571,41,1,f[676]|0)|0;i=0}else{t[a+1>>0]=9;t[a+2>>0]=0;i=9}t[a>>0]=i;h=f[e>>2]|0;i=f[e+4>>2]|0;f[s>>2]=a;f[s+4>>2]=h;f[s+8>>2]=i;qs(r,10613,s)|0;s=f[e+24>>2]|0;f[l>>2]=a;f[l+4>>2]=s;qs(r,10630,l)|0;l=f[e+32>>2]|0;f[o>>2]=a;f[o+4>>2]=l;qs(r,10642,o)|0;if(!n){c=u;return}il(10164,2,1,r)|0;c=u;return}function af(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+16|0;t=h;i=e+80|0;o=f[(f[i>>2]|0)+16>>2]|0;r=Fn(1,56)|0;f[t>>2]=r;if(!r){u=0;c=h;return u|0}f[r+24>>2]=f[(f[i>>2]|0)+16>>2];f[r>>2]=f[e+92>>2];f[r+4>>2]=f[e+96>>2];f[r+8>>2]=f[e+100>>2];f[r+12>>2]=f[e+104>>2];f[r+16>>2]=f[e+112>>2];f[r+20>>2]=f[e+116>>2];f[r+52>>2]=0;r=f[e+12>>2]|0;i=f[t>>2]|0;f[i+32>>2]=f[r>>2];f[i+36>>2]=f[r+4>>2];f[i+40>>2]=f[r+8>>2];f[i+44>>2]=f[r+16>>2];f[i+48>>2]=Fn(f[i+24>>2]|0,1080)|0;i=f[t>>2]|0;l=i+48|0;e=f[l>>2]|0;if(!e){En(t);u=0;c=h;return u|0}if(!o){u=i;c=h;return u|0}s=r+5584|0;r=0;while(1){a=f[s>>2]|0;f[e+(r*1080|0)+4>>2]=f[a+(r*1080|0)>>2];t=a+(r*1080|0)+4|0;n=f[t>>2]|0;f[e+(r*1080|0)+8>>2]=n;f[e+(r*1080|0)+12>>2]=f[a+(r*1080|0)+8>>2];f[e+(r*1080|0)+16>>2]=f[a+(r*1080|0)+12>>2];f[e+(r*1080|0)+20>>2]=f[a+(r*1080|0)+16>>2];f[e+(r*1080|0)+24>>2]=f[a+(r*1080|0)+20>>2];if(n>>>0<33){Nl(e+(r*1080|0)+948|0,a+(r*1080|0)+944|0,n|0)|0;Nl(e+(r*1080|0)+816|0,a+(r*1080|0)+812|0,f[t>>2]|0)|0}n=f[a+(r*1080|0)+24>>2]|0;f[e+(r*1080|0)+28>>2]=n;f[e+(r*1080|0)+808>>2]=f[a+(r*1080|0)+804>>2];if((n|0)!=1){n=(f[t>>2]|0)*3|0;t=n+-2|0;if((t|0)<97&(n|0)>2)u=10}else{t=1;u=10}if((u|0)==10){u=0;n=0;do{f[e+(r*1080|0)+32+(n<<2)>>2]=f[a+(r*1080|0)+28+(n<<3)+4>>2];f[e+(r*1080|0)+420+(n<<2)>>2]=f[a+(r*1080|0)+28+(n<<3)>>2];n=n+1|0}while((n|0)!=(t|0))}f[e+(r*1080|0)+812>>2]=f[a+(r*1080|0)+808>>2];r=r+1|0;if((r|0)==(o|0))break;e=f[l>>2]|0}c=h;return i|0}function sf(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0;i=Fn(1,48)|0;if(!i){u=0;return u|0}s=e+196|0;r=f[s>>2]|0;l=r;u=f[l+4>>2]|0;e=i;f[e>>2]=f[l>>2];f[e+4>>2]=u;e=r+8|0;u=f[e+4>>2]|0;l=i+8|0;f[l>>2]=f[e>>2];f[l+4>>2]=u;l=r+16|0;u=f[l+4>>2]|0;e=i+16|0;f[e>>2]=f[l>>2];f[e+4>>2]=u;r=f[r+24>>2]|0;e=i+24|0;f[e>>2]=r;r=Nn(r*24|0)|0;u=i+28|0;f[u>>2]=r;if(!r){zn(i);u=0;return u|0}t=f[(f[s>>2]|0)+28>>2]|0;if(!t){zn(r);f[u>>2]=0}else Nl(r|0,t|0,(f[e>>2]|0)*24|0)|0;e=f[(f[s>>2]|0)+36>>2]|0;a=i+36|0;f[a>>2]=e;e=Fn(e,40)|0;l=i+40|0;f[l>>2]=e;if(!e){zn(f[u>>2]|0);zn(i);u=0;return u|0}r=f[(f[s>>2]|0)+40>>2]|0;if(!r){zn(e);f[l>>2]=0;u=i;return u|0}if(!(f[a>>2]|0)){u=i;return u|0}r=f[r+20>>2]|0;f[e+20>>2]=r;r=Nn(r*24|0)|0;e=f[l>>2]|0;f[e+24>>2]=r;e:do{if(!r)r=0;else{n=r;r=0;while(1){t=f[(f[(f[s>>2]|0)+40>>2]|0)+(r*40|0)+24>>2]|0;if(!t){zn(n);e=f[l>>2]|0;f[e+(r*40|0)+24>>2]=0}else{Nl(n|0,t|0,(f[e+(r*40|0)+20>>2]|0)*24|0)|0;e=f[l>>2]|0}t=f[(f[(f[s>>2]|0)+40>>2]|0)+(r*40|0)+4>>2]|0;f[e+(r*40|0)+4>>2]=t;t=Nn(t*24|0)|0;e=f[l>>2]|0;f[e+(r*40|0)+16>>2]=t;if(!t)break;n=f[(f[(f[s>>2]|0)+40>>2]|0)+(r*40|0)+16>>2]|0;if(!n){zn(t);e=f[l>>2]|0;f[e+(r*40|0)+16>>2]=0}else{Nl(t|0,n|0,(f[e+(r*40|0)+4>>2]|0)*24|0)|0;e=f[l>>2]|0}f[e+(r*40|0)+32>>2]=0;f[e+(r*40|0)+36>>2]=0;r=r+1|0;if(r>>>0>=(f[a>>2]|0)>>>0){o=32;break}n=f[(f[(f[s>>2]|0)+40>>2]|0)+(r*40|0)+20>>2]|0;f[e+(r*40|0)+20>>2]=n;n=Nn(n*24|0)|0;e=f[l>>2]|0;f[e+(r*40|0)+24>>2]=n;if(!n)break e}if((o|0)==32)return i|0;if(r){zn(f[e+24>>2]|0);zn(f[(f[l>>2]|0)+16>>2]|0);if((r|0)!=1){e=1;do{zn(f[(f[l>>2]|0)+(e*40|0)+24>>2]|0);zn(f[(f[l>>2]|0)+(e*40|0)+16>>2]|0);e=e+1|0}while((e|0)!=(r|0))}e=f[l>>2]|0}zn(e);zn(f[u>>2]|0);zn(i);u=0;return u|0}}while(0);if(r){zn(f[e+24>>2]|0);if((r|0)!=1){e=1;do{zn(f[(f[l>>2]|0)+(e*40|0)+24>>2]|0);e=e+1|0}while((e|0)!=(r|0))}e=f[l>>2]|0}zn(e);zn(f[u>>2]|0);zn(i);u=0;return u|0}function lf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0;if(!r){r=0;return r|0}n=qt()|0;u=e+84|0;f[u>>2]=n;if(!n){r=0;return r|0}Kt(r,n);s=e+188|0;oa(f[s>>2]|0,27,t)|0;s=f[s>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(po[f[n>>2]&63](e,i,t)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}ha(s);if(!a){r=e+80|0;Vt(f[r>>2]|0);f[r>>2]=0;r=0;return r|0}}else ha(s);l=f[r+16>>2]|0;if(!l){r=1;return r|0}s=f[(f[u>>2]|0)+24>>2]|0;n=f[r+24>>2]|0;a=0;do{f[n+(a*52|0)+36>>2]=f[s+(a*52|0)+36>>2];r=s+(a*52|0)+44|0;f[n+(a*52|0)+44>>2]=f[r>>2];f[r>>2]=0;a=a+1|0}while(a>>>0>>0);n=1;return n|0}function of(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;v=c;c=c+16|0;l=v+8|0;if(!r){Ht(t,1,10654,v)|0;m=0;c=v;return m|0}a=f[e+112>>2]|0;s=ie(f[e+116>>2]|0,a)|0;if(s>>>0<=n>>>0){f[l>>2]=n;f[l+4>>2]=s+-1;Ht(t,1,10692,l)|0;m=0;c=v;return m|0}m=(n>>>0)%(a>>>0)|0;_=(n>>>0)/(a>>>0)|0;l=f[e+100>>2]|0;s=ie(l,m)|0;o=f[e+92>>2]|0;s=s+o|0;f[r>>2]=s;w=e+80|0;a=f[w>>2]|0;u=f[a>>2]|0;s=s>>>0>>0?u:s;f[r>>2]=s;o=(ie(l,m+1|0)|0)+o|0;m=r+8|0;f[m>>2]=o;l=f[a+8>>2]|0;o=o>>>0>l>>>0?l:o;f[m>>2]=o;m=f[e+104>>2]|0;l=ie(m,_)|0;u=f[e+96>>2]|0;l=l+u|0;k=r+4|0;f[k>>2]=l;b=f[a+4>>2]|0;l=l>>>0>>0?b:l;f[k>>2]=l;u=(ie(m,_+1|0)|0)+u|0;_=r+12|0;f[_>>2]=u;m=f[a+12>>2]|0;u=u>>>0>m>>>0?m:u;f[_>>2]=u;_=r+24|0;m=r+16|0;k=f[m>>2]|0;if(k){b=f[a+24>>2]|0;d=s+-1|0;h=l+-1|0;o=o+-1|0;a=u+-1|0;s=0;l=f[_>>2]|0;while(1){u=f[b+(s*52|0)+40>>2]|0;f[l+40>>2]=u;A=f[l>>2]|0;E=(d+A|0)/(A|0)|0;f[l+16>>2]=E;p=f[l+4>>2]|0;M=(h+p|0)/(p|0)|0;f[l+20>>2]=M;A=(o+A|0)/(A|0)|0;p=(a+p|0)/(p|0)|0;y=Bl(1,0,u|0)|0;g=P;A=Il(A|0,((A|0)<0)<<31>>31|0,-1,-1)|0;A=Il(A|0,P|0,y|0,g|0)|0;A=xl(A|0,P|0,u|0)|0;E=Il(E|0,((E|0)<0)<<31>>31|0,-1,-1)|0;E=Il(E|0,P|0,y|0,g|0)|0;E=xl(E|0,P|0,u|0)|0;f[l+8>>2]=A-E;p=Il(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;p=Il(p|0,P|0,y|0,g|0)|0;p=xl(p|0,P|0,u|0)|0;M=Il(M|0,((M|0)<0)<<31>>31|0,-1,-1)|0;g=Il(M|0,P|0,y|0,g|0)|0;u=xl(g|0,P|0,u|0)|0;f[l+12>>2]=p-u;s=s+1|0;if(s>>>0>=k>>>0)break;else l=l+52|0}}h=e+84|0;a=f[h>>2]|0;if(a)Vt(a);a=qt()|0;f[h>>2]=a;if(!a){A=0;c=v;return A|0}Kt(r,a);f[e+60>>2]=n;l=e+188|0;oa(f[l>>2]|0,28,t)|0;l=f[l>>2]|0;o=ua(l)|0;a=ca(l)|0;if(o){u=0;s=1;while(1){if(!s)s=0;else s=(po[f[a>>2]&63](e,i,t)|0)!=0;u=u+1|0;if((u|0)==(o|0))break;else{a=a+4|0;s=s&1}}ha(l);if(!s){Vt(f[w>>2]|0);f[w>>2]=0;A=0;c=v;return A|0}}else ha(l);a=f[m>>2]|0;if(!a){A=1;c=v;return A|0}o=f[(f[h>>2]|0)+24>>2]|0;l=f[_>>2]|0;u=0;while(1){f[l+(u*52|0)+36>>2]=f[o+(u*52|0)+36>>2];s=f[l+(u*52|0)+44>>2]|0;if(!s)s=o;else{zn(s);s=f[(f[h>>2]|0)+24>>2]|0;l=f[_>>2]|0;a=f[m>>2]|0}A=s+(u*52|0)+44|0;f[l+(u*52|0)+44>>2]=f[A>>2];f[A>>2]=0;u=u+1|0;if(u>>>0>=a>>>0){a=1;break}else o=s}c=v;return a|0}function uf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0;o=c;c=c+16|0;l=o;f[e+168>>2]=i;t=f[e+80>>2]|0;e:do{if((((t|0)!=0?(s=f[t+24>>2]|0,(s|0)!=0):0)?(n=f[e+12>>2]|0,(n|0)!=0):0)?(a=f[n+5584>>2]|0,(a|0)!=0):0){t=f[t+16>>2]|0;if(!t)t=1;else{n=0;while(1){if((f[a+(n*1080|0)+4>>2]|0)>>>0<=i>>>0)break;f[s+(n*52|0)+40>>2]=i;n=n+1|0;if(n>>>0>=t>>>0){t=1;break e}}Ht(r,1,10753,l)|0;t=0}}else t=0}while(0);c=o;return t|0}function cf(e,i,r){e=e|0;i=i|0;r=r|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,H=0,z=0,Y=0,q=0,X=0;z=c;c=c+48|0;j=z+32|0;U=z+24|0;F=z+16|0;D=z+8|0;N=z;S=e+204|0;a=f[S>>2]|0;P=e+116|0;x=e+112|0;O=ie(f[x>>2]|0,f[P>>2]|0)|0;B=(O|0)==1;if(!O){H=1;c=z;return H|0}I=e+200|0;T=e+12|0;C=e+164|0;R=e+8|0;L=a+20|0;E=a+24|0;A=0;a=0;u=0;e:while(1){if((f[I>>2]|0)!=(A|0)){H=5;break}y=A;A=A+1|0;M=ie(f[P>>2]|0,f[x>>2]|0)|0;f[D>>2]=A;f[D+4>>2]=M;Ht(r,4,10866,D)|0;f[T>>2]=0;M=f[S>>2]|0;f[M+12>>2]=f[(f[C>>2]|0)+(y*5640|0)+5588>>2];f[R>>2]=0;if(!(Nr(M,f[I>>2]|0,r)|0))break;s=f[S>>2]|0;if(f[(f[s+24>>2]|0)+16>>2]|0){o=0;do{l=f[(f[f[L>>2]>>2]|0)+20>>2]|0;if(B){f[l+(o*52|0)+32>>2]=f[(f[(f[E>>2]|0)+24>>2]|0)+(o*52|0)+44>>2];f[l+(o*52|0)+36>>2]=0}else{if(!(Dr(l+(o*52|0)|0)|0)){H=14;break e}s=f[S>>2]|0}o=o+1|0}while(o>>>0<(f[(f[s+24>>2]|0)+16>>2]|0)>>>0)}M=Yr(s)|0;if(!B){if(M>>>0>u>>>0){s=Hn(a,M)|0;if(!s){H=20;break}else{a=s;s=M}}else s=u;l=f[S>>2]|0;y=l+24|0;o=f[y>>2]|0;if(f[o+16>>2]|0){g=l+20|0;l=a;p=0;do{_=f[(f[f[g>>2]>>2]|0)+20>>2]|0;h=f[o+24>>2]|0;w=f[h+(p*52|0)+24>>2]|0;w=((w&7|0)!=0&1)+(w>>>3)|0;d=f[_+(p*52|0)+8>>2]|0;b=f[_+(p*52|0)>>2]|0;v=d-b|0;k=f[_+(p*52|0)+12>>2]|0;_=f[_+(p*52|0)+4>>2]|0;X=f[o>>2]|0;q=f[h+(p*52|0)>>2]|0;u=f[h+(p*52|0)+4>>2]|0;Y=(q+~X+(f[o+8>>2]|0)|0)/(q|0)|0;m=Y-v|0;o=b-((X+-1+q|0)/(q|0)|0)+(ie(Y,_-(((f[o+4>>2]|0)+-1+u|0)/(u|0)|0)|0)|0)|0;o=(f[h+(p*52|0)+44>>2]|0)+(o<<2)|0;i:do{switch(((w|0)==3?4:w)|0){case 1:{u=(k|0)==(_|0);if(!(f[h+(p*52|0)+32>>2]|0)){if(u)break i;w=(d|0)==(b|0);b=k-_|0;k=0;while(1){if(!w){u=0;h=l;d=o;while(1){t[h>>0]=f[d>>2];u=u+1|0;if((u|0)==(v|0))break;else{h=h+1|0;d=d+4|0}}l=l+v|0;o=o+(v<<2)|0}k=k+1|0;if((k|0)==(b|0))break;else o=o+(m<<2)|0}}else{if(u)break i;w=(d|0)==(b|0);b=k-_|0;k=0;while(1){if(!w){u=0;h=l;d=o;while(1){t[h>>0]=f[d>>2];u=u+1|0;if((u|0)==(v|0))break;else{h=h+1|0;d=d+4|0}}l=l+v|0;o=o+(v<<2)|0}k=k+1|0;if((k|0)==(b|0))break;else o=o+(m<<2)|0}}break}case 2:{u=(k|0)==(_|0);if(!(f[h+(p*52|0)+32>>2]|0)){if(!u){w=(d|0)==(b|0);b=k-_|0;k=0;while(1){if(!w){u=0;h=l;d=o;while(1){n[h>>1]=f[d>>2];u=u+1|0;if((u|0)==(v|0))break;else{h=h+2|0;d=d+4|0}}l=l+(v<<1)|0;o=o+(v<<2)|0}k=k+1|0;if((k|0)==(b|0))break;else o=o+(m<<2)|0}}}else if(!u){w=(d|0)==(b|0);b=k-_|0;k=0;while(1){if(!w){u=0;h=l;d=o;while(1){n[h>>1]=f[d>>2];u=u+1|0;if((u|0)==(v|0))break;else{h=h+2|0;d=d+4|0}}l=l+(v<<1)|0;o=o+(v<<2)|0}k=k+1|0;if((k|0)==(b|0))break;else o=o+(m<<2)|0}}break}case 4:{if((k|0)!=(_|0)){w=(d|0)==(b|0);b=k-_|0;k=0;while(1){if(!w){u=0;h=l;d=o;while(1){f[h>>2]=f[d>>2];u=u+1|0;if((u|0)==(v|0))break;else{h=h+4|0;d=d+4|0}}l=l+(v<<2)|0;o=o+(v<<2)|0}k=k+1|0;if((k|0)==(b|0))break;else o=o+(m<<2)|0}}break}default:{}}}while(0);p=p+1|0;o=f[y>>2]|0}while(p>>>0<(f[o+16>>2]|0)>>>0);l=f[S>>2]|0}if(!(qr(l,a,M)|0)){H=63;break}}else s=u;if(!(Mf(e,i,r)|0)){H=65;break}if(A>>>0>=O>>>0){H=67;break}else u=s}if((H|0)==5)Ht(r,1,10829,N)|0;else if((H|0)==14){Ht(r,1,10887,F)|0;if(!a){X=0;c=z;return X|0}zn(a);X=0;c=z;return X|0}else if((H|0)==20){if(a)zn(a);Ht(r,1,10925,U)|0;X=0;c=z;return X|0}else if((H|0)==63){Ht(r,1,10964,j)|0;zn(a);X=0;c=z;return X|0}else if((H|0)==65){if(!a){X=0;c=z;return X|0}zn(a);X=0;c=z;return X|0}else if((H|0)==67){if(!a){X=1;c=z;return X|0}zn(a);X=1;c=z;return X|0}if(!a){X=0;c=z;return X|0}zn(a);X=0;c=z;return X|0}function hf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,s=0,l=0,o=0;t=e+188|0;if(!(oa(f[t>>2]|0,29,r)|0)){i=0;return i|0}if(((n[e+88>>1]|0)+-3&65535)<4?(oa(f[t>>2]|0,30,r)|0)==0:0){i=0;return i|0}if(!(oa(f[t>>2]|0,31,r)|0)){i=0;return i|0}if(!(oa(f[t>>2]|0,32,r)|0)){i=0;return i|0}if(!(oa(f[t>>2]|0,33,r)|0)){i=0;return i|0}o=f[t>>2]|0;s=ua(o)|0;t=ca(o)|0;if(!s)t=1;else{l=0;a=t;t=1;while(1){if(!t)t=0;else t=(po[f[a>>2]&63](e,i,r)|0)!=0;t=t&1;l=l+1|0;if((l|0)==(s|0))break;else a=a+4|0}}ha(o);i=t;return i|0}function df(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+16|0;a=qt()|0;o=e+80|0;f[o>>2]=a;if(!a){Ht(t,1,11011,h)|0;i=0;c=h;return i|0}Kt(r,a);l=f[r+24>>2]|0;if((l|0)!=0?(u=f[r+16>>2]|0,(u|0)!=0):0){s=0;do{r=l+(s*52|0)+44|0;a=f[r>>2]|0;if(a){f[(f[(f[o>>2]|0)+24>>2]|0)+(s*52|0)+44>>2]=a;f[r>>2]=0}s=s+1|0}while(s>>>0>>0)}a=e+192|0;if(!(oa(f[a>>2]|0,34,t)|0)){i=0;c=h;return i|0}if(!(oa(f[a>>2]|0,35,t)|0)){i=0;c=h;return i|0}if(!(oa(f[a>>2]|0,36,t)|0)){i=0;c=h;return i|0}s=f[a>>2]|0;l=ua(s)|0;a=ca(s)|0;if(l){o=0;r=1;while(1){if(!r)r=0;else r=(po[f[a>>2]&63](e,i,t)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{a=a+4|0;r=r&1}}ha(s);if(!r){i=0;c=h;return i|0}}else ha(s);a=e+188|0;if(!(oa(f[a>>2]|0,37,t)|0)){i=0;c=h;return i|0}if(!(oa(f[a>>2]|0,38,t)|0)){i=0;c=h;return i|0}if(!(oa(f[a>>2]|0,39,t)|0)){i=0;c=h;return i|0}if(!(oa(f[a>>2]|0,40,t)|0)){i=0;c=h;return i|0}if(!(oa(f[a>>2]|0,41,t)|0)){i=0;c=h;return i|0}if(!(oa(f[a>>2]|0,42,t)|0)){i=0;c=h;return i|0}if(!(oa(f[a>>2]|0,43,t)|0)){i=0;c=h;return i|0}r=e+88|0;if(((n[r>>1]|0)+-3&65535)<4){if(!(oa(f[a>>2]|0,44,t)|0)){i=0;c=h;return i|0}if((n[r>>1]|0)==4?(oa(f[a>>2]|0,45,t)|0)==0:0){i=0;c=h;return i|0}}if(!(oa(f[a>>2]|0,46,t)|0)){i=0;c=h;return i|0}if((f[e+108>>2]|0)!=0?(oa(f[a>>2]|0,47,t)|0)==0:0){i=0;c=h;return i|0}if((n[r>>1]&256)!=0?(oa(f[a>>2]|0,48,t)|0)==0:0){i=0;c=h;return i|0}if((f[e+196>>2]|0)!=0?(oa(f[a>>2]|0,49,t)|0)==0:0){i=0;c=h;return i|0}if(!(oa(f[a>>2]|0,50,t)|0)){i=0;c=h;return i|0}if(!(oa(f[a>>2]|0,51,t)|0)){i=0;c=h;return i|0}o=f[a>>2]|0;s=ua(o)|0;a=ca(o)|0;if(!s)a=1;else{l=0;r=a;a=1;while(1){if(!a)a=0;else a=(po[f[r>>2]&63](e,i,t)|0)!=0;a=a&1;l=l+1|0;if((l|0)==(s|0))break;else r=r+4|0}}ha(o);i=a;c=h;return i|0}function bf(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0;w=c;c=c+48|0;b=w+40|0;k=w+32|0;d=w+24|0;u=w+16|0;l=w+8|0;s=w;o=e+200|0;if((f[o>>2]|0)==(i|0)){h=ie(f[e+116>>2]|0,f[e+112>>2]|0)|0;f[l>>2]=i+1;f[l+4>>2]=h;Ht(a,4,10866,l)|0;f[e+12>>2]=0;h=e+204|0;l=f[h>>2]|0;f[l+12>>2]=f[(f[e+164>>2]|0)+(i*5640|0)+5588>>2];f[e+8>>2]=0;if(Nr(l,f[o>>2]|0,a)|0){s=f[h>>2]|0;e:do{if(f[(f[s+24>>2]|0)+16>>2]|0){l=0;while(1){if(!(Dr((f[(f[f[s+20>>2]>>2]|0)+20>>2]|0)+(l*52|0)|0)|0))break;l=l+1|0;s=f[h>>2]|0;if(l>>>0>=(f[(f[s+24>>2]|0)+16>>2]|0)>>>0)break e}Ht(a,1,10887,d)|0;k=0;c=w;return k|0}}while(0);if(!(qr(s,r,t)|0)){Ht(a,1,10964,k)|0;k=0;c=w;return k|0}if(Mf(e,n,a)|0){k=1;c=w;return k|0}f[b>>2]=i;Ht(a,1,11101,b)|0;k=0;c=w;return k|0}}else Ht(a,1,10829,s)|0;f[u>>2]=i;Ht(a,1,11044,u)|0;k=0;c=w;return k|0}function kf(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0;if(!e)return;n=e+5164|0;i=f[n>>2]|0;if(i){a=e+5160|0;r=f[a>>2]|0;if(r){t=0;while(1){i=f[i+(t<<3)>>2]|0;if(i){zn(i);r=f[a>>2]|0}t=t+1|0;if(t>>>0>=r>>>0)break;i=f[n>>2]|0}i=f[n>>2]|0}f[a>>2]=0;zn(i);f[n>>2]=0}i=e+5172|0;r=f[i>>2]|0;if(r){zn(r);f[i>>2]=0}i=e+5584|0;r=f[i>>2]|0;if(r){zn(r);f[i>>2]=0}i=e+5608|0;r=f[i>>2]|0;if(r){zn(r);f[i>>2]=0}i=e+5604|0;r=f[i>>2]|0;if(r){zn(r);f[i>>2]=0}i=e+5624|0;r=f[i>>2]|0;if(r){zn(r);f[i>>2]=0;f[e+5632>>2]=0;f[e+5628>>2]=0}l=e+5612|0;i=f[l>>2]|0;if(i){s=e+5616|0;r=f[s>>2]|0;if(r){a=0;while(1){t=i+12|0;n=f[t>>2]|0;if(n){zn(n);f[t>>2]=0;r=f[s>>2]|0}a=a+1|0;if(a>>>0>=r>>>0)break;else i=i+20|0}i=f[l>>2]|0}zn(i);f[l>>2]=0}i=e+5600|0;r=f[i>>2]|0;if(r){zn(r);f[i>>2]=0}i=e+5592|0;r=f[i>>2]|0;if(!r)return;zn(r);f[i>>2]=0;f[e+5596>>2]=0;return}function wf(e,i,r){e=e|0;i=i|0;r=r|0;return 1}function _f(e,i,r){e=e|0;i=i|0;r=r|0;return(f[e+8>>2]|0)==0&(f[e+188>>2]|0)!=0&(f[e+192>>2]|0)!=0&1|0}function mf(e,i,r){e=e|0;i=i|0;r=r|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,H=0,z=0,Y=0,q=0,X=0,V=0,G=0,K=0,W=0,Z=0;Z=c;c=c+224|0;W=Z+200|0;V=Z+192|0;X=Z+184|0;z=Z+176|0;H=Z+168|0;j=Z+160|0;F=Z+152|0;N=Z+144|0;D=Z+136|0;R=Z+128|0;I=Z+120|0;C=Z+112|0;T=Z+104|0;S=Z+96|0;A=Z+88|0;E=Z+80|0;B=Z+72|0;O=Z+64|0;M=Z+56|0;y=Z+48|0;g=Z+40|0;L=Z+32|0;k=Z+24|0;h=Z+16|0;u=Z+8|0;U=Z;q=Z+216|0;a=Z+204|0;x=Z+212|0;p=Z+208|0;K=e+8|0;f[K>>2]=1;e:do{if((Ot(i,q,2,r)|0)==2?(ct(q,a,2),(f[a>>2]|0)==65359):0){f[K>>2]=2;b=Dt(i)|0;b=Il(b|0,P|0,-2,-1)|0;d=P;G=e+196|0;s=f[G>>2]|0;f[s>>2]=b;f[s+4>>2]=d;s=U;f[s>>2]=b;f[s+4>>2]=d;Ht(r,4,15766,U)|0;s=f[G>>2]|0;d=f[s>>2]|0;b=s+24|0;a=f[b>>2]|0;o=s+32|0;l=f[o>>2]|0;do{if((a+1|0)>>>0>l>>>0){v=~~(+(l>>>0)+100.0)>>>0;f[o>>2]=v;a=s+28|0;s=Hn(f[a>>2]|0,v*24|0)|0;if(!s){zn(f[a>>2]|0);f[a>>2]=0;f[o>>2]=0;f[b>>2]=0;Ht(r,1,15803,u)|0;break e}else{f[a>>2]=s;a=f[b>>2]|0;break}}else s=f[s+28>>2]|0}while(0);n[s+(a*24|0)>>1]=-177;m=xl(0,d|0,32)|0;v=s+(a*24|0)+8|0;f[v>>2]=m;f[v+4>>2]=P;f[s+(a*24|0)+16>>2]=2;f[b>>2]=a+1;v=e+16|0;if((Ot(i,f[v>>2]|0,2,r)|0)!=2){Ht(r,1,8295,k)|0;r=0;c=Z;return r|0}ct(f[v>>2]|0,x,2);a=f[x>>2]|0;if((a|0)!=65424){m=e+20|0;w=0;l=0;_=0;i:while(1){if(a>>>0<65280){Y=14;break}else u=784;while(1){s=f[u>>2]|0;o=(s|0)==0;if(o|(s|0)==(a|0))break;else u=u+12|0}if(o){Ht(r,2,15914,g)|0;h=2;r:while(1){do{if((Ot(i,f[v>>2]|0,2,r)|0)!=2){Y=20;break i}ct(f[v>>2]|0,U,2);a=f[U>>2]|0}while(a>>>0<65280);u=784;while(1){s=f[u>>2]|0;if((s|0)==0|(s|0)==(a|0)){o=u;a=u;break}else u=u+12|0}if(!(f[a+4>>2]&f[K>>2])){Y=25;break i}if((s|0)>=65424){Y=100;break}switch(s|0){case 0:break;default:{k=o;b=h;break r}}h=h+2|0}if((Y|0)==100){Y=0;switch(s|0){case 65424:{s=w;a=_;Y=27;break i}default:{k=o;b=h}}}u=f[G>>2]|0;d=Dt(i)|0;d=d-b|0;o=u+24|0;a=f[o>>2]|0;s=u+32|0;h=f[s>>2]|0;if((a+1|0)>>>0>h>>>0){a=~~(+(h>>>0)+100.0)>>>0;f[s>>2]=a;u=u+28|0;a=Hn(f[u>>2]|0,a*24|0)|0;if(!a){l=u;a=u;Y=32;break}f[u>>2]=a;s=a;a=f[o>>2]|0}else s=f[u+28>>2]|0;n[s+(a*24|0)>>1]=0;h=s+(a*24|0)+8|0;f[h>>2]=d;f[h+4>>2]=((d|0)<0)<<31>>31;f[s+(a*24|0)+16>>2]=b;f[o>>2]=a+1;a=f[k>>2]|0;f[x>>2]=a;if((a|0)==65424){s=w;a=_;break}else o=784;while(1){s=f[o>>2]|0;if((s|0)==0|(s|0)==(a|0))break;else o=o+12|0}}else o=u;_=(s|0)==65361?1:_;w=(s|0)==65362?1:w;l=(s|0)==65372?1:l;if(!(f[o+4>>2]&f[K>>2])){Y=38;break}if((Ot(i,f[v>>2]|0,2,r)|0)!=2){Y=40;break}ct(f[v>>2]|0,p,2);s=(f[p>>2]|0)+-2|0;f[p>>2]=s;a=f[v>>2]|0;if(s>>>0>(f[m>>2]|0)>>>0){a=Hn(a,s)|0;if(!a){Y=43;break}f[v>>2]=a;s=f[p>>2]|0;f[m>>2]=s}a=Ot(i,a,s,r)|0;if((a|0)!=(f[p>>2]|0)){Y=46;break}if(!(Co[f[o+8>>2]&63](e,f[v>>2]|0,a,r)|0)){Y=48;break}h=f[G>>2]|0;d=f[o>>2]|0;b=Dt(i)|0;k=f[p>>2]|0;b=-4-k+b|0;k=k+4|0;o=h+24|0;a=f[o>>2]|0;s=h+32|0;u=f[s>>2]|0;if((a+1|0)>>>0>u>>>0){a=~~(+(u>>>0)+100.0)>>>0;f[s>>2]=a;u=h+28|0;a=Hn(f[u>>2]|0,a*24|0)|0;if(!a){l=u;a=u;Y=53;break}f[u>>2]=a;s=a;a=f[o>>2]|0}else s=f[h+28>>2]|0;n[s+(a*24|0)>>1]=d;d=s+(a*24|0)+8|0;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;f[s+(a*24|0)+16>>2]=k;f[o>>2]=a+1;if((Ot(i,f[v>>2]|0,2,r)|0)!=2){Y=55;break}ct(f[v>>2]|0,x,2);a=f[x>>2]|0;if((a|0)==65424){s=w;a=_;break}}switch(Y|0){case 14:{f[L>>2]=a;Ht(r,1,15863,L)|0;r=0;c=Z;return r|0}case 20:{Ht(r,1,8295,y)|0;Y=34;break}case 25:{Ht(r,1,8339,M)|0;Y=34;break}case 27:{f[x>>2]=65424;break}case 32:{zn(f[a>>2]|0);f[l>>2]=0;f[s>>2]=0;f[o>>2]=0;Ht(r,1,15803,O)|0;Y=34;break}case 38:{Ht(r,1,8339,E)|0;r=0;c=Z;return r|0}case 40:{Ht(r,1,8295,A)|0;r=0;c=Z;return r|0}case 43:{zn(f[v>>2]|0);f[v>>2]=0;f[m>>2]=0;Ht(r,1,8427,S)|0;r=0;c=Z;return r|0}case 46:{Ht(r,1,8295,T)|0;r=0;c=Z;return r|0}case 48:{Ht(r,1,15985,C)|0;r=0;c=Z;return r|0}case 53:{zn(f[a>>2]|0);f[l>>2]=0;f[s>>2]=0;f[o>>2]=0;Ht(r,1,15803,I)|0;r=0;c=Z;return r|0}case 55:{Ht(r,1,8295,R)|0;r=0;c=Z;return r|0}}if((Y|0)==34){Ht(r,1,15930,B)|0;r=0;c=Z;return r|0}if(a){if(!s){Ht(r,1,16090,N)|0;r=0;c=Z;return r|0}if(!l){Ht(r,1,16136,F)|0;r=0;c=Z;return r|0}i:do{if(t[e+184>>0]&1){m=e+120|0;do{if(f[m>>2]|0){d=e+124|0;b=0;a=0;s=0;r:do{l=f[d>>2]|0;o=f[l+(b<<3)>>2]|0;t:do{if(o){u=f[l+(b<<3)+4>>2]|0;l=a>>>0>>0;h=l?0:a-u|0;if((u|0)==(a|0)|l^1)a=h;else{o=l?o+a|0:o;a=u-a|0;while(1){if(a>>>0<4){Y=70;break r}ct(o,U,4);l=a+-4|0;a=f[U>>2]|0;s=a+s|0;if(l>>>0>>0)break;if((l|0)==(a|0)){a=h;break t}else{o=o+(a+4)|0;a=l-a|0}}a=a-l|0}}}while(0);b=b+1|0}while(b>>>0<(f[m>>2]|0)>>>0);if((Y|0)==70){Ht(r,1,16182,j)|0;break}if(!a)Y=77;else Ht(r,1,16213,H)|0}else{s=0;Y=77}}while(0);r:do{if((Y|0)==77){l=Nn(s)|0;k=e+144|0;f[k>>2]=l;if(!l){Ht(r,1,13302,z)|0;break}w=e+132|0;f[w>>2]=s;o=f[m>>2]|0;_=e+124|0;do{if(o){a=f[_>>2]|0;l=a;b=0;d=0;s=0;t:while(1){u=f[l+(b<<3)>>2]|0;if(!u)u=d;else{l=f[l+(b<<3)+4>>2]|0;a=(f[k>>2]|0)+s|0;n:do{if(d>>>0>>0){Nl(a|0,u|0,d|0)|0;s=s+d|0;if((l|0)==(d|0)){u=0;break}h=u+d|0;a=l-d|0;while(1){if(a>>>0<4){Y=88;break t}ct(h,q,4);u=h+4|0;o=a+-4|0;l=f[q>>2]|0;a=(f[k>>2]|0)+s|0;if(o>>>0>>0){l=u;break}Nl(a|0,u|0,l|0)|0;a=f[q>>2]|0;s=a+s|0;if((o|0)==(a|0)){u=0;break n}else{h=h+(a+4)|0;a=o-a|0}}Nl(a|0,l|0,o|0)|0;u=(f[q>>2]|0)-o|0;s=o+s|0}else{Nl(a|0,u|0,l|0)|0;u=d-l|0;s=l+s|0}}while(0);zn(f[(f[_>>2]|0)+(b<<3)>>2]|0);l=f[_>>2]|0;f[l+(b<<3)>>2]=0;f[l+(b<<3)+4>>2]=0;o=f[m>>2]|0;a=l}b=b+1|0;if(b>>>0>=o>>>0){Y=94;break}else d=u}if((Y|0)==88){Ht(r,1,16182,X)|0;break r}else if((Y|0)==94){l=f[k>>2]|0;s=f[w>>2]|0;break}}else a=f[_>>2]|0}while(0);f[e+128>>2]=l;f[e+152>>2]=s;f[m>>2]=0;zn(a);f[_>>2]=0;break i}}while(0);Ht(r,1,16236,V)|0;r=0;c=Z;return r|0}}while(0);Ht(r,4,16262,W)|0;W=Dt(i)|0;r=(f[G>>2]|0)+8|0;f[r>>2]=W+-2;f[r+4>>2]=0;f[K>>2]=8;r=1;c=Z;return r|0}}Ht(r,1,16044,D)|0;r=0;c=Z;return r|0}}while(0);Ht(r,1,15839,h)|0;r=0;c=Z;return r|0}function vf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0;x=c;c=c+16|0;P=x;R=f[e+80>>2]|0;L=e+88|0;S=ie(f[e+112>>2]|0,f[e+116>>2]|0)|0;w=f[R+16>>2]|0;b=w*1080|0;k=f[e+12>>2]|0;w=ie(w<<2,w)|0;e:do{if(S){_=k+5604|0;m=k+5620|0;v=k+5612|0;p=k+5616|0;g=k+5632|0;y=k+5624|0;M=k+5584|0;T=0;C=f[e+164>>2]|0;i:while(1){o=C+5584|0;E=f[o>>2]|0;Nl(C|0,k|0,5640)|0;i=C+5636|0;t[i>>0]=t[i>>0]&-4;f[C+5168>>2]=0;i=C+5604|0;f[i>>2]=0;u=C+5620|0;f[u>>2]=0;A=C+5612|0;f[A>>2]=0;h=C+5632|0;f[h>>2]=0;d=C+5624|0;f[d>>2]=0;f[o>>2]=E;if(f[_>>2]|0){n=Nn(w)|0;f[i>>2]=n;if(!n){i=0;n=25;break}Nl(n|0,f[_>>2]|0,w|0)|0}i=(f[m>>2]|0)*20|0;n=Nn(i)|0;f[A>>2]=n;if(!n){i=0;n=25;break}Nl(n|0,f[v>>2]|0,i|0)|0;i=f[p>>2]|0;if(i){s=0;l=f[A>>2]|0;o=f[v>>2]|0;while(1){a=o+12|0;if(f[a>>2]|0){i=o+16|0;n=Nn(f[i>>2]|0)|0;f[l+12>>2]=n;if(!n){i=0;n=25;break i}Nl(n|0,f[a>>2]|0,f[i>>2]|0)|0;i=f[p>>2]|0}f[u>>2]=(f[u>>2]|0)+1;s=s+1|0;if(s>>>0>=i>>>0)break;else{l=l+20|0;o=o+20|0}}}i=(f[g>>2]|0)*20|0;n=Nn(i)|0;f[d>>2]=n;if(!n){i=0;n=25;break}Nl(n|0,f[y>>2]|0,i|0)|0;f[h>>2]=f[g>>2];s=f[g>>2]|0;if(s){l=0;n=f[d>>2]|0;a=f[y>>2]|0;while(1){i=f[a+8>>2]|0;if(i)f[n+8>>2]=(f[A>>2]|0)+(((i-(f[v>>2]|0)|0)/20|0)*20|0);i=f[a+12>>2]|0;if(i)f[n+12>>2]=(f[A>>2]|0)+(((i-(f[v>>2]|0)|0)/20|0)*20|0);l=l+1|0;if(l>>>0>=s>>>0)break;else{n=n+20|0;a=a+20|0}}}Nl(E|0,f[M>>2]|0,b|0)|0;T=T+1|0;if(T>>>0>=S>>>0)break e;else C=C+5640|0}if((n|0)==25){c=x;return i|0}}}while(0);n=Lr(1)|0;i=e+204|0;f[i>>2]=n;if(!n){r=0;c=x;return r|0}if(Br(n,R,L)|0){r=1;c=x;return r|0}Ir(f[i>>2]|0);f[i>>2]=0;Ht(r,1,8839,P)|0;r=0;c=x;return r|0}function pf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0;y=c;c=c+128|0;p=y+120|0;v=y+112|0;m=y+104|0;_=y+96|0;w=y+88|0;k=y+80|0;b=y+72|0;d=y+64|0;h=y+56|0;u=y+48|0;o=y+40|0;l=y+32|0;s=y+24|0;a=y+16|0;n=y+8|0;t=y;if(!e){c=y;return}il(12191,17,1,r)|0;f[t>>2]=f[e>>2];qs(r,12209,t)|0;f[n>>2]=f[e+4>>2];qs(r,12222,n)|0;f[a>>2]=f[e+8>>2];qs(r,12234,a)|0;f[s>>2]=f[e+16>>2];qs(r,12251,s)|0;if((i|0)>0){a=e+5584|0;s=0;do{n=f[a>>2]|0;f[l>>2]=s;qs(r,12262,l)|0;f[o>>2]=f[n+(s*1080|0)>>2];qs(r,12276,o)|0;e=n+(s*1080|0)+4|0;f[u>>2]=f[e>>2];qs(r,12290,u)|0;f[h>>2]=f[n+(s*1080|0)+8>>2];qs(r,12313,h)|0;f[d>>2]=f[n+(s*1080|0)+12>>2];qs(r,12329,d)|0;f[b>>2]=f[n+(s*1080|0)+16>>2];qs(r,12345,b)|0;f[k>>2]=f[n+(s*1080|0)+20>>2];qs(r,12362,k)|0;il(12377,23,1,r)|0;if(f[e>>2]|0){t=0;do{M=f[n+(s*1080|0)+944+(t<<2)>>2]|0;f[w>>2]=f[n+(s*1080|0)+812+(t<<2)>>2];f[w+4>>2]=M;qs(r,12401,w)|0;t=t+1|0}while(t>>>0<(f[e>>2]|0)>>>0)}Xs(10,r)|0;M=n+(s*1080|0)+24|0;f[_>>2]=f[M>>2];qs(r,12410,_)|0;f[m>>2]=f[n+(s*1080|0)+804>>2];qs(r,12425,m)|0;il(12442,20,1,r)|0;if((f[M>>2]|0)!=1){e=(f[e>>2]|0)*3|0;if((e|0)>2){e=e+-2|0;g=8}}else{e=1;g=8}if((g|0)==8){g=0;t=0;do{M=f[n+(s*1080|0)+28+(t<<3)>>2]|0;f[v>>2]=f[n+(s*1080|0)+28+(t<<3)+4>>2];f[v+4>>2]=M;qs(r,12401,v)|0;t=t+1|0}while((t|0)!=(e|0))}Xs(10,r)|0;f[p>>2]=f[n+(s*1080|0)+808>>2];qs(r,12463,p)|0;il(12480,5,1,r)|0;s=s+1|0}while((s|0)!=(i|0))}il(10321,4,1,r)|0;c=y;return}function gf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0;T=c;c=c+80|0;p=T+32|0;g=T+24|0;E=T+16|0;M=T+8|0;b=T+64|0;y=T+60|0;d=T+56|0;w=T+52|0;m=T+48|0;_=T+44|0;v=T+40|0;k=T+36|0;f[b>>2]=1;t=Nn(1e3)|0;if(!t){Ht(r,1,12127,T)|0;r=0;c=T;return r|0}A=e+116|0;S=e+112|0;o=e+204|0;u=e+84|0;h=e+8|0;n=1e3;l=0;while(1){if(!(Qn(e,y,d,w,m,_,v,k,b,i,r)|0)){a=5;break}if(!(f[b>>2]|0)){a=17;break}s=f[d>>2]|0;if(s>>>0>n>>>0){n=Hn(t,s)|0;if(!n){a=9;break}else{t=n;a=s}}else a=n;n=f[y>>2]|0;if(!($n(e,n,t,s,i,r)|0)){a=11;break}n=n+1|0;s=ie(f[S>>2]|0,f[A>>2]|0)|0;f[g>>2]=n;f[g+4>>2]=s;Ht(r,4,11986,g)|0;s=f[o>>2]|0;if(!($f(f[(f[f[s+20>>2]>>2]|0)+20>>2]|0,f[s+24>>2]|0,t,f[(f[u>>2]|0)+24>>2]|0)|0)){a=13;break}f[p>>2]=n;Ht(r,4,12016,p)|0;s=Nt(i)|0;if((s|0)==0&(P|0)==0?(f[h>>2]|0)==64:0){a=17;break}l=l+1|0;if((l|0)==(ie(f[S>>2]|0,f[A>>2]|0)|0)){a=17;break}else n=a}if((a|0)==5){zn(t);r=0;c=T;return r|0}else if((a|0)==9){zn(t);S=ie(f[S>>2]|0,f[A>>2]|0)|0;f[M>>2]=(f[y>>2]|0)+1;f[M+4>>2]=S;Ht(r,1,11946,M)|0;r=0;c=T;return r|0}else if((a|0)==11){zn(t);S=ie(f[S>>2]|0,f[A>>2]|0)|0;f[E>>2]=n+1;f[E+4>>2]=S;Ht(r,1,12162,E)|0;r=0;c=T;return r|0}else if((a|0)==13){zn(t);r=0;c=T;return r|0}else if((a|0)==17){zn(t);r=1;c=T;return r|0}return 0}function yf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,x=0;x=c;c=c+96|0;E=x+56|0;C=x+48|0;M=x+40|0;A=x+32|0;R=x+24|0;o=x+16|0;l=x+8|0;_=x+92|0;T=x+88|0;w=x+84|0;v=x+80|0;g=x+76|0;p=x+72|0;y=x+68|0;m=x+64|0;f[_>>2]=1;t=Nn(1e3)|0;if(!t){Ht(r,1,11880,x)|0;L=0;c=x;return L|0}S=e+196|0;a=f[S>>2]|0;n=f[a+40>>2]|0;e:do{if(!n){n=ie(f[e+116>>2]|0,f[e+112>>2]|0)|0;f[a+36>>2]=n;n=Fn(n,40)|0;a=f[S>>2]|0;f[a+40>>2]=n;i:do{if(n){if(f[a+36>>2]|0){s=0;do{f[n+(s*40|0)+28>>2]=100;f[n+(s*40|0)+20>>2]=0;k=Fn(100,24)|0;a=f[S>>2]|0;n=f[a+40>>2]|0;f[n+(s*40|0)+24>>2]=k;s=s+1|0;if(!k)break i}while(s>>>0<(f[a+36>>2]|0)>>>0)}a=f[e+60>>2]|0;if(!n)break e;else{L=12;break e}}}while(0);zn(t);L=0;c=x;return L|0}else{a=f[e+60>>2]|0;L=12}}while(0);if((L|0)==12)if(f[n+16>>2]|0){if(!(f[n+(a*40|0)+4>>2]|0)){k=e+64|0;k=Il(f[k>>2]|0,f[k+4>>2]|0,2,0)|0;if(!(mt(i,k,P,r)|0)){Ht(r,1,11918,l)|0;zn(t);L=0;c=x;return L|0}}else{k=f[n+(a*40|0)+16>>2]|0;k=Il(f[k>>2]|0,f[k+4>>2]|0,2,0)|0;if(!(mt(i,k,P,r)|0)){Ht(r,1,11918,o)|0;zn(t);L=0;c=x;return L|0}}n=e+8|0;if((f[n>>2]|0)==256)f[n>>2]=8}e:do{if(Qn(e,T,w,v,g,p,y,m,_,i,r)|0){b=e+116|0;k=e+112|0;u=e+204|0;h=e+84|0;d=a+1|0;n=1e3;while(1){if(!(f[_>>2]|0))break;o=f[w>>2]|0;if(o>>>0>n>>>0){n=Hn(t,o)|0;if(!n){L=26;break}else{t=n;l=o}}else l=n;s=f[T>>2]|0;if(!($n(e,s,t,o,i,r)|0)){L=28;break}n=s+1|0;o=ie(f[k>>2]|0,f[b>>2]|0)|0;f[A>>2]=n;f[A+4>>2]=o;Ht(r,4,11986,A)|0;o=f[u>>2]|0;if(!($f(f[(f[f[o+20>>2]>>2]|0)+20>>2]|0,f[o+24>>2]|0,t,f[(f[h>>2]|0)+24>>2]|0)|0)){L=30;break}f[M>>2]=n;Ht(r,4,12016,M)|0;if((s|0)==(a|0)){L=32;break}f[E>>2]=n;f[E+4>>2]=d;Ht(r,2,12060,E)|0;if(!(Qn(e,T,w,v,g,p,y,m,_,i,r)|0))break e;else n=l}if((L|0)==26){zn(t);L=ie(f[k>>2]|0,f[b>>2]|0)|0;f[R>>2]=(f[T>>2]|0)+1;f[R+4>>2]=L;Ht(r,1,11946,R)|0;L=0;c=x;return L|0}else if((L|0)==28){zn(t);L=0;c=x;return L|0}else if((L|0)==30){zn(t);L=0;c=x;return L|0}else if((L|0)==32){L=(f[S>>2]|0)+8|0;L=Il(f[L>>2]|0,f[L+4>>2]|0,2,0)|0;if(!(mt(i,L,P,r)|0)){Ht(r,1,11918,C)|0;zn(t);L=0;c=x;return L|0}}zn(t);L=1;c=x;return L|0}}while(0);zn(t);L=0;c=x;return L|0}function Mf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0;O=c;c=c+32|0;R=O+16|0;v=O+8|0;u=O;C=O+20|0;L=f[e+40>>2]|0;x=e+36|0;d=f[x>>2]|0;b=e+204|0;o=f[b>>2]|0;f[o+16>>2]=0;T=e+8|0;f[T>>2]=0;f[C>>2]=0;ut(d,65424,2);ut(d+2|0,10,2);P=e+200|0;ut(d+4|0,f[P>>2]|0,2);A=e+12|0;ut(d+10|0,f[A>>2]|0,1);S=e+164|0;ut(d+11|0,f[(f[S>>2]|0)+((f[P>>2]|0)*5640|0)+5588>>2]|0,1);f[C>>2]=12;s=d+12|0;t=L+-12|0;h=e+88|0;if(((n[h>>1]|0)+-3&65535)>=4?(a=f[P>>2]|0,l=f[S>>2]|0,(f[l+(a*5640|0)+420>>2]|0)!=0):0){f[C>>2]=0;Wf(f[(f[e+80>>2]|0)+16>>2]|0,l,a,s,C);E=f[C>>2]|0;a=E+12|0;s=d+a|0;t=t-E|0}else a=12;f[C>>2]=0;ut(s,65427,2);f[o+4>>2]=f[T>>2];E=f[A>>2]|0;f[o+8>>2]=E;if(!E)f[(f[f[o+20>>2]>>2]|0)+840>>2]=0;f[C>>2]=0;if(!(jr(o,f[P>>2]|0,s+2|0,C,t+-4|0,0)|0)){Ht(r,1,11860,u)|0;i=0;c=O;return i|0}t=(f[C>>2]|0)+2|0;f[C>>2]=t;t=t+a|0;ut(d+6|0,t,4);if(((n[h>>1]|0)+-3&65535)<4){E=e+28|0;ut(f[E>>2]|0,f[P>>2]|0,1);M=(f[E>>2]|0)+1|0;f[E>>2]=M;ut(M,t,4);f[E>>2]=(f[E>>2]|0)+4}a=d+t|0;E=L-t|0;g=f[b>>2]|0;y=e+88|0;_=f[S>>2]|0;m=f[P>>2]|0;h=Qf(y,0,m)|0;M=e+8|0;f[A>>2]=(f[A>>2]|0)+1;e:do{if(h>>>0>1){d=g+4|0;b=g+8|0;k=g+20|0;w=e+28|0;l=a;a=E;t=0;u=1;while(1){f[M>>2]=u;f[C>>2]=0;ut(l,65424,2);ut(l+2|0,10,2);ut(l+4|0,f[P>>2]|0,2);ut(l+10|0,f[A>>2]|0,1);ut(l+11|0,f[(f[S>>2]|0)+((f[P>>2]|0)*5640|0)+5588>>2]|0,1);f[C>>2]=0;ut(l+12|0,65427,2);f[d>>2]=f[T>>2];o=f[A>>2]|0;f[b>>2]=o;if(!o)f[(f[f[k>>2]>>2]|0)+840>>2]=0;f[C>>2]=0;if(!(jr(g,f[P>>2]|0,l+14|0,C,a+-16|0,0)|0))break;B=f[C>>2]|0;I=B+2|0;f[C>>2]=I;o=B+14|0;s=l+o|0;t=t+12+I|0;a=a+-12+(-2-B)|0;ut(l+6|0,o,4);if(((n[y>>1]|0)+-3&65535)<4){ut(f[w>>2]|0,f[P>>2]|0,1);I=(f[w>>2]|0)+1|0;f[w>>2]=I;ut(I,o,4);f[w>>2]=(f[w>>2]|0)+4}f[A>>2]=(f[A>>2]|0)+1;u=u+1|0;if(u>>>0>=h>>>0){p=12;break e}else l=s}Ht(r,1,11860,v)|0}else{s=a;a=E;t=0;p=12}}while(0);e:do{if((p|0)==12){k=_+(m*5640|0)+420|0;i:do{if(f[k>>2]|0){w=g+16|0;_=g+4|0;m=g+8|0;v=g+20|0;b=e+28|0;d=1;r:while(1){f[w>>2]=d;h=Qf(y,d,f[P>>2]|0)|0;if(h){u=0;while(1){f[M>>2]=u;f[C>>2]=0;ut(s,65424,2);ut(s+2|0,10,2);ut(s+4|0,f[P>>2]|0,2);ut(s+10|0,f[A>>2]|0,1);ut(s+11|0,f[(f[S>>2]|0)+((f[P>>2]|0)*5640|0)+5588>>2]|0,1);f[C>>2]=0;ut(s+12|0,65427,2);f[_>>2]=f[T>>2];I=f[A>>2]|0;f[m>>2]=I;if(!I)f[(f[f[v>>2]>>2]|0)+840>>2]=0;f[C>>2]=0;if(!(jr(g,f[P>>2]|0,s+14|0,C,a+-16|0,0)|0))break r;I=f[C>>2]|0;l=I+2|0;f[C>>2]=l;t=t+12+l|0;l=I+14|0;o=s+l|0;a=a+-12+(-2-I)|0;ut(s+6|0,l,4);if(((n[y>>1]|0)+-3&65535)<4){ut(f[b>>2]|0,f[P>>2]|0,1);I=(f[b>>2]|0)+1|0;f[b>>2]=I;ut(I,l,4);f[b>>2]=(f[b>>2]|0)+4}f[A>>2]=(f[A>>2]|0)+1;u=u+1|0;if(u>>>0>=h>>>0){s=o;break}else s=o}}d=d+1|0;if(d>>>0>(f[k>>2]|0)>>>0)break i}Ht(r,1,11860,R)|0;break e}}while(0);I=t-E+L|0;if((Bt(i,f[x>>2]|0,I,r)|0)!=(I|0)){I=0;c=O;return I|0}f[P>>2]=(f[P>>2]|0)+1;I=1;c=O;return I|0}}while(0);I=0;c=O;return I|0}function Ef(e,i,r){e=e|0;i=i|0;r=r|0;e=e+44|0;ut(f[e>>2]|0,65497,2);if((Bt(i,f[e>>2]|0,2,r)|0)!=2){i=0;return i|0}i=(It(i,r)|0)!=0&1;return i|0}function Af(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;a=(f[e+32>>2]|0)*5|0;l=e+16|0;l=Il(f[l>>2]|0,f[l+4>>2]|0,6,0)|0;s=P;t=Dt(i)|0;n=P;if(!(Ut(i,l,s,r)|0)){l=0;return l|0}if((Bt(i,f[e+24>>2]|0,a,r)|0)!=(a|0)){l=0;return l|0}l=(Ut(i,t,n,r)|0)!=0&1;return l|0}function Sf(e,i,r){e=e|0;i=i|0;r=r|0;e=f[e+196>>2]|0;if(!e)return 1;i=Dt(i)|0;r=e;r=Pl(i|0,P|0,f[r>>2]|0,f[r+4>>2]|0)|0;i=e+16|0;f[i>>2]=r;f[i+4>>2]=P;return 1}function Tf(e,i,r){e=e|0;i=i|0;r=r|0;r=e+204|0;Ir(f[r>>2]|0);f[r>>2]=0;r=e+24|0;i=f[r>>2]|0;if(i){zn(i);f[r>>2]=0;f[e+28>>2]=0}r=e+36|0;i=f[r>>2]|0;if(!i){e=e+40|0;f[e>>2]=0;return 1}zn(i);f[r>>2]=0;e=e+40|0;f[e>>2]=0;return 1}function Cf(e,i,r){e=e|0;i=i|0;r=r|0;r=e+44|0;i=f[r>>2]|0;if(i){zn(i);f[r>>2]=0}f[e+48>>2]=0;return 1}function Rf(e,i,r){e=e|0;i=i|0;r=r|0;return 1}function Lf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=c;c=c+32|0;t=(f[e+8>>2]|0)==0&(f[e+188>>2]|0)!=0&(f[e+192>>2]|0)!=0&1;i=(f[(f[(f[e+164>>2]|0)+5584>>2]|0)+4>>2]|0)+-1|0;if(i>>>0>31){Ht(r,1,11790,n)|0;r=0;c=n;return r|0}i=1<>2]|0)>>>0>>0){Ht(r,1,11790,n+8|0)|0;r=0;c=n;return r|0}if((f[e+104>>2]|0)>>>0>=i>>>0){r=t;c=n;return r|0}Ht(r,1,11790,n+16|0)|0;r=0;c=n;return r|0}function Pf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,s=0,l=0,o=0;if((n[e+88>>1]&-32256)<<16>>16!=-32256){o=1;return o|0}l=ie(f[e+112>>2]|0,f[e+116>>2]|0)|0;if(!l){o=1;return o|0}s=e+80|0;o=0;r=1;a=f[e+164>>2]|0;while(1){if((f[a+16>>2]|0)==2){r=(f[a+5608>>2]|0)!=0&r;e=f[(f[s>>2]|0)+16>>2]|0;if(e){t=0;i=f[a+5584>>2]|0;while(1){r=(f[i+20>>2]&1^1)&r;t=t+1|0;if(t>>>0>=e>>>0)break;else i=i+1080|0}}}o=o+1|0;if((o|0)==(l|0))break;else a=a+5640|0}return r|0}function xf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0;a=e+88|0;s=e+32|0;l=f[e+80>>2]|0;o=ie(f[e+116>>2]|0,f[e+112>>2]|0)|0;f[s>>2]=0;if(!o)return 1;t=f[e+164>>2]|0;n=0;while(1){Er(l,a,n);i=t+420|0;r=0;e=0;do{u=Qf(a,e,n)|0;f[s>>2]=(f[s>>2]|0)+u;r=u+r|0;e=e+1|0}while(e>>>0<=(f[i>>2]|0)>>>0);f[t+5588>>2]=r;n=n+1|0;if((n|0)==(o|0))break;else t=t+5640|0}return 1}function Of(e,i,r){e=e|0;i=i|0;r=r|0;e=f[e+44>>2]|0;ut(e,65359,2);return(Bt(i,e,2,r)|0)==2|0}function Bf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0;k=c;c=c+16|0;l=k;o=f[e+80>>2]|0;d=o+16|0;u=(f[d>>2]|0)*3|0;b=u+40|0;t=f[o+24>>2]|0;a=e+48|0;h=e+44|0;n=f[h>>2]|0;do{if(b>>>0>(f[a>>2]|0)>>>0){n=Hn(n,b)|0;if(n){f[h>>2]=n;f[a>>2]=b;break}zn(f[h>>2]|0);f[h>>2]=0;f[a>>2]=0;Ht(r,1,11752,l)|0;i=0;c=k;return i|0}}while(0);ut(n,65361,2);ut(n+2|0,u+38|0,2);ut(n+4|0,s[e+88>>1]|0,2);ut(n+6|0,f[o+8>>2]|0,4);ut(n+10|0,f[o+12>>2]|0,4);ut(n+14|0,f[o>>2]|0,4);ut(n+18|0,f[o+4>>2]|0,4);ut(n+22|0,f[e+100>>2]|0,4);ut(n+26|0,f[e+104>>2]|0,4);ut(n+30|0,f[e+92>>2]|0,4);ut(n+34|0,f[e+96>>2]|0,4);ut(n+38|0,f[d>>2]|0,2);if(f[d>>2]|0){a=0;n=n+40|0;while(1){ut(n,(f[t+24>>2]|0)+-1+(f[t+32>>2]<<7)|0,1);ut(n+1|0,f[t>>2]|0,1);ut(n+2|0,f[t+4>>2]|0,1);a=a+1|0;if(a>>>0>=(f[d>>2]|0)>>>0)break;else{n=n+3|0;t=t+52|0}}}i=(Bt(i,f[h>>2]|0,b,r)|0)==(b|0)&1;c=k;return i|0}function If(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0;_=c;c=c+32|0;w=_+16|0;k=_+8|0;l=_;b=_+20|0;o=e+200|0;u=f[o>>2]|0;h=e+164|0;d=f[h>>2]|0;t=f[d+(u*5640|0)+5584>>2]|0;if(!(f[t>>2]&1))a=5;else a=(f[t+4>>2]|0)+5|0;s=a+9|0;f[b>>2]=s;n=e+48|0;e=e+44|0;t=f[e>>2]|0;do{if(s>>>0>(f[n>>2]|0)>>>0){t=Hn(t,s)|0;if(t){f[e>>2]=t;f[n>>2]=s;break}zn(f[e>>2]|0);f[e>>2]=0;f[n>>2]=0;Ht(r,1,11687,l)|0;w=0;c=_;return w|0}}while(0);ut(t,65362,2);ut(t+2|0,a+7|0,2);ut(t+4|0,f[d+(u*5640|0)>>2]|0,1);ut(t+5|0,f[d+(u*5640|0)+4>>2]|0,1);ut(t+6|0,f[d+(u*5640|0)+8>>2]|0,2);ut(t+8|0,f[d+(u*5640|0)+16>>2]|0,1);f[b>>2]=a;if(!(Jf(f[h>>2]|0,f[o>>2]|0,t+9|0,b,r)|0)){Ht(r,1,11726,k)|0;w=0;c=_;return w|0}if(!(f[b>>2]|0)){w=(Bt(i,f[e>>2]|0,s,r)|0)==(s|0)&1;c=_;return w|0}else{Ht(r,1,11726,w)|0;w=0;c=_;return w|0}return 0}function Df(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0;k=c;c=c+32|0;b=k+16|0;d=k+8|0;l=k;u=k+20|0;o=e+200|0;h=e+164|0;t=f[(f[h>>2]|0)+((f[o>>2]|0)*5640|0)+5584>>2]|0;n=f[t+24>>2]|0;if((n|0)==1)t=1;else t=((f[t+4>>2]|0)*3|0)+-2|0;a=(n|0)==0?t+1|0:t<<1|1;s=a+4|0;f[u>>2]=s;n=e+48|0;e=e+44|0;t=f[e>>2]|0;do{if(s>>>0>(f[n>>2]|0)>>>0){t=Hn(t,s)|0;if(t){f[e>>2]=t;f[n>>2]=s;break}zn(f[e>>2]|0);f[e>>2]=0;f[n>>2]=0;Ht(r,1,11622,l)|0;b=0;c=k;return b|0}}while(0);ut(t,65372,2);ut(t+2|0,a+2|0,2);f[u>>2]=a;if(!(Zf(f[h>>2]|0,f[o>>2]|0,0,t+4|0,u,r)|0)){Ht(r,1,11661,d)|0;b=0;c=k;return b|0}if(!(f[u>>2]|0)){b=(Bt(i,f[e>>2]|0,s,r)|0)==(s|0)&1;c=k;return b|0}else{Ht(r,1,11661,b)|0;b=0;c=k;return b|0}return 0}function Nf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0;y=c;c=c+16|0;p=y;_=y+4|0;b=e+80|0;t=f[(f[b>>2]|0)+16>>2]|0;if(t>>>0<=1){g=1;c=y;return g|0}m=e+164|0;v=e+200|0;w=e+48|0;d=e+44|0;h=1;while(1){s=f[m>>2]|0;o=f[v>>2]|0;a=f[s+(o*5640|0)+5584>>2]|0;l=f[a+(h*1080|0)>>2]|0;e:do{if((((((f[a>>2]|0)==(l|0)?(k=f[a+4>>2]|0,(k|0)==(f[a+(h*1080|0)+4>>2]|0)):0)?(f[a+8>>2]|0)==(f[a+(h*1080|0)+8>>2]|0):0)?(f[a+12>>2]|0)==(f[a+(h*1080|0)+12>>2]|0):0)?(f[a+16>>2]|0)==(f[a+(h*1080|0)+16>>2]|0):0)?(f[a+20>>2]|0)==(f[a+(h*1080|0)+20>>2]|0):0){if(k){e=0;do{if((f[a+812+(e<<2)>>2]|0)!=(f[a+(h*1080|0)+812+(e<<2)>>2]|0)){g=13;break e}if((f[a+944+(e<<2)>>2]|0)!=(f[a+(h*1080|0)+944+(e<<2)>>2]|0)){g=13;break e}e=e+1|0}while(e>>>0>>0)}}else g=13}while(0);if((g|0)==13){g=0;if(!(l&1))e=5;else e=(f[a+(h*1080|0)+4>>2]|0)+5|0;u=e+(t>>>0<257?6:7)|0;n=f[d>>2]|0;if(u>>>0>(f[w>>2]|0)>>>0){e=Hn(n,u)|0;if(!e){g=17;break}f[d>>2]=e;f[w>>2]=u;o=f[v>>2]|0;s=f[m>>2]|0;a=f[s+(o*5640|0)+5584>>2]|0;t=f[(f[b>>2]|0)+16>>2]|0;l=f[a+(h*1080|0)>>2]|0;n=e}t=t>>>0<257?1:2;if(!(l&1))e=5;else e=(f[a+(h*1080|0)+4>>2]|0)+5|0;ut(n,65363,2);ut(n+2|0,t+3+e|0,2);ut(n+4|0,h,t);l=t|4;ut(n+l|0,f[(f[s+(o*5640|0)+5584>>2]|0)+(h*1080|0)>>2]|0,1);f[_>>2]=e;Jf(f[m>>2]|0,f[v>>2]|0,n+(l+1)|0,_,r)|0;if((Bt(i,f[d>>2]|0,u,r)|0)!=(u|0)){e=0;g=24;break}t=f[(f[b>>2]|0)+16>>2]|0}h=h+1|0;if(h>>>0>=t>>>0){e=1;g=24;break}}if((g|0)==17){zn(f[d>>2]|0);f[d>>2]=0;f[w>>2]=0;Ht(r,1,11548,p)|0;g=0;c=y;return g|0}else if((g|0)==24){c=y;return e|0}return 0}function Ff(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0;v=c;c=c+16|0;_=v;b=v+4|0;h=e+80|0;t=f[(f[h>>2]|0)+16>>2]|0;if(t>>>0<=1){m=1;c=v;return m|0}k=e+164|0;w=e+200|0;d=e+48|0;u=e+44|0;o=1;while(1){l=f[(f[k>>2]|0)+((f[w>>2]|0)*5640|0)+5584>>2]|0;a=f[l+24>>2]|0;s=f[l+(o*1080|0)+24>>2]|0;e:do{if((a|0)==(s|0)?(f[l+804>>2]|0)==(f[l+(o*1080|0)+804>>2]|0):0){if((a|0)!=1){n=(f[l+4>>2]|0)*3|0;e=n+-2|0;if((n|0)!=((f[l+(o*1080|0)+4>>2]|0)*3|0)){m=14;break}if(!e)break}else e=1;n=0;do{if((f[l+28+(n<<3)>>2]|0)!=(f[l+(o*1080|0)+28+(n<<3)>>2]|0)){m=14;break e}n=n+1|0}while(n>>>0>>0);if(a){n=0;do{if((f[l+28+(n<<3)+4>>2]|0)!=(f[l+(o*1080|0)+28+(n<<3)+4>>2]|0)){m=14;break e}n=n+1|0}while(n>>>0>>0)}}else m=14}while(0);if((m|0)==14){m=0;if((s|0)==1)e=1;else e=((f[l+(o*1080|0)+4>>2]|0)*3|0)+-2|0;a=((s|0)==0?e+1|0:e<<1|1)+5+(t>>>0>256&1)|0;e=f[u>>2]|0;if(a>>>0>(f[d>>2]|0)>>>0){e=Hn(e,a)|0;if(!e){m=18;break}f[u>>2]=e;f[d>>2]=a;t=f[(f[k>>2]|0)+((f[w>>2]|0)*5640|0)+5584>>2]|0;n=f[t+(o*1080|0)+24>>2]|0}else{n=s;t=l}if((n|0)==1)t=1;else t=((f[t+(o*1080|0)+4>>2]|0)*3|0)+-2|0;n=(n|0)==0?t+1|0:t<<1|1;f[b>>2]=n+6;ut(e,65373,2);t=e+2|0;if((f[(f[h>>2]|0)+16>>2]|0)>>>0<257){ut(t,n+3|0,2);ut(e+4|0,o,1);e=e+5|0}else{ut(t,n+4|0,2);ut(e+4|0,o,2);e=e+6|0}f[b>>2]=n;Zf(f[k>>2]|0,f[w>>2]|0,o,e,b,r)|0;if((Bt(i,f[u>>2]|0,a,r)|0)!=(a|0)){e=0;m=28;break}t=f[(f[h>>2]|0)+16>>2]|0}o=o+1|0;if(o>>>0>=t>>>0){e=1;m=28;break}}if((m|0)==18){zn(f[u>>2]|0);f[u>>2]=0;f[d>>2]=0;Ht(r,1,11476,_)|0;m=0;c=v;return m|0}else if((m|0)==28){c=v;return e|0}return 0}function Uf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0;u=c;c=c+16|0;a=u;s=(f[e+32>>2]|0)*5|0;l=s+6|0;n=e+48|0;o=e+44|0;t=f[o>>2]|0;do{if(l>>>0>(f[n>>2]|0)>>>0){t=Hn(t,l)|0;if(t){f[o>>2]=t;f[n>>2]=l;break}zn(f[o>>2]|0);f[o>>2]=0;f[n>>2]=0;Ht(r,1,11437,a)|0;i=0;c=u;return i|0}}while(0);a=Dt(i)|0;e=e+16|0;f[e>>2]=a;f[e+4>>2]=P;ut(t,65365,2);ut(t+2|0,s+4|0,2);ut(t+4|0,0,1);ut(t+5|0,80,1);i=(Bt(i,f[o>>2]|0,l,r)|0)==(l|0)&1;c=u;return i|0}function jf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0;w=c;c=c+16|0;l=w;k=w+4|0;f[k>>2]=0;h=e+200|0;t=f[h>>2]|0;u=e+164|0;n=f[u>>2]|0;o=e+80|0;s=f[(f[o>>2]|0)+16>>2]|0;b=(ie(s>>>0<257?7:9,(f[n+(t*5640|0)+420>>2]|0)+1|0)|0)+4|0;a=e+48|0;d=e+44|0;e=f[d>>2]|0;do{if(b>>>0>(f[a>>2]|0)>>>0){t=Hn(e,b)|0;if(t){f[d>>2]=t;f[a>>2]=b;a=t;e=f[(f[o>>2]|0)+16>>2]|0;n=f[u>>2]|0;t=f[h>>2]|0;break}zn(f[d>>2]|0);f[d>>2]=0;f[a>>2]=0;Ht(r,1,11398,l)|0;i=0;c=w;return i|0}else{a=e;e=s}}while(0);Wf(e,n,t,a,k);i=(Bt(i,f[d>>2]|0,b,r)|0)==(b|0)&1;c=w;return i|0}function Hf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0;l=e+164|0;o=e+80|0;n=f[o>>2]|0;t=f[n+16>>2]|0;if(!t){i=1;return i|0}s=e+44|0;e=0;a=f[(f[l>>2]|0)+5584>>2]|0;while(1){if(f[a+808>>2]|0){u=f[(f[l>>2]|0)+5584>>2]|0;h=t>>>0<257?1:2;n=h+6|0;c=f[s>>2]|0;ut(c,65374,2);t=h|4;ut(c+2|0,t,2);ut(c+4|0,e,h);ut(c+t|0,0,1);ut(c+(t+1)|0,f[u+(e*1080|0)+808>>2]|0,1);if((Bt(i,f[s>>2]|0,n,r)|0)!=(n|0)){e=0;t=7;break}n=f[o>>2]|0}e=e+1|0;t=f[n+16>>2]|0;if(e>>>0>=t>>>0){e=1;t=7;break}else a=a+1080|0}if((t|0)==7)return e|0;return 0}function zf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0;u=c;c=c+16|0;a=u;s=f[e+108>>2]|0;l=dl(s)|0;o=l+6|0;t=e+48|0;n=e+44|0;e=f[n>>2]|0;do{if(o>>>0>(f[t>>2]|0)>>>0){e=Hn(e,o)|0;if(e){f[n>>2]=e;f[t>>2]=o;break}zn(f[n>>2]|0);f[n>>2]=0;f[t>>2]=0;Ht(r,1,11355,a)|0;i=0;c=u;return i|0}}while(0);ut(e,65380,2);ut(e+2|0,l+4|0,2);ut(e+4|0,1,2);Nl(e+6|0,s|0,l|0)|0;i=(Bt(i,f[n>>2]|0,o,r)|0)==(o|0)&1;c=u;return i|0}function Yf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0;S=c;c=c+32|0;y=S+24|0;v=S+16|0;b=S+8|0;a=S;l=f[e+80>>2]|0;o=l+16|0;s=f[o>>2]|0;u=s+6|0;g=e+48|0;A=e+44|0;n=f[A>>2]|0;do{if(u>>>0>(f[g>>2]|0)>>>0){n=Hn(n,u)|0;if(n){f[A>>2]=n;f[g>>2]=u;break}zn(f[A>>2]|0);f[A>>2]=0;f[g>>2]=0;Ht(r,1,11199,a)|0;i=0;c=S;return i|0}}while(0);ut(n,65400,2);ut(n+2|0,s+4|0,2);ut(n+4|0,f[o>>2]|0,2);if(f[o>>2]|0){s=0;a=f[l+24>>2]|0;n=n+6|0;while(1){ut(n,(f[a+24>>2]|0)+-1|f[a+32>>2]<<7,1);s=s+1|0;if(s>>>0>=(f[o>>2]|0)>>>0)break;else{a=a+52|0;n=n+1|0}}}if((Bt(i,f[A>>2]|0,u,r)|0)!=(u|0)){i=0;c=S;return i|0}w=e+200|0;d=f[w>>2]|0;_=e+164|0;h=f[_>>2]|0;a=h+(d*5640|0)+5616|0;e:do{if(f[a>>2]|0){u=0;e=f[h+(d*5640|0)+5612>>2]|0;while(1){s=e+16|0;l=f[s>>2]|0;o=l+10|0;n=f[A>>2]|0;if(o>>>0>(f[g>>2]|0)>>>0){n=Hn(n,o)|0;if(!n)break;f[A>>2]=n;f[g>>2]=o}ut(n,65396,2);ut(n+2|0,l+8|0,2);ut(n+4|0,0,2);ut(n+6|0,f[e+4>>2]<<8|f[e+8>>2]&255|f[e>>2]<<10,2);ut(n+8|0,0,2);Nl(n+10|0,f[e+12>>2]|0,f[s>>2]|0)|0;if((Bt(i,f[A>>2]|0,o,r)|0)!=(o|0)){m=0;M=42;break}u=u+1|0;if(u>>>0>=(f[a>>2]|0)>>>0)break e;else e=e+20|0}if((M|0)==42){c=S;return m|0}zn(f[A>>2]|0);f[A>>2]=0;f[g>>2]=0;Ht(r,1,11238,b)|0;i=0;c=S;return i|0}}while(0);b=h+(d*5640|0)+5628|0;e:do{if(f[b>>2]|0){k=0;h=f[h+(d*5640|0)+5624>>2]|0;while(1){u=h+4|0;a=f[u>>2]|0;l=a>>>0>255;o=l?2:1;l=l?32768:0;a=ie(o,a<<1)|0;e=a+19|0;n=f[A>>2]|0;if(e>>>0>(f[g>>2]|0)>>>0){n=Hn(n,e)|0;if(!n)break;f[A>>2]=n;f[g>>2]=e}ut(n,65397,2);ut(n+2|0,a+17|0,2);ut(n+4|0,0,2);ut(n+6|0,f[h>>2]|0,1);ut(n+7|0,0,2);ut(n+9|0,1,2);ut(n+11|0,1,1);ut(n+12|0,f[u>>2]|l,2);n=n+14|0;if(!(f[u>>2]|0))a=0;else{s=0;do{ut(n,s,o);n=n+o|0;s=s+1|0;a=f[u>>2]|0}while(s>>>0>>0)}ut(n,a|l,2);n=n+2|0;if(!(f[u>>2]|0))s=n;else{a=0;do{ut(n,a,o);n=n+o|0;a=a+1|0}while(a>>>0<(f[u>>2]|0)>>>0);s=n}n=((t[h+16>>0]^1)&255)<<16&65536;a=f[h+8>>2]|0;if(a)n=f[a+8>>2]|n;a=f[h+12>>2]|0;if(a)n=f[a+8>>2]<<8|n;ut(s,n,3);if((Bt(i,f[A>>2]|0,e,r)|0)!=(e|0)){m=0;M=42;break}k=k+1|0;if(k>>>0>=(f[b>>2]|0)>>>0)break e;else h=h+20|0}if((M|0)==42){c=S;return m|0}zn(f[A>>2]|0);f[A>>2]=0;f[g>>2]=0;Ht(r,1,11277,v)|0;i=0;c=S;return i|0}}while(0);o=f[w>>2]|0;l=f[_>>2]|0;u=l+(o*5640|0)+5628|0;a=f[u>>2]|0;e=a+5|0;n=f[A>>2]|0;do{if(e>>>0>(f[g>>2]|0)>>>0){n=Hn(n,e)|0;if(!n){zn(f[A>>2]|0);f[A>>2]=0;f[g>>2]=0;Ht(r,1,11316,y)|0;p=1;break}else{f[A>>2]=n;f[g>>2]=e;E=n;M=37;break}}else{E=n;M=37}}while(0);if((M|0)==37){ut(E,65399,2);ut(E+2|0,a+3|0,2);ut(E+4|0,f[u>>2]|0,1);if(f[u>>2]|0){s=0;a=E+5|0;n=f[l+(o*5640|0)+5624>>2]|0;while(1){ut(a,f[n>>2]|0,1);s=s+1|0;if(s>>>0>=(f[u>>2]|0)>>>0)break;else{a=a+1|0;n=n+20|0}}}p=(Bt(i,f[A>>2]|0,e,r)|0)!=(e|0)}i=p&1^1;c=S;return i|0}function qf(e,i,r){e=e|0;i=i|0;r=r|0;r=Dt(i)|0;i=(f[e+196>>2]|0)+8|0;f[i>>2]=r;f[i+4>>2]=P;return 1}function Xf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=c;c=c+16|0;i=Lr(0)|0;t=e+204|0;f[t>>2]=i;if(!i){Ht(r,1,11159,n)|0;r=0;c=n;return r|0}if(Br(i,f[e+80>>2]|0,e+88|0)|0){r=1;c=n;return r|0}Ir(f[t>>2]|0);f[t>>2]=0;r=0;c=n;return r|0}function Vf(e,i,r){e=e|0;i=i|0;r=r|0;var a=0,s=0,l=0,u=0,c=0,h=0,d=0.0,b=0,k=0,w=0,_=0,m=0,v=0.0,p=0,g=0,y=0.0,M=0.0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,x=0.0,O=0.0,B=0.0,I=0.0,D=0,N=0,F=0,U=0,j=0,H=0,z=0,Y=0;j=e+80|0;R=f[j>>2]|0;H=e+164|0;s=f[H>>2]|0;U=R+24|0;L=f[U>>2]|0;r=f[L>>2]|0;a=f[L+4>>2]|0;F=R+16|0;L=ie(f[L+24>>2]|0,f[F>>2]|0)|0;C=Dt(i)|0;w=e+116|0;c=f[w>>2]|0;_=e+112|0;i=f[_>>2]|0;x=(+(C>>>0)+4294967296.0*+(P|0))/+((ie(i,c)|0)>>>0);C=(t[e+181>>0]&8)==0?1:2;if(c){m=e+92|0;p=e+100|0;g=e+96|0;E=e+104|0;A=R+4|0;S=R+8|0;T=R+12|0;M=+((ie(r<<3,a)|0)>>>0);h=i;r=i;k=0;i=s;do{b=k;k=k+1|0;if(!r)r=0;else{h=0;do{y=+go[C&3](i);c=f[i+8>>2]|0;y=y/+(c>>>0);z=f[m>>2]|0;s=f[p>>2]|0;u=(ie(s,h)|0)+z|0;r=f[R>>2]|0;r=(u|0)>(r|0)?u:r;u=f[g>>2]|0;l=f[E>>2]|0;Y=(ie(l,b)|0)+u|0;a=f[A>>2]|0;a=(Y|0)>(a|0)?Y:a;h=h+1|0;z=(ie(s,h)|0)+z|0;s=f[S>>2]|0;s=(z|0)<(s|0)?z:s;u=(ie(l,k)|0)+u|0;l=f[T>>2]|0;l=(u|0)<(l|0)?u:l;u=i+20|0;d=+o[u>>2];if(d!=0.0)o[u>>2]=+((ie(ie(s-r|0,L)|0,l-a|0)|0)>>>0)/(M*d)-y;if(c>>>0>1){d=+((ie(ie(s-r|0,L)|0,l-a|0)|0)>>>0);r=1;a=i+24|0;while(1){v=+o[a>>2];if(v!=0.0)o[a>>2]=d/(M*v)-y;r=r+1|0;if(r>>>0>=c>>>0)break;else a=a+4|0}}i=i+5640|0;r=f[_>>2]|0}while(h>>>0>>0);c=f[w>>2]|0;h=r}}while(k>>>0>>0);if(!c)c=0;else{m=(h|0)==0;v=x+2.0;g=h>>>0>1?h:1;p=0;r=f[H>>2]|0;do{if(!m){k=r+16|0;w=0;_=r;while(1){i=_+20|0;d=+o[i>>2];if(d!=0.0?(M=d-x,o[i>>2]=M,M<30.0):0)o[i>>2]=30.0;l=_+24|0;i=f[_+8>>2]|0;b=i+-1|0;d=+o[l>>2];a=d!=0.0;if(b>>>0>1){u=k+(i<<2)|0;s=1;i=l;do{if(a?(M=d-x,o[i>>2]=M,B=+o[i+-4>>2],M>2]=B+20.0;i=i+4|0;s=s+1|0;d=+o[i>>2];a=d!=0.0}while((s|0)!=(b|0));if(a){O=d;D=u;N=29}}else if(a){O=d;D=l;N=29}if((N|0)==29?(N=0,M=O-v,o[D>>2]=M,I=+o[D+-4>>2],M>2]=I+20.0;w=w+1|0;if(w>>>0>=h>>>0)break;else{k=k+5640|0;_=_+5640|0}}r=r+(g*5640|0)|0}p=p+1|0}while(p>>>0>>0)}}else{h=i;c=0}a=f[F>>2]|0;if(!a)p=0;else{s=(f[e+100>>2]|0)+-1|0;l=(f[e+104>>2]|0)+-1|0;u=0;i=f[U>>2]|0;r=0;while(1){Y=f[i>>2]|0;z=f[i+4>>2]|0;Y=ie(((l+z|0)>>>0)/(z>>>0)|0,((s+Y|0)>>>0)/(Y>>>0)|0)|0;r=(ie(Y,f[i+24>>2]|0)|0)+r|0;u=u+1|0;if(u>>>0>=a>>>0)break;else i=i+52|0}p=~~(+(r>>>0)*.1625)>>>0}b=f[(f[j>>2]|0)+16>>2]|0;w=b+-1|0;m=ie(c,h)|0;k=(m|0)==0;if(k)s=0;else{i=0;r=0;a=f[H>>2]|0;while(1){Y=f[a+5588>>2]|0;r=r>>>0>Y>>>0?r:Y;i=i+1|0;if((i|0)==(m|0))break;else a=a+5640|0}s=r*12|0}_=e+88|0;if(((n[_>>1]|0)+-3&65535)>=4){if(k){i=0;r=0}else{h=(b|0)==0;u=0;r=0;do{if(!h){a=f[(f[H>>2]|0)+(u*5640|0)+5584>>2]|0;l=0;do{if(!(f[a+(l*1080|0)>>2]&1))i=5;else i=(f[a+(l*1080|0)+4>>2]|0)+5|0;r=r>>>0>i>>>0?r:i;l=l+1|0}while((l|0)!=(b|0))}u=u+1|0}while((u|0)!=(m|0));c=0;i=0;do{if(!h){l=f[(f[H>>2]|0)+(c*5640|0)+5584>>2]|0;u=0;do{if(!(f[l+(u*1080|0)>>2]&1))a=5;else a=(f[l+(u*1080|0)+4>>2]|0)+5|0;i=i>>>0>a>>>0?i:a;u=u+1|0}while((u|0)!=(b|0))}c=c+1|0}while((c|0)!=(m|0))}s=(ie(r+12+i|0,w)|0)+s|0}if(k)r=13;else{a=0;r=0;i=f[H>>2]|0;while(1){Y=f[i+420>>2]|0;r=r>>>0>Y>>>0?r:Y;a=a+1|0;if((a|0)==(m|0))break;else i=i+5640|0}r=(r*9|0)+13|0}Y=s+p+r|0;f[e+40>>2]=Y;Y=Nn(Y)|0;f[e+36>>2]=Y;if(!Y){Y=0;return Y|0}if(((n[_>>1]|0)+-3&65535)>=4){Y=1;return Y|0}r=Nn((f[e+32>>2]|0)*5|0)|0;f[e+24>>2]=r;if(!r){Y=0;return Y|0}f[e+28>>2]=r;Y=1;return Y|0}function Gf(e){e=e|0;return 0.0}function Kf(e){e=e|0;return+ +((((f[e+5588>>2]|0)*14|0)+-14|0)>>>0)}function Wf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0;a=f[i+(r*5640|0)+5584>>2]|0;w=(f[i+(r*5640|0)+420>>2]|0)+1|0;o=e>>>0<257?1:2;k=ie(w,(o<<1)+5|0)|0;_=k+4|0;ut(t,65375,2);ut(t+2|0,k+2|0,2);if(!w){f[n>>2]=_;return}u=o+1|0;c=o+3|0;h=o|4;d=h+o|0;b=d+1|0;k=i+(r*5640|0)+8|0;s=a+4|0;l=0;t=t+4|0;a=i+(r*5640|0)+424|0;while(1){ut(t,f[a>>2]|0,1);ut(t+1|0,f[a+4>>2]|0,o);v=a+8|0;ut(t+u|0,f[v>>2]|0,2);i=a+12|0;ut(t+c|0,f[i>>2]|0,1);r=a+16|0;ut(t+h|0,f[r>>2]|0,o);ut(t+d|0,f[a+36>>2]|0,1);p=f[v>>2]|0;m=f[k>>2]|0;f[v>>2]=(p|0)<(m|0)?p:m;v=f[i>>2]|0;m=f[s>>2]|0;f[i>>2]=(v|0)<(m|0)?v:m;i=f[r>>2]|0;f[r>>2]=(i|0)<(e|0)?i:e;l=l+1|0;if((l|0)==(w|0))break;else{t=t+b|0;a=a+148|0}}f[n>>2]=_;return}function Zf(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0;d=c;c=c+16|0;o=d+8|0;l=d;u=f[e+(i*5640|0)+5584>>2]|0;i=f[u+(r*1080|0)+24>>2]|0;do{if((i|0)!=1){e=(f[u+(r*1080|0)+4>>2]|0)*3|0;s=e+-2|0;if(!i){e=e+-1|0;if((f[n>>2]|0)>>>0>>0){Ht(a,1,11515,l)|0;n=0;c=d;return n|0}else{ut(t,f[u+(r*1080|0)+804>>2]<<5,1);if(!s)break;else i=0;do{t=t+1|0;ut(t,f[u+(r*1080|0)+28+(i<<3)>>2]<<3,1);i=i+1|0}while((i|0)!=(s|0))}}else h=7}else{s=1;i=1;h=7}}while(0);if((h|0)==7){e=s<<1|1;if((f[n>>2]|0)>>>0>>0){Ht(a,1,11515,o)|0;n=0;c=d;return n|0}ut(t,(f[u+(r*1080|0)+804>>2]<<5)+i|0,1);if(s){t=t+1|0;i=0;while(1){ut(t,(f[u+(r*1080|0)+28+(i<<3)>>2]<<11)+(f[u+(r*1080|0)+28+(i<<3)+4>>2]|0)|0,2);i=i+1|0;if((i|0)==(s|0))break;else t=t+2|0}}}f[n>>2]=(f[n>>2]|0)-e;n=1;c=d;return n|0}function Jf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0;l=c;c=c+16|0;a=f[e+(i*5640|0)+5584>>2]|0;if((f[t>>2]|0)>>>0<5){Ht(n,1,11587,l)|0;t=0;c=l;return t|0}s=a+4|0;ut(r,(f[s>>2]|0)+-1|0,1);ut(r+1|0,(f[a+8>>2]|0)+-2|0,1);ut(r+2|0,(f[a+12>>2]|0)+-2|0,1);ut(r+3|0,f[a+16>>2]|0,1);ut(r+4|0,f[a+20>>2]|0,1);i=(f[t>>2]|0)+-5|0;f[t>>2]=i;if(!(f[a>>2]&1)){t=1;c=l;return t|0}e=f[s>>2]|0;if(i>>>0>>0){Ht(n,1,11587,l+8|0)|0;t=0;c=l;return t|0}if(!e)e=0;else{i=r+5|0;r=0;while(1){ut(i,(f[a+944+(r<<2)>>2]<<4)+(f[a+812+(r<<2)>>2]|0)|0,1);r=r+1|0;e=f[s>>2]|0;if(r>>>0>=e>>>0)break;else i=i+1|0}i=f[t>>2]|0}f[t>>2]=i-e;t=1;c=l;return t|0}function Qf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0;l=f[e+76>>2]|0;n=f[l+(r*5640|0)+4>>2]|0;s=696;while(1){h=f[s>>2]|0;if((h|0)==-1|(h|0)==(n|0))break;else s=s+12|0}if(!(t[e+93>>0]&8)){e=1;return e|0}h=a[e+92>>0]|0;o=l+(r*5640|0)+424+(i*148|0)+92|0;u=l+(r*5640|0)+424+(i*148|0)+88|0;c=l+(r*5640|0)+424+(i*148|0)+96|0;i=l+(r*5640|0)+424+(i*148|0)+84|0;l=t[s+4>>0]|0;switch(l|0){case 67:{n=f[o>>2]|0;break}case 82:{n=f[u>>2]|0;break}case 80:{n=f[c>>2]|0;break}case 76:{n=f[i>>2]|0;break}default:n=1}if((h|0)!=(l|0)){l=t[s+5>>0]|0;switch(l|0){case 67:{n=ie(f[o>>2]|0,n)|0;break}case 82:{n=ie(f[u>>2]|0,n)|0;break}case 80:{n=ie(f[c>>2]|0,n)|0;break}case 76:{n=ie(f[i>>2]|0,n)|0;break}default:{}}if((h|0)!=(l|0)){l=t[s+6>>0]|0;switch(l|0){case 67:{n=ie(f[o>>2]|0,n)|0;break}case 82:{n=ie(f[u>>2]|0,n)|0;break}case 80:{n=ie(f[c>>2]|0,n)|0;break}case 76:{n=ie(f[i>>2]|0,n)|0;break}default:{}}if((h|0)!=(l|0)){s=t[s+7>>0]|0;switch(s|0){case 67:{n=ie(f[o>>2]|0,n)|0;break}case 82:{n=ie(f[u>>2]|0,n)|0;break}case 80:{n=ie(f[c>>2]|0,n)|0;break}case 76:{n=ie(f[i>>2]|0,n)|0;break}default:{}}if((h|0)==(s|0))s=3;else{e=n;return e|0}}else s=2}else s=1}else s=0;f[e+84>>2]=s;e=n;return e|0}function $f(e,i,r,l){e=e|0;i=i|0;r=r|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0;T=i+16|0;if(!(f[T>>2]|0)){T=1;return T|0}S=0;A=f[i+24>>2]|0;while(1){u=l+44|0;o=f[u>>2]|0;c=l+8|0;if(!o){i=l+12|0;o=Fn(ie(f[i>>2]|0,f[c>>2]|0)|0,4)|0;f[u>>2]=o;if(!o){r=0;l=61;break}}else i=l+12|0;w=A+36|0;f[l+36>>2]=f[w>>2];M=f[A+24>>2]|0;v=f[e+24>>2]|0;w=f[w>>2]|0;M=((M&7|0)!=0&1)+(M>>>3)|0;M=(M|0)==3?4:M;d=f[v+(w*136|0)+8>>2]|0;h=f[v+(w*136|0)>>2]|0;g=d-h|0;m=f[v+(w*136|0)+12>>2]|0;w=f[v+(w*136|0)+4>>2]|0;v=m-w|0;u=f[l+16>>2]|0;k=f[l+40>>2]|0;b=Bl(1,0,k|0)|0;y=P;u=Il(u|0,0,-1,-1)|0;u=Il(u|0,P|0,b|0,y|0)|0;u=Dl(u|0,P|0,k|0)|0;_=Il(f[l+20>>2]|0,0,-1,-1)|0;y=Il(_|0,P|0,b|0,y|0)|0;k=Dl(y|0,P|0,k|0)|0;y=f[c>>2]|0;c=u+y|0;b=f[i>>2]|0;_=k+b|0;do{if(u>>>0>>0){i=h-u|0;if(d>>>0>c>>>0){E=c-h|0;p=0;h=g-E|0;d=i}else{p=0;h=0;d=i;E=g}}else{i=u-h|0;if(d>>>0>c>>>0){p=i;h=d-c|0;d=0;E=y;break}else{p=i;h=0;d=0;E=g-i|0;break}}}while(0);do{if(k>>>0>>0){c=w-k|0;if(m>>>0>_>>>0){u=_-w|0;b=u;i=0;u=v-u|0}else{b=v;i=0;u=0}}else{i=k-w|0;if(m>>>0>_>>>0){u=m-_|0;c=0;break}else{b=v-i|0;u=0;c=0;break}}}while(0);if((p|h|E|u|i|b|0)<0){r=0;l=61;break}i=(ie(i,g)|0)+p|0;w=p+h|0;_=(ie(u,g)|0)-p|0;k=y-E|0;o=o+((ie(y,c)|0)+d<<2)|0;switch(M|0){case 1:{r=r+i|0;i=(b|0)==0;if(!(f[A+32>>2]|0)){if(!i){h=(E|0)==0;d=0;i=o;while(1){if(!h){c=i+(E<<2)|0;u=0;o=r;while(1){f[i>>2]=a[o>>0];u=u+1|0;if((u|0)==(E|0))break;else{i=i+4|0;o=o+1|0}}i=c;r=r+E|0}r=r+w|0;d=d+1|0;if((d|0)==(b|0))break;else i=i+(k<<2)|0}}}else if(!i){h=(E|0)==0;d=0;i=o;while(1){if(!h){c=i+(E<<2)|0;u=0;o=r;while(1){f[i>>2]=t[o>>0];u=u+1|0;if((u|0)==(E|0))break;else{i=i+4|0;o=o+1|0}}i=c;r=r+E|0}r=r+w|0;d=d+1|0;if((d|0)==(b|0))break;else i=i+(k<<2)|0}}r=r+_|0;break}case 2:{r=r+(i<<1)|0;i=(b|0)==0;if(!(f[A+32>>2]|0)){if(!i){h=(E|0)==0;d=0;i=o;while(1){if(!h){c=i+(E<<2)|0;u=0;o=r;while(1){f[i>>2]=s[o>>1];u=u+1|0;if((u|0)==(E|0))break;else{i=i+4|0;o=o+2|0}}i=c;r=r+(E<<1)|0}r=r+(w<<1)|0;d=d+1|0;if((d|0)==(b|0))break;else i=i+(k<<2)|0}}}else if(!i){h=(E|0)==0;d=0;i=o;while(1){if(!h){c=i+(E<<2)|0;u=0;o=r;while(1){f[i>>2]=n[o>>1];u=u+1|0;if((u|0)==(E|0))break;else{i=i+4|0;o=o+2|0}}i=c;r=r+(E<<1)|0}r=r+(w<<1)|0;d=d+1|0;if((d|0)==(b|0))break;else i=i+(k<<2)|0}}r=r+(_<<1)|0;break}case 4:{r=r+(i<<2)|0;if(b){h=(E|0)==0;d=0;i=o;while(1){if(!h){c=i+(E<<2)|0;u=0;o=r;while(1){f[i>>2]=f[o>>2];u=u+1|0;if((u|0)==(E|0))break;else{i=i+4|0;o=o+4|0}}i=c;r=r+(E<<2)|0}r=r+(w<<2)|0;d=d+1|0;if((d|0)==(b|0))break;else i=i+(k<<2)|0}}r=r+(_<<2)|0;break}default:{}}S=S+1|0;if(S>>>0>=(f[T>>2]|0)>>>0){r=1;l=61;break}else{l=l+52|0;A=A+52|0;e=e+52|0}}if((l|0)==61)return r|0;return 0}function ea(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;A=c;c=c+112|0;M=A+88|0;p=A+80|0;g=A+72|0;v=A+64|0;w=A+56|0;k=A+48|0;h=A+40|0;o=A+32|0;l=A+24|0;s=A+16|0;_=A+100|0;m=A+96|0;y=A+92|0;f[m>>2]=0;E=e+200|0;if((r|0)!=8){Ht(n,1,8662,A)|0;Ht(n,1,8662,A+8|0)|0;n=0;c=A;return n|0}ct(i,E,2);ct(i+2|0,_,4);ct(i+6|0,y,1);ct(i+7|0,m,1);u=f[E>>2]|0;i=f[e+112>>2]|0;if(u>>>0>=(ie(f[e+116>>2]|0,i)|0)>>>0){f[s>>2]=u;Ht(n,1,15258,s)|0;n=0;c=A;return n|0}r=f[e+164>>2]|0;b=(u>>>0)%(i>>>0)|0;d=(u>>>0)/(i>>>0)|0;i=f[_>>2]|0;do{if((i+-1|0)>>>0<13){if((i|0)==12){f[l>>2]=12;Ht(n,2,15282,l)|0;i=f[_>>2]|0;break}f[o>>2]=i;Ht(n,1,15319,o)|0;n=0;c=A;return n|0}}while(0);if(!i){Ht(n,4,15380,h)|0;f[e+72>>2]=1}i=f[m>>2]|0;do{if(!i)i=f[r+(u*5640|0)+5588>>2]|0;else{i=((a[e+76>>0]|0)>>>4&1)+i|0;f[m>>2]=i;s=r+(u*5640|0)+5588|0;l=f[s>>2]|0;r=f[y>>2]|0;if((l+-1|0)>>>0>>0){f[k>>2]=r;f[k+4>>2]=l;Ht(n,1,15491,k)|0;f[e+72>>2]=1;n=0;c=A;return n|0}if(r>>>0>>0){f[s>>2]=i;break}f[w>>2]=r;f[w+4>>2]=i;Ht(n,1,15590,w)|0;f[e+72>>2]=1;n=0;c=A;return n|0}}while(0);if((i|0)!=0?(i|0)==((f[y>>2]|0)+1|0):0){w=e+76|0;t[w>>0]=t[w>>0]|1}f[e+24>>2]=(f[e+72>>2]|0)==0?(f[_>>2]|0)+-12|0:0;f[e+8>>2]=16;i=f[e+60>>2]|0;if((i|0)==-1){if((b>>>0>=(f[e+28>>2]|0)>>>0?b>>>0<(f[e+36>>2]|0)>>>0:0)?d>>>0>=(f[e+32>>2]|0)>>>0:0)i=(d>>>0>=(f[e+40>>2]|0)>>>0&1)<<2&255;else i=4;_=e+76|0;t[_>>0]=t[_>>0]&-5|i}else{_=e+76|0;t[_>>0]=((f[E>>2]|0)!=(i|0)&1)<<2&255|t[_>>0]&-5}o=e+196|0;i=f[o>>2]|0;if(!i){n=1;c=A;return n|0}l=f[E>>2]|0;i=f[i+40>>2]|0;f[i+(l*40|0)>>2]=l;f[i+(l*40|0)+12>>2]=f[y>>2];r=f[m>>2]|0;if(r){f[i+(l*40|0)+4>>2]=r;f[i+(l*40|0)+8>>2]=f[m>>2];i=f[i+(l*40|0)+16>>2]|0;if(!i){M=Fn(f[m>>2]|0,24)|0;f[(f[(f[o>>2]|0)+40>>2]|0)+((f[E>>2]|0)*40|0)+16>>2]=M;if(M){n=1;c=A;return n|0}Ht(n,1,15698,v)|0;n=0;c=A;return n|0}i=Hn(i,(f[m>>2]|0)*24|0)|0;r=(f[(f[o>>2]|0)+40>>2]|0)+((f[E>>2]|0)*40|0)+16|0;if(!i){zn(f[r>>2]|0);f[(f[(f[o>>2]|0)+40>>2]|0)+((f[E>>2]|0)*40|0)+16>>2]=0;Ht(n,1,15698,g)|0;n=0;c=A;return n|0}else{f[r>>2]=i;n=1;c=A;return n|0}}if(!(f[i+(l*40|0)+16>>2]|0)){f[i+(l*40|0)+8>>2]=10;g=Fn(10,24)|0;r=f[E>>2]|0;i=f[(f[o>>2]|0)+40>>2]|0;f[i+(r*40|0)+16>>2]=g;if(!g){f[i+(r*40|0)+8>>2]=0;Ht(n,1,15698,p)|0;n=0;c=A;return n|0}else l=r}r=f[y>>2]|0;s=i+(l*40|0)+8|0;if(r>>>0<(f[s>>2]|0)>>>0){n=1;c=A;return n|0}r=r+1|0;f[s>>2]=r;i=Hn(f[i+(l*40|0)+16>>2]|0,r*24|0)|0;r=(f[(f[o>>2]|0)+40>>2]|0)+((f[E>>2]|0)*40|0)+16|0;if(!i){zn(f[r>>2]|0);E=f[E>>2]|0;y=f[(f[o>>2]|0)+40>>2]|0;f[y+(E*40|0)+16>>2]=0;f[y+(E*40|0)+8>>2]=0;Ht(n,1,15698,M)|0;n=0;c=A;return n|0}else{f[r>>2]=i;n=1;c=A;return n|0}return 0}function ia(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0;m=c;c=c+64|0;k=m+48|0;w=m+40|0;o=m+32|0;d=m+56|0;l=m+52|0;f[d>>2]=r;_=e+80|0;u=f[_>>2]|0;b=e+8|0;if((f[b>>2]|0)==16)h=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else h=f[e+12>>2]|0;a=h+5636|0;s=t[a>>0]|0;if(s&1){Ht(n,1,15025,m)|0;_=0;c=m;return _|0}t[a>>0]=s|1;if(r>>>0<5){Ht(n,1,15089,m+8|0)|0;_=0;c=m;return _|0}ct(i,h,1);if((f[h>>2]|0)>>>0>7){Ht(n,1,15115,m+16|0)|0;_=0;c=m;return _|0}ct(i+1|0,l,1);l=f[l>>2]|0;a=h+4|0;f[a>>2]=l;if((l|0)>4){Ht(n,1,15149,m+24|0)|0;f[a>>2]=-1}a=h+8|0;ct(i+2|0,a,2);a=f[a>>2]|0;if((a+-1|0)>>>0>65534){f[o>>2]=a;Ht(n,1,15190,o)|0;_=0;c=m;return _|0}o=f[e+172>>2]|0;f[h+12>>2]=(o|0)==0?a:o;ct(i+4|0,h+16|0,1);o=i+5|0;f[d>>2]=r+-5;l=f[u+16>>2]|0;if(l){i=f[h>>2]&1;a=f[h+5584>>2]|0;s=0;do{f[a+(s*1080|0)>>2]=i;s=s+1|0}while(s>>>0>>0)}if(!(_i(e,0,o,d,n)|0)){Ht(n,1,15089,w)|0;_=0;c=m;return _|0}if(f[d>>2]|0){Ht(n,1,15089,k)|0;_=0;c=m;return _|0}if((f[b>>2]|0)==16)a=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else a=f[e+12>>2]|0;a=f[a+5584>>2]|0;r=a+4|0;s=f[r>>2]|0;h=s<<2;if((f[(f[_>>2]|0)+16>>2]|0)>>>0<=1){_=1;c=m;return _|0}d=a+8|0;b=a+12|0;e=a+16|0;n=a+20|0;k=a+812|0;w=a+944|0;f[a+1084>>2]=s;l=f[d>>2]|0;f[a+1088>>2]=l;i=f[b>>2]|0;f[a+1092>>2]=i;o=f[e>>2]|0;f[a+1096>>2]=o;u=f[n>>2]|0;f[a+1100>>2]=u;Nl(a+1892|0,k|0,h|0)|0;Nl(a+2024|0,w|0,h|0)|0;if((f[(f[_>>2]|0)+16>>2]|0)>>>0<=2){_=1;c=m;return _|0}f[a+2164>>2]=s;f[a+2168>>2]=l;f[a+2172>>2]=i;f[a+2176>>2]=o;f[a+2180>>2]=u;Nl(a+2972|0,k|0,h|0)|0;Nl(a+3104|0,w|0,h|0)|0;if((f[(f[_>>2]|0)+16>>2]|0)>>>0>3)s=3;else{_=1;c=m;return _|0}while(1){l=f[d>>2]|0;i=f[b>>2]|0;o=f[e>>2]|0;u=f[n>>2]|0;f[a+3244>>2]=f[r>>2];f[a+3248>>2]=l;f[a+3252>>2]=i;f[a+3256>>2]=o;f[a+3260>>2]=u;Nl(a+4052|0,k|0,h|0)|0;Nl(a+4184|0,w|0,h|0)|0;s=s+1|0;if(s>>>0>=(f[(f[_>>2]|0)+16>>2]|0)>>>0){a=1;break}else a=a+1080|0}c=m;return a|0}function ra(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0;p=c;c=c+272|0;d=p;m=p+136|0;v=p+8|0;if(!e){v=0;c=p;return v|0}h=e+4|0;if((f[e>>2]|0)==(i|0)?(f[h>>2]|0)==(r|0):0)n=e+8|0;else{f[e>>2]=i;f[h>>2]=r;f[m>>2]=i;f[v>>2]=r;n=e+8|0;f[n>>2]=0;a=0;l=r;o=i;u=0;while(1){_=ie(l,o)|0;o=(o+1|0)/2|0;s=u+1|0;f[m+(s<<2)>>2]=o;l=(l+1|0)/2|0;f[v+(s<<2)>>2]=l;a=a+_|0;if(_>>>0<=1)break;else u=s}f[n>>2]=a;if(!a){n=e+12|0;a=f[n>>2]|0;if(a){zn(a);f[n>>2]=0}zn(e);v=0;c=p;return v|0}s=a<<4;l=e+16|0;o=e+12|0;do{if(s>>>0>(f[l>>2]|0)>>>0){a=Hn(f[o>>2]|0,s)|0;if(a){f[o>>2]=a;r=f[l>>2]|0;Ol(a+r|0,0,s-r|0)|0;f[l>>2]=s;r=f[h>>2]|0;i=f[e>>2]|0;break}Ht(t,1,20166,d)|0;n=f[o>>2]|0;if(n){zn(n);f[o>>2]=0}zn(e);v=0;c=p;return v|0}}while(0);a=f[o>>2]|0;i=a+((ie(r,i)|0)<<4)|0;if(u){_=0;r=i;do{k=f[v+(_<<2)>>2]|0;e:do{if((k|0)>0){w=f[m+(_<<2)>>2]|0;if((w|0)<=0){s=k+-1|0;l=0;while(1){b=(l&1|0)!=0|(l|0)==(s|0);o=b?r:i+(w<<4)|0;r=b?r:i;l=l+1|0;if((l|0)>=(k|0)){i=o;break e}else i=o}}b=((w+2+((w|0)<2?~w:-3)|0)>>>1)+1|0;t=k+-1|0;d=0;while(1){h=w;o=r;while(1){f[a>>2]=o;s=a+16|0;l=h;h=h+-2|0;if((h|0)>-1){f[s>>2]=o;a=a+32|0}else a=s;if((l|0)<=2)break;else o=o+16|0}r=r+(b<<4)|0;h=(d&1|0)!=0|(d|0)==(t|0);s=h?r:i+(w<<4)|0;r=h?r:i;d=d+1|0;if((d|0)>=(k|0)){i=s;break}else i=s}}}while(0);_=_+1|0}while((_|0)!=(u|0))}f[a>>2]=0}n=f[n>>2]|0;if(!n){v=e;c=p;return v|0}a=0;i=f[e+12>>2]|0;while(1){f[i+4>>2]=999;f[i+8>>2]=0;f[i+12>>2]=0;a=a+1|0;if((a|0)==(n|0))break;else i=i+16|0}c=p;return e|0}function ta(e){e=e|0;var i=0,r=0;if(!e)return;i=e+12|0;r=f[i>>2]|0;if(r){zn(r);f[i>>2]=0}zn(e);return}function na(e,i,r){e=e|0;i=i|0;r=r|0;i=(f[e+12>>2]|0)+(i<<4)|0;if(!i)return;while(1){e=i+4|0;if((f[e>>2]|0)<=(r|0)){i=4;break}f[e>>2]=r;i=f[i>>2]|0;if(!i){i=4;break}}if((i|0)==4)return}function fa(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0;o=c;c=c+128|0;l=o;r=(f[i+12>>2]|0)+(r<<4)|0;if(!(f[r>>2]|0)){n=0;a=l}else{n=r;i=l;while(1){a=i+4|0;f[i>>2]=r;r=f[n>>2]|0;if(!(f[r>>2]|0)){n=0;break}else{n=r;i=a}}}while(1){s=r+8|0;i=f[s>>2]|0;if((n|0)>(i|0)){f[s>>2]=n;i=n}e:do{if((i|0)<(t|0)){n=r+4|0;while(1){if((i|0)>=(f[n>>2]|0))break;ma(e,0,1);i=i+1|0;if((i|0)>=(t|0)){r=i;break e}}r=r+12|0;if(!(f[r>>2]|0)){ma(e,1,1);f[r>>2]=1;r=i}else r=i}else r=i}while(0);f[s>>2]=r;if((a|0)==(l|0))break;s=a+-4|0;n=r;r=f[s>>2]|0;a=s}c=o;return}function aa(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0;o=c;c=c+128|0;l=o;r=(f[i+12>>2]|0)+(r<<4)|0;if(!(f[r>>2]|0)){i=0;a=l}else{n=r;i=l;while(1){a=i+4|0;f[i>>2]=r;r=f[n>>2]|0;if(!(f[r>>2]|0)){i=0;break}else{n=r;i=a}}}while(1){s=r+8|0;n=f[s>>2]|0;if((i|0)>(n|0))f[s>>2]=i;else i=n;r=r+4|0;e:do{if((i|0)<(t|0)){while(1){if((i|0)>=(f[r>>2]|0))break e;if(va(e,1)|0)break;i=i+1|0;if((i|0)>=(t|0))break e}f[r>>2]=i}}while(0);f[s>>2]=i;if((a|0)==(l|0))break;s=a+-4|0;r=f[s>>2]|0;a=s}c=o;return(f[r>>2]|0)<(t|0)|0}function sa(){var e=0,i=0;e=Fn(1,12)|0;if(!e){e=0;return e|0}f[e+4>>2]=10;i=Fn(10,4)|0;f[e+8>>2]=i;if(i){i=e;return i|0}zn(e);i=0;return i|0}function la(e){e=e|0;var i=0;if(!e)return;i=f[e+8>>2]|0;if(i)zn(i);zn(e);return}function oa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;l=c;c=c+16|0;s=l;a=e+4|0;n=f[a>>2]|0;t=f[e>>2]|0;do{if((n|0)==(t|0)){n=n+10|0;f[a>>2]=n;t=e+8|0;n=Hn(f[t>>2]|0,n<<2)|0;if(n){f[t>>2]=n;t=f[e>>2]|0;break}zn(f[t>>2]|0);f[a>>2]=0;f[e>>2]=0;Ht(r,1,20214,s)|0;e=0;c=l;return e|0}else n=f[e+8>>2]|0}while(0);f[n+(t<<2)>>2]=i;f[e>>2]=t+1;e=1;c=l;return e|0}function ua(e){e=e|0;return f[e>>2]|0}function ca(e){e=e|0;return f[e+8>>2]|0}function ha(e){e=e|0;f[e>>2]=0;return}function da(){return Nn(20)|0}function ba(e){e=e|0;if(!e)return;zn(e);return}function ka(e){e=e|0;return(f[e+8>>2]|0)-(f[e>>2]|0)|0}function wa(e,i,r){e=e|0;i=i|0;r=r|0;f[e>>2]=i;f[e+4>>2]=i+r;f[e+8>>2]=i;f[e+12>>2]=0;f[e+16>>2]=8;return}function _a(e,i,r){e=e|0;i=i|0;r=r|0;f[e>>2]=i;f[e+4>>2]=i+r;f[e+8>>2]=i;f[e+12>>2]=0;f[e+16>>2]=0;return}function ma(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0;if(!r)return;u=e+16|0;c=e+12|0;h=e+8|0;s=e+4|0;e=f[u>>2]|0;o=r+-1|0;do{l=i>>>o&1;if(!e){a=f[c>>2]|0;e=a<<8&65280;f[c>>2]=e;e=(e|0)==65280?7:8;f[u>>2]=e;n=f[h>>2]|0;if(n>>>0<(f[s>>2]|0)>>>0){f[h>>2]=n+1;t[n>>0]=a;e=f[u>>2]|0}}e=e+-1|0;f[u>>2]=e;f[c>>2]=l<>2];o=o+-1|0}while(o>>>0>>0);return}function va(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,s=0,l=0,o=0,u=0,c=0;if(!i){i=0;return i|0}o=e+16|0;u=e+12|0;c=e+8|0;s=e+4|0;r=f[o>>2]|0;t=f[u>>2]|0;l=i+-1|0;e=0;do{if(!r){n=t<<8&65280;f[u>>2]=n;r=(n|0)==65280?7:8;f[o>>2]=r;t=f[c>>2]|0;if(t>>>0<(f[s>>2]|0)>>>0){f[c>>2]=t+1;t=a[t>>0]|0|n;f[u>>2]=t}else t=n}r=r+-1|0;f[o>>2]=r;e=((t>>>r&1)<>>0>>0);return e|0}function pa(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0;n=e+12|0;i=f[n>>2]|0;l=i<<8&65280;f[n>>2]=l;a=e+16|0;f[a>>2]=(l|0)==65280?7:8;l=e+8|0;r=f[l>>2]|0;s=e+4|0;if(r>>>0>=(f[s>>2]|0)>>>0){l=0;return l|0}f[l>>2]=r+1;t[r>>0]=i;if((f[a>>2]|0)!=7){l=1;return l|0}i=f[n>>2]|0;e=i<<8&65280;f[n>>2]=e;f[a>>2]=(e|0)==65280?7:8;e=f[l>>2]|0;if(e>>>0>=(f[s>>2]|0)>>>0){l=0;return l|0}f[l>>2]=e+1;t[e>>0]=i;l=1;return l|0}function ga(e){e=e|0;var i=0,r=0,t=0,n=0,s=0;s=e+12|0;i=f[s>>2]|0;do{if((i&255|0)==255){t=i<<8&65280;f[s>>2]=t;i=e+16|0;f[i>>2]=(t|0)==65280?7:8;n=e+8|0;r=f[n>>2]|0;if(r>>>0<(f[e+4>>2]|0)>>>0){f[n>>2]=r+1;f[s>>2]=a[r>>0]|0|t;break}else{e=0;return e|0}}else i=e+16|0}while(0);f[i>>2]=0;e=1;return e|0}function ya(e){e=e|0;return xa(e,1)|0}function Ma(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0;R=c;c=c+32|0;T=R+16|0;C=R;o=f[e+24>>2]|0;l=(f[o+8>>2]|0)-(f[o>>2]|0)|0;s=(f[o+12>>2]|0)-(f[o+4>>2]|0)|0;S=(f[e+8>>2]|0)-(f[e>>2]|0)|0;if((i|0)==1){C=1;c=R;return C|0}a=i+-1|0;n=(a|0)==0;if(n)i=0;else{r=o;t=a;i=0;do{A=r;r=r+136|0;E=(f[A+144>>2]|0)-(f[r>>2]|0)|0;i=i>>>0>>0?E:i;A=(f[A+148>>2]|0)-(f[A+140>>2]|0)|0;i=i>>>0>>0?A:i;t=t+-1|0}while((t|0)!=0);i=i<<2}A=Un(i)|0;f[T>>2]=A;if(!A){C=0;c=R;return C|0}f[C>>2]=A;if(!n){m=e+32|0;v=T+8|0;p=C+8|0;g=T+4|0;y=T+12|0;M=C+4|0;E=C+12|0;do{w=f[m>>2]|0;d=o;o=o+136|0;f[v>>2]=l;f[p>>2]=s;b=f[d+144>>2]|0;k=f[o>>2]|0;t=l;l=b-k|0;i=f[d+148>>2]|0;d=d+140|0;_=f[d>>2]|0;r=s;s=i-_|0;f[g>>2]=l-t;f[y>>2]=(k|0)%2|0;_=(i|0)==(_|0);if(!_){h=l<<2;i=0;while(1){e=ie(i,S)|0;u=w+(e<<2)|0;if(t){r=u;n=A+(f[y>>2]<<2)|0;while(1){t=t+-1|0;f[n>>2]=f[r>>2];if(!t)break;else{r=r+4|0;n=n+8|0}}}r=f[g>>2]|0;if(r){t=w+((f[v>>2]|0)+e<<2)|0;n=A+(1-(f[y>>2]|0)<<2)|0;while(1){r=r+-1|0;f[n>>2]=f[t>>2];if(!r)break;else{t=t+4|0;n=n+8|0}}}Oa(T);Nl(u|0,A|0,h|0)|0;i=i+1|0;if((i|0)==(s|0))break;t=f[v>>2]|0}r=f[p>>2]|0;i=f[d>>2]|0}f[M>>2]=s-r;f[E>>2]=(i|0)%2|0;e:do{if((b|0)!=(k|0)){i=0;while(1){if(r){t=w+(i<<2)|0;n=A+(f[E>>2]<<2)|0;while(1){r=r+-1|0;f[n>>2]=f[t>>2];if(!r)break;else{t=t+(S<<2)|0;n=n+8|0}}}r=f[M>>2]|0;if(r){t=w+((ie(f[p>>2]|0,S)|0)+i<<2)|0;n=A+(1-(f[E>>2]|0)<<2)|0;while(1){r=r+-1|0;f[n>>2]=f[t>>2];if(!r)break;else{t=t+(S<<2)|0;n=n+8|0}}}Oa(C);if(!_){r=0;do{f[w+((ie(r,S)|0)+i<<2)>>2]=f[A+(r<<2)>>2];r=r+1|0}while((r|0)!=(s|0))}i=i+1|0;if((i|0)==(l|0))break e;r=f[p>>2]|0}}}while(0);a=a+-1|0}while((a|0)!=0)}jn(A);C=1;c=R;return C|0}function Ea(e){e=e|0;if(!e){e=0;return e|0}e=(e+-1|0)>>>0<2?1:2;return e|0}function Aa(e,i){e=e|0;i=i|0;return+ +u[56+(i*80|0)+(e<<3)>>3]}function Sa(e){e=e|0;return xa(e,2)|0}function Ta(e){e=e|0;return 0}function Ca(e,i){e=e|0;i=i|0;return+ +u[376+(i*80|0)+(e<<3)>>3]}function Ra(e,i){e=e|0;i=i|0;var r=0.0,t=0,n=0,a=0,s=0,l=0,o=0,c=0,h=0,d=0,b=0;o=e+4|0;c=((f[o>>2]|0)*3|0)+-2|0;if(!c)return;h=e+20|0;d=e+24|0;b=0;do{if(!b){t=0;n=0}else{n=b+-1|0;t=((n>>>0)/3|0)+1|0;n=((n>>>0)%3|0)+1|0}if((n|0)==0|(f[h>>2]|0)==0)a=0;else a=(n+-1|0)>>>0<2?1:2;if(!(f[d>>2]|0))r=1.0;else r=+(1<>2]|0)+~t<<3)>>3];l=~~+H(+(r*8192.0));s=a+i|0;if((l|0)>1){t=l;n=0;while(1){t=t>>1;if((t|0)<=1)break;else n=n+1|0}a=l;t=0;do{a=a>>1;t=t+1|0}while((a|0)>1);n=n+-12|0}else{n=-13;t=0}a=11-t|0;f[e+28+(b<<3)+4>>2]=((a|0)<0?l>>0-a:l<>2]=s-n;b=b+1|0}while((b|0)!=(c|0));return}function La(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,H=0,z=0,Y=0,q=0,X=0;X=c;c=c+32|0;z=X+16|0;Y=X;h=f[e+24>>2]|0;d=f[h+8>>2]|0;b=f[h>>2]|0;o=f[h+12>>2]|0;u=f[h+4>>2]|0;H=e+8|0;s=f[H>>2]|0;l=f[e>>2]|0;j=s-l|0;a=i+-1|0;n=(a|0)==0;if(n)i=80;else{r=h;t=a;i=0;do{U=r;r=r+136|0;F=(f[U+144>>2]|0)-(f[r>>2]|0)|0;i=i>>>0>>0?F:i;U=(f[U+148>>2]|0)-(f[U+140>>2]|0)|0;i=i>>>0>>0?U:i;t=t+-1|0}while((t|0)!=0);i=(i<<4)+80|0}U=Un(i)|0;f[z>>2]=U;if(!U){q=0;c=X;return q|0}f[Y>>2]=U;e:do{if(!n){E=e+32|0;A=e+12|0;S=e+4|0;T=z+8|0;C=Y+8|0;R=z+4|0;L=z+12|0;P=Y+4|0;x=Y+12|0;O=j<<1;B=j<<2;I=j*3|0;N=l<<2;F=s<<2;D=N-F|0;N=F-N|0;F=s-l<<2;i=a;r=U;a=s;t=l;_=o-u|0;n=h;s=d-b|0;while(1){m=f[E>>2]|0;t=ie((f[A>>2]|0)-(f[S>>2]|0)|0,a-t|0)|0;f[T>>2]=s;f[C>>2]=_;y=n+136|0;k=f[n+144>>2]|0;w=f[y>>2]|0;M=k-w|0;p=f[n+148>>2]|0;d=n+140|0;v=f[d>>2]|0;g=p-v|0;f[R>>2]=M-s;f[L>>2]=(w|0)%2|0;if((g|0)>3){a=(M|0)>0;s=(p+-4-v|0)>>>2;h=ie(D,s)|0;s=m+(N+(ie(F,s)|0)<<2)|0;l=m;o=t;u=g;while(1){Ia(z,l,j,o);Da(z);if(a){n=M;do{b=n;n=n+-1|0;f[l+(n<<2)>>2]=f[U+(n<<4)>>2];f[l+(n+j<<2)>>2]=f[U+(n<<4)+4>>2];f[l+(n+O<<2)>>2]=f[U+(n<<4)+8>>2];f[l+(n+I<<2)>>2]=f[U+(n<<4)+12>>2]}while((b|0)>1)}u=u+-4|0;if((u|0)<=3)break;else{l=l+(B<<2)|0;o=o-B|0}}t=D+t+h|0}else s=m;a=g&3;i:do{if(!a)q=21;else{Ia(z,s,j,t);Da(z);if((M|0)>0)t=M;else{o=g-_|0;f[P>>2]=o;a=(f[d>>2]|0)%2|0;f[x>>2]=a;u=_;l=m;break}while(1){n=t;t=t+-1|0;switch(a|0){case 3:{f[s+(t+O<<2)>>2]=f[U+(t<<4)+8>>2];q=18;break}case 2:{q=18;break}case 1:{q=19;break}default:{}}if((q|0)==18){f[s+(t+j<<2)>>2]=f[U+(t<<4)+4>>2];q=19}if((q|0)==19){q=0;f[s+(t<<2)>>2]=f[U+(t<<4)>>2]}if((n|0)<=1){q=21;break i}}}}while(0);if((q|0)==21){q=0;o=g-_|0;f[P>>2]=o;a=(f[d>>2]|0)%2|0;f[x>>2]=a;if((M|0)>3){b=(p|0)==(v|0);k=k+-4-w|0;d=f[C>>2]|0;u=(d|0)>0;l=1-a|0;h=(o|0)>0;n=m;s=M;while(1){if(u){t=0;do{_=r+((t<<1)+a<<4)|0;w=n+((ie(t,j)|0)<<2)|0;f[_>>2]=f[w>>2];f[_+4>>2]=f[w+4>>2];f[_+8>>2]=f[w+8>>2];f[_+12>>2]=f[w+12>>2];t=t+1|0}while((t|0)!=(d|0))}if(h){t=0;do{_=r+(l+(t<<1)<<4)|0;w=n+((ie(t+d|0,j)|0)<<2)|0;f[_>>2]=f[w>>2];f[_+4>>2]=f[w+4>>2];f[_+8>>2]=f[w+8>>2];f[_+12>>2]=f[w+12>>2];t=t+1|0}while((t|0)!=(o|0))}Da(Y);if(!b){r=f[Y>>2]|0;t=0;do{_=n+((ie(t,j)|0)<<2)|0;w=r+(t<<4)|0;f[_>>2]=f[w>>2];f[_+4>>2]=f[w+4>>2];f[_+8>>2]=f[w+8>>2];f[_+12>>2]=f[w+12>>2];t=t+1|0}while((t|0)!=(g|0))}s=s+-4|0;if((s|0)<=3)break;else n=n+16|0}u=d;l=m+((k+4&-4)<<2)|0}else{u=_;l=m}}s=M&3;if(s){r=f[Y>>2]|0;if((u|0)>0){t=s<<2;n=0;do{Nl(r+((n<<1)+a<<4)|0,l+((ie(n,j)|0)<<2)|0,t|0)|0;n=n+1|0}while((n|0)!=(u|0))}t=1-a|0;if((o|0)>0){n=s<<2;a=0;do{Nl(r+(t+(a<<1)<<4)|0,l+((ie(a+u|0,j)|0)<<2)|0,n|0)|0;a=a+1|0}while((a|0)!=(o|0))}Da(Y);if((p|0)!=(v|0)){t=s<<2;n=0;do{Nl(l+((ie(n,j)|0)<<2)|0,r+(n<<4)|0,t|0)|0;n=n+1|0}while((n|0)!=(g|0))}}i=i+-1|0;if(!i)break e;a=f[H>>2]|0;t=f[e>>2]|0;_=g;n=y;s=M}}}while(0);jn(U);q=1;c=X;return q|0}function Pa(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0;if(!t){t=(i|0)>0;if(!(t|(r|0)>1))return;if(t){t=e+((r<<1)+-2<<2)|0;n=0;do{o=n;n=n+1|0;u=e+((o<<1|1)<<2)|0;f[u>>2]=(f[u>>2]|0)-((f[((n|0)<(r|0)?e+(n<<1<<2)|0:t)>>2]|0)+(f[((o|0)<(r|0)?e+(o<<1<<2)|0:t)>>2]|0)>>1)}while((n|0)!=(i|0))}if((r|0)<=0)return;n=e+4|0;a=(i<<1)+-1|0;s=0;do{if((s|0)<1)t=n;else t=e+((((s|0)>(i|0)?i:s)<<1)+-1<<2)|0;u=e+(s<<1<<2)|0;f[u>>2]=((f[t>>2]|0)+2+(f[e+(((s|0)<(i|0)?s<<1|1:a)<<2)>>2]|0)>>2)+(f[u>>2]|0);s=s+1|0}while((s|0)!=(r|0));return}if((i|0)==1&(r|0)==0){f[e>>2]=f[e>>2]<<1;return}if((i|0)>0){n=e+4|0;a=(r<<1)+-1|0;s=e+(a<<2)|0;u=0;do{l=u<<1;o=f[e+(((u|0)<(r|0)?l|1:a)<<2)>>2]|0;if((u|0)>=1)if((u|0)>(r|0))t=s;else t=e+(l+-1<<2)|0;else t=n;l=e+(l<<2)|0;f[l>>2]=(f[l>>2]|0)-((f[t>>2]|0)+o>>1);u=u+1|0}while((u|0)!=(i|0))}if((r|0)<=0)return;t=e+((i<<1)+-2<<2)|0;n=0;do{o=n;n=n+1|0;u=e+((o<<1|1)<<2)|0;f[u>>2]=((f[((o|0)<(i|0)?e+(o<<1<<2)|0:t)>>2]|0)+2+(f[((n|0)<(i|0)?e+(n<<1<<2)|0:t)>>2]|0)>>2)+(f[u>>2]|0)}while((n|0)!=(r|0));return}function xa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0;y=(f[e+8>>2]|0)-(f[e>>2]|0)|0;a=f[e+16>>2]|0;l=a+-1|0;M=f[e+32>>2]|0;s=f[e+24>>2]|0;n=(l|0)==0;if(n)e=0;else{r=s;t=l;e=0;do{g=r;r=r+136|0;p=(f[g+144>>2]|0)-(f[r>>2]|0)|0;e=e>>>0

>>0?p:e;g=(f[g+148>>2]|0)-(f[g+140>>2]|0)|0;e=e>>>0>>0?g:e;t=t+-1|0}while((t|0)!=0);e=e<<2}g=Nn(e)|0;if(!((e|0)==0|(g|0)!=0)){i=0;return i|0}if(!n){v=a+-2|0;p=v;e=s+(l*136|0)|0;v=s+(v*136|0)|0;while(1){w=f[e>>2]|0;m=(f[e+8>>2]|0)-w|0;h=f[e+4>>2]|0;b=(f[e+12>>2]|0)-h|0;k=(f[v+8>>2]|0)-(f[v>>2]|0)|0;e=f[v+12>>2]|0;r=f[v+4>>2]|0;c=e-r|0;w=w&1;h=h&1;d=b-c|0;_=(m|0)>0;e:do{if(_){n=(e|0)==(r|0);l=(b|0)==(c|0);o=g+((h^1)<<2)|0;u=ie(c,y)|0;s=g+(h<<2)|0;if((b|0)>0){a=0;while(1){r=M+(a<<2)|0;e=0;do{f[g+(e<<2)>>2]=f[M+((ie(e,y)|0)+a<<2)>>2];e=e+1|0}while((e|0)!=(b|0));Po[i&3](g,d,c,h);if(!n){t=c;e=s;while(1){t=t+-1|0;f[r>>2]=f[e>>2];if(!t)break;else{r=r+(y<<2)|0;e=e+8|0}}}if(!l){e=d;r=M+(a+u<<2)|0;t=o;while(1){e=e+-1|0;f[r>>2]=f[t>>2];if(!e)break;else{r=r+(y<<2)|0;t=t+8|0}}}a=a+1|0;if((a|0)==(m|0))break e}}if(n){r=0;while(1){Po[i&3](g,d,c,h);if(!l){e=d;t=M+(r+u<<2)|0;n=o;while(1){e=e+-1|0;f[t>>2]=f[n>>2];if(!e)break;else{t=t+(y<<2)|0;n=n+8|0}}}r=r+1|0;if((r|0)==(m|0))break e}}else n=0;do{Po[i&3](g,d,c,h);e=c;r=M+(n<<2)|0;t=s;while(1){e=e+-1|0;f[r>>2]=f[t>>2];if(!e)break;else{r=r+(y<<2)|0;t=t+8|0}}if(!l){e=d;r=M+(n+u<<2)|0;t=o;while(1){e=e+-1|0;f[r>>2]=f[t>>2];if(!e)break;else{r=r+(y<<2)|0;t=t+8|0}}}n=n+1|0}while((n|0)!=(m|0))}}while(0);a=m-k|0;if((b|0)>0){s=(k|0)>0;l=g+(w<<2)|0;o=(a|0)>0;u=g+((w^1)<<2)|0;c=0;do{n=ie(c,y)|0;r=M+(n<<2)|0;if(_){e=0;do{f[g+(e<<2)>>2]=f[M+(e+n<<2)>>2];e=e+1|0}while((e|0)!=(m|0))}Po[i&3](g,a,k,w);if(s){t=0;e=l;while(1){f[r>>2]=f[e>>2];t=t+1|0;if((t|0)==(k|0))break;else{r=r+4|0;e=e+8|0}}}if(o){t=0;e=M+(n+k<<2)|0;r=u;while(1){f[e>>2]=f[r>>2];t=t+1|0;if((t|0)==(a|0))break;else{e=e+4|0;r=r+8|0}}}c=c+1|0}while((c|0)!=(b|0))}if(!p)break;else{e=v;p=p+-1|0;v=v+-136|0}}}zn(g);i=1;return i|0}function Oa(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0;l=f[e>>2]|0;o=f[e+4>>2]|0;u=f[e+8>>2]|0;if(!(f[e+12>>2]|0)){t=(o|0)>0;if(!(t|(u|0)>1))return;if((u|0)>0){i=l+4|0;r=(o<<1)+-1|0;n=0;do{if((n|0)<1)e=i;else e=l+((((n|0)>(o|0)?o:n)<<1)+-1<<2)|0;a=n<<1;s=l+(a<<2)|0;f[s>>2]=(f[s>>2]|0)-((f[e>>2]|0)+2+(f[l+(((n|0)<(o|0)?a|1:r)<<2)>>2]|0)>>2);n=n+1|0}while((n|0)!=(u|0))}if(!t)return;e=l+((u<<1)+-2<<2)|0;i=0;do{a=i<<1;n=i;i=i+1|0;s=l+((a|1)<<2)|0;f[s>>2]=((f[((i|0)<(u|0)?l+(i<<1<<2)|0:e)>>2]|0)+(f[((n|0)<(u|0)?l+(a<<2)|0:e)>>2]|0)>>1)+(f[s>>2]|0)}while((i|0)!=(o|0));return}if((o|0)==1&(u|0)==0){f[l>>2]=(f[l>>2]|0)/2|0;return}if((u|0)>0){e=l+((o<<1)+-2<<2)|0;i=0;do{a=i<<1;n=i;i=i+1|0;s=l+((a|1)<<2)|0;f[s>>2]=(f[s>>2]|0)-((f[((n|0)<(o|0)?l+(a<<2)|0:e)>>2]|0)+2+(f[((i|0)<(o|0)?l+(i<<1<<2)|0:e)>>2]|0)>>2)}while((i|0)!=(u|0))}if((o|0)<=0)return;i=l+4|0;r=(u<<1)+-1|0;t=l+(r<<2)|0;s=0;do{n=s<<1;a=f[l+(((s|0)<(u|0)?n|1:r)<<2)>>2]|0;if((s|0)>=1)if((s|0)>(u|0))e=t;else e=l+(n+-1<<2)|0;else e=i;n=l+(n<<2)|0;f[n>>2]=((f[e>>2]|0)+a>>1)+(f[n>>2]|0);s=s+1|0}while((s|0)!=(o|0));return}function Ba(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0;if(!t){o=(i|0)>0;if(!(o|(r|0)>1))return;if(o){t=e+((r<<1)+-2<<2)|0;n=0;do{h=n;n=n+1|0;c=(f[((n|0)<(r|0)?e+(n<<1<<2)|0:t)>>2]|0)+(f[((h|0)<(r|0)?e+(h<<1<<2)|0:t)>>2]|0)|0;c=zl(c|0,((c|0)<0)<<31>>31|0,12993,0)|0;c=Il(c|0,P|0,4096,0)|0;c=Dl(c|0,P|0,13)|0;h=e+((h<<1|1)<<2)|0;f[h>>2]=(f[h>>2]|0)-c}while((n|0)!=(i|0))}l=(r|0)>0;if(l){n=e+4|0;a=(i<<1)+-1|0;s=0;do{if((s|0)<1)t=n;else t=e+((((s|0)>(i|0)?i:s)<<1)+-1<<2)|0;c=(f[e+(((s|0)<(i|0)?s<<1|1:a)<<2)>>2]|0)+(f[t>>2]|0)|0;c=zl(c|0,((c|0)<0)<<31>>31|0,434,0)|0;c=Il(c|0,P|0,4096,0)|0;c=Dl(c|0,P|0,13)|0;h=e+(s<<1<<2)|0;f[h>>2]=(f[h>>2]|0)-c;s=s+1|0}while((s|0)!=(r|0))}if(o){t=e+((r<<1)+-2<<2)|0;n=0;do{h=n;n=n+1|0;c=(f[((n|0)<(r|0)?e+(n<<1<<2)|0:t)>>2]|0)+(f[((h|0)<(r|0)?e+(h<<1<<2)|0:t)>>2]|0)|0;c=zl(c|0,((c|0)<0)<<31>>31|0,7233,0)|0;c=Il(c|0,P|0,4096,0)|0;c=Dl(c|0,P|0,13)|0;h=e+((h<<1|1)<<2)|0;f[h>>2]=c+(f[h>>2]|0)}while((n|0)!=(i|0))}if(l){n=e+4|0;a=(i<<1)+-1|0;s=0;do{if((s|0)<1)t=n;else t=e+((((s|0)>(i|0)?i:s)<<1)+-1<<2)|0;c=(f[e+(((s|0)<(i|0)?s<<1|1:a)<<2)>>2]|0)+(f[t>>2]|0)|0;c=zl(c|0,((c|0)<0)<<31>>31|0,3633,0)|0;c=Il(c|0,P|0,4096,0)|0;c=Dl(c|0,P|0,13)|0;h=e+(s<<1<<2)|0;f[h>>2]=c+(f[h>>2]|0);s=s+1|0}while((s|0)!=(r|0))}if(o){t=0;do{h=e+((t<<1|1)<<2)|0;c=f[h>>2]|0;c=zl(c|0,((c|0)<0)<<31>>31|0,5038,0)|0;c=Il(c|0,P|0,4096,0)|0;c=Dl(c|0,P|0,13)|0;f[h>>2]=c;t=t+1|0}while((t|0)!=(i|0))}if(l)t=0;else return;do{i=e+(t<<1<<2)|0;h=f[i>>2]|0;h=zl(h|0,((h|0)<0)<<31>>31|0,6659,0)|0;h=Il(h|0,P|0,4096,0)|0;h=Dl(h|0,P|0,13)|0;f[i>>2]=h;t=t+1|0}while((t|0)!=(r|0));return}h=(r|0)>0;if(!((i|0)>1|h))return;c=(i|0)>0;if(c){n=e+4|0;a=(r<<1)+-1|0;s=e+(a<<2)|0;u=0;do{l=u<<1;o=f[e+(((u|0)<(r|0)?l|1:a)<<2)>>2]|0;if((u|0)>=1)if((u|0)>(r|0))t=s;else t=e+(l+-1<<2)|0;else t=n;t=(f[t>>2]|0)+o|0;t=zl(t|0,((t|0)<0)<<31>>31|0,12993,0)|0;t=Il(t|0,P|0,4096,0)|0;t=Dl(t|0,P|0,13)|0;o=e+(l<<2)|0;f[o>>2]=(f[o>>2]|0)-t;u=u+1|0}while((u|0)!=(i|0))}if(h){t=e+((i<<1)+-2<<2)|0;n=0;do{u=n;n=n+1|0;o=(f[((n|0)<(i|0)?e+(n<<1<<2)|0:t)>>2]|0)+(f[((u|0)<(i|0)?e+(u<<1<<2)|0:t)>>2]|0)|0;o=zl(o|0,((o|0)<0)<<31>>31|0,434,0)|0;o=Il(o|0,P|0,4096,0)|0;o=Dl(o|0,P|0,13)|0;u=e+((u<<1|1)<<2)|0;f[u>>2]=(f[u>>2]|0)-o}while((n|0)!=(r|0))}if(c){n=e+4|0;a=(r<<1)+-1|0;s=e+(a<<2)|0;u=0;do{l=u<<1;o=f[e+(((u|0)<(r|0)?l|1:a)<<2)>>2]|0;if((u|0)>=1)if((u|0)>(r|0))t=s;else t=e+(l+-1<<2)|0;else t=n;t=(f[t>>2]|0)+o|0;t=zl(t|0,((t|0)<0)<<31>>31|0,7233,0)|0;t=Il(t|0,P|0,4096,0)|0;t=Dl(t|0,P|0,13)|0;o=e+(l<<2)|0;f[o>>2]=t+(f[o>>2]|0);u=u+1|0}while((u|0)!=(i|0))}if(h){t=e+((i<<1)+-2<<2)|0;n=0;do{u=n;n=n+1|0;o=(f[((n|0)<(i|0)?e+(n<<1<<2)|0:t)>>2]|0)+(f[((u|0)<(i|0)?e+(u<<1<<2)|0:t)>>2]|0)|0;o=zl(o|0,((o|0)<0)<<31>>31|0,3633,0)|0;o=Il(o|0,P|0,4096,0)|0;o=Dl(o|0,P|0,13)|0;u=e+((u<<1|1)<<2)|0;f[u>>2]=o+(f[u>>2]|0)}while((n|0)!=(r|0))}if(c){t=0;do{c=e+(t<<1<<2)|0;u=f[c>>2]|0;u=zl(u|0,((u|0)<0)<<31>>31|0,5038,0)|0;u=Il(u|0,P|0,4096,0)|0;u=Dl(u|0,P|0,13)|0;f[c>>2]=u;t=t+1|0}while((t|0)!=(i|0))}if(h)t=0;else return;do{i=e+((t<<1|1)<<2)|0;h=f[i>>2]|0;h=zl(h|0,((h|0)<0)<<31>>31|0,6659,0)|0;h=Il(h|0,P|0,4096,0)|0;h=Dl(h|0,P|0,13)|0;f[i>>2]=h;t=t+1|0}while((t|0)!=(r|0));return}function Ia(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0;h=f[e>>2]|0;l=f[e+12>>2]|0;w=f[e+8>>2]|0;d=r*3|0;c=1-l|0;u=e+4|0;o=w;e=0;while(1){s=h+(l<<4)|0;if(((o+d|0)<(t|0)?(i&15|0)==0:0)?((s|r)&15|0)==0:0){if((o|0)>0){n=0;do{s=n<<3;f[h+(l<<4)+(s<<2)>>2]=f[i+(n<<2)>>2];a=n+r|0;f[h+(l<<4)+((s|1)<<2)>>2]=f[i+(a<<2)>>2];a=a+r|0;f[h+(l<<4)+((s|2)<<2)>>2]=f[i+(a<<2)>>2];f[h+(l<<4)+((s|3)<<2)>>2]=f[i+(a+r<<2)>>2];n=n+1|0}while((n|0)!=(o|0))}}else _=3;if((_|0)==3?(_=0,(o|0)>0):0){s=0;do{n=s<<3;f[h+(l<<4)+(n<<2)>>2]=f[i+(s<<2)>>2];a=s+r|0;if(((a|0)<(t|0)?(f[h+(l<<4)+((n|1)<<2)>>2]=f[i+(a<<2)>>2],b=a+r|0,(b|0)<(t|0)):0)?(f[h+(l<<4)+((n|2)<<2)>>2]=f[i+(b<<2)>>2],k=b+r|0,(k|0)<(t|0)):0)f[h+(l<<4)+((n|3)<<2)>>2]=f[i+(k<<2)>>2];s=s+1|0}while((s|0)!=(o|0))}e=e+1|0;if((e|0)==2)break;else{i=i+(w<<2)|0;t=t-w|0;l=c;o=f[u>>2]|0}}return}function Da(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,u=0.0,c=0.0,h=0,d=0.0,b=0,k=0;do{if(!(f[e+12>>2]|0)){r=f[e+8>>2]|0;if((f[e+4>>2]|0)>0){i=f[e>>2]|0;if((r|0)>0){s=0;n=1;l=9;break}else{s=0;a=1;break}}if((r|0)>1){t=0;n=1;l=7}else return}else{r=f[e+8>>2]|0;if((r|0)<=0)if((f[e+4>>2]|0)>1){i=f[e>>2]|0;s=1;a=0;break}else return;else{t=1;n=0;l=7}}}while(0);if((l|0)==7){i=f[e>>2]|0;s=t;l=9}if((l|0)==9){t=0;do{l=t<<3;b=i+(s<<4)+(l<<2)|0;h=i+(s<<4)+((l|1)<<2)|0;d=+o[h>>2];a=i+(s<<4)+((l|2)<<2)|0;c=+o[a>>2];l=i+(s<<4)+((l|3)<<2)|0;u=+o[l>>2];o[b>>2]=+o[b>>2]*1.2301740646362305;o[h>>2]=d*1.2301740646362305;o[a>>2]=c*1.2301740646362305;o[l>>2]=u*1.2301740646362305;t=t+1|0}while((t|0)!=(r|0));a=n}t=f[e+4>>2]|0;if((t|0)>0){n=0;do{b=n<<3;l=i+(a<<4)+(b<<2)|0;e=i+(a<<4)+((b|1)<<2)|0;u=+o[e>>2];h=i+(a<<4)+((b|2)<<2)|0;c=+o[h>>2];b=i+(a<<4)+((b|3)<<2)|0;d=+o[b>>2];o[l>>2]=+o[l>>2]*1.625732421875;o[e>>2]=u*1.625732421875;o[h>>2]=c*1.625732421875;o[b>>2]=d*1.625732421875;n=n+1|0}while((n|0)!=(t|0))}k=i+(a<<4)|0;n=i+(s+1<<4)|0;l=t-s|0;l=(r|0)<(l|0)?r:l;Na(k,n,r,l,-.4435068666934967);e=i+(s<<4)|0;h=i+(a+1<<4)|0;b=r-a|0;b=(t|0)<(b|0)?t:b;Na(e,h,t,b,-.8829110860824585);Na(k,n,r,l,.05298011749982834);Na(e,h,t,b,1.5861343145370483);return}function Na(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var f=0.0,a=0.0,s=0.0,l=0.0,u=0,c=0,h=0,d=0,b=0.0,k=0.0,w=0,_=0.0,m=0.0,v=0,p=0.0,g=0.0,y=0,M=0.0;if((t|0)>0){h=t<<1;c=h+-2|0;a=+o[e>>2];s=+o[e+4>>2];l=+o[e+8>>2];f=+o[e+12>>2];e=i;u=0;while(1){y=e+-16|0;v=e+-12|0;g=+o[v>>2];w=e+-8|0;m=+o[w>>2];d=e+-4|0;k=+o[d>>2];M=a;a=+o[e>>2];p=s;s=+o[e+4>>2];_=l;l=+o[e+8>>2];b=f;f=+o[e+12>>2];o[y>>2]=+o[y>>2]+(M+a)*n;o[v>>2]=g+(p+s)*n;o[w>>2]=m+(_+l)*n;o[d>>2]=k+(b+f)*n;u=u+1|0;if((u|0)==(t|0))break;else e=e+32|0}e=i+(c<<4)|0;i=i+(h<<4)|0}if((t|0)>=(r|0))return;f=n+n;a=f*+o[e>>2];s=f*+o[e+4>>2];l=f*+o[e+8>>2];f=f*+o[e+12>>2];while(1){d=i+-16|0;w=i+-12|0;p=+o[w>>2];v=i+-8|0;g=+o[v>>2];y=i+-4|0;M=+o[y>>2];o[d>>2]=a+ +o[d>>2];o[w>>2]=s+p;o[v>>2]=l+g;o[y>>2]=f+M;t=t+1|0;if((t|0)==(r|0))break;else i=i+32|0}return}function Fa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0.0,s=0,l=0,u=0,c=0,h=0,d=0,b=0.0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;M=r<<2;E=Nn(r<<4)|0;if(!E){e=0;return e|0}A=E+M|0;Ol(E|0,0,M|0)|0;g=r+-1|0;p=(r|0)==0;if(!p){t=0;n=E;while(1){f[n>>2]=t;t=t+1|0;if((t|0)==(r|0))break;else n=n+4|0}}e:do{if(g){w=g;l=0;t=0;_=e;m=1;v=E;while(1){u=_+(l<<2)|0;if(l>>>0>>0){s=l;n=u;a=0.0}else break;while(1){b=+o[n>>2];b=b>0.0?b:-b;y=b>a;t=y?s:t;a=y?b:a;s=s+1|0;if((s|0)==(r|0))break;else n=n+(r<<2)|0}if(a==0.0)break;if((t|0)!=(l|0)){y=t-l|0;k=v+(y<<2)|0;d=f[v>>2]|0;f[v>>2]=f[k>>2];f[k>>2]=d;y=_+((ie(y,r)|0)<<2)|0;Nl(A|0,y|0,M|0)|0;Nl(y|0,_|0,M|0)|0;Nl(_|0,A|0,M|0)|0}n=l;k=l+1|0;b=+o[u>>2];if(m>>>0>>0){c=_+(k<<2)|0;d=k+w|0;h=m;s=_+(n+r<<2)|0;while(1){a=+o[s>>2]/b;o[s>>2]=a;n=m;l=s;u=c;while(1){l=l+4|0;o[l>>2]=+o[l>>2]-a*+o[u>>2];n=n+1|0;if((n|0)==(r|0))break;else u=u+4|0}h=h+1|0;if((h|0)==(r|0))break;else s=s+(d<<2)|0}}if(k>>>0>>0){w=w+-1|0;l=k;_=_+(r<<2)|0;m=m+1|0;v=v+4|0}else break e}zn(E);e=0;return e|0}}while(0);t=r<<1;y=A+(t<<2)|0;if(!p){p=A+(g+r<<2)|0;w=A+(t+g<<2)|0;_=e+((ie(r,r)|0)+-1<<2)|0;m=~r;v=0;k=i;while(1){Ol(A|0,0,M|0)|0;o[A+(v<<2)>>2]=1.0;l=0;u=1;c=E;h=y;d=e;while(1){if(!l)a=0.0;else{t=1;n=y;s=d;a=0.0;while(1){a=a+ +o[s>>2]*+o[n>>2];t=t+1|0;if((t|0)==(u|0))break;else{n=n+4|0;s=s+4|0}}}o[h>>2]=+o[A+(f[c>>2]<<2)>>2]-a;l=l+1|0;if((l|0)==(r|0)){l=r;u=p;c=y;h=w;d=_;break}else{u=u+1|0;c=c+4|0;h=h+4|0;d=d+(r<<2)|0}}while(1){t=l;l=l+-1|0;b=+o[d>>2];if(t>>>0>>0){n=c;s=d;a=0.0;while(1){s=s+4|0;a=a+ +o[s>>2]*+o[n>>2];t=t+1|0;if((t|0)==(r|0))break;else n=n+4|0}}else a=0.0;c=c+-4|0;o[u>>2]=(+o[h>>2]-a)/b;if(!l){t=0;n=k;break}else{u=u+-4|0;h=h+-4|0;d=d+(m<<2)|0}}while(1){f[n>>2]=f[A+(t+r<<2)>>2];t=t+1|0;if((t|0)==(r|0))break;else n=n+(r<<2)|0}v=v+1|0;if((v|0)==(r|0))break;else k=k+4|0}}zn(E);e=1;return e|0}function Ua(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0;a=Fn(1,44)|0;if(!a){a=0;return a|0}s=Qa()|0;f[a>>2]=s;if(!s){$a(0);f[a>>2]=0;s=a+4|0;ks(f[s>>2]|0);f[s>>2]=0;if((f[a+40>>2]|0)==0?(r=a+8|0,i=f[r>>2]|0,(i|0)!=0):0){jn(i);f[r>>2]=0}i=a+12|0;r=f[i>>2]|0;if(r){jn(r);f[i>>2]=0}zn(a);s=0;return s|0}s=bs()|0;i=a+4|0;f[i>>2]=s;if(s){f[a+40>>2]=e;s=a;return s|0}$a(f[a>>2]|0);f[a>>2]=0;ks(f[i>>2]|0);f[i>>2]=0;if((f[a+40>>2]|0)==0?(t=a+8|0,n=f[t>>2]|0,(n|0)!=0):0){jn(n);f[t>>2]=0}i=a+12|0;r=f[i>>2]|0;if(r){jn(r);f[i>>2]=0}zn(a);s=0;return s|0}function ja(e){e=e|0;var i=0,r=0,t=0;if(!e)return;$a(f[e>>2]|0);f[e>>2]=0;t=e+4|0;ks(f[t>>2]|0);f[t>>2]=0;if((f[e+40>>2]|0)==0?(i=e+8|0,r=f[i>>2]|0,(r|0)!=0):0){jn(r);f[i>>2]=0}i=e+12|0;r=f[i>>2]|0;if(r){jn(r);f[i>>2]=0}zn(e);return}function Ha(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,l=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,H=0,z=0,Y=0,q=0,X=0,V=0,G=0,K=0,W=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,te=0,ne=0,fe=0,ae=0,se=0,le=0,oe=0,ue=0,ce=0,he=0,de=0,be=0,ke=0,we=0,_e=0,me=0,ve=0,pe=0,ge=0,ye=0,Me=0,Ee=0,Ae=0,Se=0,Te=0,Ce=0,Re=0;Ee=(f[i+8>>2]|0)-(f[i>>2]|0)|0;Ae=i+20|0;t=f[Ae>>2]|0;if(!t){e=1;return e|0}Se=i+24|0;Te=r+808|0;Ce=r+16|0;ve=e+4|0;ge=e+8|0;ye=e+16|0;Me=e+20|0;me=r+20|0;ke=i+32|0;we=e+32|0;_e=e+12|0;r=t;be=0;e:while(1){he=f[Se>>2]|0;de=he+(be*136|0)+24|0;i=f[de>>2]|0;if(i){oe=he+(be*136|0)+16|0;ue=he+(be*136|0)+20|0;ce=be+-1|0;r=f[ue>>2]|0;t=f[oe>>2]|0;le=0;do{if(ie(r,t)|0){te=he+(be*136|0)+28+(le*36|0)+20|0;ne=he+(be*136|0)+28+(le*36|0)+16|0;fe=he+(be*136|0)+28+(le*36|0)|0;ae=he+(be*136|0)+28+(le*36|0)+4|0;se=he+(be*136|0)+28+(le*36|0)+32|0;re=0;do{i=f[te>>2]|0;$=i+(re*40|0)+16|0;ee=i+(re*40|0)+20|0;if(ie(f[ee>>2]|0,f[$>>2]|0)|0){J=i+(re*40|0)+24|0;Q=0;do{r=f[J>>2]|0;q=f[ne>>2]|0;l=f[Te>>2]|0;i=f[Ce>>2]|0;X=f[ve>>2]|0;V=f[e>>2]|0;G=r+(Q*56|0)+8|0;Z=r+(Q*56|0)+12|0;if(!(Ya(e,(f[r+(Q*56|0)+16>>2]|0)-(f[G>>2]|0)|0,(f[r+(Q*56|0)+20>>2]|0)-(f[Z>>2]|0)|0)|0)){r=0;x=201;break e}K=r+(Q*56|0)+24|0;u=f[K>>2]|0;ss(V);ls(V,18,0,46);ls(V,17,0,3);ls(V,0,0,4);W=r+(Q*56|0)+48|0;t=f[W>>2]|0;if(t){U=r+(Q*56|0)+4|0;j=(i&1|0)!=0;H=(i&2|0)==0;z=(i&8|0)==0;Y=q<<8;F=(i&32|0)==0;i=u+l|0;r=2;N=0;do{u=f[U>>2]|0;D=j&(r>>>0<2?(i|0)<=((f[K>>2]|0)+-4|0):0);l=f[u+(N<<5)>>2]|0;if(l){t=(f[l>>2]|0)+(f[u+(N<<5)+4>>2]|0)|0;l=f[u+(N<<5)+16>>2]|0;if(!D){if(!(hs(V,t,l)|0)){r=0;x=201;break e}}else ws(X,t,l);B=u+(N<<5)+12|0;i:do{if(f[B>>2]|0){I=H|D;O=0;while(1){r:do{switch(r|0){case 0:{if(D){y=1<>1|y;l=f[Me>>2]|0;if(!l)break r;g=0-y|0;t=f[ye>>2]|0;p=0;while(1){v=p;p=p+4|0;if(!t)t=0;else{w=(v|0)==-4;_=v|3;m=0;do{t:do{if(!w)if(z){b=v;do{if(b>>>0>=(f[Me>>2]|0)>>>0)break t;h=b;b=b+1|0;t=(ie(f[we>>2]|0,b)|0)+m|0;l=t+1|0;u=f[_e>>2]|0;c=u+(l<<1)|0;h=(ie(f[ye>>2]|0,h)|0)+m|0;h=(f[ge>>2]|0)+(h<<2)|0;d=f[ve>>2]|0;x=n[c>>1]|0;if((x&255|0)!=0&(x&20480|0)==0){if(_s(d)|0){R=_s(d)|0;f[h>>2]=(R|0)!=0?g:y;P=f[we>>2]|0;x=u+(l-P<<1)|0;L=u+(P+l<<1)|0;C=u+(l+~P<<1)|0;n[C>>1]=s[C>>1]|2;n[x>>1]=n[x>>1]|n[3436+(R<<1)>>1];x=t+2|0;C=u+(x-P<<1)|0;n[C>>1]=s[C>>1]|4;C=u+(t<<1)|0;n[C>>1]=n[C>>1]|n[3436+(R+2<<1)>>1];n[c>>1]=s[c>>1]|4096;C=u+(x<<1)|0;n[C>>1]=n[C>>1]|n[3436+(R+4<<1)>>1];C=u+(P+t<<1)|0;n[C>>1]=s[C>>1]|1;n[L>>1]=n[L>>1]|n[3436+(R+6<<1)>>1];x=u+(P+x<<1)|0;n[x>>1]=s[x>>1]|8}n[c>>1]=s[c>>1]|16384}}while(b>>>0

>>0)}else{k=v;do{t=f[Me>>2]|0;if(k>>>0>=t>>>0)break t;P=k;k=k+1|0;l=(ie(f[we>>2]|0,k)|0)+m|0;u=l+1|0;c=f[_e>>2]|0;h=c+(u<<1)|0;d=(ie(f[ye>>2]|0,P)|0)+m|0;d=(f[ge>>2]|0)+(d<<2)|0;b=f[ve>>2]|0;x=n[h>>1]|0;x=(P|0)==(_|0)|(P|0)==(t+-1|0)?x&-1095:x;if((x&255|0)!=0&(x&20480|0)==0){if(_s(b)|0){R=_s(b)|0;f[d>>2]=(R|0)!=0?g:y;P=f[we>>2]|0;x=c+(u-P<<1)|0;L=c+(P+u<<1)|0;C=c+(u+~P<<1)|0;n[C>>1]=s[C>>1]|2;n[x>>1]=n[x>>1]|n[3436+(R<<1)>>1];x=l+2|0;C=c+(x-P<<1)|0;n[C>>1]=s[C>>1]|4;C=c+(l<<1)|0;n[C>>1]=n[C>>1]|n[3436+(R+2<<1)>>1];n[h>>1]=s[h>>1]|4096;C=c+(x<<1)|0;n[C>>1]=n[C>>1]|n[3436+(R+4<<1)>>1];C=c+(P+l<<1)|0;n[C>>1]=s[C>>1]|1;n[L>>1]=n[L>>1]|n[3436+(R+6<<1)>>1];x=c+(P+x<<1)|0;n[x>>1]=s[x>>1]|8}n[h>>1]=s[h>>1]|16384}}while(k>>>0

>>0)}}while(0);m=m+1|0;t=f[ye>>2]|0}while(m>>>0>>0);l=f[Me>>2]|0}if(p>>>0>=l>>>0){x=163;break r}}}if(z){u=f[ge>>2]|0;c=(f[_e>>2]|0)+2|0;_=1<>1|_;t=f[Me>>2]|0;l=f[ye>>2]|0;if(t>>>0>3){b=l;d=0;while(1){if(!l){l=b;h=0}else{l=0;do{x=(f[we>>2]|0)+l|0;qa(e,c+(x<<1)|0,u+(l<<2)|0,q,_);t=(f[ye>>2]|0)+l|0;x=(f[we>>2]|0)+x|0;qa(e,c+(x<<1)|0,u+(t<<2)|0,q,_);t=(f[ye>>2]|0)+t|0;x=(f[we>>2]|0)+x|0;qa(e,c+(x<<1)|0,u+(t<<2)|0,q,_);qa(e,c+((f[we>>2]|0)+x<<1)|0,u+((f[ye>>2]|0)+t<<2)|0,q,_);l=l+1|0;t=f[ye>>2]|0}while(l>>>0>>0);l=t;h=t;t=f[Me>>2]|0}u=u+(h<<2<<2)|0;c=c+(f[we>>2]<<2<<1)|0;d=d+4|0;if(d>>>0<(t&-4)>>>0){b=l;l=h}else{w=c;k=d;break}}}else{w=c;k=0}if(!l){x=163;break r}else b=0;while(1){if(k>>>0>>0){c=u+(b<<2)|0;h=w+(b<<1)|0;d=k;while(1){h=h+(f[we>>2]<<1)|0;qa(e,h,c,q,_);l=f[ye>>2]|0;d=d+1|0;t=f[Me>>2]|0;if(d>>>0>=t>>>0)break;else c=c+(l<<2)|0}}b=b+1|0;if(b>>>0>=l>>>0){x=163;break r}}}y=1<>1|y;t=f[Me>>2]|0;if(!t){x=163;break r}M=0-y|0;l=f[ye>>2]|0;c=l;g=0;while(1){p=g;g=g+4|0;do{if(!l){u=c;l=0}else{v=p|3;if((p|0)==-4){u=c;l=c;break}else m=0;do{_=p;do{t=f[Me>>2]|0;if(_>>>0>=t>>>0)break;x=_;_=_+1|0;c=(ie(f[we>>2]|0,_)|0)+m|0;h=c+1|0;d=f[_e>>2]|0;b=d+(h<<1)|0;k=(ie(f[ye>>2]|0,x)|0)+m|0;k=(f[ge>>2]|0)+(k<<2)|0;w=f[e>>2]|0;l=n[b>>1]|0;t=(x|0)==(v|0)|(x|0)==(t+-1|0)?l&-1095:l;l=t&255;if((l|0)!=0&(t&20480|0)==0){u=w+100|0;f[u>>2]=w+24+(a[20267+(l|Y)>>0]<<2);if(ds(w)|0){P=t>>>4&255;f[u>>2]=w+24+(a[21291+P>>0]<<2);x=ds(w)|0;P=a[21547+P>>0]|0;R=P^x;f[k>>2]=(x|0)!=(P|0)?M:y;P=f[we>>2]|0;x=d+(h-P<<1)|0;L=d+(P+h<<1)|0;C=d+(h+~P<<1)|0;n[C>>1]=s[C>>1]|2;n[x>>1]=n[x>>1]|n[3436+(R<<1)>>1];x=c+2|0;C=d+(x-P<<1)|0;n[C>>1]=s[C>>1]|4;C=d+(c<<1)|0;n[C>>1]=n[C>>1]|n[3436+(R+2<<1)>>1];n[b>>1]=s[b>>1]|4096;C=d+(x<<1)|0;n[C>>1]=n[C>>1]|n[3436+(R+4<<1)>>1];C=d+(P+c<<1)|0;n[C>>1]=s[C>>1]|1;n[L>>1]=n[L>>1]|n[3436+(R+6<<1)>>1];x=d+(P+x<<1)|0;n[x>>1]=s[x>>1]|8}n[b>>1]=s[b>>1]|16384}}while(_>>>0>>0);m=m+1|0;t=f[ye>>2]|0}while(m>>>0>>0);u=t;l=t;t=f[Me>>2]|0}}while(0);if(g>>>0>=t>>>0){x=163;break}else c=u}break}case 1:{if(D){w=1<>1;_=(i|0)>0?0-w|0:-1;l=f[Me>>2]|0;if(!l)break r;u=f[ye>>2]|0;t=u;k=0;while(1){b=k;k=k+4|0;if(!u){c=t;u=0}else{d=(b|0)==-4;h=0;do{c=h;h=h+1|0;if(!d){u=b;do{if(u>>>0>=(f[Me>>2]|0)>>>0)break;l=u;u=u+1|0;t=(ie(f[we>>2]|0,u)|0)+h|0;t=(f[_e>>2]|0)+(t<<1)|0;l=(ie(f[ye>>2]|0,l)|0)+c|0;l=(f[ge>>2]|0)+(l<<2)|0;if((n[t>>1]&20480)==4096){P=(_s(f[ve>>2]|0)|0)!=0;P=P?w:_;x=f[l>>2]|0;f[l>>2]=((x|0)<0?0-P|0:P)+x;n[t>>1]=s[t>>1]|8192}}while(u>>>0>>0);t=f[ye>>2]|0}}while(h>>>0>>0);c=t;u=t;l=f[Me>>2]|0}if(k>>>0>=l>>>0){x=163;break r}else t=c}}if(!z){v=1<>1;p=(i|0)>0?0-v|0:-1;t=f[Me>>2]|0;if(!t){x=163;break r}l=f[ye>>2]|0;u=l;m=0;while(1){_=m;m=m+4|0;if(!l)l=0;else{k=(_|0)==-4;w=_|3;t=u;b=0;do{d=b;b=b+1|0;if(!k){c=_;do{t=f[Me>>2]|0;if(c>>>0>=t>>>0)break;P=c;c=c+1|0;l=(ie(f[we>>2]|0,c)|0)+b|0;l=(f[_e>>2]|0)+(l<<1)|0;u=(ie(f[ye>>2]|0,P)|0)+d|0;u=(f[ge>>2]|0)+(u<<2)|0;h=f[e>>2]|0;x=n[l>>1]|0;t=(P|0)==(w|0)|(P|0)==(t+-1|0)?x&-1095:x;if((t&20480|0)==4096){f[h+100>>2]=h+24+(((t&8192|0)!=0?16:(t&255|0)!=0?15:14)<<2);P=(ds(h)|0)!=0;P=P?v:p;x=f[u>>2]|0;f[u>>2]=((x|0)<0?0-P|0:P)+x;n[l>>1]=s[l>>1]|8192}}while(c>>>0>>0);t=f[ye>>2]|0}}while(b>>>0>>0);u=t;l=t;t=f[Me>>2]|0}if(m>>>0>=t>>>0){x=163;break r}}}u=f[ge>>2]|0;c=(f[_e>>2]|0)+2|0;g=1<>1;y=(i|0)>0?0-g|0:-1;t=f[Me>>2]|0;l=f[ye>>2]|0;if(t>>>0>3){d=l;v=c;p=0;while(1){if(!l){l=d;h=0}else{t=d;m=0;do{l=u+(m<<2)|0;d=f[we>>2]|0;k=d+m|0;c=v+(k<<1)|0;b=f[e>>2]|0;h=n[c>>1]|0;if((h&20480|0)==4096){f[b+100>>2]=b+24+(((h&8192|0)!=0?16:(h&255|0)!=0?15:14)<<2);d=(ds(b)|0)!=0;d=d?g:y;t=f[l>>2]|0;f[l>>2]=((t|0)<0?0-d|0:d)+t;n[c>>1]=s[c>>1]|8192;t=f[ye>>2]|0;l=f[we>>2]|0;d=f[e>>2]|0}else{l=d;d=b}w=t+m|0;b=u+(w<<2)|0;_=l+k|0;c=v+(_<<1)|0;h=n[c>>1]|0;if((h&20480|0)==4096){f[d+100>>2]=d+24+(((h&8192|0)!=0?16:(h&255|0)!=0?15:14)<<2);l=(ds(d)|0)!=0;l=l?g:y;t=f[b>>2]|0;f[b>>2]=((t|0)<0?0-l|0:l)+t;n[c>>1]=s[c>>1]|8192;t=f[ye>>2]|0;l=f[we>>2]|0;d=f[e>>2]|0}k=t+w|0;b=u+(k<<2)|0;w=l+_|0;c=v+(w<<1)|0;h=n[c>>1]|0;if((h&20480|0)==4096){f[d+100>>2]=d+24+(((h&8192|0)!=0?16:(h&255|0)!=0?15:14)<<2);l=(ds(d)|0)!=0;l=l?g:y;t=f[b>>2]|0;f[b>>2]=((t|0)<0?0-l|0:l)+t;n[c>>1]=s[c>>1]|8192;t=f[ye>>2]|0;l=f[we>>2]|0;d=f[e>>2]|0}h=u+(t+k<<2)|0;l=v+(l+w<<1)|0;c=n[l>>1]|0;if((c&20480|0)==4096){f[d+100>>2]=d+24+(((c&8192|0)!=0?16:(c&255|0)!=0?15:14)<<2);x=(ds(d)|0)!=0;x=x?g:y;t=f[h>>2]|0;f[h>>2]=((t|0)<0?0-x|0:x)+t;n[l>>1]=s[l>>1]|8192;t=f[ye>>2]|0}m=m+1|0}while(m>>>0>>0);l=t;h=t;t=f[Me>>2]|0}u=u+(h<<2<<2)|0;c=v+(f[we>>2]<<2<<1)|0;b=p+4|0;if(b>>>0<(t&-4)>>>0){d=l;l=h;v=c;p=b}else{m=b;break}}}else m=0;if(!l){x=163;break r}else _=0;do{if(m>>>0>>0){b=u+(_<<2)|0;k=c+(_<<1)|0;w=m;while(1){k=k+(f[we>>2]<<1)|0;d=f[e>>2]|0;h=n[k>>1]|0;if((h&20480|0)==4096){f[d+100>>2]=d+24+(((h&8192|0)!=0?16:(h&255|0)!=0?15:14)<<2);t=(ds(d)|0)!=0;t=t?g:y;h=f[b>>2]|0;f[b>>2]=((h|0)<0?0-t|0:t)+h;n[k>>1]=s[k>>1]|8192;h=f[ye>>2]|0;t=f[Me>>2]|0}else h=l;w=w+1|0;if(w>>>0>=t>>>0){l=h;break}else{l=h;b=b+(h<<2)|0}}}_=_+1|0}while(_>>>0>>0);x=163;break}case 2:{L=f[e>>2]|0;P=1<>1|P;do{if(z){u=f[ge>>2]|0;c=(f[_e>>2]|0)+2|0;l=f[Me>>2]|0;if(l>>>0>3){y=L+92|0;M=L+100|0;E=L+96|0;A=0-P|0;h=f[ye>>2]|0;t=h;b=0;while(1){if(!h)h=0;else{_=b|1;m=_+1|0;v=b|3;p=_+3|0;g=0;do{t=f[we>>2]|0;l=g;g=g+1|0;R=(ie(t,_)|0)+g|0;x=f[_e>>2]|0;R=n[x+((ie(t,m)|0)+g<<1)>>1]|n[x+(R<<1)>>1];R=R|n[x+((ie(t,v)|0)+g<<1)>>1];t:do{if(!((R|n[x+((ie(t,p)|0)+g<<1)>>1])&20735)){f[M>>2]=y;if(!(ds(L)|0))break;f[M>>2]=E;k=(ds(L)|0)<<1;k=k|(ds(L)|0);if(k>>>0>=4)break;w=u+((ie(f[ye>>2]|0,k)|0)+l<<2)|0;l=c+((ie(f[we>>2]|0,k)|0)+l<<1)|0;d=k;while(1){if(d>>>0>=(f[Me>>2]|0)>>>0)break t;t=f[we>>2]|0;h=l;l=l+(t<<1)|0;if((d|0)==(k|0)){x=f[e>>2]|0;R=(s[l>>1]|0)>>>4&255;f[x+100>>2]=x+24+(a[21291+R>>0]<<2);x=ds(x)|0;R=a[21547+R>>0]|0;T=R^x;f[w>>2]=(x|0)!=(R|0)?A:P;R=f[we>>2]|0;x=h+(t-R<<1)|0;C=h+(R+t<<1)|0;S=h+(t+~R<<1)|0;n[S>>1]=s[S>>1]|2;n[x>>1]=n[x>>1]|n[3436+(T<<1)>>1];x=t+1|0;S=h+(x-R<<1)|0;n[S>>1]=s[S>>1]|4;S=t+-1|0;t=h+(S<<1)|0;n[t>>1]=n[t>>1]|n[3436+(T+2<<1)>>1];n[l>>1]=s[l>>1]|4096;t=h+(x<<1)|0;n[t>>1]=n[t>>1]|n[3436+(T+4<<1)>>1];S=h+(R+S<<1)|0;n[S>>1]=s[S>>1]|1;n[C>>1]=n[C>>1]|n[3436+(T+6<<1)>>1];x=h+(R+x<<1)|0;n[x>>1]=s[x>>1]|8;n[l>>1]=s[l>>1]&49151}else Xa(e,l,w,q,P);d=d+1|0;if(d>>>0>=4)break;else w=w+(f[ye>>2]<<2)|0}}else{R=t+l|0;Xa(e,c+(R<<1)|0,u+(l<<2)|0,q,P);x=(f[ye>>2]|0)+l|0;R=(f[we>>2]|0)+R|0;Xa(e,c+(R<<1)|0,u+(x<<2)|0,q,P);x=(f[ye>>2]|0)+x|0;R=(f[we>>2]|0)+R|0;Xa(e,c+(R<<1)|0,u+(x<<2)|0,q,P);Xa(e,c+((f[we>>2]|0)+R<<1)|0,u+((f[ye>>2]|0)+x<<2)|0,q,P)}}while(0);t=f[ye>>2]|0}while(g>>>0>>0);h=t;l=f[Me>>2]|0}u=u+(h<<2<<2)|0;c=c+(f[we>>2]<<2<<1)|0;b=b+4|0;if(b>>>0>=(l&-4)>>>0){w=u;k=c;break}}}else{t=f[ye>>2]|0;w=u;k=c;b=0}if(!t)break;else d=0;do{if(b>>>0>>0){u=w+(d<<2)|0;c=k+(d<<1)|0;h=b;while(1){c=c+(f[we>>2]<<1)|0;Xa(e,c,u,q,P);t=f[ye>>2]|0;h=h+1|0;l=f[Me>>2]|0;if(h>>>0>=l>>>0)break;else u=u+(t<<2)|0}}d=d+1|0}while(d>>>0>>0)}else{t=f[Me>>2]|0;if(!t)break;S=L+92|0;T=L+100|0;C=L+96|0;R=0-P|0;l=f[ye>>2]|0;A=0;while(1){if(!l){u=A+4|0;l=0}else{g=A|3;y=A|1;M=y+1|0;E=y+3|0;u=A+4|0;p=0;while(1){do{if(g>>>0>>0){t=f[we>>2]|0;c=p+1|0;v=(ie(t,y)|0)+c|0;l=f[_e>>2]|0;if(n[l+(v<<1)>>1]&20735){v=0;t=0;x=127;break}if(n[l+((ie(t,M)|0)+c<<1)>>1]&20735){v=0;t=0;x=127;break}if(n[l+((ie(t,g)|0)+c<<1)>>1]&20735){v=0;t=0;x=127;break}if(n[l+((ie(t,E)|0)+c<<1)>>1]&20665){v=0;t=0;x=127;break}f[T>>2]=S;if(!(ds(L)|0))break;f[T>>2]=C;t=(ds(L)|0)<<1;v=1;t=t|(ds(L)|0);x=127}else{v=0;t=0;x=127}}while(0);if((x|0)==127){x=0;c=t+A|0;t:do{if(c>>>0>>0){m=c;do{t=f[Me>>2]|0;if(m>>>0>=t>>>0)break t;Re=m;m=m+1|0;h=(ie(f[we>>2]|0,m)|0)+p|0;d=h+1|0;b=f[_e>>2]|0;k=b+(d<<1)|0;w=(ie(f[ye>>2]|0,Re)|0)+p|0;w=(f[ge>>2]|0)+(w<<2)|0;_=f[e>>2]|0;l=n[k>>1]|0;l=(Re|0)==(g|0)|(Re|0)==(t+-1|0)?l&-1095:l;do{if(!(v&(Re|0)==(c|0))){if(l&20480)break;t=_+100|0;f[t>>2]=_+24+(a[20267+(l&255|Y)>>0]<<2);if(ds(_)|0)x=133}else{t=_+100|0;x=133}}while(0);if((x|0)==133){x=0;l=l>>>4&255;f[t>>2]=_+24+(a[21291+l>>0]<<2);Re=ds(_)|0;_=a[21547+l>>0]|0;l=_^Re;f[w>>2]=(Re|0)!=(_|0)?R:P;_=f[we>>2]|0;Re=b+(d-_<<1)|0;w=b+(_+d<<1)|0;d=b+(d+~_<<1)|0;n[d>>1]=s[d>>1]|2;n[Re>>1]=n[Re>>1]|n[3436+(l<<1)>>1];Re=h+2|0;d=b+(Re-_<<1)|0;n[d>>1]=s[d>>1]|4;d=b+(h<<1)|0;n[d>>1]=n[d>>1]|n[3436+(l+2<<1)>>1];n[k>>1]=s[k>>1]|4096;d=b+(Re<<1)|0;n[d>>1]=n[d>>1]|n[3436+(l+4<<1)>>1];d=b+(_+h<<1)|0;n[d>>1]=s[d>>1]|1;n[w>>1]=n[w>>1]|n[3436+(l+6<<1)>>1];Re=b+(_+Re<<1)|0;n[Re>>1]=s[Re>>1]|8}n[k>>1]=s[k>>1]&49151}while(m>>>0>>0)}}while(0);c=p+1|0}l=f[ye>>2]|0;t=f[Me>>2]|0;if(c>>>0>>0)p=c;else break}}if(u>>>0>>0)A=u;else break}}}while(0);if(F){x=163;break r}f[L+100>>2]=L+96;ds(L)|0;ds(L)|0;ds(L)|0;ds(L)|0;x=163;break}default:x=163}}while(0);do{if((x|0)==163){x=0;if(I)break;ss(V);ls(V,18,0,46);ls(V,17,0,3);ls(V,0,0,4)}}while(0);r=r+1|0;Re=(r|0)==3;i=(Re<<31>>31)+i|0;r=Re?0:r;O=O+1|0;if(O>>>0>=(f[B>>2]|0)>>>0)break i}}}while(0);t=f[W>>2]|0}N=N+1|0}while(N>>>0>>0)}r=(f[G>>2]|0)-(f[fe>>2]|0)|0;i=(f[Z>>2]|0)-(f[ae>>2]|0)|0;t=f[ne>>2]|0;if(t&1){Re=f[Se>>2]|0;r=(f[Re+(ce*136|0)+8>>2]|0)+r-(f[Re+(ce*136|0)>>2]|0)|0}if(t&2){Re=f[Se>>2]|0;i=(f[Re+(ce*136|0)+12>>2]|0)+i-(f[Re+(ce*136|0)+4>>2]|0)|0}k=f[ge>>2]|0;w=f[ye>>2]|0;_=f[Me>>2]|0;t=f[Te>>2]|0;if((t|0)!=0?(pe=1<>2]|0;h=(c|0)>-1?c:0-c|0;if((h|0)>=(pe|0)){Re=h>>f[Te>>2];f[u>>2]=(c|0)<0?0-Re|0:Re}d=d+1|0}while((d|0)!=(w|0))}b=b+1|0}while((b|0)!=(_|0))}d=(ie(i,Ee)|0)+r|0;b=f[ke>>2]|0;r=(_|0)==0;if((f[me>>2]|0)==1){if(!r){r=(w|0)==0;u=0;do{if(!r){i=ie(u,w)|0;t=(ie(u,Ee)|0)+d|0;l=0;do{f[b+(t+l<<2)>>2]=(f[k+(l+i<<2)>>2]|0)/2|0;l=l+1|0}while((l|0)!=(w|0))}u=u+1|0}while((u|0)!=(_|0))}}else if(!r){h=(w|0)==0;r=k;c=0;u=b+(d<<2)|0;while(1){if(!h){i=r;t=0;l=u;while(1){o[l>>2]=+(f[i>>2]|0)*+o[se>>2];t=t+1|0;if((t|0)==(w|0))break;else{i=i+4|0;l=l+4|0}}r=r+(w<<2)|0}c=c+1|0;if((c|0)==(_|0))break;else u=u+(Ee<<2)|0}}Q=Q+1|0}while(Q>>>0<(ie(f[ee>>2]|0,f[$>>2]|0)|0)>>>0);r=f[ue>>2]|0;t=f[oe>>2]|0}re=re+1|0}while(re>>>0<(ie(r,t)|0)>>>0);i=f[de>>2]|0}le=le+1|0}while(le>>>0>>0);r=f[Ae>>2]|0}be=be+1|0;if(be>>>0>=r>>>0){r=1;x=201;break}}if((x|0)==201)return r|0;return 0}function za(e,i,r,l,c){e=e|0;i=i|0;r=r|0;l=l|0;c=c|0;var h=0,d=0,b=0,k=0,w=0,_=0,m=0.0,v=0.0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,z=0,Y=0,q=0,X=0,V=0.0,G=0,K=0,W=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,te=0,ne=0,fe=0,ae=0,se=0,le=0.0,oe=0,ue=0,ce=0,he=0,de=0,be=0,ke=0,we=0,_e=0,me=0,ve=0,pe=0,ge=0,ye=0,Me=0,Ee=0,Ae=0,Se=0,Te=0,Ce=0,Re=0,Le=0,Pe=0,xe=0,Oe=0,Be=0,Ie=0,De=0,Ne=0,Fe=0,Ue=0,je=0,He=0,ze=0,Ye=0,qe=0,Xe=0,Ve=0,Ge=0,Ke=0,We=0,Ze=0,Je=0,Qe=0,$e=0;Ze=i+32|0;u[Ze>>3]=0.0;Je=i+16|0;h=f[Je>>2]|0;if(!h){Qe=1;return Qe|0}We=i+20|0;qe=r+5584|0;Xe=e+16|0;Ve=e+20|0;Ge=e+8|0;Ke=e+36|0;He=(l|0)!=0;ze=e+32|0;Ye=e+12|0;i=h;je=0;e:while(1){r=f[We>>2]|0;h=f[qe>>2]|0;Fe=(f[r+(je*52|0)+8>>2]|0)-(f[r+(je*52|0)>>2]|0)|0;Ue=r+(je*52|0)+16|0;d=f[Ue>>2]|0;if(d){Ne=r+(je*52|0)+24|0;Ie=r+(je*52|0)+32|0;De=h+(je*1080|0)+20|0;xe=h+(je*1080|0)+16|0;Be=He&je>>>0>>0;Oe=l+(je<<3)|0;i=d;Pe=0;do{Re=f[Ne>>2]|0;Le=Re+(Pe*136|0)+24|0;r=f[Le>>2]|0;if(r){Ae=Re+(Pe*136|0)+16|0;Se=Re+(Pe*136|0)+20|0;Te=~Pe;Ce=Pe+-1|0;i=f[Se>>2]|0;h=f[Ae>>2]|0;Ee=0;do{Me=Re+(Pe*136|0)+28+(Ee*36|0)+32|0;if(ie(i,h)|0){_e=67108864/(~~+H(+(+o[Me>>2]*8192.0))|0)|0;me=Re+(Pe*136|0)+28+(Ee*36|0)+20|0;ve=Re+(Pe*136|0)+28+(Ee*36|0)|0;pe=Re+(Pe*136|0)+28+(Ee*36|0)+4|0;ge=Re+(Pe*136|0)+28+(Ee*36|0)+16|0;ye=((_e|0)<0)<<31>>31;we=0;do{r=f[me>>2]|0;be=r+(we*40|0)+16|0;ke=r+(we*40|0)+20|0;if(ie(f[ke>>2]|0,f[be>>2]|0)|0){he=r+(we*40|0)+24|0;de=0;do{ce=f[he>>2]|0;d=f[ce+(de*52|0)+12>>2]|0;i=d-(f[ve>>2]|0)|0;b=f[ce+(de*52|0)+16>>2]|0;r=b-(f[pe>>2]|0)|0;h=f[ge>>2]|0;if(h&1){ue=f[Ne>>2]|0;i=(f[ue+(Ce*136|0)+8>>2]|0)+i-(f[ue+(Ce*136|0)>>2]|0)|0}if(h&2){ue=f[Ne>>2]|0;r=(f[ue+(Ce*136|0)+12>>2]|0)+r-(f[ue+(Ce*136|0)+4>>2]|0)|0}if(!(Ya(e,(f[ce+(de*52|0)+20>>2]|0)-d|0,(f[ce+(de*52|0)+24>>2]|0)-b|0)|0)){i=0;Qe=173;break e}k=f[Xe>>2]|0;w=f[Ve>>2]|0;_=Fe-k|0;p=(ie(r,Fe)|0)+i|0;g=f[Ie>>2]|0;f[Ge>>2]=g+(p<<2);f[Ke>>2]=Fe;i=(w|0)==0;if((f[De>>2]|0)==1){if(!i){d=(k|0)==0;b=0;i=0;while(1){if(!d){r=0;h=i;while(1){ue=g+(h+p<<2)|0;f[ue>>2]=f[ue>>2]<<6;r=r+1|0;if((r|0)==(k|0))break;else h=h+1|0}i=k+i|0}b=b+1|0;if((b|0)==(w|0))break;else i=i+_|0}}}else if(!i){d=(k|0)==0;b=0;i=0;while(1){if(!d){r=0;h=i;while(1){ue=g+(h+p<<2)|0;oe=f[ue>>2]|0;oe=zl(oe|0,((oe|0)<0)<<31>>31|0,_e|0,ye|0)|0;oe=Il(oe|0,P|0,4096,0)|0;oe=Dl(oe|0,P|0,18)|0;f[ue>>2]=oe;r=r+1|0;if((r|0)==(k|0))break;else h=h+1|0}i=k+i|0}b=b+1|0;if((b|0)==(w|0))break;else i=i+_|0}}ae=f[ge>>2]|0;se=(f[Ue>>2]|0)+Te|0;_=f[De>>2]|0;le=+o[Me>>2];oe=f[xe>>2]|0;ue=f[e>>2]|0;d=f[Xe>>2]|0;do{if(!d)i=0;else{b=f[Ve>>2]|0;k=(b|0)==0;w=0;i=0;do{if(!k){r=f[Ke>>2]|0;h=0;do{fe=f[g+(p+((ie(h,r)|0)+w)<<2)>>2]|0;fe=(fe|0)>-1?fe:0-fe|0;i=(i|0)>(fe|0)?i:fe;h=h+1|0}while((h|0)!=(b|0))}w=w+1|0}while((w|0)!=(d|0));if(!i){i=0;break}if((i|0)>1){r=i;i=0}else{i=-5;break}while(1){r=r>>1;if((r|0)<=1)break;else i=i+1|0}i=i+-4|0}}while(0);ne=ce+(de*52|0)+28|0;f[ne>>2]=i;i=i+-1|0;ss(ue);ls(ue,18,0,46);ls(ue,17,0,3);ls(ue,0,0,4);fe=ce+(de*52|0)|0;is(ue,f[fe>>2]|0);i:do{if((i|0)>-1){re=ce+(de*52|0)+8|0;K=oe&1;te=(K|0)!=0;W=(_|0)==1;Z=(oe&4|0)==0;K=(K|0)==0;J=(oe&2|0)==0;Q=(oe&8|0)==0;$=ae<<8;ee=(oe&32|0)==0;r=0;X=i;V=0.0;i=0;G=2;while(1){q=f[re>>2]|0;B=te&(G>>>0<2?(X|0)<((f[ne>>2]|0)+-4|0):0);r:do{switch(G|0){case 0:{x=1<>2]|0;if(!r){d=0;break r}O=(X|0)==0;b=f[Xe>>2]|0;h=b;d=0;L=0;do{R=L;L=L+4|0;if(!h)h=0;else{T=(R|0)==-4;C=R|3;h=b;S=0;do{if(!T){A=R;do{r=f[Ve>>2]|0;if(A>>>0>=r>>>0)break;do{if(Q)r=0;else{if((A|0)==(C|0)){r=1;break}r=(A|0)==(r+-1|0)}}while(0);k=A;A=A+1|0;p=(ie(f[ze>>2]|0,A)|0)+S|0;g=p+1|0;y=f[Ye>>2]|0;E=y+(g<<1)|0;k=(ie(f[Ke>>2]|0,k)|0)+S|0;k=(f[Ge>>2]|0)+(k<<2)|0;M=f[e>>2]|0;w=n[E>>1]|0;w=r?w&-1095:w;r=w&255;if((r|0)!=0&(w&20480|0)==0){h=f[k>>2]|0;h=(((h|0)<0?0-h|0:h)&x|0)!=0;b=h&1;_=M+100|0;f[_>>2]=M+24+(a[20267+(r|$)>>0]<<2);if(B)fs(M,b);else rs(M,b);if(h){r=f[k>>2]|0;h=r>>>31;r=(r|0)<0?0-r|0:r;if(O)r=3708+((r&127)<<1)|0;else r=3452+((r>>>X&127)<<1)|0;d=(n[r>>1]|0)+d|0;r=w>>>4&255;f[_>>2]=M+24+(a[21291+r>>0]<<2);if(B)fs(M,h);else rs(M,a[21547+r>>0]^h);z=f[ze>>2]|0;Y=y+(g-z<<1)|0;j=y+(z+g<<1)|0;U=y+(g+~z<<1)|0;n[U>>1]=s[U>>1]|2;n[Y>>1]=n[Y>>1]|n[3436+(h<<1)>>1];Y=p+2|0;U=y+(Y-z<<1)|0;n[U>>1]=s[U>>1]|4;U=y+(p<<1)|0;n[U>>1]=n[U>>1]|n[3436+((h|2)<<1)>>1];n[E>>1]=s[E>>1]|4096;U=y+(Y<<1)|0;n[U>>1]=n[U>>1]|n[3436+((h|4)<<1)>>1];U=y+(z+p<<1)|0;n[U>>1]=s[U>>1]|1;n[j>>1]=n[j>>1]|n[3436+((h|6)<<1)>>1];Y=y+(z+Y<<1)|0;n[Y>>1]=s[Y>>1]|8}n[E>>1]=s[E>>1]|16384}}while(A>>>0>>0);h=f[Xe>>2]|0}S=S+1|0}while(S>>>0>>0);r=f[Ve>>2]|0;b=h}}while(L>>>0>>0);break}case 1:{S=1<>2]|0;if(!r){d=0;break r}T=(X|0)==0;b=f[Xe>>2]|0;h=b;d=0;A=0;do{E=A;A=A+4|0;if(!h)h=0;else{y=(E|0)==-4;M=E|3;h=b;g=0;do{p=g;g=g+1|0;if(!y){_=E;do{r=f[Ve>>2]|0;if(_>>>0>=r>>>0)break;do{if(Q)r=0;else{if((_|0)==(M|0)){r=1;break}r=(_|0)==(r+-1|0)}}while(0);h=_;_=_+1|0;k=(ie(f[ze>>2]|0,_)|0)+g|0;k=(f[Ye>>2]|0)+(k<<1)|0;w=f[e>>2]|0;b=n[k>>1]|0;b=r?b&-1095:b;if((b&20480|0)==4096){h=f[(f[Ge>>2]|0)+((ie(f[Ke>>2]|0,h)|0)+p<<2)>>2]|0;h=(h|0)<0?0-h|0:h;if(T)r=4220+((h&127)<<1)|0;else r=3964+((h>>>X&127)<<1)|0;d=(n[r>>1]|0)+d|0;r=(h&S|0)!=0&1;f[w+100>>2]=w+24+(((b&8192|0)!=0?16:(b&255|0)!=0?15:14)<<2);if(B)fs(w,r);else rs(w,r);n[k>>1]=s[k>>1]|8192}}while(_>>>0>>0);h=f[Xe>>2]|0}}while(g>>>0>>0);r=f[Ve>>2]|0;b=h}}while(A>>>0>>0);break}case 2:{N=f[e>>2]|0;F=1<>2]|0;if(!h)r=0;else{U=N+92|0;j=N+100|0;z=N+96|0;Y=(X|0)==0;d=f[Xe>>2]|0;r=0;D=0;while(1){if(!d){b=D+4|0;d=0}else{C=D|3;R=D|1;L=R+1|0;x=R+3|0;b=D+4|0;O=D+1|0;B=D+2|0;I=D+3|0;T=0;while(1){do{if(C>>>0>>0){h=f[ze>>2]|0;w=T+1|0;k=(ie(h,R)|0)+w|0;d=f[Ye>>2]|0;k=n[d+(k<<1)>>1]|0;if(Q){S=n[d+((ie(h,L)|0)+w<<1)>>1]|k;S=S|n[d+((ie(h,C)|0)+w<<1)>>1];h=((S|n[d+((ie(h,x)|0)+w<<1)>>1])&20735)==0&1}else{do{if(!(k&20735)){if(n[d+((ie(h,L)|0)+w<<1)>>1]&20735){h=1;break}if(n[d+((ie(h,C)|0)+w<<1)>>1]&20735){h=1;break}h=(n[d+((ie(h,x)|0)+w<<1)>>1]&20665)!=0}else h=1}while(0);h=h&1^1}if(!h){S=0;h=0;Qe=109;break}h=f[Ke>>2]|0;d=f[Ge>>2]|0;S=f[d+((ie(h,D)|0)+T<<2)>>2]|0;do{if(!(((S|0)<0?0-S|0:S)&F)){S=f[d+((ie(h,O)|0)+T<<2)>>2]|0;if(((S|0)<0?0-S|0:S)&F){h=1;break}S=f[d+((ie(h,B)|0)+T<<2)>>2]|0;if(((S|0)<0?0-S|0:S)&F){h=2;break}h=f[d+((ie(h,I)|0)+T<<2)>>2]|0;h=(((h|0)<0?0-h|0:h)&F|0)==0?4:3}else h=0}while(0);f[j>>2]=U;rs(N,(h|0)!=4&1);if((h|0)==4){k=w;break}f[j>>2]=z;rs(N,h>>>1);rs(N,h&1);S=1;Qe=109}else{S=0;h=0;Qe=109}}while(0);if((Qe|0)==109){Qe=0;A=h+D|0;t:do{if(A>>>0>>0){E=A;do{h=f[Ve>>2]|0;if(E>>>0>=h>>>0)break t;do{if(Q)h=0;else{if((E|0)==(C|0)){h=1;break}h=(E|0)==(h+-1|0)}}while(0);$e=E;E=E+1|0;_=(ie(f[ze>>2]|0,E)|0)+T|0;p=_+1|0;g=f[Ye>>2]|0;M=g+(p<<1)|0;d=(ie(f[Ke>>2]|0,$e)|0)+T|0;d=(f[Ge>>2]|0)+(d<<2)|0;y=f[e>>2]|0;k=n[M>>1]|0;w=h?k&-1095:k;do{if(!(S&($e|0)==(A|0))){if(k&20480)break;f[y+100>>2]=y+24+(a[20267+(w&255|$)>>0]<<2);$e=f[d>>2]|0;$e=((($e|0)<0?0-$e|0:$e)&F|0)!=0;rs(y,$e&1);if($e)Qe=117}else Qe=117}while(0);if((Qe|0)==117){Qe=0;d=f[d>>2]|0;h=(d|0)<0?0-d|0:d;if(Y)h=3708+((h&127)<<1)|0;else h=3452+((h>>>X&127)<<1)|0;r=(n[h>>1]|0)+r|0;$e=w>>>4&255;f[y+100>>2]=y+24+(a[21291+$e>>0]<<2);k=d>>>31;rs(y,a[21547+$e>>0]^k);y=f[ze>>2]|0;$e=g+(p-y<<1)|0;w=g+(y+p<<1)|0;p=g+(p+~y<<1)|0;n[p>>1]=s[p>>1]|2;n[$e>>1]=n[$e>>1]|n[3436+(k<<1)>>1];$e=_+2|0;p=g+($e-y<<1)|0;n[p>>1]=s[p>>1]|4;p=g+(_<<1)|0;n[p>>1]=n[p>>1]|n[3436+((k|2)<<1)>>1];n[M>>1]=s[M>>1]|4096;p=g+($e<<1)|0;n[p>>1]=n[p>>1]|n[3436+((k|4)<<1)>>1];p=g+(y+_<<1)|0;n[p>>1]=s[p>>1]|1;n[w>>1]=n[w>>1]|n[3436+((k|6)<<1)>>1];$e=g+(y+$e<<1)|0;n[$e>>1]=s[$e>>1]|8}n[M>>1]=s[M>>1]&49151}while(E>>>0>>0)}}while(0);k=T+1|0}d=f[Xe>>2]|0;h=f[Ve>>2]|0;if(k>>>0>>0)T=k;else break}}if(b>>>0>>0)D=b;else break}}if(ee){d=r;break r}cs(ue);d=r;break}default:d=r}}while(0);if(Be)m=+u[Oe>>3];else m=1.0;if(W)v=+Aa(se,ae);else v=+Ca(se,ae);v=+(1<>3]=+u[Ze>>3]+v;do{if(Z)Qe=137;else{if((X|0)<1&(G|0)==2){Qe=137;break}ts(ue);h=q+(i*24|0)+20|0;r=t[h>>0]|1;t[h>>0]=r;h=1}}while(0);do{if((Qe|0)==137){r=(f[ne>>2]|0)+-4|0;if((G|0)!=0&(X|0)<(r|0))if(K)Qe=141;else Qe=140;else if(K|((G|0)!=2|(X|0)!=(r|0)))Qe=141;else Qe=140;if((Qe|0)==140){Qe=0;ts(ue);h=q+(i*24|0)+20|0;r=t[h>>0]|1;t[h>>0]=r;h=1;break}else if((Qe|0)==141){Qe=0;h=q+(i*24|0)+20|0;r=t[h>>0]&-2;t[h>>0]=r;h=3;break}}}while(0);Y=G+1|0;$e=(Y|0)==3;G=$e?0:Y;X=($e<<31>>31)+X|0;do{if((X|0)>0&(r&1)!=0)if(te&(G>>>0<2?(X|0)<((f[ne>>2]|0)+-4|0):0)){ns(ue);break}else{os(ue);break}}while(0);u[q+(i*24|0)+8>>3]=V;f[q+(i*24|0)>>2]=(es(ue)|0)+h;if(!J)as(ue);i=i+1|0;if((X|0)<=-1)break i;else r=d}}else i=0}while(0);do{if(!(oe&16)){if(oe&1)break;ts(ue)}else us(ue)}while(0);w=ce+(de*52|0)+48|0;f[w>>2]=i;if(i){d=ce+(de*52|0)+8|0;k=0;do{b=f[d>>2]|0;r=b+(k*24|0)|0;$e=f[r>>2]|0;if($e>>>0>(es(ue)|0)>>>0){i=es(ue)|0;f[r>>2]=i}else i=f[r>>2]|0;do{if(i>>>0>1){h=i+-1|0;if((t[(f[fe>>2]|0)+h>>0]|0)!=-1)break;f[r>>2]=h;i=h}}while(0);if(!k)r=0;else r=f[(f[d>>2]|0)+((k+-1|0)*24|0)>>2]|0;f[b+(k*24|0)+16>>2]=i-r;k=k+1|0}while(k>>>0<(f[w>>2]|0)>>>0)}de=de+1|0}while(de>>>0<(ie(f[ke>>2]|0,f[be>>2]|0)|0)>>>0);i=f[Se>>2]|0;h=f[Ae>>2]|0}we=we+1|0}while(we>>>0<(ie(i,h)|0)>>>0);r=f[Le>>2]|0}Ee=Ee+1|0}while(Ee>>>0>>0);i=f[Ue>>2]|0}Pe=Pe+1|0}while(Pe>>>0>>0);i=f[Je>>2]|0}je=je+1|0;if(je>>>0>=i>>>0){i=1;Qe=173;break}}if((Qe|0)==173)return i|0;return 0}function Ya(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;a=ie(r,i)|0;if(!(f[e+40>>2]|0)){s=e+24|0;l=e+8|0;t=f[l>>2]|0;do{if(a>>>0>(f[s>>2]|0)>>>0){jn(t);n=a<<2;t=Un(n)|0;f[l>>2]=t;if(!t){i=0;return i|0}else{f[s>>2]=a;break}}else n=a<<2}while(0);Ol(t|0,0,n|0)|0}a=i+2|0;f[e+32>>2]=a;a=ie(r+2|0,a)|0;s=e+28|0;l=e+12|0;t=f[l>>2]|0;do{if(a>>>0>(f[s>>2]|0)>>>0){jn(t);n=a<<1;t=Un(n)|0;f[l>>2]=t;if(!t){i=0;return i|0}else{f[s>>2]=a;break}}else n=a<<1}while(0);Ol(t|0,0,n|0)|0;f[e+16>>2]=i;f[e+20>>2]=r;i=1;return i|0}function qa(e,i,r,t,l){e=e|0;i=i|0;r=r|0;t=t|0;l=l|0;var o=0,u=0,c=0,h=0;o=f[e>>2]|0;c=n[i>>1]|0;h=c&255;if(!((h|0)!=0&(c&20480|0)==0))return;u=o+100|0;f[u>>2]=o+24+(a[20267+(h|t<<8)>>0]<<2);if(ds(o)|0){t=c>>>4&255;f[u>>2]=o+24+(a[21291+t>>0]<<2);c=ds(o)|0;t=a[21547+t>>0]|0;h=t^c;f[r>>2]=(c|0)!=(t|0)?0-l|0:l;e=f[e+32>>2]|0;l=i+(0-e<<1)|0;t=i+(e<<1)|0;r=i+(~e<<1)|0;n[r>>1]=s[r>>1]|2;n[l>>1]=n[l>>1]|n[3436+(h<<1)>>1];l=i+(1-e<<1)|0;n[l>>1]=s[l>>1]|4;l=i+-2|0;n[l>>1]=n[l>>1]|n[3436+(h+2<<1)>>1];n[i>>1]=s[i>>1]|4096;l=i+2|0;n[l>>1]=n[l>>1]|n[3436+(h+4<<1)>>1];l=i+(e+-1<<1)|0;n[l>>1]=s[l>>1]|1;n[t>>1]=n[t>>1]|n[3436+(h+6<<1)>>1];e=i+(e+1<<1)|0;n[e>>1]=s[e>>1]|8}n[i>>1]=s[i>>1]|16384;return}function Xa(e,i,r,t,l){e=e|0;i=i|0;r=r|0;t=t|0;l=l|0;var o=0,u=0,c=0;o=f[e>>2]|0;c=n[i>>1]|0;if(c&20480){e=n[i>>1]|0;e=e&65535;e=e&49151;e=e&65535;n[i>>1]=e;return}u=o+100|0;f[u>>2]=o+24+(a[20267+(c&255|t<<8)>>0]<<2);if(!(ds(o)|0)){e=n[i>>1]|0;e=e&65535;e=e&49151;e=e&65535;n[i>>1]=e;return}t=c>>>4&255;f[u>>2]=o+24+(a[21291+t>>0]<<2);u=ds(o)|0;t=a[21547+t>>0]|0;c=t^u;f[r>>2]=(u|0)!=(t|0)?0-l|0:l;e=f[e+32>>2]|0;l=i+(0-e<<1)|0;t=i+(e<<1)|0;r=i+(~e<<1)|0;n[r>>1]=s[r>>1]|2;n[l>>1]=n[l>>1]|n[3436+(c<<1)>>1];l=i+(1-e<<1)|0;n[l>>1]=s[l>>1]|4;l=i+-2|0;n[l>>1]=n[l>>1]|n[3436+(c+2<<1)>>1];n[i>>1]=s[i>>1]|4096;l=i+2|0;n[l>>1]=n[l>>1]|n[3436+(c+4<<1)>>1];l=i+(e+-1<<1)|0;n[l>>1]=s[l>>1]|1;n[t>>1]=n[t>>1]|n[3436+(c+6<<1)>>1];e=i+(e+1<<1)|0;n[e>>1]=s[e>>1]|8;e=n[i>>1]|0;e=e&65535;e=e&49151;e=e&65535;n[i>>1]=e;return}function Va(e,i,r,t,s,l,o,u,h,d,b,k){e=e|0;i=i|0;r=r|0;t=t|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;d=d|0;b=b|0;k=k|0;var w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,x=0,O=0,B=0;B=c;c=c+16|0;O=B;f[O>>2]=0;w=f[e>>2]|0;C=f[e+4>>2]|0;e=f[C+76>>2]|0;L=e+(i*5640|0)|0;m=(n[C>>1]|0)==4?2:1;v=C+80|0;if(!(f[v>>2]|0))_=1;else _=f[w+16>>2]|0;x=(f[e+(i*5640|0)+420>>2]|0)+1|0;R=yr(w,C,i,k)|0;if(!R){i=0;c=B;return i|0}f[l>>2]=0;e:do{if(!k){if(_){e=0;i:while(1){k=0;b=R;w=0;while(1){Mr(R,C,i,w,e,d,0);if((f[b+80>>2]|0)==-1){e=9;break i}h=b+36|0;r:while(1){do{if(!(Ar(b)|0))break r}while((f[h>>2]|0)>>>0>=t>>>0);f[O>>2]=0;if(!(Za(i,r,L,b,s,O,o,u)|0)){e=13;break i}T=f[O>>2]|0;f[l>>2]=(f[l>>2]|0)+T;o=o-T|0;k=T+k|0;s=s+T|0}T=f[v>>2]|0;if((T|0)!=0&k>>>0>T>>>0){e=17;break i}w=w+1|0;if(w>>>0>>0)b=b+232|0;else break}e=e+1|0;if(e>>>0>=_>>>0)break e}if((e|0)==9){gr(R,x);i=0;c=B;return i|0}else if((e|0)==13){gr(R,x);i=0;c=B;return i|0}else if((e|0)==17){gr(R,x);i=0;c=B;return i|0}}}else{Mr(R,C,i,b,h,d,k);A=R+(b*232|0)|0;if((f[R+(b*232|0)+80>>2]|0)==-1){gr(R,x);i=0;c=B;return i|0}d=R+(b*232|0)+36|0;p=(u|0)==0;g=r+840|0;y=u+12|0;M=u+8|0;E=u+88|0;v=C+93|0;m=e+(i*5640|0)+5636|0;while(1){do{if(!(Ar(A)|0))break e}while((f[d>>2]|0)>>>0>=t>>>0);f[O>>2]=0;if(!(Za(i,r,L,A,s,O,o,u)|0))break;_=f[O>>2]|0;s=s+_|0;o=o-_|0;f[l>>2]=(f[l>>2]|0)+_;if(!p){if(!(f[y>>2]|0))e=f[M>>2]|0;else{w=f[E>>2]|0;e=f[M>>2]|0;b=f[w+(i*592|0)+548>>2]|0;k=b+(e<<5)|0;if(!e){h=(f[w+(i*592|0)+12>>2]|0)+1|0;w=((h|0)<0)<<31>>31;C=k;f[C>>2]=h;f[C+4>>2]=w}else{if((((a[m>>0]|0)>>>2|(a[v>>0]|0)>>>3)&1)!=0?(T=k,S=f[T>>2]|0,T=f[T+4>>2]|0,!((S|0)==0&(T|0)==0)):0){h=S;w=T}else{h=b+(e+-1<<5)+16|0;h=Il(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;w=P}C=k;f[C>>2]=h;f[C+4>>2]=w}k=Il(h|0,w|0,-1,-1)|0;h=P;_=Il(k|0,h|0,_|0,0)|0;C=b+(e<<5)+16|0;f[C>>2]=_;f[C+4>>2]=P;C=b+(e<<5)+8|0;_=C;_=Il(k|0,h|0,f[_>>2]|0,f[_+4>>2]|0)|0;f[C>>2]=_;f[C+4>>2]=P}f[M>>2]=e+1}f[g>>2]=(f[g>>2]|0)+1}gr(R,x);i=0;c=B;return i|0}}while(0);gr(R,x);i=1;c=B;return i|0}function Ga(e,i,r,t,n,a,s,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,H=0,z=0,Y=0,q=0,X=0,V=0,G=0,K=0,W=0,Z=0,J=0,Q=0,$=0;Q=c;c=c+112|0;K=Q+64|0;W=Q+32|0;q=Q;Y=Q+96|0;z=Q+92|0;o=f[e>>2]|0;F=e+4|0;J=f[F>>2]|0;s=f[J+76>>2]|0;j=s+(i*5640|0)|0;H=s+(i*5640|0)+420|0;Z=(f[H>>2]|0)+1|0;J=pr(o,J,i)|0;if(!J){$=0;c=Q;return $|0}U=o+16|0;N=s+(i*5640|0)+12|0;D=r+20|0;I=o+24|0;i=a;e=t;O=J;B=0;e:while(1){if((f[O+80>>2]|0)==-1){$=4;break}s=Nn(f[U>>2]<<2)|0;if(!s){$=6;break}Ol(s|0,1,f[U>>2]<<2|0)|0;if(Ar(O)|0){a=O+24|0;r=O+28|0;x=O+36|0;o=O+32|0;P=i;L=e;while(1){if((f[N>>2]|0)>>>0>(f[x>>2]|0)>>>0){i=f[a>>2]|0;e=f[D>>2]|0;if((f[r>>2]|0)>>>0<(f[e+(i*52|0)+20>>2]|0)>>>0){f[s+(i<<2)>>2]=0;R=f[F>>2]|0;f[z>>2]=0;if(!(Ja(R,e,j,O,Y,L,z,P,l)|0)){$=45;break e}C=f[z>>2]|0;if(!(f[Y>>2]|0))e=C;else{T=P-C|0;A=L+C|0;f[z>>2]=0;i=f[r>>2]|0;u=f[(f[D>>2]|0)+((f[a>>2]|0)*52|0)+24>>2]|0;M=u+(i*136|0)+24|0;e=f[M>>2]|0;i:do{if(!e){e=A;$=43}else{E=L+P|0;h=e;R=0;y=u+(i*136|0)+28|0;u=A;r:while(1){e=f[o>>2]|0;i=f[y+20>>2]|0;if(((f[y+8>>2]|0)!=(f[y>>2]|0)?(f[y+12>>2]|0)!=(f[y+4>>2]|0):0)?(G=ie(f[i+(e*40|0)+20>>2]|0,f[i+(e*40|0)+16>>2]|0)|0,(G|0)!=0):0){S=0;e=f[i+(e*40|0)+24>>2]|0;k=u;while(1){p=e+40|0;if(!(f[p>>2]|0))i=k;else{g=e+44|0;i=f[g>>2]|0;do{if(!i){b=f[e+4>>2]|0;f[g>>2]=1;f[e+36>>2]=0}else{u=i+-1|0;h=f[e+4>>2]|0;if((f[h+(u<<5)+8>>2]|0)!=(f[h+(u<<5)+20>>2]|0)){b=h+(u<<5)|0;break}f[g>>2]=i+1;b=h+(i<<5)|0}}while(0);v=e+36|0;i=e+32|0;m=k;d=b+28|0;u=f[d>>2]|0;if((u+m|0)>>>0>>0|(k+u|0)>>>0>E>>>0){i=R;e=S;break r}h=f[v>>2]|0;m=k;_=b;while(1){b=u+h|0;if(b>>>0>>0){i=R;e=S;$=29;break e}k=f[e>>2]|0;if(b>>>0>(f[i>>2]|0)>>>0){u=Hn(k,b)|0;if(!u){$=32;break e}h=f[v>>2]|0;w=f[d>>2]|0;f[i>>2]=w+h;f[e>>2]=u;k=u;u=w}Nl(k+h|0,m|0,u|0)|0;u=_+8|0;h=f[u>>2]|0;if(!h){f[_>>2]=e;b=f[v>>2]|0;f[_+4>>2]=b}else b=f[v>>2]|0;k=f[d>>2]|0;w=m;m=m+k|0;d=f[_+24>>2]|0;h=d+h|0;f[u>>2]=h;u=f[p>>2]|0;f[p>>2]=u-d;f[_+12>>2]=h;h=k+b|0;f[v>>2]=h;b=_+16|0;f[b>>2]=(f[b>>2]|0)+k;if((u|0)==(d|0)){i=m;break}f[g>>2]=(f[g>>2]|0)+1;b=m;d=_+60|0;u=f[d>>2]|0;if((u+b|0)>>>0>>0?1:(w+(u+k)|0)>>>0>E>>>0){i=R;e=S;break r}else _=_+32|0}f[e+48>>2]=f[g>>2]}S=S+1|0;if(S>>>0>=G>>>0){e=i;break}else{e=e+56|0;k=i}}i=f[M>>2]|0}else{i=h;e=u}R=R+1|0;if(R>>>0>=i>>>0){$=43;break i}else{h=i;y=y+36|0;u=e}}A=f[o>>2]|0;S=f[r>>2]|0;R=f[a>>2]|0;f[q>>2]=u;f[q+4>>2]=T;f[q+8>>2]=e;f[q+12>>2]=A;f[q+16>>2]=i;f[q+20>>2]=S;f[q+24>>2]=R;Ht(l,2,21803,q)|0;e=f[z>>2]|0}}while(0);if(($|0)==43){$=0;e=e-A|0;f[z>>2]=e}e=e+C|0}u=f[a>>2]|0;C=f[r>>2]|0;i=(f[I>>2]|0)+(u*52|0)+36|0;R=f[i>>2]|0;f[i>>2]=C>>>0>R>>>0?C:R;i=e}else $=47}else{e=f[D>>2]|0;$=47}if(($|0)==47){$=0;R=f[F>>2]|0;f[z>>2]=0;if(!(Ja(R,e,j,O,Y,L,z,P,l)|0)){$=69;break e}p=f[z>>2]|0;if(!(f[Y>>2]|0))e=p;else{u=P-p|0;y=f[r>>2]|0;M=f[a>>2]|0;e=f[(f[D>>2]|0)+(M*52|0)+24>>2]|0;f[z>>2]=0;v=f[e+(y*136|0)+24>>2]|0;if(!v)e=0;else{g=f[o>>2]|0;i=0;m=e+(y*136|0)+28|0;while(1){h=f[m+20>>2]|0;if(((f[m+8>>2]|0)!=(f[m>>2]|0)?(f[m+12>>2]|0)!=(f[m+4>>2]|0):0)?(X=ie(f[h+(g*40|0)+20>>2]|0,f[h+(g*40|0)+16>>2]|0)|0,(X|0)!=0):0){e=0;_=f[h+(g*40|0)+24>>2]|0;while(1){k=_+40|0;i:do{if(f[k>>2]|0){w=_+44|0;h=f[w>>2]|0;do{if(!h){b=f[_+4>>2]|0;f[w>>2]=1;f[_+36>>2]=0}else{d=h+-1|0;b=f[_+4>>2]|0;if((f[b+(d<<5)+8>>2]|0)!=(f[b+(d<<5)+20>>2]|0)){b=b+(d<<5)|0;break}f[w>>2]=h+1;b=b+(h<<5)|0}}while(0);R=f[z>>2]|0;h=f[b+28>>2]|0;d=h+R|0;if(d>>>0>>0|d>>>0>u>>>0){a=g;r=y;o=M;$=65;break e}while(1){f[z>>2]=d;R=f[b+24>>2]|0;C=b+8|0;f[C>>2]=(f[C>>2]|0)+R;C=f[k>>2]|0;f[k>>2]=C-R;if((C|0)==(R|0))break i;f[w>>2]=(f[w>>2]|0)+1;R=f[z>>2]|0;h=f[b+60>>2]|0;d=h+R|0;if(d>>>0>>0|d>>>0>u>>>0){a=g;r=y;o=M;$=65;break e}else b=b+32|0}}}while(0);e=e+1|0;if(e>>>0>=X>>>0)break;else _=_+56|0}}i=i+1|0;if(i>>>0>=v>>>0)break;else m=m+36|0}e=f[z>>2]|0}e=e+p|0}u=f[a>>2]|0;i=e}if((f[s+(u<<2)>>2]|0)!=0?(V=(f[I>>2]|0)+(u*52|0)+36|0,(f[V>>2]|0)==0):0)f[V>>2]=(f[(f[D>>2]|0)+(u*52|0)+20>>2]|0)+-1;e=L+i|0;i=P-i|0;if(!(Ar(O)|0))break;else{P=i;L=e}}}zn(s);B=B+1|0;if(B>>>0>(f[H>>2]|0)>>>0){s=e;$=75;break}else O=O+232|0}if(($|0)==4){gr(J,Z);$=0;c=Q;return $|0}else if(($|0)==6){gr(J,Z);$=0;c=Q;return $|0}else if(($|0)==29){n=f[o>>2]|0;t=f[r>>2]|0;K=f[a>>2]|0;f[W>>2]=u;f[W+4>>2]=h;f[W+8>>2]=~u;f[W+12>>2]=e;f[W+16>>2]=n;f[W+20>>2]=i;f[W+24>>2]=t;f[W+28>>2]=K;Ht(l,1,21888,W)|0;$=45}else if(($|0)==32){zn(f[e>>2]|0);f[e>>2]=0;f[i>>2]=0;$=45}else if(($|0)==65){f[K>>2]=h;f[K+4>>2]=u;f[K+8>>2]=e;f[K+12>>2]=a;f[K+16>>2]=i;f[K+20>>2]=r;f[K+24>>2]=o;Ht(l,1,21987,K)|0;$=69}else if(($|0)==75){gr(J,Z);f[n>>2]=s-t;$=1;c=Q;return $|0}if(($|0)==45){gr(J,Z);zn(s);$=0;c=Q;return $|0}else if(($|0)==69){gr(J,Z);zn(s);$=0;c=Q;return $|0}return 0}function Ka(e,i){e=e|0;i=i|0;var r=0;r=Fn(1,8)|0;if(!r){e=0;return e|0}f[r>>2]=e;f[r+4>>2]=i;e=r;return e|0}function Wa(e){e=e|0;if(!e)return;zn(e);return}function Za(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0.0,I=0,D=0;m=f[n+28>>2]|0;I=f[n+32>>2]|0;D=f[n+36>>2]|0;_=f[(f[i+20>>2]|0)+((f[n+24>>2]|0)*52|0)+24>>2]|0;if(!(f[r>>2]&2))x=a;else{t[a>>0]=-1;t[a+1>>0]=-111;t[a+2>>0]=0;t[a+3>>0]=4;x=i+840|0;t[a+4>>0]=(f[x>>2]|0)>>>8;t[a+5>>0]=f[x>>2];l=l+-6|0;x=a+6|0}if((D|0)==0?(w=_+(m*136|0)+24|0,(f[w>>2]|0)!=0):0){b=_+(m*136|0)+28|0;k=0;while(1){n=f[b+20>>2]|0;Wr(f[n+(I*40|0)+32>>2]|0);h=n+(I*40|0)+36|0;Wr(f[h>>2]|0);d=ie(f[n+(I*40|0)+20>>2]|0,f[n+(I*40|0)+16>>2]|0)|0;if(d){n=n+(I*40|0)+24|0;i=b+28|0;c=0;do{O=f[n>>2]|0;f[O+(c*52|0)+40>>2]=0;na(f[h>>2]|0,c,(f[i>>2]|0)-(f[O+(c*52|0)+28>>2]|0)|0);c=c+1|0}while((c|0)!=(d|0))}k=k+1|0;if(k>>>0>=(f[w>>2]|0)>>>0)break;else b=b+36|0}}L=da()|0;if(!L){s=0;return s|0}wa(L,x,l);ma(L,1,1);P=_+(m*136|0)+28|0;O=_+(m*136|0)+24|0;if(f[O>>2]|0){S=D+1|0;C=P;R=0;while(1){d=f[C+20>>2]|0;T=ie(f[d+(I*40|0)+20>>2]|0,f[d+(I*40|0)+16>>2]|0)|0;b=d+(I*40|0)+24|0;n=(T|0)==0;if(!n){i=d+(I*40|0)+32|0;c=f[b>>2]|0;h=0;while(1){if((f[c+40>>2]|0)==0?(f[(f[c+4>>2]|0)+(D*24|0)>>2]|0)!=0:0)na(f[i>>2]|0,h,D);h=h+1|0;if((h|0)==(T|0))break;else c=c+52|0}if(!n){A=d+(I*40|0)+32|0;E=d+(I*40|0)+36|0;y=f[b>>2]|0;M=0;while(1){n=(f[y+4>>2]|0)+(D*24|0)|0;g=y+40|0;if(!(f[g>>2]|0))fa(L,f[A>>2]|0,M,S);else ma(L,(f[n>>2]|0)!=0&1,1);i=f[n>>2]|0;if(i){if(!(f[g>>2]|0)){f[y+32>>2]=3;fa(L,f[E>>2]|0,M,999);i=f[n>>2]|0}e:do{switch(i|0){case 1:{ma(L,0,1);break}case 2:{ma(L,2,2);break}default:{if(i>>>0<6){ma(L,i+-3|12,4);break e}if(i>>>0<37){ma(L,i+-6|480,9);break e}if(i>>>0<165)ma(L,i+-37|65408,16)}}}while(0);b=f[g>>2]|0;i=f[n>>2]|0;p=i+b|0;v=y+8|0;if(b>>>0

>>0){m=y+32|0;w=b+-1+i|0;h=0;d=0;c=0;_=(f[v>>2]|0)+(b*24|0)|0;while(1){c=c+1|0;d=(f[_+16>>2]|0)+d|0;if((t[_+20>>0]&1)!=0|(b|0)==(w|0)){if((d|0)>1){i=0;do{d=d>>1;i=i+1|0}while((d|0)>1)}else i=0;k=f[m>>2]|0;if((c|0)>1){d=0;do{c=c>>1;d=d+1|0}while((c|0)>1);c=d}else c=0;d=i+1-k-c|0;h=(h|0)>(d|0)?h:d;d=0;c=0}b=b+1|0;if((b|0)==(p|0))break;else _=_+24|0}if((h|0)>0){i=h;while(1){ma(L,1,1);if((i|0)>1)i=i+-1|0;else{i=d;break}}}else i=d}else{h=0;i=0;c=0}ma(L,0,1);w=y+32|0;f[w>>2]=(f[w>>2]|0)+h;h=f[g>>2]|0;if(h>>>0

>>0){k=(f[v>>2]|0)+(h*24|0)|0;while(1){c=c+1|0;d=(f[k+16>>2]|0)+i|0;if((t[k+20>>0]&1)==0?(h|0)!=((f[g>>2]|0)+-1+(f[n>>2]|0)|0):0)i=d;else{b=f[w>>2]|0;if((c|0)>1){i=0;do{c=c>>1;i=i+1|0}while((c|0)>1)}else i=0;ma(L,d,i+b|0);i=0;c=0}h=h+1|0;if((h|0)==(p|0))break;else k=k+24|0}}}M=M+1|0;if((M|0)==(T|0))break;else y=y+52|0}}}R=R+1|0;if(R>>>0>=(f[O>>2]|0)>>>0)break;else C=C+36|0}}if(!(pa(L)|0)){ba(L);s=0;return s|0}i=ka(L)|0;n=x+i|0;l=l-i|0;ba(L);if(f[r>>2]&4){t[n>>0]=-1;t[x+(i+1)>>0]=-110;l=l+-2|0;n=x+(i+2)|0}v=(o|0)!=0;if(v?(f[o+12>>2]|0)!=0:0){x=n-a|0;r=(f[(f[o+88>>2]|0)+(e*592|0)+548>>2]|0)+(f[o+8>>2]<<5)+8|0;f[r>>2]=x;f[r+4>>2]=((x|0)<0)<<31>>31}i=f[O>>2]|0;e:do{if(i){p=o+12|0;g=o+8|0;y=o+88|0;_=P;m=0;i:while(1){c=f[_+20>>2]|0;w=ie(f[c+(I*40|0)+20>>2]|0,f[c+(I*40|0)+16>>2]|0)|0;c=f[c+(I*40|0)+24>>2]|0;if(w){if(v){k=0;while(1){b=f[c+4>>2]|0;i=b+(D*24|0)|0;if(f[i>>2]|0){h=b+(D*24|0)+4|0;d=f[h>>2]|0;if(d>>>0>l>>>0){n=0;l=81;break i}Nl(n|0,f[b+(D*24|0)+16>>2]|0,d|0)|0;r=c+40|0;f[r>>2]=(f[r>>2]|0)+(f[i>>2]|0);r=f[h>>2]|0;n=n+r|0;l=l-r|0;if((f[p>>2]|0)!=0?(r=(f[(f[y>>2]|0)+(e*592|0)+548>>2]|0)+(f[g>>2]<<5)+24|0,B=+u[b+(D*24|0)+8>>3]+ +u[r>>3],u[r>>3]=B,+u[o>>3]>3]=B}k=k+1|0;if(k>>>0>=w>>>0)break;else c=c+52|0}}else{k=0;while(1){i=f[c+4>>2]|0;h=i+(D*24|0)|0;if(f[h>>2]|0){d=i+(D*24|0)+4|0;b=f[d>>2]|0;if(b>>>0>l>>>0){n=0;l=81;break i}Nl(n|0,f[i+(D*24|0)+16>>2]|0,b|0)|0;r=c+40|0;f[r>>2]=(f[r>>2]|0)+(f[h>>2]|0);r=f[d>>2]|0;l=l-r|0;n=n+r|0}k=k+1|0;if(k>>>0>=w>>>0)break;else c=c+52|0}}i=f[O>>2]|0}m=m+1|0;if(m>>>0>=i>>>0)break e;else _=_+36|0}if((l|0)==81)return n|0}}while(0);f[s>>2]=n-a+(f[s>>2]|0);s=1;return s|0}function Ja(e,i,r,n,a,s,l,o,u){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;var h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0;U=c;c=c+64|0;N=U+40|0;D=U+32|0;M=U+24|0;y=U+16|0;p=U+8|0;v=U;g=U+48|0;F=U+44|0;f[F>>2]=s;A=f[n+28>>2]|0;I=n+24|0;E=f[i+((f[I>>2]|0)*52|0)+24>>2]|0;O=n+36|0;if((f[O>>2]|0)==0?(m=E+(A*136|0)+24|0,h=f[m>>2]|0,(h|0)!=0):0){_=n+32|0;k=0;w=E+(A*136|0)+28|0;while(1){i=f[_>>2]|0;d=f[w+20>>2]|0;if((f[w+8>>2]|0)!=(f[w>>2]|0)?(f[w+12>>2]|0)!=(f[w+4>>2]|0):0){Wr(f[d+(i*40|0)+32>>2]|0);Wr(f[d+(i*40|0)+36>>2]|0);h=ie(f[d+(i*40|0)+20>>2]|0,f[d+(i*40|0)+16>>2]|0)|0;if(h){b=0;i=f[d+(i*40|0)+24>>2]|0;while(1){f[i+44>>2]=0;f[i+48>>2]=0;b=b+1|0;if((b|0)==(h|0))break;else i=i+56|0}}h=f[m>>2]|0}k=k+1|0;if(k>>>0>=h>>>0)break;else w=w+36|0}}do{if(f[r>>2]&2){if(o>>>0<6){Ht(u,2,22072,v)|0;break}i=f[F>>2]|0;if((t[i>>0]|0)==-1?(t[i+1>>0]|0)==-111:0){f[F>>2]=i+6;break}Ht(u,2,22114,p)|0}}while(0);x=da()|0;if(!x){s=0;c=U;return s|0}do{if(!(t[e+96>>0]&1))if(!(t[r+5636>>0]&2)){L=f[F>>2]|0;f[g>>2]=s+o-L;P=F;break}else{P=r+5168|0;L=f[P>>2]|0;g=r+5180|0;break}else{P=e+40|0;L=f[P>>2]|0;g=e+44|0}}while(0);_a(x,L,f[g>>2]|0);if(!(va(x,1)|0)){ga(x)|0;h=ka(x)|0;i=L+h|0;ba(x);do{if(f[r>>2]&4){if(((f[g>>2]|0)-i+(f[P>>2]|0)|0)>>>0<2){Ht(u,2,22135,y)|0;break}if((t[i>>0]|0)==-1?(t[L+(h+1)>>0]|0)==-110:0){i=L+(h+2)|0;break}Ht(u,2,22177,M)|0}}while(0);f[g>>2]=(f[g>>2]|0)+((f[P>>2]|0)-i);f[P>>2]=i;f[a>>2]=0;f[l>>2]=(f[F>>2]|0)-s;s=1;c=U;return s|0}R=E+(A*136|0)+24|0;i=f[R>>2]|0;e:do{if(i){T=n+32|0;C=r+5584|0;S=0;E=E+(A*136|0)+28|0;i:while(1){h=f[T>>2]|0;d=f[E+20>>2]|0;if(((f[E+8>>2]|0)!=(f[E>>2]|0)?(f[E+12>>2]|0)!=(f[E+4>>2]|0):0)?(B=ie(f[d+(h*40|0)+20>>2]|0,f[d+(h*40|0)+16>>2]|0)|0,(B|0)!=0):0){e=d+(h*40|0)+32|0;n=d+(h*40|0)+36|0;y=E+28|0;M=0;o=f[d+(h*40|0)+24>>2]|0;while(1){h=o+44|0;if(!(f[h>>2]|0))i=aa(x,f[e>>2]|0,M,(f[O>>2]|0)+1|0)|0;else i=va(x,1)|0;r:do{if(!i)f[o+40>>2]=0;else{if(!(f[h>>2]|0)){i=0;while(1)if(!(aa(x,f[n>>2]|0,M,i)|0))i=i+1|0;else break;f[o+24>>2]=1-i+(f[y>>2]|0);f[o+28>>2]=3}do{if(va(x,1)|0)if(va(x,1)|0){i=va(x,2)|0;if((i|0)!=3){i=i+3|0;break}i=va(x,5)|0;if((i|0)==31){i=(va(x,7)|0)+37|0;break}else{i=i+6|0;break}}else i=2;else i=1}while(0);v=o+40|0;f[v>>2]=i;i=0;while(1)if(!(va(x,1)|0))break;else i=i+1|0;p=o+28|0;f[p>>2]=(f[p>>2]|0)+i;h=f[h>>2]|0;do{if(!h){d=f[(f[C>>2]|0)+((f[I>>2]|0)*1080|0)+16>>2]|0;i=o+52|0;if(!(f[i>>2]|0)){f[i>>2]=10;b=o+4|0;h=Hn(f[b>>2]|0,320)|0;if(!h){h=i;d=b;i=b;b=66;break i}f[b>>2]=h}else h=f[o+4>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;if(d&4){f[h+20>>2]=1;h=0;break}h=h+20|0;if(!(d&1)){f[h>>2]=109;h=0;break}else{f[h>>2]=10;h=0;break}}else{w=h+-1|0;_=o+4|0;d=f[_>>2]|0;if((f[d+(w<<5)+8>>2]|0)!=(f[d+(w<<5)+20>>2]|0)){i=o+52|0;h=w;break}k=f[(f[C>>2]|0)+((f[I>>2]|0)*1080|0)+16>>2]|0;i=o+52|0;b=f[i>>2]|0;if((h+1|0)>>>0>b>>>0){A=b+10|0;f[i>>2]=A;d=Hn(d,A<<5)|0;if(!d){d=_;h=i;i=_;b=77;break i}f[_>>2]=d}A=d+(h<<5)|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;f[A+16>>2]=0;f[A+20>>2]=0;f[A+24>>2]=0;f[A+28>>2]=0;if(k&4){f[d+(h<<5)+20>>2]=1;break}if(!(k&1)){f[d+(h<<5)+20>>2]=109;break}else{A=f[d+(w<<5)+20>>2]|0;f[d+(h<<5)+20>>2]=(A|0)==1|(A|0)==10?2:1;break}}}while(0);m=o+4|0;w=f[v>>2]|0;while(1){k=f[m>>2]|0;d=(f[k+(h<<5)+20>>2]|0)-(f[k+(h<<5)+8>>2]|0)|0;d=(d|0)<(w|0)?d:w;f[k+(h<<5)+24>>2]=d;k=f[p>>2]|0;if(d>>>0>1){b=0;while(1){b=b+1|0;if(d>>>0>3)d=d>>>1;else{d=b;break}}}else d=0;k=va(x,d+k|0)|0;d=f[m>>2]|0;f[d+(h<<5)+28>>2]=k;k=w-(f[d+(h<<5)+24>>2]|0)|0;if((k|0)<=0)break r;w=h+1|0;_=f[(f[C>>2]|0)+((f[I>>2]|0)*1080|0)+16>>2]|0;b=f[i>>2]|0;if((h+2|0)>>>0>b>>>0){A=b+10|0;f[i>>2]=A;d=Hn(d,A<<5)|0;if(!d){d=m;h=m;b=90;break i}f[m>>2]=d}A=d+(w<<5)|0;f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;f[A+16>>2]=0;f[A+20>>2]=0;f[A+24>>2]=0;f[A+28>>2]=0;if(_&4){f[d+(w<<5)+20>>2]=1;h=w;w=k;continue}if(!(_&1)){f[d+(w<<5)+20>>2]=109;h=w;w=k;continue}else{A=f[d+(h<<5)+20>>2]|0;f[d+(w<<5)+20>>2]=(A|0)==1|(A|0)==10?2:1;h=w;w=k;continue}}}}while(0);M=M+1|0;if(M>>>0>=B>>>0)break;else o=o+56|0}i=f[R>>2]|0}S=S+1|0;if(S>>>0>=i>>>0)break e;else E=E+36|0}if((b|0)==66){zn(f[i>>2]|0);f[d>>2]=0;f[h>>2]=0;ba(x);s=0;c=U;return s|0}else if((b|0)==77){zn(f[i>>2]|0);f[d>>2]=0;f[h>>2]=0;ba(x);s=0;c=U;return s|0}else if((b|0)==90){zn(f[h>>2]|0);f[d>>2]=0;f[i>>2]=0;ba(x);s=0;c=U;return s|0}}}while(0);if(!(ga(x)|0)){ba(x);s=0;c=U;return s|0}h=ka(x)|0;i=L+h|0;ba(x);do{if(f[r>>2]&4){if(((f[g>>2]|0)-i+(f[P>>2]|0)|0)>>>0<2){Ht(u,2,22135,D)|0;break}if((t[i>>0]|0)==-1?(t[L+(h+1)>>0]|0)==-110:0){i=L+(h+2)|0;break}Ht(u,2,22177,N)|0}}while(0);f[g>>2]=(f[g>>2]|0)+((f[P>>2]|0)-i);f[P>>2]=i;f[a>>2]=1;f[l>>2]=(f[F>>2]|0)-s;s=1;c=U;return s|0}function Qa(){return Nn(104)|0}function $a(e){e=e|0;if(!e)return;zn(e);return}function es(e){e=e|0;return(f[e+12>>2]|0)-(f[e+16>>2]|0)|0}function is(e,i){e=e|0;i=i|0;var r=0,n=0;f[e+100>>2]=e+24;f[e+4>>2]=32768;f[e>>2]=0;n=i+-1|0;f[e+12>>2]=n;r=e+8|0;f[r>>2]=12;f[r>>2]=(t[n>>0]|0)==-1?13:12;f[e+16>>2]=i;return}function rs(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0;a=f[e+100>>2]|0;s=f[a>>2]|0;o=(f[s+4>>2]|0)==(i|0);n=f[s>>2]|0;u=e+4|0;i=(f[u>>2]|0)-n|0;f[u>>2]=i;if(!o){if(i>>>0>>0){o=(f[e>>2]|0)+n|0;f[e>>2]=o;n=i;i=o;o=e}else{f[u>>2]=n;i=f[e>>2]|0;o=e}f[a>>2]=f[s+12>>2];l=e+8|0;s=e+12|0;a=i;i=f[l>>2]|0;while(1){n=n<<1;f[u>>2]=n;r=a<<1;f[o>>2]=r;i=i+-1|0;f[l>>2]=i;if(!i){i=f[s>>2]|0;n=t[i>>0]|0;do{if(n<<24>>24!=-1){if(!(r&134217728)){r=i+1|0;f[s>>2]=r;t[r>>0]=a>>>18;r=f[o>>2]&524287;f[o>>2]=r;f[l>>2]=8;i=8;break}t[i>>0]=n+1<<24>>24;i=f[s>>2]|0;if((t[i>>0]|0)==-1){e=f[o>>2]&134217727;f[o>>2]=e;r=i+1|0;f[s>>2]=r;t[r>>0]=e>>>20;r=f[o>>2]&1048575;f[o>>2]=r;f[l>>2]=7;i=7;break}else{r=i+1|0;f[s>>2]=r;t[r>>0]=(f[o>>2]|0)>>>19;r=f[o>>2]&524287;f[o>>2]=r;f[l>>2]=8;i=8;break}}else{r=i+1|0;f[s>>2]=r;t[r>>0]=a>>>19;r=f[o>>2]&1048575;f[o>>2]=r;f[l>>2]=7;i=7}}while(0);n=f[u>>2]|0}if(!(n&32768))a=r;else break}return}if(i&32768){f[e>>2]=(f[e>>2]|0)+n;return}if(i>>>0>>0){f[u>>2]=n;r=f[e>>2]|0;o=e}else{r=(f[e>>2]|0)+n|0;f[e>>2]=r;n=i;o=e}f[a>>2]=f[s+8>>2];l=e+8|0;s=e+12|0;a=r;i=f[l>>2]|0;while(1){n=n<<1;f[u>>2]=n;r=a<<1;f[o>>2]=r;i=i+-1|0;f[l>>2]=i;if(!i){i=f[s>>2]|0;n=t[i>>0]|0;do{if(n<<24>>24!=-1){if(!(r&134217728)){r=i+1|0;f[s>>2]=r;t[r>>0]=a>>>18;r=f[o>>2]&524287;f[o>>2]=r;f[l>>2]=8;i=8;break}t[i>>0]=n+1<<24>>24;i=f[s>>2]|0;if((t[i>>0]|0)==-1){e=f[o>>2]&134217727;f[o>>2]=e;r=i+1|0;f[s>>2]=r;t[r>>0]=e>>>20;r=f[o>>2]&1048575;f[o>>2]=r;f[l>>2]=7;i=7;break}else{r=i+1|0;f[s>>2]=r;t[r>>0]=(f[o>>2]|0)>>>19;r=f[o>>2]&524287;f[o>>2]=r;f[l>>2]=8;i=8;break}}else{r=i+1|0;f[s>>2]=r;t[r>>0]=a>>>19;r=f[o>>2]&1048575;f[o>>2]=r;f[l>>2]=7;i=7}}while(0);n=f[u>>2]|0}if(!(n&32768))a=r;else break}return}function ts(e){e=e|0;var i=0,r=0,n=0,a=0,s=0;s=f[e>>2]|0;n=s|65535;a=e+8|0;n=(n>>>0<((f[e+4>>2]|0)+s|0)>>>0?n:n+-32768|0)<>2];f[e>>2]=n;s=e+12|0;i=f[s>>2]|0;r=t[i>>0]|0;do{if(r<<24>>24!=-1){if(!(n&134217728)){i=i+1|0;f[s>>2]=i;t[i>>0]=n>>>19;i=f[e>>2]&524287;f[e>>2]=i;f[a>>2]=8;r=8;break}t[i>>0]=r+1<<24>>24;i=f[s>>2]|0;if((t[i>>0]|0)==-1){r=f[e>>2]&134217727;f[e>>2]=r;i=i+1|0;f[s>>2]=i;t[i>>0]=r>>>20;i=f[e>>2]&1048575;f[e>>2]=i;f[a>>2]=7;r=7;break}else{i=i+1|0;f[s>>2]=i;t[i>>0]=(f[e>>2]|0)>>>19;i=f[e>>2]&524287;f[e>>2]=i;f[a>>2]=8;r=8;break}}else{i=i+1|0;f[s>>2]=i;t[i>>0]=n>>>20;i=f[e>>2]&1048575;f[e>>2]=i;f[a>>2]=7;r=7}}while(0);i=i<>2]=i;r=f[s>>2]|0;n=t[r>>0]|0;do{if(n<<24>>24!=-1){if(!(i&134217728)){n=r+1|0;f[s>>2]=n;t[n>>0]=i>>>19;f[e>>2]=f[e>>2]&524287;f[a>>2]=8;break}t[r>>0]=n+1<<24>>24;i=f[s>>2]|0;if((t[i>>0]|0)==-1){r=f[e>>2]&134217727;f[e>>2]=r;n=i+1|0;f[s>>2]=n;t[n>>0]=r>>>20;f[e>>2]=f[e>>2]&1048575;f[a>>2]=7;break}else{n=i+1|0;f[s>>2]=n;t[n>>0]=(f[e>>2]|0)>>>19;f[e>>2]=f[e>>2]&524287;f[a>>2]=8;break}}else{n=r+1|0;f[s>>2]=n;t[n>>0]=i>>>20;f[e>>2]=f[e>>2]&1048575;f[a>>2]=7}}while(0);i=f[s>>2]|0;if((t[i>>0]|0)==-1)return;f[s>>2]=i+1;return}function ns(e){e=e|0;f[e>>2]=0;f[e+8>>2]=8;return}function fs(e,i){e=e|0;i=i|0;var r=0,n=0,a=0;r=e+8|0;n=(f[r>>2]|0)+-1|0;f[r>>2]=n;i=(i<>2]|0)|0;f[e>>2]=i;if(n)return;n=e+12|0;a=(f[n>>2]|0)+1|0;f[n>>2]=a;t[a>>0]=i;f[r>>2]=8;f[r>>2]=(t[f[n>>2]>>0]|0)==-1?7:8;f[e>>2]=0;return}function as(e){e=e|0;f[e+28>>2]=1156;f[e+32>>2]=1156;f[e+36>>2]=1156;f[e+40>>2]=1156;f[e+44>>2]=1156;f[e+48>>2]=1156;f[e+52>>2]=1156;f[e+56>>2]=1156;f[e+60>>2]=1156;f[e+64>>2]=1156;f[e+68>>2]=1156;f[e+72>>2]=1156;f[e+76>>2]=1156;f[e+80>>2]=1156;f[e+84>>2]=1156;f[e+88>>2]=1156;f[e+96>>2]=2628;f[e+92>>2]=1252;f[e+24>>2]=1284;return}function ss(e){e=e|0;f[e+24>>2]=1156;f[e+28>>2]=1156;f[e+32>>2]=1156;f[e+36>>2]=1156;f[e+40>>2]=1156;f[e+44>>2]=1156;f[e+48>>2]=1156;f[e+52>>2]=1156;f[e+56>>2]=1156;f[e+60>>2]=1156;f[e+64>>2]=1156;f[e+68>>2]=1156;f[e+72>>2]=1156;f[e+76>>2]=1156;f[e+80>>2]=1156;f[e+84>>2]=1156;f[e+88>>2]=1156;f[e+92>>2]=1156;f[e+96>>2]=1156;return}function ls(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;f[e+24+(i<<2)>>2]=1156+((t<<1)+r<<4);return}function os(e){e=e|0;var i=0,r=0;f[e+100>>2]=e+24;f[e+4>>2]=32768;f[e>>2]=0;i=e+8|0;f[i>>2]=12;r=e+12|0;e=(f[r>>2]|0)+-1|0;f[r>>2]=e;if((t[e>>0]|0)!=-1)return;f[i>>2]=13;return}function us(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0;l=e+8|0;i=f[l>>2]|0;n=12-i|0;if((n|0)>0){a=e+12|0;r=f[e>>2]|0;do{i=r<>2]=i;f[l>>2]=0;r=f[a>>2]|0;s=t[r>>0]|0;do{if(s<<24>>24!=-1){if(!(i&134217728)){r=r+1|0;f[a>>2]=r;t[r>>0]=i>>>19;r=f[e>>2]&524287;f[e>>2]=r;f[l>>2]=8;i=8;break}t[r>>0]=s+1<<24>>24;i=f[a>>2]|0;if((t[i>>0]|0)==-1){s=f[e>>2]&134217727;f[e>>2]=s;r=i+1|0;f[a>>2]=r;t[r>>0]=s>>>20;r=f[e>>2]&1048575;f[e>>2]=r;f[l>>2]=7;i=7;break}else{r=i+1|0;f[a>>2]=r;t[r>>0]=(f[e>>2]|0)>>>19;r=f[e>>2]&524287;f[e>>2]=r;f[l>>2]=8;i=8;break}}else{r=r+1|0;f[a>>2]=r;t[r>>0]=i>>>20;r=f[e>>2]&1048575;f[e>>2]=r;f[l>>2]=7;i=7}}while(0);n=n-i|0}while((n|0)>0)}else a=e+12|0;i=f[a>>2]|0;r=t[i>>0]|0;if(r<<24>>24==-1)return;n=f[e>>2]|0;if(!(n&134217728)){s=i+1|0;f[a>>2]=s;t[s>>0]=n>>>19;f[e>>2]=f[e>>2]&524287;f[l>>2]=8;return}t[i>>0]=r+1<<24>>24;i=f[a>>2]|0;if((t[i>>0]|0)==-1){n=f[e>>2]&134217727;f[e>>2]=n;s=i+1|0;f[a>>2]=s;t[s>>0]=n>>>20;f[e>>2]=f[e>>2]&1048575;f[l>>2]=7;return}else{s=i+1|0;f[a>>2]=s;t[s>>0]=(f[e>>2]|0)>>>19;f[e>>2]=f[e>>2]&524287;f[l>>2]=8;return}}function cs(e){e=e|0;f[e+100>>2]=e+96;rs(e,1);rs(e,0);rs(e,1);rs(e,0);return}function hs(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0;f[e+100>>2]=e+24;f[e+16>>2]=i;f[e+20>>2]=i+r;s=e+12|0;f[s>>2]=i;do{if(r){l=a[i>>0]<<16;f[e>>2]=l;n=i+1|0;if((r|0)==1)r=255;else r=a[n>>0]|0;if((t[i>>0]|0)!=-1){f[s>>2]=n;n=l|r<<8;f[e>>2]=n;r=e+8|0;f[r>>2]=8;s=e;l=1;break}if(r>>>0>143){n=l|65280;f[e>>2]=n;r=e+8|0;f[r>>2]=8;s=e;l=1;break}else{f[s>>2]=n;n=l+(r<<9)|0;f[e>>2]=n;r=e+8|0;f[r>>2]=7;s=e;l=0;break}}else{f[e>>2]=16776960;r=e+8|0;f[r>>2]=8;n=16776960;s=e;l=1}}while(0);f[s>>2]=n<<7;f[r>>2]=l;f[e+4>>2]=32768;return 1}function ds(e){e=e|0;var i=0,r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;r=f[e+100>>2]|0;n=f[r>>2]|0;o=f[n>>2]|0;d=e+4|0;l=(f[d>>2]|0)-o|0;f[d>>2]=l;s=f[e>>2]|0;if(s>>>16>>>0>>0){f[d>>2]=o;i=f[n+4>>2]|0;if(l>>>0>>0)f[r>>2]=f[n+8>>2];else{f[r>>2]=f[n+12>>2];i=1-i|0}u=e+8|0;c=e+12|0;h=e+20|0;n=f[u>>2]|0;r=s;do{do{if(!n){s=f[c>>2]|0;n=f[h>>2]|0;if((s|0)==(n|0)){r=r+65280|0;f[e>>2]=r;f[u>>2]=8;n=8;break}l=s+1|0;if((l|0)==(n|0))n=255;else n=a[l>>0]|0;if((t[s>>0]|0)!=-1){f[c>>2]=l;r=r+(n<<8)|0;f[e>>2]=r;f[u>>2]=8;n=8;break}if(n>>>0>143){r=r+65280|0;f[e>>2]=r;f[u>>2]=8;n=8;break}else{f[c>>2]=l;r=r+(n<<9)|0;f[e>>2]=r;f[u>>2]=7;n=7;break}}}while(0);o=o<<1;f[d>>2]=o;r=r<<1;f[e>>2]=r;n=n+-1|0;f[u>>2]=n}while(o>>>0<32768);return i|0}s=s-(o<<16)|0;f[e>>2]=s;if(l&32768){e=f[n+4>>2]|0;return e|0}i=f[n+4>>2]|0;if(o>>>0>l>>>0){f[r>>2]=f[n+12>>2];i=1-i|0}else f[r>>2]=f[n+8>>2];u=e+8|0;c=e+12|0;h=e+20|0;n=f[u>>2]|0;r=s;o=l;do{do{if(!n){s=f[c>>2]|0;n=f[h>>2]|0;if((s|0)==(n|0)){r=r+65280|0;f[e>>2]=r;f[u>>2]=8;n=8;break}l=s+1|0;if((l|0)==(n|0))n=255;else n=a[l>>0]|0;if((t[s>>0]|0)!=-1){f[c>>2]=l;r=r+(n<<8)|0;f[e>>2]=r;f[u>>2]=8;n=8;break}if(n>>>0>143){r=r+65280|0;f[e>>2]=r;f[u>>2]=8;n=8;break}else{f[c>>2]=l;r=r+(n<<9)|0;f[e>>2]=r;f[u>>2]=7;n=7;break}}}while(0);o=o<<1;f[d>>2]=o;r=r<<1;f[e>>2]=r;n=n+-1|0;f[u>>2]=n}while(o>>>0<32768);return i|0}function bs(){return Nn(28)|0}function ks(e){e=e|0;if(!e)return;zn(e);return}function ws(e,i,r){e=e|0;i=i|0;r=r|0;f[e+20>>2]=i;f[e+8>>2]=r;f[e+12>>2]=0;t[e>>0]=0;f[e+4>>2]=0;return}function _s(e){e=e|0;var i=0,r=0,n=0,a=0,s=0;a=e+4|0;i=f[a>>2]|0;do{if(!i){f[a>>2]=8;r=e+12|0;n=f[r>>2]|0;if((n|0)==(f[e+8>>2]|0)){t[e>>0]=-1;i=8;r=-1;break}if((t[e>>0]|0)==-1){f[a>>2]=7;i=7}else i=8;s=t[(f[e+20>>2]|0)+n>>0]|0;t[e>>0]=s;f[r>>2]=n+1;r=s}else r=t[e>>0]|0}while(0);s=i+-1|0;f[a>>2]=s;return(r&255)>>>s&1|0}function ms(){var e=0;if(!(f[665]|0))e=2712;else e=f[(Pe()|0)+60>>2]|0;return e|0}function vs(e){e=e|0;var i=0,r=0;i=0;while(1){if((a[22198+i>>0]|0)==(e|0)){r=2;break}i=i+1|0;if((i|0)==87){i=87;e=22286;r=5;break}}if((r|0)==2)if(!i)e=22286;else{e=22286;r=5}if((r|0)==5)while(1){r=e;while(1){e=r+1|0;if(!(t[r>>0]|0))break;else r=e}i=i+-1|0;if(!i)break;else r=5}return e|0}function ps(e){e=e|0;if(e>>>0>4294963200){f[(ms()|0)>>2]=0-e;e=-1}return e|0}function gs(e,i){e=+e;i=i|0;var r=0,t=0,n=0;u[d>>3]=e;r=f[d>>2]|0;t=f[d+4>>2]|0;n=Dl(r|0,t|0,52)|0;n=n&2047;switch(n|0){case 0:{if(e!=0.0){e=+gs(e*18446744073709551616.0,i);r=(f[i>>2]|0)+-64|0}else r=0;f[i>>2]=r;break}case 2047:break;default:{f[i>>2]=n+-1022;f[d>>2]=r;f[d+4>>2]=t&-2146435073|1071644672;e=+u[d>>3]}}return+e}function ys(e,i){e=+e;i=i|0;return+ +gs(e,i)}function Ms(e,i){e=+e;i=i|0;return+ +Ss(e,i)}function Es(e){e=+e;return~~+As(e)|0}function As(e){e=+e;var i=0;i=(o[d>>2]=e,f[d>>2]|0);if((i&2130706432)>>>0<=1249902592){i=(i|0)<0;e=i?e+-8388608.0+8388608.0:e+8388608.0+-8388608.0;if(e==0.0)e=i?-0.0:0.0}return+e}function Ss(e,i){e=+e;i=i|0;var r=0;if((i|0)>1023){e=e*8988465674311579538646525.0e283;r=i+-1023|0;if((r|0)>1023){r=i+-2046|0;r=(r|0)>1023?1023:r;e=e*8988465674311579538646525.0e283}}else if((i|0)<-1022){e=e*2.2250738585072014e-308;r=i+1022|0;if((r|0)<-1022){r=i+2044|0;r=(r|0)<-1022?-1022:r;e=e*2.2250738585072014e-308}}else r=i;r=Bl(r+1023|0,0,52)|0;i=P;f[d>>2]=r;f[d+4>>2]=i;return+(e*+u[d>>3])}function Ts(e,i,r){e=e|0;i=i|0;r=r|0;do{if(e){if(i>>>0<128){t[e>>0]=i;e=1;break}if(i>>>0<2048){t[e>>0]=i>>>6|192;t[e+1>>0]=i&63|128;e=2;break}if(i>>>0<55296|(i&-8192|0)==57344){t[e>>0]=i>>>12|224;t[e+1>>0]=i>>>6&63|128;t[e+2>>0]=i&63|128;e=3;break}if((i+-65536|0)>>>0<1048576){t[e>>0]=i>>>18|240;t[e+1>>0]=i>>>12&63|128;t[e+2>>0]=i>>>6&63|128;t[e+3>>0]=i&63|128;e=4;break}else{f[(ms()|0)>>2]=84;e=-1;break}}else e=1}while(0);return e|0}function Cs(e,i){e=e|0;i=i|0;if(!e)e=0;else e=Ts(e,i,0)|0;return e|0}function Rs(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+112|0;d=b+40|0;u=b+24|0;o=b+16|0;a=b;h=b+52|0;n=t[i>>0]|0;if(ll(24090,n<<24>>24,4)|0){r=yl(1144)|0;if(!r)r=0;else{s=r;l=s+112|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(l|0));if(!(ul(i,43)|0))f[r>>2]=n<<24>>24==114?8:4;if(ul(i,101)|0){f[a>>2]=e;f[a+4>>2]=2;f[a+8>>2]=1;pe(221,a|0)|0;n=t[i>>0]|0}if(n<<24>>24==97){f[o>>2]=e;f[o+4>>2]=3;n=pe(221,o|0)|0;if(!(n&1024)){f[u>>2]=e;f[u+4>>2]=4;f[u+8>>2]=n|1024;pe(221,u|0)|0}i=f[r>>2]|128;f[r>>2]=i}else i=f[r>>2]|0;f[r+60>>2]=e;f[r+44>>2]=r+120;f[r+48>>2]=1024;n=r+75|0;t[n>>0]=-1;if((i&8|0)==0?(f[d>>2]=e,f[d+4>>2]=21505,f[d+8>>2]=h,(Be(54,d|0)|0)==0):0)t[n>>0]=10;f[r+32>>2]=60;f[r+36>>2]=61;f[r+40>>2]=3;f[r+12>>2]=1;if(!(f[666]|0))f[r+76>>2]=-1;Ne(2688);n=f[671]|0;f[r+56>>2]=n;if(n)f[n+52>>2]=r;f[671]=r;Ie(2688)}}else{f[(ms()|0)>>2]=22;r=0}c=b;return r|0}function Ls(e){e=e|0;var i=0,r=0,n=0;r=(ul(e,43)|0)==0;i=t[e>>0]|0;r=r?i<<24>>24!=114&1:2;n=(ul(e,120)|0)==0;r=n?r:r|128;e=(ul(e,101)|0)==0;e=e?r:r|524288;e=i<<24>>24==114?e:e|64;e=i<<24>>24==119?e|512:e;return(i<<24>>24==97?e|1024:e)|0}function Ps(e){e=e|0;return 0}function xs(e){e=e|0;return}function Os(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+16|0;u=h;o=i&255;t[u>>0]=o;n=e+16|0;s=f[n>>2]|0;if(!s)if(!(js(e)|0)){s=f[n>>2]|0;l=4}else r=-1;else l=4;do{if((l|0)==4){n=e+20|0;l=f[n>>2]|0;if(l>>>0>>0?(r=i&255,(r|0)!=(t[e+75>>0]|0)):0){f[n>>2]=l+1;t[l>>0]=o;break}if((po[f[e+36>>2]&63](e,u,1)|0)==1)r=a[u>>0]|0;else r=-1}}while(0);c=h;return r|0}function Bs(e){e=e|0;var i=0,r=0;i=c;c=c+16|0;r=i;f[r>>2]=f[e+60>>2];e=ps(Fe(6,r|0)|0)|0;c=i;return e|0}function Is(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0;h=c;c=c+48|0;s=h+16|0;a=h;n=h+32|0;f[n>>2]=i;l=n+4|0;u=e+48|0;d=f[u>>2]|0;f[l>>2]=r-((d|0)!=0&1);o=e+44|0;f[n+8>>2]=f[o>>2];f[n+12>>2]=d;if(!(f[665]|0)){f[s>>2]=f[e+60>>2];f[s+4>>2]=n;f[s+8>>2]=2;n=ps(ze(145,s|0)|0)|0}else{Me(5,e|0);f[a>>2]=f[e+60>>2];f[a+4>>2]=n;f[a+8>>2]=2;n=ps(ze(145,a|0)|0)|0;ve(0)}if((n|0)>=1){l=f[l>>2]|0;if(n>>>0>l>>>0){s=f[o>>2]|0;a=e+4|0;f[a>>2]=s;f[e+8>>2]=s+(n-l);if(!(f[u>>2]|0))n=r;else{f[a>>2]=s+1;t[i+(r+-1)>>0]=t[s>>0]|0;n=r}}}else{f[e>>2]=f[e>>2]|n&48^16;f[e+8>>2]=0;f[e+4>>2]=0}c=h;return n|0}function Ds(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;n=c;c=c+32|0;a=n;t=n+20|0;f[a>>2]=f[e+60>>2];f[a+4>>2]=0;f[a+8>>2]=i;f[a+12>>2]=t;f[a+16>>2]=r;if((ps(He(140,a|0)|0)|0)<0){f[t>>2]=-1;e=-1}else e=f[t>>2]|0;c=n;return e|0}function Ns(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0;w=c;c=c+48|0;d=w+16|0;h=w;t=w+32|0;b=e+28|0;n=f[b>>2]|0;f[t>>2]=n;k=e+20|0;n=(f[k>>2]|0)-n|0;f[t+4>>2]=n;f[t+8>>2]=i;f[t+12>>2]=r;o=e+60|0;u=e+44|0;i=2;n=n+r|0;while(1){if(!(f[665]|0)){f[d>>2]=f[o>>2];f[d+4>>2]=t;f[d+8>>2]=i;s=ps(Ye(146,d|0)|0)|0}else{Me(6,e|0);f[h>>2]=f[o>>2];f[h+4>>2]=t;f[h+8>>2]=i;s=ps(Ye(146,h|0)|0)|0;ve(0)}if((n|0)==(s|0)){n=6;break}if((s|0)<0){n=8;break}n=n-s|0;a=f[t+4>>2]|0;if(s>>>0<=a>>>0)if((i|0)==2){f[b>>2]=(f[b>>2]|0)+s;l=a;i=2}else l=a;else{l=f[u>>2]|0;f[b>>2]=l;f[k>>2]=l;l=f[t+12>>2]|0;s=s-a|0;t=t+8|0;i=i+-1|0}f[t>>2]=(f[t>>2]|0)+s;f[t+4>>2]=l-s}if((n|0)==6){d=f[u>>2]|0;f[e+16>>2]=d+(f[e+48>>2]|0);e=d;f[b>>2]=e;f[k>>2]=e}else if((n|0)==8){f[e+16>>2]=0;f[b>>2]=0;f[k>>2]=0;f[e>>2]=f[e>>2]|32;if((i|0)==2)r=0;else r=r-(f[t+4>>2]|0)|0}c=w;return r|0}function Fs(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;a=c;c=c+80|0;n=a;f[e+36>>2]=61;if((f[e>>2]&64|0)==0?(f[n>>2]=f[e+60>>2],f[n+4>>2]=21505,f[n+8>>2]=a+12,(Be(54,n|0)|0)!=0):0)t[e+75>>0]=-1;n=Ns(e,i,r)|0;c=a;return n|0}function Us(e){e=e|0;var i=0,r=0;i=e+74|0;r=t[i>>0]|0;t[i>>0]=r+255|r;i=e+20|0;r=e+44|0;if((f[i>>2]|0)>>>0>(f[r>>2]|0)>>>0)po[f[e+36>>2]&63](e,0,0)|0;f[e+16>>2]=0;f[e+28>>2]=0;f[i>>2]=0;i=f[e>>2]|0;if(i&20)if(!(i&4))i=-1;else{f[e>>2]=i|32;i=-1}else{i=f[r>>2]|0;f[e+8>>2]=i;f[e+4>>2]=i;i=0}return i|0}function js(e){e=e|0;var i=0,r=0;i=e+74|0;r=t[i>>0]|0;t[i>>0]=r+255|r;i=f[e>>2]|0;if(!(i&8)){f[e+8>>2]=0;f[e+4>>2]=0;i=f[e+44>>2]|0;f[e+28>>2]=i;f[e+20>>2]=i;f[e+16>>2]=i+(f[e+48>>2]|0);i=0}else{f[e>>2]=i|32;i=-1}return i|0}function Hs(e){e=e|0;var i=0,r=0,t=0;t=(f[e>>2]&1|0)!=0;if(!t){Ne(2688);r=f[e+52>>2]|0;i=e+56|0;if(r)f[r+56>>2]=f[i>>2];i=f[i>>2]|0;if(i)f[i+52>>2]=r;if((f[671]|0)==(e|0))f[671]=i;Ie(2688)}i=zs(e)|0;i=Ao[f[e+12>>2]&15](e)|0|i;r=f[e+92>>2]|0;if(r)Ml(r);if(!t)Ml(e);return i|0}function zs(e){e=e|0;var i=0,r=0;do{if(e){if((f[e+76>>2]|0)<=-1){i=wl(e)|0;break}r=(Ps(e)|0)==0;i=wl(e)|0;if(!r)xs(e)}else{if(!(f[677]|0))i=0;else i=zs(f[677]|0)|0;Ne(2688);e=f[671]|0;if(e)do{if((f[e+76>>2]|0)>-1)r=Ps(e)|0;else r=0;if((f[e+20>>2]|0)>>>0>(f[e+28>>2]|0)>>>0)i=wl(e)|0|i;if(r)xs(e);e=f[e+56>>2]|0}while((e|0)!=0);Ie(2688)}}while(0);return i|0}function Ys(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0;a=c;c=c+32|0;n=a+16|0;r=a;if(ll(24090,t[i>>0]|0,4)|0){s=Ls(i)|0|32768;f[r>>2]=e;f[r+4>>2]=s;f[r+8>>2]=438;r=ps(Ue(5,r|0)|0)|0;if((r|0)>=0){e=Rs(r,i)|0;if(!e){f[n>>2]=r;Fe(6,n|0)|0;e=0}}else e=0}else{f[(ms()|0)>>2]=22;e=0}c=a;return e|0}function qs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=c;c=c+16|0;n=t;f[n>>2]=r;r=fl(e,i,n)|0;c=t;return r|0}function Xs(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0;if((f[i+76>>2]|0)>=0?(Ps(i)|0)!=0:0){if((t[i+75>>0]|0)!=(e|0)?(n=i+20|0,a=f[n>>2]|0,a>>>0<(f[i+16>>2]|0)>>>0):0){f[n>>2]=a+1;t[a>>0]=e;r=e&255}else r=Os(i,e)|0;xs(i)}else l=3;do{if((l|0)==3){if((t[i+75>>0]|0)!=(e|0)?(s=i+20|0,r=f[s>>2]|0,r>>>0<(f[i+16>>2]|0)>>>0):0){f[s>>2]=r+1;t[r>>0]=e;r=e&255;break}r=Os(i,e)|0}}while(0);return r|0}function Vs(e,i){e=e|0;i=i|0;return(il(e,dl(e)|0,1,i)|0)+-1|0}function Gs(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0;o=ie(r,i)|0;if((f[n+76>>2]|0)>-1)u=Ps(n)|0;else u=0;a=n+74|0;s=t[a>>0]|0;t[a>>0]=s+255|s;a=n+4|0;s=f[a>>2]|0;l=(f[n+8>>2]|0)-s|0;if((l|0)>0){l=l>>>0>>0?l:o;Nl(e|0,s|0,l|0)|0;f[a>>2]=s+l;e=e+l|0;a=o-l|0}else a=o;e:do{if(!a)c=13;else{l=n+32|0;s=a;while(1){if(Us(n)|0){r=s;break}a=po[f[l>>2]&63](n,e,s)|0;if((a+1|0)>>>0<2){r=s;break}if((s|0)==(a|0)){c=13;break e}else{e=e+a|0;s=s-a|0}}if(u)xs(n);r=((o-r|0)>>>0)/(i>>>0)|0}}while(0);if((c|0)==13)if(u)xs(n);return r|0}function Ks(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if((r|0)==1)i=i-(f[e+8>>2]|0)+(f[e+4>>2]|0)|0;n=e+20|0;t=e+28|0;if((f[n>>2]|0)>>>0>(f[t>>2]|0)>>>0?(po[f[e+36>>2]&63](e,0,0)|0,(f[n>>2]|0)==0):0)i=-1;else{f[e+16>>2]=0;f[t>>2]=0;f[n>>2]=0;if((po[f[e+40>>2]&63](e,i,r)|0)<0)i=-1;else{f[e+8>>2]=0;f[e+4>>2]=0;f[e>>2]=f[e>>2]&-17;i=0}}return i|0}function Ws(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((f[e+76>>2]|0)>-1){t=(Ps(e)|0)==0;i=Ks(e,i,r)|0;if(!t)xs(e)}else i=Ks(e,i,r)|0;return i|0}function Zs(e,i,r){e=e|0;i=i|0;r=r|0;return Ws(e,i,r)|0}function Js(e){e=e|0;var i=0;if(!(f[e>>2]&128))i=1;else i=(f[e+20>>2]|0)>>>0>(f[e+28>>2]|0)>>>0?2:1;i=po[f[e+40>>2]&63](e,0,i)|0;if((i|0)>=0)i=i-(f[e+8>>2]|0)+(f[e+4>>2]|0)+(f[e+20>>2]|0)-(f[e+28>>2]|0)|0;return i|0}function Qs(e){e=e|0;var i=0;if((f[e+76>>2]|0)>-1){i=(Ps(e)|0)==0;e=Js(e)|0}else e=Js(e)|0;return e|0}function $s(e){e=e|0;return Qs(e)|0}function el(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;n=r+16|0;a=f[n>>2]|0;if(!a)if(!(js(r)|0)){a=f[n>>2]|0;s=4}else n=0;else s=4;e:do{if((s|0)==4){l=r+20|0;s=f[l>>2]|0;if((a-s|0)>>>0>>0){n=po[f[r+36>>2]&63](r,e,i)|0;break}i:do{if((t[r+75>>0]|0)>-1){n=i;while(1){if(!n){a=s;n=0;break i}a=n+-1|0;if((t[e+a>>0]|0)==10)break;else n=a}if((po[f[r+36>>2]&63](r,e,n)|0)>>>0>>0)break e;i=i-n|0;e=e+n|0;a=f[l>>2]|0}else{a=s;n=0}}while(0);Nl(a|0,e|0,i|0)|0;f[l>>2]=(f[l>>2]|0)+i;n=n+i|0}}while(0);return n|0}function il(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;n=ie(r,i)|0;if((f[t+76>>2]|0)>-1){a=(Ps(t)|0)==0;e=el(e,n,t)|0;if(!a)xs(t)}else e=el(e,n,t)|0;if((e|0)!=(n|0))r=(e>>>0)/(i>>>0)|0;return r|0}function rl(e,i){e=e|0;i=i|0;var r=0,t=0;r=c;c=c+16|0;t=r;f[t>>2]=i;i=fl(f[676]|0,e,t)|0;c=r;return i|0}function tl(e){e=e|0;var i=0,r=0,n=0,a=0;n=f[676]|0;if((f[n+76>>2]|0)>-1)a=Ps(n)|0;else a=0;do{if((Vs(e,n)|0)<0)i=1;else{if((t[n+75>>0]|0)!=10?(i=n+20|0,r=f[i>>2]|0,r>>>0<(f[n+16>>2]|0)>>>0):0){f[i>>2]=r+1;t[r>>0]=10;i=0;break}i=(Os(n,10)|0)<0}}while(0);if(a)xs(n);return i<<31>>31|0}function nl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=c;c=c+16|0;n=t;f[n>>2]=r;r=sl(e,i,n)|0;c=t;return r|0}function fl(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0;m=c;c=c+224|0;b=m+80|0;_=m+96|0;w=m;k=m+136|0;n=_;a=n+40|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(a|0));f[b>>2]=f[r>>2];if((_l(0,i,b,w,_)|0)<0)r=-1;else{if((f[e+76>>2]|0)>-1)h=Ps(e)|0;else h=0;r=f[e>>2]|0;d=r&32;if((t[e+74>>0]|0)<1)f[e>>2]=r&-33;r=e+48|0;if(!(f[r>>2]|0)){a=e+44|0;s=f[a>>2]|0;f[a>>2]=k;l=e+28|0;f[l>>2]=k;o=e+20|0;f[o>>2]=k;f[r>>2]=80;u=e+16|0;f[u>>2]=k+80;n=_l(e,i,b,w,_)|0;if(s){po[f[e+36>>2]&63](e,0,0)|0;n=(f[o>>2]|0)==0?-1:n;f[a>>2]=s;f[r>>2]=0;f[u>>2]=0;f[l>>2]=0;f[o>>2]=0}}else n=_l(e,i,b,w,_)|0;r=f[e>>2]|0;f[e>>2]=r|d;if(h)xs(e);r=(r&32|0)==0?n:-1}c=m;return r|0}function al(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0;d=c;c=c+128|0;a=d+112|0;h=d;s=h;l=2716;o=s+112|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));if((i+-1|0)>>>0>2147483646)if(!i){i=1;u=4}else{f[(ms()|0)>>2]=75;i=-1}else{a=e;u=4}if((u|0)==4){u=-2-a|0;u=i>>>0>u>>>0?u:i;f[h+48>>2]=u;e=h+20|0;f[e>>2]=a;f[h+44>>2]=a;i=a+u|0;a=h+16|0;f[a>>2]=i;f[h+28>>2]=i;i=fl(h,r,n)|0;if(u){r=f[e>>2]|0;t[r+(((r|0)==(f[a>>2]|0))<<31>>31)>>0]=0}}c=d;return i|0}function sl(e,i,r){e=e|0;i=i|0;r=r|0;return al(e,2147483647,i,r)|0}function ll(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;s=i&255;n=(r|0)!=0;e:do{if(n&(e&3|0)!=0){a=i&255;while(1){if((t[e>>0]|0)==a<<24>>24){l=6;break e}e=e+1|0;r=r+-1|0;n=(r|0)!=0;if(!(n&(e&3|0)!=0)){l=5;break}}}else l=5}while(0);if((l|0)==5)if(n)l=6;else r=0;e:do{if((l|0)==6){a=i&255;if((t[e>>0]|0)!=a<<24>>24){n=ie(s,16843009)|0;i:do{if(r>>>0>3)while(1){s=f[e>>2]^n;if((s&-2139062144^-2139062144)&s+-16843009)break;e=e+4|0;r=r+-4|0;if(r>>>0<=3){l=11;break i}}else l=11}while(0);if((l|0)==11)if(!r){r=0;break}while(1){if((t[e>>0]|0)==a<<24>>24)break e;e=e+1|0;r=r+-1|0;if(!r){r=0;break}}}}}while(0);return((r|0)!=0?e:0)|0}function ol(e,i){e=e|0;i=i|0;var r=0,n=0;r=i;e:do{if(!((r^e)&3)){if(r&3)do{r=t[i>>0]|0;t[e>>0]=r;if(!(r<<24>>24))break e;i=i+1|0;e=e+1|0}while((i&3|0)!=0);r=f[i>>2]|0;if(!((r&-2139062144^-2139062144)&r+-16843009)){n=e;while(1){i=i+4|0;e=n+4|0;f[n>>2]=r;r=f[i>>2]|0;if((r&-2139062144^-2139062144)&r+-16843009)break;else n=e}}n=8}else n=8}while(0);if((n|0)==8){n=t[i>>0]|0;t[e>>0]=n;if(n<<24>>24)do{i=i+1|0;e=e+1|0;n=t[i>>0]|0;t[e>>0]=n}while(n<<24>>24!=0)}return e|0}function ul(e,i){e=e|0;i=i|0;e=cl(e,i)|0;return((t[e>>0]|0)==(i&255)<<24>>24?e:0)|0}function cl(e,i){e=e|0;i=i|0;var r=0,n=0,a=0;n=i&255;e:do{if(!n)e=e+(dl(e)|0)|0;else{if(e&3){r=i&255;do{a=t[e>>0]|0;if(a<<24>>24==0?1:a<<24>>24==r<<24>>24)break e;e=e+1|0}while((e&3|0)!=0)}n=ie(n,16843009)|0;r=f[e>>2]|0;i:do{if(!((r&-2139062144^-2139062144)&r+-16843009))do{a=r^n;if((a&-2139062144^-2139062144)&a+-16843009)break i;e=e+4|0;r=f[e>>2]|0}while(((r&-2139062144^-2139062144)&r+-16843009|0)==0)}while(0);r=i&255;while(1){a=t[e>>0]|0;if(a<<24>>24==0?1:a<<24>>24==r<<24>>24)break;else e=e+1|0}}}while(0);return e|0}function hl(e,i){e=e|0;i=i|0;ol(e,i)|0;return e|0}function dl(e){e=e|0;var i=0,r=0,n=0;n=e;e:do{if(!(n&3))r=4;else{i=e;e=n;while(1){if(!(t[i>>0]|0))break e;i=i+1|0;e=i;if(!(e&3)){e=i;r=4;break}}}}while(0);if((r|0)==4){while(1){i=f[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009))e=e+4|0;else break}if((i&255)<<24>>24)do{e=e+1|0}while((t[e>>0]|0)!=0)}return e-n|0}function bl(e){e=e|0;if(!(f[e+68>>2]|0))xs(e);return}function kl(e){e=e|0;if(!(f[e+68>>2]|0))xs(e);return}function wl(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0;i=e+20|0;a=e+28|0;if((f[i>>2]|0)>>>0>(f[a>>2]|0)>>>0?(po[f[e+36>>2]&63](e,0,0)|0,(f[i>>2]|0)==0):0)i=-1;else{s=e+4|0;r=f[s>>2]|0;t=e+8|0;n=f[t>>2]|0;if(r>>>0>>0)po[f[e+40>>2]&63](e,r-n|0,1)|0;f[e+16>>2]=0;f[a>>2]=0;f[i>>2]=0;f[t>>2]=0;f[s>>2]=0;i=0}return i|0}function _l(e,i,r,s,l){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;var o=0,h=0,b=0,k=0,w=0.0,_=0,m=0,v=0,p=0,g=0.0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,H=0,z=0,Y=0,q=0,X=0,V=0,G=0,K=0,W=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,te=0,ne=0,fe=0,ae=0,se=0;se=c;c=c+624|0;re=se+24|0;ne=se+16|0;te=se+588|0;Z=se+576|0;ee=se;G=se+536|0;ae=se+8|0;fe=se+528|0;F=(e|0)!=0;U=G+40|0;V=U;G=G+39|0;K=ae+4|0;W=Z+12|0;Z=Z+11|0;J=te;Q=W;$=Q-J|0;j=-2-J|0;H=Q+2|0;z=re+288|0;Y=te+9|0;q=Y;X=te+8|0;o=0;y=i;h=0;i=0;e:while(1){do{if((o|0)>-1)if((h|0)>(2147483647-o|0)){f[(ms()|0)>>2]=75;o=-1;break}else{o=h+o|0;break}}while(0);h=t[y>>0]|0;if(!(h<<24>>24)){N=245;break}else b=y;i:while(1){switch(h<<24>>24){case 37:{h=b;N=9;break i}case 0:{h=b;break i}default:{}}D=b+1|0;h=t[D>>0]|0;b=D}i:do{if((N|0)==9)while(1){N=0;if((t[h+1>>0]|0)!=37)break i;b=b+1|0;h=h+2|0;if((t[h>>0]|0)==37)N=9;else break}}while(0);E=b-y|0;if(F?(f[e>>2]&32|0)==0:0)el(y,E,e)|0;if((b|0)!=(y|0)){y=h;h=E;continue}_=h+1|0;b=t[_>>0]|0;k=(b<<24>>24)+-48|0;if(k>>>0<10){D=(t[h+2>>0]|0)==36;_=D?h+3|0:_;b=t[_>>0]|0;p=D?k:-1;i=D?1:i}else p=-1;h=b<<24>>24;i:do{if((h&-32|0)==32){k=0;while(1){if(!(1<>24)+-32|k;_=_+1|0;b=t[_>>0]|0;h=b<<24>>24;if((h&-32|0)!=32){m=k;h=_;break}}}else{m=0;h=_}}while(0);do{if(b<<24>>24==42){k=h+1|0;b=(t[k>>0]|0)+-48|0;if(b>>>0<10?(t[h+2>>0]|0)==36:0){f[l+(b<<2)>>2]=10;i=1;h=h+3|0;b=f[s+((t[k>>0]|0)+-48<<3)>>2]|0}else{if(i){o=-1;break e}if(!F){M=m;h=k;i=0;D=0;break}i=(f[r>>2]|0)+(4-1)&~(4-1);b=f[i>>2]|0;f[r>>2]=i+4;i=0;h=k}if((b|0)<0){M=m|8192;D=0-b|0}else{M=m;D=b}}else{k=(b<<24>>24)+-48|0;if(k>>>0<10){b=0;do{b=(b*10|0)+k|0;h=h+1|0;k=(t[h>>0]|0)+-48|0}while(k>>>0<10);if((b|0)<0){o=-1;break e}else{M=m;D=b}}else{M=m;D=0}}}while(0);i:do{if((t[h>>0]|0)==46){k=h+1|0;b=t[k>>0]|0;if(b<<24>>24!=42){_=(b<<24>>24)+-48|0;if(_>>>0<10){h=k;b=0}else{h=k;_=0;break}while(1){b=(b*10|0)+_|0;h=h+1|0;_=(t[h>>0]|0)+-48|0;if(_>>>0>=10){_=b;break i}}}k=h+2|0;b=(t[k>>0]|0)+-48|0;if(b>>>0<10?(t[h+3>>0]|0)==36:0){f[l+(b<<2)>>2]=10;h=h+4|0;_=f[s+((t[k>>0]|0)+-48<<3)>>2]|0;break}if(i){o=-1;break e}if(F){h=(f[r>>2]|0)+(4-1)&~(4-1);_=f[h>>2]|0;f[r>>2]=h+4;h=k}else{h=k;_=0}}else _=-1}while(0);v=0;while(1){b=(t[h>>0]|0)+-65|0;if(b>>>0>57){o=-1;break e}k=h+1|0;b=t[25126+(v*58|0)+b>>0]|0;m=b&255;if((m+-1|0)>>>0<8){h=k;v=m}else{I=k;break}}if(!(b<<24>>24)){o=-1;break}k=(p|0)>-1;do{if(b<<24>>24==19)if(k){o=-1;break e}else N=52;else{if(k){f[l+(p<<2)>>2]=m;O=s+(p<<3)|0;B=f[O+4>>2]|0;N=ee;f[N>>2]=f[O>>2];f[N+4>>2]=B;N=52;break}if(!F){o=0;break e}vl(ee,m,r)}}while(0);if((N|0)==52?(N=0,!F):0){y=I;h=E;continue}p=t[h>>0]|0;p=(v|0)!=0&(p&15|0)==3?p&-33:p;k=M&-65537;B=(M&8192|0)==0?M:k;i:do{switch(p|0){case 110:switch(v|0){case 0:{f[f[ee>>2]>>2]=o;y=I;h=E;continue e}case 1:{f[f[ee>>2]>>2]=o;y=I;h=E;continue e}case 2:{y=f[ee>>2]|0;f[y>>2]=o;f[y+4>>2]=((o|0)<0)<<31>>31;y=I;h=E;continue e}case 3:{n[f[ee>>2]>>1]=o;y=I;h=E;continue e}case 4:{t[f[ee>>2]>>0]=o;y=I;h=E;continue e}case 6:{f[f[ee>>2]>>2]=o;y=I;h=E;continue e}case 7:{y=f[ee>>2]|0;f[y>>2]=o;f[y+4>>2]=((o|0)<0)<<31>>31;y=I;h=E;continue e}default:{y=I;h=E;continue e}}case 112:{v=B|8;_=_>>>0>8?_:8;p=120;N=64;break}case 88:case 120:{v=B;N=64;break}case 111:{k=ee;b=f[k>>2]|0;k=f[k+4>>2]|0;if((b|0)==0&(k|0)==0)h=U;else{h=U;do{h=h+-1|0;t[h>>0]=b&7|48;b=Dl(b|0,k|0,3)|0;k=P}while(!((b|0)==0&(k|0)==0))}if(!(B&8)){b=B;v=0;m=25606;N=77}else{v=V-h+1|0;b=B;_=(_|0)<(v|0)?v:_;v=0;m=25606;N=77}break}case 105:case 100:{b=ee;h=f[b>>2]|0;b=f[b+4>>2]|0;if((b|0)<0){h=Pl(0,0,h|0,b|0)|0;b=P;k=ee;f[k>>2]=h;f[k+4>>2]=b;k=1;m=25606;N=76;break i}if(!(B&2048)){m=B&1;k=m;m=(m|0)==0?25606:25608;N=76}else{k=1;m=25607;N=76}break}case 117:{b=ee;h=f[b>>2]|0;b=f[b+4>>2]|0;k=0;m=25606;N=76;break}case 99:{t[G>>0]=f[ee>>2];y=G;b=1;v=0;p=25606;h=U;break}case 109:{h=vs(f[(ms()|0)>>2]|0)|0;N=82;break}case 115:{h=f[ee>>2]|0;h=(h|0)!=0?h:25616;N=82;break}case 67:{f[ae>>2]=f[ee>>2];f[K>>2]=0;f[ee>>2]=ae;_=-1;N=86;break}case 83:{if(!_){gl(e,32,D,0,B);h=0;N=98}else N=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{w=+u[ee>>3];f[ne>>2]=0;u[d>>3]=w;if((f[d+4>>2]|0)>=0)if(!(B&2048)){O=B&1;x=O;O=(O|0)==0?25624:25629}else{x=1;O=25626}else{w=-w;x=1;O=25623}u[d>>3]=w;L=f[d+4>>2]&2146435072;do{if(L>>>0<2146435072|(L|0)==2146435072&0<0){g=+ys(w,ne)*2.0;b=g!=0.0;if(b)f[ne>>2]=(f[ne>>2]|0)+-1;C=p|32;if((C|0)==97){y=p&32;E=(y|0)==0?O:O+9|0;M=x|2;h=12-_|0;do{if(!(_>>>0>11|(h|0)==0)){w=8.0;do{h=h+-1|0;w=w*16.0}while((h|0)!=0);if((t[E>>0]|0)==45){w=-(w+(-g-w));break}else{w=g+w-w;break}}else w=g}while(0);b=f[ne>>2]|0;h=(b|0)<0?0-b|0:b;h=pl(h,((h|0)<0)<<31>>31,W)|0;if((h|0)==(W|0)){t[Z>>0]=48;h=Z}t[h+-1>>0]=(b>>31&2)+43;v=h+-2|0;t[v>>0]=p+15;m=(_|0)<1;k=(B&8|0)==0;b=te;while(1){O=~~w;h=b+1|0;t[b>>0]=a[25590+O>>0]|y;w=(w-+(O|0))*16.0;do{if((h-J|0)==1){if(k&(m&w==0.0))break;t[h>>0]=46;h=b+2|0}}while(0);if(!(w!=0.0))break;else b=h}_=(_|0)!=0&(j+h|0)<(_|0)?H+_-v|0:$-v+h|0;k=_+M|0;gl(e,32,D,k,B);if(!(f[e>>2]&32))el(E,M,e)|0;gl(e,48,D,k,B^65536);h=h-J|0;if(!(f[e>>2]&32))el(te,h,e)|0;b=Q-v|0;gl(e,48,_-(h+b)|0,0,0);if(!(f[e>>2]&32))el(v,b,e)|0;gl(e,32,D,k,B^8192);h=(k|0)<(D|0)?D:k;break}h=(_|0)<0?6:_;if(b){b=(f[ne>>2]|0)+-28|0;f[ne>>2]=b;w=g*268435456.0}else{w=g;b=f[ne>>2]|0}L=(b|0)<0?re:z;R=L;b=L;do{T=~~w>>>0;f[b>>2]=T;b=b+4|0;w=(w-+(T>>>0))*1.0e9}while(w!=0.0);k=b;b=f[ne>>2]|0;if((b|0)>0){m=L;while(1){v=(b|0)>29?29:b;_=k+-4|0;do{if(_>>>0>>0)_=m;else{b=0;do{T=Bl(f[_>>2]|0,0,v|0)|0;T=Il(T|0,P|0,b|0,0)|0;b=P;S=ql(T|0,b|0,1e9,0)|0;f[_>>2]=S;b=Yl(T|0,b|0,1e9,0)|0;_=_+-4|0}while(_>>>0>=m>>>0);if(!b){_=m;break}_=m+-4|0;f[_>>2]=b}}while(0);while(1){if(k>>>0<=_>>>0)break;b=k+-4|0;if(!(f[b>>2]|0))k=b;else break}b=(f[ne>>2]|0)-v|0;f[ne>>2]=b;if((b|0)>0)m=_;else break}}else _=L;if((b|0)<0){E=((h+25|0)/9|0)+1|0;A=(C|0)==102;y=_;while(1){M=0-b|0;M=(M|0)>9?9:M;do{if(y>>>0>>0){b=(1<>>M;_=0;v=y;do{T=f[v>>2]|0;f[v>>2]=(T>>>M)+_;_=ie(T&b,m)|0;v=v+4|0}while(v>>>0>>0);b=(f[y>>2]|0)==0?y+4|0:y;if(!_){_=b;break}f[k>>2]=_;_=b;k=k+4|0}else _=(f[y>>2]|0)==0?y+4|0:y}while(0);b=A?L:_;k=(k-b>>2|0)>(E|0)?b+(E<<2)|0:k;b=(f[ne>>2]|0)+M|0;f[ne>>2]=b;if((b|0)>=0){y=_;break}else y=_}}else y=_;do{if(y>>>0>>0){b=(R-y>>2)*9|0;m=f[y>>2]|0;if(m>>>0<10)break;else _=10;do{_=_*10|0;b=b+1|0}while(m>>>0>=_>>>0)}else b=0}while(0);S=(C|0)==103;T=(h|0)!=0;_=h-((C|0)!=102?b:0)+((T&S)<<31>>31)|0;if((_|0)<(((k-R>>2)*9|0)+-9|0)){v=_+9216|0;A=(v|0)/9|0;_=L+(A+-1023<<2)|0;v=((v|0)%9|0)+1|0;if((v|0)<9){m=10;do{m=m*10|0;v=v+1|0}while((v|0)!=9)}else m=10;M=f[_>>2]|0;E=(M>>>0)%(m>>>0)|0;if((E|0)==0?(L+(A+-1022<<2)|0)==(k|0):0)m=y;else N=163;do{if((N|0)==163){N=0;g=(((M>>>0)/(m>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(m|0)/2|0;do{if(E>>>0>>0)w=.5;else{if((E|0)==(v|0)?(L+(A+-1022<<2)|0)==(k|0):0){w=1.0;break}w=1.5}}while(0);do{if(x){if((t[O>>0]|0)!=45)break;g=-g;w=-w}}while(0);v=M-E|0;f[_>>2]=v;if(!(g+w!=g)){m=y;break}C=v+m|0;f[_>>2]=C;if(C>>>0>999999999){b=y;while(1){m=_+-4|0;f[_>>2]=0;if(m>>>0>>0){b=b+-4|0;f[b>>2]=0}C=(f[m>>2]|0)+1|0;f[m>>2]=C;if(C>>>0>999999999)_=m;else{y=b;_=m;break}}}b=(R-y>>2)*9|0;v=f[y>>2]|0;if(v>>>0<10){m=y;break}else m=10;do{m=m*10|0;b=b+1|0}while(v>>>0>=m>>>0);m=y}}while(0);C=_+4|0;y=m;k=k>>>0>C>>>0?C:k}E=0-b|0;while(1){if(k>>>0<=y>>>0){A=0;C=k;break}_=k+-4|0;if(!(f[_>>2]|0))k=_;else{A=1;C=k;break}}do{if(S){h=(T&1^1)+h|0;if((h|0)>(b|0)&(b|0)>-5){p=p+-1|0;h=h+-1-b|0}else{p=p+-2|0;h=h+-1|0}k=B&8;if(k)break;do{if(A){k=f[C+-4>>2]|0;if(!k){_=9;break}if(!((k>>>0)%10|0)){m=10;_=0}else{_=0;break}do{m=m*10|0;_=_+1|0}while(((k>>>0)%(m>>>0)|0|0)==0)}else _=9}while(0);k=((C-R>>2)*9|0)+-9|0;if((p|32|0)==102){k=k-_|0;k=(k|0)<0?0:k;h=(h|0)<(k|0)?h:k;k=0;break}else{k=k+b-_|0;k=(k|0)<0?0:k;h=(h|0)<(k|0)?h:k;k=0;break}}else k=B&8}while(0);M=h|k;m=(M|0)!=0&1;v=(p|32|0)==102;if(v){b=(b|0)>0?b:0;p=0}else{_=(b|0)<0?E:b;_=pl(_,((_|0)<0)<<31>>31,W)|0;if((Q-_|0)<2)do{_=_+-1|0;t[_>>0]=48}while((Q-_|0)<2);t[_+-1>>0]=(b>>31&2)+43;R=_+-2|0;t[R>>0]=p;b=Q-R|0;p=R}E=x+1+h+m+b|0;gl(e,32,D,E,B);if(!(f[e>>2]&32))el(O,x,e)|0;gl(e,48,D,E,B^65536);do{if(v){_=y>>>0>L>>>0?L:y;b=_;do{k=pl(f[b>>2]|0,0,Y)|0;do{if((b|0)==(_|0)){if((k|0)!=(Y|0))break;t[X>>0]=48;k=X}else{if(k>>>0<=te>>>0)break;do{k=k+-1|0;t[k>>0]=48}while(k>>>0>te>>>0)}}while(0);if(!(f[e>>2]&32))el(k,q-k|0,e)|0;b=b+4|0}while(b>>>0<=L>>>0);do{if(M){if(f[e>>2]&32)break;el(25658,1,e)|0}}while(0);if((h|0)>0&b>>>0>>0){k=b;while(1){b=pl(f[k>>2]|0,0,Y)|0;if(b>>>0>te>>>0)do{b=b+-1|0;t[b>>0]=48}while(b>>>0>te>>>0);if(!(f[e>>2]&32))el(b,(h|0)>9?9:h,e)|0;k=k+4|0;b=h+-9|0;if(!((h|0)>9&k>>>0>>0)){h=b;break}else h=b}}gl(e,48,h+9|0,9,0)}else{v=A?C:y+4|0;if((h|0)>-1){m=(k|0)==0;_=y;do{b=pl(f[_>>2]|0,0,Y)|0;if((b|0)==(Y|0)){t[X>>0]=48;b=X}do{if((_|0)==(y|0)){k=b+1|0;if(!(f[e>>2]&32))el(b,1,e)|0;if(m&(h|0)<1){b=k;break}if(f[e>>2]&32){b=k;break}el(25658,1,e)|0;b=k}else{if(b>>>0<=te>>>0)break;do{b=b+-1|0;t[b>>0]=48}while(b>>>0>te>>>0)}}while(0);k=q-b|0;if(!(f[e>>2]&32))el(b,(h|0)>(k|0)?k:h,e)|0;h=h-k|0;_=_+4|0}while(_>>>0>>0&(h|0)>-1)}gl(e,48,h+18|0,18,0);if(f[e>>2]&32)break;el(p,Q-p|0,e)|0}}while(0);gl(e,32,D,E,B^8192);h=(E|0)<(D|0)?D:E}else{v=(p&32|0)!=0;m=w!=w|0.0!=0.0;b=m?0:x;_=b+3|0;gl(e,32,D,_,k);h=f[e>>2]|0;if(!(h&32)){el(O,b,e)|0;h=f[e>>2]|0}if(!(h&32))el(m?v?25650:25654:v?25642:25646,3,e)|0;gl(e,32,D,_,B^8192);h=(_|0)<(D|0)?D:_}}while(0);y=I;continue e}default:{k=B;b=_;v=0;p=25606;h=U}}}while(0);i:do{if((N|0)==64){k=ee;b=f[k>>2]|0;k=f[k+4>>2]|0;m=p&32;if(!((b|0)==0&(k|0)==0)){h=U;do{h=h+-1|0;t[h>>0]=a[25590+(b&15)>>0]|m;b=Dl(b|0,k|0,4)|0;k=P}while(!((b|0)==0&(k|0)==0));N=ee;if((v&8|0)==0|(f[N>>2]|0)==0&(f[N+4>>2]|0)==0){b=v;v=0;m=25606;N=77}else{b=v;v=2;m=25606+(p>>4)|0;N=77}}else{h=U;b=v;v=0;m=25606;N=77}}else if((N|0)==76){h=pl(h,b,U)|0;b=B;v=k;N=77}else if((N|0)==82){N=0;B=ll(h,0,_)|0;O=(B|0)==0;y=h;b=O?_:B-h|0;v=0;p=25606;h=O?h+_|0:B}else if((N|0)==86){N=0;b=0;h=0;m=f[ee>>2]|0;while(1){k=f[m>>2]|0;if(!k)break;h=Cs(fe,k)|0;if((h|0)<0|h>>>0>(_-b|0)>>>0)break;b=h+b|0;if(_>>>0>b>>>0)m=m+4|0;else break}if((h|0)<0){o=-1;break e}gl(e,32,D,b,B);if(!b){h=0;N=98}else{k=0;_=f[ee>>2]|0;while(1){h=f[_>>2]|0;if(!h){h=b;N=98;break i}h=Cs(fe,h)|0;k=h+k|0;if((k|0)>(b|0)){h=b;N=98;break i}if(!(f[e>>2]&32))el(fe,h,e)|0;if(k>>>0>=b>>>0){h=b;N=98;break}else _=_+4|0}}}}while(0);if((N|0)==98){N=0;gl(e,32,D,h,B^8192);y=I;h=(D|0)>(h|0)?D:h;continue}if((N|0)==77){N=0;k=(_|0)>-1?b&-65537:b;b=ee;b=(f[b>>2]|0)!=0|(f[b+4>>2]|0)!=0;if((_|0)!=0|b){b=(b&1^1)+(V-h)|0;y=h;b=(_|0)>(b|0)?_:b;p=m;h=U}else{y=U;b=0;p=m;h=U}}m=h-y|0;b=(b|0)<(m|0)?m:b;_=v+b|0;h=(D|0)<(_|0)?_:D;gl(e,32,h,_,k);if(!(f[e>>2]&32))el(p,v,e)|0;gl(e,48,h,_,k^65536);gl(e,48,b,m,0);if(!(f[e>>2]&32))el(y,m,e)|0;gl(e,32,h,_,k^8192);y=I}e:do{if((N|0)==245)if(!e)if(i){o=1;while(1){i=f[l+(o<<2)>>2]|0;if(!i)break;vl(s+(o<<3)|0,i,r);o=o+1|0;if((o|0)>=10){o=1;break e}}if((o|0)<10)while(1){if(f[l+(o<<2)>>2]|0){o=-1;break e}o=o+1|0;if((o|0)>=10){o=1;break}}else o=1}else o=0}while(0);c=se;return o|0}function ml(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=e+20|0;n=f[t>>2]|0;e=(f[e+16>>2]|0)-n|0;e=e>>>0>r>>>0?r:e;Nl(n|0,i|0,e|0)|0;f[t>>2]=(f[t>>2]|0)+e;return r|0}function vl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0.0;e:do{if(i>>>0<=20)do{switch(i|0){case 9:{t=(f[r>>2]|0)+(4-1)&~(4-1);i=f[t>>2]|0;f[r>>2]=t+4;f[e>>2]=i;break e}case 10:{t=(f[r>>2]|0)+(4-1)&~(4-1);i=f[t>>2]|0;f[r>>2]=t+4;t=e;f[t>>2]=i;f[t+4>>2]=((i|0)<0)<<31>>31;break e}case 11:{t=(f[r>>2]|0)+(4-1)&~(4-1);i=f[t>>2]|0;f[r>>2]=t+4;t=e;f[t>>2]=i;f[t+4>>2]=0;break e}case 12:{t=(f[r>>2]|0)+(8-1)&~(8-1);i=t;n=f[i>>2]|0;i=f[i+4>>2]|0;f[r>>2]=t+8;t=e;f[t>>2]=n;f[t+4>>2]=i;break e}case 13:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;t=(t&65535)<<16>>16;n=e;f[n>>2]=t;f[n+4>>2]=((t|0)<0)<<31>>31;break e}case 14:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;n=e;f[n>>2]=t&65535;f[n+4>>2]=0;break e}case 15:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;t=(t&255)<<24>>24;n=e;f[n>>2]=t;f[n+4>>2]=((t|0)<0)<<31>>31;break e}case 16:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;n=e;f[n>>2]=t&255;f[n+4>>2]=0;break e}case 17:{n=(f[r>>2]|0)+(8-1)&~(8-1);a=+u[n>>3];f[r>>2]=n+8;u[e>>3]=a;break e}case 18:{n=(f[r>>2]|0)+(8-1)&~(8-1);a=+u[n>>3];f[r>>2]=n+8;u[e>>3]=a;break e}default:break e}}while(0)}while(0);return}function pl(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;if(i>>>0>0|(i|0)==0&e>>>0>4294967295)while(1){n=ql(e|0,i|0,10,0)|0;r=r+-1|0;t[r>>0]=n|48;n=Yl(e|0,i|0,10,0)|0;if(i>>>0>9|(i|0)==9&e>>>0>4294967295){e=n;i=P}else{e=n;break}}if(e)while(1){r=r+-1|0;t[r>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return r|0}function gl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0;l=c;c=c+256|0;s=l;do{if((r|0)>(t|0)&(n&73728|0)==0){n=r-t|0;Ol(s|0,i|0,(n>>>0>256?256:n)|0)|0;i=f[e>>2]|0;a=(i&32|0)==0;if(n>>>0>255){t=r-t|0;do{if(a){el(s,256,e)|0;i=f[e>>2]|0}n=n+-256|0;a=(i&32|0)==0}while(n>>>0>255);if(a)n=t&255;else break}else if(!a)break;el(s,n,e)|0}}while(0);c=l;return}function yl(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0;do{if(e>>>0<245){b=e>>>0<11?16:e+11&-8;e=b>>>3;l=f[735]|0;r=l>>>e;if(r&3){e=(r&1^1)+e|0;t=e<<1;r=2980+(t<<2)|0;t=2980+(t+2<<2)|0;n=f[t>>2]|0;a=n+8|0;s=f[a>>2]|0;do{if((r|0)!=(s|0)){if(s>>>0<(f[739]|0)>>>0)ye();i=s+12|0;if((f[i>>2]|0)==(n|0)){f[i>>2]=r;f[t>>2]=s;break}else ye()}else f[735]=l&~(1<>2]=F|3;F=n+(F|4)|0;f[F>>2]=f[F>>2]|1;F=a;return F|0}s=f[737]|0;if(b>>>0>s>>>0){if(r){t=2<>>12&16;t=t>>>o;n=t>>>5&8;t=t>>>n;a=t>>>2&4;t=t>>>a;r=t>>>1&2;t=t>>>r;e=t>>>1&1;e=(n|o|a|r|e)+(t>>>e)|0;t=e<<1;r=2980+(t<<2)|0;t=2980+(t+2<<2)|0;a=f[t>>2]|0;o=a+8|0;n=f[o>>2]|0;do{if((r|0)!=(n|0)){if(n>>>0<(f[739]|0)>>>0)ye();i=n+12|0;if((f[i>>2]|0)==(a|0)){f[i>>2]=r;f[t>>2]=n;u=f[737]|0;break}else ye()}else{f[735]=l&~(1<>2]=b|3;l=a+b|0;f[a+(b|4)>>2]=s|1;f[a+F>>2]=s;if(u){n=f[740]|0;r=u>>>3;i=r<<1;t=2980+(i<<2)|0;e=f[735]|0;r=1<>2]|0;if(i>>>0<(f[739]|0)>>>0)ye();else{c=e;h=i}}else{f[735]=e|r;c=2980+(i+2<<2)|0;h=t}f[c>>2]=n;f[h+12>>2]=n;f[n+8>>2]=h;f[n+12>>2]=t}f[737]=s;f[740]=l;F=o;return F|0}e=f[736]|0;if(e){r=(e&0-e)+-1|0;N=r>>>12&16;r=r>>>N;D=r>>>5&8;r=r>>>D;F=r>>>2&4;r=r>>>F;e=r>>>1&2;r=r>>>e;t=r>>>1&1;t=f[3244+((D|N|F|e|t)+(r>>>t)<<2)>>2]|0;r=(f[t+4>>2]&-8)-b|0;e=t;while(1){i=f[e+16>>2]|0;if(!i){i=f[e+20>>2]|0;if(!i){o=r;break}}e=(f[i+4>>2]&-8)-b|0;F=e>>>0>>0;r=F?e:r;e=i;t=F?i:t}a=f[739]|0;if(t>>>0>>0)ye();l=t+b|0;if(t>>>0>=l>>>0)ye();s=f[t+24>>2]|0;r=f[t+12>>2]|0;do{if((r|0)==(t|0)){e=t+20|0;i=f[e>>2]|0;if(!i){e=t+16|0;i=f[e>>2]|0;if(!i){d=0;break}}while(1){r=i+20|0;n=f[r>>2]|0;if(n){i=n;e=r;continue}r=i+16|0;n=f[r>>2]|0;if(!n)break;else{i=n;e=r}}if(e>>>0>>0)ye();else{f[e>>2]=0;d=i;break}}else{n=f[t+8>>2]|0;if(n>>>0>>0)ye();i=n+12|0;if((f[i>>2]|0)!=(t|0))ye();e=r+8|0;if((f[e>>2]|0)==(t|0)){f[i>>2]=r;f[e>>2]=n;d=r;break}else ye()}}while(0);do{if(s){i=f[t+28>>2]|0;e=3244+(i<<2)|0;if((t|0)==(f[e>>2]|0)){f[e>>2]=d;if(!d){f[736]=f[736]&~(1<>>0<(f[739]|0)>>>0)ye();i=s+16|0;if((f[i>>2]|0)==(t|0))f[i>>2]=d;else f[s+20>>2]=d;if(!d)break}e=f[739]|0;if(d>>>0>>0)ye();f[d+24>>2]=s;i=f[t+16>>2]|0;do{if(i)if(i>>>0>>0)ye();else{f[d+16>>2]=i;f[i+24>>2]=d;break}}while(0);i=f[t+20>>2]|0;if(i)if(i>>>0<(f[739]|0)>>>0)ye();else{f[d+20>>2]=i;f[i+24>>2]=d;break}}}while(0);if(o>>>0<16){F=o+b|0;f[t+4>>2]=F|3;F=t+(F+4)|0;f[F>>2]=f[F>>2]|1}else{f[t+4>>2]=b|3;f[t+(b|4)>>2]=o|1;f[t+(o+b)>>2]=o;i=f[737]|0;if(i){a=f[740]|0;r=i>>>3;i=r<<1;n=2980+(i<<2)|0;e=f[735]|0;r=1<>2]|0;if(e>>>0<(f[739]|0)>>>0)ye();else{k=i;w=e}}else{f[735]=e|r;k=2980+(i+2<<2)|0;w=n}f[k>>2]=a;f[w+12>>2]=a;f[a+8>>2]=w;f[a+12>>2]=n}f[737]=o;f[740]=l}F=t+8|0;return F|0}else w=b}else w=b}else if(e>>>0<=4294967231){e=e+11|0;h=e&-8;c=f[736]|0;if(c){r=0-h|0;e=e>>>8;if(e)if(h>>>0>16777215)u=31;else{w=(e+1048320|0)>>>16&8;g=e<>>16&4;g=g<>>16&2;u=14-(k|w|u)+(g<>>15)|0;u=h>>>(u+7|0)&1|u<<1}else u=0;e=f[3244+(u<<2)>>2]|0;e:do{if(!e){n=0;e=0;g=86}else{s=r;n=0;l=h<<((u|0)==31?0:25-(u>>>1)|0);o=e;e=0;while(1){a=f[o+4>>2]&-8;r=a-h|0;if(r>>>0>>0)if((a|0)==(h|0)){a=o;e=o;g=90;break e}else e=o;else r=s;g=f[o+20>>2]|0;o=f[o+16+(l>>>31<<2)>>2]|0;n=(g|0)==0|(g|0)==(o|0)?n:g;if(!o){g=86;break}else{s=r;l=l<<1}}}}while(0);if((g|0)==86){if((n|0)==0&(e|0)==0){e=2<>>12&16;e=e>>>d;c=e>>>5&8;e=e>>>c;k=e>>>2&4;e=e>>>k;w=e>>>1&2;e=e>>>w;n=e>>>1&1;n=f[3244+((c|d|k|w|n)+(e>>>n)<<2)>>2]|0;e=0}if(!n){l=r;o=e}else{a=n;g=90}}if((g|0)==90)while(1){g=0;w=(f[a+4>>2]&-8)-h|0;n=w>>>0>>0;r=n?w:r;e=n?a:e;n=f[a+16>>2]|0;if(n){a=n;g=90;continue}a=f[a+20>>2]|0;if(!a){l=r;o=e;break}else g=90}if((o|0)!=0?l>>>0<((f[737]|0)-h|0)>>>0:0){n=f[739]|0;if(o>>>0>>0)ye();s=o+h|0;if(o>>>0>=s>>>0)ye();a=f[o+24>>2]|0;r=f[o+12>>2]|0;do{if((r|0)==(o|0)){e=o+20|0;i=f[e>>2]|0;if(!i){e=o+16|0;i=f[e>>2]|0;if(!i){b=0;break}}while(1){r=i+20|0;t=f[r>>2]|0;if(t){i=t;e=r;continue}r=i+16|0;t=f[r>>2]|0;if(!t)break;else{i=t;e=r}}if(e>>>0>>0)ye();else{f[e>>2]=0;b=i;break}}else{t=f[o+8>>2]|0;if(t>>>0>>0)ye();i=t+12|0;if((f[i>>2]|0)!=(o|0))ye();e=r+8|0;if((f[e>>2]|0)==(o|0)){f[i>>2]=r;f[e>>2]=t;b=r;break}else ye()}}while(0);do{if(a){i=f[o+28>>2]|0;e=3244+(i<<2)|0;if((o|0)==(f[e>>2]|0)){f[e>>2]=b;if(!b){f[736]=f[736]&~(1<>>0<(f[739]|0)>>>0)ye();i=a+16|0;if((f[i>>2]|0)==(o|0))f[i>>2]=b;else f[a+20>>2]=b;if(!b)break}e=f[739]|0;if(b>>>0>>0)ye();f[b+24>>2]=a;i=f[o+16>>2]|0;do{if(i)if(i>>>0>>0)ye();else{f[b+16>>2]=i;f[i+24>>2]=b;break}}while(0);i=f[o+20>>2]|0;if(i)if(i>>>0<(f[739]|0)>>>0)ye();else{f[b+20>>2]=i;f[i+24>>2]=b;break}}}while(0);e:do{if(l>>>0>=16){f[o+4>>2]=h|3;f[o+(h|4)>>2]=l|1;f[o+(l+h)>>2]=l;i=l>>>3;if(l>>>0<256){e=i<<1;t=2980+(e<<2)|0;r=f[735]|0;i=1<>2]|0;if(e>>>0<(f[739]|0)>>>0)ye();else{m=i;v=e}}else{f[735]=r|i;m=2980+(e+2<<2)|0;v=t}f[m>>2]=s;f[v+12>>2]=s;f[o+(h+8)>>2]=v;f[o+(h+12)>>2]=t;break}i=l>>>8;if(i)if(l>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<>>16&4;F=F<>>16&2;t=14-(D|N|t)+(F<>>15)|0;t=l>>>(t+7|0)&1|t<<1}else t=0;i=3244+(t<<2)|0;f[o+(h+28)>>2]=t;f[o+(h+20)>>2]=0;f[o+(h+16)>>2]=0;e=f[736]|0;r=1<>2]=s;f[o+(h+24)>>2]=i;f[o+(h+12)>>2]=s;f[o+(h+8)>>2]=s;break}i=f[i>>2]|0;i:do{if((f[i+4>>2]&-8|0)!=(l|0)){t=l<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=f[e>>2]|0;if(!r)break;if((f[r+4>>2]&-8|0)==(l|0)){E=r;break i}else{t=t<<1;i=r}}if(e>>>0<(f[739]|0)>>>0)ye();else{f[e>>2]=s;f[o+(h+24)>>2]=i;f[o+(h+12)>>2]=s;f[o+(h+8)>>2]=s;break e}}else E=i}while(0);i=E+8|0;e=f[i>>2]|0;F=f[739]|0;if(e>>>0>=F>>>0&E>>>0>=F>>>0){f[e+12>>2]=s;f[i>>2]=s;f[o+(h+8)>>2]=e;f[o+(h+12)>>2]=E;f[o+(h+24)>>2]=0;break}else ye()}else{F=l+h|0;f[o+4>>2]=F|3;F=o+(F+4)|0;f[F>>2]=f[F>>2]|1}}while(0);F=o+8|0;return F|0}else w=h}else w=h}else w=-1}while(0);r=f[737]|0;if(r>>>0>=w>>>0){i=r-w|0;e=f[740]|0;if(i>>>0>15){f[740]=e+w;f[737]=i;f[e+(w+4)>>2]=i|1;f[e+r>>2]=i;f[e+4>>2]=w|3}else{f[737]=0;f[740]=0;f[e+4>>2]=r|3;F=e+(r+4)|0;f[F>>2]=f[F>>2]|1}F=e+8|0;return F|0}e=f[738]|0;if(e>>>0>w>>>0){N=e-w|0;f[738]=N;F=f[741]|0;f[741]=F+w;f[F+(w+4)>>2]=N|1;f[F+4>>2]=w|3;F=F+8|0;return F|0}do{if(!(f[853]|0)){e=Ce(30)|0;if(!(e+-1&e)){f[855]=e;f[854]=e;f[856]=-1;f[857]=-1;f[858]=0;f[846]=0;f[853]=(je(0)|0)&-16^1431655768;break}else ye()}}while(0);o=w+48|0;l=f[855]|0;u=w+47|0;s=l+u|0;l=0-l|0;c=s&l;if(c>>>0<=w>>>0){F=0;return F|0}e=f[845]|0;if((e|0)!=0?(v=f[843]|0,E=v+c|0,E>>>0<=v>>>0|E>>>0>e>>>0):0){F=0;return F|0}e:do{if(!(f[846]&4)){e=f[741]|0;i:do{if(e){n=3388;while(1){r=f[n>>2]|0;if(r>>>0<=e>>>0?(_=n+4|0,(r+(f[_>>2]|0)|0)>>>0>e>>>0):0){a=n;e=_;break}n=f[n+8>>2]|0;if(!n){g=174;break i}}r=s-(f[738]|0)&l;if(r>>>0<2147483647){n=Se(r|0)|0;E=(n|0)==((f[a>>2]|0)+(f[e>>2]|0)|0);e=E?r:0;if(E){if((n|0)!=(-1|0)){y=n;k=e;g=194;break e}}else g=184}else e=0}else g=174}while(0);do{if((g|0)==174){a=Se(0)|0;if((a|0)!=(-1|0)){e=a;r=f[854]|0;n=r+-1|0;if(!(n&e))r=c;else r=c-e+(n+e&0-r)|0;e=f[843]|0;n=e+r|0;if(r>>>0>w>>>0&r>>>0<2147483647){E=f[845]|0;if((E|0)!=0?n>>>0<=e>>>0|n>>>0>E>>>0:0){e=0;break}n=Se(r|0)|0;E=(n|0)==(a|0);e=E?r:0;if(E){y=a;k=e;g=194;break e}else g=184}else e=0}else e=0}}while(0);i:do{if((g|0)==184){a=0-r|0;do{if(o>>>0>r>>>0&(r>>>0<2147483647&(n|0)!=(-1|0))?(p=f[855]|0,p=u-r+p&0-p,p>>>0<2147483647):0)if((Se(p|0)|0)==(-1|0)){Se(a|0)|0;break i}else{r=p+r|0;break}}while(0);if((n|0)!=(-1|0)){y=n;k=r;g=194;break e}}}while(0);f[846]=f[846]|4;g=191}else{e=0;g=191}}while(0);if((((g|0)==191?c>>>0<2147483647:0)?(y=Se(c|0)|0,M=Se(0)|0,y>>>0>>0&((y|0)!=(-1|0)&(M|0)!=(-1|0))):0)?(A=M-y|0,S=A>>>0>(w+40|0)>>>0,S):0){k=S?A:e;g=194}if((g|0)==194){e=(f[843]|0)+k|0;f[843]=e;if(e>>>0>(f[844]|0)>>>0)f[844]=e;s=f[741]|0;e:do{if(s){a=3388;do{e=f[a>>2]|0;r=a+4|0;n=f[r>>2]|0;if((y|0)==(e+n|0)){T=e;C=r;R=n;L=a;g=204;break}a=f[a+8>>2]|0}while((a|0)!=0);if(((g|0)==204?(f[L+12>>2]&8|0)==0:0)?s>>>0>>0&s>>>0>=T>>>0:0){f[C>>2]=R+k;F=(f[738]|0)+k|0;N=s+8|0;N=(N&7|0)==0?0:0-N&7;D=F-N|0;f[741]=s+N;f[738]=D;f[s+(N+4)>>2]=D|1;f[s+(F+4)>>2]=40;f[742]=f[857];break}e=f[739]|0;if(y>>>0>>0){f[739]=y;e=y}r=y+k|0;a=3388;while(1){if((f[a>>2]|0)==(r|0)){n=a;r=a;g=212;break}a=f[a+8>>2]|0;if(!a){r=3388;break}}if((g|0)==212)if(!(f[r+12>>2]&8)){f[n>>2]=y;d=r+4|0;f[d>>2]=(f[d>>2]|0)+k;d=y+8|0;d=(d&7|0)==0?0:0-d&7;u=y+(k+8)|0;u=(u&7|0)==0?0:0-u&7;i=y+(u+k)|0;h=d+w|0;b=y+h|0;c=i-(y+d)-w|0;f[y+(d+4)>>2]=w|3;i:do{if((i|0)!=(s|0)){if((i|0)==(f[740]|0)){F=(f[737]|0)+c|0;f[737]=F;f[740]=b;f[y+(h+4)>>2]=F|1;f[y+(F+h)>>2]=F;break}l=k+4|0;r=f[y+(l+u)>>2]|0;if((r&3|0)==1){o=r&-8;a=r>>>3;r:do{if(r>>>0>=256){s=f[y+((u|24)+k)>>2]|0;t=f[y+(k+12+u)>>2]|0;do{if((t|0)==(i|0)){n=u|16;t=y+(l+n)|0;r=f[t>>2]|0;if(!r){t=y+(n+k)|0;r=f[t>>2]|0;if(!r){I=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0>>0)ye();else{f[t>>2]=0;I=r;break}}else{n=f[y+((u|8)+k)>>2]|0;if(n>>>0>>0)ye();e=n+12|0;if((f[e>>2]|0)!=(i|0))ye();r=t+8|0;if((f[r>>2]|0)==(i|0)){f[e>>2]=t;f[r>>2]=n;I=t;break}else ye()}}while(0);if(!s)break;e=f[y+(k+28+u)>>2]|0;r=3244+(e<<2)|0;do{if((i|0)!=(f[r>>2]|0)){if(s>>>0<(f[739]|0)>>>0)ye();e=s+16|0;if((f[e>>2]|0)==(i|0))f[e>>2]=I;else f[s+20>>2]=I;if(!I)break r}else{f[r>>2]=I;if(I)break;f[736]=f[736]&~(1<>>0>>0)ye();f[I+24>>2]=s;i=u|16;e=f[y+(i+k)>>2]|0;do{if(e)if(e>>>0>>0)ye();else{f[I+16>>2]=e;f[e+24>>2]=I;break}}while(0);i=f[y+(l+i)>>2]|0;if(!i)break;if(i>>>0<(f[739]|0)>>>0)ye();else{f[I+20>>2]=i;f[i+24>>2]=I;break}}else{t=f[y+((u|8)+k)>>2]|0;n=f[y+(k+12+u)>>2]|0;r=2980+(a<<1<<2)|0;do{if((t|0)!=(r|0)){if(t>>>0>>0)ye();if((f[t+12>>2]|0)==(i|0))break;ye()}}while(0);if((n|0)==(t|0)){f[735]=f[735]&~(1<>>0>>0)ye();e=n+8|0;if((f[e>>2]|0)==(i|0)){P=e;break}ye()}}while(0);f[t+12>>2]=n;f[P>>2]=t}}while(0);i=y+((o|u)+k)|0;n=o+c|0}else n=c;i=i+4|0;f[i>>2]=f[i>>2]&-2;f[y+(h+4)>>2]=n|1;f[y+(n+h)>>2]=n;i=n>>>3;if(n>>>0<256){e=i<<1;t=2980+(e<<2)|0;r=f[735]|0;i=1<>2]|0;if(e>>>0>=(f[739]|0)>>>0){D=i;N=e;break}ye()}}while(0);f[D>>2]=b;f[N+12>>2]=b;f[y+(h+8)>>2]=N;f[y+(h+12)>>2]=t;break}i=n>>>8;do{if(!i)t=0;else{if(n>>>0>16777215){t=31;break}D=(i+1048320|0)>>>16&8;N=i<>>16&4;N=N<>>16&2;t=14-(I|D|t)+(N<>>15)|0;t=n>>>(t+7|0)&1|t<<1}}while(0);i=3244+(t<<2)|0;f[y+(h+28)>>2]=t;f[y+(h+20)>>2]=0;f[y+(h+16)>>2]=0;e=f[736]|0;r=1<>2]=b;f[y+(h+24)>>2]=i;f[y+(h+12)>>2]=b;f[y+(h+8)>>2]=b;break}i=f[i>>2]|0;r:do{if((f[i+4>>2]&-8|0)!=(n|0)){t=n<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=f[e>>2]|0;if(!r)break;if((f[r+4>>2]&-8|0)==(n|0)){F=r;break r}else{t=t<<1;i=r}}if(e>>>0<(f[739]|0)>>>0)ye();else{f[e>>2]=b;f[y+(h+24)>>2]=i;f[y+(h+12)>>2]=b;f[y+(h+8)>>2]=b;break i}}else F=i}while(0);i=F+8|0;e=f[i>>2]|0;N=f[739]|0;if(e>>>0>=N>>>0&F>>>0>=N>>>0){f[e+12>>2]=b;f[i>>2]=b;f[y+(h+8)>>2]=e;f[y+(h+12)>>2]=F;f[y+(h+24)>>2]=0;break}else ye()}else{F=(f[738]|0)+c|0;f[738]=F;f[741]=b;f[y+(h+4)>>2]=F|1}}while(0);F=y+(d|8)|0;return F|0}else r=3388;while(1){e=f[r>>2]|0;if(e>>>0<=s>>>0?(i=f[r+4>>2]|0,t=e+i|0,t>>>0>s>>>0):0)break;r=f[r+8>>2]|0}n=e+(i+-39)|0;e=e+(i+-47+((n&7|0)==0?0:0-n&7))|0;n=s+16|0;e=e>>>0>>0?s:e;i=e+8|0;r=y+8|0;r=(r&7|0)==0?0:0-r&7;F=k+-40-r|0;f[741]=y+r;f[738]=F;f[y+(r+4)>>2]=F|1;f[y+(k+-36)>>2]=40;f[742]=f[857];r=e+4|0;f[r>>2]=27;f[i>>2]=f[847];f[i+4>>2]=f[848];f[i+8>>2]=f[849];f[i+12>>2]=f[850];f[847]=y;f[848]=k;f[850]=0;f[849]=i;i=e+28|0;f[i>>2]=7;if((e+32|0)>>>0>>0)do{F=i;i=i+4|0;f[i>>2]=7}while((F+8|0)>>>0>>0);if((e|0)!=(s|0)){a=e-s|0;f[r>>2]=f[r>>2]&-2;f[s+4>>2]=a|1;f[e>>2]=a;i=a>>>3;if(a>>>0<256){e=i<<1;t=2980+(e<<2)|0;r=f[735]|0;i=1<>2]|0;if(e>>>0<(f[739]|0)>>>0)ye();else{x=i;O=e}}else{f[735]=r|i;x=2980+(e+2<<2)|0;O=t}f[x>>2]=s;f[O+12>>2]=s;f[s+8>>2]=O;f[s+12>>2]=t;break}i=a>>>8;if(i)if(a>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<>>16&4;F=F<>>16&2;t=14-(D|N|t)+(F<>>15)|0;t=a>>>(t+7|0)&1|t<<1}else t=0;r=3244+(t<<2)|0;f[s+28>>2]=t;f[s+20>>2]=0;f[n>>2]=0;i=f[736]|0;e=1<>2]=s;f[s+24>>2]=r;f[s+12>>2]=s;f[s+8>>2]=s;break}i=f[r>>2]|0;i:do{if((f[i+4>>2]&-8|0)!=(a|0)){t=a<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=f[e>>2]|0;if(!r)break;if((f[r+4>>2]&-8|0)==(a|0)){B=r;break i}else{t=t<<1;i=r}}if(e>>>0<(f[739]|0)>>>0)ye();else{f[e>>2]=s;f[s+24>>2]=i;f[s+12>>2]=s;f[s+8>>2]=s;break e}}else B=i}while(0);i=B+8|0;e=f[i>>2]|0;F=f[739]|0;if(e>>>0>=F>>>0&B>>>0>=F>>>0){f[e+12>>2]=s;f[i>>2]=s;f[s+8>>2]=e;f[s+12>>2]=B;f[s+24>>2]=0;break}else ye()}}else{F=f[739]|0;if((F|0)==0|y>>>0>>0)f[739]=y;f[847]=y;f[848]=k;f[850]=0;f[744]=f[853];f[743]=-1;i=0;do{F=i<<1;N=2980+(F<<2)|0;f[2980+(F+3<<2)>>2]=N;f[2980+(F+2<<2)>>2]=N;i=i+1|0}while((i|0)!=32);F=y+8|0;F=(F&7|0)==0?0:0-F&7;N=k+-40-F|0;f[741]=y+F;f[738]=N;f[y+(F+4)>>2]=N|1;f[y+(k+-36)>>2]=40;f[742]=f[857]}}while(0);i=f[738]|0;if(i>>>0>w>>>0){N=i-w|0;f[738]=N;F=f[741]|0;f[741]=F+w;f[F+(w+4)>>2]=N|1;f[F+4>>2]=w|3;F=F+8|0;return F|0}}f[(ms()|0)>>2]=12;F=0;return F|0}function Ml(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0;if(!e)return;i=e+-8|0;l=f[739]|0;if(i>>>0>>0)ye();r=f[e+-4>>2]|0;t=r&3;if((t|0)==1)ye();b=r&-8;w=e+(b+-8)|0;do{if(!(r&1)){i=f[i>>2]|0;if(!t)return;o=-8-i|0;c=e+o|0;h=i+b|0;if(c>>>0>>0)ye();if((c|0)==(f[740]|0)){i=e+(b+-4)|0;r=f[i>>2]|0;if((r&3|0)!=3){p=c;a=h;break}f[737]=h;f[i>>2]=r&-2;f[e+(o+4)>>2]=h|1;f[w>>2]=h;return}n=i>>>3;if(i>>>0<256){t=f[e+(o+8)>>2]|0;r=f[e+(o+12)>>2]|0;i=2980+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0>>0)ye();if((f[t+12>>2]|0)!=(c|0))ye()}if((r|0)==(t|0)){f[735]=f[735]&~(1<>>0>>0)ye();i=r+8|0;if((f[i>>2]|0)==(c|0))s=i;else ye()}else s=r+8|0;f[t+12>>2]=r;f[s>>2]=t;p=c;a=h;break}s=f[e+(o+24)>>2]|0;t=f[e+(o+12)>>2]|0;do{if((t|0)==(c|0)){r=e+(o+20)|0;i=f[r>>2]|0;if(!i){r=e+(o+16)|0;i=f[r>>2]|0;if(!i){u=0;break}}while(1){t=i+20|0;n=f[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=f[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0>>0)ye();else{f[r>>2]=0;u=i;break}}else{n=f[e+(o+8)>>2]|0;if(n>>>0>>0)ye();i=n+12|0;if((f[i>>2]|0)!=(c|0))ye();r=t+8|0;if((f[r>>2]|0)==(c|0)){f[i>>2]=t;f[r>>2]=n;u=t;break}else ye()}}while(0);if(s){i=f[e+(o+28)>>2]|0;r=3244+(i<<2)|0;if((c|0)==(f[r>>2]|0)){f[r>>2]=u;if(!u){f[736]=f[736]&~(1<>>0<(f[739]|0)>>>0)ye();i=s+16|0;if((f[i>>2]|0)==(c|0))f[i>>2]=u;else f[s+20>>2]=u;if(!u){p=c;a=h;break}}r=f[739]|0;if(u>>>0>>0)ye();f[u+24>>2]=s;i=f[e+(o+16)>>2]|0;do{if(i)if(i>>>0>>0)ye();else{f[u+16>>2]=i;f[i+24>>2]=u;break}}while(0);i=f[e+(o+20)>>2]|0;if(i)if(i>>>0<(f[739]|0)>>>0)ye();else{f[u+20>>2]=i;f[i+24>>2]=u;p=c;a=h;break}else{p=c;a=h}}else{p=c;a=h}}else{p=i;a=b}}while(0);if(p>>>0>=w>>>0)ye();i=e+(b+-4)|0;r=f[i>>2]|0;if(!(r&1))ye();if(!(r&2)){if((w|0)==(f[741]|0)){v=(f[738]|0)+a|0;f[738]=v;f[741]=p;f[p+4>>2]=v|1;if((p|0)!=(f[740]|0))return;f[740]=0;f[737]=0;return}if((w|0)==(f[740]|0)){v=(f[737]|0)+a|0;f[737]=v;f[740]=p;f[p+4>>2]=v|1;f[p+v>>2]=v;return}a=(r&-8)+a|0;n=r>>>3;do{if(r>>>0>=256){s=f[e+(b+16)>>2]|0;i=f[e+(b|4)>>2]|0;do{if((i|0)==(w|0)){r=e+(b+12)|0;i=f[r>>2]|0;if(!i){r=e+(b+8)|0;i=f[r>>2]|0;if(!i){k=0;break}}while(1){t=i+20|0;n=f[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=f[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0<(f[739]|0)>>>0)ye();else{f[r>>2]=0;k=i;break}}else{r=f[e+b>>2]|0;if(r>>>0<(f[739]|0)>>>0)ye();t=r+12|0;if((f[t>>2]|0)!=(w|0))ye();n=i+8|0;if((f[n>>2]|0)==(w|0)){f[t>>2]=i;f[n>>2]=r;k=i;break}else ye()}}while(0);if(s){i=f[e+(b+20)>>2]|0;r=3244+(i<<2)|0;if((w|0)==(f[r>>2]|0)){f[r>>2]=k;if(!k){f[736]=f[736]&~(1<>>0<(f[739]|0)>>>0)ye();i=s+16|0;if((f[i>>2]|0)==(w|0))f[i>>2]=k;else f[s+20>>2]=k;if(!k)break}r=f[739]|0;if(k>>>0>>0)ye();f[k+24>>2]=s;i=f[e+(b+8)>>2]|0;do{if(i)if(i>>>0>>0)ye();else{f[k+16>>2]=i;f[i+24>>2]=k;break}}while(0);i=f[e+(b+12)>>2]|0;if(i)if(i>>>0<(f[739]|0)>>>0)ye();else{f[k+20>>2]=i;f[i+24>>2]=k;break}}}else{t=f[e+b>>2]|0;r=f[e+(b|4)>>2]|0;i=2980+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0<(f[739]|0)>>>0)ye();if((f[t+12>>2]|0)!=(w|0))ye()}if((r|0)==(t|0)){f[735]=f[735]&~(1<>>0<(f[739]|0)>>>0)ye();i=r+8|0;if((f[i>>2]|0)==(w|0))d=i;else ye()}else d=r+8|0;f[t+12>>2]=r;f[d>>2]=t}}while(0);f[p+4>>2]=a|1;f[p+a>>2]=a;if((p|0)==(f[740]|0)){f[737]=a;return}}else{f[i>>2]=r&-2;f[p+4>>2]=a|1;f[p+a>>2]=a}i=a>>>3;if(a>>>0<256){r=i<<1;n=2980+(r<<2)|0;t=f[735]|0;i=1<>2]|0;if(r>>>0<(f[739]|0)>>>0)ye();else{_=i;m=r}}else{f[735]=t|i;_=2980+(r+2<<2)|0;m=n}f[_>>2]=p;f[m+12>>2]=p;f[p+8>>2]=m;f[p+12>>2]=n;return}i=a>>>8;if(i)if(a>>>0>16777215)n=31;else{_=(i+1048320|0)>>>16&8;m=i<<_;w=(m+520192|0)>>>16&4;m=m<>>16&2;n=14-(w|_|n)+(m<>>15)|0;n=a>>>(n+7|0)&1|n<<1}else n=0;i=3244+(n<<2)|0;f[p+28>>2]=n;f[p+20>>2]=0;f[p+16>>2]=0;r=f[736]|0;t=1<>2]|0;i:do{if((f[i+4>>2]&-8|0)!=(a|0)){n=a<<((n|0)==31?0:25-(n>>>1)|0);while(1){r=i+16+(n>>>31<<2)|0;t=f[r>>2]|0;if(!t)break;if((f[t+4>>2]&-8|0)==(a|0)){v=t;break i}else{n=n<<1;i=t}}if(r>>>0<(f[739]|0)>>>0)ye();else{f[r>>2]=p;f[p+24>>2]=i;f[p+12>>2]=p;f[p+8>>2]=p;break e}}else v=i}while(0);i=v+8|0;r=f[i>>2]|0;m=f[739]|0;if(r>>>0>=m>>>0&v>>>0>=m>>>0){f[r+12>>2]=p;f[i>>2]=p;f[p+8>>2]=r;f[p+12>>2]=v;f[p+24>>2]=0;break}else ye()}else{f[736]=r|t;f[i>>2]=p;f[p+24>>2]=i;f[p+12>>2]=p;f[p+8>>2]=p}}while(0);p=(f[743]|0)+-1|0;f[743]=p;if(!p)i=3396;else return;while(1){i=f[i>>2]|0;if(!i)break;else i=i+8|0}f[743]=-1;return}function El(e,i){e=e|0;i=i|0;var r=0;if(e){r=ie(i,e)|0;if((i|e)>>>0>65535)r=((r>>>0)/(e>>>0)|0|0)==(i|0)?r:-1}else r=0;i=yl(r)|0;if(!i)return i|0;if(!(f[i+-4>>2]&3))return i|0;Ol(i|0,0,r|0)|0;return i|0}function Al(e,i){e=e|0;i=i|0;var r=0,t=0;if(!e){e=yl(i)|0;return e|0}if(i>>>0>4294967231){f[(ms()|0)>>2]=12;e=0;return e|0}r=Tl(e+-8|0,i>>>0<11?16:i+11&-8)|0;if(r){e=r+8|0;return e|0}r=yl(i)|0;if(!r){e=0;return e|0}t=f[e+-4>>2]|0;t=(t&-8)-((t&3|0)==0?8:4)|0;Nl(r|0,e|0,(t>>>0>>0?t:i)|0)|0;Ml(e);e=r;return e|0}function Sl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;do{if((i|0)!=8){t=i>>>2;if((i&3|0)!=0|(t|0)==0){e=22;return e|0}if(t+1073741823&t){e=22;return e|0}if((-64-i|0)>>>0>>0){e=12;return e|0}else{t=Cl(i>>>0<16?16:i,r)|0;break}}else t=yl(r)|0}while(0);if(!t){e=12;return e|0}f[e>>2]=t;e=0;return e|0}function Tl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0;b=e+4|0;k=f[b>>2]|0;o=k&-8;c=e+o|0;l=f[739]|0;r=k&3;if(!((r|0)!=1&e>>>0>=l>>>0&e>>>0>>0))ye();t=e+(o|4)|0;n=f[t>>2]|0;if(!(n&1))ye();if(!r){if(i>>>0<256){e=0;return e|0}if(o>>>0>=(i+4|0)>>>0?(o-i|0)>>>0<=f[855]<<1>>>0:0)return e|0;e=0;return e|0}if(o>>>0>=i>>>0){r=o-i|0;if(r>>>0<=15)return e|0;f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=r|3;f[t>>2]=f[t>>2]|1;Rl(e+i|0,r);return e|0}if((c|0)==(f[741]|0)){r=(f[738]|0)+o|0;if(r>>>0<=i>>>0){e=0;return e|0}d=r-i|0;f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=d|1;f[741]=e+i;f[738]=d;return e|0}if((c|0)==(f[740]|0)){t=(f[737]|0)+o|0;if(t>>>0>>0){e=0;return e|0}r=t-i|0;if(r>>>0>15){f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=r|1;f[e+t>>2]=r;t=e+(t+4)|0;f[t>>2]=f[t>>2]&-2;t=e+i|0}else{f[b>>2]=k&1|t|2;t=e+(t+4)|0;f[t>>2]=f[t>>2]|1;t=0;r=0}f[737]=r;f[740]=t;return e|0}if(n&2){e=0;return e|0}h=(n&-8)+o|0;if(h>>>0>>0){e=0;return e|0}d=h-i|0;a=n>>>3;do{if(n>>>0>=256){s=f[e+(o+24)>>2]|0;a=f[e+(o+12)>>2]|0;do{if((a|0)==(c|0)){t=e+(o+20)|0;r=f[t>>2]|0;if(!r){t=e+(o+16)|0;r=f[t>>2]|0;if(!r){u=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0>>0)ye();else{f[t>>2]=0;u=r;break}}else{n=f[e+(o+8)>>2]|0;if(n>>>0>>0)ye();r=n+12|0;if((f[r>>2]|0)!=(c|0))ye();t=a+8|0;if((f[t>>2]|0)==(c|0)){f[r>>2]=a;f[t>>2]=n;u=a;break}else ye()}}while(0);if(s){r=f[e+(o+28)>>2]|0;t=3244+(r<<2)|0;if((c|0)==(f[t>>2]|0)){f[t>>2]=u;if(!u){f[736]=f[736]&~(1<>>0<(f[739]|0)>>>0)ye();r=s+16|0;if((f[r>>2]|0)==(c|0))f[r>>2]=u;else f[s+20>>2]=u;if(!u)break}t=f[739]|0;if(u>>>0>>0)ye();f[u+24>>2]=s;r=f[e+(o+16)>>2]|0;do{if(r)if(r>>>0>>0)ye();else{f[u+16>>2]=r;f[r+24>>2]=u;break}}while(0);r=f[e+(o+20)>>2]|0;if(r)if(r>>>0<(f[739]|0)>>>0)ye();else{f[u+20>>2]=r;f[r+24>>2]=u;break}}}else{n=f[e+(o+8)>>2]|0;t=f[e+(o+12)>>2]|0;r=2980+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)ye();if((f[n+12>>2]|0)!=(c|0))ye()}if((t|0)==(n|0)){f[735]=f[735]&~(1<>>0>>0)ye();r=t+8|0;if((f[r>>2]|0)==(c|0))s=r;else ye()}else s=t+8|0;f[n+12>>2]=t;f[s>>2]=n}}while(0);if(d>>>0<16){f[b>>2]=h|k&1|2;i=e+(h|4)|0;f[i>>2]=f[i>>2]|1;return e|0}else{f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=d|3;k=e+(h|4)|0;f[k>>2]=f[k>>2]|1;Rl(e+i|0,d);return e|0}return 0}function Cl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0;e=e>>>0<16?16:e;if(e+-1&e){r=16;while(1)if(r>>>0>>0)r=r<<1;else{e=r;break}}if((-64-e|0)>>>0<=i>>>0){f[(ms()|0)>>2]=12;l=0;return l|0}s=i>>>0<11?16:i+11&-8;t=yl(s+12+e|0)|0;if(!t){l=0;return l|0}i=t+-8|0;r=e+-1|0;do{if(t&r){n=t+r&0-e;r=n+-8|0;a=i;n=(r-a|0)>>>0>15?r:n+(e+-8)|0;a=n-a|0;e=t+-4|0;t=f[e>>2]|0;r=(t&-8)-a|0;if(!(t&3)){f[n>>2]=(f[i>>2]|0)+a;f[n+4>>2]=r;i=n;break}else{t=n+4|0;f[t>>2]=r|f[t>>2]&1|2;r=n+(r+4)|0;f[r>>2]=f[r>>2]|1;f[e>>2]=a|f[e>>2]&1|2;f[t>>2]=f[t>>2]|1;Rl(i,a);i=n;break}}}while(0);e=i+4|0;r=f[e>>2]|0;if((r&3|0)!=0?(l=r&-8,l>>>0>(s+16|0)>>>0):0){a=l-s|0;f[e>>2]=s|r&1|2;f[i+(s|4)>>2]=a|3;l=i+(l|4)|0;f[l>>2]=f[l>>2]|1;Rl(i+s|0,a)}l=i+8|0;return l|0}function Rl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0;w=e+i|0;r=f[e+4>>2]|0;do{if(!(r&1)){u=f[e>>2]|0;if(!(r&3))return;d=e+(0-u)|0;h=u+i|0;o=f[739]|0;if(d>>>0>>0)ye();if((d|0)==(f[740]|0)){t=e+(i+4)|0;r=f[t>>2]|0;if((r&3|0)!=3){v=d;s=h;break}f[737]=h;f[t>>2]=r&-2;f[e+(4-u)>>2]=h|1;f[w>>2]=h;return}a=u>>>3;if(u>>>0<256){n=f[e+(8-u)>>2]|0;t=f[e+(12-u)>>2]|0;r=2980+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)ye();if((f[n+12>>2]|0)!=(d|0))ye()}if((t|0)==(n|0)){f[735]=f[735]&~(1<>>0>>0)ye();r=t+8|0;if((f[r>>2]|0)==(d|0))l=r;else ye()}else l=t+8|0;f[n+12>>2]=t;f[l>>2]=n;v=d;s=h;break}l=f[e+(24-u)>>2]|0;n=f[e+(12-u)>>2]|0;do{if((n|0)==(d|0)){n=16-u|0;t=e+(n+4)|0;r=f[t>>2]|0;if(!r){t=e+n|0;r=f[t>>2]|0;if(!r){c=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0>>0)ye();else{f[t>>2]=0;c=r;break}}else{a=f[e+(8-u)>>2]|0;if(a>>>0>>0)ye();r=a+12|0;if((f[r>>2]|0)!=(d|0))ye();t=n+8|0;if((f[t>>2]|0)==(d|0)){f[r>>2]=n;f[t>>2]=a;c=n;break}else ye()}}while(0);if(l){r=f[e+(28-u)>>2]|0;t=3244+(r<<2)|0;if((d|0)==(f[t>>2]|0)){f[t>>2]=c;if(!c){f[736]=f[736]&~(1<>>0<(f[739]|0)>>>0)ye();r=l+16|0;if((f[r>>2]|0)==(d|0))f[r>>2]=c;else f[l+20>>2]=c;if(!c){v=d;s=h;break}}n=f[739]|0;if(c>>>0>>0)ye();f[c+24>>2]=l;r=16-u|0;t=f[e+r>>2]|0;do{if(t)if(t>>>0>>0)ye();else{f[c+16>>2]=t;f[t+24>>2]=c;break}}while(0);r=f[e+(r+4)>>2]|0;if(r)if(r>>>0<(f[739]|0)>>>0)ye();else{f[c+20>>2]=r;f[r+24>>2]=c;v=d;s=h;break}else{v=d;s=h}}else{v=d;s=h}}else{v=e;s=i}}while(0);o=f[739]|0;if(w>>>0>>0)ye();r=e+(i+4)|0;t=f[r>>2]|0;if(!(t&2)){if((w|0)==(f[741]|0)){m=(f[738]|0)+s|0;f[738]=m;f[741]=v;f[v+4>>2]=m|1;if((v|0)!=(f[740]|0))return;f[740]=0;f[737]=0;return}if((w|0)==(f[740]|0)){m=(f[737]|0)+s|0;f[737]=m;f[740]=v;f[v+4>>2]=m|1;f[v+m>>2]=m;return}s=(t&-8)+s|0;a=t>>>3;do{if(t>>>0>=256){l=f[e+(i+24)>>2]|0;n=f[e+(i+12)>>2]|0;do{if((n|0)==(w|0)){t=e+(i+20)|0;r=f[t>>2]|0;if(!r){t=e+(i+16)|0;r=f[t>>2]|0;if(!r){k=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0>>0)ye();else{f[t>>2]=0;k=r;break}}else{a=f[e+(i+8)>>2]|0;if(a>>>0>>0)ye();r=a+12|0;if((f[r>>2]|0)!=(w|0))ye();t=n+8|0;if((f[t>>2]|0)==(w|0)){f[r>>2]=n;f[t>>2]=a;k=n;break}else ye()}}while(0);if(l){r=f[e+(i+28)>>2]|0;t=3244+(r<<2)|0;if((w|0)==(f[t>>2]|0)){f[t>>2]=k;if(!k){f[736]=f[736]&~(1<>>0<(f[739]|0)>>>0)ye();r=l+16|0;if((f[r>>2]|0)==(w|0))f[r>>2]=k;else f[l+20>>2]=k;if(!k)break}t=f[739]|0;if(k>>>0>>0)ye();f[k+24>>2]=l;r=f[e+(i+16)>>2]|0;do{if(r)if(r>>>0>>0)ye();else{f[k+16>>2]=r;f[r+24>>2]=k;break}}while(0);r=f[e+(i+20)>>2]|0;if(r)if(r>>>0<(f[739]|0)>>>0)ye();else{f[k+20>>2]=r;f[r+24>>2]=k;break}}}else{n=f[e+(i+8)>>2]|0;t=f[e+(i+12)>>2]|0;r=2980+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)ye();if((f[n+12>>2]|0)!=(w|0))ye()}if((t|0)==(n|0)){f[735]=f[735]&~(1<>>0>>0)ye();r=t+8|0;if((f[r>>2]|0)==(w|0))b=r;else ye()}else b=t+8|0;f[n+12>>2]=t;f[b>>2]=n}}while(0);f[v+4>>2]=s|1;f[v+s>>2]=s;if((v|0)==(f[740]|0)){f[737]=s;return}}else{f[r>>2]=t&-2;f[v+4>>2]=s|1;f[v+s>>2]=s}r=s>>>3;if(s>>>0<256){t=r<<1;a=2980+(t<<2)|0;n=f[735]|0;r=1<>2]|0;if(t>>>0<(f[739]|0)>>>0)ye();else{_=r;m=t}}else{f[735]=n|r;_=2980+(t+2<<2)|0;m=a}f[_>>2]=v;f[m+12>>2]=v;f[v+8>>2]=m;f[v+12>>2]=a;return}r=s>>>8;if(r)if(s>>>0>16777215)a=31;else{_=(r+1048320|0)>>>16&8;m=r<<_;w=(m+520192|0)>>>16&4;m=m<>>16&2;a=14-(w|_|a)+(m<>>15)|0;a=s>>>(a+7|0)&1|a<<1}else a=0;r=3244+(a<<2)|0;f[v+28>>2]=a;f[v+20>>2]=0;f[v+16>>2]=0;t=f[736]|0;n=1<>2]=v;f[v+24>>2]=r;f[v+12>>2]=v;f[v+8>>2]=v;return}r=f[r>>2]|0;e:do{if((f[r+4>>2]&-8|0)!=(s|0)){a=s<<((a|0)==31?0:25-(a>>>1)|0);while(1){t=r+16+(a>>>31<<2)|0;n=f[t>>2]|0;if(!n)break;if((f[n+4>>2]&-8|0)==(s|0)){r=n;break e}else{a=a<<1;r=n}}if(t>>>0<(f[739]|0)>>>0)ye();f[t>>2]=v;f[v+24>>2]=r;f[v+12>>2]=v;f[v+8>>2]=v;return}}while(0);t=r+8|0;n=f[t>>2]|0;m=f[739]|0;if(!(n>>>0>=m>>>0&r>>>0>=m>>>0))ye();f[n+12>>2]=v;f[t>>2]=v;f[v+8>>2]=n;f[v+12>>2]=r;f[v+24>>2]=0;return}function Ll(){}function Pl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=i-t-(r>>>0>e>>>0|0)>>>0;return(P=t,e-r>>>0|0)|0}function xl(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){P=i>>r;return e>>>r|(i&(1<>r-32|0}function Ol(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;n=e+r|0;if((r|0)>=20){i=i&255;s=e&3;l=i|i<<8|i<<16|i<<24;a=n&~3;if(s){s=e+4-s|0;while((e|0)<(s|0)){t[e>>0]=i;e=e+1|0}}while((e|0)<(a|0)){f[e>>2]=l;e=e+4|0}}while((e|0)<(n|0)){t[e>>0]=i;e=e+1|0}return e-r|0}function Bl(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){P=i<>>32-r;return e<>>0;return(P=i+t+(r>>>0>>0|0)>>>0,r|0)|0}function Dl(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){P=i>>>r;return e>>>r|(i&(1<>>r-32|0}function Nl(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;if((r|0)>=4096)return Te(e|0,i|0,r|0)|0;n=e|0;if((e&3)==(i&3)){while(e&3){if(!r)return n|0;t[e>>0]=t[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}while((r|0)>=4){f[e>>2]=f[i>>2];e=e+4|0;i=i+4|0;r=r-4|0}}while((r|0)>0){t[e>>0]=t[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}return n|0}function Fl(e){e=e|0;var i=0;i=t[k+(e&255)>>0]|0;if((i|0)<8)return i|0;i=t[k+(e>>8&255)>>0]|0;if((i|0)<8)return i+8|0;i=t[k+(e>>16&255)>>0]|0;if((i|0)<8)return i+16|0;return(t[k+(e>>>24)>>0]|0)+24|0}function Ul(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;f=e&65535;n=i&65535;r=ie(n,f)|0;t=e>>>16;e=(r>>>16)+(ie(n,t)|0)|0;n=i>>>16;i=ie(n,f)|0;return(P=(e>>>16)+(ie(n,t)|0)+(((e&65535)+i|0)>>>16)|0,e+i<<16|r&65535|0)|0}function jl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,s=0,l=0,o=0;o=i>>31|((i|0)<0?-1:0)<<1;l=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;f=t>>31|((t|0)<0?-1:0)<<1;n=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;s=Pl(o^e,l^i,o,l)|0;a=P;e=f^o;i=n^l;return Pl((Xl(s,a,Pl(f^r,n^t,f,n)|0,P,0)|0)^e,P^i,e,i)|0}function Hl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0;n=c;c=c+16|0;l=n|0;s=i>>31|((i|0)<0?-1:0)<<1;a=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;u=t>>31|((t|0)<0?-1:0)<<1;o=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;e=Pl(s^e,a^i,s,a)|0;i=P;Xl(e,i,Pl(u^r,o^t,u,o)|0,P,l)|0;t=Pl(f[l>>2]^s,f[l+4>>2]^a,s,a)|0;r=P;c=n;return(P=r,t)|0}function zl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=e;f=r;r=Ul(n,f)|0;e=P;return(P=(ie(i,f)|0)+(ie(t,n)|0)+e|e&0,r|0|0)|0}function Yl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return Xl(e,i,r,t,0)|0}function ql(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;a=c;c=c+16|0;n=a|0;Xl(e,i,r,t,n)|0;c=a;return(P=f[n+4>>2]|0,f[n>>2]|0)|0}function Xl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0;c=e;o=i;u=o;s=r;d=t;l=d;if(!u){a=(n|0)!=0;if(!l){if(a){f[n>>2]=(c>>>0)%(s>>>0);f[n+4>>2]=0}d=0;n=(c>>>0)/(s>>>0)>>>0;return(P=d,n)|0}else{if(!a){d=0;n=0;return(P=d,n)|0}f[n>>2]=e|0;f[n+4>>2]=i&0;d=0;n=0;return(P=d,n)|0}}a=(l|0)==0;do{if(s){if(!a){a=(te(l|0)|0)-(te(u|0)|0)|0;if(a>>>0<=31){h=a+1|0;l=31-a|0;i=a-31>>31;s=h;e=c>>>(h>>>0)&i|u<>>(h>>>0)&i;a=0;l=c<>2]=e|0;f[n+4>>2]=o|i&0;d=0;n=0;return(P=d,n)|0}a=s-1|0;if(a&s){l=(te(s|0)|0)+33-(te(u|0)|0)|0;k=64-l|0;h=32-l|0;o=h>>31;b=l-32|0;i=b>>31;s=l;e=h-1>>31&u>>>(b>>>0)|(u<>>(l>>>0))&i;i=i&u>>>(l>>>0);a=c<>>(b>>>0))&o|c<>31;break}if(n){f[n>>2]=a&c;f[n+4>>2]=0}if((s|0)==1){b=o|i&0;k=e|0|0;return(P=b,k)|0}else{k=Fl(s|0)|0;b=u>>>(k>>>0)|0;k=u<<32-k|c>>>(k>>>0)|0;return(P=b,k)|0}}else{if(a){if(n){f[n>>2]=(u>>>0)%(s>>>0);f[n+4>>2]=0}b=0;k=(u>>>0)/(s>>>0)>>>0;return(P=b,k)|0}if(!c){if(n){f[n>>2]=0;f[n+4>>2]=(u>>>0)%(l>>>0)}b=0;k=(u>>>0)/(l>>>0)>>>0;return(P=b,k)|0}a=l-1|0;if(!(a&l)){if(n){f[n>>2]=e|0;f[n+4>>2]=a&u|i&0}b=0;k=u>>>((Fl(l|0)|0)>>>0);return(P=b,k)|0}a=(te(l|0)|0)-(te(u|0)|0)|0;if(a>>>0<=30){i=a+1|0;l=31-a|0;s=i;e=u<>>(i>>>0);i=u>>>(i>>>0);a=0;l=c<>2]=e|0;f[n+4>>2]=o|i&0;b=0;k=0;return(P=b,k)|0}}while(0);if(!s){u=l;o=0;l=0}else{h=r|0|0;c=d|t&0;u=Il(h|0,c|0,-1,-1)|0;r=P;o=l;l=0;do{t=o;o=a>>>31|o<<1;a=l|a<<1;t=e<<1|t>>>31|0;d=e>>>31|i<<1|0;Pl(u,r,t,d)|0;k=P;b=k>>31|((k|0)<0?-1:0)<<1;l=b&1;e=Pl(t,d,b&h,(((k|0)<0?-1:0)>>31|((k|0)<0?-1:0)<<1)&c)|0;i=P;s=s-1|0}while((s|0)!=0);u=o;o=0}s=0;if(n){f[n>>2]=e;f[n+4>>2]=i}b=(a|0)>>>31|(u|s)<<1|(s<<1|a>>>31)&0|o;k=(a<<1|0>>>31)&-2|l;return(P=b,k)|0}function Vl(e,i,r,t,n,f,a,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;return vo[e&3](i|0,r|0,t|0,n|0,f|0,a|0,s|0)|0}function Gl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return po[e&63](i|0,r|0,t|0)|0}function Kl(e,i){e=e|0;i=i|0;return+go[e&3](i|0)}function Wl(e,i){e=e|0;i=i|0;yo[e&7](i|0)}function Zl(e,i,r){e=e|0;i=i|0;r=r|0;Mo[e&7](i|0,r|0)}function Jl(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;return Eo[e&7](i|0,r|0,t|0,n|0,f|0,a|0)|0}function Ql(e,i){e=e|0;i=i|0;return Ao[e&15](i|0)|0}function $l(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;So[e&15](i|0,r|0,t|0)}function eo(e,i,r,t,n,f,a,s,l,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;return To[e&3](i|0,r|0,t|0,n|0,f|0,a|0,s|0,l|0,o|0,u|0,c|0)|0}function io(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return Co[e&63](i|0,r|0,t|0,n|0)|0}function ro(e,i,r){e=e|0;i=i|0;r=r|0;return Ro[e&7](i|0,r|0)|0}function to(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;return Lo[e&3](i|0,r|0,t|0,n|0,f|0)|0}function no(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;Po[e&3](i|0,r|0,t|0,n|0)}function fo(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;ne(0);return 0}function ao(e,i,r){e=e|0;i=i|0;r=r|0;ne(1);return 0}function so(e){e=e|0;ne(2);return 0.0}function lo(e){e=e|0;ne(3)}function oo(e,i){e=e|0;i=i|0;ne(4)}function uo(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;ne(5);return 0}function co(e){e=e|0;ne(6);return 0}function ho(e,i,r){e=e|0;i=i|0;r=r|0;ne(7)}function bo(e,i,r,t,n,f,a,s,l,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;ne(8);return 0}function ko(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;ne(9);return 0}function wo(e,i){e=e|0;i=i|0;ne(10);return 0}function _o(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;ne(11);return 0}function mo(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;ne(12)}var vo=[fo,ef,Bi,fo];var po=[ao,ml,Fs,Ds,gt,yt,Mt,Et,Rn,Ln,xn,Wn,uf,Si,ji,cf,hf,Ai,Ti,On,Bn,In,Dn,wf,_f,mf,vf,gf,yf,Ef,Af,Sf,Tf,Cf,Rf,Lf,Pf,xf,Of,Bf,If,Df,Nf,Ff,Uf,jf,Hf,zf,Yf,qf,Xf,Vf,qi,Xi,Vi,Gi,Ki,Wi,Zi,Ji,Is,Ns,ao,ao];var go=[so,Gf,Kf,so];var yo=[lo,Vn,Oi,Xr,Vr,bl,kl,lo];var Mo=[oo,st,lt,ot,Yt,qn,Mi,oo];var Eo=[uo,$n,xi,bf,Pi,uo,uo,uo];var Ao=[co,Bs,af,sf,Ui,Fi,Hs,Ta,Ea,co,co,co,co,co,co,co];var So=[ho,mi,vi,pi,gi,hi,di,bi,ki,li,oi,ui,ci,tf,Ni,ho];var To=[bo,Qn,Li,bo];var Co=[ko,ea,ia,Xe,Ve,Ge,Ke,We,Ze,Je,Qe,$e,ei,ii,ri,ti,ni,fi,ai,si,lr,or,ur,rr,tr,nr,fr,ar,sr,_t,mt,vt,pt,lf,Zn,yi,Ri,df,Gn,Ci,Ei,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko];var Ro=[wo,Pn,Qi,$i,er,ir,wo,wo];var Lo=[_o,of,Ii,_o];var Po=[mo,Pa,Ba,mo];return{_opj_stream_destroy:St,_opj_stream_set_read_function:Tt,_opj_read_tile_header:ln,_opj_set_warning_handler:Jt,_opj_destroy_cstr_info:En,_opj_image_create:Xt,_opj_set_error_handler:Qt,_opj_stream_set_user_data:Pt,_opj_end_decompress:mn,_bitshift64Lshr:Dl,_opj_stream_set_seek_function:Ct,_opj_decode:an,_opj_set_decoded_resolution_factor:cn,_i64Add:Il,_opj_stream_create_default_file_stream:Tn,_opj_set_default_decoder_parameters:tn,_bitshift64Ashr:xl,_opj_get_decoded_tile:un,_memset:Ol,_opj_version:en,_memcpy:Nl,_opj_destroy_cstr_index:Sn,_opj_stream_set_user_data_length:xt,_opj_stream_set_skip_function:Lt,_opj_image_destroy:Vt,_opj_stream_create_file_stream:Cn,_opj_setup_encoder:bn,_opj_stream_default_create:At,_bitshift64Shl:Bl,_opj_stream_create:wt,_jp2_version:at,_i64Subtract:Pl,_opj_get_cstr_index:An,_opj_encode:wn,_opj_read_header:fn,_opj_get_cstr_info:Mn,_opj_set_default_encoder_parameters:dn,_opj_set_decode_area:sn,_opj_stream_set_write_function:Rt,_opj_dump_codec:yn,_opj_create_decompress:rn,_opj_decode_tile_data:on,_free:Ml,_opj_image_tile_create:Wt,_opj_set_MCT:vn,_opj_set_info_handler:Zt,_opj_start_compress:kn,_opj_write_tile:pn,_opj_setup_decoder:nn,_malloc:yl,_opj_end_compress:_n,_opj_destroy_codec:gn,_jp2_decode:ft,_opj_stream_create_buffer_stream:$t,_opj_create_compress:hn,runPostSets:Ll,stackAlloc:Zr,stackSave:Jr,stackRestore:Qr,establishStackSpace:$r,setThrew:et,setTempRet0:tt,getTempRet0:nt,dynCall_iiiiiiii:Vl,dynCall_iiii:Gl,dynCall_di:Kl,dynCall_vi:Wl,dynCall_vii:Zl,dynCall_iiiiiii:Jl,dynCall_ii:Ql,dynCall_viii:$l,dynCall_iiiiiiiiiiii:eo,dynCall_iiiii:io,dynCall_iii:ro,dynCall_iiiiii:to,dynCall_viiii:no}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_opj_stream_destroy=Module._opj_stream_destroy=asm._opj_stream_destroy,_opj_stream_set_read_function=Module._opj_stream_set_read_function=asm._opj_stream_set_read_function,_opj_read_tile_header=Module._opj_read_tile_header=asm._opj_read_tile_header,_opj_set_warning_handler=Module._opj_set_warning_handler=asm._opj_set_warning_handler,_opj_destroy_cstr_info=Module._opj_destroy_cstr_info=asm._opj_destroy_cstr_info,_opj_image_create=Module._opj_image_create=asm._opj_image_create,_opj_set_error_handler=Module._opj_set_error_handler=asm._opj_set_error_handler,_opj_image_tile_create=Module._opj_image_tile_create=asm._opj_image_tile_create,_opj_end_decompress=Module._opj_end_decompress=asm._opj_end_decompress,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_opj_stream_set_seek_function=Module._opj_stream_set_seek_function=asm._opj_stream_set_seek_function,_opj_decode=Module._opj_decode=asm._opj_decode,_opj_set_decoded_resolution_factor=Module._opj_set_decoded_resolution_factor=asm._opj_set_decoded_resolution_factor,_opj_stream_create_default_file_stream=Module._opj_stream_create_default_file_stream=asm._opj_stream_create_default_file_stream,_opj_encode=Module._opj_encode=asm._opj_encode,_bitshift64Ashr=Module._bitshift64Ashr=asm._bitshift64Ashr,_opj_get_decoded_tile=Module._opj_get_decoded_tile=asm._opj_get_decoded_tile,_memset=Module._memset=asm._memset,_opj_version=Module._opj_version=asm._opj_version,_memcpy=Module._memcpy=asm._memcpy,_opj_destroy_cstr_index=Module._opj_destroy_cstr_index=asm._opj_destroy_cstr_index,_opj_stream_set_user_data_length=Module._opj_stream_set_user_data_length=asm._opj_stream_set_user_data_length,_opj_stream_set_skip_function=Module._opj_stream_set_skip_function=asm._opj_stream_set_skip_function,_opj_image_destroy=Module._opj_image_destroy=asm._opj_image_destroy,_opj_stream_create_file_stream=Module._opj_stream_create_file_stream=asm._opj_stream_create_file_stream,_opj_setup_encoder=Module._opj_setup_encoder=asm._opj_setup_encoder,_opj_stream_default_create=Module._opj_stream_default_create=asm._opj_stream_default_create,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_opj_stream_create=Module._opj_stream_create=asm._opj_stream_create,_jp2_version=Module._jp2_version=asm._jp2_version,_i64Subtract=Module._i64Subtract=asm._i64Subtract,_opj_get_cstr_index=Module._opj_get_cstr_index=asm._opj_get_cstr_index,_opj_set_default_decoder_parameters=Module._opj_set_default_decoder_parameters=asm._opj_set_default_decoder_parameters,_i64Add=Module._i64Add=asm._i64Add,_opj_get_cstr_info=Module._opj_get_cstr_info=asm._opj_get_cstr_info,_opj_set_default_encoder_parameters=Module._opj_set_default_encoder_parameters=asm._opj_set_default_encoder_parameters,_opj_set_decode_area=Module._opj_set_decode_area=asm._opj_set_decode_area,_opj_stream_set_write_function=Module._opj_stream_set_write_function=asm._opj_stream_set_write_function,_opj_dump_codec=Module._opj_dump_codec=asm._opj_dump_codec,_opj_read_header=Module._opj_read_header=asm._opj_read_header,_opj_create_decompress=Module._opj_create_decompress=asm._opj_create_decompress,_opj_decode_tile_data=Module._opj_decode_tile_data=asm._opj_decode_tile_data,_opj_set_info_handler=Module._opj_set_info_handler=asm._opj_set_info_handler,_opj_stream_set_user_data=Module._opj_stream_set_user_data=asm._opj_stream_set_user_data,_opj_set_MCT=Module._opj_set_MCT=asm._opj_set_MCT,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,_opj_start_compress=Module._opj_start_compress=asm._opj_start_compress,_opj_write_tile=Module._opj_write_tile=asm._opj_write_tile,_opj_setup_decoder=Module._opj_setup_decoder=asm._opj_setup_decoder,_malloc=Module._malloc=asm._malloc,_opj_end_compress=Module._opj_end_compress=asm._opj_end_compress,_opj_destroy_codec=Module._opj_destroy_codec=asm._opj_destroy_codec,_jp2_decode=Module._jp2_decode=asm._jp2_decode,_opj_stream_create_buffer_stream=Module._opj_stream_create_buffer_stream=asm._opj_stream_create_buffer_stream,_opj_create_compress=Module._opj_create_compress=asm._opj_create_compress,dynCall_iiiiiiii=Module.dynCall_iiiiiiii=asm.dynCall_iiiiiiii,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_iiiiiii=Module.dynCall_iiiiiii=asm.dynCall_iiiiiii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_iiiiiiiiiiii=Module.dynCall_iiiiiiiiiiii=asm.dynCall_iiiiiiiiiiii,dynCall_iiiii=Module.dynCall_iiiii=asm.dynCall_iiiii,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii,initialStackTop;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}Runtime.stackAlloc=asm.stackAlloc,Runtime.stackSave=asm.stackSave,Runtime.stackRestore=asm.stackRestore,Runtime.establishStackSpace=asm.establishStackSpace,Runtime.setTempRet0=asm.setTempRet0,Runtime.getTempRet0=asm.getTempRet0,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var preloadStartTime=null,calledMain=!1;function run(e){function i(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Module.setStatus("")}),1),i()}),1)):i()))}function exit(e,i){if(!i||!Module.noExitRuntime)throw Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE?(process.stdout.once("drain",(function(){process.exit(e)})),console.log(" "),setTimeout((function(){process.exit(e)}),500)):ENVIRONMENT_IS_SHELL&&"function"==typeof quit&&quit(e),new ExitStatus(e)}dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){assert(0==runDependencies,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),assert(0==__ATPRERUN__.length,"cannot call main when preRun functions remain to be called"),e=e||[],ensureInitRuntime();var i=e.length+1;function r(){for(var e=0;e<3;e++)t.push(0)}var t=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];r();for(var n=0;n0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),Module};module.exports=OpenJPEG},function(module,exports){var CharLS=function(Module){var Module;Module=Module||{},Module||(Module=(void 0!==CharLS?CharLS:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&"function"==typeof require&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=function(e){process.stdout.write(e+"\\n")}),Module.printErr||(Module.printErr=function(e){process.stderr.write(e+"\\n")});var nodeFS=require("fs"),nodePath=require("path");Module.read=function(e,i){e=nodePath.normalize(e);var r=nodeFS.readFileSync(e);return r||e==nodePath.resolve(e)||(e=path.join(__dirname,"..","src",e),r=nodeFS.readFileSync(e)),r&&!i&&(r=r.toString()),r},Module.readBinary=function(e){var i=Module.read(e,!0);return i.buffer||(i=new Uint8Array(i)),assert(i.buffer),i},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),void 0!==module&&(module.exports=Module),process.on("uncaughtException",(function(e){if(!(e instanceof ExitStatus))throw e})),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available (jsc?)"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var i=read(e,"binary");return assert("object"==typeof i),i},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments);else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var i=new XMLHttpRequest;return i.open("GET",e,!1),i.send(null),i.responseText},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.log(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(e){dump(e)}:function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),void 0===Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}function globalEval(e){eval.call(null,e)}for(var key in!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[],moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);var Runtime={setTempRet0:function(e){tempRet0=e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var i=parseInt(e.substr(1));return assert(i%8==0),i/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,i){return"double"===i||"i64"===i?7&e&&(assert(4==(7&e)),e+=4):assert(0==(3&e)),e},getAlignSize:function(e,i,r){return r||"i64"!=e&&"double"!=e?e?Math.min(i||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(i,8):8},dynCall:function(e,i,r){return r&&r.length?(r.splice||(r=Array.prototype.slice.call(r)),r.splice(0,0,i),Module["dynCall_"+e].apply(null,r)):Module["dynCall_"+e].call(null,i)},functionPointers:[],addFunction:function(e){for(var i=0;i=TOTAL_MEMORY&&!enlargeMemory())return DYNAMICTOP=i,0;return i},alignMemory:function(e,i){return e=Math.ceil(e/(i||16))*(i||16)},makeBigInt:function(e,i,r){return r?+(e>>>0)+4294967296*+(i>>>0):+(e>>>0)+4294967296*+(0|i)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var __THREW__=0,ABORT=!1,EXITSTATUS=0,undef=0,tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat,tempI64,tempI64b,tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(e,i){e||abort("Assertion failed: "+i)}var globalScope=this,cwrap,ccall;function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,i,r,t){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":HEAP8[e>>0]=i;break;case"i16":HEAP16[e>>1]=i;break;case"i32":HEAP32[e>>2]=i;break;case"i64":tempI64=[i>>>0,(tempDouble=i,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=i;break;case"double":HEAPF64[e>>3]=i;break;default:abort("invalid type for setValue: "+r)}}function getValue(e,i,r){switch("*"===(i=i||"i8").charAt(i.length-1)&&(i="i32"),i){case"i1":case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+i)}return null}!function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var i=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,i),i},stringToC:function(e){var i=0;return null!=e&&0!==e&&writeStringToMemory(e,i=Runtime.stackAlloc(1+(e.length<<2))),i}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,i,r,t,n){var f=getCFunc(e),a=[],s=0;if(t)for(var l=0;l>2]=0;for(l=a+f;t>0]=0;return a}if("i8"===s)return e.subarray||e.slice?HEAPU8.set(e,a):HEAPU8.set(new Uint8Array(e),a),a;for(var o,u,c,h=0;h>0],(0!=r||i)&&(n++,!i||n!=i););i||(i=n);var f="";if(t<128){for(var a;i>0;)a=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(i,1024))),f=f?f+a:a,e+=1024,i-=1024;return f}return Module.UTF8ToString(e)}function AsciiToString(e){for(var i="";;){var r=HEAP8[e++>>0];if(!r)return i;i+=String.fromCharCode(r)}}function stringToAscii(e,i){return writeAsciiToMemory(e,i,!1)}function UTF8ArrayToString(e,i){for(var r,t,n,f,a,s="";;){if(!(r=e[i++]))return s;if(128&r)if(t=63&e[i++],192!=(224&r))if(n=63&e[i++],224==(240&r)?r=(15&r)<<12|t<<6|n:(f=63&e[i++],240==(248&r)?r=(7&r)<<18|t<<12|n<<6|f:(a=63&e[i++],r=248==(252&r)?(3&r)<<24|t<<18|n<<12|f<<6|a:(1&r)<<30|t<<24|n<<18|f<<12|a<<6|63&e[i++])),r<65536)s+=String.fromCharCode(r);else{var l=r-65536;s+=String.fromCharCode(55296|l>>10,56320|1023&l)}else s+=String.fromCharCode((31&r)<<6|t);else s+=String.fromCharCode(r)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,i,r,t){if(!(t>0))return 0;for(var n=r,f=r+t-1,a=0;a=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=f)break;i[r++]=s}else if(s<=2047){if(r+1>=f)break;i[r++]=192|s>>6,i[r++]=128|63&s}else if(s<=65535){if(r+2>=f)break;i[r++]=224|s>>12,i[r++]=128|s>>6&63,i[r++]=128|63&s}else if(s<=2097151){if(r+3>=f)break;i[r++]=240|s>>18,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}else if(s<=67108863){if(r+4>=f)break;i[r++]=248|s>>24,i[r++]=128|s>>18&63,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}else{if(r+5>=f)break;i[r++]=252|s>>30,i[r++]=128|s>>24&63,i[r++]=128|s>>18&63,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}}return i[r]=0,r-n}function stringToUTF8(e,i,r){return stringToUTF8Array(e,HEAPU8,i,r)}function lengthBytesUTF8(e){for(var i=0,r=0;r=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&e.charCodeAt(++r)),t<=127?++i:i+=t<=2047?2:t<=65535?3:t<=2097151?4:t<=67108863?5:6}return i}function UTF16ToString(e){for(var i=0,r="";;){var t=HEAP16[e+2*i>>1];if(0==t)return r;++i,r+=String.fromCharCode(t)}}function stringToUTF16(e,i,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var t=i,n=(r-=2)<2*e.length?r/2:e.length,f=0;f>1]=a,i+=2}return HEAP16[i>>1]=0,i-t}function lengthBytesUTF16(e){return 2*e.length}function UTF32ToString(e){for(var i=0,r="";;){var t=HEAP32[e+4*i>>2];if(0==t)return r;if(++i,t>=65536){var n=t-65536;r+=String.fromCharCode(55296|n>>10,56320|1023&n)}else r+=String.fromCharCode(t)}}function stringToUTF32(e,i,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var t=i,n=t+r-4,f=0;f=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++f);if(HEAP32[i>>2]=a,(i+=4)+4>n)break}return HEAP32[i>>2]=0,i-t}function lengthBytesUTF32(e){for(var i=0,r=0;r=55296&&t<=57343&&++r,i+=4}return i}function demangle(e){var i=!!Module.___cxa_demangle;if(i)try{var r=_malloc(e.length);writeStringToMemory(e.substr(1),r);var t=_malloc(4),n=Module.___cxa_demangle(r,0,0,t);if(0===getValue(t,"i32")&&n)return Pointer_stringify(n)}catch(e){}finally{r&&_free(r),t&&_free(t),n&&_free(n)}var f=3,a={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},s=[],l=!0;var o=e;try{if("Object._main"==e||"_main"==e)return"main()";if("number"==typeof e&&(e=Pointer_stringify(e)),"_"!==e[0])return e;if("_"!==e[1])return e;if("Z"!==e[2])return e;switch(e[3]){case"n":return"operator new()";case"d":return"operator delete()"}o=function i(r,t,n){t=t||1/0;var o,u="",c=[];if("N"===e[f]){if(o=function(){"K"===e[++f]&&f++;for(var i=[];"E"!==e[f];)if("S"!==e[f])if("C"!==e[f]){var r=parseInt(e.substr(f)),t=r.toString().length;if(!r||!t){f--;break}var n=e.substr(f+t,r);i.push(n),s.push(n),f+=t+r}else i.push(i[i.length-1]),f+=2;else{f++;var a=e.indexOf("_",f),l=e.substring(f,a)||0;i.push(s[l]||"?"),f=a+1}return f++,i}().join("::"),0===--t)return r?[o]:o}else if(("K"===e[f]||l&&"L"===e[f])&&f++,k=parseInt(e.substr(f))){var h=k.toString().length;o=e.substr(f+h,k),f+=h+k}if(l=!1,"I"===e[f]){f++;var d=i(!0);u+=i(!0,1,!0)[0]+" "+o+"<"+d.join(", ")+">"}else u=o;e:for(;f0;){var b=e[f++];if(b in a)c.push(a[b]);else switch(b){case"P":c.push(i(!0,1,!0)[0]+"*");break;case"R":c.push(i(!0,1,!0)[0]+"&");break;case"L":f++;var k=e.indexOf("E",f)-f;c.push(e.substr(f,k)),f+=k+2;break;case"A":k=parseInt(e.substr(f));if(f+=k.toString().length,"_"!==e[f])throw"?";f++,c.push(i(!0,1,!0)[0]+" ["+k+"]");break;case"E":break e;default:u+="?"+b;break e}}return n||1!==c.length||"void"!==c[0]||(c=[]),r?(u&&c.push(u+"?"),c):u+"("+c.join(", ")+")"}()}catch(e){o+="?"}return o.indexOf("?")>=0&&!i&&Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),o}function demangleAll(e){return e.replace(/__Z[\\w\\d_]+/g,(function(e){var i=demangle(e);return e===i?e:e+" ["+i+"]"}))}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(i){e=i}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE,Module.allocate=allocate,Module.getMemory=getMemory,Module.Pointer_stringify=Pointer_stringify,Module.AsciiToString=AsciiToString,Module.stringToAscii=stringToAscii,Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.UTF16ToString=UTF16ToString,Module.stringToUTF16=stringToUTF16,Module.lengthBytesUTF16=lengthBytesUTF16,Module.UTF32ToString=UTF32ToString,Module.stringToUTF32=stringToUTF32,Module.lengthBytesUTF32=lengthBytesUTF32,Module.stackTrace=stackTrace;var PAGE_SIZE=4096,HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function alignMemoryPage(e){return e%4096>0&&(e+=4096-e%4096),e}var STATIC_BASE=0,STATICTOP=0,staticSealed=!1,STACK_BASE=0,STACKTOP=0,STACK_MAX=0,DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}for(var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||4e8,totalMemory=65536,buffer;totalMemory0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?Runtime.dynCall("v",r):Runtime.dynCall("vi",r,[i.arg]):r(void 0===i.arg?null:i.arg)}else i()}}totalMemory!==TOTAL_MEMORY&&(TOTAL_MEMORY=totalMemory),assert("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support"),buffer=new ArrayBuffer(TOTAL_MEMORY),HEAP8=new Int8Array(buffer),HEAP16=new Int16Array(buffer),HEAP32=new Int32Array(buffer),HEAPU8=new Uint8Array(buffer),HEAPU16=new Uint16Array(buffer),HEAPU32=new Uint32Array(buffer),HEAPF32=new Float32Array(buffer),HEAPF64=new Float64Array(buffer),HEAP32[0]=255,assert(255===HEAPU8[0]&&0===HEAPU8[3],"Typed arrays 2 must be run on a little-endian system"),Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,i,r){var t=r>0?r:lengthBytesUTF8(e)+1,n=new Array(t),f=stringToUTF8Array(e,n,0,n.length);return i&&(n.length=f),n}function intArrayToString(e){for(var i=[],r=0;r255&&(t&=255),i.push(String.fromCharCode(t))}return i.join("")}function writeStringToMemory(e,i,r){for(var t=intArrayFromString(e,r),n=0;n>0]=f,n+=1}}function writeArrayToMemory(e,i){for(var r=0;r>0]=e[r]}function writeAsciiToMemory(e,i,r){for(var t=0;t>0]=e.charCodeAt(t);r||(HEAP8[i>>0]=0)}function unSign(e,i,r){return e>=0?e:i<=32?2*Math.abs(1<=t&&(i<=32||e>t)&&(e=-2*t+e),e}Module.addOnPreRun=addOnPreRun,Module.addOnInit=addOnInit,Module.addOnPreMain=addOnPreMain,Module.addOnExit=addOnExit,Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,i){var r=65535&e,t=65535&i;return r*t+((e>>>16)*t+r*(i>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var i=0;i<32;i++)if(e&1<<31-i)return i;return 32}),Math.clz32=Math.clz32;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_min=Math.min,Math_clz32=Math.clz32,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var i=dependenciesFulfilled;dependenciesFulfilled=null,i()}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var memoryInitializer=null,ASM_CONSTS=[];STATIC_BASE=8,STATICTOP=STATIC_BASE+59744,__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_jpegls_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}}),allocate([0,0,0,0,0,0,0,0,84,144,0,0,31,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,237,191,0,0,48,0,0,0,0,0,0,0,44,144,0,0,41,192,0,0,84,144,0,0,55,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,115,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,192,0,0,152,3,0,0,0,0,0,0,84,144,0,0,241,192,0,0,216,3,0,0,0,0,0,0,84,144,0,0,55,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,95,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,135,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,216,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,241,193,0,0,48,0,0,0,0,0,0,0,44,144,0,0,13,194,0,0,84,144,0,0,80,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,44,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,139,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,179,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,219,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,3,195,0,0,48,0,0,0,0,0,0,0,84,144,0,0,103,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,157,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,211,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,8,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,71,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,138,196,0,0,160,1,0,0,0,0,0,0,44,144,0,0,120,196,0,0,84,144,0,0,187,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,246,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,49,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,103,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,157,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,210,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,17,198,0,0,160,1,0,0,0,0,0,0,84,144,0,0,86,198,0,0,72,3,0,0,0,0,0,0,84,144,0,0,162,198,0,0,56,2,0,0,0,0,0,0,44,144,0,0,182,198,0,0,84,144,0,0,196,198,0,0,56,2,0,0,0,0,0,0,84,144,0,0,112,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,125,199,0,0,84,144,0,0,138,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,156,199,0,0,84,144,0,0,169,199,0,0,96,2,0,0,0,0,0,0,84,144,0,0,181,199,0,0,120,2,0,0,0,0,0,0,84,144,0,0,214,199,0,0,144,2,0,0,0,0,0,0,84,144,0,0,28,200,0,0,144,2,0,0,0,0,0,0,84,144,0,0,248,199,0,0,176,2,0,0,0,0,0,0,84,144,0,0,62,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,99,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,182,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,245,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,13,222,0,0,152,3,0,0,0,0,0,0,84,144,0,0,38,222,0,0,152,3,0,0,0,0,0,0,44,144,0,0,62,222,0,0,84,144,0,0,87,222,0,0,104,2,0,0,0,0,0,0,44,144,0,0,110,222,0,0,84,144,0,0,135,222,0,0,72,3,0,0,0,0,0,0,84,144,0,0,161,222,0,0,56,3,0,0,0,0,0,0,44,144,0,0,187,222,0,0,84,144,0,0,205,222,0,0,112,3,0,0,0,0,0,0,84,144,0,0,247,222,0,0,112,3,0,0,0,0,0,0,44,144,0,0,33,223,0,0,44,144,0,0,82,223,0,0,124,144,0,0,131,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,178,223,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,124,144,0,0,225,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,16,224,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,84,144,0,0,63,224,0,0,80,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,144,0,0,187,224,0,0,48,3,0,0,0,0,0,0,124,144,0,0,209,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,124,144,0,0,227,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,5,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,40,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,75,225,0,0,144,4,0,0,0,0,0,0,84,144,0,0,109,225,0,0,144,4,0,0,0,0,0,0,124,144,0,0,144,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,178,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,200,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,220,225,0,0,32,4,0,0,0,0,0,0,124,144,0,0,240,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,84,144,0,0,2,226,0,0,32,4,0,0,0,0,0,0,84,144,0,0,23,226,0,0,32,4,0,0,0,0,0,0,124,144,0,0,44,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,80,10,0,0,0,0,0,0,124,144,0,0,112,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,104,10,0,0,0,0,0,0,124,144,0,0,180,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,128,10,0,0,0,0,0,0,124,144,0,0,248,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,152,10,0,0,0,0,0,0,124,144,0,0,60,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,184,10,0,0,0,8,0,0,124,144,0,0,129,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,192,10,0,0,0,8,0,0,124,144,0,0,198,227,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,11,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,80,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,108,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,136,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,164,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,192,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,216,10,0,0,0,0,0,0,124,144,0,0,6,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,224,10,0,0,0,0,0,0,124,144,0,0,76,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,232,10,0,0,0,0,0,0,124,144,0,0,146,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,240,10,0,0,0,0,0,0,124,144,0,0,216,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,124,144,0,0,237,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,144,0,0,73,233,0,0,44,144,0,0,50,233,0,0,124,144,0,0,28,233,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,237,232,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,215,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,124,144,0,0,168,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,44,144,0,0,149,232,0,0,44,144,0,0,115,232,0,0,44,144,0,0,81,232,0,0,44,144,0,0,60,232,0,0,44,144,0,0,39,232,0,0,44,144,0,0,14,232,0,0,44,144,0,0,245,231,0,0,44,144,0,0,220,231,0,0,44,144,0,0,195,231,0,0,44,144,0,0,171,231,0,0,44,144,0,0,190,232,0,0,44,144,0,0,3,233],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE),allocate([156,143,0,0,0,0,0,0,8,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,248,1,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,1,0,0,5,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,7,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,200,1,0,0,9,0,0,0,10,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,184,1,0,0,11,0,0,0,12,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,168,1,0,0,13,0,0,0,14,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,144,1,0,0,15,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,128,1,0,0,17,0,0,0,18,0,0,0,9,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,112,1,0,0,19,0,0,0,20,0,0,0,10,0,0,0,2,0,0,0,10,0,0,0,0,0,0,0,96,1,0,0,21,0,0,0,22,0,0,0,11,0,0,0,3,0,0,0,11,0,0,0,0,0,0,0,80,1,0,0,23,0,0,0,24,0,0,0,12,0,0,0,4,0,0,0,12,0,0,0,0,0,0,0,64,1,0,0,25,0,0,0,26,0,0,0,13,0,0,0,5,0,0,0,13,0,0,0,0,0,0,0,240,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,6,0,0,0,14,0,0,0,0,0,0,0,224,0,0,0,29,0,0,0,30,0,0,0,15,0,0,0,7,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,31,0,0,0,32,0,0,0,16,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,200,0,0,0,33,0,0,0,34,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,184,0,0,0,33,0,0,0,35,0,0,0,3,0,0,0,4,0,0,0,56,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,200,255,255,255,200,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,56,0,0,0,0,0,0,0,104,0,0,0,40,0,0,0,41,0,0,0,200,255,255,255,200,255,255,255,104,0,0,0,42,0,0,0,43,0,0,0,0,0,0,0,88,0,0,0,44,0,0,0,45,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,17,0,0,0,3,0,0,0,18,0,0,0,104,141,0,0,64,141,0,0,84,141,0,0,124,141,0,0,0,0,0,0,32,0,0,0,46,0,0,0,47,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,56,0,0,0,48,0,0,0,49,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,72,0,0,0,50,0,0,0,51,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,120,0,0,0,52,0,0,0,53,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,136,0,0,0,54,0,0,0,55,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,152,0,0,0,56,0,0,0,57,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,168,0,0,0,58,0,0,0,59,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,216,0,0,0,60,0,0,0,61,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,62,0,0,0,63,0,0,0,20,0,0,0,21,0,0,0,0,0,0,0,16,1,0,0,64,0,0,0,65,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,32,1,0,0,66,0,0,0,67,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,48,1,0,0,68,0,0,0,69,0,0,0,26,0,0,0,27,0,0,0,0,0,0,0,160,1,0,0,70,0,0,0,71,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,24,2,0,0,72,0,0,0,73,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,40,2,0,0,74,0,0,0,75,0,0,0,18,0,0,0,0,0,0,0,64,2,0,0,76,0,0,0,77,0,0,0,19,0,0,0,2,0,0,0,0,0,0,0,80,2,0,0,78,0,0,0,79,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,104,2,0,0,80,0,0,0,81,0,0,0,7,0,0,0,0,0,0,0,128,2,0,0,82,0,0,0,83,0,0,0,8,0,0,0,0,0,0,0,160,2,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,2,0,0,0,9,0,0,0,28,0,0,0,0,0,0,0,208,2,0,0,84,0,0,0,88,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,3,0,0,0,10,0,0,0,29,0,0,0,0,0,0,0,224,2,0,0,84,0,0,0,89,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,4,0,0,0,11,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,1,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,88,146,0,0,200,146,0,0,56,147,0,0,56,147,0,0,120,187,0,0,168,155,0,0,168,149,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,9,0,0,0,159,219,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,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,9,0,0,0,151,215,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,9,0,0,0,143,211,0,0,0,4,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,10,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+35640),allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+39844),allocate([240,2,0,0,90,0,0,0,91,0,0,0,20,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,14,0,0,0,20,0,0,0,0,0,0,0,0,3,0,0,90,0,0,0,92,0,0,0,21,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,16,0,0,0,21,0,0,0,15,0,0,0,22,0,0,0,0,0,0,0,16,3,0,0,93,0,0,0,94,0,0,0,22,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,32,3,0,0,93,0,0,0,95,0,0,0,23,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,19,0,0,0,20,0,0,0,25,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,56,3,0,0,96,0,0,0,97,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,3,0,0,93,0,0,0,98,0,0,0,17,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,160,3,0,0,90,0,0,0,99,0,0,0,24,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,15,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,168,3,0,0,100,0,0,0,101,0,0,0,248,255,255,255,248,255,255,255,168,3,0,0,102,0,0,0,103,0,0,0,8,0,0,0,0,0,0,0,192,3,0,0,104,0,0,0,105,0,0,0,248,255,255,255,248,255,255,255,192,3,0,0,106,0,0,0,107,0,0,0,4,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,252,255,255,255,252,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,4,0,0,0,0,0,0,0,240,3,0,0,108,0,0,0,109,0,0,0,252,255,255,255,252,255,255,255,240,3,0,0,110,0,0,0,111,0,0,0,0,0,0,0,96,3,0,0,112,0,0,0,113,0,0,0,7,0,0,0,0,0,0,0,112,3,0,0,114,0,0,0,115,0,0,0,0,0,0,0,8,4,0,0,72,0,0,0,116,0,0,0,21,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,117,0,0,0,118,0,0,0,119,0,0,0,1,0,0,0,33,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,5,0,0,120,0,0,0,121,0,0,0,119,0,0,0,2,0,0,0,34,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,5,0,0,122,0,0,0,123,0,0,0,119,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,5,0,0,124,0,0,0,125,0,0,0,119,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,5,0,0,126,0,0,0,127,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,5,0,0,128,0,0,0,129,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,26,0,0,0,3,0,0,0,4,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,5,0,0,130,0,0,0,131,0,0,0,119,0,0,0,22,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,248,255,255,255,224,5,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,0,0,132,0,0,0,133,0,0,0,119,0,0,0,30,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,2,0,0,0,248,255,255,255,8,6,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,6,0,0,134,0,0,0,135,0,0,0,119,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,6,0,0,136,0,0,0,137,0,0,0,119,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,6,0,0,138,0,0,0,139,0,0,0,119,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,40,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,6,0,0,140,0,0,0,141,0,0,0,119,0,0,0,41,0,0,0,42,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,43,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,6,0,0,142,0,0,0,143,0,0,0,119,0,0,0,44,0,0,0,45,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,46,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,6,0,0,144,0,0,0,145,0,0,0,119,0,0,0,47,0,0,0,48,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,49,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,6,0,0,146,0,0,0,147,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,0,0,148,0,0,0,149,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,7,0,0,150,0,0,0,151,0,0,0,119,0,0,0,1,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,7,0,0,152,0,0,0,153,0,0,0,119,0,0,0,2,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,0,0,154,0,0,0,155,0,0,0,119,0,0,0,19,0,0,0,7,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,7,0,0,156,0,0,0,157,0,0,0,119,0,0,0,20,0,0,0,8,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,4,0,0,158,0,0,0,159,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,5,0,0,160,0,0,0,161,0,0,0,119,0,0,0,27,0,0,0,21,0,0,0,28,0,0,0,22,0,0,0,29,0,0,0,9,0,0,0,23,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,4,0,0,162,0,0,0,163,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,12,0,0,0,50,0,0,0,51,0,0,0,13,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,5,0,0,164,0,0,0,165,0,0,0,119,0,0,0,53,0,0,0,54,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,80,5,0,0,166,0,0,0,167,0,0,0,119,0,0,0,55,0,0,0,56,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,0,0,0,0,32,4,0,0,168,0,0,0,169,0,0,0,119,0,0,0,0,0,0,0,48,4,0,0,168,0,0,0,170,0,0,0,119,0,0,0,24,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,30,0,0,0,25,0,0,0,31,0,0,0,26,0,0,0,32,0,0,0,13,0,0,0,27,0,0,0,14,0,0,0,0,0,0,0,80,4,0,0,168,0,0,0,171,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,15,0,0,0,57,0,0,0,58,0,0,0,16,0,0,0,59,0,0,0,0,0,0,0,112,4,0,0,168,0,0,0,172,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,17,0,0,0,60,0,0,0,61,0,0,0,18,0,0,0,62,0,0,0,0,0,0,0,144,4,0,0,168,0,0,0,173,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,176,4,0,0,168,0,0,0,174,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,192,4,0,0,168,0,0,0,175,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,32,2,32,2,32,2,32,2,32,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,96,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,213,8,213,8,213,8,213,8,213,8,213,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,4,192,4,192,4,192,4,192,4,192,4,192,8,214,8,214,8,214,8,214,8,214,8,214,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,4,192,4,192,4,192,4,192,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,119,83,116,114,101,97,109,32,111,114,32,114,97,119,68,97,116,97,32,110,101,101,100,115,32,116,111,32,114,101,102,101,114,101,110,99,101,32,116,111,32,115,111,109,101,116,104,105,110,103,0,119,105,100,116,104,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,104,101,105,103,104,116,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,98,105,116,115,112,101,114,115,97,109,112,108,101,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,50,44,32,49,54,93,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,110,101,101,100,115,32,116,111,32,98,101,32,115,101,116,32,116,111,32,97,32,118,97,108,117,101,32,111,102,32,123,78,111,110,101,44,32,83,97,109,112,108,101,44,32,76,105,110,101,125,0,99,111,109,112,111,110,101,110,116,115,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,50,53,53,93,0,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,119,105,116,104,32,116,104,101,32,111,116,104,101,114,32,112,97,114,97,109,101,116,101,114,115,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,110,111,116,32,98,101,32,115,101,116,32,116,111,32,83,97,109,112,108,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,52,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,32,111,110,108,121,32,98,101,32,115,101,116,32,116,111,32,78,111,110,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,49,0,67,111,108,111,114,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,0,78,111,32,109,111,114,101,32,98,121,116,101,115,32,97,118,97,105,108,97,98,108,101,32,105,110,32,105,110,112,117,116,32,98,117,102,102,101,114,44,32,115,116,105,108,108,32,110,101,101,100,101,100,105,110,103,32,0,65,110,32,111,100,100,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,40,0,41,32,99,97,110,110,111,116,32,98,101,32,115,119,97,112,112,101,100,46,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,69,0,49,49,80,114,111,99,101,115,115,76,105,110,101,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,105,110,103,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,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,49,49,57,98,97,115,105,99,95,111,115,116,114,105,110,103,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,116,69,69,0,50,50,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,83,116,114,101,97,109,0,50,53,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,67,111,109,112,111,110,101,110,116,0,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,104,69,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,67,104,97,114,76,83,32,101,114,114,111,114,0,99,104,97,114,108,115,0,49,53,99,104,97,114,108,115,95,99,97,116,101,103,111,114,121,0,112,97,114,97,109,115,46,88,116,104,117,109,98,110,97,105,108,32,105,115,32,62,32,48,32,98,117,116,32,112,97,114,97,109,115,46,116,104,117,109,98,110,97,105,108,32,61,61,32,110,117,108,108,95,112,116,114,0,49,55,74,112,101,103,77,97,114,107,101,114,83,101,103,109,101,110,116,0,49,49,74,112,101,103,83,101,103,109,101,110,116,0,50,48,74,112,101,103,73,109,97,103,101,68,97,116,97,83,101,103,109,101,110,116,0,69,120,112,101,99,116,101,100,32,74,80,69,71,32,77,97,114,107,101,114,32,115,116,97,114,116,32,98,121,116,101,32,48,120,70,70,32,98,117,116,32,116,104,101,32,98,121,116,101,32,118,97,108,117,101,32,119,97,115,32,48,120,0,74,80,69,71,32,101,110,99,111,100,105,110,103,32,119,105,116,104,32,109,97,114,107,101,114,32,0,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,0,85,110,107,110,111,119,110,32,74,80,69,71,32,109,97,114,107,101,114,32,0,32,101,110,99,111,117,110,116,101,114,101,100,46,0,109,114,102,120,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,83,116,57,116,121,112,101,95,105,110,102,111,0,83,116,56,98,97,100,95,99,97,115,116,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,101,120,99,101,112,116,105,111,110,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+42396),allocate([32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,80,79,83,73,88],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+52636),allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,58,32,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,105,111,115,116,114,101,97,109,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,37,112,0,67,0,37,0,0,0,0,0,108,0,108,108,0,0,76,0,37,112,0,0,0,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,37,72,58,37,77,37,72,58,37,77,58,37,83,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,48,49,50,51,52,53,54,55,56,57,0,37,76,102,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,0,37,46,48,76,102,0,116,114,117,101,0,102,97,108,115,101,0,83,117,110,100,97,121,0,77,111,110,100,97,121,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,84,104,117,114,115,100,97,121,0,70,114,105,100,97,121,0,83,97,116,117,114,100,97,121,0,83,117,110,0,77,111,110,0,84,117,101,0,87,101,100,0,84,104,117,0,70,114,105,0,83,97,116,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,77,97,114,99,104,0,65,112,114,105,108,0,77,97,121,0,74,117,110,101,0,74,117,108,121,0,65,117,103,117,115,116,0,83,101,112,116,101,109,98,101,114,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,68,101,99,101,109,98,101,114,0,74,97,110,0,70,101,98,0,77,97,114,0,65,112,114,0,74,117,110,0,74,117,108,0,65,117,103,0,83,101,112,0,79,99,116,0,78,111,118,0,68,101,99,0,65,77,0,80,77,0,37,109,47,37,100,47,37,121,0,37,72,58,37,77,58,37,83,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,37,73,58,37,77,58,37,83,32,37,112,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+56215);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3],HEAP8[tempDoublePtr+4]=HEAP8[e+4],HEAP8[tempDoublePtr+5]=HEAP8[e+5],HEAP8[tempDoublePtr+6]=HEAP8[e+6],HEAP8[tempDoublePtr+7]=HEAP8[e+7]}function _atexit(e,i){__ATEXIT__.unshift({func:e,arg:i})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function ___assert_fail(e,i,r,t){throw ABORT=!0,"Assertion failed: "+Pointer_stringify(e)+", at: "+[i?Pointer_stringify(i):"unknown filename",r,t?Pointer_stringify(t):"unknown function"]+" at "+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}assert(tempDoublePtr%8==0),Module._i64Subtract=_i64Subtract;var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(e){if(!e||EXCEPTIONS.infos[e])return e;for(var i in EXCEPTIONS.infos){if(EXCEPTIONS.infos[i].adjusted===e)return i}return e},addRef:function(e){e&&EXCEPTIONS.infos[e].refcount++},decRef:function(e){if(e){var i=EXCEPTIONS.infos[e];assert(i.refcount>0),i.refcount--,0===i.refcount&&(i.destructor&&Runtime.dynCall("vi",i.destructor,[e]),delete EXCEPTIONS.infos[e],___cxa_free_exception(e))}},clearRef:function(e){e&&(EXCEPTIONS.infos[e].refcount=0)}};function ___resumeException(e){throw EXCEPTIONS.last||(EXCEPTIONS.last=e),EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(e)),e}function ___cxa_find_matching_catch(){var e=EXCEPTIONS.last;if(!e)return 0|(asm.setTempRet0(0),0);var i=EXCEPTIONS.infos[e],r=i.type;if(!r)return 0|(asm.setTempRet0(0),e);var t=Array.prototype.slice.call(arguments);Module.___cxa_is_pointer_type(r);___cxa_find_matching_catch.buffer||(___cxa_find_matching_catch.buffer=_malloc(4)),HEAP32[___cxa_find_matching_catch.buffer>>2]=e,e=___cxa_find_matching_catch.buffer;for(var n=0;n>2],i.adjusted=e,0|(asm.setTempRet0(t[n]),e);return e=HEAP32[e>>2],0|(asm.setTempRet0(r),e)}function ___cxa_throw(e,i,r){throw EXCEPTIONS.infos[e]={ptr:e,adjusted:e,type:i,destructor:r,refcount:0},EXCEPTIONS.last=e,"uncaught_exception"in __ZSt18uncaught_exceptionv?__ZSt18uncaught_exceptionv.uncaught_exception++:__ZSt18uncaught_exceptionv.uncaught_exception=1,e}Module._memset=_memset;var _BDtoILow=!0,_emscripten_resume=!0;function ___gxx_personality_v0(){}var _emscripten_landingpad=!0;function __isLeapYear(e){return e%4==0&&(e%100!=0||e%400==0)}function __arraySum(e,i){for(var r=0,t=0;t<=i;r+=e[t++]);return r}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31],__MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(e,i){for(var r=new Date(e.getTime());i>0;){var t=__isLeapYear(r.getFullYear()),n=r.getMonth(),f=(t?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[n];if(!(i>f-r.getDate()))return r.setDate(r.getDate()+i),r;i-=f-r.getDate()+1,r.setDate(1),n<11?r.setMonth(n+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r}function _strftime(e,i,r,t){var n=HEAP32[t+40>>2],f={tm_sec:HEAP32[t>>2],tm_min:HEAP32[t+4>>2],tm_hour:HEAP32[t+8>>2],tm_mday:HEAP32[t+12>>2],tm_mon:HEAP32[t+16>>2],tm_year:HEAP32[t+20>>2],tm_wday:HEAP32[t+24>>2],tm_yday:HEAP32[t+28>>2],tm_isdst:HEAP32[t+32>>2],tm_gmtoff:HEAP32[t+36>>2],tm_zone:n?Pointer_stringify(n):""},a=Pointer_stringify(r),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var l in s)a=a.replace(new RegExp(l,"g"),s[l]);var o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],u=["January","February","March","April","May","June","July","August","September","October","November","December"];function c(e,i,r){for(var t="number"==typeof e?e.toString():e||"";t.length0?1:0}var t;return 0===(t=r(e.getFullYear()-i.getFullYear()))&&0===(t=r(e.getMonth()-i.getMonth()))&&(t=r(e.getDate()-i.getDate())),t}function b(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function k(e){var i=__addDays(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(i.getFullYear(),0,4),t=new Date(i.getFullYear()+1,0,4),n=b(r),f=b(t);return d(n,i)<=0?d(f,i)<=0?i.getFullYear()+1:i.getFullYear():i.getFullYear()-1}var w={"%a":function(e){return o[e.tm_wday].substring(0,3)},"%A":function(e){return o[e.tm_wday]},"%b":function(e){return u[e.tm_mon].substring(0,3)},"%B":function(e){return u[e.tm_mon]},"%C":function(e){return h((e.tm_year+1900)/100|0,2)},"%d":function(e){return h(e.tm_mday,2)},"%e":function(e){return c(e.tm_mday,2," ")},"%g":function(e){return k(e).toString().substring(2)},"%G":function(e){return k(e)},"%H":function(e){return h(e.tm_hour,2)},"%I":function(e){return h(e.tm_hour<13?e.tm_hour:e.tm_hour-12,2)},"%j":function(e){return h(e.tm_mday+__arraySum(__isLeapYear(e.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,e.tm_mon-1),3)},"%m":function(e){return h(e.tm_mon+1,2)},"%M":function(e){return h(e.tm_min,2)},"%n":function(){return"\\n"},"%p":function(e){return e.tm_hour>0&&e.tm_hour<13?"AM":"PM"},"%S":function(e){return h(e.tm_sec,2)},"%t":function(){return"\\t"},"%u":function(e){return new Date(e.tm_year+1900,e.tm_mon+1,e.tm_mday,0,0,0,0).getDay()||7},"%U":function(e){var i=new Date(e.tm_year+1900,0,1),r=0===i.getDay()?i:__addDays(i,7-i.getDay()),t=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(d(r,t)<0){var n=__arraySum(__isLeapYear(t.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,t.getMonth()-1)-31,f=31-r.getDate()+n+t.getDate();return h(Math.ceil(f/7),2)}return 0===d(r,i)?"01":"00"},"%V":function(e){var i,r=new Date(e.tm_year+1900,0,4),t=new Date(e.tm_year+1901,0,4),n=b(r),f=b(t),a=__addDays(new Date(e.tm_year+1900,0,1),e.tm_yday);return d(a,n)<0?"53":d(f,a)<=0?"01":(i=n.getFullYear()=0;return i=(i=Math.abs(i)/60)/60*100+i%60,(r?"+":"-")+String("0000"+i).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var l in w)a.indexOf(l)>=0&&(a=a.replace(new RegExp(l,"g"),w[l](f)));var _=intArrayFromString(a,!1);return _.length>i?0:(writeArrayToMemory(_,e),_.length-1)}function _strftime_l(e,i,r,t){return _strftime(e,i,r,t)}function _abort(){Module.abort()}function _free(){}function ___cxa_free_exception(e){try{return _free(e)}catch(e){}}function ___cxa_end_catch(){if(___cxa_end_catch.rethrown)___cxa_end_catch.rethrown=!1;else{asm.setThrew(0);var e=EXCEPTIONS.caught.pop();e&&(EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(e)),EXCEPTIONS.last=0)}}function _pthread_once(e,i){_pthread_once.seen||(_pthread_once.seen={}),e in _pthread_once.seen||(Runtime.dynCall("v",i),_pthread_once.seen[e]=1)}function ___lock(){}function ___unlock(){}Module._free=_free;var PTHREAD_SPECIFIC={};function _pthread_getspecific(e){return PTHREAD_SPECIFIC[e]||0}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}var _fabs=Math_abs,PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(e,i){return 0==e?ERRNO_CODES.EINVAL:(HEAP32[e>>2]=PTHREAD_SPECIFIC_NEXT_KEY,PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0,PTHREAD_SPECIFIC_NEXT_KEY++,0)}var PATH=void 0;function _emscripten_set_main_loop_timing(e,i){if(Browser.mainLoop.timingMode=e,Browser.mainLoop.timingValue=i,!Browser.mainLoop.func)return 1;if(0==e)Browser.mainLoop.scheduler=function(){setTimeout(Browser.mainLoop.runner,i)},Browser.mainLoop.method="timeout";else if(1==e)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(2==e){if(!window.setImmediate){var r=[],t="__emcc";window.addEventListener("message",(function(e){e.source===window&&e.data===t&&(e.stopPropagation(),r.shift()())}),!0),window.setImmediate=function(e){r.push(e),window.postMessage(t,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(e,i,r,t,n){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=e,Browser.mainLoop.arg=t;var f=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var i=Date.now(),r=Browser.mainLoop.queue.shift();if(r.func(r.arg),Browser.mainLoop.remainingBlockers){var n=Browser.mainLoop.remainingBlockers,a=n%1==0?n-1:Math.floor(n);r.counted?Browser.mainLoop.remainingBlockers=a:(a+=.5,Browser.mainLoop.remainingBlockers=(8*n+a)/9)}return console.log(\'main loop blocker "\'+r.name+\'" took \'+(Date.now()-i)+" ms"),Browser.mainLoop.updateStatus(),void setTimeout(Browser.mainLoop.runner,0)}f1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0?Browser.mainLoop.scheduler():("timeout"===Browser.mainLoop.method&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter((function(){void 0!==t?Runtime.dynCall("vi",e,[t]):Runtime.dynCall("v",e)})),f0?_emscripten_set_main_loop_timing(0,1e3/i):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var e=Browser.mainLoop.timingMode,i=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(e,i),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var e=Module.statusMessage||"Please wait...",i=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;i?i=6;){var a=t>>n-6&63;n-=6,r+=i[a]}return 2==n?(r+=i[(3&t)<<4],r+="=="):4==n&&(r+=i[(15&t)<<2],r+="="),r}(e),f(o))},o.src=l,Browser.safeSetTimeout((function(){f(o)}),1e4)}};Module.preloadPlugins.push(i);var r=Module.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||function(){},r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},r.exitPointerLock=r.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",t,!1),document.addEventListener("mozpointerlockchange",t,!1),document.addEventListener("webkitpointerlockchange",t,!1),document.addEventListener("mspointerlockchange",t,!1),Module.elementPointerLock&&r.addEventListener("click",(function(e){!Browser.pointerLock&&r.requestPointerLock&&(r.requestPointerLock(),e.preventDefault())}),!1))}function t(){Browser.pointerLock=document.pointerLockElement===r||document.mozPointerLockElement===r||document.webkitPointerLockElement===r||document.msPointerLockElement===r}},createContext:function(e,i,r,t){if(i&&Module.ctx&&e==Module.canvas)return Module.ctx;var n,f;if(i){var a={antialias:!1,alpha:!1};if(t)for(var s in t)a[s]=t[s];(f=GL.createContext(e,a))&&(n=GL.getContext(f).GLctx),e.style.backgroundColor="black"}else n=e.getContext("2d");return n?(r&&(i||assert("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=n,i&&GL.makeContextCurrent(f),Module.useWebGL=i,Browser.moduleContextCreatedCallbacks.forEach((function(e){e()})),Browser.init()),n):null},destroyContext:function(e,i,r){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(e,i,r){Browser.lockPointer=e,Browser.resizeCanvas=i,Browser.vrDevice=r,void 0===Browser.lockPointer&&(Browser.lockPointer=!0),void 0===Browser.resizeCanvas&&(Browser.resizeCanvas=!1),void 0===Browser.vrDevice&&(Browser.vrDevice=null);var t=Module.canvas;function n(){Browser.isFullScreen=!1;var e=t.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e?(t.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},t.cancelFullScreen=t.cancelFullScreen.bind(document),Browser.lockPointer&&t.requestPointerLock(),Browser.isFullScreen=!0,Browser.resizeCanvas&&Browser.setFullScreenCanvasSize()):(e.parentNode.insertBefore(t,e),e.parentNode.removeChild(e),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullScreen),Browser.updateCanvasDimensions(t)}Browser.fullScreenHandlersInstalled||(Browser.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var f=document.createElement("div");t.parentNode.insertBefore(f,t),f.appendChild(t),f.requestFullScreen=f.requestFullScreen||f.mozRequestFullScreen||f.msRequestFullscreen||(f.webkitRequestFullScreen?function(){f.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?f.requestFullScreen({vrDisplay:r}):f.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(e){var i=Date.now();if(0===Browser.nextRAF)Browser.nextRAF=i+1e3/60;else for(;i+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-i,0);setTimeout(e,r)},requestAnimationFrame:function(e){"undefined"==typeof window?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var e=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],e.forEach((function(e){e()}))}},safeRequestAnimationFrame:function(e){return Browser.requestAnimationFrame((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}))},safeSetTimeout:function(e,i){return Module.noExitRuntime=!0,setTimeout((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}),i)},safeSetInterval:function(e,i){return Module.noExitRuntime=!0,setInterval((function(){ABORT||Browser.allowAsyncCallbacks&&e()}),i)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var i=0;switch(e.type){case"DOMMouseScroll":i=e.detail;break;case"mousewheel":i=e.wheelDelta;break;case"wheel":i=e.deltaY;break;default:throw"unrecognized mouse wheel event: "+e.type}return i},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Browser.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),"undefined"!=typeof SDL?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var i=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,t=Module.canvas.height,n=void 0!==window.scrollX?window.scrollX:window.pageXOffset,f=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var a=e.touch;if(void 0===a)return;var s=a.pageX-(n+i.left),l=a.pageY-(f+i.top),o={x:s*=r/i.width,y:l*=t/i.height};if("touchstart"===e.type)Browser.lastTouches[a.identifier]=o,Browser.touches[a.identifier]=o;else if("touchend"===e.type||"touchmove"===e.type){var u=Browser.touches[a.identifier];u||(u=o),Browser.lastTouches[a.identifier]=u,Browser.touches[a.identifier]=o}return}var c=e.pageX-(n+i.left),h=e.pageY-(f+i.top);c*=r/i.width,h*=t/i.height,Browser.mouseMovementX=c-Browser.mouseX,Browser.mouseMovementY=h-Browser.mouseY,Browser.mouseX=c,Browser.mouseY=h}},xhrLoad:function(e,i,r){var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=function(){200==t.status||0==t.status&&t.response?i(t.response):r()},t.onerror=r,t.send(null)},asyncLoad:function(e,i,r,t){Browser.xhrLoad(e,(function(r){assert(r,\'Loading data file "\'+e+\'" failed (no arrayBuffer).\'),i(new Uint8Array(r)),t||removeRunDependency("al "+e)}),(function(i){if(!r)throw\'Loading data file "\'+e+\'" failed.\';r()})),t||addRunDependency("al "+e)},resizeListeners:[],updateResizeListeners:function(){var e=Module.canvas;Browser.resizeListeners.forEach((function(i){i(e.width,e.height)}))},setCanvasSize:function(e,i,r){var t=Module.canvas;Browser.updateCanvasDimensions(t,e,i),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e|=8388608,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e&=-8388609,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},updateCanvasDimensions:function(e,i,r){i&&r?(e.widthNative=i,e.heightNative=r):(i=e.widthNative,r=e.heightNative);var t=i,n=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(t/n>2]},getStr:function(){return Pointer_stringify(SYSCALLS.get())},get64:function(){var e=SYSCALLS.get(),i=SYSCALLS.get();return assert(e>=0?0===i:-1===i),e},getZero:function(){assert(0===SYSCALLS.get())}};function ___syscall54(e,i){SYSCALLS.varargs=i;try{return 0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___cxa_pure_virtual(){throw ABORT=!0,"Pure virtual function called!"}Module._i64Add=_i64Add,Module._bitshift64Lshr=_bitshift64Lshr;var _BDtoIHigh=!0;function _pthread_cleanup_push(e,i){__ATEXIT__.push((function(){Runtime.dynCall("vi",e,[i])})),_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(e){return HEAP8[e>>0]?0:(HEAP8[e>>0]=1,1)}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!"),__ATEXIT__.pop(),_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_guard_release(){}function ___cxa_begin_catch(e){return __ZSt18uncaught_exceptionv.uncaught_exception--,EXCEPTIONS.caught.push(e),EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(e)),e}function _llvm_eh_typeid_for(e){return e}function _emscripten_memcpy_big(e,i,r){return HEAPU8.set(HEAPU8.subarray(i,i+r),e),e}function ___syscall6(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function _pthread_mutex_lock(){}Module._memcpy=_memcpy;var _emscripten_postinvoke=!0;function _sbrk(e){var i=_sbrk;i.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),i.called=!0,assert(Runtime.dynamicAlloc),i.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var r=DYNAMICTOP;if(0!=e&&!i.alloc(e))return-1>>>0;return r}function ___cxa_guard_abort(){}Module._bitshift64Shl=_bitshift64Shl,Module._memmove=_memmove;var _emscripten_preinvoke=!0,_BItoD=!0;function _pthread_cond_wait(){return 0}function ___cxa_rethrow(){___cxa_end_catch.rethrown=!0;var e=EXCEPTIONS.caught.pop();throw EXCEPTIONS.last=e,e}function _pthread_mutex_unlock(){}function _time(e){var i=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=i),i}function _pthread_self(){return 0}function ___syscall140(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get(),f=SYSCALLS.get(),a=SYSCALLS.get(),s=n;return assert(0===t),FS.llseek(r,s,a),HEAP32[f>>2]=r.position,r.getdents&&0===s&&0===a&&(r.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,i){SYSCALLS.varargs=i;try{SYSCALLS.get();var r=SYSCALLS.get(),t=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffer=[]);for(var f=___syscall146.buffer,a=0;a>2],l=HEAP32[r+(8*a+4)>>2],o=0;o>0]=t[e>>0];t[d+1>>0]=t[e+1>>0];t[d+2>>0]=t[e+2>>0];t[d+3>>0]=t[e+3>>0]}function Oi(e){e=e|0;t[d>>0]=t[e>>0];t[d+1>>0]=t[e+1>>0];t[d+2>>0]=t[e+2>>0];t[d+3>>0]=t[e+3>>0];t[d+4>>0]=t[e+4>>0];t[d+5>>0]=t[e+5>>0];t[d+6>>0]=t[e+6>>0];t[d+7>>0]=t[e+7>>0]}function Bi(e){e=e|0;x=e}function Ii(){return x|0}function Di(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0;y=c;c=c+128|0;b=y+44|0;m=y+8|0;u=y+4|0;d=y;k=r+4|0;w=r+8|0;_=0;Re(35,f[r>>2]|0,f[k>>2]|0,f[w>>2]|0,n|0);h=_;_=0;if(!(h&1)){l=b;s=l+84|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(s|0));n=b+12|0;if((f[n>>2]|0)==0?(o=re(((f[b+8>>2]|0)+7|0)/8|0,f[b>>2]|0)|0,f[n>>2]=o,(f[b+24>>2]|0)!=0):0)f[n>>2]=re(f[b+16>>2]|0,o)|0;_=0;ue(176,m|0);h=_;_=0;if(!(h&1)){n=b+56|0;do{if(f[n>>2]|0){_=0;n=de(66,n|0)|0;h=_;_=0;if(!(h&1)){f[u>>2]=n;s=m+28|0;l=f[s>>2]|0;if(l>>>0<(f[m+32>>2]|0)>>>0){f[l>>2]=n;f[s>>2]=l+4;f[u>>2]=0;v=19;break}_=0;ce(57,m+24|0,u|0);h=_;_=0;if(h&1){s=ze(824,0)|0;n=x;l=f[u>>2]|0;f[u>>2]=0;if(!l)break;fM[f[(f[l>>2]|0)+4>>2]&255](l);break}else{n=f[u>>2]|0;f[u>>2]=0;if(!n){v=19;break}fM[f[(f[n>>2]|0)+4>>2]&255](n);v=19;break}}else v=15}else v=19}while(0);e:do{if((v|0)==19){l=b+4|0;o=b+8|0;u=b+16|0;_=0;n=Ee(14,f[b>>2]|0,f[l>>2]|0,f[o>>2]|0,f[u>>2]|0)|0;h=_;_=0;if(!(h&1)){f[d>>2]=n;h=m+28|0;s=f[h>>2]|0;do{if(s>>>0>=(f[m+32>>2]|0)>>>0){_=0;ce(57,m+24|0,d|0);s=_;_=0;if(s&1){s=ze(824,0)|0;n=x;l=f[d>>2]|0;f[d>>2]=0;if(!l)break e;fM[f[(f[l>>2]|0)+4>>2]&255](l);break e}else{n=f[d>>2]|0;f[d>>2]=0;if(!n)break;fM[f[(f[n>>2]|0)+4>>2]&255](n);break}}else{f[s>>2]=n;f[h>>2]=s+4;f[d>>2]=0}}while(0);n=f[b+28>>2]|0;if((n|0)!=0?(_=0,ce(58,m|0,n|0),v=_,_=0,v&1):0){v=15;break}i:do{if(!(f[b+24>>2]|0)){n=re(f[l>>2]|0,f[b>>2]|0)|0;n=re(n,((f[o>>2]|0)+7|0)/8|0)|0;if((f[u>>2]|0)>0){l=0;while(1){_=0;Ae(4,m|0,r|0,b|0);v=_;_=0;if(v&1)break;s=f[k>>2]|0;if(s){f[k>>2]=s+n;f[w>>2]=(f[w>>2]|0)-n}l=l+1|0;if((l|0)>=(f[u>>2]|0))break i}s=ze(824,0)|0;n=x;v=16;break e}}else{_=0;Ae(4,m|0,r|0,b|0);v=_;_=0;if(v&1){v=15;break e}}}while(0);_=0;pe(33,m|0,e|0)|0;v=_;_=0;if(!(v&1)){f[i>>2]=f[m+16>>2];if(a)t[a>>0]=0;l=m+24|0;n=f[l>>2]|0;if(n){s=f[h>>2]|0;if((s|0)!=(n|0)){do{a=s+-4|0;f[h>>2]=a;s=f[a>>2]|0;f[a>>2]=0;if(s)fM[f[(f[s>>2]|0)+4>>2]&255](s);s=f[h>>2]|0}while((s|0)!=(n|0));n=f[l>>2]|0}Ip(n)}a=0;c=y;return a|0}else v=15}else v=15}}while(0);if((v|0)==15){s=ze(824,0)|0;n=x;v=16}h=m+24|0;l=f[h>>2]|0;if(l){u=m+28|0;o=f[u>>2]|0;if((o|0)!=(l|0)){do{m=o+-4|0;f[u>>2]=m;o=f[m>>2]|0;f[m>>2]=0;if(o)fM[f[(f[o>>2]|0)+4>>2]&255](o);o=f[u>>2]|0}while((o|0)!=(l|0));l=f[h>>2]|0}Ip(l)}}else v=5}else v=5;if((v|0)==5){s=ze(824,0)|0;n=x}m=(n|0)==(Ke(824)|0);o=Ze(s|0)|0;n=(a|0)==0;if(!m){if(!n)t[a>>0]=0;Qe();a=14;c=y;return a|0}l=o+12|0;do{if(!n){n=f[l>>2]|0;_=0;s=Me(1)|0;m=_;_=0;if(!(m&1))if((n|0)==(s|0)){Xy(a,lM[f[(f[o>>2]|0)+8>>2]&127](o)|0)|0;v=60;break}else{t[a>>0]=0;v=60;break}}else v=60}while(0);if((v|0)==60?(p=f[l>>2]|0,_=0,g=Me(1)|0,a=_,_=0,!(a&1)):0){a=(p|0)==(g|0)?f[o+8>>2]|0:13;Qe();c=y;return a|0}n=ze()|0;_=0;Se(3);y=_;_=0;if(y&1){y=ze(0)|0;Fi(y)}else $e(n|0);return 0}function Ni(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0;u=c;c=c+112|0;a=u+96|0;o=u+84|0;h=u+72|0;d=u+60|0;b=u+48|0;k=u+36|0;w=u+24|0;m=u+12|0;v=u;l=(i|0)==0;if((e|0)==0&l){n=He(16)|0;_=0;Ae(5,a|0,48504,52);v=_;_=0;if(!(v&1)){_=0;i=Me(1)|0;v=_;_=0;if(!(v&1)?(_=0,Re(36,n|0,1,i|0,a|0),v=_,_=0,!(v&1)):0){_=0;Ae(6,n|0,824,96);_=0;e=0}else e=1;i=ze()|0;Oh(a);if(!e){v=i;$e(v|0)}}else i=ze()|0;je(n|0);v=i;$e(v|0)}s=f[t>>2]|0;if((s+-1|0)>>>0>65534){n=He(16)|0;_=0;Ae(5,o|0,48557,41);v=_;_=0;if(!(v&1)){_=0;i=Me(1)|0;v=_;_=0;if(!(v&1)?(_=0,Re(36,n|0,1,i|0,o|0),v=_,_=0,!(v&1)):0){_=0;Ae(6,n|0,824,96);_=0;e=0}else e=1;i=ze()|0;Oh(o);if(!e){v=i;$e(v|0)}}else i=ze()|0;je(n|0);v=i;$e(v|0)}a=f[t+4>>2]|0;if((a+-1|0)>>>0>65534){n=He(16)|0;_=0;Ae(5,h|0,48599,42);v=_;_=0;if(!(v&1)){_=0;i=Me(1)|0;v=_;_=0;if(!(v&1)?(_=0,Re(36,n|0,1,i|0,h|0),v=_,_=0,!(v&1)):0){_=0;Ae(6,n|0,824,96);_=0;e=0}else e=1;i=ze()|0;Oh(h);if(!e){v=i;$e(v|0)}}else i=ze()|0;je(n|0);v=i;$e(v|0)}n=f[t+8>>2]|0;if((n+-2|0)>>>0>14){n=He(16)|0;_=0;Ae(5,d|0,48642,46);v=_;_=0;if(!(v&1)){_=0;i=Me(1)|0;v=_;_=0;if(!(v&1)?(_=0,Re(36,n|0,1,i|0,d|0),v=_,_=0,!(v&1)):0){_=0;Ae(6,n|0,824,96);_=0;e=0}else e=1;i=ze()|0;Oh(d);if(!e){v=i;$e(v|0)}}else i=ze()|0;je(n|0);v=i;$e(v|0)}e=f[t+24>>2]|0;if(e>>>0>=3){n=He(16)|0;_=0;Ae(5,b|0,48689,65);v=_;_=0;if(!(v&1)){_=0;i=Me(1)|0;v=_;_=0;if(!(v&1)?(_=0,Re(36,n|0,1,i|0,b|0),v=_,_=0,!(v&1)):0){_=0;Ae(6,n|0,824,96);_=0;e=0}else e=1;i=ze()|0;Oh(b);if(!e){v=i;$e(v|0)}}else i=ze()|0;je(n|0);v=i;$e(v|0)}i=f[t+16>>2]|0;if((i+-1|0)>>>0>254){n=He(16)|0;_=0;Ae(5,k|0,48755,44);v=_;_=0;if(!(v&1)){_=0;i=Me(1)|0;v=_;_=0;if(!(v&1)?(_=0,Re(36,n|0,1,i|0,k|0),v=_,_=0,!(v&1)):0){_=0;Ae(6,n|0,824,96);_=0;e=0}else e=1;i=ze()|0;Oh(k);if(!e){v=i;$e(v|0)}}else i=ze()|0;je(n|0);v=i;$e(v|0)}if(!l?(k=re(a,s)|0,(re(re(k,(n|0)>8?2:1)|0,i)|0)>>>0>r>>>0):0){n=He(16)|0;_=0;Ae(5,w|0,48800,58);v=_;_=0;if(!(v&1)){_=0;i=Me(1)|0;v=_;_=0;if(!(v&1)?(_=0,Re(36,n|0,1,i|0,w|0),v=_,_=0,!(v&1)):0){_=0;Ae(6,n|0,824,96);_=0;e=0}else e=1;i=ze()|0;Oh(w);if(!e){v=i;$e(v|0)}}else i=ze()|0;je(n|0);v=i;$e(v|0)}switch(i|0){case 4:{if((e|0)!=2){c=u;return}n=He(16)|0;_=0;Ae(5,m|0,48859,73);v=_;_=0;if(!(v&1)){_=0;i=Me(1)|0;v=_;_=0;if(!(v&1)?(_=0,Re(36,n|0,1,i|0,m|0),v=_,_=0,!(v&1)):0){_=0;Ae(6,n|0,824,96);_=0;e=0}else e=1;i=ze()|0;Oh(m);if(!e){v=i;$e(v|0)}}else i=ze()|0;je(n|0);v=i;$e(v|0)}case 3:{c=u;return}default:{if(!e){c=u;return}n=He(16)|0;_=0;Ae(5,v|0,48933,73);m=_;_=0;if(!(m&1)){_=0;i=Me(1)|0;m=_;_=0;if(!(m&1)?(_=0,Re(36,n|0,1,i|0,v|0),m=_,_=0,!(m&1)):0){_=0;Ae(6,n|0,824,96);_=0;e=0}else e=1;i=ze()|0;Oh(v);if(!e){v=i;$e(v|0)}}else i=ze()|0;je(n|0);v=i;$e(v|0)}}}function Fi(e){e=e|0;Ze(e|0)|0;zp()}function Ui(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0;d=c;c=c+128|0;s=d+116|0;l=d;_=0;f[s>>2]=f[i>>2];f[s+4>>2]=f[i+4>>2];f[s+8>>2]=f[i+8>>2];ce(59,l|0,s|0);a=_;_=0;if(!(a&1)){if(r){a=l+16|0;i=a+84|0;do{f[a>>2]=f[r>>2];a=a+4|0;r=r+4|0}while((a|0)<(i|0))}_=0;f[s>>2]=f[e>>2];f[s+4>>2]=f[e+4>>2];f[s+8>>2]=f[e+8>>2];ce(60,l|0,s|0);l=_;_=0;if(!(l&1)){if(n)t[n>>0]=0;h=0;c=d;return h|0}}e=ze(824,0)|0;l=x;l=(l|0)==(Ke(824)|0);e=Ze(e|0)|0;i=(n|0)==0;if(!l){if(!i)t[n>>0]=0;Qe();h=14;c=d;return h|0}a=e+12|0;do{if(!i){i=f[a>>2]|0;_=0;r=Me(1)|0;l=_;_=0;if(!(l&1))if((i|0)==(r|0)){Xy(n,lM[f[(f[e>>2]|0)+8>>2]&127](e)|0)|0;h=10;break}else{t[n>>0]=0;h=10;break}}else h=10}while(0);if((h|0)==10?(o=f[a>>2]|0,_=0,u=Me(1)|0,h=_,_=0,!(h&1)):0){h=(o|0)==(u|0)?f[e+8>>2]|0:13;Qe();c=d;return h|0}i=ze()|0;_=0;Se(3);d=_;_=0;if(d&1){d=ze(0)|0;Fi(d)}else $e(i|0);return 0}function ji(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0;u=c;c=c+128|0;a=u+116|0;n=u;_=0;f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];ce(59,n|0,a|0);a=_;_=0;if((!(a&1)?(_=0,ue(177,n|0),a=_,_=0,!(a&1)):0)?(_=0,ce(61,n|0,1),a=_,_=0,!(a&1)):0){e=n+16|0;n=i+84|0;do{f[i>>2]=f[e>>2];i=i+4|0;e=e+4|0}while((i|0)<(n|0));if(r)t[r>>0]=0;r=0;c=u;return r|0}a=ze(824,0)|0;i=x;i=(i|0)==(Ke(824)|0);a=Ze(a|0)|0;e=(r|0)==0;if(!i){if(!e)t[r>>0]=0;Qe();r=14;c=u;return r|0}i=a+12|0;do{if(!e){e=f[i>>2]|0;_=0;n=Me(1)|0;h=_;_=0;if(!(h&1))if((e|0)==(n|0)){Xy(r,lM[f[(f[a>>2]|0)+8>>2]&127](a)|0)|0;o=13;break}else{t[r>>0]=0;o=13;break}}else o=13}while(0);if((o|0)==13?(s=f[i>>2]|0,_=0,l=Me(1)|0,h=_,_=0,!(h&1)):0){h=(s|0)==(l|0)?f[a+8>>2]|0:13;Qe();c=u;return h|0}e=ze()|0;_=0;Se(3);h=_;_=0;if(h&1){h=ze(0)|0;Fi(h)}else $e(e|0);return 0}function Hi(e,i,r,t,n,a,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0;d=c;c=c+48|0;o=d+36|0;l=d+24|0;u=d+12|0;h=d;if(!((e|0)!=0&(r|0)!=0&(t|0)!=0&(a|0)!=0)){n=1;c=d;return n|0}f[u>>2]=0;f[u+4>>2]=e;f[u+8>>2]=i;f[h>>2]=0;f[h+4>>2]=t;f[h+8>>2]=n;f[l>>2]=f[u>>2];f[l+4>>2]=f[u+4>>2];f[l+8>>2]=f[u+8>>2];f[o>>2]=f[h>>2];f[o+4>>2]=f[h+4>>2];f[o+8>>2]=f[h+8>>2];n=Di(l,r,o,a,s)|0;c=d;return n|0}function zi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0;n=c;c=c+32|0;a=n+12|0;s=n;l=s;f[l>>2]=0;f[l+4>>2]=0;f[s+4>>2]=e;f[s+8>>2]=i;f[a>>2]=f[s>>2];f[a+4>>2]=f[s+4>>2];f[a+8>>2]=f[s+8>>2];r=ji(a,r,t)|0;c=n;return r|0}function Yi(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+48|0;l=s+36|0;o=s+24|0;h=s+12|0;u=s;f[h>>2]=0;f[h+4>>2]=e;f[h+8>>2]=i;f[u>>2]=0;f[u+4>>2]=r;f[u+8>>2]=t;f[o>>2]=f[h>>2];f[o+4>>2]=f[h+4>>2];f[o+8>>2]=f[h+8>>2];f[l>>2]=f[u>>2];f[l+4>>2]=f[u+4>>2];f[l+8>>2]=f[u+8>>2];t=Ui(o,l,n,a)|0;c=s;return t|0}function qi(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0;u=e+4|0;r=f[e>>2]|0;n=((f[u>>2]|0)-r>>2)+1|0;if(n>>>0>1073741823){xp(e);r=f[e>>2]|0}c=e+8|0;t=(f[c>>2]|0)-r|0;if(t>>2>>>0<536870911){t=t>>1;t=t>>>0>>0?n:t;r=(f[u>>2]|0)-r>>2;if(!t){a=0;s=0}else l=6}else{t=1073741823;r=(f[u>>2]|0)-r>>2;l=6}if((l|0)==6){a=t;s=Bp(t<<2)|0}n=s+(r<<2)|0;t=n;o=s+(a<<2)|0;l=f[i>>2]|0;f[i>>2]=0;f[n>>2]=l;l=s+(r+1<<2)|0;s=f[e>>2]|0;r=f[u>>2]|0;if((r|0)==(s|0)){n=e;a=u}else{do{r=r+-4|0;i=f[r>>2]|0;f[r>>2]=0;f[n+-4>>2]=i;n=t+-4|0;t=n}while((r|0)!=(s|0));r=t;n=e;a=u;t=r;s=f[e>>2]|0;r=f[u>>2]|0}f[n>>2]=t;f[a>>2]=l;f[c>>2]=o;n=s;if((r|0)!=(n|0))do{r=r+-4|0;t=f[r>>2]|0;f[r>>2]=0;if(t)fM[f[(f[t>>2]|0)+4>>2]&255](t)}while((r|0)!=(n|0));if(!s)return;Ip(s);return}function Xi(){if(t[8]|0)return 35648;if(!(De(8)|0))return 35648;di(72,35648,w|0)|0;qe(8);return 35648}function Vi(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0;d=c;c=c+32|0;u=d;op(u,(1<>2]|0;h=s+1|0;r=h<<1;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;e:do{if(h){if(!((s|0)<-1?(_=0,ue(178,e|0),o=_,_=0,o&1):0))n=4;if((n|0)==4?(_=0,a=de(67,r|0)|0,o=_,_=0,!(o&1)):0){f[l>>2]=a;f[e>>2]=a;f[e+8>>2]=a+r;i=a;while(1){t[i>>0]=0;i=(f[l>>2]|0)+1|0;f[l>>2]=i;r=r+-1|0;if(!r)break e}}r=ze()|0;i=f[e>>2]|0;if(!i)$e(r|0);if((f[l>>2]|0)!=(i|0))f[l>>2]=i;Ip(i);$e(r|0)}}while(0);i=~s;if((s|0)<(i|0)){c=d;return}l=u+12|0;o=u+8|0;s=u+4|0;a=i;do{i=f[l>>2]|0;if((a|0)>(0-i|0)){r=f[o>>2]|0;if((a|0)>(0-r|0)){n=f[s>>2]|0;if((a|0)>(0-n|0))if((a|0)>=0)if((a|0)>0)if((n|0)<=(a|0))if((r|0)>(a|0))i=2;else i=(i|0)>(a|0)?3:4;else i=1;else i=0;else i=-1;else i=-2}else i=-3}else i=-4;t[(f[e>>2]|0)+(a+h)>>0]=i;a=a+1|0}while((a|0)<(h|0));c=d;return}function Gi(e,i,r){e=e|0;i=i|0;r=r|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0;k=f[r+16>>2]|0;switch(k|0){case 64:case 0:{_=0;e=pe(34,e|0,i|0)|0;i=_;_=0;if(i&1)w=16;else a=e;break}default:{s=(1<>2])+-1|0;b=f[i+20>>2]|0;d=b<<1;d=((d+s|0)/(d|1|0)|0)+1|0;e=0;while(1)if((1<>2]|0;_=0;a=de(67,4624)|0;h=_;_=0;if(h&1)w=16;else{l=((o|0)<8?8:o)+o<<1;u=a+4|0;c=i;h=u+84|0;do{f[u>>2]=f[c>>2];u=u+4|0;c=c+4|0}while((u|0)<(h|0));u=a+88|0;h=u+40|0;do{f[u>>2]=0;u=u+4|0}while((u|0)<(h|0));f[a>>2]=35660;f[a+128>>2]=s;f[a+132>>2]=d;f[a+136>>2]=b;f[a+140>>2]=e;f[a+144>>2]=o;f[a+148>>2]=l;f[a+152>>2]=k;e=a+156|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+172>>2]=f[i>>2];f[a+176>>2]=0;f[a+180>>2]=0;f[a+184>>2]=0;e=a+4568|0;s=a+188|0;do{f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;n[s+10>>1]=1;s=s+12|0}while((s|0)!=(e|0));f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4580|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4592|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+28>>2]|0))f[a+20>>2]=1}}}if((w|0)==16){w=ze()|0;$e(w|0)}if(!a)return a|0;_=0;ce(f[(f[a>>2]|0)+12>>2]|0,a|0,r|0);w=_;_=0;if(!(w&1))return a|0;e=ze()|0;if(!a){w=e;$e(w|0)}fM[f[(f[a>>2]|0)+4>>2]&255](a);w=e;$e(w|0);return 0}function Ki(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;r=(f[i+24>>2]|0)==2;if(r?(f[i+16>>2]|0)!=3:0){i=0;return i|0}d=f[i+20>>2]|0;e=f[i+8>>2]|0;e:do{if(!d){if(r){if((e|0)!=8)break;a=Bp(4600)|0;o=a+4|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));o=a+88|0;c=o+40|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(c|0));f[a>>2]=35688;e=a+132|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+148>>2]=f[i>>2];f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;e=a+4544|0;r=a+164|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4556|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4568|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+28>>2]|0))f[a+20>>2]=1;i=a;return i|0}switch(e|0){case 8:{a=Bp(4600)|0;o=a+4|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));o=a+88|0;c=o+40|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(c|0));f[a>>2]=35716;e=a+132|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+148>>2]=f[i>>2];f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;e=a+4544|0;r=a+164|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4556|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4568|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+28>>2]|0))f[a+20>>2]=1;i=a;return i|0}case 12:{a=Bp(4600)|0;o=a+4|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));o=a+88|0;c=o+40|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(c|0));f[a>>2]=35744;e=a+132|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+148>>2]=f[i>>2];f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;e=a+4544|0;r=a+164|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4556|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4568|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+28>>2]|0))f[a+20>>2]=1;i=a;return i|0}case 16:{a=Bp(4600)|0;o=a+4|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));o=a+88|0;c=o+40|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(c|0));f[a>>2]=35772;e=a+132|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+148>>2]=f[i>>2];f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;e=a+4544|0;r=a+164|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4556|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4568|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+28>>2]|0))f[a+20>>2]=1;i=a;return i|0}default:break e}}}while(0);h=(1<>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));o=s+88|0;c=o+40|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(c|0));f[s>>2]=35800;f[s+128>>2]=h;f[s+132>>2]=l;f[s+136>>2]=d;f[s+140>>2]=e;f[s+144>>2]=r;f[s+148>>2]=a;f[s+152>>2]=64;e=s+156|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[s+172>>2]=f[i>>2];f[s+176>>2]=0;f[s+180>>2]=0;f[s+184>>2]=0;e=s+4568|0;r=s+188|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=s+4580|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=s+4592|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[s+28>>2]|0))f[s+20>>2]=1;i=s;return i|0}else{e=0;while(1)if((1<>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));o=s+88|0;c=o+40|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(c|0));f[s>>2]=35660;f[s+128>>2]=h;f[s+132>>2]=l;f[s+136>>2]=d;f[s+140>>2]=e;f[s+144>>2]=r;f[s+148>>2]=a;f[s+152>>2]=64;e=s+156|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[s+172>>2]=f[i>>2];f[s+176>>2]=0;f[s+180>>2]=0;f[s+184>>2]=0;e=s+4568|0;r=s+188|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=s+4580|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=s+4592|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[s+28>>2]|0))f[s+20>>2]=1;i=s;return i|0}}if((e|0)>=17){i=0;return i|0}l=d<<1;l=((l+h|0)/(l|1|0)|0)+1|0;if(r){e=0;while(1)if((1<>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));o=s+88|0;c=o+40|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(c|0));f[s>>2]=35828;f[s+128>>2]=h;f[s+132>>2]=l;f[s+136>>2]=d;f[s+140>>2]=e;f[s+144>>2]=r;f[s+148>>2]=a;f[s+152>>2]=64;e=s+156|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[s+172>>2]=f[i>>2];f[s+176>>2]=0;f[s+180>>2]=0;f[s+184>>2]=0;e=s+4568|0;r=s+188|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=s+4580|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=s+4592|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[s+28>>2]|0))f[s+20>>2]=1;i=s;return i|0}else{e=0;while(1)if((1<>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));o=s+88|0;c=o+40|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(c|0));f[s>>2]=35856;f[s+128>>2]=h;f[s+132>>2]=l;f[s+136>>2]=d;f[s+140>>2]=e;f[s+144>>2]=r;f[s+148>>2]=a;f[s+152>>2]=64;e=s+156|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[s+172>>2]=f[i>>2];f[s+176>>2]=0;f[s+180>>2]=0;f[s+184>>2]=0;e=s+4568|0;r=s+188|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=s+4580|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=s+4592|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[s+28>>2]|0))f[s+20>>2]=1;i=s;return i|0}return 0}function Wi(e,i,r){e=e|0;i=i|0;r=r|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0;k=f[r+16>>2]|0;switch(k|0){case 64:case 0:{_=0;e=pe(35,e|0,i|0)|0;i=_;_=0;if(i&1)w=16;else a=e;break}default:{s=(1<>2])+-1|0;b=f[i+20>>2]|0;d=b<<1;d=((d+s|0)/(d|1|0)|0)+1|0;e=0;while(1)if((1<>2]|0;_=0;a=de(67,4632)|0;h=_;_=0;if(h&1)w=16;else{l=((o|0)<8?8:o)+o<<1;f[a+4>>2]=0;u=a+8|0;c=i;h=u+84|0;do{f[u>>2]=f[c>>2];u=u+4|0;c=c+4|0}while((u|0)<(h|0));f[a+92>>2]=0;f[a+96>>2]=0;f[a+100>>2]=32;f[a+104>>2]=0;f[a+108>>2]=0;t[a+112>>0]=0;h=a+116|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[a>>2]=35884;f[a+136>>2]=s;f[a+140>>2]=d;f[a+144>>2]=b;f[a+148>>2]=e;f[a+152>>2]=o;f[a+156>>2]=l;f[a+160>>2]=k;e=a+164|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+180>>2]=f[i>>2];f[a+184>>2]=0;f[a+188>>2]=0;f[a+192>>2]=0;e=a+4576|0;s=a+196|0;do{f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;n[s+10>>1]=1;s=s+12|0}while((s|0)!=(e|0));f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4588|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4600|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+32>>2]|0))f[a+24>>2]=1}}}if((w|0)==16){w=ze()|0;$e(w|0)}if(!a)return a|0;_=0;ce(f[(f[a>>2]|0)+8>>2]|0,a|0,r|0);w=_;_=0;if(!(w&1))return a|0;e=ze()|0;if(!a){w=e;$e(w|0)}fM[f[(f[a>>2]|0)+4>>2]&255](a);w=e;$e(w|0);return 0}function Zi(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;r=(f[i+24>>2]|0)==2;if(r?(f[i+16>>2]|0)!=3:0){i=0;return i|0}d=f[i+20>>2]|0;e=f[i+8>>2]|0;e:do{if(!d){if(r){if((e|0)!=8)break;a=Bp(4608)|0;f[a+4>>2]=0;o=a+8|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));f[a+92>>2]=0;f[a+96>>2]=0;f[a+100>>2]=32;f[a+104>>2]=0;f[a+108>>2]=0;t[a+112>>0]=0;e=a+116|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[a>>2]=35912;e=a+140|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+156>>2]=f[i>>2];f[a+160>>2]=0;f[a+164>>2]=0;f[a+168>>2]=0;e=a+4552|0;r=a+172|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4564|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4576|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+32>>2]|0))f[a+24>>2]=1;i=a;return i|0}switch(e|0){case 8:{a=Bp(4608)|0;f[a+4>>2]=0;o=a+8|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));f[a+92>>2]=0;f[a+96>>2]=0;f[a+100>>2]=32;f[a+104>>2]=0;f[a+108>>2]=0;t[a+112>>0]=0;e=a+116|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[a>>2]=35940;e=a+140|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+156>>2]=f[i>>2];f[a+160>>2]=0;f[a+164>>2]=0;f[a+168>>2]=0;e=a+4552|0;r=a+172|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4564|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4576|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+32>>2]|0))f[a+24>>2]=1;i=a;return i|0}case 12:{a=Bp(4608)|0;f[a+4>>2]=0;o=a+8|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));f[a+92>>2]=0;f[a+96>>2]=0;f[a+100>>2]=32;f[a+104>>2]=0;f[a+108>>2]=0;t[a+112>>0]=0;e=a+116|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[a>>2]=35968;e=a+140|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+156>>2]=f[i>>2];f[a+160>>2]=0;f[a+164>>2]=0;f[a+168>>2]=0;e=a+4552|0;r=a+172|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4564|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4576|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+32>>2]|0))f[a+24>>2]=1;i=a;return i|0}case 16:{a=Bp(4608)|0;f[a+4>>2]=0;o=a+8|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));f[a+92>>2]=0;f[a+96>>2]=0;f[a+100>>2]=32;f[a+104>>2]=0;f[a+108>>2]=0;t[a+112>>0]=0;e=a+116|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[a>>2]=35996;e=a+140|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+156>>2]=f[i>>2];f[a+160>>2]=0;f[a+164>>2]=0;f[a+168>>2]=0;e=a+4552|0;r=a+172|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4564|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4576|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+32>>2]|0))f[a+24>>2]=1;i=a;return i|0}default:break e}}}while(0);h=(1<>2]=0;o=s+8|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));f[s+92>>2]=0;f[s+96>>2]=0;f[s+100>>2]=32;f[s+104>>2]=0;f[s+108>>2]=0;t[s+112>>0]=0;c=s+116|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[s>>2]=36024;f[s+136>>2]=h;f[s+140>>2]=l;f[s+144>>2]=d;f[s+148>>2]=e;f[s+152>>2]=r;f[s+156>>2]=a;f[s+160>>2]=64;e=s+164|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[s+180>>2]=f[i>>2];f[s+184>>2]=0;f[s+188>>2]=0;f[s+192>>2]=0;e=s+4576|0;r=s+196|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=s+4588|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=s+4600|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[s+32>>2]|0))f[s+24>>2]=1;i=s;return i|0}else{e=0;while(1)if((1<>2]=0;o=s+8|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));f[s+92>>2]=0;f[s+96>>2]=0;f[s+100>>2]=32;f[s+104>>2]=0;f[s+108>>2]=0;t[s+112>>0]=0;c=s+116|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[s>>2]=35884;f[s+136>>2]=h;f[s+140>>2]=l;f[s+144>>2]=d;f[s+148>>2]=e;f[s+152>>2]=r;f[s+156>>2]=a;f[s+160>>2]=64;e=s+164|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[s+180>>2]=f[i>>2];f[s+184>>2]=0;f[s+188>>2]=0;f[s+192>>2]=0;e=s+4576|0;r=s+196|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=s+4588|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=s+4600|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[s+32>>2]|0))f[s+24>>2]=1;i=s;return i|0}}if((e|0)>=17){i=0;return i|0}l=d<<1;l=((l+h|0)/(l|1|0)|0)+1|0;if(r){e=0;while(1)if((1<>2]=0;o=s+8|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));f[s+92>>2]=0;f[s+96>>2]=0;f[s+100>>2]=32;f[s+104>>2]=0;f[s+108>>2]=0;t[s+112>>0]=0;c=s+116|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[s>>2]=36052;f[s+136>>2]=h;f[s+140>>2]=l;f[s+144>>2]=d;f[s+148>>2]=e;f[s+152>>2]=r;f[s+156>>2]=a;f[s+160>>2]=64;e=s+164|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[s+180>>2]=f[i>>2];f[s+184>>2]=0;f[s+188>>2]=0;f[s+192>>2]=0;e=s+4576|0;r=s+196|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=s+4588|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=s+4600|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[s+32>>2]|0))f[s+24>>2]=1;i=s;return i|0}else{e=0;while(1)if((1<>2]=0;o=s+8|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));f[s+92>>2]=0;f[s+96>>2]=0;f[s+100>>2]=32;f[s+104>>2]=0;f[s+108>>2]=0;t[s+112>>0]=0;c=s+116|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[s>>2]=36080;f[s+136>>2]=h;f[s+140>>2]=l;f[s+144>>2]=d;f[s+148>>2]=e;f[s+152>>2]=r;f[s+156>>2]=a;f[s+160>>2]=64;e=s+164|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[s+180>>2]=f[i>>2];f[s+184>>2]=0;f[s+188>>2]=0;f[s+192>>2]=0;e=s+4576|0;r=s+196|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=s+4588|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=s+4600|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[s+32>>2]|0))f[s+24>>2]=1;i=s;return i|0}return 0}function Ji(){var e=0,i=0,r=0,t=0,n=0,a=0,s=0;e=2832;do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=4880);ym(2832,0,2048)|0;e=0;do{s=2832+(e+128<<3)|0;f[s>>2]=0;f[s+4>>2]=1;e=e+1|0}while((e|0)!=128);e=3088;f[e>>2]=1;f[e+4>>2]=3;e=3096;f[e>>2]=1;f[e+4>>2]=3;e=3104;f[e>>2]=1;f[e+4>>2]=3;e=3112;f[e>>2]=1;f[e+4>>2]=3;e=3120;f[e>>2]=1;f[e+4>>2]=3;e=3128;f[e>>2]=1;f[e+4>>2]=3;e=3136;f[e>>2]=1;f[e+4>>2]=3;e=3144;f[e>>2]=1;f[e+4>>2]=3;e=3152;f[e>>2]=1;f[e+4>>2]=3;e=3160;f[e>>2]=1;f[e+4>>2]=3;e=3168;f[e>>2]=1;f[e+4>>2]=3;e=3176;f[e>>2]=1;f[e+4>>2]=3;e=3184;f[e>>2]=1;f[e+4>>2]=3;e=3192;f[e>>2]=1;f[e+4>>2]=3;e=3200;f[e>>2]=1;f[e+4>>2]=3;e=3208;f[e>>2]=1;f[e+4>>2]=3;e=3216;f[e>>2]=1;f[e+4>>2]=3;e=3224;f[e>>2]=1;f[e+4>>2]=3;e=3232;f[e>>2]=1;f[e+4>>2]=3;e=3240;f[e>>2]=1;f[e+4>>2]=3;e=3248;f[e>>2]=1;f[e+4>>2]=3;e=3256;f[e>>2]=1;f[e+4>>2]=3;e=3264;f[e>>2]=1;f[e+4>>2]=3;e=3272;f[e>>2]=1;f[e+4>>2]=3;e=3280;f[e>>2]=1;f[e+4>>2]=3;e=3288;f[e>>2]=1;f[e+4>>2]=3;e=3296;f[e>>2]=1;f[e+4>>2]=3;e=3304;f[e>>2]=1;f[e+4>>2]=3;e=3312;f[e>>2]=1;f[e+4>>2]=3;e=3320;f[e>>2]=1;f[e+4>>2]=3;e=3328;f[e>>2]=1;f[e+4>>2]=3;e=3336;f[e>>2]=1;f[e+4>>2]=3;e=2896;f[e>>2]=2;f[e+4>>2]=5;e=2904;f[e>>2]=2;f[e+4>>2]=5;e=2912;f[e>>2]=2;f[e+4>>2]=5;e=2920;f[e>>2]=2;f[e+4>>2]=5;e=2928;f[e>>2]=2;f[e+4>>2]=5;e=2936;f[e>>2]=2;f[e+4>>2]=5;e=2944;f[e>>2]=2;f[e+4>>2]=5;e=2952;f[e>>2]=2;f[e+4>>2]=5;e=2848;f[e>>2]=3;f[e+4>>2]=7;e=2856;f[e>>2]=3;f[e+4>>2]=7;e=0;do{s=2832+(e+64<<3)|0;f[s>>2]=-1;f[s+4>>2]=2;e=e+1|0}while((e|0)!=64);e=2960;f[e>>2]=-2;f[e+4>>2]=4;e=2968;f[e>>2]=-2;f[e+4>>2]=4;e=2976;f[e>>2]=-2;f[e+4>>2]=4;e=2984;f[e>>2]=-2;f[e+4>>2]=4;e=2992;f[e>>2]=-2;f[e+4>>2]=4;e=3e3;f[e>>2]=-2;f[e+4>>2]=4;e=3008;f[e>>2]=-2;f[e+4>>2]=4;e=3016;f[e>>2]=-2;f[e+4>>2]=4;e=3024;f[e>>2]=-2;f[e+4>>2]=4;e=3032;f[e>>2]=-2;f[e+4>>2]=4;e=3040;f[e>>2]=-2;f[e+4>>2]=4;e=3048;f[e>>2]=-2;f[e+4>>2]=4;e=3056;f[e>>2]=-2;f[e+4>>2]=4;e=3064;f[e>>2]=-2;f[e+4>>2]=4;e=3072;f[e>>2]=-2;f[e+4>>2]=4;e=3080;f[e>>2]=-2;f[e+4>>2]=4;e=2864;f[e>>2]=-3;f[e+4>>2]=6;e=2872;f[e>>2]=-3;f[e+4>>2]=6;e=2880;f[e>>2]=-3;f[e+4>>2]=6;e=2888;f[e>>2]=-3;f[e+4>>2]=6;e=2840;f[e>>2]=-4;f[e+4>>2]=8;e=4880;do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=6928);ym(4880,0,2048)|0;r=2;e=0;n=0;a=0;while(1){r=r<<16>>16;i=8-r|0;t=1<>2]=n;f[s+4>>2]=r;i=i+1|0}while((i|0)<(t|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==7){i=2;n=1;a=-1;s=-1;break}else{r=(e>>1)+2|0;n=i>>16}}while(1){r=i<<16>>16;e=8-r|0;t=1<>2]=a;f[n+4>>2]=r;i=i+1|0}while((i|0)<(t|0))}e=(s<<16)+-65536|0;n=e>>31^e>>15;i=(n>>1)+2|0;if((i|0)>8){e=6928;break}else{a=e>>16;s=s+-1|0}}do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=8976);ym(6928,0,2048)|0;n=3;e=0;t=0;a=0;while(1){i=8-n|0;r=1<>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==12){n=3;i=1;t=-1;a=-1;break}else{n=(e>>2)+3|0;t=i>>16}}while(1){e=8-n|0;r=1<>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(a<<16)+-65536|0;i=e>>31^e>>15;n=(i>>2)+3|0;if((n|0)>8){e=8976;break}else{t=e>>16;a=a+-1|0}}do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=11024);ym(8976,0,2048)|0;n=4;e=0;t=0;a=0;while(1){i=8-n|0;r=1<>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==20){n=4;i=1;t=-1;a=-1;break}else{n=(e>>3)+4|0;t=i>>16}}while(1){e=8-n|0;r=1<>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(a<<16)+-65536|0;i=e>>31^e>>15;n=(i>>3)+4|0;if((n|0)>8){e=11024;break}else{t=e>>16;a=a+-1|0}}do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=13072);ym(11024,0,2048)|0;n=5;e=0;t=0;a=0;while(1){i=8-n|0;r=1<>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==32){n=5;i=1;t=-1;a=-1;break}else{n=(e>>4)+5|0;t=i>>16}}while(1){e=8-n|0;r=1<>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(a<<16)+-65536|0;i=e>>31^e>>15;n=(i>>4)+5|0;if((n|0)>8){e=13072;break}else{t=e>>16;a=a+-1|0}}do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=15120);ym(13072,0,2048)|0;n=6;e=0;t=0;a=0;while(1){i=8-n|0;r=1<>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==48){n=6;i=1;t=-1;a=-1;break}else{n=(e>>5)+6|0;t=i>>16}}while(1){e=8-n|0;r=1<>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(a<<16)+-65536|0;i=e>>31^e>>15;n=(i>>5)+6|0;if((n|0)>8){e=15120;break}else{t=e>>16;a=a+-1|0}}do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=17168);ym(15120,0,2048)|0;n=7;e=0;t=0;a=0;while(1){i=8-n|0;r=1<>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==64){n=7;i=1;t=-1;a=-1;break}else{n=(e>>6)+7|0;t=i>>16}}while(1){e=8-n|0;r=1<>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(a<<16)+-65536|0;i=e>>31^e>>15;n=(i>>6)+7|0;if((n|0)>8){e=17168;break}else{t=e>>16;a=a+-1|0}}do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=19216);ym(17168,0,2048)|0;n=8;e=0;t=0;a=0;while(1){i=8-n|0;r=1<>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==64){a=8;t=1;n=-1;s=-1;break}else{n=(e>>7)+8|0;t=i>>16}}while(1){e=8-a|0;r=1<>2]=n;f[t+4>>2]=a;i=i+1|0}while((i|0)<(r|0))}i=(s<<16)+-65536|0;t=i>>31^i>>15;e=t>>7;if((e|0)>0){e=19216;break}else{a=e+8|0;n=i>>16;s=s+-1|0}}do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=21264);ym(19216,0,2048)|0;e=21264;do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=23312);ym(21264,0,2048)|0;e=23312;do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=25360);ym(23312,0,2048)|0;e=25360;do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=27408);ym(25360,0,2048)|0;e=27408;do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=29456);ym(27408,0,2048)|0;e=29456;do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=31504);ym(29456,0,2048)|0;e=31504;do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=33552);ym(31504,0,2048)|0;e=33552;do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=35600);ym(33552,0,2048)|0;Vi(35600,8);di(179,35600,w|0)|0;Vi(35612,10);di(179,35612,w|0)|0;Vi(35624,12);di(179,35624,w|0)|0;Vi(35636,16);di(179,35636,w|0)|0;return}function Qi(e){e=e|0;var i=0;i=f[e>>2]|0;if(!i)return;e=e+4|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;Ip(i);return}function $i(e){e=e|0;var i=0,r=0;f[e>>2]=36080;i=f[e+4616>>2]|0;if(i){r=e+4620|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fM[f[(f[i>>2]|0)+4>>2]&255](i);return}function er(e){e=e|0;var i=0,r=0;f[e>>2]=36080;i=f[e+4616>>2]|0;if(i){r=e+4620|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Ip(e);return}fM[f[(f[i>>2]|0)+4>>2]&255](i);Ip(e);return}function ir(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,h=0;o=c;c=c+32|0;h=o;op(h,f[e+136>>2]|0,f[e+144>>2]|0);u=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[h+8>>2]|0:l;s=f[i+12>>2]|0;s=(s|0)==0?f[h+12>>2]|0:s;r=f[i+16>>2]|0;a=f[h+16>>2]|0;f[e+184>>2]=(u|0)==0?f[h+4>>2]|0:u;f[e+188>>2]=l;f[e+192>>2]=s;Ht(e);s=e+140|0;i=(f[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{f[e+196+(l*12|0)>>2]=i;f[e+196+(l*12|0)+4>>2]=0;n[e+196+(l*12|0)+8>>1]=0;n[e+196+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365);u=(f[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;h=((r|0)==0?a:r)&255;f[e+4576>>2]=u;f[e+4580>>2]=0;t[e+4584>>0]=h;t[e+4585>>0]=1;t[e+4586>>0]=0;f[e+4588>>2]=u;f[e+4592>>2]=1;t[e+4596>>0]=h;t[e+4597>>0]=1;t[e+4598>>0]=0;f[e+4600>>2]=0;c=o;return}function rr(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+16|0;h=b;u=e+92|0;o=f[i>>2]|0;f[i>>2]=0;i=f[u>>2]|0;f[u>>2]=o;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);f[h>>2]=0;f[h+4>>2]=a;u=r+8|0;f[h+8>>2]=f[u>>2];if(a){i=Bp(4624)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));s=i+88|0;o=s+40|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(o|0));f[i>>2]=35856;f[i+128>>2]=f[e+136>>2];f[i+132>>2]=f[e+140>>2];f[i+136>>2]=f[e+144>>2];f[i+140>>2]=f[e+148>>2];f[i+144>>2]=f[e+152>>2];f[i+148>>2]=f[e+156>>2];f[i+152>>2]=f[e+160>>2];s=i+156|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[i+172>>2]=f[a>>2];f[i+176>>2]=0;f[i+180>>2]=0;f[i+184>>2]=0;s=i+4568|0;a=i+188|0;do{f[a>>2]=0;f[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0));l=e+4|0;f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;t[s+10>>0]=0;o=i+4580|0;f[o>>2]=0;f[o+4>>2]=0;n[o+8>>1]=0;t[o+10>>0]=0;o=i+4592|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;t[o+28>>0]=0;if(!(f[i+28>>2]|0))f[i+20>>2]=1;a=f[l>>2]|0;f[l>>2]=i;if(a){fM[f[(f[a>>2]|0)+4>>2]&255](a);i=f[l>>2]|0}Ct(i,h)}h=e+100|0;f[h>>2]=32;f[e+96>>2]=0;i=f[r>>2]|0;if(!i){f[e+108>>2]=f[r+4>>2];f[e+104>>2]=f[u>>2];Lt(e);d=e+116|0;d=f[d>>2]|0;e=f[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}f[e+132>>2]=i;s=e+120|0;u=e+124|0;a=f[u>>2]|0;i=f[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(d=i+4e3|0,(a|0)!=(d|0)):0){f[u>>2]=d;a=d}}else{Rt(s,4e3-o|0);i=f[s>>2]|0;l=i;a=f[u>>2]|0}f[e+108>>2]=l;f[e+104>>2]=a-i;Lt(e);d=e+116|0;d=f[d>>2]|0;e=f[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}function tr(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;y=c;c=c+352|0;M=y+328|0;E=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((f[e+32>>2]|0)!=0?(f[e+24>>2]|0)!=1:0){m=e+8|0;p=e+36|0;l=f[p>>2]|0;if(!l){e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[r>>0]|0;Re(37,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}e=f[e+16>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[n>>0]|0;Re(38,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[a>>0]|0;Re(39,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[s>>0]|0;Re(40,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=E+56|0;a=E+4|0;f[E>>2]=36160;f[l>>2]=36180;_=0;ce(62,E+56|0,a|0);y=_;_=0;if(y&1){A=ze()|0;nd(l);$e(A|0)}f[E+128>>2]=0;f[E+132>>2]=-1;f[E>>2]=36200;f[E+56>>2]=36220;_=0;ue(180,a|0);y=_;_=0;do{if(y&1)e=ze()|0;else{f[a>>2]=36236;s=E+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[E+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);y=_;_=0;if(y&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,E|0,49007,21)|0;M=_;_=0;do{if((!(M&1)?(_=0,d=pe(36,e|0,f[p>>2]|0)|0,M=_,_=0,!(M&1)):0)?(_=0,ke(28,d|0,50997,18)|0,M=_,_=0,!(M&1)):0){n=He(16)|0;_=0;ce(64,k|0,a|0);M=_;_=0;if(!(M&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,k|0);M=_;_=0;if(M&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(k);if(!r)break}else e=ze()|0;je(n|0)}else A=34}while(0);if((A|0)==34)e=ze()|0;f[E>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,e|0,8,35648);A=_;_=0;if(!(A&1))bi(e|0,824,96);A=ze()|0;je(e|0);$e(A|0)}r=16-e|0;switch(l|0){case 1:{e=Bp(60)|0;f[o>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[o>>2];f[M+4>>2]=f[o+4>>2];Re(41,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(60)|0;f[u>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[u>>2];f[M+4>>2]=f[u+4>>2];Re(42,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(60)|0;f[h>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[h>>2];f[M+4>>2]=f[h+4>>2];Re(43,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;_=0;ce(62,g+56|0,a|0);E=_;_=0;if(E&1){A=ze()|0;nd(l);$e(A|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;_=0;ue(180,a|0);E=_;_=0;do{if(E&1)e=ze()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);E=_;_=0;if(E&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,g|0,49007,21)|0;E=_;_=0;do{if((!(E&1)?(_=0,b=pe(36,e|0,f[p>>2]|0)|0,E=_,_=0,!(E&1)):0)?(_=0,ke(28,b|0,50997,18)|0,E=_,_=0,!(E&1)):0){n=He(16)|0;_=0;ce(64,v|0,a|0);E=_;_=0;if(!(E&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,v|0);E=_;_=0;if(E&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(v);if(!r)break}else e=ze()|0;je(n|0)}else A=64}while(0);if((A|0)==64)e=ze()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}}r=f[i+4>>2]|0;n=Bp(16)|0;e=f[e+20>>2]|0;if(!r){A=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=A;f[n+8>>2]=2;f[n+12>>2]=e;A=n;c=y;return A|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=2;f[n+12>>2]=e;A=n;c=y;return A|0}return 0}function nr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;f[e>>2]=36460;f[e+4>>2]=r;d=e+8|0;s=f[r>>2]|0;c=r+16|0;n=f[c>>2]|0;l=re(n,s)|0;f[d>>2]=0;b=e+12|0;f[b>>2]=0;f[e+16>>2]=0;do{if(l){if(!((l|0)<0?(_=0,ue(178,d|0),s=_,_=0,s&1):0))h=4;if((h|0)==4?(o=l<<1,_=0,u=de(67,o|0)|0,s=_,_=0,!(s&1)):0){f[d>>2]=u;s=u+(l<<1)|0;f[e+16>>2]=s;ym(u|0,0,o|0)|0;f[b>>2]=s;s=f[r>>2]|0;n=f[c>>2]|0;break}l=ze()|0;a=f[d>>2]|0;n=a;if(a){s=f[b>>2]|0;if((s|0)!=(a|0))f[b>>2]=s+(~((s+-2-n|0)>>>1)<<1);Ip(a)}b=l;$e(b|0)}}while(0);l=e+20|0;n=re(s<<1,n)|0;f[l>>2]=0;o=e+24|0;f[o>>2]=0;f[e+28>>2]=0;if(!n){b=e+36|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];return}if(!((n|0)<0?(_=0,ue(178,l|0),r=_,_=0,r&1):0))h=13;if((h|0)==13?(_=0,a=de(67,n|0)|0,h=_,_=0,!(h&1)):0){f[o>>2]=a;f[l>>2]=a;f[e+28>>2]=a+n;do{t[a>>0]=0;a=(f[o>>2]|0)+1|0;f[o>>2]=a;n=n+-1|0}while((n|0)!=0);b=e+36|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];return}s=ze()|0;a=f[l>>2]|0;if(a){if((f[o>>2]|0)!=(a|0))f[o>>2]=a;Ip(a)}a=f[d>>2]|0;if(!a){b=s;$e(b|0)}n=f[b>>2]|0;if((n|0)!=(a|0))f[b>>2]=n+(~((n+-2-a|0)>>>1)<<1);Ip(a);b=s;$e(b|0)}function fr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;f[e>>2]=36436;f[e+4>>2]=r;d=e+8|0;s=f[r>>2]|0;c=r+16|0;n=f[c>>2]|0;l=re(n,s)|0;f[d>>2]=0;b=e+12|0;f[b>>2]=0;f[e+16>>2]=0;do{if(l){if(!((l|0)<0?(_=0,ue(178,d|0),s=_,_=0,s&1):0))h=4;if((h|0)==4?(o=l<<1,_=0,u=de(67,o|0)|0,s=_,_=0,!(s&1)):0){f[d>>2]=u;s=u+(l<<1)|0;f[e+16>>2]=s;ym(u|0,0,o|0)|0;f[b>>2]=s;s=f[r>>2]|0;n=f[c>>2]|0;break}l=ze()|0;a=f[d>>2]|0;n=a;if(a){s=f[b>>2]|0;if((s|0)!=(a|0))f[b>>2]=s+(~((s+-2-n|0)>>>1)<<1);Ip(a)}b=l;$e(b|0)}}while(0);l=e+20|0;n=re(s<<1,n)|0;f[l>>2]=0;o=e+24|0;f[o>>2]=0;f[e+28>>2]=0;if(!n){b=e+36|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];return}if(!((n|0)<0?(_=0,ue(178,l|0),r=_,_=0,r&1):0))h=13;if((h|0)==13?(_=0,a=de(67,n|0)|0,h=_,_=0,!(h&1)):0){f[o>>2]=a;f[l>>2]=a;f[e+28>>2]=a+n;do{t[a>>0]=0;a=(f[o>>2]|0)+1|0;f[o>>2]=a;n=n+-1|0}while((n|0)!=0);b=e+36|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];return}s=ze()|0;a=f[l>>2]|0;if(a){if((f[o>>2]|0)!=(a|0))f[o>>2]=a;Ip(a)}a=f[d>>2]|0;if(!a){b=s;$e(b|0)}n=f[b>>2]|0;if((n|0)!=(a|0))f[b>>2]=n+(~((n+-2-a|0)>>>1)<<1);Ip(a);b=s;$e(b|0)}function ar(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;f[e>>2]=36412;f[e+4>>2]=r;d=e+8|0;s=f[r>>2]|0;c=r+16|0;n=f[c>>2]|0;l=re(n,s)|0;f[d>>2]=0;b=e+12|0;f[b>>2]=0;f[e+16>>2]=0;do{if(l){if(!((l|0)<0?(_=0,ue(178,d|0),s=_,_=0,s&1):0))h=4;if((h|0)==4?(o=l<<1,_=0,u=de(67,o|0)|0,s=_,_=0,!(s&1)):0){f[d>>2]=u;s=u+(l<<1)|0;f[e+16>>2]=s;ym(u|0,0,o|0)|0;f[b>>2]=s;s=f[r>>2]|0;n=f[c>>2]|0;break}l=ze()|0;a=f[d>>2]|0;n=a;if(a){s=f[b>>2]|0;if((s|0)!=(a|0))f[b>>2]=s+(~((s+-2-n|0)>>>1)<<1);Ip(a)}b=l;$e(b|0)}}while(0);l=e+20|0;n=re(s<<1,n)|0;f[l>>2]=0;o=e+24|0;f[o>>2]=0;f[e+28>>2]=0;if(!n){b=e+36|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];return}if(!((n|0)<0?(_=0,ue(178,l|0),r=_,_=0,r&1):0))h=13;if((h|0)==13?(_=0,a=de(67,n|0)|0,h=_,_=0,!(h&1)):0){f[o>>2]=a;f[l>>2]=a;f[e+28>>2]=a+n;do{t[a>>0]=0;a=(f[o>>2]|0)+1|0;f[o>>2]=a;n=n+-1|0}while((n|0)!=0);b=e+36|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];return}s=ze()|0;a=f[l>>2]|0;if(a){if((f[o>>2]|0)!=(a|0))f[o>>2]=a;Ip(a)}a=f[d>>2]|0;if(!a){b=s;$e(b|0)}n=f[b>>2]|0;if((n|0)!=(a|0))f[b>>2]=n+(~((n+-2-a|0)>>>1)<<1);Ip(a);b=s;$e(b|0)}function sr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;f[e>>2]=36388;f[e+4>>2]=r;d=e+8|0;s=f[r>>2]|0;c=r+16|0;n=f[c>>2]|0;l=re(n,s)|0;f[d>>2]=0;b=e+12|0;f[b>>2]=0;f[e+16>>2]=0;do{if(l){if(!((l|0)<0?(_=0,ue(178,d|0),s=_,_=0,s&1):0))h=4;if((h|0)==4?(o=l<<1,_=0,u=de(67,o|0)|0,s=_,_=0,!(s&1)):0){f[d>>2]=u;s=u+(l<<1)|0;f[e+16>>2]=s;ym(u|0,0,o|0)|0;f[b>>2]=s;s=f[r>>2]|0;n=f[c>>2]|0;break}l=ze()|0;a=f[d>>2]|0;n=a;if(a){s=f[b>>2]|0;if((s|0)!=(a|0))f[b>>2]=s+(~((s+-2-n|0)>>>1)<<1);Ip(a)}b=l;$e(b|0)}}while(0);l=e+20|0;n=re(s<<1,n)|0;f[l>>2]=0;o=e+24|0;f[o>>2]=0;f[e+28>>2]=0;if(!n){b=e+36|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];return}if(!((n|0)<0?(_=0,ue(178,l|0),r=_,_=0,r&1):0))h=13;if((h|0)==13?(_=0,a=de(67,n|0)|0,h=_,_=0,!(h&1)):0){f[o>>2]=a;f[l>>2]=a;f[e+28>>2]=a+n;do{t[a>>0]=0;a=(f[o>>2]|0)+1|0;f[o>>2]=a;n=n+-1|0}while((n|0)!=0);b=e+36|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];return}s=ze()|0;a=f[l>>2]|0;if(a){if((f[o>>2]|0)!=(a|0))f[o>>2]=a;Ip(a)}a=f[d>>2]|0;if(!a){b=s;$e(b|0)}n=f[b>>2]|0;if((n|0)!=(a|0))f[b>>2]=n+(~((n+-2-a|0)>>>1)<<1);Ip(a);b=s;$e(b|0)}function lr(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0;l=e+32|0;Bh(l,i)|0;s=e+44|0;f[s>>2]=0;o=e+48|0;a=f[o>>2]|0;if(a&8){i=t[l>>0]|0;if(!(i&1)){i=((i&255)>>>1)+(l+1)|0;f[s>>2]=i;r=l+1|0;n=l+1|0}else{i=(f[e+40>>2]|0)+(f[e+36>>2]|0)|0;f[s>>2]=i;n=f[e+40>>2]|0;r=n}f[e+8>>2]=r;f[e+12>>2]=n;f[e+16>>2]=i}if(!(a&16))return;i=t[l>>0]|0;if(!(i&1)){a=(i&255)>>>1;f[s>>2]=l+1+a;i=10;s=a}else{a=f[e+36>>2]|0;f[s>>2]=(f[e+40>>2]|0)+a;i=(f[l>>2]&-2)+-1|0;s=a}Nh(l,i,0);i=t[l>>0]|0;if(!(i&1)){a=l+1|0;n=(i&255)>>>1;r=l+1|0}else{r=f[e+40>>2]|0;a=r;n=f[e+36>>2]|0}i=e+24|0;f[i>>2]=r;f[e+20>>2]=r;f[e+28>>2]=a+n;if(!(f[o>>2]&3))return;f[i>>2]=r+s;return}function or(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0;k=c;c=c+32|0;l=k+16|0;b=k+8|0;o=k;_=0;ce(65,b|0,e|0);h=_;_=0;e:do{if(h&1){r=ze(0)|0;n=e;a=e}else{do{if(t[b>>0]|0){n=f[(f[e>>2]|0)+-12>>2]|0;f[o>>2]=f[e+(n+24)>>2];u=e+n|0;h=f[e+(n+4)>>2]|0;a=i+r|0;n=e+(n+76)|0;r=f[n>>2]|0;do{if((r|0)==-1){_=0;r=de(68,u|0)|0;w=_;_=0;if(w&1)d=13;else{f[l>>2]=r;_=0;r=pe(37,l|0,44220)|0;w=_;_=0;if(!(w&1)?(_=0,s=pe(f[(f[r>>2]|0)+28>>2]|0,r|0,32)|0,w=_,_=0,!(w&1)):0){Bu(l);r=s<<24>>24;f[n>>2]=r;d=9;break}r=ze(0)|0;Bu(l)}}else d=9}while(0);if((d|0)==9){_=0;f[l>>2]=f[o>>2];r=he(39,l|0,i|0,((h&176|0)==32?a:i)|0,a|0,u|0,r&255|0)|0;w=_;_=0;if(!(w&1)){if(r)break;w=f[(f[e>>2]|0)+-12>>2]|0;_=0;ce(66,e+w|0,f[e+(w+16)>>2]|5|0);w=_;_=0;if(!(w&1))break;else d=13}else d=13}if((d|0)==13)r=ze(0)|0;nb(b);n=e;a=e;break e}}while(0);nb(b);c=k;return e|0}}while(0);Ze(r|0)|0;_=0;ue(181,n+(f[(f[a>>2]|0)+-12>>2]|0)|0);w=_;_=0;if(!(w&1)){Qe();c=k;return e|0}r=ze()|0;_=0;Se(3);w=_;_=0;if(w&1){w=ze(0)|0;Fi(w)}else $e(r|0);return 0}function ur(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0;r=f[i+48>>2]|0;if(r&16){r=i+44|0;n=f[r>>2]|0;a=f[i+24>>2]|0;if(n>>>0>>0)f[r>>2]=a;else a=n;n=f[i+20>>2]|0;s=a-n|0;if(s>>>0>4294967279)Pp(e);if(s>>>0<11){t[e>>0]=s<<1;r=e+1|0}else{i=s+16&-16;r=Bp(i)|0;f[e+8>>2]=r;f[e>>2]=i|1;f[e+4>>2]=s}if((n|0)!=(a|0)){i=r;while(1){t[i>>0]=t[n>>0]|0;n=n+1|0;if((n|0)==(a|0))break;else i=i+1|0}r=r+s|0}t[r>>0]=0;return}if(!(r&8)){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}n=f[i+8>>2]|0;i=f[i+16>>2]|0;s=i-n|0;if(s>>>0>4294967279)Pp(e);if(s>>>0<11){t[e>>0]=s<<1;r=e+1|0}else{a=s+16&-16;r=Bp(a)|0;f[e+8>>2]=r;f[e>>2]=a|1;f[e+4>>2]=s}if((n|0)!=(i|0)){a=r;while(1){t[a>>0]=t[n>>0]|0;n=n+1|0;if((n|0)==(i|0))break;else a=a+1|0}r=r+s|0}t[r>>0]=0;return}function cr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0;f[e>>2]=36364;f[e+4>>2]=r;b=e+8|0;l=f[r>>2]|0;h=r+16|0;s=f[h>>2]|0;c=re(s,l)|0;f[b>>2]=0;k=e+12|0;f[k>>2]=0;f[e+16>>2]=0;do{if(c){if(!((c|0)<0?(_=0,ue(178,b|0),l=_,_=0,l&1):0))d=4;if((d|0)==4?(o=c<<1,_=0,u=de(67,o|0)|0,l=_,_=0,!(l&1)):0){f[b>>2]=u;l=u+(c<<1)|0;f[e+16>>2]=l;ym(u|0,0,o|0)|0;f[k>>2]=l;l=f[r>>2]|0;s=f[h>>2]|0;break}o=ze()|0;a=f[b>>2]|0;s=a;if(a){l=f[k>>2]|0;if((l|0)!=(a|0))f[k>>2]=l+(~((l+-2-s|0)>>>1)<<1);Ip(a)}k=o;$e(k|0)}}while(0);o=e+20|0;s=re(l<<1,s)|0;f[o>>2]=0;u=e+24|0;f[u>>2]=0;f[e+28>>2]=0;if(!s){k=e+32|0;b=n;b=f[b>>2]|0;n=n+4|0;n=f[n>>2]|0;d=k;f[d>>2]=b;k=k+4|0;f[k>>2]=n;k=e+40|0;f[k>>2]=b;k=e+48|0;f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];return}if(!((s|0)<0?(_=0,ue(178,o|0),h=_,_=0,h&1):0))d=13;if((d|0)==13?(_=0,a=de(67,s|0)|0,d=_,_=0,!(d&1)):0){f[u>>2]=a;f[o>>2]=a;f[e+28>>2]=a+s;do{t[a>>0]=0;a=(f[u>>2]|0)+1|0;f[u>>2]=a;s=s+-1|0}while((s|0)!=0);k=e+32|0;b=n;b=f[b>>2]|0;n=n+4|0;n=f[n>>2]|0;d=k;f[d>>2]=b;k=k+4|0;f[k>>2]=n;k=e+40|0;f[k>>2]=b;k=e+48|0;f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];return}l=ze()|0;a=f[o>>2]|0;if(a){if((f[u>>2]|0)!=(a|0))f[u>>2]=a;Ip(a)}a=f[b>>2]|0;if(!a){k=l;$e(k|0)}s=f[k>>2]|0;if((s|0)!=(a|0))f[k>>2]=s+(~((s+-2-a|0)>>>1)<<1);Ip(a);k=l;$e(k|0)}function hr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0;f[e>>2]=36340;f[e+4>>2]=r;b=e+8|0;l=f[r>>2]|0;h=r+16|0;s=f[h>>2]|0;c=re(s,l)|0;f[b>>2]=0;k=e+12|0;f[k>>2]=0;f[e+16>>2]=0;do{if(c){if(!((c|0)<0?(_=0,ue(178,b|0),l=_,_=0,l&1):0))d=4;if((d|0)==4?(o=c<<1,_=0,u=de(67,o|0)|0,l=_,_=0,!(l&1)):0){f[b>>2]=u;l=u+(c<<1)|0;f[e+16>>2]=l;ym(u|0,0,o|0)|0;f[k>>2]=l;l=f[r>>2]|0;s=f[h>>2]|0;break}o=ze()|0;a=f[b>>2]|0;s=a;if(a){l=f[k>>2]|0;if((l|0)!=(a|0))f[k>>2]=l+(~((l+-2-s|0)>>>1)<<1);Ip(a)}k=o;$e(k|0)}}while(0);o=e+20|0;s=re(l<<1,s)|0;f[o>>2]=0;u=e+24|0;f[u>>2]=0;f[e+28>>2]=0;if(!s){k=e+32|0;b=n;b=f[b>>2]|0;n=n+4|0;n=f[n>>2]|0;d=k;f[d>>2]=b;k=k+4|0;f[k>>2]=n;k=e+40|0;f[k>>2]=b;k=e+48|0;f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];return}if(!((s|0)<0?(_=0,ue(178,o|0),h=_,_=0,h&1):0))d=13;if((d|0)==13?(_=0,a=de(67,s|0)|0,d=_,_=0,!(d&1)):0){f[u>>2]=a;f[o>>2]=a;f[e+28>>2]=a+s;do{t[a>>0]=0;a=(f[u>>2]|0)+1|0;f[u>>2]=a;s=s+-1|0}while((s|0)!=0);k=e+32|0;b=n;b=f[b>>2]|0;n=n+4|0;n=f[n>>2]|0;d=k;f[d>>2]=b;k=k+4|0;f[k>>2]=n;k=e+40|0;f[k>>2]=b;k=e+48|0;f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];return}l=ze()|0;a=f[o>>2]|0;if(a){if((f[u>>2]|0)!=(a|0))f[u>>2]=a;Ip(a)}a=f[b>>2]|0;if(!a){k=l;$e(k|0)}s=f[k>>2]|0;if((s|0)!=(a|0))f[k>>2]=s+(~((s+-2-a|0)>>>1)<<1);Ip(a);k=l;$e(k|0)}function dr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0;f[e>>2]=36316;f[e+4>>2]=r;b=e+8|0;l=f[r>>2]|0;h=r+16|0;s=f[h>>2]|0;c=re(s,l)|0;f[b>>2]=0;k=e+12|0;f[k>>2]=0;f[e+16>>2]=0;do{if(c){if(!((c|0)<0?(_=0,ue(178,b|0),l=_,_=0,l&1):0))d=4;if((d|0)==4?(o=c<<1,_=0,u=de(67,o|0)|0,l=_,_=0,!(l&1)):0){f[b>>2]=u;l=u+(c<<1)|0;f[e+16>>2]=l;ym(u|0,0,o|0)|0;f[k>>2]=l;l=f[r>>2]|0;s=f[h>>2]|0;break}o=ze()|0;a=f[b>>2]|0;s=a;if(a){l=f[k>>2]|0;if((l|0)!=(a|0))f[k>>2]=l+(~((l+-2-s|0)>>>1)<<1);Ip(a)}k=o;$e(k|0)}}while(0);o=e+20|0;s=re(l<<1,s)|0;f[o>>2]=0;u=e+24|0;f[u>>2]=0;f[e+28>>2]=0;if(!s){k=e+32|0;b=n;b=f[b>>2]|0;n=n+4|0;n=f[n>>2]|0;d=k;f[d>>2]=b;k=k+4|0;f[k>>2]=n;k=e+40|0;f[k>>2]=b;k=e+48|0;f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];return}if(!((s|0)<0?(_=0,ue(178,o|0),h=_,_=0,h&1):0))d=13;if((d|0)==13?(_=0,a=de(67,s|0)|0,d=_,_=0,!(d&1)):0){f[u>>2]=a;f[o>>2]=a;f[e+28>>2]=a+s;do{t[a>>0]=0;a=(f[u>>2]|0)+1|0;f[u>>2]=a;s=s+-1|0}while((s|0)!=0);k=e+32|0;b=n;b=f[b>>2]|0;n=n+4|0;n=f[n>>2]|0;d=k;f[d>>2]=b;k=k+4|0;f[k>>2]=n;k=e+40|0;f[k>>2]=b;k=e+48|0;f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];return}l=ze()|0;a=f[o>>2]|0;if(a){if((f[u>>2]|0)!=(a|0))f[u>>2]=a;Ip(a)}a=f[b>>2]|0;if(!a){k=l;$e(k|0)}s=f[k>>2]|0;if((s|0)!=(a|0))f[k>>2]=s+(~((s+-2-a|0)>>>1)<<1);Ip(a);k=l;$e(k|0)}function br(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36316;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}t=f[e+8>>2]|0;if(!t)return;i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Ip(t);return}function kr(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36316;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}t=f[e+8>>2]|0;if(!t){Ip(e);return}i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Ip(t);Ip(e);return}function wr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+48|0;if(!(f[a>>2]|0)){o=e+52|0;gr(e,i,f[o>>2]|0,r,n);f[o>>2]=(f[o>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,f[(f[u>>2]|0)+16>>2]|0)|0;o=e+20|0;gr(e,i,f[o>>2]|0,r,n);i=f[u>>2]|0;if((f[i+28>>2]|0)==536870912)pr(f[o>>2]|0,re(s,f[i+16>>2]|0)|0);u=f[a>>2]|0;if((uM[f[(f[u>>2]|0)+48>>2]&63](u,f[o>>2]|0,l)|0)==(l|0))return;i=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,i|0,3,35648);u=_;_=0;if(u&1){u=ze()|0;je(i|0);$e(u|0)}else bi(i|0,824,96)}function _r(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+48>>2]|0;if(!n){n=e+52|0;mr(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{vr(e,n,i,r,t);return}}function mr(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,k=0;h=e+4|0;o=f[h>>2]|0;do{if(!(t[o+32>>0]|0))d=i;else{u=e+8|0;Am(f[u>>2]|0,i|0,a*6|0)|0;o=f[h>>2]|0;c=f[o+16>>2]|0;if((a|0)<=0){d=f[u>>2]|0;break}i=f[u>>2]|0;o=i;u=0;while(1){d=o+4|0;b=n[o>>1]|0;n[o>>1]=n[d>>1]|0;n[d>>1]=b;u=u+1|0;if((u|0)==(a|0))break;else o=o+(c<<1)|0}d=i;o=f[h>>2]|0}}while(0);switch(f[o+16>>2]|0){case 3:if((f[o+24>>2]|0)==2){if((a|0)<=0)return;o=e+32|0;i=0;do{b=f[o>>2]|0;h=s[d+(i*6|0)+2>>1]<>1]<>1]<>1]=(h+49152+((e+l|0)>>>2)&65535)>>>b;n[r+(i*6|0)+2>>1]=e>>>b;n[r+(i*6|0)+4>>1]=l>>>b;i=i+1|0}while((i|0)!=(a|0));return}else{u=(l|0)<(a|0)?l:a;if((u|0)<=0)return;c=l<<1;o=f[e+32>>2]|0;i=0;do{a=s[d+(i*6|0)+2>>1]<>1]<>1]<>1]=(a+49152+((e+b|0)>>>2)&65535)>>>o;n[r+(i+l<<1)>>1]=e>>>o;n[r+(i+c<<1)>>1]=b>>>o;i=i+1|0}while((i|0)!=(u|0));return}case 4:{if((f[o+24>>2]|0)!=1)return;u=(l|0)<(a|0)?l:a;if((u|0)<=0)return;c=l<<1;h=l*3|0;o=f[e+32>>2]|0;i=0;do{b=n[d+(i<<3)+6>>1]|0;k=s[d+(i<<3)+2>>1]<>1]<>1]<>1]=(k+49152+((a+e|0)>>>2)&65535)>>>o;n[r+(i+l<<1)>>1]=a>>>o;n[r+(i+c<<1)>>1]=e>>>o;n[r+(i+h<<1)>>1]=b;i=i+1|0}while((i|0)!=(u|0));return}default:return}}function vr(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0;b=c;c=c+176|0;k=b+152|0;v=b+16|0;m=b;u=e+4|0;s=f[u>>2]|0;d=n<<1;l=re(d,f[s+16>>2]|0)|0;do{if(l){o=e+20|0;while(1){s=uM[f[(f[i>>2]|0)+32>>2]&63](i,f[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){h=26;break}else l=l-s|0}if((h|0)==26){s=f[u>>2]|0;break}h=v+56|0;u=v+4|0;f[v>>2]=36160;f[h>>2]=36180;_=0;ce(62,v+56|0,u|0);b=_;_=0;if(b&1){v=ze()|0;nd(h);$e(v|0)}f[v+128>>2]=0;f[v+132>>2]=-1;f[v>>2]=36200;f[v+56>>2]=36220;_=0;ue(180,u|0);b=_;_=0;do{if(b&1)s=ze()|0;else{f[u>>2]=36236;i=v+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[v+52>>2]=16;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;_=0;ce(63,u|0,k|0);b=_;_=0;if(b&1){s=ze()|0;Oh(k);Oh(i);cd(u);break}Oh(k);_=0;s=ke(28,v|0,49029,57)|0;k=_;_=0;if(!(k&1)?(_=0,pe(36,s|0,0)|0,k=_,_=0,!(k&1)):0){o=He(16)|0;_=0;ce(64,m|0,u|0);k=_;_=0;if(!(k&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,o|0,3,35648,m|0);k=_;_=0;if(k&1)l=1;else{_=0;Ae(6,o|0,824,96);_=0;l=0}s=ze()|0;Oh(m);if(!l){m=s;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}}else s=ze()|0;je(o|0);m=s;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}m=ze()|0;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}}while(0);v=s;nd(h);$e(v|0)}}while(0);l=e+20|0;if((f[s+28>>2]|0)!=536870912){v=f[l>>2]|0;mr(e,v,r,n,a);c=b;return}pr(f[l>>2]|0,re(d,f[s+16>>2]|0)|0);v=f[l>>2]|0;mr(e,v,r,n,a);c=b;return}function pr(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0;a=c;c=c+176|0;r=a+152|0;u=a+16|0;l=a;if(!(i&1)){r=(i|0)/4|0;if((i|0)>3){n=0;do{u=e+(n<<2)|0;o=f[u>>2]|0;f[u>>2]=o>>>8&16711935|o<<8&-16711936;n=n+1|0}while((n|0)<(r|0))}if(!(i&3)){c=a;return}l=e+(i+-2)|0;u=e+(i+-1)|0;o=t[l>>0]|0;t[l>>0]=t[u>>0]|0;t[u>>0]=o;c=a;return}o=u+56|0;s=u+4|0;f[u>>2]=36160;f[o>>2]=36180;_=0;ce(62,u+56|0,s|0);a=_;_=0;if(a&1){u=ze()|0;nd(o);$e(u|0)}f[u+128>>2]=0;f[u+132>>2]=-1;f[u>>2]=36200;f[u+56>>2]=36220;_=0;ue(180,s|0);a=_;_=0;do{if(a&1)r=ze()|0;else{f[s>>2]=36236;a=u+36|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[u+52>>2]=16;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;_=0;ce(63,s|0,r|0);e=_;_=0;if(e&1){u=ze()|0;Oh(r);Oh(a);cd(s);r=u;break}Oh(r);_=0;r=ke(28,u|0,49087,24)|0;e=_;_=0;if((!(e&1)?(_=0,n=pe(36,r|0,i|0)|0,i=_,_=0,!(i&1)):0)?(_=0,ke(28,n|0,49112,20)|0,i=_,_=0,!(i&1)):0){e=He(16)|0;_=0;ce(64,l|0,s|0);i=_;_=0;if(!(i&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,e|0,1,35648,l|0);i=_;_=0;if(i&1)n=1;else{_=0;Ae(6,e|0,824,96);_=0;n=0}r=ze()|0;Oh(l);if(!n){l=r;f[u>>2]=36200;f[o>>2]=36220;f[s>>2]=36236;Oh(a);cd(s);nd(o);$e(l|0)}}else r=ze()|0;je(e|0);l=r;f[u>>2]=36200;f[o>>2]=36220;f[s>>2]=36236;Oh(a);cd(s);nd(o);$e(l|0)}l=ze()|0;f[u>>2]=36200;f[o>>2]=36220;f[s>>2]=36236;Oh(a);cd(s);nd(o);$e(l|0)}}while(0);u=r;nd(o);$e(u|0)}function gr(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0;d=e+4|0;o=f[d>>2]|0;e:do{switch(f[o+16>>2]|0){case 3:{if((f[o+24>>2]|0)==2){if((a|0)<=0)break e;o=e+40|0;e=0;do{l=f[o>>2]|0;c=s[i+(e*6|0)+2>>1]<>1]<>1]<>2)+16384|0;n[r+(e*6|0)>>1]=(u+32768+h&65535)>>>l;n[r+(e*6|0)+2>>1]=(h&65535)>>>l;n[r+(e*6|0)+4>>1]=(c+32768+h&65535)>>>l;e=e+1|0}while((e|0)!=(a|0))}else{u=(a|0)<(l|0)?a:l;if((u|0)<=0)break e;c=l<<1;o=e+40|0;e=0;do{h=f[o>>2]|0;k=s[i+(e+l<<1)>>1]<>1]<>1]<>2)+16384|0;n[r+(e*6|0)>>1]=(w+32768+b&65535)>>>h;n[r+(e*6|0)+2>>1]=(b&65535)>>>h;n[r+(e*6|0)+4>>1]=(k+32768+b&65535)>>>h;e=e+1|0}while((e|0)!=(u|0))}break}case 4:{if((f[o+24>>2]|0)==1?(h=(a|0)<(l|0)?a:l,(h|0)>0):0){c=l<<1;o=e+40|0;e=l*3|0;u=0;do{w=f[o>>2]|0;k=s[i+(u+l<<1)>>1]<>1]<>1]<>2)+16384|0;_=n[i+(u+e<<1)>>1]|0;v=Sm((b&65535)>>>w&65535|0,0,16)|0;k=(k+32768+b&65535)>>>w|x;_=Sm(_&65535|0,0,48)|0;_=v|(m+32768+b&65535)>>>w&65535|_;k=k&65535|x;w=r+(u<<3)|0;b=w;n[b>>1]=_;n[b+2>>1]=_>>>16;w=w+4|0;n[w>>1]=k;n[w+2>>1]=k>>>16;u=u+1|0}while((u|0)!=(h|0))}break}default:{}}}while(0);o=f[d>>2]|0;if(!(t[o+32>>0]|0))return;u=f[o+16>>2]|0;if((a|0)<=0)return;o=r;e=0;while(1){v=o+4|0;m=n[o>>1]|0;n[o>>1]=n[v>>1]|0;n[v>>1]=m;e=e+1|0;if((e|0)==(a|0))break;else o=o+(u<<1)|0}return}function yr(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36340;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}t=f[e+8>>2]|0;if(!t)return;i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Ip(t);return}function Mr(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36340;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}t=f[e+8>>2]|0;if(!t){Ip(e);return}i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Ip(t);Ip(e);return}function Er(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+48|0;if(!(f[a>>2]|0)){o=e+52|0;Cr(e,i,f[o>>2]|0,r,n);f[o>>2]=(f[o>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,f[(f[u>>2]|0)+16>>2]|0)|0;o=e+20|0;Cr(e,i,f[o>>2]|0,r,n);i=f[u>>2]|0;if((f[i+28>>2]|0)==536870912)pr(f[o>>2]|0,re(s,f[i+16>>2]|0)|0);u=f[a>>2]|0;if((uM[f[(f[u>>2]|0)+48>>2]&63](u,f[o>>2]|0,l)|0)==(l|0))return;i=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,i|0,3,35648);u=_;_=0;if(u&1){u=ze()|0;je(i|0);$e(u|0)}else bi(i|0,824,96)}function Ar(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+48>>2]|0;if(!n){n=e+52|0;Sr(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{Tr(e,n,i,r,t);return}}function Sr(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,k=0;h=e+4|0;o=f[h>>2]|0;do{if(!(t[o+32>>0]|0))d=i;else{u=e+8|0;Am(f[u>>2]|0,i|0,a*6|0)|0;o=f[h>>2]|0;c=f[o+16>>2]|0;if((a|0)<=0){d=f[u>>2]|0;break}i=f[u>>2]|0;o=i;u=0;while(1){d=o+4|0;b=n[o>>1]|0;n[o>>1]=n[d>>1]|0;n[d>>1]=b;u=u+1|0;if((u|0)==(a|0))break;else o=o+(c<<1)|0}d=i;o=f[h>>2]|0}}while(0);switch(f[o+16>>2]|0){case 3:if((f[o+24>>2]|0)==2){if((a|0)<=0)return;o=e+32|0;i=0;do{l=f[o>>2]|0;h=s[d+(i*6|0)>>1]<>1]<>1]<>>1)&65535)>>>l&65535;n[r+(i*6|0)>>1]=(h+32768-e&65535)>>>l;n[r+(i*6|0)+2>>1]=(e&65535)>>>l;n[r+(i*6|0)+4>>1]=b;i=i+1|0}while((i|0)!=(a|0));return}else{u=(l|0)<(a|0)?l:a;if((u|0)<=0)return;c=l<<1;o=f[e+32>>2]|0;i=0;do{a=s[d+(i*6|0)>>1]<>1]<>1]<>>1)&65535)>>>o&65535;n[r+(i<<1)>>1]=(a+32768-e&65535)>>>o;n[r+(i+l<<1)>>1]=(e&65535)>>>o;n[r+(i+c<<1)>>1]=b;i=i+1|0}while((i|0)!=(u|0));return}case 4:{if((f[o+24>>2]|0)!=1)return;u=(l|0)<(a|0)?l:a;if((u|0)<=0)return;c=l<<1;h=l*3|0;o=f[e+32>>2]|0;i=0;do{b=n[d+(i<<3)+6>>1]|0;k=s[d+(i<<3)>>1]<>1]<>1]<>>1)&65535)>>>o&65535;n[r+(i<<1)>>1]=(k+32768-a&65535)>>>o;n[r+(i+l<<1)>>1]=(a&65535)>>>o;n[r+(i+c<<1)>>1]=e;n[r+(i+h<<1)>>1]=b;i=i+1|0}while((i|0)!=(u|0));return}default:return}}function Tr(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0;b=c;c=c+176|0;k=b+152|0;v=b+16|0;m=b;u=e+4|0;s=f[u>>2]|0;d=n<<1;l=re(d,f[s+16>>2]|0)|0;do{if(l){o=e+20|0;while(1){s=uM[f[(f[i>>2]|0)+32>>2]&63](i,f[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){h=26;break}else l=l-s|0}if((h|0)==26){s=f[u>>2]|0;break}h=v+56|0;u=v+4|0;f[v>>2]=36160;f[h>>2]=36180;_=0;ce(62,v+56|0,u|0);b=_;_=0;if(b&1){v=ze()|0;nd(h);$e(v|0)}f[v+128>>2]=0;f[v+132>>2]=-1;f[v>>2]=36200;f[v+56>>2]=36220;_=0;ue(180,u|0);b=_;_=0;do{if(b&1)s=ze()|0;else{f[u>>2]=36236;i=v+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[v+52>>2]=16;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;_=0;ce(63,u|0,k|0);b=_;_=0;if(b&1){s=ze()|0;Oh(k);Oh(i);cd(u);break}Oh(k);_=0;s=ke(28,v|0,49029,57)|0;k=_;_=0;if(!(k&1)?(_=0,pe(36,s|0,0)|0,k=_,_=0,!(k&1)):0){o=He(16)|0;_=0;ce(64,m|0,u|0);k=_;_=0;if(!(k&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,o|0,3,35648,m|0);k=_;_=0;if(k&1)l=1;else{_=0;Ae(6,o|0,824,96);_=0;l=0}s=ze()|0;Oh(m);if(!l){m=s;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}}else s=ze()|0;je(o|0);m=s;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}m=ze()|0;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}}while(0);v=s;nd(h);$e(v|0)}}while(0);l=e+20|0;if((f[s+28>>2]|0)!=536870912){v=f[l>>2]|0;Sr(e,v,r,n,a);c=b;return}pr(f[l>>2]|0,re(d,f[s+16>>2]|0)|0);v=f[l>>2]|0;Sr(e,v,r,n,a);c=b;return}function Cr(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0;d=e+4|0;o=f[d>>2]|0;e:do{switch(f[o+16>>2]|0){case 3:{if((f[o+24>>2]|0)==2){if((a|0)<=0)break e;o=e+40|0;e=0;do{h=f[o>>2]|0;c=s[i+(e*6|0)+2>>1]<>1]<>1]<>>1)&65535)>>>h&65535;n[r+(e*6|0)>>1]=u>>>h;n[r+(e*6|0)+2>>1]=c>>>h;n[r+(e*6|0)+4>>1]=l;e=e+1|0}while((e|0)!=(a|0))}else{u=(a|0)<(l|0)?a:l;if((u|0)<=0)break e;c=l<<1;o=e+40|0;e=0;do{b=f[o>>2]|0;k=s[i+(e+l<<1)>>1]<>1]<>1]<>>1)&65535)>>>b&65535;n[r+(e*6|0)>>1]=w>>>b;n[r+(e*6|0)+2>>1]=k>>>b;n[r+(e*6|0)+4>>1]=h;e=e+1|0}while((e|0)!=(u|0))}break}case 4:{if((f[o+24>>2]|0)==1?(h=(a|0)<(l|0)?a:l,(h|0)>0):0){c=l<<1;o=e+40|0;e=l*3|0;u=0;do{b=f[o>>2]|0;w=s[i+(u+l<<1)>>1]<>1]<>1]<>>1)&65535)>>>b;_=n[i+(u+e<<1)>>1]|0;w=Sm(w>>>b&65535|0,0,16)|0;k=x|k;_=Sm(_&65535|0,0,48)|0;_=m>>>b&65535|w|_;k=k&65535|x;w=r+(u<<3)|0;b=w;n[b>>1]=_;n[b+2>>1]=_>>>16;w=w+4|0;n[w>>1]=k;n[w+2>>1]=k>>>16;u=u+1|0}while((u|0)!=(h|0))}break}default:{}}}while(0);o=f[d>>2]|0;if(!(t[o+32>>0]|0))return;u=f[o+16>>2]|0;if((a|0)<=0)return;o=r;e=0;while(1){m=o+4|0;_=n[o>>1]|0;n[o>>1]=n[m>>1]|0;n[m>>1]=_;e=e+1|0;if((e|0)==(a|0))break;else o=o+(u<<1)|0}return}function Rr(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36364;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}t=f[e+8>>2]|0;if(!t)return;i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Ip(t);return}function Lr(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36364;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}t=f[e+8>>2]|0;if(!t){Ip(e);return}i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Ip(t);Ip(e);return}function Pr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+48|0;if(!(f[a>>2]|0)){o=e+52|0;Ir(e,i,f[o>>2]|0,r,n);f[o>>2]=(f[o>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,f[(f[u>>2]|0)+16>>2]|0)|0;o=e+20|0;Ir(e,i,f[o>>2]|0,r,n);i=f[u>>2]|0;if((f[i+28>>2]|0)==536870912)pr(f[o>>2]|0,re(s,f[i+16>>2]|0)|0);u=f[a>>2]|0;if((uM[f[(f[u>>2]|0)+48>>2]&63](u,f[o>>2]|0,l)|0)==(l|0))return;i=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,i|0,3,35648);u=_;_=0;if(u&1){u=ze()|0;je(i|0);$e(u|0)}else bi(i|0,824,96)}function xr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+48>>2]|0;if(!n){n=e+52|0;Or(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{Br(e,n,i,r,t);return}}function Or(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0;h=e+4|0;o=f[h>>2]|0;do{if(!(t[o+32>>0]|0))d=i;else{u=e+8|0;Am(f[u>>2]|0,i|0,a*6|0)|0;o=f[h>>2]|0;c=f[o+16>>2]|0;if((a|0)<=0){d=f[u>>2]|0;break}i=f[u>>2]|0;o=i;u=0;while(1){d=o+4|0;b=n[o>>1]|0;n[o>>1]=n[d>>1]|0;n[d>>1]=b;u=u+1|0;if((u|0)==(a|0))break;else o=o+(c<<1)|0}d=i;o=f[h>>2]|0}}while(0);switch(f[o+16>>2]|0){case 3:if((f[o+24>>2]|0)==2){if((a|0)<=0)return;o=e+32|0;i=0;do{l=f[o>>2]|0;e=s[d+(i*6|0)+2>>1]<>1]<>>l&65535;n[r+(i*6|0)>>1]=((s[d+(i*6|0)>>1]<>>l;n[r+(i*6|0)+2>>1]=(e&65535)>>>l;n[r+(i*6|0)+4>>1]=b;i=i+1|0}while((i|0)!=(a|0));return}else{u=(l|0)<(a|0)?l:a;if((u|0)<=0)return;c=l<<1;o=f[e+32>>2]|0;i=0;do{e=s[d+(i*6|0)+2>>1]<>1]<>>o&65535;n[r+(i<<1)>>1]=((s[d+(i*6|0)>>1]<>>o;n[r+(i+l<<1)>>1]=(e&65535)>>>o;n[r+(i+c<<1)>>1]=b;i=i+1|0}while((i|0)!=(u|0));return}case 4:{if((f[o+24>>2]|0)!=1)return;c=(l|0)<(a|0)?l:a;if((c|0)<=0)return;h=l<<1;u=l*3|0;o=f[e+32>>2]|0;i=0;do{b=n[d+(i<<3)+6>>1]|0;a=s[d+(i<<3)+2>>1]<>1]<>>o&65535;n[r+(i<<1)>>1]=((s[d+(i<<3)>>1]<>>o;n[r+(i+l<<1)>>1]=(a&65535)>>>o;n[r+(i+h<<1)>>1]=e;n[r+(i+u<<1)>>1]=b;i=i+1|0}while((i|0)!=(c|0));return}default:return}}function Br(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0;b=c;c=c+176|0;k=b+152|0;v=b+16|0;m=b;u=e+4|0;s=f[u>>2]|0;d=n<<1;l=re(d,f[s+16>>2]|0)|0;do{if(l){o=e+20|0;while(1){s=uM[f[(f[i>>2]|0)+32>>2]&63](i,f[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){h=26;break}else l=l-s|0}if((h|0)==26){s=f[u>>2]|0;break}h=v+56|0;u=v+4|0;f[v>>2]=36160;f[h>>2]=36180;_=0;ce(62,v+56|0,u|0);b=_;_=0;if(b&1){v=ze()|0;nd(h);$e(v|0)}f[v+128>>2]=0;f[v+132>>2]=-1;f[v>>2]=36200;f[v+56>>2]=36220;_=0;ue(180,u|0);b=_;_=0;do{if(b&1)s=ze()|0;else{f[u>>2]=36236;i=v+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[v+52>>2]=16;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;_=0;ce(63,u|0,k|0);b=_;_=0;if(b&1){s=ze()|0;Oh(k);Oh(i);cd(u);break}Oh(k);_=0;s=ke(28,v|0,49029,57)|0;k=_;_=0;if(!(k&1)?(_=0,pe(36,s|0,0)|0,k=_,_=0,!(k&1)):0){o=He(16)|0;_=0;ce(64,m|0,u|0);k=_;_=0;if(!(k&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,o|0,3,35648,m|0);k=_;_=0;if(k&1)l=1;else{_=0;Ae(6,o|0,824,96);_=0;l=0}s=ze()|0;Oh(m);if(!l){m=s;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}}else s=ze()|0;je(o|0);m=s;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}m=ze()|0;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}}while(0);v=s;nd(h);$e(v|0)}}while(0);l=e+20|0;if((f[s+28>>2]|0)!=536870912){v=f[l>>2]|0;Or(e,v,r,n,a);c=b;return}pr(f[l>>2]|0,re(d,f[s+16>>2]|0)|0);v=f[l>>2]|0;Or(e,v,r,n,a);c=b;return}function Ir(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0;d=e+4|0;o=f[d>>2]|0;e:do{switch(f[o+16>>2]|0){case 3:{if((f[o+24>>2]|0)==2){if((a|0)<=0)break e;o=e+40|0;e=0;do{h=f[o>>2]|0;c=s[i+(e*6|0)+2>>1]<>1]<>>h&65535;n[r+(e*6|0)>>1]=((s[i+(e*6|0)>>1]<>>h;n[r+(e*6|0)+2>>1]=(c&65535)>>>h;n[r+(e*6|0)+4>>1]=l;e=e+1|0}while((e|0)!=(a|0))}else{u=(a|0)<(l|0)?a:l;if((u|0)<=0)break e;c=l<<1;o=e+40|0;e=0;do{b=f[o>>2]|0;k=s[i+(e+l<<1)>>1]<>1]<>>b&65535;n[r+(e*6|0)>>1]=((s[i+(e<<1)>>1]<>>b;n[r+(e*6|0)+2>>1]=(k&65535)>>>b;n[r+(e*6|0)+4>>1]=h;e=e+1|0}while((e|0)!=(u|0))}break}case 4:{if((f[o+24>>2]|0)==1?(h=(a|0)<(l|0)?a:l,(h|0)>0):0){c=l<<1;o=e+40|0;e=l*3|0;u=0;do{w=f[o>>2]|0;m=s[i+(u+l<<1)>>1]<>1]<>>w;b=(m+32768+(s[i+(u+c<<1)>>1]<>>w;_=n[i+(u+e<<1)>>1]|0;w=Sm((m&65535)>>>w&65535|0,0,16)|0;b=b|x;_=Sm(_&65535|0,0,48)|0;_=w|k&65535|_;b=b&65535|x;k=r+(u<<3)|0;w=k;n[w>>1]=_;n[w+2>>1]=_>>>16;k=k+4|0;n[k>>1]=b;n[k+2>>1]=b>>>16;u=u+1|0}while((u|0)!=(h|0))}break}default:{}}}while(0);o=f[d>>2]|0;if(!(t[o+32>>0]|0))return;u=f[o+16>>2]|0;if((a|0)<=0)return;o=r;e=0;while(1){m=o+4|0;_=n[o>>1]|0;n[o>>1]=n[m>>1]|0;n[m>>1]=_;e=e+1|0;if((e|0)==(a|0))break;else o=o+(u<<1)|0}return}function Dr(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0;b=c;c=c+16|0;h=b;d=f[e>>2]|0;if(!d){e=0;c=b;return e|0}k=i;o=n-k|0;u=a+12|0;l=f[u>>2]|0;o=(l|0)>(o|0)?l-o|0:0;l=r;a=l-k|0;if((a|0)>0?(uM[f[(f[d>>2]|0)+48>>2]&63](d,i,a)|0)!=(a|0):0){f[e>>2]=0;k=0;c=b;return k|0}do{if((o|0)>0){xh(h,o,s);_=0;a=ke(f[(f[d>>2]|0)+48>>2]|0,d|0,((t[h>>0]&1)==0?h+1|0:f[h+8>>2]|0)|0,o|0)|0;k=_;_=0;if(k&1){k=ze()|0;Oh(h);$e(k|0)}if((a|0)==(o|0)){Oh(h);break}f[e>>2]=0;Oh(h);k=0;c=b;return k|0}}while(0);n=n-l|0;if((n|0)>0?(uM[f[(f[d>>2]|0)+48>>2]&63](d,r,n)|0)!=(n|0):0){f[e>>2]=0;k=0;c=b;return k|0}f[u>>2]=0;k=d;c=b;return k|0}function Nr(e){e=e|0;f[e>>2]=36236;Oh(e+32|0);cd(e);return}function Fr(e){e=e|0;f[e>>2]=36236;Oh(e+32|0);cd(e);Ip(e);return}function Ur(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0;l=i+44|0;o=f[l>>2]|0;c=i+24|0;h=f[c>>2]|0;if(o>>>0>>0){f[l>>2]=h;o=h}u=o;l=s&24;if(!l){i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}if((a|0)==1&(l|0)==24){i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}e:do{switch(a|0){case 0:{l=0;a=0;break}case 1:if(!(s&8)){a=h-(f[i+20>>2]|0)|0;l=a;a=((a|0)<0)<<31>>31;break e}else{a=(f[i+12>>2]|0)-(f[i+8>>2]|0)|0;l=a;a=((a|0)<0)<<31>>31;break e}case 2:{l=i+32|0;if(!(t[l>>0]&1))l=l+1|0;else l=f[i+40>>2]|0;a=o-l|0;l=a;a=((a|0)<0)<<31>>31;break}default:{i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}}}while(0);a=Mm(l|0,a|0,r|0,n|0)|0;r=x;if((r|0)>=0){l=i+32|0;if(!(t[l>>0]&1))l=l+1|0;else l=f[i+40>>2]|0;n=o-l|0;o=((n|0)<0)<<31>>31;if(!((o|0)<(r|0)|(o|0)==(r|0)&n>>>0>>0)){l=s&8;if(!((a|0)==0&(r|0)==0)){if((l|0)!=0?(f[i+12>>2]|0)==0:0){i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}if((s&16|0)!=0&(h|0)==0){i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}}if(l){f[i+12>>2]=(f[i+8>>2]|0)+a;f[i+16>>2]=u}if(s&16)f[c>>2]=(f[i+20>>2]|0)+a;i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=a;f[i+4>>2]=r;return}}i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}function jr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;r=r+8|0;hM[f[(f[i>>2]|0)+16>>2]&15](e,i,f[r>>2]|0,f[r+4>>2]|0,0,t);return}function Hr(e){e=e|0;var i=0,r=0,t=0,n=0;i=e+44|0;r=f[i>>2]|0;t=f[e+24>>2]|0;if(r>>>0>>0){f[i>>2]=t;r=t}if(!(f[e+48>>2]&8)){e=-1;return e|0}n=e+16|0;i=f[n>>2]|0;t=e+12|0;if(i>>>0>>0){t=f[t>>2]|0;f[n>>2]=r;i=r}else t=f[t>>2]|0;if(t>>>0>=i>>>0){e=-1;return e|0}e=a[t>>0]|0;return e|0}function zr(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0;n=e+44|0;r=f[n>>2]|0;a=f[e+24>>2]|0;if(r>>>0>>0){f[n>>2]=a;r=a}o=e+8|0;n=f[o>>2]|0;u=e+12|0;s=f[u>>2]|0;l=n;if(n>>>0>=s>>>0){e=-1;return e|0}if((i|0)==-1){f[o>>2]=n;f[u>>2]=s+-1;f[e+16>>2]=r;e=0;return e|0}if(!(f[e+48>>2]&16)){a=i&255;n=s+-1|0;if(a<<24>>24!=(t[n>>0]|0)){e=-1;return e|0}}else{a=i&255;n=s+-1|0}f[o>>2]=l;f[u>>2]=n;f[e+16>>2]=r;t[n>>0]=a;e=i;return e|0}function Yr(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0;v=c;c=c+16|0;d=v;if((i|0)==-1){e=0;c=v;return e|0}b=e+12|0;k=e+8|0;w=(f[b>>2]|0)-(f[k>>2]|0)|0;m=e+24|0;r=f[m>>2]|0;h=e+28|0;n=f[h>>2]|0;do{if((r|0)==(n|0)){o=e+48|0;if(!(f[o>>2]&16)){e=-1;c=v;return e|0}u=e+20|0;l=f[u>>2]|0;a=r-l|0;s=e+44|0;l=(f[s>>2]|0)-l|0;n=e+32|0;_=0;ce(67,n|0,0);r=_;_=0;if(!(r&1)){if(!(t[n>>0]&1))r=10;else r=(f[n>>2]&-2)+-1|0;_=0;Ae(8,n|0,r|0,0);r=_;_=0;if(!(r&1)){r=t[n>>0]|0;if(!(r&1)){n=n+1|0;r=(r&255)>>>1}else{n=f[e+40>>2]|0;r=f[e+36>>2]|0}p=n+r|0;f[u>>2]=n;f[h>>2]=p;u=n+a|0;f[m>>2]=u;r=n+l|0;f[s>>2]=r;n=p;break}}p=ze(0)|0;Ze(p|0)|0;Qe();p=-1;c=v;return p|0}else{p=e+44|0;o=e+48|0;s=p;u=r;r=f[p>>2]|0}}while(0);l=u+1|0;f[d>>2]=l;a=f[(l>>>0>>0?s:d)>>2]|0;f[s>>2]=a;if(f[o>>2]&8){r=e+32|0;if(!(t[r>>0]&1))r=r+1|0;else r=f[e+40>>2]|0;f[k>>2]=r;f[b>>2]=r+w;f[e+16>>2]=a}if((u|0)==(n|0)){p=kM[f[(f[e>>2]|0)+52>>2]&63](e,i&255)|0;c=v;return p|0}else{f[m>>2]=l;t[u>>0]=i;p=i&255;c=v;return p|0}return 0}function qr(e){e=e|0;var i=0,r=0;f[e>>2]=36200;i=e+56|0;f[i>>2]=36220;r=e+4|0;f[r>>2]=36236;Oh(e+36|0);cd(r);nd(i);return}function Xr(e){e=e|0;var i=0,r=0;f[e>>2]=36200;i=e+56|0;f[i>>2]=36220;r=e+4|0;f[r>>2]=36236;Oh(e+36|0);cd(r);nd(i);Ip(e);return}function Vr(e){e=e|0;var i=0,r=0,t=0,n=0;n=f[(f[e>>2]|0)+-12>>2]|0;i=e+n|0;f[i>>2]=36200;r=e+(n+56)|0;f[r>>2]=36220;t=e+(n+4)|0;f[t>>2]=36236;Oh(e+(n+36)|0);cd(t);nd(r);Ip(i);return}function Gr(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36388;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}t=f[e+8>>2]|0;if(!t)return;i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Ip(t);return}function Kr(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36388;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}t=f[e+8>>2]|0;if(!t){Ip(e);return}i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Ip(t);Ip(e);return}function Wr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+36|0;if(!(f[a>>2]|0)){o=e+40|0;$r(e,i,f[o>>2]|0,r,n);f[o>>2]=(f[o>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,f[(f[u>>2]|0)+16>>2]|0)|0;o=e+20|0;$r(e,i,f[o>>2]|0,r,n);i=f[u>>2]|0;if((f[i+28>>2]|0)==536870912)pr(f[o>>2]|0,re(s,f[i+16>>2]|0)|0);u=f[a>>2]|0;if((uM[f[(f[u>>2]|0)+48>>2]&63](u,f[o>>2]|0,l)|0)==(l|0))return;i=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,i|0,3,35648);u=_;_=0;if(u&1){u=ze()|0;je(i|0);$e(u|0)}else bi(i|0,824,96)}function Zr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+36>>2]|0;if(!n){n=e+40|0;Jr(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{Qr(e,n,i,r,t);return}}function Jr(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0;c=e+4|0;o=f[c>>2]|0;do{if(!(t[o+32>>0]|0))h=i;else{e=e+8|0;Am(f[e>>2]|0,i|0,a*6|0)|0;o=f[c>>2]|0;u=f[o+16>>2]|0;if((a|0)<=0){h=f[e>>2]|0;break}e=f[e>>2]|0;o=e;i=0;while(1){h=o+4|0;d=n[o>>1]|0;n[o>>1]=n[h>>1]|0;n[h>>1]=d;i=i+1|0;if((i|0)==(a|0))break;else o=o+(u<<1)|0}h=e;o=f[c>>2]|0}}while(0);switch(f[o+16>>2]|0){case 3:{if((f[o+24>>2]|0)==2){if((a|0)>0)o=0;else return;do{c=s[h+(o*6|0)+2>>1]|0;l=32768-c+(s[h+(o*6|0)+4>>1]|0)|0;d=(s[h+(o*6|0)>>1]|0)-c+32768|0;n[r+(o*6|0)>>1]=c+49152+(((l&65535)+(d&65535)|0)>>>2);n[r+(o*6|0)+2>>1]=l;n[r+(o*6|0)+4>>1]=d;o=o+1|0}while((o|0)!=(a|0));return}o=(l|0)<(a|0)?l:a;if((o|0)<=0)return;e=l<<1;i=0;do{c=s[h+(i*6|0)+2>>1]|0;a=32768-c+(s[h+(i*6|0)+4>>1]|0)|0;d=(s[h+(i*6|0)>>1]|0)-c+32768|0;n[r+(i<<1)>>1]=c+49152+(((a&65535)+(d&65535)|0)>>>2);n[r+(i+l<<1)>>1]=a;n[r+(i+e<<1)>>1]=d;i=i+1|0}while((i|0)!=(o|0));return}case 4:{if((f[o+24>>2]|0)!=1)return;o=(l|0)<(a|0)?l:a;if((o|0)<=0)return;e=l<<1;i=l*3|0;u=0;do{d=n[h+(u<<3)+6>>1]|0;b=s[h+(u<<3)+2>>1]|0;c=32768-b+(s[h+(u<<3)+4>>1]|0)|0;a=(s[h+(u<<3)>>1]|0)-b+32768|0;n[r+(u<<1)>>1]=b+49152+(((c&65535)+(a&65535)|0)>>>2);n[r+(u+l<<1)>>1]=c;n[r+(u+e<<1)>>1]=a;n[r+(u+i<<1)>>1]=d;u=u+1|0}while((u|0)!=(o|0));return}default:return}}function Qr(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0;b=c;c=c+176|0;k=b+152|0;v=b+16|0;m=b;u=e+4|0;s=f[u>>2]|0;d=n<<1;l=re(d,f[s+16>>2]|0)|0;do{if(l){o=e+20|0;while(1){s=uM[f[(f[i>>2]|0)+32>>2]&63](i,f[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){h=26;break}else l=l-s|0}if((h|0)==26){s=f[u>>2]|0;break}h=v+56|0;u=v+4|0;f[v>>2]=36160;f[h>>2]=36180;_=0;ce(62,v+56|0,u|0);b=_;_=0;if(b&1){v=ze()|0;nd(h);$e(v|0)}f[v+128>>2]=0;f[v+132>>2]=-1;f[v>>2]=36200;f[v+56>>2]=36220;_=0;ue(180,u|0);b=_;_=0;do{if(b&1)s=ze()|0;else{f[u>>2]=36236;i=v+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[v+52>>2]=16;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;_=0;ce(63,u|0,k|0);b=_;_=0;if(b&1){s=ze()|0;Oh(k);Oh(i);cd(u);break}Oh(k);_=0;s=ke(28,v|0,49029,57)|0;k=_;_=0;if(!(k&1)?(_=0,pe(36,s|0,0)|0,k=_,_=0,!(k&1)):0){o=He(16)|0;_=0;ce(64,m|0,u|0);k=_;_=0;if(!(k&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,o|0,3,35648,m|0);k=_;_=0;if(k&1)l=1;else{_=0;Ae(6,o|0,824,96);_=0;l=0}s=ze()|0;Oh(m);if(!l){m=s;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}}else s=ze()|0;je(o|0);m=s;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}m=ze()|0;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}}while(0);v=s;nd(h);$e(v|0)}}while(0);l=e+20|0;if((f[s+28>>2]|0)!=536870912){v=f[l>>2]|0;Jr(e,v,r,n,a);c=b;return}pr(f[l>>2]|0,re(d,f[s+16>>2]|0)|0);v=f[l>>2]|0;Jr(e,v,r,n,a);c=b;return}function $r(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0;h=e+4|0;e=f[h>>2]|0;e:do{switch(f[e+16>>2]|0){case 3:{if((f[e+24>>2]|0)==2){if((a|0)>0)e=0;else break e;while(1){c=s[i+(e*6|0)+2>>1]|0;u=s[i+(e*6|0)+4>>1]|0;l=(s[i+(e*6|0)>>1]|0)-((u+c|0)>>>2)+16384|0;n[r+(e*6|0)>>1]=u+32768+l;n[r+(e*6|0)+2>>1]=l;n[r+(e*6|0)+4>>1]=c+32768+l;e=e+1|0;if((e|0)==(a|0))break e}}e=(a|0)<(l|0)?a:l;if((e|0)>0){o=l<<1;u=0;do{d=s[i+(u+l<<1)>>1]|0;b=s[i+(u+o<<1)>>1]|0;c=(s[i+(u<<1)>>1]|0)-((b+d|0)>>>2)+16384|0;n[r+(u*6|0)>>1]=b+32768+c;n[r+(u*6|0)+2>>1]=c;n[r+(u*6|0)+4>>1]=d+32768+c;u=u+1|0}while((u|0)!=(e|0))}break}case 4:{if((f[e+24>>2]|0)==1?(c=(a|0)<(l|0)?a:l,(c|0)>0):0){e=l<<1;o=l*3|0;u=0;do{d=s[i+(u+l<<1)>>1]|0;k=s[i+(u+e<<1)>>1]|0;b=(s[i+(u<<1)>>1]|0)-((k+d|0)>>>2)+16384|0;w=n[i+(u+o<<1)>>1]|0;_=Sm(b&65535|0,0,16)|0;d=d+32768+b|x;w=Sm(w&65535|0,0,48)|0;w=_|k+32768+b&65535|w;d=d&65535|x;b=r+(u<<3)|0;k=b;n[k>>1]=w;n[k+2>>1]=w>>>16;b=b+4|0;n[b>>1]=d;n[b+2>>1]=d>>>16;u=u+1|0}while((u|0)!=(c|0))}break}default:{}}}while(0);e=f[h>>2]|0;if(!(t[e+32>>0]|0))return;u=f[e+16>>2]|0;if((a|0)<=0)return;e=r;o=0;while(1){_=e+4|0;w=n[e>>1]|0;n[e>>1]=n[_>>1]|0;n[_>>1]=w;o=o+1|0;if((o|0)==(a|0))break;else e=e+(u<<1)|0}return}function et(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36412;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}t=f[e+8>>2]|0;if(!t)return;i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Ip(t);return}function it(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36412;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}t=f[e+8>>2]|0;if(!t){Ip(e);return}i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Ip(t);Ip(e);return}function rt(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+36|0;if(!(f[a>>2]|0)){o=e+40|0;at(e,i,f[o>>2]|0,r,n);f[o>>2]=(f[o>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,f[(f[u>>2]|0)+16>>2]|0)|0;o=e+20|0;at(e,i,f[o>>2]|0,r,n);i=f[u>>2]|0;if((f[i+28>>2]|0)==536870912)pr(f[o>>2]|0,re(s,f[i+16>>2]|0)|0);u=f[a>>2]|0;if((uM[f[(f[u>>2]|0)+48>>2]&63](u,f[o>>2]|0,l)|0)==(l|0))return;i=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,i|0,3,35648);u=_;_=0;if(u&1){u=ze()|0;je(i|0);$e(u|0)}else bi(i|0,824,96)}function tt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+36>>2]|0;if(!n){n=e+40|0;nt(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{ft(e,n,i,r,t);return}}function nt(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,k=0;c=e+4|0;o=f[c>>2]|0;do{if(!(t[o+32>>0]|0))h=i;else{e=e+8|0;Am(f[e>>2]|0,i|0,a*6|0)|0;o=f[c>>2]|0;u=f[o+16>>2]|0;if((a|0)<=0){h=f[e>>2]|0;break}e=f[e>>2]|0;o=e;i=0;while(1){h=o+4|0;d=n[o>>1]|0;n[o>>1]=n[h>>1]|0;n[h>>1]=d;i=i+1|0;if((i|0)==(a|0))break;else o=o+(u<<1)|0}h=e;o=f[c>>2]|0}}while(0);switch(f[o+16>>2]|0){case 3:{if((f[o+24>>2]|0)==2){if((a|0)>0)o=0;else return;do{u=s[h+(o*6|0)>>1]|0;l=n[h+(o*6|0)+2>>1]|0;c=l&65535;d=(s[h+(o*6|0)+4>>1]|0)+32768-((c+u|0)>>>1)&65535;n[r+(o*6|0)>>1]=u+32768-c;n[r+(o*6|0)+2>>1]=l;n[r+(o*6|0)+4>>1]=d;o=o+1|0}while((o|0)!=(a|0));return}o=(l|0)<(a|0)?l:a;if((o|0)<=0)return;e=l<<1;i=0;do{a=n[h+(i*6|0)+2>>1]|0;u=s[h+(i*6|0)>>1]|0;c=a&65535;d=(s[h+(i*6|0)+4>>1]|0)+32768-((c+u|0)>>>1)&65535;n[r+(i<<1)>>1]=u+32768-c;n[r+(i+l<<1)>>1]=a;n[r+(i+e<<1)>>1]=d;i=i+1|0}while((i|0)!=(o|0));return}case 4:{if((f[o+24>>2]|0)!=1)return;o=(l|0)<(a|0)?l:a;if((o|0)<=0)return;e=l<<1;i=l*3|0;u=0;do{c=n[h+(u<<3)+2>>1]|0;d=n[h+(u<<3)+6>>1]|0;k=s[h+(u<<3)>>1]|0;b=c&65535;a=(s[h+(u<<3)+4>>1]|0)+32768-((b+k|0)>>>1)&65535;n[r+(u<<1)>>1]=k+32768-b;n[r+(u+l<<1)>>1]=c;n[r+(u+e<<1)>>1]=a;n[r+(u+i<<1)>>1]=d;u=u+1|0}while((u|0)!=(o|0));return}default:return}}function ft(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0;b=c;c=c+176|0;k=b+152|0;v=b+16|0;m=b;u=e+4|0;s=f[u>>2]|0;d=n<<1;l=re(d,f[s+16>>2]|0)|0;do{if(l){o=e+20|0;while(1){s=uM[f[(f[i>>2]|0)+32>>2]&63](i,f[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){h=26;break}else l=l-s|0}if((h|0)==26){s=f[u>>2]|0;break}h=v+56|0;u=v+4|0;f[v>>2]=36160;f[h>>2]=36180;_=0;ce(62,v+56|0,u|0);b=_;_=0;if(b&1){v=ze()|0;nd(h);$e(v|0)}f[v+128>>2]=0;f[v+132>>2]=-1;f[v>>2]=36200;f[v+56>>2]=36220;_=0;ue(180,u|0);b=_;_=0;do{if(b&1)s=ze()|0;else{f[u>>2]=36236;i=v+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[v+52>>2]=16;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;_=0;ce(63,u|0,k|0);b=_;_=0;if(b&1){s=ze()|0;Oh(k);Oh(i);cd(u);break}Oh(k);_=0;s=ke(28,v|0,49029,57)|0;k=_;_=0;if(!(k&1)?(_=0,pe(36,s|0,0)|0,k=_,_=0,!(k&1)):0){o=He(16)|0;_=0;ce(64,m|0,u|0);k=_;_=0;if(!(k&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,o|0,3,35648,m|0);k=_;_=0;if(k&1)l=1;else{_=0;Ae(6,o|0,824,96);_=0;l=0}s=ze()|0;Oh(m);if(!l){m=s;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}}else s=ze()|0;je(o|0);m=s;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}m=ze()|0;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}}while(0);v=s;nd(h);$e(v|0)}}while(0);l=e+20|0;if((f[s+28>>2]|0)!=536870912){v=f[l>>2]|0;nt(e,v,r,n,a);c=b;return}pr(f[l>>2]|0,re(d,f[s+16>>2]|0)|0);v=f[l>>2]|0;nt(e,v,r,n,a);c=b;return}function at(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0;h=e+4|0;e=f[h>>2]|0;e:do{switch(f[e+16>>2]|0){case 3:{if((f[e+24>>2]|0)==2){if((a|0)>0)e=0;else break e;while(1){c=n[i+(e*6|0)+2>>1]|0;l=c&65535;u=(s[i+(e*6|0)>>1]|0)+32768+l|0;l=(s[i+(e*6|0)+4>>1]|0)+32768+(((u&65535)+l|0)>>>1)&65535;n[r+(e*6|0)>>1]=u;n[r+(e*6|0)+2>>1]=c;n[r+(e*6|0)+4>>1]=l;e=e+1|0;if((e|0)==(a|0))break e}}e=(a|0)<(l|0)?a:l;if((e|0)>0){o=l<<1;u=0;do{d=n[i+(u+l<<1)>>1]|0;c=d&65535;b=(s[i+(u<<1)>>1]|0)+32768+c|0;c=(s[i+(u+o<<1)>>1]|0)+32768+(((b&65535)+c|0)>>>1)&65535;n[r+(u*6|0)>>1]=b;n[r+(u*6|0)+2>>1]=d;n[r+(u*6|0)+4>>1]=c;u=u+1|0}while((u|0)!=(e|0))}break}case 4:{if((f[e+24>>2]|0)==1?(c=(a|0)<(l|0)?a:l,(c|0)>0):0){e=l<<1;o=l*3|0;u=0;do{b=n[i+(u+l<<1)>>1]|0;d=b&65535;k=(s[i+(u<<1)>>1]|0)+32768+d&65535;d=(s[i+(u+e<<1)>>1]|0)+32768+((k+d|0)>>>1)|0;w=n[i+(u+o<<1)>>1]|0;b=Sm(b&65535|0,0,16)|0;d=x|d;w=Sm(w&65535|0,0,48)|0;w=k|b|w;d=d&65535|x;b=r+(u<<3)|0;k=b;n[k>>1]=w;n[k+2>>1]=w>>>16;b=b+4|0;n[b>>1]=d;n[b+2>>1]=d>>>16;u=u+1|0}while((u|0)!=(c|0))}break}default:{}}}while(0);e=f[h>>2]|0;if(!(t[e+32>>0]|0))return;u=f[e+16>>2]|0;if((a|0)<=0)return;e=r;o=0;while(1){w=e+4|0;k=n[e>>1]|0;n[e>>1]=n[w>>1]|0;n[w>>1]=k;o=o+1|0;if((o|0)==(a|0))break;else e=e+(u<<1)|0}return}function st(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36436;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}t=f[e+8>>2]|0;if(!t)return;i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Ip(t);return}function lt(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36436;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}t=f[e+8>>2]|0;if(!t){Ip(e);return}i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Ip(t);Ip(e);return}function ot(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+36|0;if(!(f[a>>2]|0)){o=e+40|0;dt(e,i,f[o>>2]|0,r,n);f[o>>2]=(f[o>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,f[(f[u>>2]|0)+16>>2]|0)|0;o=e+20|0;dt(e,i,f[o>>2]|0,r,n);i=f[u>>2]|0;if((f[i+28>>2]|0)==536870912)pr(f[o>>2]|0,re(s,f[i+16>>2]|0)|0);u=f[a>>2]|0;if((uM[f[(f[u>>2]|0)+48>>2]&63](u,f[o>>2]|0,l)|0)==(l|0))return;i=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,i|0,3,35648);u=_;_=0;if(u&1){u=ze()|0;je(i|0);$e(u|0)}else bi(i|0,824,96)}function ut(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+36>>2]|0;if(!n){n=e+40|0;ct(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{ht(e,n,i,r,t);return}}function ct(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0;c=e+4|0;o=f[c>>2]|0;do{if(!(t[o+32>>0]|0))h=i;else{e=e+8|0;Am(f[e>>2]|0,i|0,a*6|0)|0;o=f[c>>2]|0;u=f[o+16>>2]|0;if((a|0)<=0){h=f[e>>2]|0;break}e=f[e>>2]|0;o=e;i=0;while(1){h=o+4|0;d=n[o>>1]|0;n[o>>1]=n[h>>1]|0;n[h>>1]=d;i=i+1|0;if((i|0)==(a|0))break;else o=o+(u<<1)|0}h=e;o=f[c>>2]|0}}while(0);switch(f[o+16>>2]|0){case 3:{if((f[o+24>>2]|0)==2){if((a|0)>0)o=0;else return;do{l=n[h+(o*6|0)+2>>1]|0;c=l&65535;d=32768-c+(s[h+(o*6|0)+4>>1]|0)&65535;n[r+(o*6|0)>>1]=(s[h+(o*6|0)>>1]|0)+32768-c;n[r+(o*6|0)+2>>1]=l;n[r+(o*6|0)+4>>1]=d;o=o+1|0}while((o|0)!=(a|0));return}o=(l|0)<(a|0)?l:a;if((o|0)<=0)return;e=l<<1;i=0;do{a=n[h+(i*6|0)+2>>1]|0;c=a&65535;d=32768-c+(s[h+(i*6|0)+4>>1]|0)&65535;n[r+(i<<1)>>1]=(s[h+(i*6|0)>>1]|0)+32768-c;n[r+(i+l<<1)>>1]=a;n[r+(i+e<<1)>>1]=d;i=i+1|0}while((i|0)!=(o|0));return}case 4:{if((f[o+24>>2]|0)!=1)return;o=(l|0)<(a|0)?l:a;if((o|0)<=0)return;e=l<<1;i=l*3|0;u=0;do{c=n[h+(u<<3)+2>>1]|0;d=n[h+(u<<3)+6>>1]|0;b=c&65535;a=32768-b+(s[h+(u<<3)+4>>1]|0)&65535;n[r+(u<<1)>>1]=(s[h+(u<<3)>>1]|0)+32768-b;n[r+(u+l<<1)>>1]=c;n[r+(u+e<<1)>>1]=a;n[r+(u+i<<1)>>1]=d;u=u+1|0}while((u|0)!=(o|0));return}default:return}}function ht(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0;b=c;c=c+176|0;k=b+152|0;v=b+16|0;m=b;u=e+4|0;s=f[u>>2]|0;d=n<<1;l=re(d,f[s+16>>2]|0)|0;do{if(l){o=e+20|0;while(1){s=uM[f[(f[i>>2]|0)+32>>2]&63](i,f[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){h=26;break}else l=l-s|0}if((h|0)==26){s=f[u>>2]|0;break}h=v+56|0;u=v+4|0;f[v>>2]=36160;f[h>>2]=36180;_=0;ce(62,v+56|0,u|0);b=_;_=0;if(b&1){v=ze()|0;nd(h);$e(v|0)}f[v+128>>2]=0;f[v+132>>2]=-1;f[v>>2]=36200;f[v+56>>2]=36220;_=0;ue(180,u|0);b=_;_=0;do{if(b&1)s=ze()|0;else{f[u>>2]=36236;i=v+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[v+52>>2]=16;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;_=0;ce(63,u|0,k|0);b=_;_=0;if(b&1){s=ze()|0;Oh(k);Oh(i);cd(u);break}Oh(k);_=0;s=ke(28,v|0,49029,57)|0;k=_;_=0;if(!(k&1)?(_=0,pe(36,s|0,0)|0,k=_,_=0,!(k&1)):0){o=He(16)|0;_=0;ce(64,m|0,u|0);k=_;_=0;if(!(k&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,o|0,3,35648,m|0);k=_;_=0;if(k&1)l=1;else{_=0;Ae(6,o|0,824,96);_=0;l=0}s=ze()|0;Oh(m);if(!l){m=s;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}}else s=ze()|0;je(o|0);m=s;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}m=ze()|0;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}}while(0);v=s;nd(h);$e(v|0)}}while(0);l=e+20|0;if((f[s+28>>2]|0)!=536870912){v=f[l>>2]|0;ct(e,v,r,n,a);c=b;return}pr(f[l>>2]|0,re(d,f[s+16>>2]|0)|0);v=f[l>>2]|0;ct(e,v,r,n,a);c=b;return}function dt(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0;h=e+4|0;e=f[h>>2]|0;e:do{switch(f[e+16>>2]|0){case 3:{if((f[e+24>>2]|0)==2){if((a|0)>0)e=0;else break e;while(1){c=n[i+(e*6|0)+2>>1]|0;u=c&65535;l=u+32768+(s[i+(e*6|0)+4>>1]|0)&65535;n[r+(e*6|0)>>1]=(s[i+(e*6|0)>>1]|0)+32768+u;n[r+(e*6|0)+2>>1]=c;n[r+(e*6|0)+4>>1]=l;e=e+1|0;if((e|0)==(a|0))break e}}e=(a|0)<(l|0)?a:l;if((e|0)>0){o=l<<1;u=0;do{d=n[i+(u+l<<1)>>1]|0;b=d&65535;c=b+32768+(s[i+(u+o<<1)>>1]|0)&65535;n[r+(u*6|0)>>1]=(s[i+(u<<1)>>1]|0)+32768+b;n[r+(u*6|0)+2>>1]=d;n[r+(u*6|0)+4>>1]=c;u=u+1|0}while((u|0)!=(e|0))}break}case 4:{if((f[e+24>>2]|0)==1?(c=(a|0)<(l|0)?a:l,(c|0)>0):0){e=l<<1;o=l*3|0;u=0;do{b=n[i+(u+l<<1)>>1]|0;d=b&65535;k=(s[i+(u<<1)>>1]|0)+32768+d|0;d=d+32768+(s[i+(u+e<<1)>>1]|0)|0;w=n[i+(u+o<<1)>>1]|0;b=Sm(b&65535|0,0,16)|0;d=x|d;w=Sm(w&65535|0,0,48)|0;w=k&65535|b|w;d=d&65535|x;b=r+(u<<3)|0;k=b;n[k>>1]=w;n[k+2>>1]=w>>>16;b=b+4|0;n[b>>1]=d;n[b+2>>1]=d>>>16;u=u+1|0}while((u|0)!=(c|0))}break}default:{}}}while(0);e=f[h>>2]|0;if(!(t[e+32>>0]|0))return;u=f[e+16>>2]|0;if((a|0)<=0)return;e=r;o=0;while(1){w=e+4|0;k=n[e>>1]|0;n[e>>1]=n[w>>1]|0;n[w>>1]=k;o=o+1|0;if((o|0)==(a|0))break;else e=e+(u<<1)|0}return}function bt(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36460;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}t=f[e+8>>2]|0;if(!t)return;i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Ip(t);return}function kt(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36460;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}t=f[e+8>>2]|0;if(!t){Ip(e);return}i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Ip(t);Ip(e);return}function wt(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+36|0;if(!(f[a>>2]|0)){o=e+40|0;pt(e,i,f[o>>2]|0,r,n);f[o>>2]=(f[o>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,f[(f[u>>2]|0)+16>>2]|0)|0;o=e+20|0;pt(e,i,f[o>>2]|0,r,n);i=f[u>>2]|0;if((f[i+28>>2]|0)==536870912)pr(f[o>>2]|0,re(s,f[i+16>>2]|0)|0);u=f[a>>2]|0;if((uM[f[(f[u>>2]|0)+48>>2]&63](u,f[o>>2]|0,l)|0)==(l|0))return;i=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,i|0,3,35648);u=_;_=0;if(u&1){u=ze()|0;je(i|0);$e(u|0)}else bi(i|0,824,96)}function _t(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+36>>2]|0;if(!n){n=e+40|0;mt(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{vt(e,n,i,r,t);return}}function mt(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0;u=e+4|0;l=f[u>>2]|0;do{if(!(t[l+32>>0]|0))c=i;else{e=e+8|0;Am(f[e>>2]|0,i|0,a*6|0)|0;l=f[u>>2]|0;o=f[l+16>>2]|0;if((a|0)<=0){c=f[e>>2]|0;break}e=f[e>>2]|0;l=e;i=0;while(1){c=l+4|0;h=n[l>>1]|0;n[l>>1]=n[c>>1]|0;n[c>>1]=h;i=i+1|0;if((i|0)==(a|0))break;else l=l+(o<<1)|0}c=e;l=f[u>>2]|0}}while(0);switch(f[l+16>>2]|0){case 3:{if((f[l+24>>2]|0)==2){if((a|0)>0)l=0;else return;do{s=n[c+(l*6|0)+2>>1]|0;h=n[c+(l*6|0)+4>>1]|0;n[r+(l*6|0)>>1]=n[c+(l*6|0)>>1]|0;n[r+(l*6|0)+2>>1]=s;n[r+(l*6|0)+4>>1]=h;l=l+1|0}while((l|0)!=(a|0));return}l=(s|0)<(a|0)?s:a;if((l|0)<=0)return;e=s<<1;i=0;do{a=n[c+(i*6|0)+2>>1]|0;h=n[c+(i*6|0)+4>>1]|0;n[r+(i<<1)>>1]=n[c+(i*6|0)>>1]|0;n[r+(i+s<<1)>>1]=a;n[r+(i+e<<1)>>1]=h;i=i+1|0}while((i|0)!=(l|0));return}case 4:{if((f[l+24>>2]|0)!=1)return;l=(s|0)<(a|0)?s:a;if((l|0)<=0)return;e=s<<1;i=s*3|0;o=0;do{u=n[c+(o<<3)+2>>1]|0;a=n[c+(o<<3)+4>>1]|0;h=n[c+(o<<3)+6>>1]|0;n[r+(o<<1)>>1]=n[c+(o<<3)>>1]|0;n[r+(o+s<<1)>>1]=u;n[r+(o+e<<1)>>1]=a;n[r+(o+i<<1)>>1]=h;o=o+1|0}while((o|0)!=(l|0));return}default:return}}function vt(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0;b=c;c=c+176|0;k=b+152|0;v=b+16|0;m=b;u=e+4|0;s=f[u>>2]|0;d=n<<1;l=re(d,f[s+16>>2]|0)|0;do{if(l){o=e+20|0;while(1){s=uM[f[(f[i>>2]|0)+32>>2]&63](i,f[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){h=26;break}else l=l-s|0}if((h|0)==26){s=f[u>>2]|0;break}h=v+56|0;u=v+4|0;f[v>>2]=36160;f[h>>2]=36180;_=0;ce(62,v+56|0,u|0);b=_;_=0;if(b&1){v=ze()|0;nd(h);$e(v|0)}f[v+128>>2]=0;f[v+132>>2]=-1;f[v>>2]=36200;f[v+56>>2]=36220;_=0;ue(180,u|0);b=_;_=0;do{if(b&1)s=ze()|0;else{f[u>>2]=36236;i=v+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[v+52>>2]=16;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;_=0;ce(63,u|0,k|0);b=_;_=0;if(b&1){s=ze()|0;Oh(k);Oh(i);cd(u);break}Oh(k);_=0;s=ke(28,v|0,49029,57)|0;k=_;_=0;if(!(k&1)?(_=0,pe(36,s|0,0)|0,k=_,_=0,!(k&1)):0){o=He(16)|0;_=0;ce(64,m|0,u|0);k=_;_=0;if(!(k&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,o|0,3,35648,m|0);k=_;_=0;if(k&1)l=1;else{_=0;Ae(6,o|0,824,96);_=0;l=0}s=ze()|0;Oh(m);if(!l){m=s;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}}else s=ze()|0;je(o|0);m=s;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}m=ze()|0;f[v>>2]=36200;f[h>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(h);$e(m|0)}}while(0);v=s;nd(h);$e(v|0)}}while(0);l=e+20|0;if((f[s+28>>2]|0)!=536870912){v=f[l>>2]|0;mt(e,v,r,n,a);c=b;return}pr(f[l>>2]|0,re(d,f[s+16>>2]|0)|0);v=f[l>>2]|0;mt(e,v,r,n,a);c=b;return}function pt(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0;h=e+4|0;e=f[h>>2]|0;e:do{switch(f[e+16>>2]|0){case 3:{if((f[e+24>>2]|0)==2){if((a|0)>0)e=0;else break e;while(1){c=n[i+(e*6|0)+2>>1]|0;l=n[i+(e*6|0)+4>>1]|0;n[r+(e*6|0)>>1]=n[i+(e*6|0)>>1]|0;n[r+(e*6|0)+2>>1]=c;n[r+(e*6|0)+4>>1]=l;e=e+1|0;if((e|0)==(a|0))break e}}e=(a|0)<(l|0)?a:l;if((e|0)>0){o=l<<1;u=0;do{d=n[i+(u+l<<1)>>1]|0;c=n[i+(u+o<<1)>>1]|0;n[r+(u*6|0)>>1]=n[i+(u<<1)>>1]|0;n[r+(u*6|0)+2>>1]=d;n[r+(u*6|0)+4>>1]=c;u=u+1|0}while((u|0)!=(e|0))}break}case 4:{if((f[e+24>>2]|0)==1?(c=(a|0)<(l|0)?a:l,(c|0)>0):0){e=l<<1;o=l*3|0;u=0;do{d=n[i+(u<<1)>>1]|0;w=n[i+(u+o<<1)>>1]|0;b=s[i+(u+e<<1)>>1]|0;k=Sm(s[i+(u+l<<1)>>1]|0,0,16)|0;b=x|b;w=Sm(w&65535|0,0,48)|0;w=k|d&65535|w;b=b&65535|x;d=r+(u<<3)|0;k=d;n[k>>1]=w;n[k+2>>1]=w>>>16;d=d+4|0;n[d>>1]=b;n[d+2>>1]=b>>>16;u=u+1|0}while((u|0)!=(c|0))}break}default:{}}}while(0);e=f[h>>2]|0;if(!(t[e+32>>0]|0))return;u=f[e+16>>2]|0;if((a|0)<=0)return;e=r;o=0;while(1){w=e+4|0;k=n[e>>1]|0;n[e>>1]=n[w>>1]|0;n[w>>1]=k;o=o+1|0;if((o|0)==(a|0))break;else e=e+(u<<1)|0}return}function gt(e){e=e|0;return}function yt(e){e=e|0;Ip(e);return}function Mt(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;r=re(f[e+8>>2]|0,r)|0;e=f[e+4>>2]|0;if((uM[f[(f[e>>2]|0)+48>>2]&63](e,i,r)|0)==(r|0))return;n=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,n|0,3,35648);e=_;_=0;if(e&1){e=ze()|0;je(n|0);$e(e|0)}else bi(n|0,824,96)}function Et(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0;d=c;c=c+16|0;h=d;u=e+8|0;a=f[u>>2]|0;n=re(a,r)|0;do{if(n){l=e+4|0;s=n;while(1){a=f[l>>2]|0;a=uM[f[(f[a>>2]|0)+32>>2]&63](a,i,s)|0;if(!a)break;n=s-a|0;if((s|0)==(a|0)){o=11;break}else s=n}if((o|0)==11){a=f[u>>2]|0;s=n;break}n=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,n|0,3,35648);e=_;_=0;if(e&1){e=ze()|0;je(n|0);$e(e|0)}else bi(n|0,824,96)}else s=0}while(0);if((a|0)==2){pr(i,r<<1);a=f[u>>2]|0}n=f[e+12>>2]|0;if((n|0)<=(re(a,r)|0)){c=d;return}e=f[e+4>>2]|0;hM[f[(f[e>>2]|0)+16>>2]&15](h,e,n-s|0,0,1,24);c=d;return}function At(e){e=e|0;Ip(e);return}function St(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=e+4|0;Am(f[t>>2]|0,i|0,re(f[e+8>>2]|0,r)|0)|0;f[t>>2]=(f[t>>2]|0)+(f[e+12>>2]|0);return}function Tt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=e+4|0;Am(i|0,f[t>>2]|0,re(f[e+8>>2]|0,r)|0)|0;f[t>>2]=(f[t>>2]|0)+(f[e+12>>2]|0);return}function Ct(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0;f[e+112>>2]=0;f[e+108>>2]=0;c=f[i>>2]|0;a=c;do{if(c){l=e+92|0;c=e+96|0;o=f[c>>2]|0;u=f[l>>2]|0;r=u;n=o-r|0;if(n>>>0>=4e4)if(n>>>0>4e4?(s=u+4e4|0,(o|0)!=(s|0)):0){f[c>>2]=s;s=r}else s=r;else{Rt(l,4e4-n|0);s=f[l>>2]|0;a=f[i>>2]|0}r=e+116|0;f[r>>2]=s;o=e+124|0;f[o>>2]=s;u=e+104|0;f[u>>2]=a;n=a;if(a){if((f[n+12>>2]|0)==(f[n+16>>2]|0)){i=(lM[f[(f[a>>2]|0)+36>>2]&127](n)|0)==-1;n=f[o>>2]|0;if(i)break;a=f[r>>2]|0}else{n=s;a=s}l=n-a|0;if(l>>>0<=64){s=e+92|0;if((n|0)==(a|0))n=a;else{n=a;a=0;do{t[(f[s>>2]|0)+a>>0]=t[n+a>>0]|0;a=a+1|0;n=f[r>>2]|0}while(a>>>0>>0);a=f[o>>2]|0}s=f[s>>2]|0;i=s;h=i-n|0;f[r>>2]=s;n=a+h|0;f[o>>2]=n;s=e+120|0;f[s>>2]=(f[s>>2]|0)+h;u=f[u>>2]|0;n=uM[f[(f[u>>2]|0)+32>>2]&63](u,n,(f[c>>2]|0)-(i+l)|0)|0;n=(f[o>>2]|0)+n|0;f[o>>2]=n}}else n=s}else{f[e+104>>2]=0;n=f[i+4>>2]|0;r=e+116|0;f[r>>2]=n;n=n+(f[i+8>>2]|0)|0;f[e+124>>2]=n}}while(0);r=f[r>>2]|0;if(r>>>0>=n>>>0){c=r;h=e+120|0;f[h>>2]=c;jt(e);return}while(1){if((t[r>>0]|0)==-1){n=20;break}r=r+1|0;if(r>>>0>=n>>>0){n=20;break}}if((n|0)==20){h=e+120|0;f[h>>2]=r;jt(e);return}}function Rt(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0;u=e+8|0;a=f[u>>2]|0;c=e+4|0;r=f[c>>2]|0;n=r;if((a-n|0)>>>0>=i>>>0){do{t[r>>0]=0;r=(f[c>>2]|0)+1|0;f[c>>2]=r;i=i+-1|0}while((i|0)!=0);return}r=f[e>>2]|0;s=n-r+i|0;if((s|0)<0){xp(e);a=f[u>>2]|0;r=f[e>>2]|0}n=a-r|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?s:n;r=(f[c>>2]|0)-r|0;if(!n){a=0;l=0;s=r}else o=8}else{n=2147483647;r=(f[c>>2]|0)-r|0;o=8}if((o|0)==8){a=n;l=Bp(n)|0;s=r}r=l+s|0;a=l+a|0;n=r;do{t[n>>0]=0;n=r+1|0;r=n;i=i+-1|0}while((i|0)!=0);i=f[e>>2]|0;n=(f[c>>2]|0)-i|0;o=l+(s-n)|0;Am(o|0,i|0,n|0)|0;f[e>>2]=o;f[c>>2]=r;f[u>>2]=a;if(!i)return;Ip(i);return}function Lt(e){e=e|0;var i=0,r=0,t=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0;g=c;c=c+32|0;M=g+12|0;p=g;w=e+180|0;m=(f[w>>2]|0)+4|0;if((f[e+32>>2]|0)==1)v=f[e+24>>2]|0;else v=1;i=re(v<<1,m)|0;f[M>>2]=0;E=M+4|0;f[E>>2]=0;f[M+8>>2]=0;do{if(i){if(!((i|0)<0?(_=0,ue(178,M|0),y=_,_=0,y&1):0))l=6;if((l|0)==6?(r=i<<1,_=0,t=de(67,r|0)|0,y=_,_=0,!(y&1)):0){f[M>>2]=t;y=t+(i<<1)|0;f[M+8>>2]=y;ym(t|0,0,r|0)|0;f[E>>2]=y;break}t=ze()|0;i=f[M>>2]|0;if(!i)$e(t|0);r=f[E>>2]|0;if((r|0)!=(i|0))f[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);Ip(i);$e(t|0)}}while(0);f[p>>2]=0;y=p+4|0;f[y>>2]=0;f[p+8>>2]=0;do{if(!v)l=18;else{if(!(v>>>0>1073741823?(_=0,ue(178,p|0),k=_,_=0,k&1):0))l=16;if((l|0)==16?(a=v<<2,_=0,s=de(67,a|0)|0,k=_,_=0,!(k&1)):0){f[p>>2]=s;l=s+(v<<2)|0;f[p+8>>2]=l;ym(s|0,0,a|0)|0;f[y>>2]=l;l=18;break}t=ze()|0;i=f[p>>2]|0;r=i;if(i){a=f[y>>2]|0;if((a|0)!=(i|0))f[y>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}}while(0);if((l|0)==18){s=e+12|0;e:do{if((f[s>>2]|0)>0){l=e+4604|0;o=(re(v,m)|0)+1|0;u=e+4608|0;h=e+92|0;d=(v|0)>0;b=e+4600|0;k=0;i:while(1){r=f[M>>2]|0;i=r+2|0;f[l>>2]=i;r=r+(o<<1)|0;f[u>>2]=r;if(!(k&1))i=r;else{f[l>>2]=r;f[u>>2]=i}a=f[h>>2]|0;_=0;Re(f[(f[a>>2]|0)+12>>2]|0,a|0,i|0,f[w>>2]|0,m|0);a=_;_=0;if(a&1){l=28;break}if(d){i=f[l>>2]|0;r=f[u>>2]|0;t=f[p>>2]|0;a=0;do{f[b>>2]=f[t+(a<<2)>>2];t=f[w>>2]|0;n[i+(t<<1)>>1]=n[i+(t+-1<<1)>>1]|0;n[r+-2>>1]=n[i>>1]|0;_=0;ce(68,e|0,0);t=_;_=0;if(t&1){l=27;break i}t=f[p>>2]|0;f[t+(a<<2)>>2]=f[b>>2];i=(f[l>>2]|0)+(m<<1)|0;f[l>>2]=i;r=(f[u>>2]|0)+(m<<1)|0;f[u>>2]=r;a=a+1|0}while((a|0)<(v|0))}k=k+1|0;if((k|0)>=(f[s>>2]|0)){l=40;break e}}if((l|0)==27){t=ze()|0;break}else if((l|0)==28){t=ze()|0;break}}else l=40}while(0);do{if((l|0)==40){_=0;ue(182,e|0);e=_;_=0;if(e&1){t=ze()|0;break}i=f[p>>2]|0;r=i;if(i){t=f[y>>2]|0;if((t|0)!=(i|0))f[y>>2]=t+(~((t+-4-r|0)>>>2)<<2);Ip(i)}i=f[M>>2]|0;if(!i){c=g;return}r=f[E>>2]|0;if((r|0)!=(i|0))f[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);Ip(i);c=g;return}}while(0);i=f[p>>2]|0;r=i;if(i){a=f[y>>2]|0;if((a|0)!=(i|0))f[y>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}i=f[M>>2]|0;if(!i)$e(t|0);r=f[E>>2]|0;if((r|0)!=(i|0))f[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);Ip(i);$e(t|0)}function Pt(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0;k=e+4604|0;i=f[k>>2]|0;m=e+180|0;if((f[m>>2]|0)<=0)return;w=e+4608|0;_=e+4612|0;l=i;o=s[i+-2>>1]|0;i=s[i>>1]|0;b=0;while(1){d=f[w>>2]|0;h=s[d+(b+-1<<1)>>1]|0;a=b+1|0;r=s[l+(a<<1)>>1]|0;c=f[_>>2]|0;u=i-o|0;l=o-h|0;c=((((t[c+(r-i)>>0]|0)*9|0)+(t[c+u>>0]|0)|0)*9|0)+(t[c+l>>0]|0)|0;if(!c){a=(Dt(e,b,0)|0)+b|0;r=f[k>>2]|0;i=s[r+(a+-1<<1)>>1]|0;r=s[r+(a<<1)>>1]|0}else{o=i-h>>31;if((o^l|0)<0)l=i;else l=h+((o^u|0)<0?0:u)|0;d=It(e,c,s[d+(b<<1)>>1]|0,l,0)|0;n[(f[w>>2]|0)+(b<<1)>>1]=d}if((a|0)>=(f[m>>2]|0))break;l=f[k>>2]|0;o=i;i=r;b=a}return}function xt(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0;a=e+104|0;if((f[a>>2]|0)>>>0<4)Ot(e);s=e+100|0;l=e+112|0;o=e+96|0;u=e+108|0;c=e+116|0;i=f[s>>2]|0;n=0;do{r=t[l>>0]|0;if((i|0)>31)break;i=f[o>>2]|0;if(!(r<<24>>24)){t[f[u>>2]>>0]=i>>>24;f[o>>2]=f[o>>2]<<8;i=(f[s>>2]|0)+8|0}else{t[f[u>>2]>>0]=i>>>25;f[o>>2]=f[o>>2]<<7;i=(f[s>>2]|0)+7|0}f[s>>2]=i;h=f[u>>2]|0;r=(t[h>>0]|0)==-1&1;t[l>>0]=r;f[u>>2]=h+1;f[a>>2]=(f[a>>2]|0)+-1;f[c>>2]=(f[c>>2]|0)+1;n=n+1|0}while((n|0)<4);if(!(r<<24>>24))Bt(e,0,(i|0)%8|0);else Bt(e,0,(i+-1|0)%8|0);if((f[a>>2]|0)>>>0<4)Ot(e);i=f[s>>2]|0;r=0;do{if((i|0)>31)break;i=f[o>>2]|0;if(!(t[l>>0]|0)){t[f[u>>2]>>0]=i>>>24;f[o>>2]=f[o>>2]<<8;i=(f[s>>2]|0)+8|0}else{t[f[u>>2]>>0]=i>>>25;f[o>>2]=f[o>>2]<<7;i=(f[s>>2]|0)+7|0}f[s>>2]=i;h=f[u>>2]|0;t[l>>0]=(t[h>>0]|0)==-1&1;f[u>>2]=h+1;f[a>>2]=(f[a>>2]|0)+-1;f[c>>2]=(f[c>>2]|0)+1;r=r+1|0}while((r|0)<4);if(!(f[e+132>>2]|0))return;Ot(e);return}function Ot(e){e=e|0;var i=0,r=0,n=0,a=0,s=0;i=f[e+132>>2]|0;if(!i){i=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,i|0,4,35648);e=_;_=0;if(!(e&1))bi(i|0,824,96);e=ze()|0;je(i|0);$e(e|0)}r=e+108|0;n=e+120|0;s=f[n>>2]|0;a=(f[r>>2]|0)-s|0;if((uM[f[(f[i>>2]|0)+48>>2]&63](i,s,a)|0)==(a|0)){s=f[n>>2]|0;f[r>>2]=s;f[e+104>>2]=(f[e+124>>2]|0)-s;return}i=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,i|0,4,35648);s=_;_=0;if(!(s&1))bi(i|0,824,96);s=ze()|0;je(i|0);$e(s|0)}function Bt(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;c=e+100|0;r=(f[c>>2]|0)-r|0;f[c>>2]=r;if((r|0)>-1){h=e+96|0;f[h>>2]=f[h>>2]|i<>2]=f[h>>2]|i>>0-r;u=e+104|0;if((f[u>>2]|0)>>>0<4){Ot(e);r=f[c>>2]|0}s=e+112|0;l=e+108|0;o=e+116|0;n=0;while(1){if((r|0)>31)break;r=f[h>>2]|0;if(!(t[s>>0]|0)){t[f[l>>2]>>0]=r>>>24;f[h>>2]=f[h>>2]<<8;r=(f[c>>2]|0)+8|0}else{t[f[l>>2]>>0]=r>>>25;f[h>>2]=f[h>>2]<<7;r=(f[c>>2]|0)+7|0}f[c>>2]=r;d=f[l>>2]|0;t[s>>0]=(t[d>>0]|0)==-1&1;f[l>>2]=d+1;f[u>>2]=(f[u>>2]|0)+-1;f[o>>2]=(f[o>>2]|0)+1;n=n+1|0;if((n|0)>=4){a=11;break}}e:do{if((a|0)==11)if((r|0)<0){f[h>>2]=f[h>>2]|i>>0-r;if((f[u>>2]|0)>>>0<4){Ot(e);r=f[c>>2]|0;n=0}else n=0;do{if((r|0)>31)break e;r=f[h>>2]|0;if(!(t[s>>0]|0)){t[f[l>>2]>>0]=r>>>24;f[h>>2]=f[h>>2]<<8;r=(f[c>>2]|0)+8|0}else{t[f[l>>2]>>0]=r>>>25;f[h>>2]=f[h>>2]<<7;r=(f[c>>2]|0)+7|0}f[c>>2]=r;d=f[l>>2]|0;t[s>>0]=(t[d>>0]|0)==-1&1;f[l>>2]=d+1;f[u>>2]=(f[u>>2]|0)+-1;f[o>>2]=(f[o>>2]|0)+1;n=n+1|0}while((n|0)<4)}}while(0);f[h>>2]=f[h>>2]|i<>31;s=(_^i)-_|0;k=e+196+(s*12|0)+10|0;l=n[k>>1]|0;b=e+196+(s*12|0)|0;a=f[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){i=5;while(1)if((l<>1]^_)-_+t|0;w=e+136|0;t=f[w>>2]|0;if((a&t|0)==(a|0))c=a;else c=t&~(a>>31);a=(r-c^_)-_|0;u=e+144|0;t=f[u>>2]|0;if((a|0)>0)a=(a+t|0)/(t<<1|1|0)|0;else a=(a-t|0)/(t<<1|1|0)|0;d=e+140|0;o=f[d>>2]|0;r=((a|0)<0?o:0)+a|0;o=r-((r|0)<((o+1|0)/2|0|0)?0:o)|0;s=e+196+(s*12|0)+4|0;if(!(t|i))a=(f[s>>2]<<1)+-1+l>>31;else a=0;t=a^o;Ut(e,i,t>>30^t<<1,f[e+156>>2]|0);t=f[e+160>>2]|0;i=(f[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;a=(f[s>>2]|0)+(re(f[u>>2]<<1|1,o)|0)|0;r=n[k>>1]|0;if((r|0)==(t|0)){i=i>>1;a=a>>1;r=t>>1}f[b>>2]=i;t=r+1|0;n[k>>1]=t;i=t+a|0;if((i|0)>=1){if((a|0)>0){a=a-t|0;k=n[h>>1]|0;n[h>>1]=(k<<16>>16<127&1)+(k&65535);a=(a|0)>0?0:a}}else{a=n[h>>1]|0;n[h>>1]=(a&65535)-(a<<16>>16>-128&1);a=(i|0)>(~r|0)?i:0-r|0}f[s>>2]=a;t=f[u>>2]|0;r=t<<1|1;i=(re(r,(o^_)-_|0)|0)+c|0;if((i|0)>=(0-t|0)){a=f[w>>2]|0;if((a+t|0)<(i|0))i=i-(re(f[d>>2]|0,r)|0)|0}else{i=(re(f[d>>2]|0,r)|0)+i|0;a=f[w>>2]|0}if((i&a|0)==(i|0)){_=i;_=_&65535;return _|0}_=a&~(i>>31);_=_&65535;return _|0}function Dt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0;c=(f[e+180>>2]|0)-i|0;h=f[e+4608>>2]|0;d=f[e+4604>>2]|0;a=n[h+(i+-1<<1)>>1]|0;u=a&65535;r=f[e+144>>2]|0;l=0;while(1){t=h+(l+i<<1)|0;o=(s[t>>1]|0)-u|0;if((((o|0)>-1?o:0-o|0)|0)>(r|0))break;n[t>>1]=a;l=l+1|0;if((l|0)==(c|0)){l=c;break}}a=(l|0)==(c|0);o=e+4600|0;t=f[36476+(f[o>>2]<<2)>>2]|0;if((1<(l|0))r=l;else{r=l;do{Bt(e,1,1);t=f[o>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;f[o>>2]=t;t=f[36476+(t<<2)>>2]|0}while((r|0)>=(1<>1]=Nt(e,s[i>>1]|0,u,s[d+(c<<1)>>1]|0)|0;e=f[o>>2]|0;f[o>>2]=(e|0)<1?0:e+-1|0;e=l+1|0;return e|0}if(!r){e=c;return e|0}Bt(e,1,1);e=c;return e|0}function Nt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0;l=r-t|0;o=e+136|0;s=e+144|0;n=f[s>>2]|0;if((((l|0)>-1?l:0-l|0)|0)>(n|0)){a=t-r>>31|1;i=re(a,i-t|0)|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=f[l>>2]|0;r=((i|0)<0?n:0)+i|0;n=r-((r|0)<((n+1|0)/2|0|0)?0:n)|0;Ft(e,e+4576|0,n);n=re(n,a)|0;a=f[s>>2]|0;s=a<<1|1;n=(re(n,s)|0)+t|0;if((n|0)>=(0-a|0)){i=f[o>>2]|0;if((i+a|0)<(n|0))n=n-(re(f[l>>2]|0,s)|0)|0}else{n=(re(f[l>>2]|0,s)|0)+n|0;i=f[o>>2]|0}if((n&i|0)==(n|0)){o=n;o=o&65535;return o|0}o=i&~(n>>31);o=o&65535;return o|0}else{i=i-r|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=f[l>>2]|0;a=((i|0)<0?n:0)+i|0;n=a-((a|0)<((n+1|0)/2|0|0)?0:n)|0;Ft(e,e+4588|0,n);a=f[s>>2]|0;s=a<<1|1;n=(re(s,n)|0)+r|0;if((n|0)>=(0-a|0)){i=f[o>>2]|0;if((i+a|0)<(n|0))n=n-(re(f[l>>2]|0,s)|0)|0}else{n=(re(f[l>>2]|0,s)|0)+n|0;i=f[o>>2]|0}if((n&i|0)==(n|0)){o=n;o=o&65535;return o|0}o=i&~(n>>31);o=o&65535;return o|0}return 0}function Ft(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i+9|0;o=a[d>>0]|0;h=i+4|0;c=f[h>>2]|0;s=(re(o>>>1,c)|0)+(f[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0));s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0>>0:0)n=1;else u=5;do{if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}}while(0);n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;Ut(e,s,n,(f[e+156>>2]|0)+-1-(f[36476+(f[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;t[e>>0]=(a[e>>0]|0)+1}n=(n+1-(f[h>>2]|0)>>1)+(f[i>>2]|0)|0;f[i>>2]=n;s=t[d>>0]|0;if(s<<24>>24!=(t[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return}f[i>>2]=n>>1;e=(s&255)>>>1;t[d>>0]=e;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return}function Ut(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0;n=r>>i;a=e+148|0;s=t-(f[a>>2]|0)|0;if((n|0)<(s+-1|0)){if((n|0)>30){t=(n|0)/2|0;Bt(e,0,t);n=n-t|0}Bt(e,1,n+1|0);Bt(e,(1<31){Bt(e,0,31);Bt(e,1,t+-31-(f[a>>2]|0)|0)}else Bt(e,1,s);i=f[a>>2]|0;Bt(e,(1<>2]|0;c=e+120|0;if(i>>>0<((f[c>>2]|0)+-3|0)>>>0){c=e+112|0;o=f[c>>2]|0;e=e+108|0;f[e>>2]=(a[i+1>>0]<<16|a[i>>0]<<24|a[i+2>>0]<<8|a[i+3>>0])>>>o|f[e>>2];e=32-o>>3;f[u>>2]=i+e;f[c>>2]=(e<<3)+o;return}o=e+104|0;r=f[o>>2]|0;do{if(r){if((f[r+12>>2]|0)==(f[r+16>>2]|0)){if((lM[f[(f[r>>2]|0)+36>>2]&127](r)|0)==-1)break;i=f[u>>2]|0}s=e+124|0;r=f[s>>2]|0;l=r-i|0;if(l>>>0<=64){n=e+92|0;if((r|0)==(i|0))r=i;else{r=0;do{t[(f[n>>2]|0)+r>>0]=t[i+r>>0]|0;r=r+1|0;i=f[u>>2]|0}while(r>>>0>>0);r=i;i=f[s>>2]|0}d=f[n>>2]|0;n=d;h=n-r|0;f[u>>2]=d;r=i+h|0;f[s>>2]=r;f[c>>2]=(f[c>>2]|0)+h;o=f[o>>2]|0;o=uM[f[(f[o>>2]|0)+32>>2]&63](o,r,(f[e+96>>2]|0)-(n+l)|0)|0;f[s>>2]=(f[s>>2]|0)+o}}}while(0);o=e+112|0;l=e+108|0;e=f[e+124>>2]|0;s=e+-1|0;i=f[u>>2]|0;while(1){if(i>>>0>=e>>>0){r=14;break}n=t[i>>0]|0;r=n&255;n=n<<24>>24==-1;if(n){if((i|0)==(s|0)){r=25;break}i=i+1|0;if((t[i>>0]|0)<0){r=25;break}}else i=i+1|0;d=f[o>>2]|0;f[l>>2]=r<<24-d|f[l>>2];f[u>>2]=i;d=d+(n?7:8)|0;f[o>>2]=d;if((d|0)>=24){r=33;break}}if((r|0)==14){if((f[o>>2]|0)>=1)return;i=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,i|0,5,35648);d=_;_=0;if(!(d&1))bi(i|0,824,96);d=ze()|0;je(i|0);$e(d|0)}else if((r|0)==25){if((f[o>>2]|0)>=1)return;i=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,i|0,5,35648);d=_;_=0;if(!(d&1))bi(i|0,824,96);d=ze()|0;je(i|0);$e(d|0)}else if((r|0)==33){e:do{if(i>>>0>>0)do{if((t[i>>0]|0)==-1)break e;i=i+1|0}while(i>>>0>>0)}while(0);f[c>>2]=i;return}}function Ht(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0;k=c;c=c+32|0;n=k;b=e+144|0;e:do{if(!(f[b>>2]|0)){r=f[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<>2])+-1|0)?(op(n,r,0),(f[n+4>>2]|0)==(f[e+184>>2]|0)):0)?(f[n+8>>2]|0)==(f[e+188>>2]|0):0)?(f[n+12>>2]|0)==(f[e+192>>2]|0):0)switch(f[i>>2]|0){case 8:{b=f[8900]|0;f[e+4612>>2]=b+(((f[8901]|0)-b|0)>>>1);c=k;return}case 10:{b=f[8903]|0;f[e+4612>>2]=b+(((f[8904]|0)-b|0)>>>1);c=k;return}case 12:{b=f[8906]|0;f[e+4612>>2]=b+(((f[8907]|0)-b|0)>>>1);c=k;return}case 16:{b=f[8909]|0;f[e+4612>>2]=b+(((f[8910]|0)-b|0)>>>1);c=k;return}default:break e}}else i=e+152|0}while(0);d=1<>2];r=e+4616|0;n=d<<1;a=e+4620|0;s=f[a>>2]|0;i=f[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0>>0?(o=i+n|0,(s|0)!=(o|0)):0)f[a>>2]=o}else{zt(r,n-l|0);i=f[r>>2]|0}h=e+4612|0;f[h>>2]=i+d;i=0-d|0;if((d|0)<=(i|0)){c=k;return}o=e+192|0;u=e+188|0;l=e+184|0;s=i;do{i=f[o>>2]|0;if((s|0)>(0-i|0)){r=f[u>>2]|0;if((s|0)>(0-r|0)){n=f[l>>2]|0;if((s|0)>(0-n|0)){a=f[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;t[(f[h>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(d|0));c=k;return}function zt(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0;u=e+8|0;a=f[u>>2]|0;c=e+4|0;r=f[c>>2]|0;n=r;if((a-n|0)>>>0>=i>>>0){do{t[r>>0]=0;r=(f[c>>2]|0)+1|0;f[c>>2]=r;i=i+-1|0}while((i|0)!=0);return}r=f[e>>2]|0;s=n-r+i|0;if((s|0)<0){xp(e);a=f[u>>2]|0;r=f[e>>2]|0}n=a-r|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?s:n;r=(f[c>>2]|0)-r|0;if(!n){a=0;l=0;s=r}else o=8}else{n=2147483647;r=(f[c>>2]|0)-r|0;o=8}if((o|0)==8){a=n;l=Bp(n)|0;s=r}r=l+s|0;a=l+a|0;n=r;do{t[n>>0]=0;n=r+1|0;r=n;i=i+-1|0}while((i|0)!=0);i=f[e>>2]|0;n=(f[c>>2]|0)-i|0;o=l+(s-n)|0;Am(o|0,i|0,n|0)|0;f[e>>2]=o;f[c>>2]=r;f[u>>2]=a;if(!i)return;Ip(i);return}function Yt(e){e=e|0;var i=0,r=0;f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fM[f[(f[i>>2]|0)+4>>2]&255](i);return}function qt(e){e=e|0;var i=0,r=0;f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Ip(e);return}fM[f[(f[i>>2]|0)+4>>2]&255](i);Ip(e);return}function Xt(e){e=e|0;var i=0,r=0;f[e>>2]=36052;i=f[e+4616>>2]|0;if(i){r=e+4620|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fM[f[(f[i>>2]|0)+4>>2]&255](i);return}function Vt(e){e=e|0;var i=0,r=0;f[e>>2]=36052;i=f[e+4616>>2]|0;if(i){r=e+4620|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Ip(e);return}fM[f[(f[i>>2]|0)+4>>2]&255](i);Ip(e);return}function Gt(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,h=0;o=c;c=c+32|0;h=o;op(h,f[e+136>>2]|0,f[e+144>>2]|0);u=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[h+8>>2]|0:l;s=f[i+12>>2]|0;s=(s|0)==0?f[h+12>>2]|0:s;r=f[i+16>>2]|0;a=f[h+16>>2]|0;f[e+184>>2]=(u|0)==0?f[h+4>>2]|0:u;f[e+188>>2]=l;f[e+192>>2]=s;nn(e);s=e+140|0;i=(f[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{f[e+196+(l*12|0)>>2]=i;f[e+196+(l*12|0)+4>>2]=0;n[e+196+(l*12|0)+8>>1]=0;n[e+196+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365);u=(f[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;h=((r|0)==0?a:r)&255;f[e+4576>>2]=u;f[e+4580>>2]=0;t[e+4584>>0]=h;t[e+4585>>0]=1;t[e+4586>>0]=0;f[e+4588>>2]=u;f[e+4592>>2]=1;t[e+4596>>0]=h;t[e+4597>>0]=1;t[e+4598>>0]=0;f[e+4600>>2]=0;c=o;return}function Kt(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+16|0;h=b;u=e+92|0;o=f[i>>2]|0;f[i>>2]=0;i=f[u>>2]|0;f[u>>2]=o;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);f[h>>2]=0;f[h+4>>2]=a;u=r+8|0;f[h+8>>2]=f[u>>2];if(a){i=Bp(4624)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));s=i+88|0;o=s+40|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(o|0));f[i>>2]=35828;f[i+128>>2]=f[e+136>>2];f[i+132>>2]=f[e+140>>2];f[i+136>>2]=f[e+144>>2];f[i+140>>2]=f[e+148>>2];f[i+144>>2]=f[e+152>>2];f[i+148>>2]=f[e+156>>2];f[i+152>>2]=f[e+160>>2];s=i+156|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[i+172>>2]=f[a>>2];f[i+176>>2]=0;f[i+180>>2]=0;f[i+184>>2]=0;s=i+4568|0;a=i+188|0;do{f[a>>2]=0;f[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0));l=e+4|0;f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;t[s+10>>0]=0;o=i+4580|0;f[o>>2]=0;f[o+4>>2]=0;n[o+8>>1]=0;t[o+10>>0]=0;o=i+4592|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;t[o+28>>0]=0;if(!(f[i+28>>2]|0))f[i+20>>2]=1;a=f[l>>2]|0;f[l>>2]=i;if(a){fM[f[(f[a>>2]|0)+4>>2]&255](a);i=f[l>>2]|0}Ct(i,h)}h=e+100|0;f[h>>2]=32;f[e+96>>2]=0;i=f[r>>2]|0;if(!i){f[e+108>>2]=f[r+4>>2];f[e+104>>2]=f[u>>2];Zt(e);d=e+116|0;d=f[d>>2]|0;e=f[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}f[e+132>>2]=i;s=e+120|0;u=e+124|0;a=f[u>>2]|0;i=f[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(d=i+4e3|0,(a|0)!=(d|0)):0){f[u>>2]=d;a=d}}else{Rt(s,4e3-o|0);i=f[s>>2]|0;l=i;a=f[u>>2]|0}f[e+108>>2]=l;f[e+104>>2]=a-i;Zt(e);d=e+116|0;d=f[d>>2]|0;e=f[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}function Wt(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;y=c;c=c+352|0;M=y+328|0;E=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((f[e+32>>2]|0)!=0?(f[e+24>>2]|0)!=1:0){m=e+8|0;p=e+36|0;l=f[p>>2]|0;if(!l){e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[r>>0]|0;Re(37,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}e=f[e+16>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[n>>0]|0;Re(38,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[a>>0]|0;Re(39,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[s>>0]|0;Re(40,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=E+56|0;a=E+4|0;f[E>>2]=36160;f[l>>2]=36180;_=0;ce(62,E+56|0,a|0);y=_;_=0;if(y&1){A=ze()|0;nd(l);$e(A|0)}f[E+128>>2]=0;f[E+132>>2]=-1;f[E>>2]=36200;f[E+56>>2]=36220;_=0;ue(180,a|0);y=_;_=0;do{if(y&1)e=ze()|0;else{f[a>>2]=36236;s=E+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[E+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);y=_;_=0;if(y&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,E|0,49007,21)|0;M=_;_=0;do{if((!(M&1)?(_=0,d=pe(36,e|0,f[p>>2]|0)|0,M=_,_=0,!(M&1)):0)?(_=0,ke(28,d|0,50997,18)|0,M=_,_=0,!(M&1)):0){n=He(16)|0;_=0;ce(64,k|0,a|0);M=_;_=0;if(!(M&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,k|0);M=_;_=0;if(M&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(k);if(!r)break}else e=ze()|0;je(n|0)}else A=34}while(0);if((A|0)==34)e=ze()|0;f[E>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,e|0,8,35648);A=_;_=0;if(!(A&1))bi(e|0,824,96);A=ze()|0;je(e|0);$e(A|0)}r=16-e|0;switch(l|0){case 1:{e=Bp(60)|0;f[o>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[o>>2];f[M+4>>2]=f[o+4>>2];Re(41,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(60)|0;f[u>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[u>>2];f[M+4>>2]=f[u+4>>2];Re(42,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(60)|0;f[h>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[h>>2];f[M+4>>2]=f[h+4>>2];Re(43,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;_=0;ce(62,g+56|0,a|0);E=_;_=0;if(E&1){A=ze()|0;nd(l);$e(A|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;_=0;ue(180,a|0);E=_;_=0;do{if(E&1)e=ze()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);E=_;_=0;if(E&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,g|0,49007,21)|0;E=_;_=0;do{if((!(E&1)?(_=0,b=pe(36,e|0,f[p>>2]|0)|0,E=_,_=0,!(E&1)):0)?(_=0,ke(28,b|0,50997,18)|0,E=_,_=0,!(E&1)):0){n=He(16)|0;_=0;ce(64,v|0,a|0);E=_;_=0;if(!(E&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,v|0);E=_;_=0;if(E&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(v);if(!r)break}else e=ze()|0;je(n|0)}else A=64}while(0);if((A|0)==64)e=ze()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}}r=f[i+4>>2]|0;n=Bp(16)|0;e=f[e+20>>2]|0;if(!r){A=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=A;f[n+8>>2]=6;f[n+12>>2]=e;A=n;c=y;return A|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=6;f[n+12>>2]=e;A=n;c=y;return A|0}return 0}function Zt(e){e=e|0;var i=0,r=0,t=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0;p=c;c=c+32|0;y=p+12|0;v=p;k=e+180|0;w=(f[k>>2]|0)+4|0;if((f[e+32>>2]|0)==1)m=f[e+24>>2]|0;else m=1;i=re(m<<1,w)|0;f[y>>2]=0;M=y+4|0;f[M>>2]=0;f[y+8>>2]=0;do{if(i){if(!(i>>>0>715827882?(_=0,ue(178,y|0),g=_,_=0,g&1):0))l=6;if((l|0)==6?(_=0,r=de(67,i*6|0)|0,g=_,_=0,!(g&1)):0){f[M>>2]=r;f[y>>2]=r;t=r+(i*6|0)|0;f[y+8>>2]=t;while(1){n[r>>1]=0;n[r+2>>1]=0;n[r+4>>1]=0;i=i+-1|0;if(!i)break;else r=r+6|0}f[M>>2]=t;break}t=ze()|0;i=f[y>>2]|0;if(!i)$e(t|0);r=f[M>>2]|0;if((r|0)!=(i|0))f[M>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);Ip(i);$e(t|0)}}while(0);f[v>>2]=0;g=v+4|0;f[g>>2]=0;f[v+8>>2]=0;do{if(!m)l=20;else{if(!(m>>>0>1073741823?(_=0,ue(178,v|0),b=_,_=0,b&1):0))l=18;if((l|0)==18?(a=m<<2,_=0,s=de(67,a|0)|0,b=_,_=0,!(b&1)):0){f[v>>2]=s;l=s+(m<<2)|0;f[v+8>>2]=l;ym(s|0,0,a|0)|0;f[g>>2]=l;l=20;break}t=ze()|0;i=f[v>>2]|0;r=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}}while(0);if((l|0)==20){a=e+12|0;e:do{if((f[a>>2]|0)>0){s=e+4604|0;l=(re(m,w)|0)+1|0;o=e+4608|0;u=e+92|0;h=(m|0)>0;d=e+4600|0;b=0;i:while(1){r=f[y>>2]|0;i=r+6|0;f[s>>2]=i;r=r+(l*6|0)|0;f[o>>2]=r;if(!(b&1))i=r;else{f[s>>2]=r;f[o>>2]=i}t=f[u>>2]|0;_=0;Re(f[(f[t>>2]|0)+12>>2]|0,t|0,i|0,f[k>>2]|0,w|0);t=_;_=0;if(t&1){l=30;break}if(h){i=f[v>>2]|0;r=f[s>>2]|0;t=0;do{f[d>>2]=f[i+(t<<2)>>2];E=f[k>>2]|0;i=r+(E*6|0)|0;r=r+((E+-1|0)*6|0)|0;n[i>>1]=n[r>>1]|0;n[i+2>>1]=n[r+2>>1]|0;n[i+4>>1]=n[r+4>>1]|0;r=(f[o>>2]|0)+-6|0;i=f[s>>2]|0;n[r>>1]=n[i>>1]|0;n[r+2>>1]=n[i+2>>1]|0;n[r+4>>1]=n[i+4>>1]|0;_=0;ce(69,e|0,0);r=_;_=0;if(r&1){l=29;break i}i=f[v>>2]|0;f[i+(t<<2)>>2]=f[d>>2];r=(f[s>>2]|0)+(w*6|0)|0;f[s>>2]=r;f[o>>2]=(f[o>>2]|0)+(w*6|0);t=t+1|0}while((t|0)<(m|0))}b=b+1|0;if((b|0)>=(f[a>>2]|0)){l=42;break e}}if((l|0)==29){t=ze()|0;break}else if((l|0)==30){t=ze()|0;break}}else l=42}while(0);do{if((l|0)==42){_=0;ue(182,e|0);E=_;_=0;if(E&1){t=ze()|0;break}i=f[v>>2]|0;r=i;if(i){t=f[g>>2]|0;if((t|0)!=(i|0))f[g>>2]=t+(~((t+-4-r|0)>>>2)<<2);Ip(i)}i=f[y>>2]|0;if(!i){c=p;return}r=f[M>>2]|0;if((r|0)!=(i|0))f[M>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);Ip(i);c=p;return}}while(0);i=f[v>>2]|0;r=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}i=f[y>>2]|0;if(!i)$e(t|0);r=f[M>>2]|0;if((r|0)!=(i|0))f[M>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);Ip(i);$e(t|0)}function Jt(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0;T=e+180|0;if((f[T>>2]|0)<=0)return;C=e+4608|0;R=e+4604|0;L=e+4612|0;S=0;while(1){M=S+-1|0;o=f[C>>2]|0;u=f[R>>2]|0;i=S+1|0;l=s[u+(S*6|0)>>1]|0;A=f[L>>2]|0;c=s[u+(M*6|0)>>1]|0;h=l-c|0;d=s[o+(M*6|0)>>1]|0;b=c-d|0;k=((((t[A+((s[u+(i*6|0)>>1]|0)-l)>>0]|0)*9|0)+(t[A+h>>0]|0)|0)*9|0)+(t[A+b>>0]|0)|0;a=s[u+(S*6|0)+2>>1]|0;w=s[u+(M*6|0)+2>>1]|0;_=a-w|0;m=s[o+(M*6|0)+2>>1]|0;v=w-m|0;p=((((t[A+((s[u+(i*6|0)+2>>1]|0)-a)>>0]|0)*9|0)+(t[A+_>>0]|0)|0)*9|0)+(t[A+v>>0]|0)|0;r=s[u+(S*6|0)+4>>1]|0;g=s[u+(M*6|0)+4>>1]|0;y=r-g|0;M=s[o+(M*6|0)+4>>1]|0;E=g-M|0;A=((((t[A+((s[u+(i*6|0)+4>>1]|0)-r)>>0]|0)*9|0)+(t[A+y>>0]|0)|0)*9|0)+(t[A+E>>0]|0)|0;if(!(p|k|A))i=(Qt(e,S,0)|0)+S|0;else{u=s[o+(S*6|0)>>1]|0;o=l-d>>31;if((o^b|0)>=0)if((o^h|0)<0)l=d;else l=d-c+l|0;u=$t(e,k,u,l,0)|0;o=s[(f[C>>2]|0)+(S*6|0)+2>>1]|0;l=a-m>>31;if((l^v|0)>=0)if((l^_|0)<0)a=m;else a=m-w+a|0;l=$t(e,p,o,a,0)|0;o=s[(f[C>>2]|0)+(S*6|0)+4>>1]|0;a=r-M>>31;if((a^E|0)>=0)if((a^y|0)<0)r=M;else r=M-g+r|0;E=$t(e,A,o,r,0)|0;A=f[C>>2]|0;n[A+(S*6|0)>>1]=u;n[A+(S*6|0)+2>>1]=l;n[A+(S*6|0)+4>>1]=E}if((i|0)<(f[T>>2]|0))S=i;else break}return}function Qt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0;T=c;c=c+48|0;_=T+30|0;w=T+24|0;k=T+18|0;m=T+12|0;M=T+6|0;E=T;A=(f[e+180>>2]|0)-i|0;S=f[e+4608>>2]|0;v=f[e+4604>>2]|0;y=i+-1|0;p=n[S+(y*6|0)>>1]|0;g=n[S+(y*6|0)+2>>1]|0;y=n[S+(y*6|0)+4>>1]|0;r=p&65535;t=e+144|0;a=g&65535;l=y&65535;b=0;while(1){h=b+i|0;o=S+(h*6|0)|0;u=S+(h*6|0)+2|0;h=S+(h*6|0)+4|0;C=(s[o>>1]|0)-r|0;d=f[t>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(d|0))break;C=(s[u>>1]|0)-a|0;if((((C|0)>-1?C:0-C|0)|0)>(d|0))break;C=(s[h>>1]|0)-l|0;if((((C|0)>-1?C:0-C|0)|0)>(d|0))break;n[o>>1]=p;n[u>>1]=g;n[h>>1]=y;b=b+1|0;if((b|0)==(A|0)){b=A;break}}a=(b|0)==(A|0);l=e+4600|0;t=f[36476+(f[l>>2]<<2)>>2]|0;if((1<(b|0))r=b;else{r=b;do{Bt(e,1,1);t=f[l>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;f[l>>2]=t;t=f[36476+(t<<2)>>2]|0}while((r|0)>=(1<>1]=n[C>>1]|0;n[M+2>>1]=n[C+2>>1]|0;n[M+4>>1]=n[C+4>>1]|0;n[E>>1]=p;n[E+2>>1]=g;n[E+4>>1]=y;i=v+(i*6|0)|0;n[k>>1]=n[M>>1]|0;n[k+2>>1]=n[M+2>>1]|0;n[k+4>>1]=n[M+4>>1]|0;n[w>>1]=n[E>>1]|0;n[w+2>>1]=n[E+2>>1]|0;n[w+4>>1]=n[E+4>>1]|0;n[_>>1]=n[i>>1]|0;n[_+2>>1]=n[i+2>>1]|0;n[_+4>>1]=n[i+4>>1]|0;rn(m,e,k,w,_);n[C>>1]=n[m>>1]|0;n[C+2>>1]=n[m+2>>1]|0;n[C+4>>1]=n[m+4>>1]|0;C=f[l>>2]|0;f[l>>2]=(C|0)<1?0:C+-1|0;C=b+1|0;c=T;return C|0}if(!r){C=A;c=T;return C|0}Bt(e,1,1);C=A;c=T;return C|0}function $t(e,i,r,t,a){e=e|0;i=i|0;r=r|0;t=t|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0;_=i>>31;s=(_^i)-_|0;k=e+196+(s*12|0)+10|0;l=n[k>>1]|0;b=e+196+(s*12|0)|0;a=f[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){i=5;while(1)if((l<>1]^_)-_+t|0;w=e+136|0;t=f[w>>2]|0;if((a&t|0)==(a|0))c=a;else c=t&~(a>>31);a=(r-c^_)-_|0;u=e+144|0;t=f[u>>2]|0;if((a|0)>0)a=(a+t|0)/(t<<1|1|0)|0;else a=(a-t|0)/(t<<1|1|0)|0;d=e+140|0;o=f[d>>2]|0;r=((a|0)<0?o:0)+a|0;o=r-((r|0)<((o+1|0)/2|0|0)?0:o)|0;s=e+196+(s*12|0)+4|0;if(!(t|i))a=(f[s>>2]<<1)+-1+l>>31;else a=0;t=a^o;en(e,i,t>>30^t<<1,f[e+156>>2]|0);t=f[e+160>>2]|0;i=(f[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;a=(f[s>>2]|0)+(re(f[u>>2]<<1|1,o)|0)|0;r=n[k>>1]|0;if((r|0)==(t|0)){i=i>>1;a=a>>1;r=t>>1}f[b>>2]=i;t=r+1|0;n[k>>1]=t;i=t+a|0;if((i|0)>=1){if((a|0)>0){a=a-t|0;k=n[h>>1]|0;n[h>>1]=(k<<16>>16<127&1)+(k&65535);a=(a|0)>0?0:a}}else{a=n[h>>1]|0;n[h>>1]=(a&65535)-(a<<16>>16>-128&1);a=(i|0)>(~r|0)?i:0-r|0}f[s>>2]=a;t=f[u>>2]|0;r=t<<1|1;i=(re(r,(o^_)-_|0)|0)+c|0;if((i|0)>=(0-t|0)){a=f[w>>2]|0;if((a+t|0)<(i|0))i=i-(re(f[d>>2]|0,r)|0)|0}else{i=(re(f[d>>2]|0,r)|0)+i|0;a=f[w>>2]|0}if((i&a|0)==(i|0)){_=i;_=_&65535;return _|0}_=a&~(i>>31);_=_&65535;return _|0}function en(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0;n=r>>i;a=e+148|0;s=t-(f[a>>2]|0)|0;if((n|0)<(s+-1|0)){if((n|0)>30){t=(n|0)/2|0;Bt(e,0,t);n=n-t|0}Bt(e,1,n+1|0);Bt(e,(1<31){Bt(e,0,31);Bt(e,1,t+-31-(f[a>>2]|0)|0)}else Bt(e,1,s);i=f[a>>2]|0;Bt(e,(1<>1]|0;k=b-(s[t>>1]|0)>>31|1;l=re(k,(s[r>>1]|0)-b|0)|0;h=i+144|0;o=f[h>>2]|0;if((l|0)>0)l=(l+o|0)/(o<<1|1|0)|0;else l=(l-o|0)/(o<<1|1|0)|0;y=i+140|0;c=f[y>>2]|0;u=((l|0)<0?c:0)+l|0;c=u-((u|0)<((c+1|0)/2|0|0)?0:c)|0;u=i+4576|0;tn(i,u,c);v=s[a+2>>1]|0;p=v-(s[t+2>>1]|0)>>31|1;l=re(p,(s[r+2>>1]|0)-v|0)|0;o=f[h>>2]|0;if((l|0)>0)l=(l+o|0)/(o<<1|1|0)|0;else l=(l-o|0)/(o<<1|1|0)|0;w=f[y>>2]|0;g=((l|0)<0?w:0)+l|0;w=g-((g|0)<((w+1|0)/2|0|0)?0:w)|0;tn(i,u,w);g=s[a+4>>1]|0;m=g-(s[t+4>>1]|0)>>31|1;l=re(m,(s[r+4>>1]|0)-g|0)|0;o=f[h>>2]|0;if((l|0)>0)l=(l+o|0)/(o<<1|1|0)|0;else l=(l-o|0)/(o<<1|1|0)|0;d=f[y>>2]|0;l=((l|0)<0?d:0)+l|0;d=l-((l|0)<((d+1|0)/2|0|0)?0:d)|0;tn(i,u,d);u=f[h>>2]|0;h=u<<1|1;l=(re(re(h,c)|0,k)|0)+b|0;r=0-u|0;if((l|0)>=(r|0)){o=f[_>>2]|0;if((o+u|0)<(l|0)){l=l-(re(f[y>>2]|0,h)|0)|0;t=o}else t=o}else{l=(re(f[y>>2]|0,h)|0)+l|0;t=f[_>>2]|0}if((l&t|0)!=(l|0))l=t&~(l>>31);a=l&65535;l=(re(re(h,w)|0,p)|0)+v|0;if((l|0)>=(r|0)){if((t+u|0)<(l|0))l=l-(re(f[y>>2]|0,h)|0)|0}else l=(re(f[y>>2]|0,h)|0)+l|0;if((l&t|0)!=(l|0))l=t&~(l>>31);o=l&65535;l=(re(re(h,d)|0,m)|0)+g|0;if((l|0)>=(r|0)){if((t+u|0)<(l|0))l=l-(re(f[y>>2]|0,h)|0)|0}else l=(re(f[y>>2]|0,h)|0)+l|0;if((l&t|0)==(l|0)){y=l;y=y&65535;n[e>>1]=a;g=e+2|0;n[g>>1]=o;e=e+4|0;n[e>>1]=y;return}y=t&~(l>>31);y=y&65535;n[e>>1]=a;g=e+2|0;n[g>>1]=o;e=e+4|0;n[e>>1]=y;return}function tn(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i+9|0;o=a[d>>0]|0;h=i+4|0;c=f[h>>2]|0;s=(re(o>>>1,c)|0)+(f[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0));s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0>>0:0)n=1;else u=5;do{if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}}while(0);n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;en(e,s,n,(f[e+156>>2]|0)+-1-(f[36476+(f[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;t[e>>0]=(a[e>>0]|0)+1}n=(n+1-(f[h>>2]|0)>>1)+(f[i>>2]|0)|0;f[i>>2]=n;s=t[d>>0]|0;if(s<<24>>24!=(t[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return}f[i>>2]=n>>1;e=(s&255)>>>1;t[d>>0]=e;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return}function nn(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0;k=c;c=c+32|0;n=k;b=e+144|0;e:do{if(!(f[b>>2]|0)){r=f[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<>2])+-1|0)?(op(n,r,0),(f[n+4>>2]|0)==(f[e+184>>2]|0)):0)?(f[n+8>>2]|0)==(f[e+188>>2]|0):0)?(f[n+12>>2]|0)==(f[e+192>>2]|0):0)switch(f[i>>2]|0){case 8:{b=f[8900]|0;f[e+4612>>2]=b+(((f[8901]|0)-b|0)>>>1);c=k;return}case 10:{b=f[8903]|0;f[e+4612>>2]=b+(((f[8904]|0)-b|0)>>>1);c=k;return}case 12:{b=f[8906]|0;f[e+4612>>2]=b+(((f[8907]|0)-b|0)>>>1);c=k;return}case 16:{b=f[8909]|0;f[e+4612>>2]=b+(((f[8910]|0)-b|0)>>>1);c=k;return}default:break e}}else i=e+152|0}while(0);d=1<>2];r=e+4616|0;n=d<<1;a=e+4620|0;s=f[a>>2]|0;i=f[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0>>0?(o=i+n|0,(s|0)!=(o|0)):0)f[a>>2]=o}else{zt(r,n-l|0);i=f[r>>2]|0}h=e+4612|0;f[h>>2]=i+d;i=0-d|0;if((d|0)<=(i|0)){c=k;return}o=e+192|0;u=e+188|0;l=e+184|0;s=i;do{i=f[o>>2]|0;if((s|0)>(0-i|0)){r=f[u>>2]|0;if((s|0)>(0-r|0)){n=f[l>>2]|0;if((s|0)>(0-n|0)){a=f[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;t[(f[h>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(d|0));c=k;return}function fn(e){e=e|0;var i=0,r=0;f[e>>2]=36024;i=f[e+4616>>2]|0;if(i){r=e+4620|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fM[f[(f[i>>2]|0)+4>>2]&255](i);return}function an(e){e=e|0;var i=0,r=0;f[e>>2]=36024;i=f[e+4616>>2]|0;if(i){r=e+4620|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Ip(e);return}fM[f[(f[i>>2]|0)+4>>2]&255](i);Ip(e);return}function sn(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,h=0;o=c;c=c+32|0;h=o;op(h,f[e+136>>2]|0,f[e+144>>2]|0);u=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[h+8>>2]|0:l;s=f[i+12>>2]|0;s=(s|0)==0?f[h+12>>2]|0:s;r=f[i+16>>2]|0;a=f[h+16>>2]|0;f[e+184>>2]=(u|0)==0?f[h+4>>2]|0:u;f[e+188>>2]=l;f[e+192>>2]=s;Wn(e);s=e+140|0;i=(f[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{f[e+196+(l*12|0)>>2]=i;f[e+196+(l*12|0)+4>>2]=0;n[e+196+(l*12|0)+8>>1]=0;n[e+196+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365);u=(f[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;h=((r|0)==0?a:r)&255;f[e+4576>>2]=u;f[e+4580>>2]=0;t[e+4584>>0]=h;t[e+4585>>0]=1;t[e+4586>>0]=0;f[e+4588>>2]=u;f[e+4592>>2]=1;t[e+4596>>0]=h;t[e+4597>>0]=1;t[e+4598>>0]=0;f[e+4600>>2]=0;c=o;return}function ln(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+16|0;h=b;u=e+92|0;o=f[i>>2]|0;f[i>>2]=0;i=f[u>>2]|0;f[u>>2]=o;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);f[h>>2]=0;f[h+4>>2]=a;u=r+8|0;f[h+8>>2]=f[u>>2];if(a){i=Bp(4624)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));s=i+88|0;o=s+40|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(o|0));f[i>>2]=35800;f[i+128>>2]=f[e+136>>2];f[i+132>>2]=f[e+140>>2];f[i+136>>2]=f[e+144>>2];f[i+140>>2]=f[e+148>>2];f[i+144>>2]=f[e+152>>2];f[i+148>>2]=f[e+156>>2];f[i+152>>2]=f[e+160>>2];s=i+156|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[i+172>>2]=f[a>>2];f[i+176>>2]=0;f[i+180>>2]=0;f[i+184>>2]=0;s=i+4568|0;a=i+188|0;do{f[a>>2]=0;f[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0));l=e+4|0;f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;t[s+10>>0]=0;o=i+4580|0;f[o>>2]=0;f[o+4>>2]=0;n[o+8>>1]=0;t[o+10>>0]=0;o=i+4592|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;t[o+28>>0]=0;if(!(f[i+28>>2]|0))f[i+20>>2]=1;a=f[l>>2]|0;f[l>>2]=i;if(a){fM[f[(f[a>>2]|0)+4>>2]&255](a);i=f[l>>2]|0}Ct(i,h)}h=e+100|0;f[h>>2]=32;f[e+96>>2]=0;i=f[r>>2]|0;if(!i){f[e+108>>2]=f[r+4>>2];f[e+104>>2]=f[u>>2];zn(e);d=e+116|0;d=f[d>>2]|0;e=f[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}f[e+132>>2]=i;s=e+120|0;u=e+124|0;a=f[u>>2]|0;i=f[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(d=i+4e3|0,(a|0)!=(d|0)):0){f[u>>2]=d;a=d}}else{Rt(s,4e3-o|0);i=f[s>>2]|0;l=i;a=f[u>>2]|0}f[e+108>>2]=l;f[e+104>>2]=a-i;zn(e);d=e+116|0;d=f[d>>2]|0;e=f[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}function on(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;y=c;c=c+352|0;M=y+328|0;E=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((f[e+32>>2]|0)!=0?(f[e+24>>2]|0)!=1:0){m=e+8|0;p=e+36|0;l=f[p>>2]|0;if(!l){e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[r>>0]|0;Re(44,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}e=f[e+16>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[n>>0]|0;Re(45,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[a>>0]|0;Re(46,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[s>>0]|0;Re(47,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=E+56|0;a=E+4|0;f[E>>2]=36160;f[l>>2]=36180;_=0;ce(62,E+56|0,a|0);y=_;_=0;if(y&1){A=ze()|0;nd(l);$e(A|0)}f[E+128>>2]=0;f[E+132>>2]=-1;f[E>>2]=36200;f[E+56>>2]=36220;_=0;ue(180,a|0);y=_;_=0;do{if(y&1)e=ze()|0;else{f[a>>2]=36236;s=E+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[E+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);y=_;_=0;if(y&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,E|0,49007,21)|0;M=_;_=0;do{if((!(M&1)?(_=0,d=pe(36,e|0,f[p>>2]|0)|0,M=_,_=0,!(M&1)):0)?(_=0,ke(28,d|0,50997,18)|0,M=_,_=0,!(M&1)):0){n=He(16)|0;_=0;ce(64,k|0,a|0);M=_;_=0;if(!(M&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,k|0);M=_;_=0;if(M&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(k);if(!r)break}else e=ze()|0;je(n|0)}else A=34}while(0);if((A|0)==34)e=ze()|0;f[E>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,e|0,8,35648);A=_;_=0;if(!(A&1))bi(e|0,824,96);A=ze()|0;je(e|0);$e(A|0)}r=16-e|0;switch(l|0){case 1:{e=Bp(60)|0;f[o>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[o>>2];f[M+4>>2]=f[o+4>>2];Re(41,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(60)|0;f[u>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[u>>2];f[M+4>>2]=f[u+4>>2];Re(42,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(60)|0;f[h>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[h>>2];f[M+4>>2]=f[h+4>>2];Re(43,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;_=0;ce(62,g+56|0,a|0);E=_;_=0;if(E&1){A=ze()|0;nd(l);$e(A|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;_=0;ue(180,a|0);E=_;_=0;do{if(E&1)e=ze()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);E=_;_=0;if(E&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,g|0,49007,21)|0;E=_;_=0;do{if((!(E&1)?(_=0,b=pe(36,e|0,f[p>>2]|0)|0,E=_,_=0,!(E&1)):0)?(_=0,ke(28,b|0,50997,18)|0,E=_,_=0,!(E&1)):0){n=He(16)|0;_=0;ce(64,v|0,a|0);E=_;_=0;if(!(E&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,v|0);E=_;_=0;if(E&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(v);if(!r)break}else e=ze()|0;je(n|0)}else A=64}while(0);if((A|0)==64)e=ze()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}}r=f[i+4>>2]|0;n=Bp(16)|0;e=f[e+20>>2]|0;if(!r){A=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=A;f[n+8>>2]=3;f[n+12>>2]=e;A=n;c=y;return A|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=3;f[n+12>>2]=e;A=n;c=y;return A|0}return 0}function un(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;f[e>>2]=36712;f[e+4>>2]=r;h=e+8|0;n=f[r>>2]|0;u=r+16|0;l=f[u>>2]|0;s=re(l,n)|0;f[h>>2]=0;d=e+12|0;f[d>>2]=0;f[e+16>>2]=0;do{if(!s)s=l;else{if(!((s|0)<0?(_=0,ue(178,h|0),l=_,_=0,l&1):0))c=4;if((c|0)==4?(_=0,o=de(67,s|0)|0,l=_,_=0,!(l&1)):0){f[d>>2]=o;f[h>>2]=o;f[e+16>>2]=o+s;n=o;do{t[n>>0]=0;n=(f[d>>2]|0)+1|0;f[d>>2]=n;s=s+-1|0}while((s|0)!=0);s=f[u>>2]|0;n=f[r>>2]|0;break}n=ze()|0;a=f[h>>2]|0;if(a){if((f[d>>2]|0)!=(a|0))f[d>>2]=a;Ip(a)}d=n;$e(d|0)}}while(0);l=e+20|0;n=re(s,n)|0;f[l>>2]=0;s=e+24|0;f[s>>2]=0;f[e+28>>2]=0;if(!n){d=e+36|0;f[d>>2]=f[i>>2];f[d+4>>2]=f[i+4>>2];f[d+8>>2]=f[i+8>>2];return}if(!((n|0)<0?(_=0,ue(178,l|0),r=_,_=0,r&1):0))c=15;if((c|0)==15?(_=0,a=de(67,n|0)|0,c=_,_=0,!(c&1)):0){f[s>>2]=a;f[l>>2]=a;f[e+28>>2]=a+n;do{t[a>>0]=0;a=(f[s>>2]|0)+1|0;f[s>>2]=a;n=n+-1|0}while((n|0)!=0);d=e+36|0;f[d>>2]=f[i>>2];f[d+4>>2]=f[i+4>>2];f[d+8>>2]=f[i+8>>2];return}n=ze()|0;a=f[l>>2]|0;if(a){if((f[s>>2]|0)!=(a|0))f[s>>2]=a;Ip(a)}a=f[h>>2]|0;if(!a){d=n;$e(d|0)}if((f[d>>2]|0)!=(a|0))f[d>>2]=a;Ip(a);d=n;$e(d|0)}function cn(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;f[e>>2]=36688;f[e+4>>2]=r;h=e+8|0;n=f[r>>2]|0;u=r+16|0;l=f[u>>2]|0;s=re(l,n)|0;f[h>>2]=0;d=e+12|0;f[d>>2]=0;f[e+16>>2]=0;do{if(!s)s=l;else{if(!((s|0)<0?(_=0,ue(178,h|0),l=_,_=0,l&1):0))c=4;if((c|0)==4?(_=0,o=de(67,s|0)|0,l=_,_=0,!(l&1)):0){f[d>>2]=o;f[h>>2]=o;f[e+16>>2]=o+s;n=o;do{t[n>>0]=0;n=(f[d>>2]|0)+1|0;f[d>>2]=n;s=s+-1|0}while((s|0)!=0);s=f[u>>2]|0;n=f[r>>2]|0;break}n=ze()|0;a=f[h>>2]|0;if(a){if((f[d>>2]|0)!=(a|0))f[d>>2]=a;Ip(a)}d=n;$e(d|0)}}while(0);l=e+20|0;n=re(s,n)|0;f[l>>2]=0;s=e+24|0;f[s>>2]=0;f[e+28>>2]=0;if(!n){d=e+36|0;f[d>>2]=f[i>>2];f[d+4>>2]=f[i+4>>2];f[d+8>>2]=f[i+8>>2];return}if(!((n|0)<0?(_=0,ue(178,l|0),r=_,_=0,r&1):0))c=15;if((c|0)==15?(_=0,a=de(67,n|0)|0,c=_,_=0,!(c&1)):0){f[s>>2]=a;f[l>>2]=a;f[e+28>>2]=a+n;do{t[a>>0]=0;a=(f[s>>2]|0)+1|0;f[s>>2]=a;n=n+-1|0}while((n|0)!=0);d=e+36|0;f[d>>2]=f[i>>2];f[d+4>>2]=f[i+4>>2];f[d+8>>2]=f[i+8>>2];return}n=ze()|0;a=f[l>>2]|0;if(a){if((f[s>>2]|0)!=(a|0))f[s>>2]=a;Ip(a)}a=f[h>>2]|0;if(!a){d=n;$e(d|0)}if((f[d>>2]|0)!=(a|0))f[d>>2]=a;Ip(a);d=n;$e(d|0)}function hn(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;f[e>>2]=36664;f[e+4>>2]=r;h=e+8|0;n=f[r>>2]|0;u=r+16|0;l=f[u>>2]|0;s=re(l,n)|0;f[h>>2]=0;d=e+12|0;f[d>>2]=0;f[e+16>>2]=0;do{if(!s)s=l;else{if(!((s|0)<0?(_=0,ue(178,h|0),l=_,_=0,l&1):0))c=4;if((c|0)==4?(_=0,o=de(67,s|0)|0,l=_,_=0,!(l&1)):0){f[d>>2]=o;f[h>>2]=o;f[e+16>>2]=o+s;n=o;do{t[n>>0]=0;n=(f[d>>2]|0)+1|0;f[d>>2]=n;s=s+-1|0}while((s|0)!=0);s=f[u>>2]|0;n=f[r>>2]|0;break}n=ze()|0;a=f[h>>2]|0;if(a){if((f[d>>2]|0)!=(a|0))f[d>>2]=a;Ip(a)}d=n;$e(d|0)}}while(0);l=e+20|0;n=re(s,n)|0;f[l>>2]=0;s=e+24|0;f[s>>2]=0;f[e+28>>2]=0;if(!n){d=e+36|0;f[d>>2]=f[i>>2];f[d+4>>2]=f[i+4>>2];f[d+8>>2]=f[i+8>>2];return}if(!((n|0)<0?(_=0,ue(178,l|0),r=_,_=0,r&1):0))c=15;if((c|0)==15?(_=0,a=de(67,n|0)|0,c=_,_=0,!(c&1)):0){f[s>>2]=a;f[l>>2]=a;f[e+28>>2]=a+n;do{t[a>>0]=0;a=(f[s>>2]|0)+1|0;f[s>>2]=a;n=n+-1|0}while((n|0)!=0);d=e+36|0;f[d>>2]=f[i>>2];f[d+4>>2]=f[i+4>>2];f[d+8>>2]=f[i+8>>2];return}n=ze()|0;a=f[l>>2]|0;if(a){if((f[s>>2]|0)!=(a|0))f[s>>2]=a;Ip(a)}a=f[h>>2]|0;if(!a){d=n;$e(d|0)}if((f[d>>2]|0)!=(a|0))f[d>>2]=a;Ip(a);d=n;$e(d|0)}function dn(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;f[e>>2]=36640;f[e+4>>2]=r;h=e+8|0;n=f[r>>2]|0;u=r+16|0;l=f[u>>2]|0;s=re(l,n)|0;f[h>>2]=0;d=e+12|0;f[d>>2]=0;f[e+16>>2]=0;do{if(!s)s=l;else{if(!((s|0)<0?(_=0,ue(178,h|0),l=_,_=0,l&1):0))c=4;if((c|0)==4?(_=0,o=de(67,s|0)|0,l=_,_=0,!(l&1)):0){f[d>>2]=o;f[h>>2]=o;f[e+16>>2]=o+s;n=o;do{t[n>>0]=0;n=(f[d>>2]|0)+1|0;f[d>>2]=n;s=s+-1|0}while((s|0)!=0);s=f[u>>2]|0;n=f[r>>2]|0;break}n=ze()|0;a=f[h>>2]|0;if(a){if((f[d>>2]|0)!=(a|0))f[d>>2]=a;Ip(a)}d=n;$e(d|0)}}while(0);l=e+20|0;n=re(s,n)|0;f[l>>2]=0;s=e+24|0;f[s>>2]=0;f[e+28>>2]=0;if(!n){d=e+36|0;f[d>>2]=f[i>>2];f[d+4>>2]=f[i+4>>2];f[d+8>>2]=f[i+8>>2];return}if(!((n|0)<0?(_=0,ue(178,l|0),r=_,_=0,r&1):0))c=15;if((c|0)==15?(_=0,a=de(67,n|0)|0,c=_,_=0,!(c&1)):0){f[s>>2]=a;f[l>>2]=a;f[e+28>>2]=a+n;do{t[a>>0]=0;a=(f[s>>2]|0)+1|0;f[s>>2]=a;n=n+-1|0}while((n|0)!=0);d=e+36|0;f[d>>2]=f[i>>2];f[d+4>>2]=f[i+4>>2];f[d+8>>2]=f[i+8>>2];return}n=ze()|0;a=f[l>>2]|0;if(a){if((f[s>>2]|0)!=(a|0))f[s>>2]=a;Ip(a)}a=f[h>>2]|0;if(!a){d=n;$e(d|0)}if((f[d>>2]|0)!=(a|0))f[d>>2]=a;Ip(a);d=n;$e(d|0)}function bn(e){e=e|0;var i=0,r=0;f[e>>2]=36640;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=f[e+8>>2]|0;if(!r)return;i=e+12|0;if((f[i>>2]|0)!=(r|0))f[i>>2]=r;Ip(r);return}function kn(e){e=e|0;var i=0,r=0;f[e>>2]=36640;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}i=f[e+8>>2]|0;if(!i){Ip(e);return}r=e+12|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i);Ip(e);return}function wn(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0;a=e+36|0;if(!(f[a>>2]|0)){a=e+40|0;pn(e,i,f[a>>2]|0,r,n);f[a>>2]=(f[a>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}s=re(f[(f[e+4>>2]|0)+16>>2]|0,r)|0;l=e+20|0;pn(e,i,f[l>>2]|0,r,n);e=f[a>>2]|0;if((uM[f[(f[e>>2]|0)+48>>2]&63](e,f[l>>2]|0,s)|0)==(s|0))return;a=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,a|0,3,35648);l=_;_=0;if(l&1){l=ze()|0;je(a|0);$e(l|0)}else bi(a|0,824,96)}function _n(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+36>>2]|0;if(!n){n=e+40|0;mn(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{vn(e,n,i,r,t);return}}function mn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0;u=e+4|0;l=f[u>>2]|0;if(!(t[l+32>>0]|0))u=i;else{o=e+8|0;Am(f[o>>2]|0,i|0,n*3|0)|0;l=f[u>>2]|0;i=f[l+16>>2]|0;if((n|0)>0){l=f[o>>2]|0;e=0;while(1){c=l+2|0;h=t[l>>0]|0;t[l>>0]=t[c>>0]|0;t[c>>0]=h;e=e+1|0;if((e|0)==(n|0))break;else l=l+i|0}l=f[u>>2]|0}u=f[o>>2]|0}switch(f[l+16>>2]|0){case 3:{if((f[l+24>>2]|0)==2){if((n|0)>0)l=0;else return;do{o=a[u+(l*3|0)+1>>0]|0;s=128-o+(a[u+(l*3|0)+2>>0]|0)|0;c=(a[u+(l*3|0)>>0]|0)-o+128|0;h=r+(l*3|0)|0;t[h>>0]=o+192+(((s&255)+(c&255)|0)>>>2);t[h+1>>0]=s;t[h+2>>0]=c;l=l+1|0}while((l|0)!=(n|0));return}l=(s|0)<(n|0)?s:n;if((l|0)<=0)return;e=s<<1;i=0;do{n=a[u+(i*3|0)+1>>0]|0;c=128-n+(a[u+(i*3|0)+2>>0]|0)|0;h=(a[u+(i*3|0)>>0]|0)-n+128|0;t[r+i>>0]=n+192+(((c&255)+(h&255)|0)>>>2);t[r+(i+s)>>0]=c;t[r+(i+e)>>0]=h;i=i+1|0}while((i|0)!=(l|0));return}case 4:{if((f[l+24>>2]|0)!=1)return;l=(s|0)<(n|0)?s:n;if((l|0)<=0)return;e=s<<1;i=s*3|0;o=0;do{h=t[u+(o<<2)+3>>0]|0;d=a[u+(o<<2)+1>>0]|0;n=128-d+(a[u+(o<<2)+2>>0]|0)|0;c=(a[u+(o<<2)>>0]|0)-d+128|0;t[r+o>>0]=d+192+(((n&255)+(c&255)|0)>>>2);t[r+(o+s)>>0]=n;t[r+(o+e)>>0]=c;t[r+(o+i)>>0]=h;o=o+1|0}while((o|0)!=(l|0));return}default:return}}function vn(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0;d=c;c=c+176|0;b=d+152|0;m=d+16|0;k=d;l=re(f[(f[e+4>>2]|0)+16>>2]|0,n)|0;u=e+20|0;s=f[u>>2]|0;if(!l){m=s;mn(e,m,r,n,a);c=d;return}while(1){o=uM[f[(f[i>>2]|0)+32>>2]&63](i,s,l)|0;if(!o)break;s=f[u>>2]|0;if((l|0)==(o|0)){h=26;break}else l=l-o|0}if((h|0)==26){mn(e,s,r,n,a);c=d;return}r=m+56|0;u=m+4|0;f[m>>2]=36160;f[r>>2]=36180;_=0;ce(62,m+56|0,u|0);d=_;_=0;if(d&1){m=ze()|0;nd(r);$e(m|0)}f[m+128>>2]=0;f[m+132>>2]=-1;f[m>>2]=36200;f[m+56>>2]=36220;_=0;ue(180,u|0);d=_;_=0;do{if(d&1)s=ze()|0;else{f[u>>2]=36236;i=m+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[m+52>>2]=16;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;_=0;ce(63,u|0,b|0);d=_;_=0;if(d&1){s=ze()|0;Oh(b);Oh(i);cd(u);break}Oh(b);_=0;s=ke(28,m|0,49029,57)|0;b=_;_=0;if(!(b&1)?(_=0,pe(36,s|0,0)|0,b=_,_=0,!(b&1)):0){o=He(16)|0;_=0;ce(64,k|0,u|0);b=_;_=0;if(!(b&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,o|0,3,35648,k|0);b=_;_=0;if(b&1)l=1;else{_=0;Ae(6,o|0,824,96);_=0;l=0}s=ze()|0;Oh(k);if(!l){k=s;f[m>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(r);$e(k|0)}}else s=ze()|0;je(o|0);k=s;f[m>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(r);$e(k|0)}k=ze()|0;f[m>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(r);$e(k|0)}}while(0);m=s;nd(r);$e(m|0)}function pn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0;c=e+4|0;e=f[c>>2]|0;e:do{switch(f[e+16>>2]|0){case 3:{if((f[e+24>>2]|0)==2){if((n|0)>0)e=0;else break e;while(1){o=a[i+(e*3|0)+1>>0]|0;l=a[i+(e*3|0)+2>>0]|0;u=(a[i+(e*3|0)>>0]|0)-((l+o|0)>>>2)+64|0;s=r+(e*3|0)|0;t[s>>0]=l+128+u;t[s+1>>0]=u;t[s+2>>0]=o+128+u;e=e+1|0;if((e|0)==(n|0))break e}}e=(n|0)<(s|0)?n:s;if((e|0)>0){l=s<<1;o=0;do{d=a[i+(o+s)>>0]|0;b=a[i+(o+l)>>0]|0;h=(a[i+o>>0]|0)-((b+d|0)>>>2)+64|0;u=r+(o*3|0)|0;t[u>>0]=b+128+h;t[u+1>>0]=h;t[u+2>>0]=d+128+h;o=o+1|0}while((o|0)!=(e|0))}break}case 4:{if((f[e+24>>2]|0)==1?(u=(n|0)<(s|0)?n:s,(u|0)>0):0){e=s<<1;l=s*3|0;o=0;do{h=a[i+(o+s)>>0]|0;k=a[i+(o+e)>>0]|0;d=(a[i+o>>0]|0)-((k+h|0)>>>2)+64|0;b=r+(o<<2)|0;d=d<<8&65280|a[i+(o+l)>>0]<<24|k+128+d&255|h+128+d<<16&16711680;t[b>>0]=d;t[b+1>>0]=d>>8;t[b+2>>0]=d>>16;t[b+3>>0]=d>>24;o=o+1|0}while((o|0)!=(u|0))}break}default:{}}}while(0);e=f[c>>2]|0;if(!(t[e+32>>0]|0))return;o=f[e+16>>2]|0;if((n|0)>0){e=r;l=0}else return;while(1){k=e+2|0;b=t[e>>0]|0;t[e>>0]=t[k>>0]|0;t[k>>0]=b;l=l+1|0;if((l|0)==(n|0))break;else e=e+o|0}return}function gn(e){e=e|0;var i=0,r=0;f[e>>2]=36664;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=f[e+8>>2]|0;if(!r)return;i=e+12|0;if((f[i>>2]|0)!=(r|0))f[i>>2]=r;Ip(r);return}function yn(e){e=e|0;var i=0,r=0;f[e>>2]=36664;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}i=f[e+8>>2]|0;if(!i){Ip(e);return}r=e+12|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i);Ip(e);return}function Mn(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0;a=e+36|0;if(!(f[a>>2]|0)){a=e+40|0;Tn(e,i,f[a>>2]|0,r,n);f[a>>2]=(f[a>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}s=re(f[(f[e+4>>2]|0)+16>>2]|0,r)|0;l=e+20|0;Tn(e,i,f[l>>2]|0,r,n);e=f[a>>2]|0;if((uM[f[(f[e>>2]|0)+48>>2]&63](e,f[l>>2]|0,s)|0)==(s|0))return;a=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,a|0,3,35648);l=_;_=0;if(l&1){l=ze()|0;je(a|0);$e(l|0)}else bi(a|0,824,96)}function En(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+36>>2]|0;if(!n){n=e+40|0;An(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{Sn(e,n,i,r,t);return}}function An(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0;u=e+4|0;l=f[u>>2]|0;if(!(t[l+32>>0]|0))u=i;else{o=e+8|0;Am(f[o>>2]|0,i|0,n*3|0)|0;l=f[u>>2]|0;i=f[l+16>>2]|0;if((n|0)>0){l=f[o>>2]|0;e=0;while(1){c=l+2|0;h=t[l>>0]|0;t[l>>0]=t[c>>0]|0;t[c>>0]=h;e=e+1|0;if((e|0)==(n|0))break;else l=l+i|0}l=f[u>>2]|0}u=f[o>>2]|0}switch(f[l+16>>2]|0){case 3:{if((f[l+24>>2]|0)==2){if((n|0)>0)l=0;else return;do{i=a[u+(l*3|0)>>0]|0;s=t[u+(l*3|0)+1>>0]|0;o=s&255;c=(a[u+(l*3|0)+2>>0]|0)+128-((o+i|0)>>>1)&255;h=r+(l*3|0)|0;t[h>>0]=i+128-o;t[h+1>>0]=s;t[h+2>>0]=c;l=l+1|0}while((l|0)!=(n|0));return}l=(s|0)<(n|0)?s:n;if((l|0)<=0)return;e=s<<1;i=0;do{c=t[u+(i*3|0)+1>>0]|0;o=a[u+(i*3|0)>>0]|0;n=c&255;h=(a[u+(i*3|0)+2>>0]|0)+128-((n+o|0)>>>1)&255;t[r+i>>0]=o+128-n;t[r+(i+s)>>0]=c;t[r+(i+e)>>0]=h;i=i+1|0}while((i|0)!=(l|0));return}case 4:{if((f[l+24>>2]|0)!=1)return;l=(s|0)<(n|0)?s:n;if((l|0)<=0)return;e=s<<1;i=s*3|0;o=0;do{n=t[u+(o<<2)+1>>0]|0;h=t[u+(o<<2)+3>>0]|0;b=a[u+(o<<2)>>0]|0;d=n&255;c=(a[u+(o<<2)+2>>0]|0)+128-((d+b|0)>>>1)&255;t[r+o>>0]=b+128-d;t[r+(o+s)>>0]=n;t[r+(o+e)>>0]=c;t[r+(o+i)>>0]=h;o=o+1|0}while((o|0)!=(l|0));return}default:return}}function Sn(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0;d=c;c=c+176|0;b=d+152|0;m=d+16|0;k=d;l=re(f[(f[e+4>>2]|0)+16>>2]|0,n)|0;u=e+20|0;s=f[u>>2]|0;if(!l){m=s;An(e,m,r,n,a);c=d;return}while(1){o=uM[f[(f[i>>2]|0)+32>>2]&63](i,s,l)|0;if(!o)break;s=f[u>>2]|0;if((l|0)==(o|0)){h=26;break}else l=l-o|0}if((h|0)==26){An(e,s,r,n,a);c=d;return}r=m+56|0;u=m+4|0;f[m>>2]=36160;f[r>>2]=36180;_=0;ce(62,m+56|0,u|0);d=_;_=0;if(d&1){m=ze()|0;nd(r);$e(m|0)}f[m+128>>2]=0;f[m+132>>2]=-1;f[m>>2]=36200;f[m+56>>2]=36220;_=0;ue(180,u|0);d=_;_=0;do{if(d&1)s=ze()|0;else{f[u>>2]=36236;i=m+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[m+52>>2]=16;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;_=0;ce(63,u|0,b|0);d=_;_=0;if(d&1){s=ze()|0;Oh(b);Oh(i);cd(u);break}Oh(b);_=0;s=ke(28,m|0,49029,57)|0;b=_;_=0;if(!(b&1)?(_=0,pe(36,s|0,0)|0,b=_,_=0,!(b&1)):0){o=He(16)|0;_=0;ce(64,k|0,u|0);b=_;_=0;if(!(b&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,o|0,3,35648,k|0);b=_;_=0;if(b&1)l=1;else{_=0;Ae(6,o|0,824,96);_=0;l=0}s=ze()|0;Oh(k);if(!l){k=s;f[m>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(r);$e(k|0)}}else s=ze()|0;je(o|0);k=s;f[m>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(r);$e(k|0)}k=ze()|0;f[m>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(r);$e(k|0)}}while(0);m=s;nd(r);$e(m|0)}function Tn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0;c=e+4|0;e=f[c>>2]|0;e:do{switch(f[e+16>>2]|0){case 3:{if((f[e+24>>2]|0)==2){if((n|0)>0)e=0;else break e;while(1){o=t[i+(e*3|0)+1>>0]|0;u=o&255;l=(a[i+(e*3|0)>>0]|0)+128+u|0;u=(a[i+(e*3|0)+2>>0]|0)+128+(((l&255)+u|0)>>>1)&255;s=r+(e*3|0)|0;t[s>>0]=l;t[s+1>>0]=o;t[s+2>>0]=u;e=e+1|0;if((e|0)==(n|0))break e}}e=(n|0)<(s|0)?n:s;if((e|0)>0){l=s<<1;o=0;do{d=t[i+(o+s)>>0]|0;h=d&255;b=(a[i+o>>0]|0)+128+h|0;h=(a[i+(o+l)>>0]|0)+128+(((b&255)+h|0)>>>1)&255;u=r+(o*3|0)|0;t[u>>0]=b;t[u+1>>0]=d;t[u+2>>0]=h;o=o+1|0}while((o|0)!=(e|0))}break}case 4:{if((f[e+24>>2]|0)==1?(u=(n|0)<(s|0)?n:s,(u|0)>0):0){e=s<<1;l=s*3|0;o=0;do{d=a[i+(o+s)>>0]|0;h=(a[i+o>>0]|0)+128+d&255;b=r+(o<<2)|0;d=h|d<<8|a[i+(o+l)>>0]<<24|(a[i+(o+e)>>0]|0)+128+((h+d|0)>>>1)<<16&16711680;t[b>>0]=d;t[b+1>>0]=d>>8;t[b+2>>0]=d>>16;t[b+3>>0]=d>>24;o=o+1|0}while((o|0)!=(u|0))}break}default:{}}}while(0);e=f[c>>2]|0;if(!(t[e+32>>0]|0))return;o=f[e+16>>2]|0;if((n|0)>0){e=r;l=0}else return;while(1){b=e+2|0;d=t[e>>0]|0;t[e>>0]=t[b>>0]|0;t[b>>0]=d;l=l+1|0;if((l|0)==(n|0))break;else e=e+o|0}return}function Cn(e){e=e|0;var i=0,r=0;f[e>>2]=36688;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=f[e+8>>2]|0;if(!r)return;i=e+12|0;if((f[i>>2]|0)!=(r|0))f[i>>2]=r;Ip(r);return}function Rn(e){e=e|0;var i=0,r=0;f[e>>2]=36688;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}i=f[e+8>>2]|0;if(!i){Ip(e);return}r=e+12|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i);Ip(e);return}function Ln(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0;a=e+36|0;if(!(f[a>>2]|0)){a=e+40|0;Bn(e,i,f[a>>2]|0,r,n);f[a>>2]=(f[a>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}s=re(f[(f[e+4>>2]|0)+16>>2]|0,r)|0;l=e+20|0;Bn(e,i,f[l>>2]|0,r,n);e=f[a>>2]|0;if((uM[f[(f[e>>2]|0)+48>>2]&63](e,f[l>>2]|0,s)|0)==(s|0))return;a=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,a|0,3,35648);l=_;_=0;if(l&1){l=ze()|0;je(a|0);$e(l|0)}else bi(a|0,824,96)}function Pn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+36>>2]|0;if(!n){n=e+40|0;xn(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{On(e,n,i,r,t);return}}function xn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0;u=e+4|0;l=f[u>>2]|0;if(!(t[l+32>>0]|0))u=i;else{o=e+8|0;Am(f[o>>2]|0,i|0,n*3|0)|0;l=f[u>>2]|0;i=f[l+16>>2]|0;if((n|0)>0){l=f[o>>2]|0;e=0;while(1){c=l+2|0;h=t[l>>0]|0;t[l>>0]=t[c>>0]|0;t[c>>0]=h;e=e+1|0;if((e|0)==(n|0))break;else l=l+i|0}l=f[u>>2]|0}u=f[o>>2]|0}switch(f[l+16>>2]|0){case 3:{if((f[l+24>>2]|0)==2){if((n|0)>0)l=0;else return;do{s=t[u+(l*3|0)+1>>0]|0;o=s&255;c=128-o+(a[u+(l*3|0)+2>>0]|0)&255;h=r+(l*3|0)|0;t[h>>0]=(a[u+(l*3|0)>>0]|0)+128-o;t[h+1>>0]=s;t[h+2>>0]=c;l=l+1|0}while((l|0)!=(n|0));return}l=(s|0)<(n|0)?s:n;if((l|0)<=0)return;e=s<<1;i=0;do{c=t[u+(i*3|0)+1>>0]|0;n=c&255;h=128-n+(a[u+(i*3|0)+2>>0]|0)&255;t[r+i>>0]=(a[u+(i*3|0)>>0]|0)+128-n;t[r+(i+s)>>0]=c;t[r+(i+e)>>0]=h;i=i+1|0}while((i|0)!=(l|0));return}case 4:{if((f[l+24>>2]|0)!=1)return;l=(s|0)<(n|0)?s:n;if((l|0)<=0)return;e=s<<1;i=s*3|0;o=0;do{n=t[u+(o<<2)+1>>0]|0;h=t[u+(o<<2)+3>>0]|0;d=n&255;c=128-d+(a[u+(o<<2)+2>>0]|0)&255;t[r+o>>0]=(a[u+(o<<2)>>0]|0)+128-d;t[r+(o+s)>>0]=n;t[r+(o+e)>>0]=c;t[r+(o+i)>>0]=h;o=o+1|0}while((o|0)!=(l|0));return}default:return}}function On(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0;d=c;c=c+176|0;b=d+152|0;m=d+16|0;k=d;l=re(f[(f[e+4>>2]|0)+16>>2]|0,n)|0;u=e+20|0;s=f[u>>2]|0;if(!l){m=s;xn(e,m,r,n,a);c=d;return}while(1){o=uM[f[(f[i>>2]|0)+32>>2]&63](i,s,l)|0;if(!o)break;s=f[u>>2]|0;if((l|0)==(o|0)){h=26;break}else l=l-o|0}if((h|0)==26){xn(e,s,r,n,a);c=d;return}r=m+56|0;u=m+4|0;f[m>>2]=36160;f[r>>2]=36180;_=0;ce(62,m+56|0,u|0);d=_;_=0;if(d&1){m=ze()|0;nd(r);$e(m|0)}f[m+128>>2]=0;f[m+132>>2]=-1;f[m>>2]=36200;f[m+56>>2]=36220;_=0;ue(180,u|0);d=_;_=0;do{if(d&1)s=ze()|0;else{f[u>>2]=36236;i=m+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[m+52>>2]=16;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;_=0;ce(63,u|0,b|0);d=_;_=0;if(d&1){s=ze()|0;Oh(b);Oh(i);cd(u);break}Oh(b);_=0;s=ke(28,m|0,49029,57)|0;b=_;_=0;if(!(b&1)?(_=0,pe(36,s|0,0)|0,b=_,_=0,!(b&1)):0){o=He(16)|0;_=0;ce(64,k|0,u|0);b=_;_=0;if(!(b&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,o|0,3,35648,k|0);b=_;_=0;if(b&1)l=1;else{_=0;Ae(6,o|0,824,96);_=0;l=0}s=ze()|0;Oh(k);if(!l){k=s;f[m>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(r);$e(k|0)}}else s=ze()|0;je(o|0);k=s;f[m>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(r);$e(k|0)}k=ze()|0;f[m>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(r);$e(k|0)}}while(0);m=s;nd(r);$e(m|0)}function Bn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0;c=e+4|0;e=f[c>>2]|0;e:do{switch(f[e+16>>2]|0){case 3:{if((f[e+24>>2]|0)==2){if((n|0)>0)e=0;else break e;while(1){o=t[i+(e*3|0)+1>>0]|0;l=o&255;u=l+128+(a[i+(e*3|0)+2>>0]|0)&255;s=r+(e*3|0)|0;t[s>>0]=(a[i+(e*3|0)>>0]|0)+128+l;t[s+1>>0]=o;t[s+2>>0]=u;e=e+1|0;if((e|0)==(n|0))break e}}e=(n|0)<(s|0)?n:s;if((e|0)>0){l=s<<1;o=0;do{d=t[i+(o+s)>>0]|0;b=d&255;h=b+128+(a[i+(o+l)>>0]|0)&255;u=r+(o*3|0)|0;t[u>>0]=(a[i+o>>0]|0)+128+b;t[u+1>>0]=d;t[u+2>>0]=h;o=o+1|0}while((o|0)!=(e|0))}break}case 4:{if((f[e+24>>2]|0)==1?(u=(n|0)<(s|0)?n:s,(u|0)>0):0){e=s<<1;l=s*3|0;o=0;do{d=a[i+(o+s)>>0]|0;b=r+(o<<2)|0;d=(a[i+o>>0]|0)+128+d&255|d<<8|a[i+(o+l)>>0]<<24|d+128+(a[i+(o+e)>>0]|0)<<16&16711680;t[b>>0]=d;t[b+1>>0]=d>>8;t[b+2>>0]=d>>16;t[b+3>>0]=d>>24;o=o+1|0}while((o|0)!=(u|0))}break}default:{}}}while(0);e=f[c>>2]|0;if(!(t[e+32>>0]|0))return;o=f[e+16>>2]|0;if((n|0)>0){e=r;l=0}else return;while(1){b=e+2|0;d=t[e>>0]|0;t[e>>0]=t[b>>0]|0;t[b>>0]=d;l=l+1|0;if((l|0)==(n|0))break;else e=e+o|0}return}function In(e){e=e|0;var i=0,r=0;f[e>>2]=36712;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=f[e+8>>2]|0;if(!r)return;i=e+12|0;if((f[i>>2]|0)!=(r|0))f[i>>2]=r;Ip(r);return}function Dn(e){e=e|0;var i=0,r=0;f[e>>2]=36712;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}i=f[e+8>>2]|0;if(!i){Ip(e);return}r=e+12|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i);Ip(e);return}function Nn(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0;a=e+36|0;if(!(f[a>>2]|0)){a=e+40|0;Hn(e,i,f[a>>2]|0,r,n);f[a>>2]=(f[a>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}s=re(f[(f[e+4>>2]|0)+16>>2]|0,r)|0;l=e+20|0;Hn(e,i,f[l>>2]|0,r,n);e=f[a>>2]|0;if((uM[f[(f[e>>2]|0)+48>>2]&63](e,f[l>>2]|0,s)|0)==(s|0))return;a=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,a|0,3,35648);l=_;_=0;if(l&1){l=ze()|0;je(a|0);$e(l|0)}else bi(a|0,824,96)}function Fn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+36>>2]|0;if(!n){n=e+40|0;Un(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{jn(e,n,i,r,t);return}}function Un(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,c=0;o=e+4|0;s=f[o>>2]|0;if(!(t[s+32>>0]|0))o=i;else{l=e+8|0;Am(f[l>>2]|0,i|0,n*3|0)|0;s=f[o>>2]|0;i=f[s+16>>2]|0;if((n|0)>0){s=f[l>>2]|0;e=0;while(1){u=s+2|0;c=t[s>>0]|0;t[s>>0]=t[u>>0]|0;t[u>>0]=c;e=e+1|0;if((e|0)==(n|0))break;else s=s+i|0}s=f[o>>2]|0}o=f[l>>2]|0}switch(f[s+16>>2]|0){case 3:{if((f[s+24>>2]|0)==2){if((n|0)>0)s=0;else return;do{a=t[o+(s*3|0)+1>>0]|0;u=t[o+(s*3|0)+2>>0]|0;c=r+(s*3|0)|0;t[c>>0]=t[o+(s*3|0)>>0]|0;t[c+1>>0]=a;t[c+2>>0]=u;s=s+1|0}while((s|0)!=(n|0));return}s=(a|0)<(n|0)?a:n;if((s|0)<=0)return;e=a<<1;i=0;do{u=t[o+(i*3|0)+1>>0]|0;c=t[o+(i*3|0)+2>>0]|0;t[r+i>>0]=t[o+(i*3|0)>>0]|0;t[r+(i+a)>>0]=u;t[r+(i+e)>>0]=c;i=i+1|0}while((i|0)!=(s|0));return}case 4:{if((f[s+24>>2]|0)!=1)return;s=(a|0)<(n|0)?a:n;if((s|0)<=0)return;e=a<<1;i=a*3|0;l=0;do{n=t[o+(l<<2)+1>>0]|0;u=t[o+(l<<2)+2>>0]|0;c=t[o+(l<<2)+3>>0]|0;t[r+l>>0]=t[o+(l<<2)>>0]|0;t[r+(l+a)>>0]=n;t[r+(l+e)>>0]=u;t[r+(l+i)>>0]=c;l=l+1|0}while((l|0)!=(s|0));return}default:return}}function jn(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0;d=c;c=c+176|0;b=d+152|0;m=d+16|0;k=d;l=re(f[(f[e+4>>2]|0)+16>>2]|0,n)|0;u=e+20|0;s=f[u>>2]|0;if(!l){m=s;Un(e,m,r,n,a);c=d;return}while(1){o=uM[f[(f[i>>2]|0)+32>>2]&63](i,s,l)|0;if(!o)break;s=f[u>>2]|0;if((l|0)==(o|0)){h=26;break}else l=l-o|0}if((h|0)==26){Un(e,s,r,n,a);c=d;return}r=m+56|0;u=m+4|0;f[m>>2]=36160;f[r>>2]=36180;_=0;ce(62,m+56|0,u|0);d=_;_=0;if(d&1){m=ze()|0;nd(r);$e(m|0)}f[m+128>>2]=0;f[m+132>>2]=-1;f[m>>2]=36200;f[m+56>>2]=36220;_=0;ue(180,u|0);d=_;_=0;do{if(d&1)s=ze()|0;else{f[u>>2]=36236;i=m+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[m+52>>2]=16;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;_=0;ce(63,u|0,b|0);d=_;_=0;if(d&1){s=ze()|0;Oh(b);Oh(i);cd(u);break}Oh(b);_=0;s=ke(28,m|0,49029,57)|0;b=_;_=0;if(!(b&1)?(_=0,pe(36,s|0,0)|0,b=_,_=0,!(b&1)):0){o=He(16)|0;_=0;ce(64,k|0,u|0);b=_;_=0;if(!(b&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,o|0,3,35648,k|0);b=_;_=0;if(b&1)l=1;else{_=0;Ae(6,o|0,824,96);_=0;l=0}s=ze()|0;Oh(k);if(!l){k=s;f[m>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(r);$e(k|0)}}else s=ze()|0;je(o|0);k=s;f[m>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(r);$e(k|0)}k=ze()|0;f[m>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Oh(i);cd(u);nd(r);$e(k|0)}}while(0);m=s;nd(r);$e(m|0)}function Hn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0;c=e+4|0;e=f[c>>2]|0;e:do{switch(f[e+16>>2]|0){case 3:{if((f[e+24>>2]|0)==2){if((n|0)>0)e=0;else break e;while(1){o=t[i+(e*3|0)+1>>0]|0;u=t[i+(e*3|0)+2>>0]|0;s=r+(e*3|0)|0;t[s>>0]=t[i+(e*3|0)>>0]|0;t[s+1>>0]=o;t[s+2>>0]=u;e=e+1|0;if((e|0)==(n|0))break e}}e=(n|0)<(s|0)?n:s;if((e|0)>0){l=s<<1;o=0;do{d=t[i+(o+s)>>0]|0;h=t[i+(o+l)>>0]|0;u=r+(o*3|0)|0;t[u>>0]=t[i+o>>0]|0;t[u+1>>0]=d;t[u+2>>0]=h;o=o+1|0}while((o|0)!=(e|0))}break}case 4:{if((f[e+24>>2]|0)==1?(u=(n|0)<(s|0)?n:s,(u|0)>0):0){e=s<<1;l=s*3|0;o=0;do{d=r+(o<<2)|0;h=a[i+(o+s)>>0]<<8|a[i+o>>0]|a[i+(o+e)>>0]<<16|a[i+(o+l)>>0]<<24;t[d>>0]=h;t[d+1>>0]=h>>8;t[d+2>>0]=h>>16;t[d+3>>0]=h>>24;o=o+1|0}while((o|0)!=(u|0))}break}default:{}}}while(0);e=f[c>>2]|0;if(!(t[e+32>>0]|0))return;o=f[e+16>>2]|0;if((n|0)>0){e=r;l=0}else return;while(1){d=e+2|0;h=t[e>>0]|0;t[e>>0]=t[d>>0]|0;t[d>>0]=h;l=l+1|0;if((l|0)==(n|0))break;else e=e+o|0}return}function zn(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0;p=c;c=c+32|0;y=p+12|0;v=p;k=e+180|0;w=(f[k>>2]|0)+4|0;if((f[e+32>>2]|0)==1)m=f[e+24>>2]|0;else m=1;i=re(m<<1,w)|0;f[y>>2]=0;M=y+4|0;f[M>>2]=0;f[y+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(_=0,ue(178,y|0),g=_,_=0,g&1):0))s=6;if((s|0)==6?(_=0,r=de(67,i*3|0)|0,g=_,_=0,!(g&1)):0){f[M>>2]=r;f[y>>2]=r;f[y+8>>2]=r+(i*3|0);while(1){t[r>>0]=0;t[r+1>>0]=0;t[r+2>>0]=0;r=(f[M>>2]|0)+3|0;f[M>>2]=r;i=i+-1|0;if(!i)break e}}n=ze()|0;i=f[y>>2]|0;if(!i)$e(n|0);r=f[M>>2]|0;if((r|0)!=(i|0))f[M>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Ip(i);$e(n|0)}}while(0);f[v>>2]=0;g=v+4|0;f[g>>2]=0;f[v+8>>2]=0;do{if(!m)s=19;else{if(!(m>>>0>1073741823?(_=0,ue(178,v|0),b=_,_=0,b&1):0))s=17;if((s|0)==17?(n=m<<2,_=0,a=de(67,n|0)|0,b=_,_=0,!(b&1)):0){f[v>>2]=a;s=a+(m<<2)|0;f[v+8>>2]=s;ym(a|0,0,n|0)|0;f[g>>2]=s;s=19;break}n=ze()|0;i=f[v>>2]|0;r=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}}while(0);if((s|0)==19){a=e+12|0;e:do{if((f[a>>2]|0)>0){s=e+4604|0;l=(re(m,w)|0)+1|0;o=e+4608|0;u=e+92|0;h=(m|0)>0;d=e+4600|0;b=0;i:while(1){n=f[y>>2]|0;i=n+3|0;f[s>>2]=i;r=n+(l*3|0)|0;f[o>>2]=r;if(!(b&1))i=l;else{f[s>>2]=r;f[o>>2]=i;i=1}r=f[u>>2]|0;_=0;Re(f[(f[r>>2]|0)+12>>2]|0,r|0,n+(i*3|0)|0,f[k>>2]|0,w|0);n=_;_=0;if(n&1){s=29;break}if(h){i=f[v>>2]|0;r=f[s>>2]|0;n=0;do{f[d>>2]=f[i+(n<<2)>>2];E=f[k>>2]|0;i=r+(E*3|0)|0;r=r+((E+-1|0)*3|0)|0;t[i>>0]=t[r>>0]|0;t[i+1>>0]=t[r+1>>0]|0;t[i+2>>0]=t[r+2>>0]|0;i=f[s>>2]|0;r=(f[o>>2]|0)+-3|0;t[r>>0]=t[i>>0]|0;t[r+1>>0]=t[i+1>>0]|0;t[r+2>>0]=t[i+2>>0]|0;_=0;ce(70,e|0,0);r=_;_=0;if(r&1){s=28;break i}i=f[v>>2]|0;f[i+(n<<2)>>2]=f[d>>2];r=(f[s>>2]|0)+(w*3|0)|0;f[s>>2]=r;f[o>>2]=(f[o>>2]|0)+(w*3|0);n=n+1|0}while((n|0)<(m|0))}b=b+1|0;if((b|0)>=(f[a>>2]|0)){s=41;break e}}if((s|0)==28){n=ze()|0;break}else if((s|0)==29){n=ze()|0;break}}else s=41}while(0);do{if((s|0)==41){_=0;ue(182,e|0);E=_;_=0;if(E&1){n=ze()|0;break}i=f[v>>2]|0;r=i;if(i){n=f[g>>2]|0;if((n|0)!=(i|0))f[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);Ip(i)}i=f[y>>2]|0;if(!i){c=p;return}r=f[M>>2]|0;if((r|0)!=(i|0))f[M>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Ip(i);c=p;return}}while(0);i=f[v>>2]|0;r=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}i=f[y>>2]|0;if(!i)$e(n|0);r=f[M>>2]|0;if((r|0)!=(i|0))f[M>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Ip(i);$e(n|0)}function Yn(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0;S=e+180|0;if((f[S>>2]|0)<=0)return;T=e+4608|0;C=e+4604|0;R=e+4612|0;A=0;while(1){y=A+-1|0;l=f[T>>2]|0;o=f[C>>2]|0;i=A+1|0;s=a[o+(A*3|0)>>0]|0;E=f[R>>2]|0;u=a[o+(y*3|0)>>0]|0;c=s-u|0;h=a[l+(y*3|0)>>0]|0;d=u-h|0;b=((((t[E+((a[o+(i*3|0)>>0]|0)-s)>>0]|0)*9|0)+(t[E+c>>0]|0)|0)*9|0)+(t[E+d>>0]|0)|0;n=a[o+(A*3|0)+1>>0]|0;k=a[o+(y*3|0)+1>>0]|0;w=n-k|0;_=a[l+(y*3|0)+1>>0]|0;m=k-_|0;v=((((t[E+((a[o+(i*3|0)+1>>0]|0)-n)>>0]|0)*9|0)+(t[E+w>>0]|0)|0)*9|0)+(t[E+m>>0]|0)|0;r=a[o+(A*3|0)+2>>0]|0;p=a[o+(y*3|0)+2>>0]|0;g=r-p|0;y=a[l+(y*3|0)+2>>0]|0;M=p-y|0;E=((((t[E+((a[o+(i*3|0)+2>>0]|0)-r)>>0]|0)*9|0)+(t[E+g>>0]|0)|0)*9|0)+(t[E+M>>0]|0)|0;if(!(v|b|E))i=(qn(e,A,0)|0)+A|0;else{o=a[l+(A*3|0)>>0]|0;l=s-h>>31;if((l^d|0)>=0)if((l^c|0)<0)s=h;else s=h-u+s|0;o=Xn(e,b,o,s,0)|0;l=a[(f[T>>2]|0)+(A*3|0)+1>>0]|0;s=n-_>>31;if((s^m|0)>=0)if((s^w|0)<0)n=_;else n=_-k+n|0;s=Xn(e,v,l,n,0)|0;l=a[(f[T>>2]|0)+(A*3|0)+2>>0]|0;n=r-y>>31;if((n^M|0)>=0)if((n^g|0)<0)r=y;else r=y-p+r|0;E=Xn(e,E,l,r,0)|0;A=(f[T>>2]|0)+(A*3|0)|0;t[A>>0]=o;t[A+1>>0]=s;t[A+2>>0]=E}if((i|0)<(f[S>>2]|0))A=i;else break}return}function qn(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0;T=c;c=c+32|0;S=T+15|0;w=T+12|0;k=T+9|0;_=T+6|0;y=T+3|0;M=T;E=(f[e+180>>2]|0)-i|0;A=f[e+4608>>2]|0;m=f[e+4604>>2]|0;g=A+((i+-1|0)*3|0)|0;v=t[g>>0]|0;p=t[g+1>>0]|0;g=t[g+2>>0]|0;r=v&255;n=e+144|0;s=p&255;l=g&255;b=0;while(1){o=A+((b+i|0)*3|0)|0;u=o+1|0;h=o+2|0;C=(a[o>>0]|0)-r|0;d=f[n>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(d|0))break;C=(a[u>>0]|0)-s|0;if((((C|0)>-1?C:0-C|0)|0)>(d|0))break;C=(a[h>>0]|0)-l|0;if((((C|0)>-1?C:0-C|0)|0)>(d|0))break;t[o>>0]=v;t[u>>0]=p;t[h>>0]=g;b=b+1|0;if((b|0)==(E|0)){b=E;break}}s=(b|0)==(E|0);l=e+4600|0;n=f[36476+(f[l>>2]<<2)>>2]|0;if((1<(b|0))r=b;else{r=b;do{Bt(e,1,1);n=f[l>>2]|0;r=r-(1<>2])|0;n=(n|0)>30?31:n+1|0;f[l>>2]=n;n=f[36476+(n<<2)>>2]|0}while((r|0)>=(1<>0]=t[C>>0]|0;t[y+1>>0]=t[C+1>>0]|0;t[y+2>>0]=t[C+2>>0]|0;t[M>>0]=v;t[M+1>>0]=p;t[M+2>>0]=g;i=m+(i*3|0)|0;t[k>>0]=t[y>>0]|0;t[k+1>>0]=t[y+1>>0]|0;t[k+2>>0]=t[y+2>>0]|0;t[w>>0]=t[M>>0]|0;t[w+1>>0]=t[M+1>>0]|0;t[w+2>>0]=t[M+2>>0]|0;t[S>>0]=t[i>>0]|0;t[S+1>>0]=t[i+1>>0]|0;t[S+2>>0]=t[i+2>>0]|0;Gn(_,e,k,w,S);t[C>>0]=t[_>>0]|0;t[C+1>>0]=t[_+1>>0]|0;t[C+2>>0]=t[_+2>>0]|0;C=f[l>>2]|0;f[l>>2]=(C|0)<1?0:C+-1|0;C=b+1|0;c=T;return C|0}if(!r){C=E;c=T;return C|0}Bt(e,1,1);C=E;c=T;return C|0}function Xn(e,i,r,t,a){e=e|0;i=i|0;r=r|0;t=t|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0;_=i>>31;s=(_^i)-_|0;k=e+196+(s*12|0)+10|0;l=n[k>>1]|0;b=e+196+(s*12|0)|0;a=f[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){i=5;while(1)if((l<>1]^_)-_+t|0;w=e+136|0;t=f[w>>2]|0;if((a&t|0)==(a|0))c=a;else c=t&~(a>>31);a=(r-c^_)-_|0;u=e+144|0;t=f[u>>2]|0;if((a|0)>0)a=(a+t|0)/(t<<1|1|0)|0;else a=(a-t|0)/(t<<1|1|0)|0;d=e+140|0;o=f[d>>2]|0;r=((a|0)<0?o:0)+a|0;o=r-((r|0)<((o+1|0)/2|0|0)?0:o)|0;s=e+196+(s*12|0)+4|0;if(!(t|i))a=(f[s>>2]<<1)+-1+l>>31;else a=0;t=a^o;Vn(e,i,t>>30^t<<1,f[e+156>>2]|0);t=f[e+160>>2]|0;i=(f[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;a=(f[s>>2]|0)+(re(f[u>>2]<<1|1,o)|0)|0;r=n[k>>1]|0;if((r|0)==(t|0)){i=i>>1;a=a>>1;r=t>>1}f[b>>2]=i;t=r+1|0;n[k>>1]=t;i=t+a|0;if((i|0)>=1){if((a|0)>0){a=a-t|0;k=n[h>>1]|0;n[h>>1]=(k<<16>>16<127&1)+(k&65535);a=(a|0)>0?0:a}}else{a=n[h>>1]|0;n[h>>1]=(a&65535)-(a<<16>>16>-128&1);a=(i|0)>(~r|0)?i:0-r|0}f[s>>2]=a;t=f[u>>2]|0;r=t<<1|1;i=(re(r,(o^_)-_|0)|0)+c|0;if((i|0)>=(0-t|0)){a=f[w>>2]|0;if((a+t|0)<(i|0))i=i-(re(f[d>>2]|0,r)|0)|0}else{i=(re(f[d>>2]|0,r)|0)+i|0;a=f[w>>2]|0}if((i&a|0)==(i|0)){_=i;_=_&255;return _|0}_=a&~(i>>31);_=_&255;return _|0}function Vn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0;n=r>>i;a=e+148|0;s=t-(f[a>>2]|0)|0;if((n|0)<(s+-1|0)){if((n|0)>30){t=(n|0)/2|0;Bt(e,0,t);n=n-t|0}Bt(e,1,n+1|0);Bt(e,(1<31){Bt(e,0,31);Bt(e,1,t+-31-(f[a>>2]|0)|0)}else Bt(e,1,s);i=f[a>>2]|0;Bt(e,(1<>0]|0;k=b-(a[n>>0]|0)>>31|1;l=re(k,(a[r>>0]|0)-b|0)|0;h=i+144|0;o=f[h>>2]|0;if((l|0)>0)l=(l+o|0)/(o<<1|1|0)|0;else l=(l-o|0)/(o<<1|1|0)|0;y=i+140|0;c=f[y>>2]|0;u=((l|0)<0?c:0)+l|0;c=u-((u|0)<((c+1|0)/2|0|0)?0:c)|0;u=i+4576|0;Kn(i,u,c);v=a[s+1>>0]|0;p=v-(a[n+1>>0]|0)>>31|1;l=re(p,(a[r+1>>0]|0)-v|0)|0;o=f[h>>2]|0;if((l|0)>0)l=(l+o|0)/(o<<1|1|0)|0;else l=(l-o|0)/(o<<1|1|0)|0;w=f[y>>2]|0;g=((l|0)<0?w:0)+l|0;w=g-((g|0)<((w+1|0)/2|0|0)?0:w)|0;Kn(i,u,w);g=a[s+2>>0]|0;m=g-(a[n+2>>0]|0)>>31|1;l=re(m,(a[r+2>>0]|0)-g|0)|0;o=f[h>>2]|0;if((l|0)>0)l=(l+o|0)/(o<<1|1|0)|0;else l=(l-o|0)/(o<<1|1|0)|0;d=f[y>>2]|0;l=((l|0)<0?d:0)+l|0;d=l-((l|0)<((d+1|0)/2|0|0)?0:d)|0;Kn(i,u,d);u=f[h>>2]|0;h=u<<1|1;l=(re(re(h,c)|0,k)|0)+b|0;r=0-u|0;if((l|0)>=(r|0)){o=f[_>>2]|0;if((o+u|0)<(l|0)){l=l-(re(f[y>>2]|0,h)|0)|0;n=o}else n=o}else{l=(re(f[y>>2]|0,h)|0)+l|0;n=f[_>>2]|0}if((l&n|0)!=(l|0))l=n&~(l>>31);s=l&255;l=(re(re(h,w)|0,p)|0)+v|0;if((l|0)>=(r|0)){if((n+u|0)<(l|0))l=l-(re(f[y>>2]|0,h)|0)|0}else l=(re(f[y>>2]|0,h)|0)+l|0;if((l&n|0)!=(l|0))l=n&~(l>>31);o=l&255;l=(re(re(h,d)|0,m)|0)+g|0;if((l|0)>=(r|0)){if((n+u|0)<(l|0))l=l-(re(f[y>>2]|0,h)|0)|0}else l=(re(f[y>>2]|0,h)|0)+l|0;if((l&n|0)==(l|0)){y=l;y=y&255;t[e>>0]=s;g=e+1|0;t[g>>0]=o;e=e+2|0;t[e>>0]=y;return}y=n&~(l>>31);y=y&255;t[e>>0]=s;g=e+1|0;t[g>>0]=o;e=e+2|0;t[e>>0]=y;return}function Kn(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i+9|0;o=a[d>>0]|0;h=i+4|0;c=f[h>>2]|0;s=(re(o>>>1,c)|0)+(f[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0));s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0>>0:0)n=1;else u=5;do{if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}}while(0);n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;Vn(e,s,n,(f[e+156>>2]|0)+-1-(f[36476+(f[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;t[e>>0]=(a[e>>0]|0)+1}n=(n+1-(f[h>>2]|0)>>1)+(f[i>>2]|0)|0;f[i>>2]=n;s=t[d>>0]|0;if(s<<24>>24!=(t[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return}f[i>>2]=n>>1;e=(s&255)>>>1;t[d>>0]=e;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return}function Wn(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0;k=c;c=c+32|0;n=k;b=e+144|0;e:do{if(!(f[b>>2]|0)){r=f[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<>2])+-1|0)?(op(n,r,0),(f[n+4>>2]|0)==(f[e+184>>2]|0)):0)?(f[n+8>>2]|0)==(f[e+188>>2]|0):0)?(f[n+12>>2]|0)==(f[e+192>>2]|0):0)switch(f[i>>2]|0){case 8:{b=f[8900]|0;f[e+4612>>2]=b+(((f[8901]|0)-b|0)>>>1);c=k;return}case 10:{b=f[8903]|0;f[e+4612>>2]=b+(((f[8904]|0)-b|0)>>>1);c=k;return}case 12:{b=f[8906]|0;f[e+4612>>2]=b+(((f[8907]|0)-b|0)>>>1);c=k;return}case 16:{b=f[8909]|0;f[e+4612>>2]=b+(((f[8910]|0)-b|0)>>>1);c=k;return}default:break e}}else i=e+152|0}while(0);d=1<>2];r=e+4616|0;n=d<<1;a=e+4620|0;s=f[a>>2]|0;i=f[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0>>0?(o=i+n|0,(s|0)!=(o|0)):0)f[a>>2]=o}else{zt(r,n-l|0);i=f[r>>2]|0}h=e+4612|0;f[h>>2]=i+d;i=0-d|0;if((d|0)<=(i|0)){c=k;return}o=e+192|0;u=e+188|0;l=e+184|0;s=i;do{i=f[o>>2]|0;if((s|0)>(0-i|0)){r=f[u>>2]|0;if((s|0)>(0-r|0)){n=f[l>>2]|0;if((s|0)>(0-n|0)){a=f[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;t[(f[h>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(d|0));c=k;return}function Zn(e){e=e|0;var i=0,r=0;f[e>>2]=35996;i=f[e+4592>>2]|0;if(i){r=e+4596|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fM[f[(f[i>>2]|0)+4>>2]&255](i);return}function Jn(e){e=e|0;var i=0,r=0;f[e>>2]=35996;i=f[e+4592>>2]|0;if(i){r=e+4596|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Ip(e);return}fM[f[(f[i>>2]|0)+4>>2]&255](i);Ip(e);return}function Qn(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;op(u,65535,0);o=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[u+8>>2]|0:l;a=f[i+12>>2]|0;a=(a|0)==0?f[u+12>>2]|0:a;i=f[i+16>>2]|0;r=f[u+16>>2]|0;f[e+160>>2]=(o|0)==0?f[u+4>>2]|0:o;f[e+164>>2]=l;f[e+168>>2]=a;lf(e);a=0;do{f[e+172+(a*12|0)>>2]=1024;f[e+172+(a*12|0)+4>>2]=0;n[e+172+(a*12|0)+8>>1]=0;n[e+172+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365);u=((i|0)==0?r:i)&255;f[e+4552>>2]=1024;f[e+4556>>2]=0;t[e+4560>>0]=u;t[e+4561>>0]=1;t[e+4562>>0]=0;f[e+4564>>2]=1024;f[e+4568>>2]=1;t[e+4572>>0]=u;t[e+4573>>0]=1;t[e+4574>>0]=0;f[e+4576>>2]=0;c=s;return}function $n(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+16|0;h=b;u=e+92|0;o=f[i>>2]|0;f[i>>2]=0;i=f[u>>2]|0;f[u>>2]=o;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);f[h>>2]=0;f[h+4>>2]=a;u=r+8|0;f[h+8>>2]=f[u>>2];if(a){i=Bp(4600)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));s=i+88|0;o=s+40|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(o|0));f[i>>2]=35772;s=i+132|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[i+148>>2]=f[a>>2];f[i+152>>2]=0;f[i+156>>2]=0;f[i+160>>2]=0;s=i+4544|0;a=i+164|0;do{f[a>>2]=0;f[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0));l=e+4|0;f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;t[s+10>>0]=0;o=i+4556|0;f[o>>2]=0;f[o+4>>2]=0;n[o+8>>1]=0;t[o+10>>0]=0;o=i+4568|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;t[o+28>>0]=0;if(!(f[i+28>>2]|0))f[i+20>>2]=1;a=f[l>>2]|0;f[l>>2]=i;if(a){fM[f[(f[a>>2]|0)+4>>2]&255](a);i=f[l>>2]|0}Ct(i,h)}h=e+100|0;f[h>>2]=32;f[e+96>>2]=0;i=f[r>>2]|0;if(!i){f[e+108>>2]=f[r+4>>2];f[e+104>>2]=f[u>>2];rf(e);d=e+116|0;d=f[d>>2]|0;e=f[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}f[e+132>>2]=i;s=e+120|0;u=e+124|0;a=f[u>>2]|0;i=f[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(d=i+4e3|0,(a|0)!=(d|0)):0){f[u>>2]=d;a=d}}else{Rt(s,4e3-o|0);i=f[s>>2]|0;l=i;a=f[u>>2]|0}f[e+108>>2]=l;f[e+104>>2]=a-i;rf(e);d=e+116|0;d=f[d>>2]|0;e=f[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}function ef(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;y=c;c=c+352|0;M=y+328|0;E=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((f[e+32>>2]|0)!=0?(f[e+24>>2]|0)!=1:0){m=e+8|0;p=e+36|0;l=f[p>>2]|0;if(!l){e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[r>>0]|0;Re(37,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}e=f[e+16>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[n>>0]|0;Re(38,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[a>>0]|0;Re(39,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[s>>0]|0;Re(40,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=E+56|0;a=E+4|0;f[E>>2]=36160;f[l>>2]=36180;_=0;ce(62,E+56|0,a|0);y=_;_=0;if(y&1){A=ze()|0;nd(l);$e(A|0)}f[E+128>>2]=0;f[E+132>>2]=-1;f[E>>2]=36200;f[E+56>>2]=36220;_=0;ue(180,a|0);y=_;_=0;do{if(y&1)e=ze()|0;else{f[a>>2]=36236;s=E+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[E+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);y=_;_=0;if(y&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,E|0,49007,21)|0;M=_;_=0;do{if((!(M&1)?(_=0,d=pe(36,e|0,f[p>>2]|0)|0,M=_,_=0,!(M&1)):0)?(_=0,ke(28,d|0,50997,18)|0,M=_,_=0,!(M&1)):0){n=He(16)|0;_=0;ce(64,k|0,a|0);M=_;_=0;if(!(M&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,k|0);M=_;_=0;if(M&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(k);if(!r)break}else e=ze()|0;je(n|0)}else A=34}while(0);if((A|0)==34)e=ze()|0;f[E>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,e|0,8,35648);A=_;_=0;if(!(A&1))bi(e|0,824,96);A=ze()|0;je(e|0);$e(A|0)}r=16-e|0;switch(l|0){case 1:{e=Bp(60)|0;f[o>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[o>>2];f[M+4>>2]=f[o+4>>2];Re(41,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(60)|0;f[u>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[u>>2];f[M+4>>2]=f[u+4>>2];Re(42,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(60)|0;f[h>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[h>>2];f[M+4>>2]=f[h+4>>2];Re(43,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;_=0;ce(62,g+56|0,a|0);E=_;_=0;if(E&1){A=ze()|0;nd(l);$e(A|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;_=0;ue(180,a|0);E=_;_=0;do{if(E&1)e=ze()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);E=_;_=0;if(E&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,g|0,49007,21)|0;E=_;_=0;do{if((!(E&1)?(_=0,b=pe(36,e|0,f[p>>2]|0)|0,E=_,_=0,!(E&1)):0)?(_=0,ke(28,b|0,50997,18)|0,E=_,_=0,!(E&1)):0){n=He(16)|0;_=0;ce(64,v|0,a|0);E=_;_=0;if(!(E&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,v|0);E=_;_=0;if(E&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(v);if(!r)break}else e=ze()|0;je(n|0)}else A=64}while(0);if((A|0)==64)e=ze()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}}r=f[i+4>>2]|0;n=Bp(16)|0;e=f[e+20>>2]|0;if(!r){A=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=A;f[n+8>>2]=2;f[n+12>>2]=e;A=n;c=y;return A|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=2;f[n+12>>2]=e;A=n;c=y;return A|0}return 0}function rf(e){e=e|0;var i=0,r=0,t=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0;g=c;c=c+32|0;M=g+12|0;p=g;w=e+156|0;m=(f[w>>2]|0)+4|0;if((f[e+32>>2]|0)==1)v=f[e+24>>2]|0;else v=1;i=re(v<<1,m)|0;f[M>>2]=0;E=M+4|0;f[E>>2]=0;f[M+8>>2]=0;do{if(i){if(!((i|0)<0?(_=0,ue(178,M|0),y=_,_=0,y&1):0))l=6;if((l|0)==6?(r=i<<1,_=0,t=de(67,r|0)|0,y=_,_=0,!(y&1)):0){f[M>>2]=t;y=t+(i<<1)|0;f[M+8>>2]=y;ym(t|0,0,r|0)|0;f[E>>2]=y;break}t=ze()|0;i=f[M>>2]|0;if(!i)$e(t|0);r=f[E>>2]|0;if((r|0)!=(i|0))f[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);Ip(i);$e(t|0)}}while(0);f[p>>2]=0;y=p+4|0;f[y>>2]=0;f[p+8>>2]=0;do{if(!v)l=18;else{if(!(v>>>0>1073741823?(_=0,ue(178,p|0),k=_,_=0,k&1):0))l=16;if((l|0)==16?(a=v<<2,_=0,s=de(67,a|0)|0,k=_,_=0,!(k&1)):0){f[p>>2]=s;l=s+(v<<2)|0;f[p+8>>2]=l;ym(s|0,0,a|0)|0;f[y>>2]=l;l=18;break}t=ze()|0;i=f[p>>2]|0;r=i;if(i){a=f[y>>2]|0;if((a|0)!=(i|0))f[y>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}}while(0);if((l|0)==18){s=e+12|0;e:do{if((f[s>>2]|0)>0){l=e+4580|0;o=(re(v,m)|0)+1|0;u=e+4584|0;h=e+92|0;d=(v|0)>0;b=e+4576|0;k=0;i:while(1){r=f[M>>2]|0;i=r+2|0;f[l>>2]=i;r=r+(o<<1)|0;f[u>>2]=r;if(!(k&1))i=r;else{f[l>>2]=r;f[u>>2]=i}a=f[h>>2]|0;_=0;Re(f[(f[a>>2]|0)+12>>2]|0,a|0,i|0,f[w>>2]|0,m|0);a=_;_=0;if(a&1){l=28;break}if(d){i=f[l>>2]|0;r=f[u>>2]|0;t=f[p>>2]|0;a=0;do{f[b>>2]=f[t+(a<<2)>>2];t=f[w>>2]|0;n[i+(t<<1)>>1]=n[i+(t+-1<<1)>>1]|0;n[r+-2>>1]=n[i>>1]|0;_=0;ce(71,e|0,0);t=_;_=0;if(t&1){l=27;break i}t=f[p>>2]|0;f[t+(a<<2)>>2]=f[b>>2];i=(f[l>>2]|0)+(m<<1)|0;f[l>>2]=i;r=(f[u>>2]|0)+(m<<1)|0;f[u>>2]=r;a=a+1|0}while((a|0)<(v|0))}k=k+1|0;if((k|0)>=(f[s>>2]|0)){l=40;break e}}if((l|0)==27){t=ze()|0;break}else if((l|0)==28){t=ze()|0;break}}else l=40}while(0);do{if((l|0)==40){_=0;ue(182,e|0);e=_;_=0;if(e&1){t=ze()|0;break}i=f[p>>2]|0;r=i;if(i){t=f[y>>2]|0;if((t|0)!=(i|0))f[y>>2]=t+(~((t+-4-r|0)>>>2)<<2);Ip(i)}i=f[M>>2]|0;if(!i){c=g;return}r=f[E>>2]|0;if((r|0)!=(i|0))f[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);Ip(i);c=g;return}}while(0);i=f[p>>2]|0;r=i;if(i){a=f[y>>2]|0;if((a|0)!=(i|0))f[y>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}i=f[M>>2]|0;if(!i)$e(t|0);r=f[E>>2]|0;if((r|0)!=(i|0))f[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);Ip(i);$e(t|0)}function tf(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0;k=e+4580|0;i=f[k>>2]|0;m=e+156|0;if((f[m>>2]|0)<=0)return;w=e+4584|0;_=e+4588|0;l=i;o=s[i+-2>>1]|0;i=s[i>>1]|0;b=0;while(1){d=f[w>>2]|0;h=s[d+(b+-1<<1)>>1]|0;a=b+1|0;r=s[l+(a<<1)>>1]|0;c=f[_>>2]|0;u=i-o|0;l=o-h|0;c=((((t[c+(r-i)>>0]|0)*9|0)+(t[c+u>>0]|0)|0)*9|0)+(t[c+l>>0]|0)|0;if(!c){a=(ff(e,b,0)|0)+b|0;r=f[k>>2]|0;i=s[r+(a+-1<<1)>>1]|0;r=s[r+(a<<1)>>1]|0}else{o=i-h>>31;if((o^l|0)<0)l=i;else l=h+((o^u|0)<0?0:u)|0;d=nf(e,c,s[d+(b<<1)>>1]|0,l,0)|0;n[(f[w>>2]|0)+(b<<1)>>1]=d}if((a|0)>=(f[m>>2]|0))break;l=f[k>>2]|0;o=i;i=r;b=a}return}function nf(e,i,r,t,a){e=e|0;i=i|0;r=r|0;t=t|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0;w=i>>31;u=(w^i)-w|0;k=e+172+(u*12|0)+10|0;l=n[k>>1]|0;b=e+172+(u*12|0)|0;a=f[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){s=5;while(1)if((l<>1]^w)-w+t|0;if((a&65535|0)==(a|0))h=a;else h=a>>31&65535^65535;o=(r-h^w)-w<<16;c=o>>16;if(!s)a=(f[e+172+(u*12|0)+4>>2]<<1)+-1+l>>31;else a=0;t=a^c;t=t>>30^t<<1;a=t>>s;if((a|0)<47){if((a|0)>30){l=(a|0)/2|0;Bt(e,0,l);a=a-l|0}Bt(e,1,a+1|0);Bt(e,t&(1<>1]|0;a=l<<16>>16==64;s=a&1;r=(f[t>>2]|0)+c>>s;l=a?32:l<<16>>16;f[b>>2]=(f[b>>2]|0)+((o|0)>-65536?c:0-c|0)>>s;s=l+1|0;n[k>>1]=s;a=s+r|0;if((a|0)<1){k=n[d>>1]|0;n[d>>1]=(k&65535)-(k<<16>>16>-128&1);k=(a|0)>(~l|0)?a:0-l|0;f[t>>2]=k;w=c^w;i=i>>>31;i=h+i|0;i=i+w|0;i=i&65535;return i|0}if((r|0)<=0){k=r;f[t>>2]=k;w=c^w;i=i>>>31;i=h+i|0;i=i+w|0;i=i&65535;return i|0}k=r-s|0;b=n[d>>1]|0;n[d>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;f[t>>2]=k;w=c^w;i=i>>>31;i=h+i|0;i=i+w|0;i=i&65535;return i|0}function ff(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0;o=(f[e+156>>2]|0)-i|0;u=f[e+4584>>2]|0;h=f[e+4580>>2]|0;a=n[u+(i+-1<<1)>>1]|0;t=0;while(1){r=u+(t+i<<1)|0;if((n[r>>1]|0)!=a<<16>>16){d=t;break}n[r>>1]=a;t=t+1|0;if((t|0)==(o|0)){d=o;break}}l=a&65535;a=(d|0)==(o|0);c=e+4576|0;t=f[36476+(f[c>>2]<<2)>>2]|0;if((1<(d|0))r=d;else{r=d;do{Bt(e,1,1);t=f[c>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;f[c>>2]=t;t=f[36476+(t<<2)>>2]|0}while((r|0)>=(1<>1]|0;r=s[h+(r<<1)>>1]|0;h=l-r|0;if((((h|0)>-1?h:0-h|0)|0)<1){r=t-l<<16>>16;af(e,e+4564|0,r);r=r+l|0}else{h=r-l>>31|1;i=(re(t-r<<16,h)|0)>>16;af(e,e+4552|0,i);r=(re(i,h)|0)+r|0}n[a>>1]=r;e=f[c>>2]|0;f[c>>2]=(e|0)<1?0:e+-1|0;e=d+1|0;return e|0}function af(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i+9|0;o=a[d>>0]|0;h=i+4|0;c=f[h>>2]|0;s=(re(o>>>1,c)|0)+(f[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0));s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0>>0:0)n=1;else u=5;do{if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}}while(0);n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;sf(e,s,n,63-(f[36476+(f[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;t[e>>0]=(a[e>>0]|0)+1}n=(n+1-(f[h>>2]|0)>>1)+(f[i>>2]|0)|0;f[i>>2]=n;s=t[d>>0]|0;if(s<<24>>24!=(t[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return}f[i>>2]=n>>1;e=(s&255)>>>1;t[d>>0]=e;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return}function sf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-16|0;if((n|0)<(t+-17|0)){if((n|0)>30){t=(n|0)/2|0;Bt(e,0,t);n=n-t|0}Bt(e,1,n+1|0);Bt(e,(1<31){Bt(e,0,31);Bt(e,1,t+-47|0)}else Bt(e,1,f);Bt(e,r+65535&65535,16);return}function lf(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;o=h;op(o,65535,0);u=e+160|0;if(((f[o+4>>2]|0)==(f[u>>2]|0)?(f[o+8>>2]|0)==(f[e+164>>2]|0):0)?(f[o+12>>2]|0)==(f[e+168>>2]|0):0){u=f[8909]|0;f[e+4588>>2]=u+(((f[8910]|0)-u|0)>>>1);c=h;return}r=e+4592|0;n=e+4596|0;a=f[n>>2]|0;i=f[r>>2]|0;s=a-i|0;if(s>>>0>=131072){if(s>>>0>131072?(l=i+131072|0,(a|0)!=(l|0)):0)f[n>>2]=l}else{zt(r,131072-s|0);i=f[r>>2]|0}o=e+4588|0;f[o>>2]=i+65536;l=e+168|0;a=e+164|0;s=-65536;while(1){i=f[l>>2]|0;if((s|0)>(0-i|0)){r=f[a>>2]|0;if((s|0)>(0-r|0)){n=f[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){t[(f[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;t[(f[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==65536)break}c=h;return}function of(e){e=e|0;var i=0,r=0;f[e>>2]=35968;i=f[e+4592>>2]|0;if(i){r=e+4596|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fM[f[(f[i>>2]|0)+4>>2]&255](i);return}function uf(e){e=e|0;var i=0,r=0;f[e>>2]=35968;i=f[e+4592>>2]|0;if(i){r=e+4596|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Ip(e);return}fM[f[(f[i>>2]|0)+4>>2]&255](i);Ip(e);return}function cf(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;op(u,4095,0);o=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[u+8>>2]|0:l;a=f[i+12>>2]|0;a=(a|0)==0?f[u+12>>2]|0:a;i=f[i+16>>2]|0;r=f[u+16>>2]|0;f[e+160>>2]=(o|0)==0?f[u+4>>2]|0:o;f[e+164>>2]=l;f[e+168>>2]=a;pf(e);a=0;do{f[e+172+(a*12|0)>>2]=64;f[e+172+(a*12|0)+4>>2]=0;n[e+172+(a*12|0)+8>>1]=0;n[e+172+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365);u=((i|0)==0?r:i)&255;f[e+4552>>2]=64;f[e+4556>>2]=0;t[e+4560>>0]=u;t[e+4561>>0]=1;t[e+4562>>0]=0;f[e+4564>>2]=64;f[e+4568>>2]=1;t[e+4572>>0]=u;t[e+4573>>0]=1;t[e+4574>>0]=0;f[e+4576>>2]=0;c=s;return}function hf(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+16|0;h=b;u=e+92|0;o=f[i>>2]|0;f[i>>2]=0;i=f[u>>2]|0;f[u>>2]=o;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);f[h>>2]=0;f[h+4>>2]=a;u=r+8|0;f[h+8>>2]=f[u>>2];if(a){i=Bp(4600)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));s=i+88|0;o=s+40|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(o|0));f[i>>2]=35744;s=i+132|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[i+148>>2]=f[a>>2];f[i+152>>2]=0;f[i+156>>2]=0;f[i+160>>2]=0;s=i+4544|0;a=i+164|0;do{f[a>>2]=0;f[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0));l=e+4|0;f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;t[s+10>>0]=0;o=i+4556|0;f[o>>2]=0;f[o+4>>2]=0;n[o+8>>1]=0;t[o+10>>0]=0;o=i+4568|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;t[o+28>>0]=0;if(!(f[i+28>>2]|0))f[i+20>>2]=1;a=f[l>>2]|0;f[l>>2]=i;if(a){fM[f[(f[a>>2]|0)+4>>2]&255](a);i=f[l>>2]|0}Ct(i,h)}h=e+100|0;f[h>>2]=32;f[e+96>>2]=0;i=f[r>>2]|0;if(!i){f[e+108>>2]=f[r+4>>2];f[e+104>>2]=f[u>>2];bf(e);d=e+116|0;d=f[d>>2]|0;e=f[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}f[e+132>>2]=i;s=e+120|0;u=e+124|0;a=f[u>>2]|0;i=f[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(d=i+4e3|0,(a|0)!=(d|0)):0){f[u>>2]=d;a=d}}else{Rt(s,4e3-o|0);i=f[s>>2]|0;l=i;a=f[u>>2]|0}f[e+108>>2]=l;f[e+104>>2]=a-i;bf(e);d=e+116|0;d=f[d>>2]|0;e=f[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}function df(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;y=c;c=c+352|0;M=y+328|0;E=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((f[e+32>>2]|0)!=0?(f[e+24>>2]|0)!=1:0){m=e+8|0;p=e+36|0;l=f[p>>2]|0;if(!l){e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[r>>0]|0;Re(37,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}e=f[e+16>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[n>>0]|0;Re(38,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[a>>0]|0;Re(39,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[s>>0]|0;Re(40,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=E+56|0;a=E+4|0;f[E>>2]=36160;f[l>>2]=36180;_=0;ce(62,E+56|0,a|0);y=_;_=0;if(y&1){A=ze()|0;nd(l);$e(A|0)}f[E+128>>2]=0;f[E+132>>2]=-1;f[E>>2]=36200;f[E+56>>2]=36220;_=0;ue(180,a|0);y=_;_=0;do{if(y&1)e=ze()|0;else{f[a>>2]=36236;s=E+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[E+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);y=_;_=0;if(y&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,E|0,49007,21)|0;M=_;_=0;do{if((!(M&1)?(_=0,d=pe(36,e|0,f[p>>2]|0)|0,M=_,_=0,!(M&1)):0)?(_=0,ke(28,d|0,50997,18)|0,M=_,_=0,!(M&1)):0){n=He(16)|0;_=0;ce(64,k|0,a|0);M=_;_=0;if(!(M&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,k|0);M=_;_=0;if(M&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(k);if(!r)break}else e=ze()|0;je(n|0)}else A=34}while(0);if((A|0)==34)e=ze()|0;f[E>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,e|0,8,35648);A=_;_=0;if(!(A&1))bi(e|0,824,96);A=ze()|0;je(e|0);$e(A|0)}r=16-e|0;switch(l|0){case 1:{e=Bp(60)|0;f[o>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[o>>2];f[M+4>>2]=f[o+4>>2];Re(41,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(60)|0;f[u>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[u>>2];f[M+4>>2]=f[u+4>>2];Re(42,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(60)|0;f[h>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[h>>2];f[M+4>>2]=f[h+4>>2];Re(43,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;_=0;ce(62,g+56|0,a|0);E=_;_=0;if(E&1){A=ze()|0;nd(l);$e(A|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;_=0;ue(180,a|0);E=_;_=0;do{if(E&1)e=ze()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);E=_;_=0;if(E&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,g|0,49007,21)|0;E=_;_=0;do{if((!(E&1)?(_=0,b=pe(36,e|0,f[p>>2]|0)|0,E=_,_=0,!(E&1)):0)?(_=0,ke(28,b|0,50997,18)|0,E=_,_=0,!(E&1)):0){n=He(16)|0;_=0;ce(64,v|0,a|0);E=_;_=0;if(!(E&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,v|0);E=_;_=0;if(E&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(v);if(!r)break}else e=ze()|0;je(n|0)}else A=64}while(0);if((A|0)==64)e=ze()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}}r=f[i+4>>2]|0;n=Bp(16)|0;e=f[e+20>>2]|0;if(!r){A=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=A;f[n+8>>2]=2;f[n+12>>2]=e;A=n;c=y;return A|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=2;f[n+12>>2]=e;A=n;c=y;return A|0}return 0}function bf(e){e=e|0;var i=0,r=0,t=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0;g=c;c=c+32|0;M=g+12|0;p=g;w=e+156|0;m=(f[w>>2]|0)+4|0;if((f[e+32>>2]|0)==1)v=f[e+24>>2]|0;else v=1;i=re(v<<1,m)|0;f[M>>2]=0;E=M+4|0;f[E>>2]=0;f[M+8>>2]=0;do{if(i){if(!((i|0)<0?(_=0,ue(178,M|0),y=_,_=0,y&1):0))l=6;if((l|0)==6?(r=i<<1,_=0,t=de(67,r|0)|0,y=_,_=0,!(y&1)):0){f[M>>2]=t;y=t+(i<<1)|0;f[M+8>>2]=y;ym(t|0,0,r|0)|0;f[E>>2]=y;break}t=ze()|0;i=f[M>>2]|0;if(!i)$e(t|0);r=f[E>>2]|0;if((r|0)!=(i|0))f[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);Ip(i);$e(t|0)}}while(0);f[p>>2]=0;y=p+4|0;f[y>>2]=0;f[p+8>>2]=0;do{if(!v)l=18;else{if(!(v>>>0>1073741823?(_=0,ue(178,p|0),k=_,_=0,k&1):0))l=16;if((l|0)==16?(a=v<<2,_=0,s=de(67,a|0)|0,k=_,_=0,!(k&1)):0){f[p>>2]=s;l=s+(v<<2)|0;f[p+8>>2]=l;ym(s|0,0,a|0)|0;f[y>>2]=l;l=18;break}t=ze()|0;i=f[p>>2]|0;r=i;if(i){a=f[y>>2]|0;if((a|0)!=(i|0))f[y>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}}while(0);if((l|0)==18){s=e+12|0;e:do{if((f[s>>2]|0)>0){l=e+4580|0;o=(re(v,m)|0)+1|0;u=e+4584|0;h=e+92|0;d=(v|0)>0;b=e+4576|0;k=0;i:while(1){r=f[M>>2]|0;i=r+2|0;f[l>>2]=i;r=r+(o<<1)|0;f[u>>2]=r;if(!(k&1))i=r;else{f[l>>2]=r;f[u>>2]=i}a=f[h>>2]|0;_=0;Re(f[(f[a>>2]|0)+12>>2]|0,a|0,i|0,f[w>>2]|0,m|0);a=_;_=0;if(a&1){l=28;break}if(d){i=f[l>>2]|0;r=f[u>>2]|0;t=f[p>>2]|0;a=0;do{f[b>>2]=f[t+(a<<2)>>2];t=f[w>>2]|0;n[i+(t<<1)>>1]=n[i+(t+-1<<1)>>1]|0;n[r+-2>>1]=n[i>>1]|0;_=0;ce(72,e|0,0);t=_;_=0;if(t&1){l=27;break i}t=f[p>>2]|0;f[t+(a<<2)>>2]=f[b>>2];i=(f[l>>2]|0)+(m<<1)|0;f[l>>2]=i;r=(f[u>>2]|0)+(m<<1)|0;f[u>>2]=r;a=a+1|0}while((a|0)<(v|0))}k=k+1|0;if((k|0)>=(f[s>>2]|0)){l=40;break e}}if((l|0)==27){t=ze()|0;break}else if((l|0)==28){t=ze()|0;break}}else l=40}while(0);do{if((l|0)==40){_=0;ue(182,e|0);e=_;_=0;if(e&1){t=ze()|0;break}i=f[p>>2]|0;r=i;if(i){t=f[y>>2]|0;if((t|0)!=(i|0))f[y>>2]=t+(~((t+-4-r|0)>>>2)<<2);Ip(i)}i=f[M>>2]|0;if(!i){c=g;return}r=f[E>>2]|0;if((r|0)!=(i|0))f[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);Ip(i);c=g;return}}while(0);i=f[p>>2]|0;r=i;if(i){a=f[y>>2]|0;if((a|0)!=(i|0))f[y>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}i=f[M>>2]|0;if(!i)$e(t|0);r=f[E>>2]|0;if((r|0)!=(i|0))f[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);Ip(i);$e(t|0)}function kf(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0;k=e+4580|0;i=f[k>>2]|0;m=e+156|0;if((f[m>>2]|0)<=0)return;w=e+4584|0;_=e+4588|0;l=i;o=s[i+-2>>1]|0;i=s[i>>1]|0;b=0;while(1){d=f[w>>2]|0;h=s[d+(b+-1<<1)>>1]|0;a=b+1|0;r=s[l+(a<<1)>>1]|0;c=f[_>>2]|0;u=i-o|0;l=o-h|0;c=((((t[c+(r-i)>>0]|0)*9|0)+(t[c+u>>0]|0)|0)*9|0)+(t[c+l>>0]|0)|0;if(!c){a=(_f(e,b,0)|0)+b|0;r=f[k>>2]|0;i=s[r+(a+-1<<1)>>1]|0;r=s[r+(a<<1)>>1]|0}else{o=i-h>>31;if((o^l|0)<0)l=i;else l=h+((o^u|0)<0?0:u)|0;d=wf(e,c,s[d+(b<<1)>>1]|0,l,0)|0;n[(f[w>>2]|0)+(b<<1)>>1]=d}if((a|0)>=(f[m>>2]|0))break;l=f[k>>2]|0;o=i;i=r;b=a}return}function wf(e,i,r,t,a){e=e|0;i=i|0;r=r|0;t=t|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0;w=i>>31;u=(w^i)-w|0;k=e+172+(u*12|0)+10|0;l=n[k>>1]|0;b=e+172+(u*12|0)|0;a=f[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){s=5;while(1)if((l<>1]^w)-w+t|0;if((a&4095|0)==(a|0))h=a;else h=a>>31&4095^4095;o=(r-h^w)-w<<20;c=o>>20;if(!s)a=(f[e+172+(u*12|0)+4>>2]<<1)+-1+l>>31;else a=0;t=a^c;t=t>>30^t<<1;a=t>>s;if((a|0)<35){if((a|0)>30){l=(a|0)/2|0;Bt(e,0,l);a=a-l|0}Bt(e,1,a+1|0);Bt(e,t&(1<>1]|0;a=l<<16>>16==64;s=a&1;r=(f[t>>2]|0)+c>>s;l=a?32:l<<16>>16;f[b>>2]=(f[b>>2]|0)+((o|0)>-1048576?c:0-c|0)>>s;s=l+1|0;n[k>>1]=s;a=s+r|0;if((a|0)<1){k=n[d>>1]|0;n[d>>1]=(k&65535)-(k<<16>>16>-128&1);k=(a|0)>(~l|0)?a:0-l|0;f[t>>2]=k;w=c^w;i=i>>>31;i=h+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}if((r|0)<=0){k=r;f[t>>2]=k;w=c^w;i=i>>>31;i=h+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}k=r-s|0;b=n[d>>1]|0;n[d>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;f[t>>2]=k;w=c^w;i=i>>>31;i=h+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}function _f(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0;o=(f[e+156>>2]|0)-i|0;u=f[e+4584>>2]|0;h=f[e+4580>>2]|0;a=n[u+(i+-1<<1)>>1]|0;t=0;while(1){r=u+(t+i<<1)|0;if((n[r>>1]|0)!=a<<16>>16){d=t;break}n[r>>1]=a;t=t+1|0;if((t|0)==(o|0)){d=o;break}}l=a&65535;a=(d|0)==(o|0);c=e+4576|0;t=f[36476+(f[c>>2]<<2)>>2]|0;if((1<(d|0))r=d;else{r=d;do{Bt(e,1,1);t=f[c>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;f[c>>2]=t;t=f[36476+(t<<2)>>2]|0}while((r|0)>=(1<>1]|0;r=s[h+(r<<1)>>1]|0;h=l-r|0;if((((h|0)>-1?h:0-h|0)|0)<1){r=t-l<<20>>20;mf(e,e+4564|0,r);r=r+l|0}else{h=r-l>>31|1;i=(re(t-r<<20,h)|0)>>20;mf(e,e+4552|0,i);r=(re(i,h)|0)+r|0}n[a>>1]=r&4095;e=f[c>>2]|0;f[c>>2]=(e|0)<1?0:e+-1|0;e=d+1|0;return e|0}function mf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i+9|0;o=a[d>>0]|0;h=i+4|0;c=f[h>>2]|0;s=(re(o>>>1,c)|0)+(f[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0));s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0>>0:0)n=1;else u=5;do{if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}}while(0);n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;vf(e,s,n,47-(f[36476+(f[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;t[e>>0]=(a[e>>0]|0)+1}n=(n+1-(f[h>>2]|0)>>1)+(f[i>>2]|0)|0;f[i>>2]=n;s=t[d>>0]|0;if(s<<24>>24!=(t[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return}f[i>>2]=n>>1;e=(s&255)>>>1;t[d>>0]=e;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return}function vf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-12|0;if((n|0)<(t+-13|0)){if((n|0)>30){t=(n|0)/2|0;Bt(e,0,t);n=n-t|0}Bt(e,1,n+1|0);Bt(e,(1<31){Bt(e,0,31);Bt(e,1,t+-43|0)}else Bt(e,1,f);Bt(e,r+4095&4095,12);return}function pf(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;o=h;op(o,4095,0);u=e+160|0;if(((f[o+4>>2]|0)==(f[u>>2]|0)?(f[o+8>>2]|0)==(f[e+164>>2]|0):0)?(f[o+12>>2]|0)==(f[e+168>>2]|0):0){u=f[8906]|0;f[e+4588>>2]=u+(((f[8907]|0)-u|0)>>>1);c=h;return}r=e+4592|0;n=e+4596|0;a=f[n>>2]|0;i=f[r>>2]|0;s=a-i|0;if(s>>>0>=8192){if(s>>>0>8192?(l=i+8192|0,(a|0)!=(l|0)):0)f[n>>2]=l}else{zt(r,8192-s|0);i=f[r>>2]|0}o=e+4588|0;f[o>>2]=i+4096;l=e+168|0;a=e+164|0;s=-4096;while(1){i=f[l>>2]|0;if((s|0)>(0-i|0)){r=f[a>>2]|0;if((s|0)>(0-r|0)){n=f[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){t[(f[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;t[(f[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==4096)break}c=h;return}function gf(e){e=e|0;var i=0,r=0;f[e>>2]=35940;i=f[e+4592>>2]|0;if(i){r=e+4596|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fM[f[(f[i>>2]|0)+4>>2]&255](i);return}function yf(e){e=e|0;var i=0,r=0;f[e>>2]=35940;i=f[e+4592>>2]|0;if(i){r=e+4596|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Ip(e);return}fM[f[(f[i>>2]|0)+4>>2]&255](i);Ip(e);return}function Mf(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;op(u,255,0);o=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[u+8>>2]|0:l;a=f[i+12>>2]|0;a=(a|0)==0?f[u+12>>2]|0:a;i=f[i+16>>2]|0;r=f[u+16>>2]|0;f[e+160>>2]=(o|0)==0?f[u+4>>2]|0:o;f[e+164>>2]=l;f[e+168>>2]=a;xf(e);a=0;do{f[e+172+(a*12|0)>>2]=4;f[e+172+(a*12|0)+4>>2]=0;n[e+172+(a*12|0)+8>>1]=0;n[e+172+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365);u=((i|0)==0?r:i)&255;f[e+4552>>2]=4;f[e+4556>>2]=0;t[e+4560>>0]=u;t[e+4561>>0]=1;t[e+4562>>0]=0;f[e+4564>>2]=4;f[e+4568>>2]=1;t[e+4572>>0]=u;t[e+4573>>0]=1;t[e+4574>>0]=0;f[e+4576>>2]=0;c=s;return}function Ef(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+16|0;h=b;u=e+92|0;o=f[i>>2]|0;f[i>>2]=0;i=f[u>>2]|0;f[u>>2]=o;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);f[h>>2]=0;f[h+4>>2]=a;u=r+8|0;f[h+8>>2]=f[u>>2];if(a){i=Bp(4600)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));s=i+88|0;o=s+40|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(o|0));f[i>>2]=35716;s=i+132|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[i+148>>2]=f[a>>2];f[i+152>>2]=0;f[i+156>>2]=0;f[i+160>>2]=0;s=i+4544|0;a=i+164|0;do{f[a>>2]=0;f[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0));l=e+4|0;f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;t[s+10>>0]=0;o=i+4556|0;f[o>>2]=0;f[o+4>>2]=0;n[o+8>>1]=0;t[o+10>>0]=0;o=i+4568|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;t[o+28>>0]=0;if(!(f[i+28>>2]|0))f[i+20>>2]=1;a=f[l>>2]|0;f[l>>2]=i;if(a){fM[f[(f[a>>2]|0)+4>>2]&255](a);i=f[l>>2]|0}Ct(i,h)}h=e+100|0;f[h>>2]=32;f[e+96>>2]=0;i=f[r>>2]|0;if(!i){f[e+108>>2]=f[r+4>>2];f[e+104>>2]=f[u>>2];Sf(e);d=e+116|0;d=f[d>>2]|0;e=f[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}f[e+132>>2]=i;s=e+120|0;u=e+124|0;a=f[u>>2]|0;i=f[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(d=i+4e3|0,(a|0)!=(d|0)):0){f[u>>2]=d;a=d}}else{Rt(s,4e3-o|0);i=f[s>>2]|0;l=i;a=f[u>>2]|0}f[e+108>>2]=l;f[e+104>>2]=a-i;Sf(e);d=e+116|0;d=f[d>>2]|0;e=f[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}function Af(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;y=c;c=c+352|0;M=y+328|0;E=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((f[e+32>>2]|0)!=0?(f[e+24>>2]|0)!=1:0){m=e+8|0;p=e+36|0;l=f[p>>2]|0;if(!l){e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[r>>0]|0;Re(44,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}e=f[e+16>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[n>>0]|0;Re(45,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[a>>0]|0;Re(46,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[s>>0]|0;Re(47,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=E+56|0;a=E+4|0;f[E>>2]=36160;f[l>>2]=36180;_=0;ce(62,E+56|0,a|0);y=_;_=0;if(y&1){A=ze()|0;nd(l);$e(A|0)}f[E+128>>2]=0;f[E+132>>2]=-1;f[E>>2]=36200;f[E+56>>2]=36220;_=0;ue(180,a|0);y=_;_=0;do{if(y&1)e=ze()|0;else{f[a>>2]=36236;s=E+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[E+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);y=_;_=0;if(y&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,E|0,49007,21)|0;M=_;_=0;do{if((!(M&1)?(_=0,d=pe(36,e|0,f[p>>2]|0)|0,M=_,_=0,!(M&1)):0)?(_=0,ke(28,d|0,50997,18)|0,M=_,_=0,!(M&1)):0){n=He(16)|0;_=0;ce(64,k|0,a|0);M=_;_=0;if(!(M&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,k|0);M=_;_=0;if(M&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(k);if(!r)break}else e=ze()|0;je(n|0)}else A=34}while(0);if((A|0)==34)e=ze()|0;f[E>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,e|0,8,35648);A=_;_=0;if(!(A&1))bi(e|0,824,96);A=ze()|0;je(e|0);$e(A|0)}r=16-e|0;switch(l|0){case 1:{e=Bp(60)|0;f[o>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[o>>2];f[M+4>>2]=f[o+4>>2];Re(41,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(60)|0;f[u>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[u>>2];f[M+4>>2]=f[u+4>>2];Re(42,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(60)|0;f[h>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[h>>2];f[M+4>>2]=f[h+4>>2];Re(43,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;_=0;ce(62,g+56|0,a|0);E=_;_=0;if(E&1){A=ze()|0;nd(l);$e(A|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;_=0;ue(180,a|0);E=_;_=0;do{if(E&1)e=ze()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);E=_;_=0;if(E&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,g|0,49007,21)|0;E=_;_=0;do{if((!(E&1)?(_=0,b=pe(36,e|0,f[p>>2]|0)|0,E=_,_=0,!(E&1)):0)?(_=0,ke(28,b|0,50997,18)|0,E=_,_=0,!(E&1)):0){n=He(16)|0;_=0;ce(64,v|0,a|0);E=_;_=0;if(!(E&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,v|0);E=_;_=0;if(E&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(v);if(!r)break}else e=ze()|0;je(n|0)}else A=64}while(0);if((A|0)==64)e=ze()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}}r=f[i+4>>2]|0;n=Bp(16)|0;e=f[e+20>>2]|0;if(!r){A=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=A;f[n+8>>2]=1;f[n+12>>2]=e;A=n;c=y;return A|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=1;f[n+12>>2]=e;A=n;c=y;return A|0}return 0}function Sf(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0;p=c;c=c+32|0;y=p+12|0;v=p;k=e+156|0;w=(f[k>>2]|0)+4|0;if((f[e+32>>2]|0)==1)m=f[e+24>>2]|0;else m=1;i=re(m<<1,w)|0;f[y>>2]=0;M=y+4|0;f[M>>2]=0;f[y+8>>2]=0;e:do{if(i){if(!((i|0)<0?(_=0,ue(178,y|0),g=_,_=0,g&1):0))s=6;if((s|0)==6?(_=0,r=de(67,i|0)|0,g=_,_=0,!(g&1)):0){f[M>>2]=r;f[y>>2]=r;f[y+8>>2]=r+i;while(1){t[r>>0]=0;r=(f[M>>2]|0)+1|0;f[M>>2]=r;i=i+-1|0;if(!i)break e}}r=ze()|0;i=f[y>>2]|0;if(!i)$e(r|0);if((f[M>>2]|0)!=(i|0))f[M>>2]=i;Ip(i);$e(r|0)}}while(0);f[v>>2]=0;g=v+4|0;f[g>>2]=0;f[v+8>>2]=0;do{if(!m)s=19;else{if(!(m>>>0>1073741823?(_=0,ue(178,v|0),b=_,_=0,b&1):0))s=17;if((s|0)==17?(n=m<<2,_=0,a=de(67,n|0)|0,b=_,_=0,!(b&1)):0){f[v>>2]=a;s=a+(m<<2)|0;f[v+8>>2]=s;ym(a|0,0,n|0)|0;f[g>>2]=s;s=19;break}r=ze()|0;i=f[v>>2]|0;n=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-n|0)>>>2)<<2);Ip(i)}}}while(0);if((s|0)==19){a=e+12|0;e:do{if((f[a>>2]|0)>0){s=e+4580|0;l=(re(m,w)|0)+1|0;o=e+4584|0;u=e+92|0;h=(m|0)>0;d=e+4576|0;b=0;i:while(1){r=f[y>>2]|0;i=r+1|0;f[s>>2]=i;r=r+l|0;f[o>>2]=r;if(!(b&1))i=r;else{f[s>>2]=r;f[o>>2]=i}n=f[u>>2]|0;_=0;Re(f[(f[n>>2]|0)+12>>2]|0,n|0,i|0,f[k>>2]|0,w|0);n=_;_=0;if(n&1){s=29;break}if(h){i=f[s>>2]|0;r=f[v>>2]|0;n=0;do{f[d>>2]=f[r+(n<<2)>>2];r=f[k>>2]|0;t[i+r>>0]=t[i+(r+-1)>>0]|0;t[(f[o>>2]|0)+-1>>0]=t[f[s>>2]>>0]|0;_=0;ce(73,e|0,0);r=_;_=0;if(r&1){s=28;break i}r=f[v>>2]|0;f[r+(n<<2)>>2]=f[d>>2];i=(f[s>>2]|0)+w|0;f[s>>2]=i;f[o>>2]=(f[o>>2]|0)+w;n=n+1|0}while((n|0)<(m|0))}b=b+1|0;if((b|0)>=(f[a>>2]|0)){s=41;break e}}if((s|0)==28){r=ze()|0;break}else if((s|0)==29){r=ze()|0;break}}else s=41}while(0);do{if((s|0)==41){_=0;ue(182,e|0);e=_;_=0;if(e&1){r=ze()|0;break}i=f[v>>2]|0;r=i;if(i){n=f[g>>2]|0;if((n|0)!=(i|0))f[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);Ip(i)}i=f[y>>2]|0;if(!i){c=p;return}if((f[M>>2]|0)!=(i|0))f[M>>2]=i;Ip(i);c=p;return}}while(0);i=f[v>>2]|0;n=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-n|0)>>>2)<<2);Ip(i)}}i=f[y>>2]|0;if(!i)$e(r|0);if((f[M>>2]|0)!=(i|0))f[M>>2]=i;Ip(i);$e(r|0)}function Tf(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0;b=e+4580|0;i=f[b>>2]|0;_=e+156|0;if((f[_>>2]|0)<=0)return;k=e+4584|0;w=e+4588|0;s=i;l=a[i+-1>>0]|0;i=a[i>>0]|0;d=0;while(1){h=f[k>>2]|0;c=a[h+(d+-1)>>0]|0;n=d+1|0;r=a[s+n>>0]|0;u=f[w>>2]|0;o=i-l|0;s=l-c|0;u=((((t[u+(r-i)>>0]|0)*9|0)+(t[u+o>>0]|0)|0)*9|0)+(t[u+s>>0]|0)|0;if(!u){n=(Rf(e,d,0)|0)+d|0;r=f[b>>2]|0;i=a[r+(n+-1)>>0]|0;r=a[r+n>>0]|0}else{l=i-c>>31;if((l^s|0)<0)s=i;else s=c+((l^o|0)<0?0:o)|0;h=Cf(e,u,a[h+d>>0]|0,s,0)|0;t[(f[k>>2]|0)+d>>0]=h}if((n|0)>=(f[_>>2]|0))break;s=f[b>>2]|0;l=i;i=r;d=n}return}function Cf(e,i,r,t,a){e=e|0;i=i|0;r=r|0;t=t|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0;w=i>>31;u=(w^i)-w|0;k=e+172+(u*12|0)+10|0;l=n[k>>1]|0;b=e+172+(u*12|0)|0;a=f[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){s=5;while(1)if((l<>1]^w)-w+t|0;if((a&255|0)==(a|0))h=a;else h=a>>31&255^255;o=(r-h^w)-w<<24;c=o>>24;if(!s)a=(f[e+172+(u*12|0)+4>>2]<<1)+-1+l>>31;else a=0;a=a^c;a=a>>30^a<<1;t=a>>s;if((t|0)<23){Bt(e,1,t+1|0);Bt(e,a&(1<>1]|0;a=l<<16>>16==64;s=a&1;r=(f[t>>2]|0)+c>>s;l=a?32:l<<16>>16;f[b>>2]=(f[b>>2]|0)+((o|0)>-16777216?c:0-c|0)>>s;s=l+1|0;n[k>>1]=s;a=s+r|0;if((a|0)<1){k=n[d>>1]|0;n[d>>1]=(k&65535)-(k<<16>>16>-128&1);k=(a|0)>(~l|0)?a:0-l|0;f[t>>2]=k;w=c^w;i=i>>>31;i=h+i|0;i=i+w|0;i=i&255;return i|0}if((r|0)<=0){k=r;f[t>>2]=k;w=c^w;i=i>>>31;i=h+i|0;i=i+w|0;i=i&255;return i|0}k=r-s|0;b=n[d>>1]|0;n[d>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;f[t>>2]=k;w=c^w;i=i>>>31;i=h+i|0;i=i+w|0;i=i&255;return i|0}function Rf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;o=(f[e+156>>2]|0)-i|0;u=f[e+4584>>2]|0;h=f[e+4580>>2]|0;s=t[u+(i+-1)>>0]|0;n=0;while(1){r=u+(n+i)|0;if((t[r>>0]|0)!=s<<24>>24){d=n;break}t[r>>0]=s;n=n+1|0;if((n|0)==(o|0)){d=o;break}}l=s&255;s=(d|0)==(o|0);c=e+4576|0;n=f[36476+(f[c>>2]<<2)>>2]|0;if((1<(d|0))r=d;else{r=d;do{Bt(e,1,1);n=f[c>>2]|0;r=r-(1<>2])|0;n=(n|0)>30?31:n+1|0;f[c>>2]=n;n=f[36476+(n<<2)>>2]|0}while((r|0)>=(1<>0]|0;r=a[h+r>>0]|0;h=l-r|0;if((((h|0)>-1?h:0-h|0)|0)<1){r=n-l<<24>>24;Lf(e,e+4564|0,r);r=r+l|0}else{h=r-l>>31|1;i=(re(n-r<<24,h)|0)>>24;Lf(e,e+4552|0,i);r=(re(i,h)|0)+r|0}t[s>>0]=r;e=f[c>>2]|0;f[c>>2]=(e|0)<1?0:e+-1|0;e=d+1|0;return e|0}function Lf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i+9|0;o=a[d>>0]|0;h=i+4|0;c=f[h>>2]|0;s=(re(o>>>1,c)|0)+(f[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0));s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0>>0:0)n=1;else u=5;do{if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}}while(0);n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;Pf(e,s,n,31-(f[36476+(f[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;t[e>>0]=(a[e>>0]|0)+1}n=(n+1-(f[h>>2]|0)>>1)+(f[i>>2]|0)|0;f[i>>2]=n;s=t[d>>0]|0;if(s<<24>>24!=(t[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return}f[i>>2]=n>>1;e=(s&255)>>>1;t[d>>0]=e;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return}function Pf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-8|0;if((n|0)<(t+-9|0)){if((n|0)>30){t=(n|0)/2|0;Bt(e,0,t);n=n-t|0}Bt(e,1,n+1|0);Bt(e,(1<31){Bt(e,0,31);Bt(e,1,t+-39|0)}else Bt(e,1,f);Bt(e,r+255&255,8);return}function xf(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;o=h;op(o,255,0);u=e+160|0;if(((f[o+4>>2]|0)==(f[u>>2]|0)?(f[o+8>>2]|0)==(f[e+164>>2]|0):0)?(f[o+12>>2]|0)==(f[e+168>>2]|0):0){u=f[8900]|0;f[e+4588>>2]=u+(((f[8901]|0)-u|0)>>>1);c=h;return}r=e+4592|0;n=e+4596|0;a=f[n>>2]|0;i=f[r>>2]|0;s=a-i|0;if(s>>>0>=512){if(s>>>0>512?(l=i+512|0,(a|0)!=(l|0)):0)f[n>>2]=l}else{zt(r,512-s|0);i=f[r>>2]|0}o=e+4588|0;f[o>>2]=i+256;l=e+168|0;a=e+164|0;s=-256;while(1){i=f[l>>2]|0;if((s|0)>(0-i|0)){r=f[a>>2]|0;if((s|0)>(0-r|0)){n=f[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){t[(f[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;t[(f[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==256)break}c=h;return}function Of(e){e=e|0;var i=0,r=0;f[e>>2]=35912;i=f[e+4592>>2]|0;if(i){r=e+4596|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fM[f[(f[i>>2]|0)+4>>2]&255](i);return}function Bf(e){e=e|0;var i=0,r=0;f[e>>2]=35912;i=f[e+4592>>2]|0;if(i){r=e+4596|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Ip(e);return}fM[f[(f[i>>2]|0)+4>>2]&255](i);Ip(e);return}function If(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;op(u,255,0);o=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[u+8>>2]|0:l;a=f[i+12>>2]|0;a=(a|0)==0?f[u+12>>2]|0:a;i=f[i+16>>2]|0;r=f[u+16>>2]|0;f[e+160>>2]=(o|0)==0?f[u+4>>2]|0:o;f[e+164>>2]=l;f[e+168>>2]=a;qf(e);a=0;do{f[e+172+(a*12|0)>>2]=4;f[e+172+(a*12|0)+4>>2]=0;n[e+172+(a*12|0)+8>>1]=0;n[e+172+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365);u=((i|0)==0?r:i)&255;f[e+4552>>2]=4;f[e+4556>>2]=0;t[e+4560>>0]=u;t[e+4561>>0]=1;t[e+4562>>0]=0;f[e+4564>>2]=4;f[e+4568>>2]=1;t[e+4572>>0]=u;t[e+4573>>0]=1;t[e+4574>>0]=0;f[e+4576>>2]=0;c=s;return}function Df(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+16|0;h=b;u=e+92|0;o=f[i>>2]|0;f[i>>2]=0;i=f[u>>2]|0;f[u>>2]=o;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);f[h>>2]=0;f[h+4>>2]=a;u=r+8|0;f[h+8>>2]=f[u>>2];if(a){i=Bp(4600)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));s=i+88|0;o=s+40|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(o|0));f[i>>2]=35688;s=i+132|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[i+148>>2]=f[a>>2];f[i+152>>2]=0;f[i+156>>2]=0;f[i+160>>2]=0;s=i+4544|0;a=i+164|0;do{f[a>>2]=0;f[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0));l=e+4|0;f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;t[s+10>>0]=0;o=i+4556|0;f[o>>2]=0;f[o+4>>2]=0;n[o+8>>1]=0;t[o+10>>0]=0;o=i+4568|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;t[o+28>>0]=0;if(!(f[i+28>>2]|0))f[i+20>>2]=1;a=f[l>>2]|0;f[l>>2]=i;if(a){fM[f[(f[a>>2]|0)+4>>2]&255](a);i=f[l>>2]|0}Ct(i,h)}h=e+100|0;f[h>>2]=32;f[e+96>>2]=0;i=f[r>>2]|0;if(!i){f[e+108>>2]=f[r+4>>2];f[e+104>>2]=f[u>>2];Ff(e);d=e+116|0;d=f[d>>2]|0;e=f[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}f[e+132>>2]=i;s=e+120|0;u=e+124|0;a=f[u>>2]|0;i=f[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(d=i+4e3|0,(a|0)!=(d|0)):0){f[u>>2]=d;a=d}}else{Rt(s,4e3-o|0);i=f[s>>2]|0;l=i;a=f[u>>2]|0}f[e+108>>2]=l;f[e+104>>2]=a-i;Ff(e);d=e+116|0;d=f[d>>2]|0;e=f[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}function Nf(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;y=c;c=c+352|0;M=y+328|0;E=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((f[e+32>>2]|0)!=0?(f[e+24>>2]|0)!=1:0){m=e+8|0;p=e+36|0;l=f[p>>2]|0;if(!l){e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[r>>0]|0;Re(44,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}e=f[e+16>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[n>>0]|0;Re(45,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[a>>0]|0;Re(46,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[s>>0]|0;Re(47,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=E+56|0;a=E+4|0;f[E>>2]=36160;f[l>>2]=36180;_=0;ce(62,E+56|0,a|0);y=_;_=0;if(y&1){A=ze()|0;nd(l);$e(A|0)}f[E+128>>2]=0;f[E+132>>2]=-1;f[E>>2]=36200;f[E+56>>2]=36220;_=0;ue(180,a|0);y=_;_=0;do{if(y&1)e=ze()|0;else{f[a>>2]=36236;s=E+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[E+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);y=_;_=0;if(y&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,E|0,49007,21)|0;M=_;_=0;do{if((!(M&1)?(_=0,d=pe(36,e|0,f[p>>2]|0)|0,M=_,_=0,!(M&1)):0)?(_=0,ke(28,d|0,50997,18)|0,M=_,_=0,!(M&1)):0){n=He(16)|0;_=0;ce(64,k|0,a|0);M=_;_=0;if(!(M&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,k|0);M=_;_=0;if(M&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(k);if(!r)break}else e=ze()|0;je(n|0)}else A=34}while(0);if((A|0)==34)e=ze()|0;f[E>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,e|0,8,35648);A=_;_=0;if(!(A&1))bi(e|0,824,96);A=ze()|0;je(e|0);$e(A|0)}r=16-e|0;switch(l|0){case 1:{e=Bp(60)|0;f[o>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[o>>2];f[M+4>>2]=f[o+4>>2];Re(41,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(60)|0;f[u>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[u>>2];f[M+4>>2]=f[u+4>>2];Re(42,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(60)|0;f[h>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[h>>2];f[M+4>>2]=f[h+4>>2];Re(43,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;_=0;ce(62,g+56|0,a|0);E=_;_=0;if(E&1){A=ze()|0;nd(l);$e(A|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;_=0;ue(180,a|0);E=_;_=0;do{if(E&1)e=ze()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);E=_;_=0;if(E&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,g|0,49007,21)|0;E=_;_=0;do{if((!(E&1)?(_=0,b=pe(36,e|0,f[p>>2]|0)|0,E=_,_=0,!(E&1)):0)?(_=0,ke(28,b|0,50997,18)|0,E=_,_=0,!(E&1)):0){n=He(16)|0;_=0;ce(64,v|0,a|0);E=_;_=0;if(!(E&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,v|0);E=_;_=0;if(E&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(v);if(!r)break}else e=ze()|0;je(n|0)}else A=64}while(0);if((A|0)==64)e=ze()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}}r=f[i+4>>2]|0;n=Bp(16)|0;e=f[e+20>>2]|0;if(!r){A=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=A;f[n+8>>2]=3;f[n+12>>2]=e;A=n;c=y;return A|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=3;f[n+12>>2]=e;A=n;c=y;return A|0}return 0}function Ff(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0;p=c;c=c+32|0;y=p+12|0;v=p;k=e+156|0;w=(f[k>>2]|0)+4|0;if((f[e+32>>2]|0)==1)m=f[e+24>>2]|0;else m=1;i=re(m<<1,w)|0;f[y>>2]=0;M=y+4|0;f[M>>2]=0;f[y+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(_=0,ue(178,y|0),g=_,_=0,g&1):0))s=6;if((s|0)==6?(_=0,r=de(67,i*3|0)|0,g=_,_=0,!(g&1)):0){f[M>>2]=r;f[y>>2]=r;f[y+8>>2]=r+(i*3|0);while(1){t[r>>0]=0;t[r+1>>0]=0;t[r+2>>0]=0;r=(f[M>>2]|0)+3|0;f[M>>2]=r;i=i+-1|0;if(!i)break e}}n=ze()|0;i=f[y>>2]|0;if(!i)$e(n|0);r=f[M>>2]|0;if((r|0)!=(i|0))f[M>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Ip(i);$e(n|0)}}while(0);f[v>>2]=0;g=v+4|0;f[g>>2]=0;f[v+8>>2]=0;do{if(!m)s=19;else{if(!(m>>>0>1073741823?(_=0,ue(178,v|0),b=_,_=0,b&1):0))s=17;if((s|0)==17?(n=m<<2,_=0,a=de(67,n|0)|0,b=_,_=0,!(b&1)):0){f[v>>2]=a;s=a+(m<<2)|0;f[v+8>>2]=s;ym(a|0,0,n|0)|0;f[g>>2]=s;s=19;break}n=ze()|0;i=f[v>>2]|0;r=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}}while(0);if((s|0)==19){a=e+12|0;e:do{if((f[a>>2]|0)>0){s=e+4580|0;l=(re(m,w)|0)+1|0;o=e+4584|0;u=e+92|0;h=(m|0)>0;d=e+4576|0;b=0;i:while(1){n=f[y>>2]|0;i=n+3|0;f[s>>2]=i;r=n+(l*3|0)|0;f[o>>2]=r;if(!(b&1))i=l;else{f[s>>2]=r;f[o>>2]=i;i=1}r=f[u>>2]|0;_=0;Re(f[(f[r>>2]|0)+12>>2]|0,r|0,n+(i*3|0)|0,f[k>>2]|0,w|0);n=_;_=0;if(n&1){s=29;break}if(h){i=f[v>>2]|0;r=f[s>>2]|0;n=0;do{f[d>>2]=f[i+(n<<2)>>2];E=f[k>>2]|0;i=r+(E*3|0)|0;r=r+((E+-1|0)*3|0)|0;t[i>>0]=t[r>>0]|0;t[i+1>>0]=t[r+1>>0]|0;t[i+2>>0]=t[r+2>>0]|0;i=f[s>>2]|0;r=(f[o>>2]|0)+-3|0;t[r>>0]=t[i>>0]|0;t[r+1>>0]=t[i+1>>0]|0;t[r+2>>0]=t[i+2>>0]|0;_=0;ce(74,e|0,0);r=_;_=0;if(r&1){s=28;break i}i=f[v>>2]|0;f[i+(n<<2)>>2]=f[d>>2];r=(f[s>>2]|0)+(w*3|0)|0;f[s>>2]=r;f[o>>2]=(f[o>>2]|0)+(w*3|0);n=n+1|0}while((n|0)<(m|0))}b=b+1|0;if((b|0)>=(f[a>>2]|0)){s=41;break e}}if((s|0)==28){n=ze()|0;break}else if((s|0)==29){n=ze()|0;break}}else s=41}while(0);do{if((s|0)==41){_=0;ue(182,e|0);E=_;_=0;if(E&1){n=ze()|0;break}i=f[v>>2]|0;r=i;if(i){n=f[g>>2]|0;if((n|0)!=(i|0))f[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);Ip(i)}i=f[y>>2]|0;if(!i){c=p;return}r=f[M>>2]|0;if((r|0)!=(i|0))f[M>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Ip(i);c=p;return}}while(0);i=f[v>>2]|0;r=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}i=f[y>>2]|0;if(!i)$e(n|0);r=f[M>>2]|0;if((r|0)!=(i|0))f[M>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Ip(i);$e(n|0)}function Uf(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0;S=e+156|0;if((f[S>>2]|0)<=0)return;T=e+4584|0;C=e+4580|0;R=e+4588|0;A=0;while(1){y=A+-1|0;l=f[T>>2]|0;o=f[C>>2]|0;i=A+1|0;s=a[o+(A*3|0)>>0]|0;E=f[R>>2]|0;u=a[o+(y*3|0)>>0]|0;c=s-u|0;h=a[l+(y*3|0)>>0]|0;d=u-h|0;b=((((t[E+((a[o+(i*3|0)>>0]|0)-s)>>0]|0)*9|0)+(t[E+c>>0]|0)|0)*9|0)+(t[E+d>>0]|0)|0;n=a[o+(A*3|0)+1>>0]|0;k=a[o+(y*3|0)+1>>0]|0;w=n-k|0;_=a[l+(y*3|0)+1>>0]|0;m=k-_|0;v=((((t[E+((a[o+(i*3|0)+1>>0]|0)-n)>>0]|0)*9|0)+(t[E+w>>0]|0)|0)*9|0)+(t[E+m>>0]|0)|0;r=a[o+(A*3|0)+2>>0]|0;p=a[o+(y*3|0)+2>>0]|0;g=r-p|0;y=a[l+(y*3|0)+2>>0]|0;M=p-y|0;E=((((t[E+((a[o+(i*3|0)+2>>0]|0)-r)>>0]|0)*9|0)+(t[E+g>>0]|0)|0)*9|0)+(t[E+M>>0]|0)|0;if(!(v|b|E))i=(jf(e,A,0)|0)+A|0;else{o=a[l+(A*3|0)>>0]|0;l=s-h>>31;if((l^d|0)>=0)if((l^c|0)<0)s=h;else s=h-u+s|0;o=Hf(e,b,o,s,0)|0;l=a[(f[T>>2]|0)+(A*3|0)+1>>0]|0;s=n-_>>31;if((s^m|0)>=0)if((s^w|0)<0)n=_;else n=_-k+n|0;s=Hf(e,v,l,n,0)|0;l=a[(f[T>>2]|0)+(A*3|0)+2>>0]|0;n=r-y>>31;if((n^M|0)>=0)if((n^g|0)<0)r=y;else r=y-p+r|0;E=Hf(e,E,l,r,0)|0;A=(f[T>>2]|0)+(A*3|0)|0;t[A>>0]=o;t[A+1>>0]=s;t[A+2>>0]=E}if((i|0)<(f[S>>2]|0))A=i;else break}return}function jf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0;h=(f[e+156>>2]|0)-i|0;d=f[e+4584>>2]|0;b=f[e+4580>>2]|0;c=d+((i+-1|0)*3|0)|0;k=t[c>>0]|0;u=t[c+1>>0]|0;c=t[c+2>>0]|0;l=0;while(1){r=d+((l+i|0)*3|0)|0;n=r+1|0;s=r+2|0;if(!(((t[r>>0]|0)==k<<24>>24?(t[n>>0]|0)==u<<24>>24:0)&(t[s>>0]|0)==c<<24>>24))break;t[r>>0]=k;t[n>>0]=u;t[s>>0]=c;l=l+1|0;if((l|0)==(h|0)){l=h;break}}s=(l|0)==(h|0);o=e+4576|0;n=f[36476+(f[o>>2]<<2)>>2]|0;if((1<(l|0))r=l;else{r=l;do{Bt(e,1,1);n=f[o>>2]|0;r=r-(1<>2])|0;n=(n|0)>30?31:n+1|0;f[o>>2]=n;n=f[36476+(n<<2)>>2]|0}while((r|0)>=(1<>0]|0;i=h+2|0;r=t[i>>0]|0;b=b+(w*3|0)|0;w=t[b+1>>0]|0;v=t[b+2>>0]|0;b=a[b>>0]|0;s=b-(k&255)>>31|1;n=(re((a[h>>0]|0)-b<<24,s)|0)>>24;m=e+4552|0;zf(e,m,n);k=w&255;w=k-(u&255)>>31|1;_=(re((_&255)-k<<24,w)|0)>>24;zf(e,m,_);u=v&255;c=u-(c&255)>>31|1;r=(re((r&255)-u<<24,c)|0)>>24;zf(e,m,r);k=(re(_,w)|0)+k&255;e=(re(r,c)|0)+u&255;t[h>>0]=(re(n,s)|0)+b;t[d>>0]=k;t[i>>0]=e;e=f[o>>2]|0;f[o>>2]=(e|0)<1?0:e+-1|0;e=l+1|0;return e|0}if(!r){v=h;return v|0}Bt(e,1,1);v=h;return v|0}function Hf(e,i,r,t,a){e=e|0;i=i|0;r=r|0;t=t|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0;w=i>>31;u=(w^i)-w|0;k=e+172+(u*12|0)+10|0;l=n[k>>1]|0;b=e+172+(u*12|0)|0;a=f[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){s=5;while(1)if((l<>1]^w)-w+t|0;if((a&255|0)==(a|0))h=a;else h=a>>31&255^255;o=(r-h^w)-w<<24;c=o>>24;if(!s)a=(f[e+172+(u*12|0)+4>>2]<<1)+-1+l>>31;else a=0;a=a^c;a=a>>30^a<<1;t=a>>s;if((t|0)<23){Bt(e,1,t+1|0);Bt(e,a&(1<>1]|0;a=l<<16>>16==64;s=a&1;r=(f[t>>2]|0)+c>>s;l=a?32:l<<16>>16;f[b>>2]=(f[b>>2]|0)+((o|0)>-16777216?c:0-c|0)>>s;s=l+1|0;n[k>>1]=s;a=s+r|0;if((a|0)<1){k=n[d>>1]|0;n[d>>1]=(k&65535)-(k<<16>>16>-128&1);k=(a|0)>(~l|0)?a:0-l|0;f[t>>2]=k;w=c^w;i=i>>>31;i=h+i|0;i=i+w|0;i=i&255;return i|0}if((r|0)<=0){k=r;f[t>>2]=k;w=c^w;i=i>>>31;i=h+i|0;i=i+w|0;i=i&255;return i|0}k=r-s|0;b=n[d>>1]|0;n[d>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;f[t>>2]=k;w=c^w;i=i>>>31;i=h+i|0;i=i+w|0;i=i&255;return i|0}function zf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i+9|0;o=a[d>>0]|0;h=i+4|0;c=f[h>>2]|0;s=(re(o>>>1,c)|0)+(f[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0));s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0>>0:0)n=1;else u=5;do{if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}}while(0);n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;Yf(e,s,n,31-(f[36476+(f[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;t[e>>0]=(a[e>>0]|0)+1}n=(n+1-(f[h>>2]|0)>>1)+(f[i>>2]|0)|0;f[i>>2]=n;s=t[d>>0]|0;if(s<<24>>24!=(t[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return}f[i>>2]=n>>1;e=(s&255)>>>1;t[d>>0]=e;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return}function Yf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-8|0;if((n|0)<(t+-9|0)){if((n|0)>30){t=(n|0)/2|0;Bt(e,0,t);n=n-t|0}Bt(e,1,n+1|0);Bt(e,(1<31){Bt(e,0,31);Bt(e,1,t+-39|0)}else Bt(e,1,f);Bt(e,r+255&255,8);return}function qf(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;o=h;op(o,255,0);u=e+160|0;if(((f[o+4>>2]|0)==(f[u>>2]|0)?(f[o+8>>2]|0)==(f[e+164>>2]|0):0)?(f[o+12>>2]|0)==(f[e+168>>2]|0):0){u=f[8900]|0;f[e+4588>>2]=u+(((f[8901]|0)-u|0)>>>1);c=h;return}r=e+4592|0;n=e+4596|0;a=f[n>>2]|0;i=f[r>>2]|0;s=a-i|0;if(s>>>0>=512){if(s>>>0>512?(l=i+512|0,(a|0)!=(l|0)):0)f[n>>2]=l}else{zt(r,512-s|0);i=f[r>>2]|0}o=e+4588|0;f[o>>2]=i+256;l=e+168|0;a=e+164|0;s=-256;while(1){i=f[l>>2]|0;if((s|0)>(0-i|0)){r=f[a>>2]|0;if((s|0)>(0-r|0)){n=f[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){t[(f[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;t[(f[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==256)break}c=h;return}function Xf(e){e=e|0;var i=0,r=0;f[e>>2]=35884;i=f[e+4616>>2]|0;if(i){r=e+4620|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fM[f[(f[i>>2]|0)+4>>2]&255](i);return}function Vf(e){e=e|0;var i=0,r=0;f[e>>2]=35884;i=f[e+4616>>2]|0;if(i){r=e+4620|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Ip(e);return}fM[f[(f[i>>2]|0)+4>>2]&255](i);Ip(e);return}function Gf(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,h=0;o=c;c=c+32|0;h=o;op(h,f[e+136>>2]|0,f[e+144>>2]|0);u=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[h+8>>2]|0:l;s=f[i+12>>2]|0;s=(s|0)==0?f[h+12>>2]|0:s;r=f[i+16>>2]|0;a=f[h+16>>2]|0;f[e+184>>2]=(u|0)==0?f[h+4>>2]|0:u;f[e+188>>2]=l;f[e+192>>2]=s;ta(e);s=e+140|0;i=(f[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{f[e+196+(l*12|0)>>2]=i;f[e+196+(l*12|0)+4>>2]=0;n[e+196+(l*12|0)+8>>1]=0;n[e+196+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365);u=(f[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;h=((r|0)==0?a:r)&255;f[e+4576>>2]=u;f[e+4580>>2]=0;t[e+4584>>0]=h;t[e+4585>>0]=1;t[e+4586>>0]=0;f[e+4588>>2]=u;f[e+4592>>2]=1;t[e+4596>>0]=h;t[e+4597>>0]=1;t[e+4598>>0]=0;f[e+4600>>2]=0;c=o;return}function Kf(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+16|0;h=b;u=e+92|0;o=f[i>>2]|0;f[i>>2]=0;i=f[u>>2]|0;f[u>>2]=o;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);f[h>>2]=0;f[h+4>>2]=a;u=r+8|0;f[h+8>>2]=f[u>>2];if(a){i=Bp(4624)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));s=i+88|0;o=s+40|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(o|0));f[i>>2]=35660;f[i+128>>2]=f[e+136>>2];f[i+132>>2]=f[e+140>>2];f[i+136>>2]=f[e+144>>2];f[i+140>>2]=f[e+148>>2];f[i+144>>2]=f[e+152>>2];f[i+148>>2]=f[e+156>>2];f[i+152>>2]=f[e+160>>2];s=i+156|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[i+172>>2]=f[a>>2];f[i+176>>2]=0;f[i+180>>2]=0;f[i+184>>2]=0;s=i+4568|0;a=i+188|0;do{f[a>>2]=0;f[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0));l=e+4|0;f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;t[s+10>>0]=0;o=i+4580|0;f[o>>2]=0;f[o+4>>2]=0;n[o+8>>1]=0;t[o+10>>0]=0;o=i+4592|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;t[o+28>>0]=0;if(!(f[i+28>>2]|0))f[i+20>>2]=1;a=f[l>>2]|0;f[l>>2]=i;if(a){fM[f[(f[a>>2]|0)+4>>2]&255](a);i=f[l>>2]|0}Ct(i,h)}h=e+100|0;f[h>>2]=32;f[e+96>>2]=0;i=f[r>>2]|0;if(!i){f[e+108>>2]=f[r+4>>2];f[e+104>>2]=f[u>>2];Zf(e);d=e+116|0;d=f[d>>2]|0;e=f[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}f[e+132>>2]=i;s=e+120|0;u=e+124|0;a=f[u>>2]|0;i=f[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(d=i+4e3|0,(a|0)!=(d|0)):0){f[u>>2]=d;a=d}}else{Rt(s,4e3-o|0);i=f[s>>2]|0;l=i;a=f[u>>2]|0}f[e+108>>2]=l;f[e+104>>2]=a-i;Zf(e);d=e+116|0;d=f[d>>2]|0;e=f[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}function Wf(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;y=c;c=c+352|0;M=y+328|0;E=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((f[e+32>>2]|0)!=0?(f[e+24>>2]|0)!=1:0){m=e+8|0;p=e+36|0;l=f[p>>2]|0;if(!l){e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[r>>0]|0;Re(44,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}e=f[e+16>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[n>>0]|0;Re(45,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[a>>0]|0;Re(46,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[s>>0]|0;Re(47,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=E+56|0;a=E+4|0;f[E>>2]=36160;f[l>>2]=36180;_=0;ce(62,E+56|0,a|0);y=_;_=0;if(y&1){A=ze()|0;nd(l);$e(A|0)}f[E+128>>2]=0;f[E+132>>2]=-1;f[E>>2]=36200;f[E+56>>2]=36220;_=0;ue(180,a|0);y=_;_=0;do{if(y&1)e=ze()|0;else{f[a>>2]=36236;s=E+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[E+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);y=_;_=0;if(y&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,E|0,49007,21)|0;M=_;_=0;do{if((!(M&1)?(_=0,d=pe(36,e|0,f[p>>2]|0)|0,M=_,_=0,!(M&1)):0)?(_=0,ke(28,d|0,50997,18)|0,M=_,_=0,!(M&1)):0){n=He(16)|0;_=0;ce(64,k|0,a|0);M=_;_=0;if(!(M&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,k|0);M=_;_=0;if(M&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(k);if(!r)break}else e=ze()|0;je(n|0)}else A=34}while(0);if((A|0)==34)e=ze()|0;f[E>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,e|0,8,35648);A=_;_=0;if(!(A&1))bi(e|0,824,96);A=ze()|0;je(e|0);$e(A|0)}r=16-e|0;switch(l|0){case 1:{e=Bp(60)|0;f[o>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[o>>2];f[M+4>>2]=f[o+4>>2];Re(41,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(60)|0;f[u>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[u>>2];f[M+4>>2]=f[u+4>>2];Re(42,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(60)|0;f[h>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[h>>2];f[M+4>>2]=f[h+4>>2];Re(43,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;_=0;ce(62,g+56|0,a|0);E=_;_=0;if(E&1){A=ze()|0;nd(l);$e(A|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;_=0;ue(180,a|0);E=_;_=0;do{if(E&1)e=ze()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);E=_;_=0;if(E&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,g|0,49007,21)|0;E=_;_=0;do{if((!(E&1)?(_=0,b=pe(36,e|0,f[p>>2]|0)|0,E=_,_=0,!(E&1)):0)?(_=0,ke(28,b|0,50997,18)|0,E=_,_=0,!(E&1)):0){n=He(16)|0;_=0;ce(64,v|0,a|0);E=_;_=0;if(!(E&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,v|0);E=_;_=0;if(E&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(v);if(!r)break}else e=ze()|0;je(n|0)}else A=64}while(0);if((A|0)==64)e=ze()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}}r=f[i+4>>2]|0;n=Bp(16)|0;e=f[e+20>>2]|0;if(!r){A=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=A;f[n+8>>2]=1;f[n+12>>2]=e;A=n;c=y;return A|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=1;f[n+12>>2]=e;A=n;c=y;return A|0}return 0}function Zf(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0;p=c;c=c+32|0;y=p+12|0;v=p;w=e+180|0;m=(f[w>>2]|0)+4|0;if((f[e+32>>2]|0)==1)b=f[e+24>>2]|0;else b=1;i=re(b<<1,m)|0;f[y>>2]=0;M=y+4|0;f[M>>2]=0;f[y+8>>2]=0;e:do{if(i){if(!((i|0)<0?(_=0,ue(178,y|0),g=_,_=0,g&1):0))k=6;if((k|0)==6?(_=0,r=de(67,i|0)|0,g=_,_=0,!(g&1)):0){f[M>>2]=r;f[y>>2]=r;f[y+8>>2]=r+i;while(1){t[r>>0]=0;r=(f[M>>2]|0)+1|0;f[M>>2]=r;i=i+-1|0;if(!i)break e}}r=ze()|0;i=f[y>>2]|0;if(!i)$e(r|0);if((f[M>>2]|0)!=(i|0))f[M>>2]=i;Ip(i);$e(r|0)}}while(0);f[v>>2]=0;g=v+4|0;f[g>>2]=0;f[v+8>>2]=0;do{if(!b)k=19;else{if(!(b>>>0>1073741823?(_=0,ue(178,v|0),d=_,_=0,d&1):0))k=17;if((k|0)==17?(n=b<<2,_=0,a=de(67,n|0)|0,d=_,_=0,!(d&1)):0){f[v>>2]=a;k=a+(b<<2)|0;f[v+8>>2]=k;ym(a|0,0,n|0)|0;f[g>>2]=k;k=19;break}r=ze()|0;i=f[v>>2]|0;n=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-n|0)>>>2)<<2);Ip(i)}}}while(0);if((k|0)==19){l=e+12|0;e:do{if((f[l>>2]|0)>0){o=e+4604|0;u=(re(b,m)|0)+1|0;h=e+4608|0;d=e+92|0;s=e+4600|0;if((b|0)>0)a=0;else{n=0;while(1){r=f[y>>2]|0;i=r+1|0;f[o>>2]=i;r=r+u|0;f[h>>2]=r;if(!(n&1))i=r;else{f[o>>2]=r;f[h>>2]=i}b=f[d>>2]|0;_=0;Re(f[(f[b>>2]|0)+12>>2]|0,b|0,i|0,f[w>>2]|0,m|0);b=_;_=0;if(b&1)break;n=n+1|0;if((n|0)>=(f[l>>2]|0)){k=45;break e}}r=ze()|0;break}i:while(1){r=f[y>>2]|0;i=r+1|0;f[o>>2]=i;r=r+u|0;f[h>>2]=r;if(!(a&1))i=r;else{f[o>>2]=r;f[h>>2]=i}k=f[d>>2]|0;_=0;Re(f[(f[k>>2]|0)+12>>2]|0,k|0,i|0,f[w>>2]|0,m|0);k=_;_=0;if(k&1){k=28;break}i=f[v>>2]|0;r=f[o>>2]|0;n=0;do{f[s>>2]=f[i+(n<<2)>>2];k=f[w>>2]|0;t[r+k>>0]=t[r+(k+-1)>>0]|0;t[(f[h>>2]|0)+-1>>0]=t[f[o>>2]>>0]|0;_=0;ce(75,e|0,0);k=_;_=0;if(k&1){k=36;break i}i=f[v>>2]|0;f[i+(n<<2)>>2]=f[s>>2];r=(f[o>>2]|0)+m|0;f[o>>2]=r;f[h>>2]=(f[h>>2]|0)+m;n=n+1|0}while((n|0)<(b|0));a=a+1|0;if((a|0)>=(f[l>>2]|0)){k=45;break e}}if((k|0)==28){r=ze()|0;break}else if((k|0)==36){r=ze()|0;break}}else k=45}while(0);do{if((k|0)==45){_=0;ue(182,e|0);e=_;_=0;if(e&1){r=ze()|0;break}i=f[v>>2]|0;r=i;if(i){n=f[g>>2]|0;if((n|0)!=(i|0))f[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);Ip(i)}i=f[y>>2]|0;if(!i){c=p;return}if((f[M>>2]|0)!=(i|0))f[M>>2]=i;Ip(i);c=p;return}}while(0);i=f[v>>2]|0;n=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-n|0)>>>2)<<2);Ip(i)}}i=f[y>>2]|0;if(!i)$e(r|0);if((f[M>>2]|0)!=(i|0))f[M>>2]=i;Ip(i);$e(r|0)}function Jf(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0;b=e+4604|0;i=f[b>>2]|0;_=e+180|0;if((f[_>>2]|0)<=0)return;k=e+4608|0;w=e+4612|0;s=i;l=a[i+-1>>0]|0;i=a[i>>0]|0;d=0;while(1){h=f[k>>2]|0;c=a[h+(d+-1)>>0]|0;n=d+1|0;r=a[s+n>>0]|0;u=f[w>>2]|0;o=i-l|0;s=l-c|0;u=((((t[u+(r-i)>>0]|0)*9|0)+(t[u+o>>0]|0)|0)*9|0)+(t[u+s>>0]|0)|0;if(!u){n=($f(e,d,0)|0)+d|0;r=f[b>>2]|0;i=a[r+(n+-1)>>0]|0;r=a[r+n>>0]|0}else{l=i-c>>31;if((l^s|0)<0)s=i;else s=c+((l^o|0)<0?0:o)|0;h=Qf(e,u,a[h+d>>0]|0,s,0)|0;t[(f[k>>2]|0)+d>>0]=h}if((n|0)>=(f[_>>2]|0))break;s=f[b>>2]|0;l=i;i=r;d=n}return}function Qf(e,i,r,t,a){e=e|0;i=i|0;r=r|0;t=t|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0;_=i>>31;s=(_^i)-_|0;k=e+196+(s*12|0)+10|0;l=n[k>>1]|0;b=e+196+(s*12|0)|0;a=f[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){i=5;while(1)if((l<>1]^_)-_+t|0;w=e+136|0;t=f[w>>2]|0;if((a&t|0)==(a|0))c=a;else c=t&~(a>>31);a=(r-c^_)-_|0;u=e+144|0;t=f[u>>2]|0;if((a|0)>0)a=(a+t|0)/(t<<1|1|0)|0;else a=(a-t|0)/(t<<1|1|0)|0;d=e+140|0;o=f[d>>2]|0;r=((a|0)<0?o:0)+a|0;o=r-((r|0)<((o+1|0)/2|0|0)?0:o)|0;s=e+196+(s*12|0)+4|0;if(!(t|i))a=(f[s>>2]<<1)+-1+l>>31;else a=0;t=a^o;ra(e,i,t>>30^t<<1,f[e+156>>2]|0);t=f[e+160>>2]|0;i=(f[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;a=(f[s>>2]|0)+(re(f[u>>2]<<1|1,o)|0)|0;r=n[k>>1]|0;if((r|0)==(t|0)){i=i>>1;a=a>>1;r=t>>1}f[b>>2]=i;t=r+1|0;n[k>>1]=t;i=t+a|0;if((i|0)>=1){if((a|0)>0){a=a-t|0;k=n[h>>1]|0;n[h>>1]=(k<<16>>16<127&1)+(k&65535);a=(a|0)>0?0:a}}else{a=n[h>>1]|0;n[h>>1]=(a&65535)-(a<<16>>16>-128&1);a=(i|0)>(~r|0)?i:0-r|0}f[s>>2]=a;t=f[u>>2]|0;r=t<<1|1;i=(re(r,(o^_)-_|0)|0)+c|0;if((i|0)>=(0-t|0)){a=f[w>>2]|0;if((a+t|0)<(i|0))i=i-(re(f[d>>2]|0,r)|0)|0}else{i=(re(f[d>>2]|0,r)|0)+i|0;a=f[w>>2]|0}if((i&a|0)==(i|0)){_=i;_=_&255;return _|0}_=a&~(i>>31);_=_&255;return _|0}function $f(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;c=(f[e+180>>2]|0)-i|0;h=f[e+4608>>2]|0;d=f[e+4604>>2]|0;s=t[h+(i+-1)>>0]|0;u=s&255;r=e+144|0;l=0;while(1){n=h+(l+i)|0;o=(a[n>>0]|0)-u|0;if((((o|0)>-1?o:0-o|0)|0)>(f[r>>2]|0))break;t[n>>0]=s;l=l+1|0;if((l|0)==(c|0)){l=c;break}}s=(l|0)==(c|0);o=e+4600|0;n=f[36476+(f[o>>2]<<2)>>2]|0;if((1<(l|0))r=l;else{r=l;do{Bt(e,1,1);n=f[o>>2]|0;r=r-(1<>2])|0;n=(n|0)>30?31:n+1|0;f[o>>2]=n;n=f[36476+(n<<2)>>2]|0}while((r|0)>=(1<>0]=ea(e,a[i>>0]|0,u,a[d+c>>0]|0)|0;e=f[o>>2]|0;f[o>>2]=(e|0)<1?0:e+-1|0;e=l+1|0;return e|0}if(!r){e=c;return e|0}Bt(e,1,1);e=c;return e|0}function ea(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0;l=r-t|0;o=e+136|0;s=e+144|0;n=f[s>>2]|0;if((((l|0)>-1?l:0-l|0)|0)>(n|0)){a=t-r>>31|1;i=re(a,i-t|0)|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=f[l>>2]|0;r=((i|0)<0?n:0)+i|0;n=r-((r|0)<((n+1|0)/2|0|0)?0:n)|0;ia(e,e+4576|0,n);n=re(n,a)|0;a=f[s>>2]|0;s=a<<1|1;n=(re(n,s)|0)+t|0;if((n|0)>=(0-a|0)){i=f[o>>2]|0;if((i+a|0)<(n|0))n=n-(re(f[l>>2]|0,s)|0)|0}else{n=(re(f[l>>2]|0,s)|0)+n|0;i=f[o>>2]|0}if((n&i|0)==(n|0)){o=n;o=o&255;return o|0}o=i&~(n>>31);o=o&255;return o|0}else{i=i-r|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=f[l>>2]|0;a=((i|0)<0?n:0)+i|0;n=a-((a|0)<((n+1|0)/2|0|0)?0:n)|0;ia(e,e+4588|0,n);a=f[s>>2]|0;s=a<<1|1;n=(re(s,n)|0)+r|0;if((n|0)>=(0-a|0)){i=f[o>>2]|0;if((i+a|0)<(n|0))n=n-(re(f[l>>2]|0,s)|0)|0}else{n=(re(f[l>>2]|0,s)|0)+n|0;i=f[o>>2]|0}if((n&i|0)==(n|0)){o=n;o=o&255;return o|0}o=i&~(n>>31);o=o&255;return o|0}return 0}function ia(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i+9|0;o=a[d>>0]|0;h=i+4|0;c=f[h>>2]|0;s=(re(o>>>1,c)|0)+(f[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0));s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0>>0:0)n=1;else u=5;do{if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}}while(0);n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;ra(e,s,n,(f[e+156>>2]|0)+-1-(f[36476+(f[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;t[e>>0]=(a[e>>0]|0)+1}n=(n+1-(f[h>>2]|0)>>1)+(f[i>>2]|0)|0;f[i>>2]=n;s=t[d>>0]|0;if(s<<24>>24!=(t[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return}f[i>>2]=n>>1;e=(s&255)>>>1;t[d>>0]=e;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return}function ra(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0;n=r>>i;a=e+148|0;s=t-(f[a>>2]|0)|0;if((n|0)<(s+-1|0)){if((n|0)>30){t=(n|0)/2|0;Bt(e,0,t);n=n-t|0}Bt(e,1,n+1|0);Bt(e,(1<31){Bt(e,0,31);Bt(e,1,t+-31-(f[a>>2]|0)|0)}else Bt(e,1,s);i=f[a>>2]|0;Bt(e,(1<>2]|0)){r=f[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<>2])+-1|0)?(op(n,r,0),(f[n+4>>2]|0)==(f[e+184>>2]|0)):0)?(f[n+8>>2]|0)==(f[e+188>>2]|0):0)?(f[n+12>>2]|0)==(f[e+192>>2]|0):0)switch(f[i>>2]|0){case 8:{b=f[8900]|0;f[e+4612>>2]=b+(((f[8901]|0)-b|0)>>>1);c=k;return}case 10:{b=f[8903]|0;f[e+4612>>2]=b+(((f[8904]|0)-b|0)>>>1);c=k;return}case 12:{b=f[8906]|0;f[e+4612>>2]=b+(((f[8907]|0)-b|0)>>>1);c=k;return}case 16:{b=f[8909]|0;f[e+4612>>2]=b+(((f[8910]|0)-b|0)>>>1);c=k;return}default:break e}}else i=e+152|0}while(0);d=1<>2];r=e+4616|0;n=d<<1;a=e+4620|0;s=f[a>>2]|0;i=f[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0>>0?(o=i+n|0,(s|0)!=(o|0)):0)f[a>>2]=o}else{zt(r,n-l|0);i=f[r>>2]|0}h=e+4612|0;f[h>>2]=i+d;i=0-d|0;if((d|0)<=(i|0)){c=k;return}o=e+192|0;u=e+188|0;l=e+184|0;s=i;do{i=f[o>>2]|0;if((s|0)>(0-i|0)){r=f[u>>2]|0;if((s|0)>(0-r|0)){n=f[l>>2]|0;if((s|0)>(0-n|0)){a=f[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;t[(f[h>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(d|0));c=k;return}function na(e){e=e|0;var i=0,r=0;f[e>>2]=35856;i=f[e+4608>>2]|0;if(i){r=e+4612|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}e=e+88|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fM[f[(f[i>>2]|0)+4>>2]&255](i);return}function fa(e){e=e|0;var i=0,r=0;f[e>>2]=35856;i=f[e+4608>>2]|0;if(i){r=e+4612|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+88|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Ip(e);return}fM[f[(f[i>>2]|0)+4>>2]&255](i);Ip(e);return}function aa(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;y=c;c=c+352|0;M=y+328|0;E=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((f[e+28>>2]|0)!=0?(f[e+20>>2]|0)!=1:0){m=e+4|0;p=e+32|0;l=f[p>>2]|0;if(!l){e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[r>>0]|0;Re(37,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}e=f[e+12>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[n>>0]|0;Re(38,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[a>>0]|0;Re(39,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[s>>0]|0;Re(40,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=E+56|0;a=E+4|0;f[E>>2]=36160;f[l>>2]=36180;_=0;ce(62,E+56|0,a|0);y=_;_=0;if(y&1){A=ze()|0;nd(l);$e(A|0)}f[E+128>>2]=0;f[E+132>>2]=-1;f[E>>2]=36200;f[E+56>>2]=36220;_=0;ue(180,a|0);y=_;_=0;do{if(y&1)e=ze()|0;else{f[a>>2]=36236;s=E+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[E+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);y=_;_=0;if(y&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,E|0,49007,21)|0;M=_;_=0;do{if((!(M&1)?(_=0,d=pe(36,e|0,f[p>>2]|0)|0,M=_,_=0,!(M&1)):0)?(_=0,ke(28,d|0,50997,18)|0,M=_,_=0,!(M&1)):0){n=He(16)|0;_=0;ce(64,k|0,a|0);M=_;_=0;if(!(M&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,k|0);M=_;_=0;if(M&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(k);if(!r)break}else e=ze()|0;je(n|0)}else A=34}while(0);if((A|0)==34)e=ze()|0;f[E>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,e|0,8,35648);A=_;_=0;if(!(A&1))bi(e|0,824,96);A=ze()|0;je(e|0);$e(A|0)}r=16-e|0;switch(l|0){case 1:{e=Bp(60)|0;f[o>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[o>>2];f[M+4>>2]=f[o+4>>2];Re(41,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(60)|0;f[u>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[u>>2];f[M+4>>2]=f[u+4>>2];Re(42,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(60)|0;f[h>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[h>>2];f[M+4>>2]=f[h+4>>2];Re(43,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;_=0;ce(62,g+56|0,a|0);E=_;_=0;if(E&1){A=ze()|0;nd(l);$e(A|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;_=0;ue(180,a|0);E=_;_=0;do{if(E&1)e=ze()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);E=_;_=0;if(E&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,g|0,49007,21)|0;E=_;_=0;do{if((!(E&1)?(_=0,b=pe(36,e|0,f[p>>2]|0)|0,E=_,_=0,!(E&1)):0)?(_=0,ke(28,b|0,50997,18)|0,E=_,_=0,!(E&1)):0){n=He(16)|0;_=0;ce(64,v|0,a|0);E=_;_=0;if(!(E&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,v|0);E=_;_=0;if(E&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(v);if(!r)break}else e=ze()|0;je(n|0)}else A=64}while(0);if((A|0)==64)e=ze()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}}r=f[i+4>>2]|0;n=Bp(16)|0;e=f[e+16>>2]|0;if(!r){A=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=A;f[n+8>>2]=2;f[n+12>>2]=e;A=n;c=y;return A|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=2;f[n+12>>2]=e;A=n;c=y;return A|0}return 0}function sa(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,h=0;o=c;c=c+32|0;h=o;op(h,f[e+128>>2]|0,f[e+136>>2]|0);u=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[h+8>>2]|0:l;s=f[i+12>>2]|0;s=(s|0)==0?f[h+12>>2]|0:s;r=f[i+16>>2]|0;a=f[h+16>>2]|0;f[e+176>>2]=(u|0)==0?f[h+4>>2]|0:u;f[e+180>>2]=l;f[e+184>>2]=s;ma(e);s=e+132|0;i=(f[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{f[e+188+(l*12|0)>>2]=i;f[e+188+(l*12|0)+4>>2]=0;n[e+188+(l*12|0)+8>>1]=0;n[e+188+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365);u=(f[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;h=((r|0)==0?a:r)&255;f[e+4568>>2]=u;f[e+4572>>2]=0;t[e+4576>>0]=h;t[e+4577>>0]=1;t[e+4578>>0]=0;f[e+4580>>2]=u;f[e+4584>>2]=1;t[e+4588>>0]=h;t[e+4589>>0]=1;t[e+4590>>0]=0;f[e+4592>>2]=0;c=o;return}function la(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=f[i>>2]|0;f[i>>2]=0;i=f[l>>2]|0;f[l>>2]=s;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=f[l>>2]|0;t[e+4620>>0]=a&1;i=e+156|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];Ct(e,n);oa(e);i=f[e+116>>2]|0;e=f[e+112>>2]|0;while(1){a=i+-1|0;r=(t[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=f[l>>2]|0;if(!a)return;f[l>>2]=a+i;n=n+8|0;f[n>>2]=(f[n>>2]|0)-i;return}function oa(e){e=e|0;var i=0,r=0,t=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0;S=c;c=c+32|0;C=S+12|0;A=S;y=e+172|0;M=(f[y>>2]|0)+4|0;if((f[e+28>>2]|0)==1)E=f[e+20>>2]|0;else E=1;i=re(E<<1,M)|0;f[C>>2]=0;R=C+4|0;f[R>>2]=0;f[C+8>>2]=0;do{if(i){if(!((i|0)<0?(_=0,ue(178,C|0),T=_,_=0,T&1):0))l=6;if((l|0)==6?(r=i<<1,_=0,t=de(67,r|0)|0,T=_,_=0,!(T&1)):0){f[C>>2]=t;T=t+(i<<1)|0;f[C+8>>2]=T;ym(t|0,0,r|0)|0;f[R>>2]=T;break}t=ze()|0;i=f[C>>2]|0;if(!i)$e(t|0);r=f[R>>2]|0;if((r|0)!=(i|0))f[R>>2]=r+(~((r+-2-i|0)>>>1)<<1);Ip(i);$e(t|0)}}while(0);f[A>>2]=0;T=A+4|0;f[T>>2]=0;f[A+8>>2]=0;do{if(!E)l=18;else{if(!(E>>>0>1073741823?(_=0,ue(178,A|0),g=_,_=0,g&1):0))l=16;if((l|0)==16?(a=E<<2,_=0,s=de(67,a|0)|0,g=_,_=0,!(g&1)):0){f[A>>2]=s;l=s+(E<<2)|0;f[A+8>>2]=l;ym(s|0,0,a|0)|0;f[T>>2]=l;l=18;break}t=ze()|0;i=f[A>>2]|0;r=i;if(i){a=f[T>>2]|0;if((a|0)!=(i|0))f[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}}while(0);if((l|0)==18){s=e+8|0;e:do{if((f[s>>2]|0)>0){l=e+4596|0;o=re(E,M)|0;u=o+1|0;h=e+4600|0;d=(E|0)>0;b=e+160|0;k=e+168|0;w=e+164|0;m=e+156|0;v=e+88|0;p=e+4592|0;g=0;i:while(1){t=f[C>>2]|0;r=t+2|0;f[l>>2]=r;t=t+(u<<1)|0;f[h>>2]=t;if(!(g&1))i=t;else{f[l>>2]=t;f[h>>2]=r;i=r;r=t}if(d){a=f[A>>2]|0;t=0;do{f[p>>2]=f[a+(t<<2)>>2];a=f[y>>2]|0;n[r+(a<<1)>>1]=n[r+(a+-1<<1)>>1]|0;n[i+-2>>1]=n[r>>1]|0;_=0;ce(76,e|0,0);a=_;_=0;if(a&1){l=29;break i}a=f[A>>2]|0;f[a+(t<<2)>>2]=f[p>>2];r=(f[l>>2]|0)+(M<<1)|0;f[l>>2]=r;i=(f[h>>2]|0)+(M<<1)|0;f[h>>2]=i;t=t+1|0}while((t|0)<(E|0))}a=f[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((f[k>>2]|0)+a|0):0)?(a=f[v>>2]|0,_=0,Re(f[(f[a>>2]|0)+8>>2]|0,a|0,i+((f[m>>2]|0)-o<<1)|0,f[w>>2]|0,M|0),a=_,_=0,a&1):0){l=30;break}g=g+1|0;if((g|0)>=(f[s>>2]|0)){l=42;break e}}if((l|0)==29){t=ze()|0;break}else if((l|0)==30){t=ze()|0;break}}else l=42}while(0);do{if((l|0)==42){_=0;ue(183,e|0);e=_;_=0;if(e&1){t=ze()|0;break}i=f[A>>2]|0;r=i;if(i){t=f[T>>2]|0;if((t|0)!=(i|0))f[T>>2]=t+(~((t+-4-r|0)>>>2)<<2);Ip(i)}i=f[C>>2]|0;if(!i){c=S;return}r=f[R>>2]|0;if((r|0)!=(i|0))f[R>>2]=r+(~((r+-2-i|0)>>>1)<<1);Ip(i);c=S;return}}while(0);i=f[A>>2]|0;r=i;if(i){a=f[T>>2]|0;if((a|0)!=(i|0))f[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}i=f[C>>2]|0;if(!i)$e(t|0);r=f[R>>2]|0;if((r|0)!=(i|0))f[R>>2]=r+(~((r+-2-i|0)>>>1)<<1);Ip(i);$e(t|0)}function ua(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0;w=e+4596|0;r=f[w>>2]|0;p=e+172|0;i=f[p>>2]|0;if((i|0)<=0)return;_=e+4600|0;m=e+4604|0;v=e+4592|0;c=r;o=s[r+-2>>1]|0;r=s[r>>1]|0;k=0;while(1){d=f[_>>2]|0;u=n[d+(k+-1<<1)>>1]|0;b=u&65535;l=k+1|0;a=s[c+(l<<1)>>1]|0;h=f[m>>2]|0;c=r-o|0;o=o-b|0;h=((((t[h+(a-r)>>0]|0)*9|0)+(t[h+c>>0]|0)|0)*9|0)+(t[h+o>>0]|0)|0;d=d+(k<<1)|0;if(!h){i=da(e,u,d,i-k|0)|0;r=i+k|0;if((r|0)!=(f[p>>2]|0)){b=ba(e,b,s[(f[w>>2]|0)+(r<<1)>>1]|0)|0;n[(f[_>>2]|0)+(r<<1)>>1]=b;b=f[v>>2]|0;f[v>>2]=(b|0)<1?0:b+-1|0;i=i+1|0}l=i+k|0;a=f[w>>2]|0;r=s[a+(l+-1<<1)>>1]|0;a=s[a+(l<<1)>>1]|0}else{i=r-b>>31;if((i^o|0)<0)i=r;else i=b+((i^c|0)<0?0:c)|0;b=ha(e,h,s[d>>1]|0,i,0)|0;n[(f[_>>2]|0)+(k<<1)>>1]=b}i=f[p>>2]|0;if((i|0)<=(l|0))break;c=f[w>>2]|0;o=r;r=a;k=l}return}function ca(e){e=e|0;var i=0,r=0,n=0,a=0;n=e+116|0;r=f[n>>2]|0;if((t[r>>0]|0)!=-1){a=e+112|0;i=f[a>>2]|0;if((i|0)<1){jt(e);i=f[a>>2]|0;r=f[n>>2]|0}e=e+108|0;n=f[e>>2]|0;f[a>>2]=i+-1;i=n<<1;f[e>>2]=i;if((t[r>>0]|0)!=-1){i=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,i|0,6,35648);e=_;_=0;if(!(e&1))bi(i|0,824,96);e=ze()|0;je(i|0);$e(e|0)}}else i=f[e+108>>2]|0;if(!i)return;i=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,i|0,6,35648);e=_;_=0;if(!(e&1))bi(i|0,824,96);e=ze()|0;je(i|0);$e(e|0)}function ha(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,m=0,v=0;v=i>>31;c=(v^i)-v|0;k=e+188+(c*12|0)+10|0;r=n[k>>1]|0;b=e+188+(c*12|0)|0;s=f[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){i=5;while(1)if((r<>1]^v)-v+a|0;m=e+128|0;s=f[m>>2]|0;if((r&s|0)==(r|0))h=r;else h=s&~(r>>31);r=e+112|0;if((f[r>>2]|0)<8)jt(e);s=e+108|0;a=f[s>>2]|0;l=a>>>24;o=f[2832+(i<<11)+(l<<3)+4>>2]|0;if(!o){u=f[e+148>>2]|0;s=f[e+140>>2]|0;r=wa(e)|0;if((r|0)<(u+-1-s|0)){if(i)r=(_a(e,i)|0)+(r<>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,r|0,5,35648);e=_;_=0;if(e&1){e=ze()|0;je(r|0);$e(e|0)}else bi(r|0,824,96)}}else{f[r>>2]=(f[r>>2]|0)-o;f[s>>2]=a<>2]|0}u=e+136|0;a=f[u>>2]|0;if(!i){if(!a)s=(f[e+188+(c*12|0)+4>>2]<<1)+-1+(n[k>>1]|0)>>31;else s=0;o=s^r}else o=r;i=f[e+152>>2]|0;s=(f[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;l=e+188+(c*12|0)+4|0;r=(f[l>>2]|0)+(re(a<<1|1,o)|0)|0;a=n[k>>1]|0;if((a|0)==(i|0)){s=s>>1;r=r>>1;a=i>>1}f[b>>2]=s;i=a+1|0;n[k>>1]=i;s=i+r|0;if((s|0)>=1){if((r|0)>0){r=r-i|0;k=n[d>>1]|0;n[d>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=n[d>>1]|0;n[d>>1]=(r&65535)-(r<<16>>16>-128&1);r=(s|0)>(~a|0)?s:0-a|0}f[l>>2]=r;i=f[u>>2]|0;a=i<<1|1;s=(re(a,(o^v)-v|0)|0)+h|0;if((s|0)>=(0-i|0)){r=f[m>>2]|0;if((r+i|0)<(s|0))s=s-(re(f[e+132>>2]|0,a)|0)|0}else{s=(re(f[e+132>>2]|0,a)|0)+s|0;r=f[m>>2]|0}if((s&r|0)==(s|0)){e=s;e=e&65535;return e|0}e=r&~(s>>31);e=e&65535;return e|0}function da(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0;u=e+112|0;c=e+108|0;h=e+4592|0;s=f[u>>2]|0;l=0;while(1){if((s|0)<1){jt(e);s=f[u>>2]|0}o=f[c>>2]|0;s=s+-1|0;f[u>>2]=s;f[c>>2]=o<<1;if((o|0)>=0){d=8;break}o=f[h>>2]|0;b=1<>2];k=a-l|0;k=(b|0)<(k|0)?b:k;l=k+l|0;if((k|0)==(b|0))f[h>>2]=(o|0)>30?31:o+1|0;if((l|0)==(a|0)){s=a;break}}if((d|0)==8)if((l|0)!=(a|0)){s=f[h>>2]|0;if((s+-4|0)>>>0<28)s=_a(e,f[36476+(s<<2)>>2]|0)|0;else s=0;s=s+l|0;if((s|0)>(a|0)){s=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,s|0,5,35648);k=_;_=0;if(k&1){k=ze()|0;je(s|0);$e(k|0)}else bi(s|0,824,96)}}else s=a;if((s|0)>0)l=0;else return s|0;do{n[r+(l<<1)>>1]=i;l=l+1|0}while((l|0)!=(s|0));return s|0}function ba(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0;a=i-r|0;s=e+128|0;t=e+136|0;if((((a|0)>-1?a:0-a|0)|0)>(f[t>>2]|0)){i=re(ka(e,e+4568|0)|0,r-i>>31|1)|0;n=f[t>>2]|0;a=n<<1|1;i=(re(i,a)|0)+r|0;if((i|0)>=(0-n|0)){t=f[s>>2]|0;if((t+n|0)<(i|0))i=i-(re(f[e+132>>2]|0,a)|0)|0}else{i=(re(f[e+132>>2]|0,a)|0)+i|0;t=f[s>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&65535;return e|0}e=t&~(i>>31);e=e&65535;return e|0}else{r=ka(e,e+4580|0)|0;a=f[t>>2]|0;n=a<<1|1;i=(re(n,r)|0)+i|0;if((i|0)>=(0-a|0)){t=f[s>>2]|0;if((t+a|0)<(i|0))i=i-(re(f[e+132>>2]|0,n)|0)|0}else{i=(re(f[e+132>>2]|0,n)|0)+i|0;t=f[s>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&65535;return e|0}e=t&~(i>>31);e=e&65535;return e|0}return 0}function ka(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0;h=i+9|0;r=a[h>>0]|0;l=i+4|0;s=(re(r>>>1,f[l>>2]|0)|0)+(f[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;o=f[e+148>>2]|0;u=f[36476+(f[e+4592>>2]<<2)>>2]|0;r=f[e+140>>2]|0;s=wa(e)|0;do{if((s|0)<(o+-2-u-r|0))if(!n){n=f[l>>2]|0;e=n+s|0;r=e&1;e=(r+e|0)/2|0;c=8;break}else{u=(_a(e,n)|0)+(s<>2]|0;s=u+n|0;o=s&1;r=o;l=1;s=(o+s|0)/2|0;break}else{s=(_a(e,r)|0)+1|0;o=f[l>>2]|0;e=s+o|0;r=e&1;e=(r+e|0)/2|0;if(!n){n=o;c=8}else{u=s;l=1;s=e;n=o}}}while(0);if((c|0)==8){u=s;l=a[i+10>>0]<<1>>>0>=(a[h>>0]|0)>>>0;s=e}s=(r|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;t[c>>0]=(a[c>>0]|0)+1}r=(u+1-n>>1)+(f[i>>2]|0)|0;f[i>>2]=r;n=t[h>>0]|0;if(n<<24>>24!=(t[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return s|0}f[i>>2]=r>>1;c=(n&255)>>>1;t[h>>0]=c;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=c;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return s|0}function wa(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0;a=e+112|0;if((f[a>>2]|0)<16)jt(e);s=e+108|0;r=f[s>>2]|0;if((r|0)>=0)if(!(r&1073741824))if(!(r&536870912))if(!(r&268435456))if(!(r&134217728))if(!(r&67108864))if(!(r&33554432))if(!(r&16777216))if(!(r&8388608))if(!(r&4194304))if(!(r&2097152))if(!(r&1048576))if(!(r&524288))if(!(r&262144))if(!(r&131072)){n=r>>>12&16;i=n+-1|0;if(!n){i=(f[a>>2]|0)+-15|0;f[a>>2]=i;t=r<<15;f[s>>2]=t;r=i;i=15;while(1){if((r|0)<1){jt(e);n=f[s>>2]|0;r=f[a>>2]|0}else n=t;r=r+-1|0;f[a>>2]=r;t=n<<1;f[s>>2]=t;if((n|0)<0)break;else i=i+1|0}return i|0}}else i=14;else i=13;else i=12;else i=11;else i=10;else i=9;else i=8;else i=7;else i=6;else i=5;else i=4;else i=3;else i=2;else i=1;else i=0;e=i+1|0;f[a>>2]=(f[a>>2]|0)-e;f[s>>2]=r<>2]|0;if((r|0)<(i|0)){jt(e);r=f[n>>2]|0;if((r|0)<(i|0)){r=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,r|0,5,35648);e=_;_=0;if(e&1){e=ze()|0;je(r|0);$e(e|0)}else bi(r|0,824,96)}}a=e+108|0;e=f[a>>2]|0;f[n>>2]=r-i;f[a>>2]=e<>>(32-i|0)|0}function ma(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0;k=c;c=c+32|0;n=k;b=e+136|0;e:do{if(!(f[b>>2]|0)){r=f[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<>2])+-1|0)?(op(n,r,0),(f[n+4>>2]|0)==(f[e+176>>2]|0)):0)?(f[n+8>>2]|0)==(f[e+180>>2]|0):0)?(f[n+12>>2]|0)==(f[e+184>>2]|0):0)switch(f[i>>2]|0){case 8:{b=f[8900]|0;f[e+4604>>2]=b+(((f[8901]|0)-b|0)>>>1);c=k;return}case 10:{b=f[8903]|0;f[e+4604>>2]=b+(((f[8904]|0)-b|0)>>>1);c=k;return}case 12:{b=f[8906]|0;f[e+4604>>2]=b+(((f[8907]|0)-b|0)>>>1);c=k;return}case 16:{b=f[8909]|0;f[e+4604>>2]=b+(((f[8910]|0)-b|0)>>>1);c=k;return}default:break e}}else i=e+144|0}while(0);d=1<>2];r=e+4608|0;n=d<<1;a=e+4612|0;s=f[a>>2]|0;i=f[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0>>0?(o=i+n|0,(s|0)!=(o|0)):0)f[a>>2]=o}else{zt(r,n-l|0);i=f[r>>2]|0}h=e+4604|0;f[h>>2]=i+d;i=0-d|0;if((d|0)<=(i|0)){c=k;return}o=e+184|0;u=e+180|0;l=e+176|0;s=i;do{i=f[o>>2]|0;if((s|0)>(0-i|0)){r=f[u>>2]|0;if((s|0)>(0-r|0)){n=f[l>>2]|0;if((s|0)>(0-n|0)){a=f[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;t[(f[h>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(d|0));c=k;return}function va(e){e=e|0;var i=0,r=0;f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}e=e+88|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fM[f[(f[i>>2]|0)+4>>2]&255](i);return}function pa(e){e=e|0;var i=0,r=0;f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+88|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Ip(e);return}fM[f[(f[i>>2]|0)+4>>2]&255](i);Ip(e);return}function ga(e){e=e|0;var i=0,r=0;f[e>>2]=35828;i=f[e+4608>>2]|0;if(i){r=e+4612|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}e=e+88|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fM[f[(f[i>>2]|0)+4>>2]&255](i);return}function ya(e){e=e|0;var i=0,r=0;f[e>>2]=35828;i=f[e+4608>>2]|0;if(i){r=e+4612|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+88|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Ip(e);return}fM[f[(f[i>>2]|0)+4>>2]&255](i);Ip(e);return}function Ma(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;y=c;c=c+352|0;M=y+328|0;E=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((f[e+28>>2]|0)!=0?(f[e+20>>2]|0)!=1:0){m=e+4|0;p=e+32|0;l=f[p>>2]|0;if(!l){e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[r>>0]|0;Re(37,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}e=f[e+12>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[n>>0]|0;Re(38,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[a>>0]|0;Re(39,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[s>>0]|0;Re(40,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=E+56|0;a=E+4|0;f[E>>2]=36160;f[l>>2]=36180;_=0;ce(62,E+56|0,a|0);y=_;_=0;if(y&1){A=ze()|0;nd(l);$e(A|0)}f[E+128>>2]=0;f[E+132>>2]=-1;f[E>>2]=36200;f[E+56>>2]=36220;_=0;ue(180,a|0);y=_;_=0;do{if(y&1)e=ze()|0;else{f[a>>2]=36236;s=E+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[E+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);y=_;_=0;if(y&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,E|0,49007,21)|0;M=_;_=0;do{if((!(M&1)?(_=0,d=pe(36,e|0,f[p>>2]|0)|0,M=_,_=0,!(M&1)):0)?(_=0,ke(28,d|0,50997,18)|0,M=_,_=0,!(M&1)):0){n=He(16)|0;_=0;ce(64,k|0,a|0);M=_;_=0;if(!(M&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,k|0);M=_;_=0;if(M&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(k);if(!r)break}else e=ze()|0;je(n|0)}else A=34}while(0);if((A|0)==34)e=ze()|0;f[E>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,e|0,8,35648);A=_;_=0;if(!(A&1))bi(e|0,824,96);A=ze()|0;je(e|0);$e(A|0)}r=16-e|0;switch(l|0){case 1:{e=Bp(60)|0;f[o>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[o>>2];f[M+4>>2]=f[o+4>>2];Re(41,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(60)|0;f[u>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[u>>2];f[M+4>>2]=f[u+4>>2];Re(42,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(60)|0;f[h>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[h>>2];f[M+4>>2]=f[h+4>>2];Re(43,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;_=0;ce(62,g+56|0,a|0);E=_;_=0;if(E&1){A=ze()|0;nd(l);$e(A|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;_=0;ue(180,a|0);E=_;_=0;do{if(E&1)e=ze()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);E=_;_=0;if(E&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,g|0,49007,21)|0;E=_;_=0;do{if((!(E&1)?(_=0,b=pe(36,e|0,f[p>>2]|0)|0,E=_,_=0,!(E&1)):0)?(_=0,ke(28,b|0,50997,18)|0,E=_,_=0,!(E&1)):0){n=He(16)|0;_=0;ce(64,v|0,a|0);E=_;_=0;if(!(E&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,v|0);E=_;_=0;if(E&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(v);if(!r)break}else e=ze()|0;je(n|0)}else A=64}while(0);if((A|0)==64)e=ze()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}}r=f[i+4>>2]|0;n=Bp(16)|0;e=f[e+16>>2]|0;if(!r){A=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=A;f[n+8>>2]=6;f[n+12>>2]=e;A=n;c=y;return A|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=6;f[n+12>>2]=e;A=n;c=y;return A|0}return 0}function Ea(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,h=0;o=c;c=c+32|0;h=o;op(h,f[e+128>>2]|0,f[e+136>>2]|0);u=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[h+8>>2]|0:l;s=f[i+12>>2]|0;s=(s|0)==0?f[h+12>>2]|0:s;r=f[i+16>>2]|0;a=f[h+16>>2]|0;f[e+176>>2]=(u|0)==0?f[h+4>>2]|0:u;f[e+180>>2]=l;f[e+184>>2]=s;xa(e);s=e+132|0;i=(f[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{f[e+188+(l*12|0)>>2]=i;f[e+188+(l*12|0)+4>>2]=0;n[e+188+(l*12|0)+8>>1]=0;n[e+188+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365);u=(f[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;h=((r|0)==0?a:r)&255;f[e+4568>>2]=u;f[e+4572>>2]=0;t[e+4576>>0]=h;t[e+4577>>0]=1;t[e+4578>>0]=0;f[e+4580>>2]=u;f[e+4584>>2]=1;t[e+4588>>0]=h;t[e+4589>>0]=1;t[e+4590>>0]=0;f[e+4592>>2]=0;c=o;return}function Aa(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=f[i>>2]|0;f[i>>2]=0;i=f[l>>2]|0;f[l>>2]=s;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=f[l>>2]|0;t[e+4620>>0]=a&1;i=e+156|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];Ct(e,n);Sa(e);i=f[e+116>>2]|0;e=f[e+112>>2]|0;while(1){a=i+-1|0;r=(t[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=f[l>>2]|0;if(!a)return;f[l>>2]=a+i;n=n+8|0;f[n>>2]=(f[n>>2]|0)-i;return}function Sa(e){e=e|0;var i=0,r=0,t=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0;S=c;c=c+32|0;C=S+12|0;A=S;y=e+172|0;M=(f[y>>2]|0)+4|0;if((f[e+28>>2]|0)==1)E=f[e+20>>2]|0;else E=1;i=re(E<<1,M)|0;f[C>>2]=0;R=C+4|0;f[R>>2]=0;f[C+8>>2]=0;do{if(i){if(!(i>>>0>715827882?(_=0,ue(178,C|0),T=_,_=0,T&1):0))l=6;if((l|0)==6?(_=0,r=de(67,i*6|0)|0,T=_,_=0,!(T&1)):0){f[R>>2]=r;f[C>>2]=r;t=r+(i*6|0)|0;f[C+8>>2]=t;while(1){n[r>>1]=0;n[r+2>>1]=0;n[r+4>>1]=0;i=i+-1|0;if(!i)break;else r=r+6|0}f[R>>2]=t;break}t=ze()|0;i=f[C>>2]|0;if(!i)$e(t|0);r=f[R>>2]|0;if((r|0)!=(i|0))f[R>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);Ip(i);$e(t|0)}}while(0);f[A>>2]=0;T=A+4|0;f[T>>2]=0;f[A+8>>2]=0;do{if(!E)l=20;else{if(!(E>>>0>1073741823?(_=0,ue(178,A|0),g=_,_=0,g&1):0))l=18;if((l|0)==18?(a=E<<2,_=0,s=de(67,a|0)|0,g=_,_=0,!(g&1)):0){f[A>>2]=s;l=s+(E<<2)|0;f[A+8>>2]=l;ym(s|0,0,a|0)|0;f[T>>2]=l;l=20;break}t=ze()|0;i=f[A>>2]|0;r=i;if(i){a=f[T>>2]|0;if((a|0)!=(i|0))f[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}}while(0);if((l|0)==20){s=e+8|0;e:do{if((f[s>>2]|0)>0){l=e+4596|0;o=re(E,M)|0;u=o+1|0;h=e+4600|0;d=(E|0)>0;b=e+160|0;k=e+168|0;w=e+164|0;m=e+156|0;v=e+88|0;p=e+4592|0;g=0;i:while(1){t=f[C>>2]|0;r=t+6|0;f[l>>2]=r;t=t+(u*6|0)|0;f[h>>2]=t;if(!(g&1))i=t;else{f[l>>2]=t;f[h>>2]=r;i=r;r=t}if(d){a=f[A>>2]|0;t=0;do{f[p>>2]=f[a+(t<<2)>>2];i=f[y>>2]|0;a=r+(i*6|0)|0;r=r+((i+-1|0)*6|0)|0;n[a>>1]=n[r>>1]|0;n[a+2>>1]=n[r+2>>1]|0;n[a+4>>1]=n[r+4>>1]|0;a=(f[h>>2]|0)+-6|0;r=f[l>>2]|0;n[a>>1]=n[r>>1]|0;n[a+2>>1]=n[r+2>>1]|0;n[a+4>>1]=n[r+4>>1]|0;_=0;ce(77,e|0,0);a=_;_=0;if(a&1){l=31;break i}a=f[A>>2]|0;f[a+(t<<2)>>2]=f[p>>2];r=(f[l>>2]|0)+(M*6|0)|0;f[l>>2]=r;i=(f[h>>2]|0)+(M*6|0)|0;f[h>>2]=i;t=t+1|0}while((t|0)<(E|0))}a=f[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((f[k>>2]|0)+a|0):0)?(a=f[v>>2]|0,_=0,Re(f[(f[a>>2]|0)+8>>2]|0,a|0,i+(((f[m>>2]|0)-o|0)*6|0)|0,f[w>>2]|0,M|0),a=_,_=0,a&1):0){l=32;break}g=g+1|0;if((g|0)>=(f[s>>2]|0)){l=44;break e}}if((l|0)==31){t=ze()|0;break}else if((l|0)==32){t=ze()|0;break}}else l=44}while(0);do{if((l|0)==44){_=0;ue(183,e|0);e=_;_=0;if(e&1){t=ze()|0;break}i=f[A>>2]|0;r=i;if(i){t=f[T>>2]|0;if((t|0)!=(i|0))f[T>>2]=t+(~((t+-4-r|0)>>>2)<<2);Ip(i)}i=f[C>>2]|0;if(!i){c=S;return}r=f[R>>2]|0;if((r|0)!=(i|0))f[R>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);Ip(i);c=S;return}}while(0);i=f[A>>2]|0;r=i;if(i){a=f[T>>2]|0;if((a|0)!=(i|0))f[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}i=f[C>>2]|0;if(!i)$e(t|0);r=f[R>>2]|0;if((r|0)!=(i|0))f[R>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);Ip(i);$e(t|0)}function Ta(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0;U=c;c=c+32|0;R=U+24|0;F=U+18|0;N=U+12|0;L=U+6|0;P=U;x=e+172|0;i=f[x>>2]|0;if((i|0)<=0){c=U;return}O=e+4600|0;B=e+4596|0;I=e+4604|0;D=e+4592|0;C=0;while(1){a=C+-1|0;l=f[O>>2]|0;j=f[B>>2]|0;r=C+1|0;o=s[j+(C*6|0)>>1]|0;T=f[I>>2]|0;u=s[j+(a*6|0)>>1]|0;h=o-u|0;d=s[l+(a*6|0)>>1]|0;b=u-d|0;k=((((t[T+((s[j+(r*6|0)>>1]|0)-o)>>0]|0)*9|0)+(t[T+h>>0]|0)|0)*9|0)+(t[T+b>>0]|0)|0;w=s[j+(C*6|0)+2>>1]|0;_=s[j+(a*6|0)+2>>1]|0;m=w-_|0;v=s[l+(a*6|0)+2>>1]|0;p=_-v|0;g=((((t[T+((s[j+(r*6|0)+2>>1]|0)-w)>>0]|0)*9|0)+(t[T+m>>0]|0)|0)*9|0)+(t[T+p>>0]|0)|0;y=s[j+(C*6|0)+4>>1]|0;M=s[j+(a*6|0)+4>>1]|0;E=y-M|0;A=s[l+(a*6|0)+4>>1]|0;S=M-A|0;T=((((t[T+((s[j+(r*6|0)+4>>1]|0)-y)>>0]|0)*9|0)+(t[T+E>>0]|0)|0)*9|0)+(t[T+S>>0]|0)|0;if(!(g|k|T)){r=l+(a*6|0)|0;n[N>>1]=n[r>>1]|0;n[N+2>>1]=n[r+2>>1]|0;n[N+4>>1]=n[r+4>>1]|0;n[R>>1]=n[r>>1]|0;n[R+2>>1]=n[r+2>>1]|0;n[R+4>>1]=n[r+4>>1]|0;i=Ca(e,R,l+(C*6|0)|0,i-C|0)|0;r=i+C|0;if((r|0)!=(f[x>>2]|0)){j=(f[B>>2]|0)+(r*6|0)|0;n[P>>1]=n[j>>1]|0;n[P+2>>1]=n[j+2>>1]|0;n[P+4>>1]=n[j+4>>1]|0;j=(f[O>>2]|0)+(r*6|0)|0;n[F>>1]=n[N>>1]|0;n[F+2>>1]=n[N+2>>1]|0;n[F+4>>1]=n[N+4>>1]|0;n[R>>1]=n[P>>1]|0;n[R+2>>1]=n[P+2>>1]|0;n[R+4>>1]=n[P+4>>1]|0;Ra(L,e,F,R);n[j>>1]=n[L>>1]|0;n[j+2>>1]=n[L+2>>1]|0;n[j+4>>1]=n[L+4>>1]|0;j=f[D>>2]|0;f[D>>2]=(j|0)<1?0:j+-1|0;i=i+1|0}r=i+C|0}else{a=s[l+(C*6|0)>>1]|0;i=o-d>>31;if((i^b|0)>=0)if((i^h|0)<0)i=d;else i=d-u+o|0;else i=o;o=La(e,k,a,i,0)|0;a=s[(f[O>>2]|0)+(C*6|0)+2>>1]|0;i=w-v>>31;if((i^p|0)>=0)if((i^m|0)<0)i=v;else i=v-_+w|0;else i=w;a=La(e,g,a,i,0)|0;l=s[(f[O>>2]|0)+(C*6|0)+4>>1]|0;i=y-A>>31;if((i^S|0)>=0)if((i^E|0)<0)i=A;else i=A-M+y|0;else i=y;T=La(e,T,l,i,0)|0;j=f[O>>2]|0;n[j+(C*6|0)>>1]=o;n[j+(C*6|0)+2>>1]=a;n[j+(C*6|0)+4>>1]=T}i=f[x>>2]|0;if((r|0)>=(i|0))break;else C=r}c=U;return}function Ca(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0;u=e+112|0;c=e+108|0;h=e+4592|0;s=f[u>>2]|0;l=0;while(1){if((s|0)<1){jt(e);s=f[u>>2]|0}o=f[c>>2]|0;s=s+-1|0;f[u>>2]=s;f[c>>2]=o<<1;if((o|0)>=0){d=8;break}o=f[h>>2]|0;b=1<>2];k=a-l|0;k=(b|0)<(k|0)?b:k;l=k+l|0;if((k|0)==(b|0))f[h>>2]=(o|0)>30?31:o+1|0;if((l|0)==(a|0)){s=a;break}}if((d|0)==8)if((l|0)!=(a|0)){s=f[h>>2]|0;if((s+-4|0)>>>0<28)s=_a(e,f[36476+(s<<2)>>2]|0)|0;else s=0;s=s+l|0;if((s|0)>(a|0)){s=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,s|0,5,35648);k=_;_=0;if(k&1){k=ze()|0;je(s|0);$e(k|0)}else bi(s|0,824,96)}}else s=a;if((s|0)<=0)return s|0;l=0;do{k=r+(l*6|0)|0;n[k>>1]=n[i>>1]|0;n[k+2>>1]=n[i+2>>1]|0;n[k+4>>1]=n[i+4>>1]|0;l=l+1|0}while((l|0)!=(s|0));return s|0}function Ra(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var a=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;c=i+4568|0;b=Pa(i,c)|0;o=Pa(i,c)|0;c=Pa(i,c)|0;l=i+128|0;a=s[t>>1]|0;h=f[i+136>>2]|0;d=h<<1|1;a=(re(re(d,b)|0,a-(s[r>>1]|0)>>31|1)|0)+a|0;b=0-h|0;if((a|0)>=(b|0)){l=f[l>>2]|0;if((l+h|0)<(a|0))a=a-(re(f[i+132>>2]|0,d)|0)|0}else{a=(re(f[i+132>>2]|0,d)|0)+a|0;l=f[l>>2]|0}if((a&l|0)!=(a|0))a=l&~(a>>31);u=a&65535;a=s[t+2>>1]|0;a=(re(re(d,o)|0,a-(s[r+2>>1]|0)>>31|1)|0)+a|0;if((a|0)>=(b|0)){if((l+h|0)<(a|0))a=a-(re(f[i+132>>2]|0,d)|0)|0}else a=(re(f[i+132>>2]|0,d)|0)+a|0;if((a&l|0)!=(a|0))a=l&~(a>>31);o=a&65535;a=s[t+4>>1]|0;a=(re(re(d,c)|0,a-(s[r+4>>1]|0)>>31|1)|0)+a|0;if((a|0)>=(b|0)){if((l+h|0)<(a|0))a=a-(re(f[i+132>>2]|0,d)|0)|0}else a=(re(f[i+132>>2]|0,d)|0)+a|0;if((a&l|0)==(a|0)){i=a;i=i&65535;n[e>>1]=u;b=e+2|0;n[b>>1]=o;e=e+4|0;n[e>>1]=i;return}i=l&~(a>>31);i=i&65535;n[e>>1]=u;b=e+2|0;n[b>>1]=o;e=e+4|0;n[e>>1]=i;return}function La(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,m=0,v=0;v=i>>31;c=(v^i)-v|0;k=e+188+(c*12|0)+10|0;r=n[k>>1]|0;b=e+188+(c*12|0)|0;s=f[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){i=5;while(1)if((r<>1]^v)-v+a|0;m=e+128|0;s=f[m>>2]|0;if((r&s|0)==(r|0))h=r;else h=s&~(r>>31);r=e+112|0;if((f[r>>2]|0)<8)jt(e);s=e+108|0;a=f[s>>2]|0;l=a>>>24;o=f[2832+(i<<11)+(l<<3)+4>>2]|0;if(!o){u=f[e+148>>2]|0;s=f[e+140>>2]|0;r=wa(e)|0;if((r|0)<(u+-1-s|0)){if(i)r=(_a(e,i)|0)+(r<>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,r|0,5,35648);e=_;_=0;if(e&1){e=ze()|0;je(r|0);$e(e|0)}else bi(r|0,824,96)}}else{f[r>>2]=(f[r>>2]|0)-o;f[s>>2]=a<>2]|0}u=e+136|0;a=f[u>>2]|0;if(!i){if(!a)s=(f[e+188+(c*12|0)+4>>2]<<1)+-1+(n[k>>1]|0)>>31;else s=0;o=s^r}else o=r;i=f[e+152>>2]|0;s=(f[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;l=e+188+(c*12|0)+4|0;r=(f[l>>2]|0)+(re(a<<1|1,o)|0)|0;a=n[k>>1]|0;if((a|0)==(i|0)){s=s>>1;r=r>>1;a=i>>1}f[b>>2]=s;i=a+1|0;n[k>>1]=i;s=i+r|0;if((s|0)>=1){if((r|0)>0){r=r-i|0;k=n[d>>1]|0;n[d>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=n[d>>1]|0;n[d>>1]=(r&65535)-(r<<16>>16>-128&1);r=(s|0)>(~a|0)?s:0-a|0}f[l>>2]=r;i=f[u>>2]|0;a=i<<1|1;s=(re(a,(o^v)-v|0)|0)+h|0;if((s|0)>=(0-i|0)){r=f[m>>2]|0;if((r+i|0)<(s|0))s=s-(re(f[e+132>>2]|0,a)|0)|0}else{s=(re(f[e+132>>2]|0,a)|0)+s|0;r=f[m>>2]|0}if((s&r|0)==(s|0)){e=s;e=e&65535;return e|0}e=r&~(s>>31);e=e&65535;return e|0}function Pa(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0;h=i+9|0;r=a[h>>0]|0;l=i+4|0;s=(re(r>>>1,f[l>>2]|0)|0)+(f[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;o=f[e+148>>2]|0;u=f[36476+(f[e+4592>>2]<<2)>>2]|0;r=f[e+140>>2]|0;s=wa(e)|0;do{if((s|0)<(o+-2-u-r|0))if(!n){n=f[l>>2]|0;e=n+s|0;r=e&1;e=(r+e|0)/2|0;c=8;break}else{u=(_a(e,n)|0)+(s<>2]|0;s=u+n|0;o=s&1;r=o;l=1;s=(o+s|0)/2|0;break}else{s=(_a(e,r)|0)+1|0;o=f[l>>2]|0;e=s+o|0;r=e&1;e=(r+e|0)/2|0;if(!n){n=o;c=8}else{u=s;l=1;s=e;n=o}}}while(0);if((c|0)==8){u=s;l=a[i+10>>0]<<1>>>0>=(a[h>>0]|0)>>>0;s=e}s=(r|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;t[c>>0]=(a[c>>0]|0)+1}r=(u+1-n>>1)+(f[i>>2]|0)|0;f[i>>2]=r;n=t[h>>0]|0;if(n<<24>>24!=(t[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return s|0}f[i>>2]=r>>1;c=(n&255)>>>1;t[h>>0]=c;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=c;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return s|0}function xa(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0;k=c;c=c+32|0;n=k;b=e+136|0;e:do{if(!(f[b>>2]|0)){r=f[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<>2])+-1|0)?(op(n,r,0),(f[n+4>>2]|0)==(f[e+176>>2]|0)):0)?(f[n+8>>2]|0)==(f[e+180>>2]|0):0)?(f[n+12>>2]|0)==(f[e+184>>2]|0):0)switch(f[i>>2]|0){case 8:{b=f[8900]|0;f[e+4604>>2]=b+(((f[8901]|0)-b|0)>>>1);c=k;return}case 10:{b=f[8903]|0;f[e+4604>>2]=b+(((f[8904]|0)-b|0)>>>1);c=k;return}case 12:{b=f[8906]|0;f[e+4604>>2]=b+(((f[8907]|0)-b|0)>>>1);c=k;return}case 16:{b=f[8909]|0;f[e+4604>>2]=b+(((f[8910]|0)-b|0)>>>1);c=k;return}default:break e}}else i=e+144|0}while(0);d=1<>2];r=e+4608|0;n=d<<1;a=e+4612|0;s=f[a>>2]|0;i=f[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0>>0?(o=i+n|0,(s|0)!=(o|0)):0)f[a>>2]=o}else{zt(r,n-l|0);i=f[r>>2]|0}h=e+4604|0;f[h>>2]=i+d;i=0-d|0;if((d|0)<=(i|0)){c=k;return}o=e+184|0;u=e+180|0;l=e+176|0;s=i;do{i=f[o>>2]|0;if((s|0)>(0-i|0)){r=f[u>>2]|0;if((s|0)>(0-r|0)){n=f[l>>2]|0;if((s|0)>(0-n|0)){a=f[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;t[(f[h>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(d|0));c=k;return}function Oa(e){e=e|0;var i=0,r=0;f[e>>2]=35800;i=f[e+4608>>2]|0;if(i){r=e+4612|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}e=e+88|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fM[f[(f[i>>2]|0)+4>>2]&255](i);return}function Ba(e){e=e|0;var i=0,r=0;f[e>>2]=35800;i=f[e+4608>>2]|0;if(i){r=e+4612|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+88|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Ip(e);return}fM[f[(f[i>>2]|0)+4>>2]&255](i);Ip(e);return}function Ia(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;y=c;c=c+352|0;M=y+328|0;E=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((f[e+28>>2]|0)!=0?(f[e+20>>2]|0)!=1:0){m=e+4|0;p=e+32|0;l=f[p>>2]|0;if(!l){e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[r>>0]|0;Re(44,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}e=f[e+12>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[n>>0]|0;Re(45,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[a>>0]|0;Re(46,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[s>>0]|0;Re(47,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=E+56|0;a=E+4|0;f[E>>2]=36160;f[l>>2]=36180;_=0;ce(62,E+56|0,a|0);y=_;_=0;if(y&1){A=ze()|0;nd(l);$e(A|0)}f[E+128>>2]=0;f[E+132>>2]=-1;f[E>>2]=36200;f[E+56>>2]=36220;_=0;ue(180,a|0);y=_;_=0;do{if(y&1)e=ze()|0;else{f[a>>2]=36236;s=E+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[E+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);y=_;_=0;if(y&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,E|0,49007,21)|0;M=_;_=0;do{if((!(M&1)?(_=0,d=pe(36,e|0,f[p>>2]|0)|0,M=_,_=0,!(M&1)):0)?(_=0,ke(28,d|0,50997,18)|0,M=_,_=0,!(M&1)):0){n=He(16)|0;_=0;ce(64,k|0,a|0);M=_;_=0;if(!(M&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,k|0);M=_;_=0;if(M&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(k);if(!r)break}else e=ze()|0;je(n|0)}else A=34}while(0);if((A|0)==34)e=ze()|0;f[E>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,e|0,8,35648);A=_;_=0;if(!(A&1))bi(e|0,824,96);A=ze()|0;je(e|0);$e(A|0)}r=16-e|0;switch(l|0){case 1:{e=Bp(60)|0;f[o>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[o>>2];f[M+4>>2]=f[o+4>>2];Re(41,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(60)|0;f[u>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[u>>2];f[M+4>>2]=f[u+4>>2];Re(42,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(60)|0;f[h>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[h>>2];f[M+4>>2]=f[h+4>>2];Re(43,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;_=0;ce(62,g+56|0,a|0);E=_;_=0;if(E&1){A=ze()|0;nd(l);$e(A|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;_=0;ue(180,a|0);E=_;_=0;do{if(E&1)e=ze()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);E=_;_=0;if(E&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,g|0,49007,21)|0;E=_;_=0;do{if((!(E&1)?(_=0,b=pe(36,e|0,f[p>>2]|0)|0,E=_,_=0,!(E&1)):0)?(_=0,ke(28,b|0,50997,18)|0,E=_,_=0,!(E&1)):0){n=He(16)|0;_=0;ce(64,v|0,a|0);E=_;_=0;if(!(E&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,v|0);E=_;_=0;if(E&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(v);if(!r)break}else e=ze()|0;je(n|0)}else A=64}while(0);if((A|0)==64)e=ze()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}}r=f[i+4>>2]|0;n=Bp(16)|0;e=f[e+16>>2]|0;if(!r){A=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=A;f[n+8>>2]=3;f[n+12>>2]=e;A=n;c=y;return A|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=3;f[n+12>>2]=e;A=n;c=y;return A|0}return 0}function Da(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,h=0;o=c;c=c+32|0;h=o;op(h,f[e+128>>2]|0,f[e+136>>2]|0);u=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[h+8>>2]|0:l;s=f[i+12>>2]|0;s=(s|0)==0?f[h+12>>2]|0:s;r=f[i+16>>2]|0;a=f[h+16>>2]|0;f[e+176>>2]=(u|0)==0?f[h+4>>2]|0:u;f[e+180>>2]=l;f[e+184>>2]=s;qa(e);s=e+132|0;i=(f[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{f[e+188+(l*12|0)>>2]=i;f[e+188+(l*12|0)+4>>2]=0;n[e+188+(l*12|0)+8>>1]=0;n[e+188+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365);u=(f[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;h=((r|0)==0?a:r)&255;f[e+4568>>2]=u;f[e+4572>>2]=0;t[e+4576>>0]=h;t[e+4577>>0]=1;t[e+4578>>0]=0;f[e+4580>>2]=u;f[e+4584>>2]=1;t[e+4588>>0]=h;t[e+4589>>0]=1;t[e+4590>>0]=0;f[e+4592>>2]=0;c=o;return}function Na(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=f[i>>2]|0;f[i>>2]=0;i=f[l>>2]|0;f[l>>2]=s;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=f[l>>2]|0;t[e+4620>>0]=a&1;i=e+156|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];Ct(e,n);Fa(e);i=f[e+116>>2]|0;e=f[e+112>>2]|0;while(1){a=i+-1|0;r=(t[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=f[l>>2]|0;if(!a)return;f[l>>2]=a+i;n=n+8|0;f[n>>2]=(f[n>>2]|0)-i;return}function Fa(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0;S=c;c=c+32|0;C=S+12|0;A=S;y=e+172|0;M=(f[y>>2]|0)+4|0;if((f[e+28>>2]|0)==1)E=f[e+20>>2]|0;else E=1;i=re(E<<1,M)|0;f[C>>2]=0;R=C+4|0;f[R>>2]=0;f[C+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(_=0,ue(178,C|0),T=_,_=0,T&1):0))s=6;if((s|0)==6?(_=0,r=de(67,i*3|0)|0,T=_,_=0,!(T&1)):0){f[R>>2]=r;f[C>>2]=r;f[C+8>>2]=r+(i*3|0);while(1){t[r>>0]=0;t[r+1>>0]=0;t[r+2>>0]=0;r=(f[R>>2]|0)+3|0;f[R>>2]=r;i=i+-1|0;if(!i)break e}}n=ze()|0;i=f[C>>2]|0;if(!i)$e(n|0);r=f[R>>2]|0;if((r|0)!=(i|0))f[R>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Ip(i);$e(n|0)}}while(0);f[A>>2]=0;T=A+4|0;f[T>>2]=0;f[A+8>>2]=0;do{if(!E)s=19;else{if(!(E>>>0>1073741823?(_=0,ue(178,A|0),g=_,_=0,g&1):0))s=17;if((s|0)==17?(n=E<<2,_=0,a=de(67,n|0)|0,g=_,_=0,!(g&1)):0){f[A>>2]=a;s=a+(E<<2)|0;f[A+8>>2]=s;ym(a|0,0,n|0)|0;f[T>>2]=s;s=19;break}n=ze()|0;i=f[A>>2]|0;r=i;if(i){a=f[T>>2]|0;if((a|0)!=(i|0))f[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}}while(0);if((s|0)==19){s=e+8|0;e:do{if((f[s>>2]|0)>0){l=e+4596|0;o=re(E,M)|0;u=o+1|0;h=e+4600|0;d=(E|0)>0;b=e+160|0;k=e+168|0;w=e+164|0;m=e+156|0;v=e+88|0;p=e+4592|0;g=0;i:while(1){n=f[C>>2]|0;r=n+3|0;f[l>>2]=r;n=n+(u*3|0)|0;f[h>>2]=n;if(!(g&1))i=n;else{f[l>>2]=n;f[h>>2]=r;i=r;r=n}if(d){a=f[A>>2]|0;n=0;do{f[p>>2]=f[a+(n<<2)>>2];i=f[y>>2]|0;a=r+(i*3|0)|0;r=r+((i+-1|0)*3|0)|0;t[a>>0]=t[r>>0]|0;t[a+1>>0]=t[r+1>>0]|0;t[a+2>>0]=t[r+2>>0]|0;r=f[l>>2]|0;a=(f[h>>2]|0)+-3|0;t[a>>0]=t[r>>0]|0;t[a+1>>0]=t[r+1>>0]|0;t[a+2>>0]=t[r+2>>0]|0;_=0;ce(78,e|0,0);a=_;_=0;if(a&1){s=30;break i}a=f[A>>2]|0;f[a+(n<<2)>>2]=f[p>>2];r=(f[l>>2]|0)+(M*3|0)|0;f[l>>2]=r;i=(f[h>>2]|0)+(M*3|0)|0;f[h>>2]=i;n=n+1|0}while((n|0)<(E|0))}a=f[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((f[k>>2]|0)+a|0):0)?(a=f[v>>2]|0,_=0,Re(f[(f[a>>2]|0)+8>>2]|0,a|0,i+(((f[m>>2]|0)-o|0)*3|0)|0,f[w>>2]|0,M|0),a=_,_=0,a&1):0){s=31;break}g=g+1|0;if((g|0)>=(f[s>>2]|0)){s=43;break e}}if((s|0)==30){n=ze()|0;break}else if((s|0)==31){n=ze()|0;break}}else s=43}while(0);do{if((s|0)==43){_=0;ue(183,e|0);e=_;_=0;if(e&1){n=ze()|0;break}i=f[A>>2]|0;r=i;if(i){n=f[T>>2]|0;if((n|0)!=(i|0))f[T>>2]=n+(~((n+-4-r|0)>>>2)<<2);Ip(i)}i=f[C>>2]|0;if(!i){c=S;return}r=f[R>>2]|0;if((r|0)!=(i|0))f[R>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Ip(i);c=S;return}}while(0);i=f[A>>2]|0;r=i;if(i){a=f[T>>2]|0;if((a|0)!=(i|0))f[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}i=f[C>>2]|0;if(!i)$e(n|0);r=f[R>>2]|0;if((r|0)!=(i|0))f[R>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Ip(i);$e(n|0)}function Ua(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0;F=c;c=c+16|0;C=F+12|0;N=F+9|0;D=F+6|0;R=F+3|0;L=F;P=e+172|0;i=f[P>>2]|0;if((i|0)<=0){c=F;return}x=e+4600|0;O=e+4596|0;B=e+4604|0;I=e+4592|0;T=0;while(1){E=T+-1|0;n=f[x>>2]|0;s=n+(E*3|0)|0;U=f[O>>2]|0;r=T+1|0;l=a[U+(T*3|0)>>0]|0;S=f[B>>2]|0;o=a[U+(E*3|0)>>0]|0;u=l-o|0;h=a[s>>0]|0;d=o-h|0;b=((((t[S+((a[U+(r*3|0)>>0]|0)-l)>>0]|0)*9|0)+(t[S+u>>0]|0)|0)*9|0)+(t[S+d>>0]|0)|0;k=a[U+(T*3|0)+1>>0]|0;w=a[U+(E*3|0)+1>>0]|0;_=k-w|0;m=a[n+(E*3|0)+1>>0]|0;v=w-m|0;p=((((t[S+((a[U+(r*3|0)+1>>0]|0)-k)>>0]|0)*9|0)+(t[S+_>>0]|0)|0)*9|0)+(t[S+v>>0]|0)|0;g=a[U+(T*3|0)+2>>0]|0;y=a[U+(E*3|0)+2>>0]|0;M=g-y|0;E=a[n+(E*3|0)+2>>0]|0;A=y-E|0;S=((((t[S+((a[U+(r*3|0)+2>>0]|0)-g)>>0]|0)*9|0)+(t[S+M>>0]|0)|0)*9|0)+(t[S+A>>0]|0)|0;if(!(p|b|S)){t[D>>0]=t[s>>0]|0;t[D+1>>0]=t[s+1>>0]|0;t[D+2>>0]=t[s+2>>0]|0;t[C>>0]=t[s>>0]|0;t[C+1>>0]=t[s+1>>0]|0;t[C+2>>0]=t[s+2>>0]|0;i=ja(e,C,n+(T*3|0)|0,i-T|0)|0;r=i+T|0;if((r|0)!=(f[P>>2]|0)){U=(f[O>>2]|0)+(r*3|0)|0;t[L>>0]=t[U>>0]|0;t[L+1>>0]=t[U+1>>0]|0;t[L+2>>0]=t[U+2>>0]|0;U=f[x>>2]|0;t[N>>0]=t[D>>0]|0;t[N+1>>0]=t[D+1>>0]|0;t[N+2>>0]=t[D+2>>0]|0;t[C>>0]=t[L>>0]|0;t[C+1>>0]=t[L+1>>0]|0;t[C+2>>0]=t[L+2>>0]|0;Ha(R,e,N,C);U=U+(r*3|0)|0;t[U>>0]=t[R>>0]|0;t[U+1>>0]=t[R+1>>0]|0;t[U+2>>0]=t[R+2>>0]|0;U=f[I>>2]|0;f[I>>2]=(U|0)<1?0:U+-1|0;i=i+1|0}r=i+T|0}else{n=a[n+(T*3|0)>>0]|0;i=l-h>>31;if((i^d|0)>=0)if((i^u|0)<0)i=h;else i=h-o+l|0;else i=l;l=za(e,b,n,i,0)|0;n=a[(f[x>>2]|0)+(T*3|0)+1>>0]|0;i=k-m>>31;if((i^v|0)>=0)if((i^_|0)<0)i=m;else i=m-w+k|0;else i=k;n=za(e,p,n,i,0)|0;s=a[(f[x>>2]|0)+(T*3|0)+2>>0]|0;i=g-E>>31;if((i^A|0)>=0)if((i^M|0)<0)i=E;else i=E-y+g|0;else i=g;S=za(e,S,s,i,0)|0;U=(f[x>>2]|0)+(T*3|0)|0;t[U>>0]=l;t[U+1>>0]=n;t[U+2>>0]=S}i=f[P>>2]|0;if((r|0)>=(i|0))break;else T=r}c=F;return}function ja(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;o=e+112|0;u=e+108|0;c=e+4592|0;a=f[o>>2]|0;s=0;while(1){if((a|0)<1){jt(e);a=f[o>>2]|0}l=f[u>>2]|0;a=a+-1|0;f[o>>2]=a;f[u>>2]=l<<1;if((l|0)>=0){h=8;break}l=f[c>>2]|0;d=1<>2];b=n-s|0;b=(d|0)<(b|0)?d:b;s=b+s|0;if((b|0)==(d|0))f[c>>2]=(l|0)>30?31:l+1|0;if((s|0)==(n|0)){a=n;break}}if((h|0)==8)if((s|0)!=(n|0)){a=f[c>>2]|0;if((a+-4|0)>>>0<28)a=_a(e,f[36476+(a<<2)>>2]|0)|0;else a=0;a=a+s|0;if((a|0)>(n|0)){a=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,a|0,5,35648);b=_;_=0;if(b&1){b=ze()|0;je(a|0);$e(b|0)}else bi(a|0,824,96)}}else a=n;if((a|0)<=0)return a|0;s=0;do{b=r+(s*3|0)|0;t[b>>0]=t[i>>0]|0;t[b+1>>0]=t[i+1>>0]|0;t[b+2>>0]=t[i+2>>0]|0;s=s+1|0}while((s|0)!=(a|0));return a|0}function Ha(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;c=i+4568|0;b=Ya(i,c)|0;o=Ya(i,c)|0;c=Ya(i,c)|0;l=i+128|0;s=a[n>>0]|0;h=f[i+136>>2]|0;d=h<<1|1;s=(re(re(d,b)|0,s-(a[r>>0]|0)>>31|1)|0)+s|0;b=0-h|0;if((s|0)>=(b|0)){l=f[l>>2]|0;if((l+h|0)<(s|0))s=s-(re(f[i+132>>2]|0,d)|0)|0}else{s=(re(f[i+132>>2]|0,d)|0)+s|0;l=f[l>>2]|0}if((s&l|0)!=(s|0))s=l&~(s>>31);u=s&255;s=a[n+1>>0]|0;s=(re(re(d,o)|0,s-(a[r+1>>0]|0)>>31|1)|0)+s|0;if((s|0)>=(b|0)){if((l+h|0)<(s|0))s=s-(re(f[i+132>>2]|0,d)|0)|0}else s=(re(f[i+132>>2]|0,d)|0)+s|0;if((s&l|0)!=(s|0))s=l&~(s>>31);o=s&255;s=a[n+2>>0]|0;s=(re(re(d,c)|0,s-(a[r+2>>0]|0)>>31|1)|0)+s|0;if((s|0)>=(b|0)){if((l+h|0)<(s|0))s=s-(re(f[i+132>>2]|0,d)|0)|0}else s=(re(f[i+132>>2]|0,d)|0)+s|0;if((s&l|0)==(s|0)){i=s;i=i&255;t[e>>0]=u;b=e+1|0;t[b>>0]=o;e=e+2|0;t[e>>0]=i;return}i=l&~(s>>31);i=i&255;t[e>>0]=u;b=e+1|0;t[b>>0]=o;e=e+2|0;t[e>>0]=i;return}function za(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,m=0,v=0;v=i>>31;c=(v^i)-v|0;k=e+188+(c*12|0)+10|0;r=n[k>>1]|0;b=e+188+(c*12|0)|0;s=f[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){i=5;while(1)if((r<>1]^v)-v+a|0;m=e+128|0;s=f[m>>2]|0;if((r&s|0)==(r|0))h=r;else h=s&~(r>>31);r=e+112|0;if((f[r>>2]|0)<8)jt(e);s=e+108|0;a=f[s>>2]|0;l=a>>>24;o=f[2832+(i<<11)+(l<<3)+4>>2]|0;if(!o){u=f[e+148>>2]|0;s=f[e+140>>2]|0;r=wa(e)|0;if((r|0)<(u+-1-s|0)){if(i)r=(_a(e,i)|0)+(r<>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,r|0,5,35648);e=_;_=0;if(e&1){e=ze()|0;je(r|0);$e(e|0)}else bi(r|0,824,96)}}else{f[r>>2]=(f[r>>2]|0)-o;f[s>>2]=a<>2]|0}u=e+136|0;a=f[u>>2]|0;if(!i){if(!a)s=(f[e+188+(c*12|0)+4>>2]<<1)+-1+(n[k>>1]|0)>>31;else s=0;o=s^r}else o=r;i=f[e+152>>2]|0;s=(f[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;l=e+188+(c*12|0)+4|0;r=(f[l>>2]|0)+(re(a<<1|1,o)|0)|0;a=n[k>>1]|0;if((a|0)==(i|0)){s=s>>1;r=r>>1;a=i>>1}f[b>>2]=s;i=a+1|0;n[k>>1]=i;s=i+r|0;if((s|0)>=1){if((r|0)>0){r=r-i|0;k=n[d>>1]|0;n[d>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=n[d>>1]|0;n[d>>1]=(r&65535)-(r<<16>>16>-128&1);r=(s|0)>(~a|0)?s:0-a|0}f[l>>2]=r;i=f[u>>2]|0;a=i<<1|1;s=(re(a,(o^v)-v|0)|0)+h|0;if((s|0)>=(0-i|0)){r=f[m>>2]|0;if((r+i|0)<(s|0))s=s-(re(f[e+132>>2]|0,a)|0)|0}else{s=(re(f[e+132>>2]|0,a)|0)+s|0;r=f[m>>2]|0}if((s&r|0)==(s|0)){e=s;e=e&255;return e|0}e=r&~(s>>31);e=e&255;return e|0}function Ya(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0;h=i+9|0;r=a[h>>0]|0;l=i+4|0;s=(re(r>>>1,f[l>>2]|0)|0)+(f[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;o=f[e+148>>2]|0;u=f[36476+(f[e+4592>>2]<<2)>>2]|0;r=f[e+140>>2]|0;s=wa(e)|0;do{if((s|0)<(o+-2-u-r|0))if(!n){n=f[l>>2]|0;e=n+s|0;r=e&1;e=(r+e|0)/2|0;c=8;break}else{u=(_a(e,n)|0)+(s<>2]|0;s=u+n|0;o=s&1;r=o;l=1;s=(o+s|0)/2|0;break}else{s=(_a(e,r)|0)+1|0;o=f[l>>2]|0;e=s+o|0;r=e&1;e=(r+e|0)/2|0;if(!n){n=o;c=8}else{u=s;l=1;s=e;n=o}}}while(0);if((c|0)==8){u=s;l=a[i+10>>0]<<1>>>0>=(a[h>>0]|0)>>>0;s=e}s=(r|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;t[c>>0]=(a[c>>0]|0)+1}r=(u+1-n>>1)+(f[i>>2]|0)|0;f[i>>2]=r;n=t[h>>0]|0;if(n<<24>>24!=(t[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return s|0}f[i>>2]=r>>1;c=(n&255)>>>1;t[h>>0]=c;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=c;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return s|0}function qa(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0;k=c;c=c+32|0;n=k;b=e+136|0;e:do{if(!(f[b>>2]|0)){r=f[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<>2])+-1|0)?(op(n,r,0),(f[n+4>>2]|0)==(f[e+176>>2]|0)):0)?(f[n+8>>2]|0)==(f[e+180>>2]|0):0)?(f[n+12>>2]|0)==(f[e+184>>2]|0):0)switch(f[i>>2]|0){case 8:{b=f[8900]|0;f[e+4604>>2]=b+(((f[8901]|0)-b|0)>>>1);c=k;return}case 10:{b=f[8903]|0;f[e+4604>>2]=b+(((f[8904]|0)-b|0)>>>1);c=k;return}case 12:{b=f[8906]|0;f[e+4604>>2]=b+(((f[8907]|0)-b|0)>>>1);c=k;return}case 16:{b=f[8909]|0;f[e+4604>>2]=b+(((f[8910]|0)-b|0)>>>1);c=k;return}default:break e}}else i=e+144|0}while(0);d=1<>2];r=e+4608|0;n=d<<1;a=e+4612|0;s=f[a>>2]|0;i=f[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0>>0?(o=i+n|0,(s|0)!=(o|0)):0)f[a>>2]=o}else{zt(r,n-l|0);i=f[r>>2]|0}h=e+4604|0;f[h>>2]=i+d;i=0-d|0;if((d|0)<=(i|0)){c=k;return}o=e+184|0;u=e+180|0;l=e+176|0;s=i;do{i=f[o>>2]|0;if((s|0)>(0-i|0)){r=f[u>>2]|0;if((s|0)>(0-r|0)){n=f[l>>2]|0;if((s|0)>(0-n|0)){a=f[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;t[(f[h>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(d|0));c=k;return}function Xa(e){e=e|0;var i=0,r=0;f[e>>2]=35772;i=f[e+4584>>2]|0;if(i){r=e+4588|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}e=e+88|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fM[f[(f[i>>2]|0)+4>>2]&255](i);return}function Va(e){e=e|0;var i=0,r=0;f[e>>2]=35772;i=f[e+4584>>2]|0;if(i){r=e+4588|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+88|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Ip(e);return}fM[f[(f[i>>2]|0)+4>>2]&255](i);Ip(e);return}function Ga(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;y=c;c=c+352|0;M=y+328|0;E=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((f[e+28>>2]|0)!=0?(f[e+20>>2]|0)!=1:0){m=e+4|0;p=e+32|0;l=f[p>>2]|0;if(!l){e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[r>>0]|0;Re(37,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}e=f[e+12>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[n>>0]|0;Re(38,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[a>>0]|0;Re(39,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[s>>0]|0;Re(40,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=E+56|0;a=E+4|0;f[E>>2]=36160;f[l>>2]=36180;_=0;ce(62,E+56|0,a|0);y=_;_=0;if(y&1){A=ze()|0;nd(l);$e(A|0)}f[E+128>>2]=0;f[E+132>>2]=-1;f[E>>2]=36200;f[E+56>>2]=36220;_=0;ue(180,a|0);y=_;_=0;do{if(y&1)e=ze()|0;else{f[a>>2]=36236;s=E+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[E+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);y=_;_=0;if(y&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,E|0,49007,21)|0;M=_;_=0;do{if((!(M&1)?(_=0,d=pe(36,e|0,f[p>>2]|0)|0,M=_,_=0,!(M&1)):0)?(_=0,ke(28,d|0,50997,18)|0,M=_,_=0,!(M&1)):0){n=He(16)|0;_=0;ce(64,k|0,a|0);M=_;_=0;if(!(M&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,k|0);M=_;_=0;if(M&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(k);if(!r)break}else e=ze()|0;je(n|0)}else A=34}while(0);if((A|0)==34)e=ze()|0;f[E>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,e|0,8,35648);A=_;_=0;if(!(A&1))bi(e|0,824,96);A=ze()|0;je(e|0);$e(A|0)}r=16-e|0;switch(l|0){case 1:{e=Bp(60)|0;f[o>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[o>>2];f[M+4>>2]=f[o+4>>2];Re(41,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(60)|0;f[u>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[u>>2];f[M+4>>2]=f[u+4>>2];Re(42,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(60)|0;f[h>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[h>>2];f[M+4>>2]=f[h+4>>2];Re(43,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;_=0;ce(62,g+56|0,a|0);E=_;_=0;if(E&1){A=ze()|0;nd(l);$e(A|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;_=0;ue(180,a|0);E=_;_=0;do{if(E&1)e=ze()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);E=_;_=0;if(E&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,g|0,49007,21)|0;E=_;_=0;do{if((!(E&1)?(_=0,b=pe(36,e|0,f[p>>2]|0)|0,E=_,_=0,!(E&1)):0)?(_=0,ke(28,b|0,50997,18)|0,E=_,_=0,!(E&1)):0){n=He(16)|0;_=0;ce(64,v|0,a|0);E=_;_=0;if(!(E&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,v|0);E=_;_=0;if(E&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(v);if(!r)break}else e=ze()|0;je(n|0)}else A=64}while(0);if((A|0)==64)e=ze()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}}r=f[i+4>>2]|0;n=Bp(16)|0;e=f[e+16>>2]|0;if(!r){A=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=A;f[n+8>>2]=2;f[n+12>>2]=e;A=n;c=y;return A|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=2;f[n+12>>2]=e;A=n;c=y;return A|0}return 0}function Ka(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;op(u,65535,0);o=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[u+8>>2]|0:l;a=f[i+12>>2]|0;a=(a|0)==0?f[u+12>>2]|0:a;i=f[i+16>>2]|0;r=f[u+16>>2]|0;f[e+152>>2]=(o|0)==0?f[u+4>>2]|0:o;f[e+156>>2]=l;f[e+160>>2]=a;rs(e);a=0;do{f[e+164+(a*12|0)>>2]=1024;f[e+164+(a*12|0)+4>>2]=0;n[e+164+(a*12|0)+8>>1]=0;n[e+164+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365);u=((i|0)==0?r:i)&255;f[e+4544>>2]=1024;f[e+4548>>2]=0;t[e+4552>>0]=u;t[e+4553>>0]=1;t[e+4554>>0]=0;f[e+4556>>2]=1024;f[e+4560>>2]=1;t[e+4564>>0]=u;t[e+4565>>0]=1;t[e+4566>>0]=0;f[e+4568>>2]=0;c=s;return}function Wa(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=f[i>>2]|0;f[i>>2]=0;i=f[l>>2]|0;f[l>>2]=s;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=f[l>>2]|0;t[e+4596>>0]=a&1;i=e+132|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];Ct(e,n);Za(e);i=f[e+116>>2]|0;e=f[e+112>>2]|0;while(1){a=i+-1|0;r=(t[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=f[l>>2]|0;if(!a)return;f[l>>2]=a+i;n=n+8|0;f[n>>2]=(f[n>>2]|0)-i;return}function Za(e){e=e|0;var i=0,r=0,t=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0;S=c;c=c+32|0;C=S+12|0;A=S;y=e+148|0;M=(f[y>>2]|0)+4|0;if((f[e+28>>2]|0)==1)E=f[e+20>>2]|0;else E=1;i=re(E<<1,M)|0;f[C>>2]=0;R=C+4|0;f[R>>2]=0;f[C+8>>2]=0;do{if(i){if(!((i|0)<0?(_=0,ue(178,C|0),T=_,_=0,T&1):0))l=6;if((l|0)==6?(r=i<<1,_=0,t=de(67,r|0)|0,T=_,_=0,!(T&1)):0){f[C>>2]=t;T=t+(i<<1)|0;f[C+8>>2]=T;ym(t|0,0,r|0)|0;f[R>>2]=T;break}t=ze()|0;i=f[C>>2]|0;if(!i)$e(t|0);r=f[R>>2]|0;if((r|0)!=(i|0))f[R>>2]=r+(~((r+-2-i|0)>>>1)<<1);Ip(i);$e(t|0)}}while(0);f[A>>2]=0;T=A+4|0;f[T>>2]=0;f[A+8>>2]=0;do{if(!E)l=18;else{if(!(E>>>0>1073741823?(_=0,ue(178,A|0),g=_,_=0,g&1):0))l=16;if((l|0)==16?(a=E<<2,_=0,s=de(67,a|0)|0,g=_,_=0,!(g&1)):0){f[A>>2]=s;l=s+(E<<2)|0;f[A+8>>2]=l;ym(s|0,0,a|0)|0;f[T>>2]=l;l=18;break}t=ze()|0;i=f[A>>2]|0;r=i;if(i){a=f[T>>2]|0;if((a|0)!=(i|0))f[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}}while(0);if((l|0)==18){s=e+8|0;e:do{if((f[s>>2]|0)>0){l=e+4572|0;o=re(E,M)|0;u=o+1|0;h=e+4576|0;d=(E|0)>0;b=e+136|0;k=e+144|0;w=e+140|0;m=e+132|0;v=e+88|0;p=e+4568|0;g=0;i:while(1){t=f[C>>2]|0;r=t+2|0;f[l>>2]=r;t=t+(u<<1)|0;f[h>>2]=t;if(!(g&1))i=t;else{f[l>>2]=t;f[h>>2]=r;i=r;r=t}if(d){a=f[A>>2]|0;t=0;do{f[p>>2]=f[a+(t<<2)>>2];a=f[y>>2]|0;n[r+(a<<1)>>1]=n[r+(a+-1<<1)>>1]|0;n[i+-2>>1]=n[r>>1]|0;_=0;ce(79,e|0,0);a=_;_=0;if(a&1){l=29;break i}a=f[A>>2]|0;f[a+(t<<2)>>2]=f[p>>2];r=(f[l>>2]|0)+(M<<1)|0;f[l>>2]=r;i=(f[h>>2]|0)+(M<<1)|0;f[h>>2]=i;t=t+1|0}while((t|0)<(E|0))}a=f[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((f[k>>2]|0)+a|0):0)?(a=f[v>>2]|0,_=0,Re(f[(f[a>>2]|0)+8>>2]|0,a|0,i+((f[m>>2]|0)-o<<1)|0,f[w>>2]|0,M|0),a=_,_=0,a&1):0){l=30;break}g=g+1|0;if((g|0)>=(f[s>>2]|0)){l=42;break e}}if((l|0)==29){t=ze()|0;break}else if((l|0)==30){t=ze()|0;break}}else l=42}while(0);do{if((l|0)==42){_=0;ue(183,e|0);e=_;_=0;if(e&1){t=ze()|0;break}i=f[A>>2]|0;r=i;if(i){t=f[T>>2]|0;if((t|0)!=(i|0))f[T>>2]=t+(~((t+-4-r|0)>>>2)<<2);Ip(i)}i=f[C>>2]|0;if(!i){c=S;return}r=f[R>>2]|0;if((r|0)!=(i|0))f[R>>2]=r+(~((r+-2-i|0)>>>1)<<1);Ip(i);c=S;return}}while(0);i=f[A>>2]|0;r=i;if(i){a=f[T>>2]|0;if((a|0)!=(i|0))f[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}i=f[C>>2]|0;if(!i)$e(t|0);r=f[R>>2]|0;if((r|0)!=(i|0))f[R>>2]=r+(~((r+-2-i|0)>>>1)<<1);Ip(i);$e(t|0)}function Ja(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0;k=e+4572|0;i=f[k>>2]|0;m=e+148|0;if((f[m>>2]|0)<=0)return;w=e+4576|0;_=e+4580|0;l=i;o=s[i+-2>>1]|0;i=s[i>>1]|0;b=0;while(1){d=f[w>>2]|0;h=s[d+(b+-1<<1)>>1]|0;a=b+1|0;r=s[l+(a<<1)>>1]|0;c=f[_>>2]|0;u=i-o|0;l=o-h|0;c=((((t[c+(r-i)>>0]|0)*9|0)+(t[c+u>>0]|0)|0)*9|0)+(t[c+l>>0]|0)|0;if(!c){a=($a(e,b,0)|0)+b|0;r=f[k>>2]|0;i=s[r+(a+-1<<1)>>1]|0;r=s[r+(a<<1)>>1]|0}else{o=i-h>>31;if((o^l|0)<0)l=i;else l=h+((o^u|0)<0?0:u)|0;d=Qa(e,c,s[d+(b<<1)>>1]|0,l,0)|0;n[(f[w>>2]|0)+(b<<1)>>1]=d}if((a|0)>=(f[m>>2]|0))break;l=f[k>>2]|0;o=i;i=r;b=a}return}function Qa(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,m=0;m=i>>31;h=(m^i)-m|0;k=e+164+(h*12|0)+10|0;r=n[k>>1]|0;b=e+164+(h*12|0)|0;s=f[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){l=5;while(1)if((r<>1]^m)-m+a|0;if((r&65535|0)!=(r|0))r=r>>31&65535^65535;s=e+112|0;if((f[s>>2]|0)<8)jt(e);a=e+108|0;o=f[a>>2]|0;u=o>>>24;c=f[2832+(l<<11)+(u<<3)+4>>2]|0;if(!c){s=wa(e)|0;if((s|0)<47){if(l)s=(_a(e,l)|0)+(s<>31^s>>1;if((((s|0)>-1?s:0-s|0)|0)>65535){r=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,r|0,5,35648);i=_;_=0;if(i&1){i=ze()|0;je(r|0);$e(i|0)}else bi(r|0,824,96)}}else{f[s>>2]=(f[s>>2]|0)-c;f[a>>2]=o<>2]|0}c=e+164+(h*12|0)+4|0;a=f[c>>2]|0;if(!l){e=n[k>>1]|0;l=e;s=(a<<1)+-1+(e<<16>>16)>>31^s}else l=n[k>>1]|0;o=l<<16>>16==64;e=o&1;u=a+s>>e;o=o?32:l<<16>>16;f[b>>2]=((s|0)>-1?s:0-s|0)+(f[b>>2]|0)>>e;a=o+1|0;n[k>>1]=a;l=a+u|0;if((l|0)<1){k=n[d>>1]|0;n[d>>1]=(k&65535)-(k<<16>>16>-128&1);k=(l|0)>(~o|0)?l:0-o|0;f[c>>2]=k;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&65535;return i|0}if((u|0)<=0){k=u;f[c>>2]=k;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&65535;return i|0}k=u-a|0;b=n[d>>1]|0;n[d>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;f[c>>2]=k;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&65535;return i|0}function $a(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,l=0,o=0;l=e+4576|0;a=f[l>>2]|0;r=n[a+(i+-1<<1)>>1]|0;o=e+148|0;a=es(e,r,a+(i<<1)|0,(f[o>>2]|0)-i|0)|0;t=a+i|0;if((t|0)==(f[o>>2]|0)){o=a;return o|0}r=r&65535;i=s[(f[e+4572>>2]|0)+(t<<1)>>1]|0;o=r-i|0;if((((o|0)>-1?o:0-o|0)|0)<1)r=(is(e,e+4556|0)|0)+r|0;else r=(re(is(e,e+4544|0)|0,i-r>>31|1)|0)+i|0;n[(f[l>>2]|0)+(t<<1)>>1]=r;o=e+4568|0;e=f[o>>2]|0;f[o>>2]=(e|0)<1?0:e+-1|0;o=a+1|0;return o|0}function es(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0;u=e+112|0;c=e+108|0;h=e+4568|0;s=f[u>>2]|0;l=0;while(1){if((s|0)<1){jt(e);s=f[u>>2]|0}o=f[c>>2]|0;s=s+-1|0;f[u>>2]=s;f[c>>2]=o<<1;if((o|0)>=0){d=8;break}o=f[h>>2]|0;b=1<>2];k=a-l|0;k=(b|0)<(k|0)?b:k;l=k+l|0;if((k|0)==(b|0))f[h>>2]=(o|0)>30?31:o+1|0;if((l|0)==(a|0)){s=a;break}}if((d|0)==8)if((l|0)!=(a|0)){s=f[h>>2]|0;if((s+-4|0)>>>0<28)s=_a(e,f[36476+(s<<2)>>2]|0)|0;else s=0;s=s+l|0;if((s|0)>(a|0)){s=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,s|0,5,35648);k=_;_=0;if(k&1){k=ze()|0;je(s|0);$e(k|0)}else bi(s|0,824,96)}}else s=a;if((s|0)>0)l=0;else return s|0;do{n[r+(l<<1)>>1]=i;l=l+1|0}while((l|0)!=(s|0));return s|0}function is(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0;u=i+9|0;r=a[u>>0]|0;l=i+4|0;s=(re(r>>>1,f[l>>2]|0)|0)+(f[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;s=f[36476+(f[e+4568>>2]<<2)>>2]|0;r=wa(e)|0;do{if((r|0)<(46-s|0))if(!n){e=f[l>>2]|0;s=e+r|0;n=s&1;s=(n+s|0)/2|0;o=8;break}else{r=(_a(e,n)|0)+(r<>2]|0;s=r+e|0;c=s&1;n=c;l=1;s=(c+s|0)/2|0;break}else{r=(_a(e,16)|0)+1|0;e=f[l>>2]|0;s=r+e|0;l=s&1;s=(l+s|0)/2|0;if(!n){n=l;o=8}else{n=l;l=1}}}while(0);if((o|0)==8)l=a[i+10>>0]<<1>>>0>=(a[u>>0]|0)>>>0;s=(n|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;t[c>>0]=(a[c>>0]|0)+1}r=(r+1-e>>1)+(f[i>>2]|0)|0;f[i>>2]=r;n=t[u>>0]|0;if(n<<24>>24!=(t[i+8>>0]|0)){c=n;c=c&255;c=c+1|0;c=c&255;t[u>>0]=c;return s|0}f[i>>2]=r>>1;c=(n&255)>>>1;t[u>>0]=c;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;c=c&255;c=c+1|0;c=c&255;t[u>>0]=c;return s|0}function rs(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;o=h;op(o,65535,0);u=e+152|0;if(((f[o+4>>2]|0)==(f[u>>2]|0)?(f[o+8>>2]|0)==(f[e+156>>2]|0):0)?(f[o+12>>2]|0)==(f[e+160>>2]|0):0){u=f[8909]|0;f[e+4580>>2]=u+(((f[8910]|0)-u|0)>>>1);c=h;return}r=e+4584|0;n=e+4588|0;a=f[n>>2]|0;i=f[r>>2]|0;s=a-i|0;if(s>>>0>=131072){if(s>>>0>131072?(l=i+131072|0,(a|0)!=(l|0)):0)f[n>>2]=l}else{zt(r,131072-s|0);i=f[r>>2]|0}o=e+4580|0;f[o>>2]=i+65536;l=e+160|0;a=e+156|0;s=-65536;while(1){i=f[l>>2]|0;if((s|0)>(0-i|0)){r=f[a>>2]|0;if((s|0)>(0-r|0)){n=f[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){t[(f[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;t[(f[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==65536)break}c=h;return}function ts(e){e=e|0;var i=0,r=0;f[e>>2]=35744;i=f[e+4584>>2]|0;if(i){r=e+4588|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}e=e+88|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fM[f[(f[i>>2]|0)+4>>2]&255](i);return}function ns(e){e=e|0;var i=0,r=0;f[e>>2]=35744;i=f[e+4584>>2]|0;if(i){r=e+4588|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+88|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Ip(e);return}fM[f[(f[i>>2]|0)+4>>2]&255](i);Ip(e);return}function fs(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;y=c;c=c+352|0;M=y+328|0;E=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((f[e+28>>2]|0)!=0?(f[e+20>>2]|0)!=1:0){m=e+4|0;p=e+32|0;l=f[p>>2]|0;if(!l){e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[r>>0]|0;Re(37,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}e=f[e+12>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[n>>0]|0;Re(38,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[a>>0]|0;Re(39,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[s>>0]|0;Re(40,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=E+56|0;a=E+4|0;f[E>>2]=36160;f[l>>2]=36180;_=0;ce(62,E+56|0,a|0);y=_;_=0;if(y&1){A=ze()|0;nd(l);$e(A|0)}f[E+128>>2]=0;f[E+132>>2]=-1;f[E>>2]=36200;f[E+56>>2]=36220;_=0;ue(180,a|0);y=_;_=0;do{if(y&1)e=ze()|0;else{f[a>>2]=36236;s=E+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[E+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);y=_;_=0;if(y&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,E|0,49007,21)|0;M=_;_=0;do{if((!(M&1)?(_=0,d=pe(36,e|0,f[p>>2]|0)|0,M=_,_=0,!(M&1)):0)?(_=0,ke(28,d|0,50997,18)|0,M=_,_=0,!(M&1)):0){n=He(16)|0;_=0;ce(64,k|0,a|0);M=_;_=0;if(!(M&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,k|0);M=_;_=0;if(M&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(k);if(!r)break}else e=ze()|0;je(n|0)}else A=34}while(0);if((A|0)==34)e=ze()|0;f[E>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,e|0,8,35648);A=_;_=0;if(!(A&1))bi(e|0,824,96);A=ze()|0;je(e|0);$e(A|0)}r=16-e|0;switch(l|0){case 1:{e=Bp(60)|0;f[o>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[o>>2];f[M+4>>2]=f[o+4>>2];Re(41,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(60)|0;f[u>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[u>>2];f[M+4>>2]=f[u+4>>2];Re(42,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(60)|0;f[h>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[h>>2];f[M+4>>2]=f[h+4>>2];Re(43,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;_=0;ce(62,g+56|0,a|0);E=_;_=0;if(E&1){A=ze()|0;nd(l);$e(A|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;_=0;ue(180,a|0);E=_;_=0;do{if(E&1)e=ze()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);E=_;_=0;if(E&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,g|0,49007,21)|0;E=_;_=0;do{if((!(E&1)?(_=0,b=pe(36,e|0,f[p>>2]|0)|0,E=_,_=0,!(E&1)):0)?(_=0,ke(28,b|0,50997,18)|0,E=_,_=0,!(E&1)):0){n=He(16)|0;_=0;ce(64,v|0,a|0);E=_;_=0;if(!(E&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,v|0);E=_;_=0;if(E&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(v);if(!r)break}else e=ze()|0;je(n|0)}else A=64}while(0);if((A|0)==64)e=ze()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}}r=f[i+4>>2]|0;n=Bp(16)|0;e=f[e+16>>2]|0;if(!r){A=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=A;f[n+8>>2]=2;f[n+12>>2]=e;A=n;c=y;return A|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=2;f[n+12>>2]=e;A=n;c=y;return A|0}return 0}function as(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;op(u,4095,0);o=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[u+8>>2]|0:l;a=f[i+12>>2]|0;a=(a|0)==0?f[u+12>>2]|0:a;i=f[i+16>>2]|0;r=f[u+16>>2]|0;f[e+152>>2]=(o|0)==0?f[u+4>>2]|0:o;f[e+156>>2]=l;f[e+160>>2]=a;bs(e);a=0;do{f[e+164+(a*12|0)>>2]=64;f[e+164+(a*12|0)+4>>2]=0;n[e+164+(a*12|0)+8>>1]=0;n[e+164+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365);u=((i|0)==0?r:i)&255;f[e+4544>>2]=64;f[e+4548>>2]=0;t[e+4552>>0]=u;t[e+4553>>0]=1;t[e+4554>>0]=0;f[e+4556>>2]=64;f[e+4560>>2]=1;t[e+4564>>0]=u;t[e+4565>>0]=1;t[e+4566>>0]=0;f[e+4568>>2]=0;c=s;return}function ss(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=f[i>>2]|0;f[i>>2]=0;i=f[l>>2]|0;f[l>>2]=s;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=f[l>>2]|0;t[e+4596>>0]=a&1;i=e+132|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];Ct(e,n);ls(e);i=f[e+116>>2]|0;e=f[e+112>>2]|0;while(1){a=i+-1|0;r=(t[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=f[l>>2]|0;if(!a)return;f[l>>2]=a+i;n=n+8|0;f[n>>2]=(f[n>>2]|0)-i;return}function ls(e){e=e|0;var i=0,r=0,t=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0;S=c;c=c+32|0;C=S+12|0;A=S;y=e+148|0;M=(f[y>>2]|0)+4|0;if((f[e+28>>2]|0)==1)E=f[e+20>>2]|0;else E=1;i=re(E<<1,M)|0;f[C>>2]=0;R=C+4|0;f[R>>2]=0;f[C+8>>2]=0;do{if(i){if(!((i|0)<0?(_=0,ue(178,C|0),T=_,_=0,T&1):0))l=6;if((l|0)==6?(r=i<<1,_=0,t=de(67,r|0)|0,T=_,_=0,!(T&1)):0){f[C>>2]=t;T=t+(i<<1)|0;f[C+8>>2]=T;ym(t|0,0,r|0)|0;f[R>>2]=T;break}t=ze()|0;i=f[C>>2]|0;if(!i)$e(t|0);r=f[R>>2]|0;if((r|0)!=(i|0))f[R>>2]=r+(~((r+-2-i|0)>>>1)<<1);Ip(i);$e(t|0)}}while(0);f[A>>2]=0;T=A+4|0;f[T>>2]=0;f[A+8>>2]=0;do{if(!E)l=18;else{if(!(E>>>0>1073741823?(_=0,ue(178,A|0),g=_,_=0,g&1):0))l=16;if((l|0)==16?(a=E<<2,_=0,s=de(67,a|0)|0,g=_,_=0,!(g&1)):0){f[A>>2]=s;l=s+(E<<2)|0;f[A+8>>2]=l;ym(s|0,0,a|0)|0;f[T>>2]=l;l=18;break}t=ze()|0;i=f[A>>2]|0;r=i;if(i){a=f[T>>2]|0;if((a|0)!=(i|0))f[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}}while(0);if((l|0)==18){s=e+8|0;e:do{if((f[s>>2]|0)>0){l=e+4572|0;o=re(E,M)|0;u=o+1|0;h=e+4576|0;d=(E|0)>0;b=e+136|0;k=e+144|0;w=e+140|0;m=e+132|0;v=e+88|0;p=e+4568|0;g=0;i:while(1){t=f[C>>2]|0;r=t+2|0;f[l>>2]=r;t=t+(u<<1)|0;f[h>>2]=t;if(!(g&1))i=t;else{f[l>>2]=t;f[h>>2]=r;i=r;r=t}if(d){a=f[A>>2]|0;t=0;do{f[p>>2]=f[a+(t<<2)>>2];a=f[y>>2]|0;n[r+(a<<1)>>1]=n[r+(a+-1<<1)>>1]|0;n[i+-2>>1]=n[r>>1]|0;_=0;ce(80,e|0,0);a=_;_=0;if(a&1){l=29;break i}a=f[A>>2]|0;f[a+(t<<2)>>2]=f[p>>2];r=(f[l>>2]|0)+(M<<1)|0;f[l>>2]=r;i=(f[h>>2]|0)+(M<<1)|0;f[h>>2]=i;t=t+1|0}while((t|0)<(E|0))}a=f[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((f[k>>2]|0)+a|0):0)?(a=f[v>>2]|0,_=0,Re(f[(f[a>>2]|0)+8>>2]|0,a|0,i+((f[m>>2]|0)-o<<1)|0,f[w>>2]|0,M|0),a=_,_=0,a&1):0){l=30;break}g=g+1|0;if((g|0)>=(f[s>>2]|0)){l=42;break e}}if((l|0)==29){t=ze()|0;break}else if((l|0)==30){t=ze()|0;break}}else l=42}while(0);do{if((l|0)==42){_=0;ue(183,e|0);e=_;_=0;if(e&1){t=ze()|0;break}i=f[A>>2]|0;r=i;if(i){t=f[T>>2]|0;if((t|0)!=(i|0))f[T>>2]=t+(~((t+-4-r|0)>>>2)<<2);Ip(i)}i=f[C>>2]|0;if(!i){c=S;return}r=f[R>>2]|0;if((r|0)!=(i|0))f[R>>2]=r+(~((r+-2-i|0)>>>1)<<1);Ip(i);c=S;return}}while(0);i=f[A>>2]|0;r=i;if(i){a=f[T>>2]|0;if((a|0)!=(i|0))f[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}i=f[C>>2]|0;if(!i)$e(t|0);r=f[R>>2]|0;if((r|0)!=(i|0))f[R>>2]=r+(~((r+-2-i|0)>>>1)<<1);Ip(i);$e(t|0)}function os(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0;k=e+4572|0;i=f[k>>2]|0;m=e+148|0;if((f[m>>2]|0)<=0)return;w=e+4576|0;_=e+4580|0;l=i;o=s[i+-2>>1]|0;i=s[i>>1]|0;b=0;while(1){d=f[w>>2]|0;h=s[d+(b+-1<<1)>>1]|0;a=b+1|0;r=s[l+(a<<1)>>1]|0;c=f[_>>2]|0;u=i-o|0;l=o-h|0;c=((((t[c+(r-i)>>0]|0)*9|0)+(t[c+u>>0]|0)|0)*9|0)+(t[c+l>>0]|0)|0;if(!c){a=(cs(e,b,0)|0)+b|0;r=f[k>>2]|0;i=s[r+(a+-1<<1)>>1]|0;r=s[r+(a<<1)>>1]|0}else{o=i-h>>31;if((o^l|0)<0)l=i;else l=h+((o^u|0)<0?0:u)|0;d=us(e,c,s[d+(b<<1)>>1]|0,l,0)|0;n[(f[w>>2]|0)+(b<<1)>>1]=d}if((a|0)>=(f[m>>2]|0))break;l=f[k>>2]|0;o=i;i=r;b=a}return}function us(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,m=0;m=i>>31;h=(m^i)-m|0;k=e+164+(h*12|0)+10|0;r=n[k>>1]|0;b=e+164+(h*12|0)|0;s=f[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){l=5;while(1)if((r<>1]^m)-m+a|0;if((r&4095|0)!=(r|0))r=r>>31&4095^4095;s=e+112|0;if((f[s>>2]|0)<8)jt(e);a=e+108|0;o=f[a>>2]|0;u=o>>>24;c=f[2832+(l<<11)+(u<<3)+4>>2]|0;if(!c){s=wa(e)|0;if((s|0)<35){if(l)s=(_a(e,l)|0)+(s<>31^s>>1;if((((s|0)>-1?s:0-s|0)|0)>65535){r=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,r|0,5,35648);i=_;_=0;if(i&1){i=ze()|0;je(r|0);$e(i|0)}else bi(r|0,824,96)}}else{f[s>>2]=(f[s>>2]|0)-c;f[a>>2]=o<>2]|0}c=e+164+(h*12|0)+4|0;a=f[c>>2]|0;if(!l){e=n[k>>1]|0;l=e;s=(a<<1)+-1+(e<<16>>16)>>31^s}else l=n[k>>1]|0;o=l<<16>>16==64;e=o&1;u=a+s>>e;o=o?32:l<<16>>16;f[b>>2]=((s|0)>-1?s:0-s|0)+(f[b>>2]|0)>>e;a=o+1|0;n[k>>1]=a;l=a+u|0;if((l|0)<1){k=n[d>>1]|0;n[d>>1]=(k&65535)-(k<<16>>16>-128&1);k=(l|0)>(~o|0)?l:0-o|0;f[c>>2]=k;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&4095;i=i&65535;return i|0}if((u|0)<=0){k=u;f[c>>2]=k;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&4095;i=i&65535;return i|0}k=u-a|0;b=n[d>>1]|0;n[d>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;f[c>>2]=k;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&4095;i=i&65535;return i|0}function cs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,l=0,o=0;l=e+4576|0;a=f[l>>2]|0;r=n[a+(i+-1<<1)>>1]|0;o=e+148|0;a=hs(e,r,a+(i<<1)|0,(f[o>>2]|0)-i|0)|0;t=a+i|0;if((t|0)==(f[o>>2]|0)){o=a;return o|0}r=r&65535;i=s[(f[e+4572>>2]|0)+(t<<1)>>1]|0;o=r-i|0;if((((o|0)>-1?o:0-o|0)|0)<1)r=(ds(e,e+4556|0)|0)+r|0;else r=(re(ds(e,e+4544|0)|0,i-r>>31|1)|0)+i|0;n[(f[l>>2]|0)+(t<<1)>>1]=r&4095;o=e+4568|0;e=f[o>>2]|0;f[o>>2]=(e|0)<1?0:e+-1|0;o=a+1|0;return o|0}function hs(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0;u=e+112|0;c=e+108|0;h=e+4568|0;s=f[u>>2]|0;l=0;while(1){if((s|0)<1){jt(e);s=f[u>>2]|0}o=f[c>>2]|0;s=s+-1|0;f[u>>2]=s;f[c>>2]=o<<1;if((o|0)>=0){d=8;break}o=f[h>>2]|0;b=1<>2];k=a-l|0;k=(b|0)<(k|0)?b:k;l=k+l|0;if((k|0)==(b|0))f[h>>2]=(o|0)>30?31:o+1|0;if((l|0)==(a|0)){s=a;break}}if((d|0)==8)if((l|0)!=(a|0)){s=f[h>>2]|0;if((s+-4|0)>>>0<28)s=_a(e,f[36476+(s<<2)>>2]|0)|0;else s=0;s=s+l|0;if((s|0)>(a|0)){s=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,s|0,5,35648);k=_;_=0;if(k&1){k=ze()|0;je(s|0);$e(k|0)}else bi(s|0,824,96)}}else s=a;if((s|0)>0)l=0;else return s|0;do{n[r+(l<<1)>>1]=i;l=l+1|0}while((l|0)!=(s|0));return s|0}function ds(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0;u=i+9|0;r=a[u>>0]|0;l=i+4|0;s=(re(r>>>1,f[l>>2]|0)|0)+(f[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;s=f[36476+(f[e+4568>>2]<<2)>>2]|0;r=wa(e)|0;do{if((r|0)<(34-s|0))if(!n){e=f[l>>2]|0;s=e+r|0;n=s&1;s=(n+s|0)/2|0;o=8;break}else{r=(_a(e,n)|0)+(r<>2]|0;s=r+e|0;c=s&1;n=c;l=1;s=(c+s|0)/2|0;break}else{r=(_a(e,12)|0)+1|0;e=f[l>>2]|0;s=r+e|0;l=s&1;s=(l+s|0)/2|0;if(!n){n=l;o=8}else{n=l;l=1}}}while(0);if((o|0)==8)l=a[i+10>>0]<<1>>>0>=(a[u>>0]|0)>>>0;s=(n|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;t[c>>0]=(a[c>>0]|0)+1}r=(r+1-e>>1)+(f[i>>2]|0)|0;f[i>>2]=r;n=t[u>>0]|0;if(n<<24>>24!=(t[i+8>>0]|0)){c=n;c=c&255;c=c+1|0;c=c&255;t[u>>0]=c;return s|0}f[i>>2]=r>>1;c=(n&255)>>>1;t[u>>0]=c;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;c=c&255;c=c+1|0;c=c&255;t[u>>0]=c;return s|0}function bs(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;o=h;op(o,4095,0);u=e+152|0;if(((f[o+4>>2]|0)==(f[u>>2]|0)?(f[o+8>>2]|0)==(f[e+156>>2]|0):0)?(f[o+12>>2]|0)==(f[e+160>>2]|0):0){u=f[8906]|0;f[e+4580>>2]=u+(((f[8907]|0)-u|0)>>>1);c=h;return}r=e+4584|0;n=e+4588|0;a=f[n>>2]|0;i=f[r>>2]|0;s=a-i|0;if(s>>>0>=8192){if(s>>>0>8192?(l=i+8192|0,(a|0)!=(l|0)):0)f[n>>2]=l}else{zt(r,8192-s|0);i=f[r>>2]|0}o=e+4580|0;f[o>>2]=i+4096;l=e+160|0;a=e+156|0;s=-4096;while(1){i=f[l>>2]|0;if((s|0)>(0-i|0)){r=f[a>>2]|0;if((s|0)>(0-r|0)){n=f[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){t[(f[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;t[(f[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==4096)break}c=h;return}function ks(e){e=e|0;var i=0,r=0;f[e>>2]=35716;i=f[e+4584>>2]|0;if(i){r=e+4588|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}e=e+88|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fM[f[(f[i>>2]|0)+4>>2]&255](i);return}function ws(e){e=e|0;var i=0,r=0;f[e>>2]=35716;i=f[e+4584>>2]|0;if(i){r=e+4588|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+88|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Ip(e);return}fM[f[(f[i>>2]|0)+4>>2]&255](i);Ip(e);return}function _s(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;y=c;c=c+352|0;M=y+328|0;E=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((f[e+28>>2]|0)!=0?(f[e+20>>2]|0)!=1:0){m=e+4|0;p=e+32|0;l=f[p>>2]|0;if(!l){e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[r>>0]|0;Re(44,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}e=f[e+12>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[n>>0]|0;Re(45,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[a>>0]|0;Re(46,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[s>>0]|0;Re(47,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=E+56|0;a=E+4|0;f[E>>2]=36160;f[l>>2]=36180;_=0;ce(62,E+56|0,a|0);y=_;_=0;if(y&1){A=ze()|0;nd(l);$e(A|0)}f[E+128>>2]=0;f[E+132>>2]=-1;f[E>>2]=36200;f[E+56>>2]=36220;_=0;ue(180,a|0);y=_;_=0;do{if(y&1)e=ze()|0;else{f[a>>2]=36236;s=E+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[E+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);y=_;_=0;if(y&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,E|0,49007,21)|0;M=_;_=0;do{if((!(M&1)?(_=0,d=pe(36,e|0,f[p>>2]|0)|0,M=_,_=0,!(M&1)):0)?(_=0,ke(28,d|0,50997,18)|0,M=_,_=0,!(M&1)):0){n=He(16)|0;_=0;ce(64,k|0,a|0);M=_;_=0;if(!(M&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,k|0);M=_;_=0;if(M&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(k);if(!r)break}else e=ze()|0;je(n|0)}else A=34}while(0);if((A|0)==34)e=ze()|0;f[E>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,e|0,8,35648);A=_;_=0;if(!(A&1))bi(e|0,824,96);A=ze()|0;je(e|0);$e(A|0)}r=16-e|0;switch(l|0){case 1:{e=Bp(60)|0;f[o>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[o>>2];f[M+4>>2]=f[o+4>>2];Re(41,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(60)|0;f[u>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[u>>2];f[M+4>>2]=f[u+4>>2];Re(42,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(60)|0;f[h>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[h>>2];f[M+4>>2]=f[h+4>>2];Re(43,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;_=0;ce(62,g+56|0,a|0);E=_;_=0;if(E&1){A=ze()|0;nd(l);$e(A|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;_=0;ue(180,a|0);E=_;_=0;do{if(E&1)e=ze()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);E=_;_=0;if(E&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,g|0,49007,21)|0;E=_;_=0;do{if((!(E&1)?(_=0,b=pe(36,e|0,f[p>>2]|0)|0,E=_,_=0,!(E&1)):0)?(_=0,ke(28,b|0,50997,18)|0,E=_,_=0,!(E&1)):0){n=He(16)|0;_=0;ce(64,v|0,a|0);E=_;_=0;if(!(E&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,v|0);E=_;_=0;if(E&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(v);if(!r)break}else e=ze()|0;je(n|0)}else A=64}while(0);if((A|0)==64)e=ze()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}}r=f[i+4>>2]|0;n=Bp(16)|0;e=f[e+16>>2]|0;if(!r){A=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=A;f[n+8>>2]=1;f[n+12>>2]=e;A=n;c=y;return A|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=1;f[n+12>>2]=e;A=n;c=y;return A|0}return 0}function ms(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;op(u,255,0);o=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[u+8>>2]|0:l;a=f[i+12>>2]|0;a=(a|0)==0?f[u+12>>2]|0:a;i=f[i+16>>2]|0;r=f[u+16>>2]|0;f[e+152>>2]=(o|0)==0?f[u+4>>2]|0:o;f[e+156>>2]=l;f[e+160>>2]=a;Ss(e);a=0;do{f[e+164+(a*12|0)>>2]=4;f[e+164+(a*12|0)+4>>2]=0;n[e+164+(a*12|0)+8>>1]=0;n[e+164+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365);u=((i|0)==0?r:i)&255;f[e+4544>>2]=4;f[e+4548>>2]=0;t[e+4552>>0]=u;t[e+4553>>0]=1;t[e+4554>>0]=0;f[e+4556>>2]=4;f[e+4560>>2]=1;t[e+4564>>0]=u;t[e+4565>>0]=1;t[e+4566>>0]=0;f[e+4568>>2]=0;c=s;return}function vs(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=f[i>>2]|0;f[i>>2]=0;i=f[l>>2]|0;f[l>>2]=s;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=f[l>>2]|0;t[e+4596>>0]=a&1;i=e+132|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];Ct(e,n);ps(e);i=f[e+116>>2]|0;e=f[e+112>>2]|0;while(1){a=i+-1|0;r=(t[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=f[l>>2]|0;if(!a)return;f[l>>2]=a+i;n=n+8|0;f[n>>2]=(f[n>>2]|0)-i;return}function ps(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0;S=c;c=c+32|0;C=S+12|0;A=S;y=e+148|0;M=(f[y>>2]|0)+4|0;if((f[e+28>>2]|0)==1)E=f[e+20>>2]|0;else E=1;i=re(E<<1,M)|0;f[C>>2]=0;R=C+4|0;f[R>>2]=0;f[C+8>>2]=0;e:do{if(i){if(!((i|0)<0?(_=0,ue(178,C|0),T=_,_=0,T&1):0))s=6;if((s|0)==6?(_=0,r=de(67,i|0)|0,T=_,_=0,!(T&1)):0){f[R>>2]=r;f[C>>2]=r;f[C+8>>2]=r+i;while(1){t[r>>0]=0;r=(f[R>>2]|0)+1|0;f[R>>2]=r;i=i+-1|0;if(!i)break e}}r=ze()|0;i=f[C>>2]|0;if(!i)$e(r|0);if((f[R>>2]|0)!=(i|0))f[R>>2]=i;Ip(i);$e(r|0)}}while(0);f[A>>2]=0;T=A+4|0;f[T>>2]=0;f[A+8>>2]=0;do{if(!E)s=19;else{if(!(E>>>0>1073741823?(_=0,ue(178,A|0),g=_,_=0,g&1):0))s=17;if((s|0)==17?(n=E<<2,_=0,a=de(67,n|0)|0,g=_,_=0,!(g&1)):0){f[A>>2]=a;s=a+(E<<2)|0;f[A+8>>2]=s;ym(a|0,0,n|0)|0;f[T>>2]=s;s=19;break}r=ze()|0;i=f[A>>2]|0;n=i;if(i){a=f[T>>2]|0;if((a|0)!=(i|0))f[T>>2]=a+(~((a+-4-n|0)>>>2)<<2);Ip(i)}}}while(0);if((s|0)==19){s=e+8|0;e:do{if((f[s>>2]|0)>0){l=e+4572|0;o=re(E,M)|0;u=o+1|0;h=e+4576|0;d=(E|0)>0;b=e+136|0;k=e+144|0;w=e+140|0;m=e+132|0;v=e+88|0;p=e+4568|0;g=0;i:while(1){n=f[C>>2]|0;r=n+1|0;f[l>>2]=r;n=n+u|0;f[h>>2]=n;if(!(g&1))i=n;else{f[l>>2]=n;f[h>>2]=r;i=r;r=n}if(d){a=f[A>>2]|0;n=0;do{f[p>>2]=f[a+(n<<2)>>2];a=f[y>>2]|0;t[r+a>>0]=t[r+(a+-1)>>0]|0;t[(f[h>>2]|0)+-1>>0]=t[f[l>>2]>>0]|0;_=0;ce(81,e|0,0);a=_;_=0;if(a&1){s=30;break i}a=f[A>>2]|0;f[a+(n<<2)>>2]=f[p>>2];r=(f[l>>2]|0)+M|0;f[l>>2]=r;i=(f[h>>2]|0)+M|0;f[h>>2]=i;n=n+1|0}while((n|0)<(E|0))}a=f[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((f[k>>2]|0)+a|0):0)?(a=f[v>>2]|0,_=0,Re(f[(f[a>>2]|0)+8>>2]|0,a|0,i+((f[m>>2]|0)-o)|0,f[w>>2]|0,M|0),a=_,_=0,a&1):0){s=31;break}g=g+1|0;if((g|0)>=(f[s>>2]|0)){s=43;break e}}if((s|0)==30){r=ze()|0;break}else if((s|0)==31){r=ze()|0;break}}else s=43}while(0);do{if((s|0)==43){_=0;ue(183,e|0);e=_;_=0;if(e&1){r=ze()|0;break}i=f[A>>2]|0;r=i;if(i){n=f[T>>2]|0;if((n|0)!=(i|0))f[T>>2]=n+(~((n+-4-r|0)>>>2)<<2);Ip(i)}i=f[C>>2]|0;if(!i){c=S;return}if((f[R>>2]|0)!=(i|0))f[R>>2]=i;Ip(i);c=S;return}}while(0);i=f[A>>2]|0;n=i;if(i){a=f[T>>2]|0;if((a|0)!=(i|0))f[T>>2]=a+(~((a+-4-n|0)>>>2)<<2);Ip(i)}}i=f[C>>2]|0;if(!i)$e(r|0);if((f[R>>2]|0)!=(i|0))f[R>>2]=i;Ip(i);$e(r|0)}function gs(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0;b=e+4572|0;i=f[b>>2]|0;_=e+148|0;if((f[_>>2]|0)<=0)return;k=e+4576|0;w=e+4580|0;s=i;l=a[i+-1>>0]|0;i=a[i>>0]|0;d=0;while(1){h=f[k>>2]|0;c=a[h+(d+-1)>>0]|0;n=d+1|0;r=a[s+n>>0]|0;u=f[w>>2]|0;o=i-l|0;s=l-c|0;u=((((t[u+(r-i)>>0]|0)*9|0)+(t[u+o>>0]|0)|0)*9|0)+(t[u+s>>0]|0)|0;if(!u){n=(Ms(e,d,0)|0)+d|0;r=f[b>>2]|0;i=a[r+(n+-1)>>0]|0;r=a[r+n>>0]|0}else{l=i-c>>31;if((l^s|0)<0)s=i;else s=c+((l^o|0)<0?0:o)|0;h=ys(e,u,a[h+d>>0]|0,s,0)|0;t[(f[k>>2]|0)+d>>0]=h}if((n|0)>=(f[_>>2]|0))break;s=f[b>>2]|0;l=i;i=r;d=n}return}function ys(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,m=0;m=i>>31;h=(m^i)-m|0;k=e+164+(h*12|0)+10|0;r=n[k>>1]|0;b=e+164+(h*12|0)|0;s=f[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){l=5;while(1)if((r<>1]^m)-m+a|0;if((r&255|0)!=(r|0))r=r>>31&255^255;s=e+112|0;if((f[s>>2]|0)<8)jt(e);a=e+108|0;o=f[a>>2]|0;u=o>>>24;c=f[2832+(l<<11)+(u<<3)+4>>2]|0;if(!c){s=wa(e)|0;if((s|0)<23){if(l)s=(_a(e,l)|0)+(s<>31^s>>1;if((((s|0)>-1?s:0-s|0)|0)>65535){r=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,r|0,5,35648);i=_;_=0;if(i&1){i=ze()|0;je(r|0);$e(i|0)}else bi(r|0,824,96)}}else{f[s>>2]=(f[s>>2]|0)-c;f[a>>2]=o<>2]|0}c=e+164+(h*12|0)+4|0;a=f[c>>2]|0;if(!l){e=n[k>>1]|0;l=e;s=(a<<1)+-1+(e<<16>>16)>>31^s}else l=n[k>>1]|0;o=l<<16>>16==64;e=o&1;u=a+s>>e;o=o?32:l<<16>>16;f[b>>2]=((s|0)>-1?s:0-s|0)+(f[b>>2]|0)>>e;a=o+1|0;n[k>>1]=a;l=a+u|0;if((l|0)<1){k=n[d>>1]|0;n[d>>1]=(k&65535)-(k<<16>>16>-128&1);k=(l|0)>(~o|0)?l:0-o|0;f[c>>2]=k;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&255;return i|0}if((u|0)<=0){k=u;f[c>>2]=k;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&255;return i|0}k=u-a|0;b=n[d>>1]|0;n[d>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;f[c>>2]=k;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&255;return i|0}function Ms(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0;l=e+4576|0;s=f[l>>2]|0;r=t[s+(i+-1)>>0]|0;o=e+148|0;s=Es(e,r,s+i|0,(f[o>>2]|0)-i|0)|0;n=s+i|0;if((n|0)==(f[o>>2]|0)){o=s;return o|0}r=r&255;i=a[(f[e+4572>>2]|0)+n>>0]|0;o=r-i|0;if((((o|0)>-1?o:0-o|0)|0)<1)r=(As(e,e+4556|0)|0)+r|0;else r=(re(As(e,e+4544|0)|0,i-r>>31|1)|0)+i|0;t[(f[l>>2]|0)+n>>0]=r;o=e+4568|0;e=f[o>>2]|0;f[o>>2]=(e|0)<1?0:e+-1|0;o=s+1|0;return o|0}function Es(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;o=e+112|0;u=e+108|0;c=e+4568|0;a=f[o>>2]|0;s=0;while(1){if((a|0)<1){jt(e);a=f[o>>2]|0}l=f[u>>2]|0;a=a+-1|0;f[o>>2]=a;f[u>>2]=l<<1;if((l|0)>=0){h=8;break}l=f[c>>2]|0;d=1<>2];b=n-s|0;b=(d|0)<(b|0)?d:b;s=b+s|0;if((b|0)==(d|0))f[c>>2]=(l|0)>30?31:l+1|0;if((s|0)==(n|0)){a=n;break}}if((h|0)==8)if((s|0)!=(n|0)){a=f[c>>2]|0;if((a+-4|0)>>>0<28)a=_a(e,f[36476+(a<<2)>>2]|0)|0;else a=0;a=a+s|0;if((a|0)>(n|0)){a=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,a|0,5,35648);b=_;_=0;if(b&1){b=ze()|0;je(a|0);$e(b|0)}else bi(a|0,824,96)}}else a=n;if((a|0)<=0)return a|0;ym(r|0,i|0,a|0)|0;return a|0}function As(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0;u=i+9|0;r=a[u>>0]|0;l=i+4|0;s=(re(r>>>1,f[l>>2]|0)|0)+(f[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;s=f[36476+(f[e+4568>>2]<<2)>>2]|0;r=wa(e)|0;do{if((r|0)<(22-s|0))if(!n){e=f[l>>2]|0;s=e+r|0;n=s&1;s=(n+s|0)/2|0;o=8;break}else{r=(_a(e,n)|0)+(r<>2]|0;s=r+e|0;c=s&1;n=c;l=1;s=(c+s|0)/2|0;break}else{r=(_a(e,8)|0)+1|0;e=f[l>>2]|0;s=r+e|0;l=s&1;s=(l+s|0)/2|0;if(!n){n=l;o=8}else{n=l;l=1}}}while(0);if((o|0)==8)l=a[i+10>>0]<<1>>>0>=(a[u>>0]|0)>>>0;s=(n|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;t[c>>0]=(a[c>>0]|0)+1}r=(r+1-e>>1)+(f[i>>2]|0)|0;f[i>>2]=r;n=t[u>>0]|0;if(n<<24>>24!=(t[i+8>>0]|0)){c=n;c=c&255;c=c+1|0;c=c&255;t[u>>0]=c;return s|0}f[i>>2]=r>>1;c=(n&255)>>>1;t[u>>0]=c;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;c=c&255;c=c+1|0;c=c&255;t[u>>0]=c;return s|0}function Ss(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;o=h;op(o,255,0);u=e+152|0;if(((f[o+4>>2]|0)==(f[u>>2]|0)?(f[o+8>>2]|0)==(f[e+156>>2]|0):0)?(f[o+12>>2]|0)==(f[e+160>>2]|0):0){u=f[8900]|0;f[e+4580>>2]=u+(((f[8901]|0)-u|0)>>>1);c=h;return}r=e+4584|0;n=e+4588|0;a=f[n>>2]|0;i=f[r>>2]|0;s=a-i|0;if(s>>>0>=512){if(s>>>0>512?(l=i+512|0,(a|0)!=(l|0)):0)f[n>>2]=l}else{zt(r,512-s|0);i=f[r>>2]|0}o=e+4580|0;f[o>>2]=i+256;l=e+160|0;a=e+156|0;s=-256;while(1){i=f[l>>2]|0;if((s|0)>(0-i|0)){r=f[a>>2]|0;if((s|0)>(0-r|0)){n=f[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){t[(f[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;t[(f[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==256)break}c=h;return}function Ts(e){e=e|0;var i=0,r=0;f[e>>2]=35688;i=f[e+4584>>2]|0;if(i){r=e+4588|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}e=e+88|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fM[f[(f[i>>2]|0)+4>>2]&255](i);return}function Cs(e){e=e|0;var i=0,r=0;f[e>>2]=35688;i=f[e+4584>>2]|0;if(i){r=e+4588|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+88|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Ip(e);return}fM[f[(f[i>>2]|0)+4>>2]&255](i);Ip(e);return}function Rs(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;y=c;c=c+352|0;M=y+328|0;E=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((f[e+28>>2]|0)!=0?(f[e+20>>2]|0)!=1:0){m=e+4|0;p=e+32|0;l=f[p>>2]|0;if(!l){e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[r>>0]|0;Re(44,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}e=f[e+12>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[n>>0]|0;Re(45,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[a>>0]|0;Re(46,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[s>>0]|0;Re(47,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=E+56|0;a=E+4|0;f[E>>2]=36160;f[l>>2]=36180;_=0;ce(62,E+56|0,a|0);y=_;_=0;if(y&1){A=ze()|0;nd(l);$e(A|0)}f[E+128>>2]=0;f[E+132>>2]=-1;f[E>>2]=36200;f[E+56>>2]=36220;_=0;ue(180,a|0);y=_;_=0;do{if(y&1)e=ze()|0;else{f[a>>2]=36236;s=E+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[E+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);y=_;_=0;if(y&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,E|0,49007,21)|0;M=_;_=0;do{if((!(M&1)?(_=0,d=pe(36,e|0,f[p>>2]|0)|0,M=_,_=0,!(M&1)):0)?(_=0,ke(28,d|0,50997,18)|0,M=_,_=0,!(M&1)):0){n=He(16)|0;_=0;ce(64,k|0,a|0);M=_;_=0;if(!(M&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,k|0);M=_;_=0;if(M&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(k);if(!r)break}else e=ze()|0;je(n|0)}else A=34}while(0);if((A|0)==34)e=ze()|0;f[E>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,e|0,8,35648);A=_;_=0;if(!(A&1))bi(e|0,824,96);A=ze()|0;je(e|0);$e(A|0)}r=16-e|0;switch(l|0){case 1:{e=Bp(60)|0;f[o>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[o>>2];f[M+4>>2]=f[o+4>>2];Re(41,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(60)|0;f[u>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[u>>2];f[M+4>>2]=f[u+4>>2];Re(42,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(60)|0;f[h>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[h>>2];f[M+4>>2]=f[h+4>>2];Re(43,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;_=0;ce(62,g+56|0,a|0);E=_;_=0;if(E&1){A=ze()|0;nd(l);$e(A|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;_=0;ue(180,a|0);E=_;_=0;do{if(E&1)e=ze()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);E=_;_=0;if(E&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,g|0,49007,21)|0;E=_;_=0;do{if((!(E&1)?(_=0,b=pe(36,e|0,f[p>>2]|0)|0,E=_,_=0,!(E&1)):0)?(_=0,ke(28,b|0,50997,18)|0,E=_,_=0,!(E&1)):0){n=He(16)|0;_=0;ce(64,v|0,a|0);E=_;_=0;if(!(E&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,v|0);E=_;_=0;if(E&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(v);if(!r)break}else e=ze()|0;je(n|0)}else A=64}while(0);if((A|0)==64)e=ze()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}}r=f[i+4>>2]|0;n=Bp(16)|0;e=f[e+16>>2]|0;if(!r){A=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=A;f[n+8>>2]=3;f[n+12>>2]=e;A=n;c=y;return A|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=3;f[n+12>>2]=e;A=n;c=y;return A|0}return 0}function Ls(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;op(u,255,0);o=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[u+8>>2]|0:l;a=f[i+12>>2]|0;a=(a|0)==0?f[u+12>>2]|0:a;i=f[i+16>>2]|0;r=f[u+16>>2]|0;f[e+152>>2]=(o|0)==0?f[u+4>>2]|0:o;f[e+156>>2]=l;f[e+160>>2]=a;Dv(e);a=0;do{f[e+164+(a*12|0)>>2]=4;f[e+164+(a*12|0)+4>>2]=0;n[e+164+(a*12|0)+8>>1]=0;n[e+164+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365);u=((i|0)==0?r:i)&255;f[e+4544>>2]=4;f[e+4548>>2]=0;t[e+4552>>0]=u;t[e+4553>>0]=1;t[e+4554>>0]=0;f[e+4556>>2]=4;f[e+4560>>2]=1;t[e+4564>>0]=u;t[e+4565>>0]=1;t[e+4566>>0]=0;f[e+4568>>2]=0;c=s;return}function Ps(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=f[i>>2]|0;f[i>>2]=0;i=f[l>>2]|0;f[l>>2]=s;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=f[l>>2]|0;t[e+4596>>0]=a&1;i=e+132|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];Ct(e,n);xs(e);i=f[e+116>>2]|0;e=f[e+112>>2]|0;while(1){a=i+-1|0;r=(t[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=f[l>>2]|0;if(!a)return;f[l>>2]=a+i;n=n+8|0;f[n>>2]=(f[n>>2]|0)-i;return}function xs(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0;S=c;c=c+32|0;C=S+12|0;A=S;y=e+148|0;M=(f[y>>2]|0)+4|0;if((f[e+28>>2]|0)==1)E=f[e+20>>2]|0;else E=1;i=re(E<<1,M)|0;f[C>>2]=0;R=C+4|0;f[R>>2]=0;f[C+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(_=0,ue(178,C|0),T=_,_=0,T&1):0))s=6;if((s|0)==6?(_=0,r=de(67,i*3|0)|0,T=_,_=0,!(T&1)):0){f[R>>2]=r;f[C>>2]=r;f[C+8>>2]=r+(i*3|0);while(1){t[r>>0]=0;t[r+1>>0]=0;t[r+2>>0]=0;r=(f[R>>2]|0)+3|0;f[R>>2]=r;i=i+-1|0;if(!i)break e}}n=ze()|0;i=f[C>>2]|0;if(!i)$e(n|0);r=f[R>>2]|0;if((r|0)!=(i|0))f[R>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Ip(i);$e(n|0)}}while(0);f[A>>2]=0;T=A+4|0;f[T>>2]=0;f[A+8>>2]=0;do{if(!E)s=19;else{if(!(E>>>0>1073741823?(_=0,ue(178,A|0),g=_,_=0,g&1):0))s=17;if((s|0)==17?(n=E<<2,_=0,a=de(67,n|0)|0,g=_,_=0,!(g&1)):0){f[A>>2]=a;s=a+(E<<2)|0;f[A+8>>2]=s;ym(a|0,0,n|0)|0;f[T>>2]=s;s=19;break}n=ze()|0;i=f[A>>2]|0;r=i;if(i){a=f[T>>2]|0;if((a|0)!=(i|0))f[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}}while(0);if((s|0)==19){s=e+8|0;e:do{if((f[s>>2]|0)>0){l=e+4572|0;o=re(E,M)|0;u=o+1|0;h=e+4576|0;d=(E|0)>0;b=e+136|0;k=e+144|0;w=e+140|0;m=e+132|0;v=e+88|0;p=e+4568|0;g=0;i:while(1){n=f[C>>2]|0;r=n+3|0;f[l>>2]=r;n=n+(u*3|0)|0;f[h>>2]=n;if(!(g&1))i=n;else{f[l>>2]=n;f[h>>2]=r;i=r;r=n}if(d){a=f[A>>2]|0;n=0;do{f[p>>2]=f[a+(n<<2)>>2];i=f[y>>2]|0;a=r+(i*3|0)|0;r=r+((i+-1|0)*3|0)|0;t[a>>0]=t[r>>0]|0;t[a+1>>0]=t[r+1>>0]|0;t[a+2>>0]=t[r+2>>0]|0;r=f[l>>2]|0;a=(f[h>>2]|0)+-3|0;t[a>>0]=t[r>>0]|0;t[a+1>>0]=t[r+1>>0]|0;t[a+2>>0]=t[r+2>>0]|0;_=0;ce(82,e|0,0);a=_;_=0;if(a&1){s=30;break i}a=f[A>>2]|0;f[a+(n<<2)>>2]=f[p>>2];r=(f[l>>2]|0)+(M*3|0)|0;f[l>>2]=r;i=(f[h>>2]|0)+(M*3|0)|0;f[h>>2]=i;n=n+1|0}while((n|0)<(E|0))}a=f[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((f[k>>2]|0)+a|0):0)?(a=f[v>>2]|0,_=0,Re(f[(f[a>>2]|0)+8>>2]|0,a|0,i+(((f[m>>2]|0)-o|0)*3|0)|0,f[w>>2]|0,M|0),a=_,_=0,a&1):0){s=31;break}g=g+1|0;if((g|0)>=(f[s>>2]|0)){s=43;break e}}if((s|0)==30){n=ze()|0;break}else if((s|0)==31){n=ze()|0;break}}else s=43}while(0);do{if((s|0)==43){_=0;ue(183,e|0);e=_;_=0;if(e&1){n=ze()|0;break}i=f[A>>2]|0;r=i;if(i){n=f[T>>2]|0;if((n|0)!=(i|0))f[T>>2]=n+(~((n+-4-r|0)>>>2)<<2);Ip(i)}i=f[C>>2]|0;if(!i){c=S;return}r=f[R>>2]|0;if((r|0)!=(i|0))f[R>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Ip(i);c=S;return}}while(0);i=f[A>>2]|0;r=i;if(i){a=f[T>>2]|0;if((a|0)!=(i|0))f[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Ip(i)}}i=f[C>>2]|0;if(!i)$e(n|0);r=f[R>>2]|0;if((r|0)!=(i|0))f[R>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Ip(i);$e(n|0)}function Os(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0;S=e+148|0;if((f[S>>2]|0)<=0)return;T=e+4576|0;C=e+4572|0;R=e+4580|0;A=0;while(1){y=A+-1|0;l=f[T>>2]|0;o=f[C>>2]|0;i=A+1|0;s=a[o+(A*3|0)>>0]|0;E=f[R>>2]|0;u=a[o+(y*3|0)>>0]|0;c=s-u|0;h=a[l+(y*3|0)>>0]|0;d=u-h|0;b=((((t[E+((a[o+(i*3|0)>>0]|0)-s)>>0]|0)*9|0)+(t[E+c>>0]|0)|0)*9|0)+(t[E+d>>0]|0)|0;n=a[o+(A*3|0)+1>>0]|0;k=a[o+(y*3|0)+1>>0]|0;w=n-k|0;_=a[l+(y*3|0)+1>>0]|0;m=k-_|0;v=((((t[E+((a[o+(i*3|0)+1>>0]|0)-n)>>0]|0)*9|0)+(t[E+w>>0]|0)|0)*9|0)+(t[E+m>>0]|0)|0;r=a[o+(A*3|0)+2>>0]|0;p=a[o+(y*3|0)+2>>0]|0;g=r-p|0;y=a[l+(y*3|0)+2>>0]|0;M=p-y|0;E=((((t[E+((a[o+(i*3|0)+2>>0]|0)-r)>>0]|0)*9|0)+(t[E+g>>0]|0)|0)*9|0)+(t[E+M>>0]|0)|0;if(!(v|b|E))i=(Bs(e,A,0)|0)+A|0;else{o=a[l+(A*3|0)>>0]|0;l=s-h>>31;if((l^d|0)>=0)if((l^c|0)<0)s=h;else s=h-u+s|0;o=Is(e,b,o,s,0)|0;l=a[(f[T>>2]|0)+(A*3|0)+1>>0]|0;s=n-_>>31;if((s^m|0)>=0)if((s^w|0)<0)n=_;else n=_-k+n|0;s=Is(e,v,l,n,0)|0;l=a[(f[T>>2]|0)+(A*3|0)+2>>0]|0;n=r-y>>31;if((n^M|0)>=0)if((n^g|0)<0)r=y;else r=y-p+r|0;E=Is(e,E,l,r,0)|0;A=(f[T>>2]|0)+(A*3|0)|0;t[A>>0]=o;t[A+1>>0]=s;t[A+2>>0]=E}if((i|0)<(f[S>>2]|0))A=i;else break}return}function Bs(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0;u=c;c=c+16|0;d=u+3|0;b=u;s=e+4576|0;r=f[s>>2]|0;n=r+((i+-1|0)*3|0)|0;l=t[n>>0]|0;o=t[n+1>>0]|0;n=t[n+2>>0]|0;t[b>>0]=l;t[b+1>>0]=o;t[b+2>>0]=n;h=e+148|0;a=(f[h>>2]|0)-i|0;t[d>>0]=t[b>>0]|0;t[d+1>>0]=t[b+1>>0]|0;t[d+2>>0]=t[b+2>>0]|0;a=Ds(e,d,r+(i*3|0)|0,a)|0;r=a+i|0;if((r|0)==(f[h>>2]|0)){b=a;c=u;return b|0}d=(f[e+4572>>2]|0)+(r*3|0)|0;i=t[d>>0]|0;h=t[d+1>>0]|0;d=t[d+2>>0]|0;b=f[s>>2]|0;k=e+4544|0;s=Ns(e,k)|0;w=Ns(e,k)|0;i=i&255;h=h&255;h=(re(h-(o&255)>>31|1,w)|0)+h&255;d=d&255;d=(re(d-(n&255)>>31|1,Ns(e,k)|0)|0)+d&255;b=b+(r*3|0)|0;t[b>>0]=(re(i-(l&255)>>31|1,s)|0)+i;t[b+1>>0]=h;t[b+2>>0]=d;b=e+4568|0;d=f[b>>2]|0;f[b>>2]=(d|0)<1?0:d+-1|0;b=a+1|0;c=u;return b|0}function Is(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,m=0;m=i>>31;h=(m^i)-m|0;k=e+164+(h*12|0)+10|0;r=n[k>>1]|0;b=e+164+(h*12|0)|0;s=f[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){l=5;while(1)if((r<>1]^m)-m+a|0;if((r&255|0)!=(r|0))r=r>>31&255^255;s=e+112|0;if((f[s>>2]|0)<8)jt(e);a=e+108|0;o=f[a>>2]|0;u=o>>>24;c=f[2832+(l<<11)+(u<<3)+4>>2]|0;if(!c){s=wa(e)|0;if((s|0)<23){if(l)s=(_a(e,l)|0)+(s<>31^s>>1;if((((s|0)>-1?s:0-s|0)|0)>65535){r=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,r|0,5,35648);i=_;_=0;if(i&1){i=ze()|0;je(r|0);$e(i|0)}else bi(r|0,824,96)}}else{f[s>>2]=(f[s>>2]|0)-c;f[a>>2]=o<>2]|0}c=e+164+(h*12|0)+4|0;a=f[c>>2]|0;if(!l){e=n[k>>1]|0;l=e;s=(a<<1)+-1+(e<<16>>16)>>31^s}else l=n[k>>1]|0;o=l<<16>>16==64;e=o&1;u=a+s>>e;o=o?32:l<<16>>16;f[b>>2]=((s|0)>-1?s:0-s|0)+(f[b>>2]|0)>>e;a=o+1|0;n[k>>1]=a;l=a+u|0;if((l|0)<1){k=n[d>>1]|0;n[d>>1]=(k&65535)-(k<<16>>16>-128&1);k=(l|0)>(~o|0)?l:0-o|0;f[c>>2]=k;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&255;return i|0}if((u|0)<=0){k=u;f[c>>2]=k;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&255;return i|0}k=u-a|0;b=n[d>>1]|0;n[d>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;f[c>>2]=k;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&255;return i|0}function Ds(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;o=e+112|0;u=e+108|0;c=e+4568|0;a=f[o>>2]|0;s=0;while(1){if((a|0)<1){jt(e);a=f[o>>2]|0}l=f[u>>2]|0;a=a+-1|0;f[o>>2]=a;f[u>>2]=l<<1;if((l|0)>=0){h=8;break}l=f[c>>2]|0;d=1<>2];b=n-s|0;b=(d|0)<(b|0)?d:b;s=b+s|0;if((b|0)==(d|0))f[c>>2]=(l|0)>30?31:l+1|0;if((s|0)==(n|0)){a=n;break}}if((h|0)==8)if((s|0)!=(n|0)){a=f[c>>2]|0;if((a+-4|0)>>>0<28)a=_a(e,f[36476+(a<<2)>>2]|0)|0;else a=0;a=a+s|0;if((a|0)>(n|0)){a=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,a|0,5,35648);b=_;_=0;if(b&1){b=ze()|0;je(a|0);$e(b|0)}else bi(a|0,824,96)}}else a=n;if((a|0)<=0)return a|0;s=0;do{b=r+(s*3|0)|0;t[b>>0]=t[i>>0]|0;t[b+1>>0]=t[i+1>>0]|0;t[b+2>>0]=t[i+2>>0]|0;s=s+1|0}while((s|0)!=(a|0));return a|0}function Ns(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0;u=i+9|0;r=a[u>>0]|0;l=i+4|0;s=(re(r>>>1,f[l>>2]|0)|0)+(f[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;s=f[36476+(f[e+4568>>2]<<2)>>2]|0;r=wa(e)|0;do{if((r|0)<(22-s|0))if(!n){e=f[l>>2]|0;s=e+r|0;n=s&1;s=(n+s|0)/2|0;o=8;break}else{r=(_a(e,n)|0)+(r<>2]|0;s=r+e|0;c=s&1;n=c;l=1;s=(c+s|0)/2|0;break}else{r=(_a(e,8)|0)+1|0;e=f[l>>2]|0;s=r+e|0;l=s&1;s=(l+s|0)/2|0;if(!n){n=l;o=8}else{n=l;l=1}}}while(0);if((o|0)==8)l=a[i+10>>0]<<1>>>0>=(a[u>>0]|0)>>>0;s=(n|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;t[c>>0]=(a[c>>0]|0)+1}r=(r+1-e>>1)+(f[i>>2]|0)|0;f[i>>2]=r;n=t[u>>0]|0;if(n<<24>>24!=(t[i+8>>0]|0)){c=n;c=c&255;c=c+1|0;c=c&255;t[u>>0]=c;return s|0}f[i>>2]=r>>1;c=(n&255)>>>1;t[u>>0]=c;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;c=c&255;c=c+1|0;c=c&255;t[u>>0]=c;return s|0}function Fs(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0;d=c;c=c+128|0;s=d;k=d+116|0;w=d+104|0;o=d+20|0;h=d+16|0;u=d+12|0;b=d+8|0;l=d+4|0;t[k>>0]=t[58887]|0;t[k+1>>0]=t[58888]|0;t[k+2>>0]=t[58889]|0;t[k+3>>0]=t[58890]|0;t[k+4>>0]=t[58891]|0;t[k+5>>0]=t[58892]|0;_k(k+1|0,58893,0,f[r+4>>2]|0);e=Vb()|0;f[s>>2]=a;a=w+(n_(w,12,e,k,s)|0)|0;k=mk(w,a,r)|0;e=sd(r)|0;f[b>>2]=e;_=0;me(3,w|0,k|0,a|0,o|0,h|0,u|0,b|0);a=_;_=0;if(a&1){w=ze()|0;bh(e)|0;$e(w|0)}else{bh(e)|0;f[l>>2]=f[i>>2];k=f[h>>2]|0;w=f[u>>2]|0;f[s>>2]=f[l>>2];w=a_(s,o,k,w,r,n)|0;c=d;return w|0}return 0}function Us(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0;d=c;c=c+240|0;s=d+8|0;e=d;k=d+204|0;o=d+32|0;h=d+28|0;u=d+24|0;b=d+20|0;l=d+16|0;w=e;f[w>>2]=37;f[w+4>>2]=0;_k(e+1|0,58895,0,f[r+4>>2]|0);w=Vb()|0;m=s;f[m>>2]=n;f[m+4>>2]=a;a=k+(n_(k,23,w,e,s)|0)|0;n=mk(k,a,r)|0;e=sd(r)|0;f[b>>2]=e;_=0;me(3,k|0,n|0,a|0,o|0,h|0,u|0,b|0);a=_;_=0;if(a&1){m=ze()|0;bh(e)|0;$e(m|0)}else{bh(e)|0;f[l>>2]=f[i>>2];w=f[h>>2]|0;m=f[u>>2]|0;f[s>>2]=f[l>>2];m=a_(s,o,w,m,r,t)|0;c=d;return m|0}return 0}function js(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var a=0,s=0,l=0,o=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0;A=c;c=c+352|0;p=A+312|0;k=A+48|0;b=A+32|0;o=A+24|0;a=A+8|0;d=A;m=A+316|0;v=A+80|0;l=A+84|0;E=A+76|0;M=A+72|0;g=A+68|0;y=A+64|0;h=d;f[h>>2]=37;f[h+4>>2]=0;h=Ek(d+1|0,58898,f[r+4>>2]|0)|0;f[v>>2]=m;e=Vb()|0;if(h){f[a>>2]=f[r+8>>2];u[a+8>>3]=n;a=n_(m,30,e,d,a)|0}else{u[o>>3]=n;a=n_(m,30,e,d,o)|0}e:do{if((a|0)>29){_=0;e=Me(3)|0;a=_;_=0;a=a&1;if(h){if(!a?(_=0,f[b>>2]=f[r+8>>2],u[b+8>>3]=n,s=Ee(17,v|0,e|0,d|0,b|0)|0,w=_,_=0,!(w&1)):0)S=12}else if(!a?(_=0,f[k>>2]=f[r+8>>2],u[k+8>>3]=n,w=Ee(17,v|0,e|0,d|0,k|0)|0,k=_,_=0,!(k&1)):0){s=w;S=12}do{if((S|0)==12){e=f[v>>2]|0;if(!e){_=0;Se(6);w=_;_=0;if(w&1)break;a=f[v>>2]|0}else a=e;e=a;d=a;S=16;break e}}while(0);e=ze()|0}else{e=f[v>>2]|0;d=0;s=a;S=16}}while(0);if((S|0)==16){o=e+s|0;h=mk(e,o,r)|0;do{if((e|0)==(m|0)){e=m;a=0;S=22}else{s=Lc(s<<3)|0;if(!s){_=0;Se(6);S=_;_=0;if(S&1){a=0;S=20;break}e=f[v>>2]|0}a=s;l=s;S=22}}while(0);do{if((S|0)==22){_=0;s=de(68,r|0)|0;v=_;_=0;if(!(v&1)){f[g>>2]=s;_=0;me(4,e|0,h|0,o|0,l|0,E|0,M|0,g|0);g=_;_=0;if(g&1){e=ze()|0;bh(s)|0;break}bh(s)|0;f[y>>2]=f[i>>2];S=f[E>>2]|0;e=f[M>>2]|0;_=0;f[p>>2]=f[y>>2];e=he(40,p|0,l|0,S|0,e|0,r|0,t|0)|0;S=_;_=0;if(!(S&1)){f[i>>2]=e;if(a)Pc(a);if(d)Pc(d);c=A;return e|0}else S=20}else S=20}}while(0);if((S|0)==20)e=ze()|0;if(a)Pc(a);if(d)Pc(d)}$e(e|0);return 0}function Hs(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0;E=c;c=c+16|0;A=E;M=Du(l,44212)|0;g=Du(l,44368)|0;aM[f[(f[g>>2]|0)+20>>2]&127](A,g);f[s>>2]=n;l=t[e>>0]|0;switch(l<<24>>24){case 43:case 45:{_=0;l=pe(f[(f[M>>2]|0)+44>>2]|0,M|0,l|0)|0;y=_;_=0;if(y&1)p=8;else{h=f[s>>2]|0;f[s>>2]=h+4;f[h>>2]=l;h=e+1|0;p=10}break}default:{h=e;p=10}}e:do{if((p|0)==10){y=r;i:do{if((y-h|0)>1?(t[h>>0]|0)==48:0){o=h+1|0;switch(t[o>>0]|0){case 88:case 120:break;default:{p=11;break i}}_=0;l=pe(f[(f[M>>2]|0)+44>>2]|0,M|0,48)|0;v=_;_=0;if(v&1){p=8;break e}v=f[s>>2]|0;f[s>>2]=v+4;f[v>>2]=l;h=h+2|0;_=0;l=pe(f[(f[M>>2]|0)+44>>2]|0,M|0,t[o>>0]|0)|0;v=_;_=0;if(v&1){p=8;break e}v=f[s>>2]|0;f[s>>2]=v+4;f[v>>2]=l;if(h>>>0>>0){l=h;while(1){o=t[l>>0]|0;_=0;u=Me(3)|0;v=_;_=0;if(v&1)break;_=0;o=pe(39,o<<24>>24|0,u|0)|0;v=_;_=0;if(v&1)break;if(!o){v=h;break i}l=l+1|0;if(l>>>0>=r>>>0){v=h;break i}}l=ze()|0;break e}else{v=h;l=h}}else p=11}while(0);i:do{if((p|0)==11)if(h>>>0>>0){l=h;while(1){o=t[l>>0]|0;_=0;u=Me(3)|0;v=_;_=0;if(v&1)break;_=0;o=pe(40,o<<24>>24|0,u|0)|0;v=_;_=0;if(v&1)break;if(!o){v=h;break i}l=l+1|0;if(l>>>0>=r>>>0){v=h;break i}}l=ze()|0;break e}else{v=h;l=h}}while(0);w=t[A>>0]|0;m=A+4|0;if(((w&1)==0?(w&255)>>>1:f[m>>2]|0)|0){if((v|0)!=(l|0)?(d=l+-1|0,v>>>0>>0):0){u=v;o=d;do{w=t[u>>0]|0;t[u>>0]=t[o>>0]|0;t[o>>0]=w;u=u+1|0;o=o+-1|0}while(u>>>0>>0)}_=0;d=de(f[(f[g>>2]|0)+16>>2]|0,g|0)|0;w=_;_=0;if(w&1){p=8;break}b=A+8|0;k=A+1|0;i:do{if(v>>>0>>0){o=0;u=0;w=v;while(1){h=t[((t[A>>0]&1)==0?k:f[b>>2]|0)+u>>0]|0;if(h<<24>>24>0&(o|0)==(h<<24>>24|0)){o=f[s>>2]|0;f[s>>2]=o+4;f[o>>2]=d;o=t[A>>0]|0;h=0;u=(u>>>0<(((o&1)==0?(o&255)>>>1:f[m>>2]|0)+-1|0)>>>0&1)+u|0}else h=o;_=0;o=pe(f[(f[M>>2]|0)+44>>2]|0,M|0,t[w>>0]|0)|0;S=_;_=0;if(S&1)break;S=f[s>>2]|0;f[s>>2]=S+4;f[S>>2]=o;w=w+1|0;if(w>>>0>=l>>>0)break i;else o=h+1|0}l=ze()|0;break e}}while(0);o=n+(v-e<<2)|0;h=f[s>>2]|0;if((o|0)!=(h|0)){u=h+-4|0;if(o>>>0>>0){do{S=f[o>>2]|0;f[o>>2]=f[u>>2];f[u>>2]=S;o=o+4|0;u=u+-4|0}while(o>>>0>>0);d=M;o=h}else{d=M;o=h}}else d=M}else{_=0;Ee(f[(f[M>>2]|0)+48>>2]|0,M|0,v|0,l|0,f[s>>2]|0)|0;S=_;_=0;if(S&1){p=8;break}o=(f[s>>2]|0)+(l-v<<2)|0;f[s>>2]=o;d=M}i:do{if(l>>>0>>0){while(1){o=t[l>>0]|0;if(o<<24>>24==46){u=l;break}_=0;u=pe(f[(f[d>>2]|0)+44>>2]|0,M|0,o|0)|0;S=_;_=0;if(S&1){p=4;break}S=f[s>>2]|0;o=S+4|0;f[s>>2]=o;f[S>>2]=u;l=l+1|0;if(l>>>0>=r>>>0)break i}if((p|0)==4){l=ze()|0;break e}_=0;l=de(f[(f[g>>2]|0)+12>>2]|0,g|0)|0;S=_;_=0;if(S&1){p=8;break e}S=f[s>>2]|0;o=S+4|0;f[s>>2]=o;f[S>>2]=l;l=u+1|0}}while(0);_=0;Ee(f[(f[M>>2]|0)+48>>2]|0,M|0,l|0,r|0,o|0)|0;S=_;_=0;if(S&1)p=8;else{S=(f[s>>2]|0)+(y-l<<2)|0;f[s>>2]=S;f[a>>2]=(i|0)==(r|0)?S:n+(i-e<<2)|0;Oh(A);c=E;return}}}while(0);if((p|0)==8)l=ze()|0;Oh(A);$e(l|0)}function zs(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var a=0,s=0,l=0,o=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0;A=c;c=c+352|0;p=A+304|0;k=A+48|0;b=A+32|0;o=A+24|0;a=A+8|0;d=A;m=A+308|0;v=A+72|0;l=A+76|0;E=A+68|0;M=A+64|0;g=A+60|0;y=A+56|0;h=d;f[h>>2]=37;f[h+4>>2]=0;h=Ek(d+1|0,58899,f[r+4>>2]|0)|0;f[v>>2]=m;e=Vb()|0;if(h){f[a>>2]=f[r+8>>2];u[a+8>>3]=n;a=n_(m,30,e,d,a)|0}else{u[o>>3]=n;a=n_(m,30,e,d,o)|0}e:do{if((a|0)>29){_=0;e=Me(3)|0;a=_;_=0;a=a&1;if(h){if(!a?(_=0,f[b>>2]=f[r+8>>2],u[b+8>>3]=n,s=Ee(17,v|0,e|0,d|0,b|0)|0,w=_,_=0,!(w&1)):0)S=12}else if(!a?(_=0,u[k>>3]=n,w=Ee(17,v|0,e|0,d|0,k|0)|0,k=_,_=0,!(k&1)):0){s=w;S=12}do{if((S|0)==12){e=f[v>>2]|0;if(!e){_=0;Se(6);w=_;_=0;if(w&1)break;a=f[v>>2]|0}else a=e;e=a;d=a;S=16;break e}}while(0);e=ze()|0}else{e=f[v>>2]|0;d=0;s=a;S=16}}while(0);if((S|0)==16){o=e+s|0;h=mk(e,o,r)|0;do{if((e|0)==(m|0)){e=m;a=0;S=22}else{s=Lc(s<<3)|0;if(!s){_=0;Se(6);S=_;_=0;if(S&1){a=0;S=20;break}e=f[v>>2]|0}a=s;l=s;S=22}}while(0);do{if((S|0)==22){_=0;s=de(68,r|0)|0;v=_;_=0;if(!(v&1)){f[g>>2]=s;_=0;me(4,e|0,h|0,o|0,l|0,E|0,M|0,g|0);g=_;_=0;if(g&1){e=ze()|0;bh(s)|0;break}bh(s)|0;f[y>>2]=f[i>>2];S=f[E>>2]|0;e=f[M>>2]|0;_=0;f[p>>2]=f[y>>2];e=he(40,p|0,l|0,S|0,e|0,r|0,t|0)|0;S=_;_=0;if(!(S&1)){f[i>>2]=e;if(a)Pc(a);if(d)Pc(d);c=A;return e|0}else S=20}else S=20}}while(0);if((S|0)==20)e=ze()|0;if(a)Pc(a);if(d)Pc(d)}$e(e|0);return 0}function Ys(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0;k=c;c=c+192|0;u=k;e=k+180|0;d=k+160|0;b=k+12|0;o=k+8|0;h=k+4|0;t[e>>0]=t[58901]|0;t[e+1>>0]=t[58902]|0;t[e+2>>0]=t[58903]|0;t[e+3>>0]=t[58904]|0;t[e+4>>0]=t[58905]|0;t[e+5>>0]=t[58906]|0;s=Vb()|0;f[u>>2]=a;e=n_(d,20,s,e,u)|0;a=d+e|0;s=mk(d,a,r)|0;l=sd(r)|0;f[o>>2]=l;_=0;o=pe(37,o|0,44212)|0;w=_;_=0;if(w&1){w=ze()|0;bh(l)|0;$e(w|0)}else{bh(l)|0;vM[f[(f[o>>2]|0)+48>>2]&31](o,d,a,b)|0;w=b+(e<<2)|0;f[h>>2]=f[i>>2];f[u>>2]=f[h>>2];w=a_(u,b,(s|0)==(a|0)?w:b+(s-d<<2)|0,w,r,n)|0;c=k;return w|0}return 0}function qs(e,i,r,s,l,o,u,h){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;var d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0;C=c;c=c+32|0;y=C+16|0;g=C+12|0;A=C+8|0;M=C+4|0;E=C;d=sd(s)|0;f[A>>2]=d;_=0;A=pe(37,A|0,44220)|0;p=_;_=0;if(p&1){C=ze()|0;bh(d)|0;$e(C|0)}bh(d)|0;f[l>>2]=0;p=A+8|0;d=f[i>>2]|0;e:do{if((u|0)!=(h|0)){i:while(1){b=d;if(d){if((f[d+12>>2]|0)==(f[d+16>>2]|0)?(lM[f[(f[d>>2]|0)+36>>2]&127](d)|0)==-1:0){f[i>>2]=0;d=0;b=0}}else d=0;m=(d|0)==0;w=f[r>>2]|0;k=w;do{if(w){if((f[w+12>>2]|0)==(f[w+16>>2]|0)?(lM[f[(f[w>>2]|0)+36>>2]&127](w)|0)==-1:0){f[r>>2]=0;k=0;T=12;break}if(!m){T=13;break i}}else T=12}while(0);if((T|0)==12){T=0;if(m){T=13;break}else w=0}r:do{if((uM[f[(f[A>>2]|0)+36>>2]&63](A,t[u>>0]|0,0)|0)<<24>>24==37){w=u+1|0;if((w|0)==(h|0)){T=17;break i}v=uM[f[(f[A>>2]|0)+36>>2]&63](A,t[w>>0]|0,0)|0;switch(v<<24>>24){case 48:case 69:{m=u+2|0;if((m|0)==(h|0)){T=20;break i}u=w;w=uM[f[(f[A>>2]|0)+36>>2]&63](A,t[m>>0]|0,0)|0;d=v;break}default:{w=v;d=0}}v=f[(f[e>>2]|0)+36>>2]|0;f[M>>2]=b;f[E>>2]=k;f[g>>2]=f[M>>2];f[y>>2]=f[E>>2];f[i>>2]=yM[v&15](e,g,y,s,l,o,w,d)|0;u=u+2|0}else{b=t[u>>0]|0;if(b<<24>>24>-1?(S=f[p>>2]|0,(n[S+(b<<24>>24<<1)>>1]&8192)!=0):0){do{u=u+1|0;if((u|0)==(h|0)){u=h;break}b=t[u>>0]|0;if(b<<24>>24<=-1)break}while((n[S+(b<<24>>24<<1)>>1]&8192)!=0);b=w;while(1){if(d){if((f[d+12>>2]|0)==(f[d+16>>2]|0)?(lM[f[(f[d>>2]|0)+36>>2]&127](d)|0)==-1:0){f[i>>2]=0;d=0}}else d=0;k=(d|0)==0;do{if(w){if((f[w+12>>2]|0)!=(f[w+16>>2]|0))if(k){v=b;break}else break r;if((lM[f[(f[w>>2]|0)+36>>2]&127](w)|0)!=-1)if(k^(b|0)==0){v=b;w=b;break}else break r;else{f[r>>2]=0;b=0;T=39;break}}else T=39}while(0);if((T|0)==39){T=0;if(k)break r;else{v=b;w=0}}k=d+12|0;b=f[k>>2]|0;m=d+16|0;if((b|0)==(f[m>>2]|0))b=lM[f[(f[d>>2]|0)+36>>2]&127](d)|0;else b=a[b>>0]|0;if((b&255)<<24>>24<=-1)break r;if(!(n[(f[p>>2]|0)+(b<<24>>24<<1)>>1]&8192))break r;b=f[k>>2]|0;if((b|0)==(f[m>>2]|0)){lM[f[(f[d>>2]|0)+40>>2]&127](d)|0;b=v;continue}else{f[k>>2]=b+1;b=v;continue}}}k=d+12|0;b=f[k>>2]|0;w=d+16|0;if((b|0)==(f[w>>2]|0))b=lM[f[(f[d>>2]|0)+36>>2]&127](d)|0;else b=a[b>>0]|0;v=kM[f[(f[A>>2]|0)+12>>2]&63](A,b&255)|0;if(v<<24>>24!=(kM[f[(f[A>>2]|0)+12>>2]&63](A,t[u>>0]|0)|0)<<24>>24){T=57;break i}b=f[k>>2]|0;if((b|0)==(f[w>>2]|0))lM[f[(f[d>>2]|0)+40>>2]&127](d)|0;else f[k>>2]=b+1;u=u+1|0}}while(0);d=f[i>>2]|0;if(!((u|0)!=(h|0)&(f[l>>2]|0)==0))break e}if((T|0)==13){f[l>>2]=4;break}else if((T|0)==17){f[l>>2]=4;break}else if((T|0)==20){f[l>>2]=4;break}else if((T|0)==57){f[l>>2]=4;d=f[i>>2]|0;break}}}while(0);if(d){if((f[d+12>>2]|0)==(f[d+16>>2]|0)?(lM[f[(f[d>>2]|0)+36>>2]&127](d)|0)==-1:0){f[i>>2]=0;d=0}}else d=0;u=(d|0)==0;b=f[r>>2]|0;do{if(b){if((f[b+12>>2]|0)==(f[b+16>>2]|0)?(lM[f[(f[b>>2]|0)+36>>2]&127](b)|0)==-1:0){f[r>>2]=0;T=67;break}if(!u)T=68}else T=67}while(0);if((T|0)==67?u:0)T=68;if((T|0)==68)f[l>>2]=f[l>>2]|2;c=C;return d|0}function Xs(e){e=e|0;return}function Vs(e){e=e|0;Ip(e);return}function Gs(e){e=e|0;return 2}function Ks(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=qs(e,o,l,t,n,a,58907,58915)|0;c=s;return e|0}function Ws(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0;l=c;c=c+16|0;o=l+12|0;u=l+8|0;d=l+4|0;h=l;b=e+8|0;b=lM[f[(f[b>>2]|0)+20>>2]&127](b)|0;f[d>>2]=f[i>>2];f[h>>2]=f[r>>2];r=t[b>>0]|0;k=(r&1)==0;i=k?b+1|0:f[b+8>>2]|0;r=i+(k?(r&255)>>>1:f[b+4>>2]|0)|0;f[u>>2]=f[d>>2];f[o>>2]=f[h>>2];e=qs(e,u,o,n,a,s,i,r)|0;c=l;return e|0}function Zs(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;l=u+8|0;s=u+4|0;o=u;t=sd(t)|0;f[s>>2]=t;_=0;s=pe(37,s|0,44220)|0;h=_;_=0;if(h&1){h=ze()|0;bh(t)|0;$e(h|0)}else{bh(t)|0;f[o>>2]=f[r>>2];f[l>>2]=f[o>>2];Js(e,a+24|0,i,l,n,s);c=u;return f[i>>2]|0}return 0}function Js(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0;s=c;c=c+16|0;l=s+4|0;o=s;e=e+8|0;e=lM[f[f[e>>2]>>2]&127](e)|0;f[o>>2]=f[t>>2];f[l>>2]=f[o>>2];r=(Nw(r,l,e,e+168|0,a,n,0)|0)-e|0;if((r|0)<168)f[i>>2]=((r|0)/12|0|0)%7|0;c=s;return}function Qs(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;l=u+8|0;s=u+4|0;o=u;t=sd(t)|0;f[s>>2]=t;_=0;s=pe(37,s|0,44220)|0;h=_;_=0;if(h&1){h=ze()|0;bh(t)|0;$e(h|0)}else{bh(t)|0;f[o>>2]=f[r>>2];f[l>>2]=f[o>>2];$s(e,a+16|0,i,l,n,s);c=u;return f[i>>2]|0}return 0}function $s(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0;s=c;c=c+16|0;l=s+4|0;o=s;e=e+8|0;e=lM[f[(f[e>>2]|0)+4>>2]&127](e)|0;f[o>>2]=f[t>>2];f[l>>2]=f[o>>2];r=(Nw(r,l,e,e+288|0,a,n,0)|0)-e|0;if((r|0)<288)f[i>>2]=((r|0)/12|0|0)%12|0;c=s;return}function el(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;l=u+8|0;s=u+4|0;o=u;t=sd(t)|0;f[s>>2]=t;_=0;s=pe(37,s|0,44220)|0;h=_;_=0;if(h&1){h=ze()|0;bh(t)|0;$e(h|0)}else{bh(t)|0;f[o>>2]=f[r>>2];f[l>>2]=f[o>>2];il(e,a+20|0,i,l,n,s);c=u;return f[i>>2]|0}return 0}function il(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=s_(r,e,n,a,4)|0;if(!(f[n>>2]&4)){if((e|0)<69)e=e+2e3|0;else e=(e+-69|0)>>>0<31?e+1900|0:e;f[i>>2]=e+-1900}c=s;return}function rl(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,H=0,z=0,Y=0,q=0,X=0,V=0,G=0,K=0;V=c;c=c+144|0;u=V+132|0;o=V+116|0;U=V+128|0;M=V+124|0;B=V+120|0;j=V+112|0;H=V+108|0;z=V+104|0;Y=V+100|0;q=V+96|0;X=V+92|0;h=V+88|0;d=V+84|0;b=V+80|0;k=V+76|0;w=V+72|0;m=V+68|0;v=V+64|0;p=V+60|0;g=V+56|0;y=V+52|0;E=V+48|0;A=V+44|0;S=V+40|0;T=V+36|0;C=V+32|0;R=V+28|0;L=V+24|0;P=V+20|0;x=V+16|0;O=V+12|0;I=V+8|0;D=V+4|0;N=V;f[a>>2]=0;F=sd(n)|0;f[U>>2]=F;_=0;U=pe(37,U|0,44220)|0;K=_;_=0;if(K&1){K=ze()|0;bh(F)|0;$e(K|0)}bh(F)|0;do{switch(l<<24>>24|0){case 65:case 97:{f[M>>2]=f[r>>2];f[u>>2]=f[M>>2];Js(e,s+24|0,i,u,a,U);G=28;break}case 104:case 66:case 98:{f[B>>2]=f[r>>2];f[u>>2]=f[B>>2];$s(e,s+16|0,i,u,a,U);G=28;break}case 99:{G=e+8|0;G=lM[f[(f[G>>2]|0)+12>>2]&127](G)|0;f[j>>2]=f[i>>2];f[H>>2]=f[r>>2];l=t[G>>0]|0;r=(l&1)==0;K=r?G+1|0:f[G+8>>2]|0;G=K+(r?(l&255)>>>1:f[G+4>>2]|0)|0;f[o>>2]=f[j>>2];f[u>>2]=f[H>>2];f[i>>2]=qs(e,o,u,n,a,s,K,G)|0;G=28;break}case 101:case 100:{f[z>>2]=f[r>>2];f[u>>2]=f[z>>2];tl(e,s+12|0,i,u,a,U);G=28;break}case 68:{f[Y>>2]=f[i>>2];f[q>>2]=f[r>>2];f[o>>2]=f[Y>>2];f[u>>2]=f[q>>2];f[i>>2]=qs(e,o,u,n,a,s,58915,58923)|0;G=28;break}case 70:{f[X>>2]=f[i>>2];f[h>>2]=f[r>>2];f[o>>2]=f[X>>2];f[u>>2]=f[h>>2];f[i>>2]=qs(e,o,u,n,a,s,58923,58931)|0;G=28;break}case 72:{f[d>>2]=f[r>>2];f[u>>2]=f[d>>2];nl(e,s+8|0,i,u,a,U);G=28;break}case 73:{f[b>>2]=f[r>>2];f[u>>2]=f[b>>2];fl(e,s+8|0,i,u,a,U);G=28;break}case 106:{f[k>>2]=f[r>>2];f[u>>2]=f[k>>2];al(e,s+28|0,i,u,a,U);G=28;break}case 109:{f[w>>2]=f[r>>2];f[u>>2]=f[w>>2];sl(e,s+16|0,i,u,a,U);G=28;break}case 77:{f[m>>2]=f[r>>2];f[u>>2]=f[m>>2];ll(e,s+4|0,i,u,a,U);G=28;break}case 116:case 110:{f[v>>2]=f[r>>2];f[u>>2]=f[v>>2];ol(e,i,u,a,U);G=28;break}case 112:{f[p>>2]=f[r>>2];f[u>>2]=f[p>>2];ul(e,s+8|0,i,u,a,U);G=28;break}case 114:{f[g>>2]=f[i>>2];f[y>>2]=f[r>>2];f[o>>2]=f[g>>2];f[u>>2]=f[y>>2];f[i>>2]=qs(e,o,u,n,a,s,58931,58942)|0;G=28;break}case 82:{f[E>>2]=f[i>>2];f[A>>2]=f[r>>2];f[o>>2]=f[E>>2];f[u>>2]=f[A>>2];f[i>>2]=qs(e,o,u,n,a,s,58942,58947)|0;G=28;break}case 83:{f[S>>2]=f[r>>2];f[u>>2]=f[S>>2];cl(e,s,i,u,a,U);G=28;break}case 84:{f[T>>2]=f[i>>2];f[C>>2]=f[r>>2];f[o>>2]=f[T>>2];f[u>>2]=f[C>>2];f[i>>2]=qs(e,o,u,n,a,s,58947,58955)|0;G=28;break}case 119:{f[R>>2]=f[r>>2];f[u>>2]=f[R>>2];hl(e,s+24|0,i,u,a,U);G=28;break}case 120:{K=f[(f[e>>2]|0)+20>>2]|0;f[L>>2]=f[i>>2];f[P>>2]=f[r>>2];f[o>>2]=f[L>>2];f[u>>2]=f[P>>2];o=sM[K&63](e,o,u,n,a,s)|0;break}case 88:{G=e+8|0;G=lM[f[(f[G>>2]|0)+24>>2]&127](G)|0;f[x>>2]=f[i>>2];f[O>>2]=f[r>>2];l=t[G>>0]|0;r=(l&1)==0;K=r?G+1|0:f[G+8>>2]|0;G=K+(r?(l&255)>>>1:f[G+4>>2]|0)|0;f[o>>2]=f[x>>2];f[u>>2]=f[O>>2];f[i>>2]=qs(e,o,u,n,a,s,K,G)|0;G=28;break}case 121:{f[I>>2]=f[r>>2];f[u>>2]=f[I>>2];il(e,s+20|0,i,u,a,U);G=28;break}case 89:{f[D>>2]=f[r>>2];f[u>>2]=f[D>>2];dl(e,s+20|0,i,u,a,U);G=28;break}case 37:{f[N>>2]=f[r>>2];f[u>>2]=f[N>>2];bl(e,i,u,a,U);G=28;break}default:{f[a>>2]=f[a>>2]|4;G=28}}}while(0);if((G|0)==28)o=f[i>>2]|0;c=V;return o|0}function tl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=s_(r,e,n,a,2)|0;r=f[n>>2]|0;if((e+-1|0)>>>0<31&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function nl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=s_(r,e,n,a,2)|0;r=f[n>>2]|0;if((e|0)<24&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function fl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=s_(r,e,n,a,2)|0;r=f[n>>2]|0;if((e+-1|0)>>>0<12&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function al(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=s_(r,e,n,a,3)|0;r=f[n>>2]|0;if((e|0)<366&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function sl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=s_(r,e,n,a,2)|0;r=f[n>>2]|0;if((e|0)<13&(r&4|0)==0)f[i>>2]=e+-1;else f[n>>2]=r|4;c=s;return}function ll(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=s_(r,e,n,a,2)|0;r=f[n>>2]|0;if((e|0)<60&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function ol(e,i,r,t,s){e=e|0;i=i|0;r=r|0;t=t|0;s=s|0;var l=0,o=0,u=0;o=s+8|0;e:while(1){s=f[i>>2]|0;do{if(s){if((f[s+12>>2]|0)==(f[s+16>>2]|0))if((lM[f[(f[s>>2]|0)+36>>2]&127](s)|0)==-1){f[i>>2]=0;s=0;break}else{s=f[i>>2]|0;break}}else s=0}while(0);s=(s|0)==0;e=f[r>>2]|0;do{if(e){if((f[e+12>>2]|0)!=(f[e+16>>2]|0))if(s)break;else break e;if((lM[f[(f[e>>2]|0)+36>>2]&127](e)|0)!=-1)if(s)break;else break e;else{f[r>>2]=0;u=12;break}}else u=12}while(0);if((u|0)==12){u=0;if(s){e=0;break}else e=0}s=f[i>>2]|0;l=f[s+12>>2]|0;if((l|0)==(f[s+16>>2]|0))s=lM[f[(f[s>>2]|0)+36>>2]&127](s)|0;else s=a[l>>0]|0;if((s&255)<<24>>24<=-1)break;if(!(n[(f[o>>2]|0)+(s<<24>>24<<1)>>1]&8192))break;s=f[i>>2]|0;e=s+12|0;l=f[e>>2]|0;if((l|0)==(f[s+16>>2]|0)){lM[f[(f[s>>2]|0)+40>>2]&127](s)|0;continue}else{f[e>>2]=l+1;continue}}s=f[i>>2]|0;do{if(s){if((f[s+12>>2]|0)==(f[s+16>>2]|0))if((lM[f[(f[s>>2]|0)+36>>2]&127](s)|0)==-1){f[i>>2]=0;s=0;break}else{s=f[i>>2]|0;break}}else s=0}while(0);s=(s|0)==0;do{if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)?(lM[f[(f[e>>2]|0)+36>>2]&127](e)|0)==-1:0){f[r>>2]=0;u=32;break}if(!s)u=33}else u=32}while(0);if((u|0)==32?s:0)u=33;if((u|0)==33)f[t>>2]=f[t>>2]|2;return}function ul(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0;d=c;c=c+16|0;o=d+4|0;u=d;h=e+8|0;h=lM[f[(f[h>>2]|0)+8>>2]&127](h)|0;e=t[h>>0]|0;if(!(e&1))l=(e&255)>>>1;else l=f[h+4>>2]|0;e=t[h+12>>0]|0;if(!(e&1))e=(e&255)>>>1;else e=f[h+16>>2]|0;do{if((l|0)!=(0-e|0)){f[u>>2]=f[n>>2];f[o>>2]=f[u>>2];e=Nw(r,o,h,h+24|0,s,a,0)|0;l=f[i>>2]|0;if((e|0)==(h|0)&(l|0)==12){f[i>>2]=0;break}if((l|0)<12&(e-h|0)==12)f[i>>2]=l+12}else f[a>>2]=f[a>>2]|4}while(0);c=d;return}function cl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=s_(r,e,n,a,2)|0;r=f[n>>2]|0;if((e|0)<61&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function hl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=s_(r,e,n,a,1)|0;r=f[n>>2]|0;if((e|0)<7&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function dl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=s_(r,e,n,a,4)|0;if(!(f[n>>2]&4))f[i>>2]=e+-1900;c=s;return}function bl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var s=0,l=0,o=0;e=f[i>>2]|0;do{if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0))if((lM[f[(f[e>>2]|0)+36>>2]&127](e)|0)==-1){f[i>>2]=0;e=0;break}else{e=f[i>>2]|0;break}}else e=0}while(0);s=(e|0)==0;e=f[r>>2]|0;do{if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)?(lM[f[(f[e>>2]|0)+36>>2]&127](e)|0)==-1:0){f[r>>2]=0;o=11;break}if(s){l=e;o=13}else o=12}else o=11}while(0);if((o|0)==11)if(s)o=12;else{l=0;o=13}e:do{if((o|0)==12)f[t>>2]=f[t>>2]|6;else if((o|0)==13){e=f[i>>2]|0;s=f[e+12>>2]|0;if((s|0)==(f[e+16>>2]|0))e=lM[f[(f[e>>2]|0)+36>>2]&127](e)|0;else e=a[s>>0]|0;if((uM[f[(f[n>>2]|0)+36>>2]&63](n,e&255,0)|0)<<24>>24!=37){f[t>>2]=f[t>>2]|4;break}e=f[i>>2]|0;s=e+12|0;n=f[s>>2]|0;if((n|0)==(f[e+16>>2]|0)){lM[f[(f[e>>2]|0)+40>>2]&127](e)|0;e=f[i>>2]|0;if(!e)e=0;else o=21}else{f[s>>2]=n+1;o=21}do{if((o|0)==21)if((f[e+12>>2]|0)==(f[e+16>>2]|0))if((lM[f[(f[e>>2]|0)+36>>2]&127](e)|0)==-1){f[i>>2]=0;e=0;break}else{e=f[i>>2]|0;break}}while(0);e=(e|0)==0;do{if(l){if((f[l+12>>2]|0)==(f[l+16>>2]|0)?(lM[f[(f[l>>2]|0)+36>>2]&127](l)|0)==-1:0){f[r>>2]=0;o=30;break}if(e)break e}else o=30}while(0);if((o|0)==30?!e:0)break;f[t>>2]=f[t>>2]|2}}while(0);return}function kl(e,i,r,t,n,a,s,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0;M=c;c=c+32|0;m=M+16|0;w=M+12|0;g=M+8|0;v=M+4|0;p=M;o=sd(t)|0;f[g>>2]=o;_=0;g=pe(37,g|0,44212)|0;k=_;_=0;if(k&1){M=ze()|0;bh(o)|0;$e(M|0)}bh(o)|0;f[n>>2]=0;o=f[i>>2]|0;e:do{if((s|0)!=(l|0)){i:while(1){h=o;if(o){u=f[o+12>>2]|0;if((u|0)==(f[o+16>>2]|0))u=lM[f[(f[o>>2]|0)+36>>2]&127](o)|0;else u=f[u>>2]|0;if((u|0)==-1){f[i>>2]=0;o=0;b=1;k=0}else{b=0;k=h}}else{o=0;b=1;k=h}d=f[r>>2]|0;u=d;do{if(d){h=f[d+12>>2]|0;if((h|0)==(f[d+16>>2]|0))h=lM[f[(f[d>>2]|0)+36>>2]&127](d)|0;else h=f[h>>2]|0;if((h|0)!=-1)if(b)break;else{y=17;break i}else{f[r>>2]=0;u=0;y=15;break}}else y=15}while(0);if((y|0)==15){y=0;if(b){y=17;break}else d=0}r:do{if((uM[f[(f[g>>2]|0)+52>>2]&63](g,f[s>>2]|0,0)|0)<<24>>24==37){h=s+4|0;if((h|0)==(l|0)){y=21;break i}b=uM[f[(f[g>>2]|0)+52>>2]&63](g,f[h>>2]|0,0)|0;switch(b<<24>>24){case 48:case 69:{d=s+8|0;if((d|0)==(l|0)){y=24;break i}s=h;h=uM[f[(f[g>>2]|0)+52>>2]&63](g,f[d>>2]|0,0)|0;o=b;break}default:{h=b;o=0}}b=f[(f[e>>2]|0)+36>>2]|0;f[v>>2]=k;f[p>>2]=u;f[w>>2]=f[v>>2];f[m>>2]=f[p>>2];f[i>>2]=yM[b&15](e,w,m,t,n,a,h,o)|0;s=s+8|0}else{if(!(uM[f[(f[g>>2]|0)+12>>2]&63](g,8192,f[s>>2]|0)|0)){h=o+12|0;u=f[h>>2]|0;d=o+16|0;if((u|0)==(f[d>>2]|0))u=lM[f[(f[o>>2]|0)+36>>2]&127](o)|0;else u=f[u>>2]|0;k=kM[f[(f[g>>2]|0)+28>>2]&63](g,u)|0;if((k|0)!=(kM[f[(f[g>>2]|0)+28>>2]&63](g,f[s>>2]|0)|0)){y=61;break i}u=f[h>>2]|0;if((u|0)==(f[d>>2]|0))lM[f[(f[o>>2]|0)+40>>2]&127](o)|0;else f[h>>2]=u+4;s=s+4|0;break}do{s=s+4|0;if((s|0)==(l|0)){s=l;break}}while(uM[f[(f[g>>2]|0)+12>>2]&63](g,8192,f[s>>2]|0)|0);u=d;b=d;while(1){if(o){h=f[o+12>>2]|0;if((h|0)==(f[o+16>>2]|0))h=lM[f[(f[o>>2]|0)+36>>2]&127](o)|0;else h=f[h>>2]|0;if((h|0)==-1){f[i>>2]=0;d=1;o=0}else d=0}else{d=1;o=0}do{if(b){h=f[b+12>>2]|0;if((h|0)==(f[b+16>>2]|0))h=lM[f[(f[b>>2]|0)+36>>2]&127](b)|0;else h=f[h>>2]|0;if((h|0)!=-1)if(d^(u|0)==0){k=u;b=u;break}else break r;else{f[r>>2]=0;u=0;y=44;break}}else y=44}while(0);if((y|0)==44){y=0;if(d)break r;else{k=u;b=0}}h=o+12|0;u=f[h>>2]|0;d=o+16|0;if((u|0)==(f[d>>2]|0))u=lM[f[(f[o>>2]|0)+36>>2]&127](o)|0;else u=f[u>>2]|0;if(!(uM[f[(f[g>>2]|0)+12>>2]&63](g,8192,u)|0))break r;u=f[h>>2]|0;if((u|0)==(f[d>>2]|0)){lM[f[(f[o>>2]|0)+40>>2]&127](o)|0;u=k;continue}else{f[h>>2]=u+4;u=k;continue}}}}while(0);o=f[i>>2]|0;if(!((s|0)!=(l|0)&(f[n>>2]|0)==0))break e}if((y|0)==17){f[n>>2]=4;break}else if((y|0)==21){f[n>>2]=4;break}else if((y|0)==24){f[n>>2]=4;break}else if((y|0)==61){f[n>>2]=4;o=f[i>>2]|0;break}}}while(0);if(o){s=f[o+12>>2]|0;if((s|0)==(f[o+16>>2]|0))s=lM[f[(f[o>>2]|0)+36>>2]&127](o)|0;else s=f[s>>2]|0;if((s|0)==-1){f[i>>2]=0;o=0;h=1}else h=0}else{o=0;h=1}s=f[r>>2]|0;do{if(s){u=f[s+12>>2]|0;if((u|0)==(f[s+16>>2]|0))s=lM[f[(f[s>>2]|0)+36>>2]&127](s)|0;else s=f[u>>2]|0;if((s|0)!=-1)if(h)break;else{y=76;break}else{f[r>>2]=0;y=74;break}}else y=74}while(0);if((y|0)==74?h:0)y=76;if((y|0)==76)f[n>>2]=f[n>>2]|2;c=M;return o|0}function wl(e){e=e|0;return}function _l(e){e=e|0;Ip(e);return}function ml(e){e=e|0;return 2}function vl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=kl(e,o,l,t,n,a,44788,44820)|0;c=s;return e|0}function pl(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0;l=c;c=c+16|0;o=l+12|0;u=l+8|0;d=l+4|0;h=l;w=e+8|0;w=lM[f[(f[w>>2]|0)+20>>2]&127](w)|0;f[d>>2]=f[i>>2];f[h>>2]=f[r>>2];b=t[w>>0]|0;k=(b&1)==0;r=w+4|0;i=k?r:f[w+8>>2]|0;r=i+((k?(b&255)>>>1:f[r>>2]|0)<<2)|0;f[u>>2]=f[d>>2];f[o>>2]=f[h>>2];e=kl(e,u,o,n,a,s,i,r)|0;c=l;return e|0}function gl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;l=u+8|0;s=u+4|0;o=u;t=sd(t)|0;f[s>>2]=t;_=0;s=pe(37,s|0,44212)|0;h=_;_=0;if(h&1){h=ze()|0;bh(t)|0;$e(h|0)}else{bh(t)|0;f[o>>2]=f[r>>2];f[l>>2]=f[o>>2];yl(e,a+24|0,i,l,n,s);c=u;return f[i>>2]|0}return 0}function yl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0;s=c;c=c+16|0;l=s+4|0;o=s;e=e+8|0;e=lM[f[f[e>>2]>>2]&127](e)|0;f[o>>2]=f[t>>2];f[l>>2]=f[o>>2];r=(Kw(r,l,e,e+168|0,a,n,0)|0)-e|0;if((r|0)<168)f[i>>2]=((r|0)/12|0|0)%7|0;c=s;return}function Ml(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;l=u+8|0;s=u+4|0;o=u;t=sd(t)|0;f[s>>2]=t;_=0;s=pe(37,s|0,44212)|0;h=_;_=0;if(h&1){h=ze()|0;bh(t)|0;$e(h|0)}else{bh(t)|0;f[o>>2]=f[r>>2];f[l>>2]=f[o>>2];El(e,a+16|0,i,l,n,s);c=u;return f[i>>2]|0}return 0}function El(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0;s=c;c=c+16|0;l=s+4|0;o=s;e=e+8|0;e=lM[f[(f[e>>2]|0)+4>>2]&127](e)|0;f[o>>2]=f[t>>2];f[l>>2]=f[o>>2];r=(Kw(r,l,e,e+288|0,a,n,0)|0)-e|0;if((r|0)<288)f[i>>2]=((r|0)/12|0|0)%12|0;c=s;return}function Al(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;l=u+8|0;s=u+4|0;o=u;t=sd(t)|0;f[s>>2]=t;_=0;s=pe(37,s|0,44212)|0;h=_;_=0;if(h&1){h=ze()|0;bh(t)|0;$e(h|0)}else{bh(t)|0;f[o>>2]=f[r>>2];f[l>>2]=f[o>>2];Sl(e,a+20|0,i,l,n,s);c=u;return f[i>>2]|0}return 0}function Sl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=l_(r,e,n,a,4)|0;if(!(f[n>>2]&4)){if((e|0)<69)e=e+2e3|0;else e=(e+-69|0)>>>0<31?e+1900|0:e;f[i>>2]=e+-1900}c=s;return}function Tl(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,H=0,z=0,Y=0,q=0,X=0,V=0,G=0,K=0;V=c;c=c+144|0;u=V+132|0;o=V+116|0;U=V+128|0;M=V+124|0;B=V+120|0;j=V+112|0;H=V+108|0;z=V+104|0;Y=V+100|0;q=V+96|0;X=V+92|0;h=V+88|0;d=V+84|0;b=V+80|0;k=V+76|0;w=V+72|0;m=V+68|0;v=V+64|0;p=V+60|0;g=V+56|0;y=V+52|0;E=V+48|0;A=V+44|0;S=V+40|0;T=V+36|0;C=V+32|0;R=V+28|0;L=V+24|0;P=V+20|0;x=V+16|0;O=V+12|0;I=V+8|0;D=V+4|0;N=V;f[a>>2]=0;F=sd(n)|0;f[U>>2]=F;_=0;U=pe(37,U|0,44212)|0;K=_;_=0;if(K&1){K=ze()|0;bh(F)|0;$e(K|0)}bh(F)|0;do{switch(l<<24>>24|0){case 65:case 97:{f[M>>2]=f[r>>2];f[u>>2]=f[M>>2];yl(e,s+24|0,i,u,a,U);G=28;break}case 104:case 66:case 98:{f[B>>2]=f[r>>2];f[u>>2]=f[B>>2];El(e,s+16|0,i,u,a,U);G=28;break}case 99:{K=e+8|0;K=lM[f[(f[K>>2]|0)+12>>2]&127](K)|0;f[j>>2]=f[i>>2];f[H>>2]=f[r>>2];l=t[K>>0]|0;r=(l&1)==0;G=K+4|0;K=r?G:f[K+8>>2]|0;G=K+((r?(l&255)>>>1:f[G>>2]|0)<<2)|0;f[o>>2]=f[j>>2];f[u>>2]=f[H>>2];f[i>>2]=kl(e,o,u,n,a,s,K,G)|0;G=28;break}case 101:case 100:{f[z>>2]=f[r>>2];f[u>>2]=f[z>>2];Cl(e,s+12|0,i,u,a,U);G=28;break}case 68:{f[Y>>2]=f[i>>2];f[q>>2]=f[r>>2];f[o>>2]=f[Y>>2];f[u>>2]=f[q>>2];f[i>>2]=kl(e,o,u,n,a,s,44820,44852)|0;G=28;break}case 70:{f[X>>2]=f[i>>2];f[h>>2]=f[r>>2];f[o>>2]=f[X>>2];f[u>>2]=f[h>>2];f[i>>2]=kl(e,o,u,n,a,s,44852,44884)|0;G=28;break}case 72:{f[d>>2]=f[r>>2];f[u>>2]=f[d>>2];Rl(e,s+8|0,i,u,a,U);G=28;break}case 73:{f[b>>2]=f[r>>2];f[u>>2]=f[b>>2];Ll(e,s+8|0,i,u,a,U);G=28;break}case 106:{f[k>>2]=f[r>>2];f[u>>2]=f[k>>2];Pl(e,s+28|0,i,u,a,U);G=28;break}case 109:{f[w>>2]=f[r>>2];f[u>>2]=f[w>>2];xl(e,s+16|0,i,u,a,U);G=28;break}case 77:{f[m>>2]=f[r>>2];f[u>>2]=f[m>>2];Ol(e,s+4|0,i,u,a,U);G=28;break}case 116:case 110:{f[v>>2]=f[r>>2];f[u>>2]=f[v>>2];Bl(e,i,u,a,U);G=28;break}case 112:{f[p>>2]=f[r>>2];f[u>>2]=f[p>>2];Il(e,s+8|0,i,u,a,U);G=28;break}case 114:{f[g>>2]=f[i>>2];f[y>>2]=f[r>>2];f[o>>2]=f[g>>2];f[u>>2]=f[y>>2];f[i>>2]=kl(e,o,u,n,a,s,44884,44928)|0;G=28;break}case 82:{f[E>>2]=f[i>>2];f[A>>2]=f[r>>2];f[o>>2]=f[E>>2];f[u>>2]=f[A>>2];f[i>>2]=kl(e,o,u,n,a,s,44928,44948)|0;G=28;break}case 83:{f[S>>2]=f[r>>2];f[u>>2]=f[S>>2];Dl(e,s,i,u,a,U);G=28;break}case 84:{f[T>>2]=f[i>>2];f[C>>2]=f[r>>2];f[o>>2]=f[T>>2];f[u>>2]=f[C>>2];f[i>>2]=kl(e,o,u,n,a,s,44948,44980)|0;G=28;break}case 119:{f[R>>2]=f[r>>2];f[u>>2]=f[R>>2];Nl(e,s+24|0,i,u,a,U);G=28;break}case 120:{K=f[(f[e>>2]|0)+20>>2]|0;f[L>>2]=f[i>>2];f[P>>2]=f[r>>2];f[o>>2]=f[L>>2];f[u>>2]=f[P>>2];o=sM[K&63](e,o,u,n,a,s)|0;break}case 88:{K=e+8|0;K=lM[f[(f[K>>2]|0)+24>>2]&127](K)|0;f[x>>2]=f[i>>2];f[O>>2]=f[r>>2];l=t[K>>0]|0;r=(l&1)==0;G=K+4|0;K=r?G:f[K+8>>2]|0;G=K+((r?(l&255)>>>1:f[G>>2]|0)<<2)|0;f[o>>2]=f[x>>2];f[u>>2]=f[O>>2];f[i>>2]=kl(e,o,u,n,a,s,K,G)|0;G=28;break}case 121:{f[I>>2]=f[r>>2];f[u>>2]=f[I>>2];Sl(e,s+20|0,i,u,a,U);G=28;break}case 89:{f[D>>2]=f[r>>2];f[u>>2]=f[D>>2];Fl(e,s+20|0,i,u,a,U);G=28;break}case 37:{f[N>>2]=f[r>>2];f[u>>2]=f[N>>2];Ul(e,i,u,a,U);G=28;break}default:{f[a>>2]=f[a>>2]|4;G=28}}}while(0);if((G|0)==28)o=f[i>>2]|0;c=V;return o|0}function Cl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=l_(r,e,n,a,2)|0;r=f[n>>2]|0;if((e+-1|0)>>>0<31&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function Rl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=l_(r,e,n,a,2)|0;r=f[n>>2]|0;if((e|0)<24&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function Ll(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=l_(r,e,n,a,2)|0;r=f[n>>2]|0;if((e+-1|0)>>>0<12&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function Pl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=l_(r,e,n,a,3)|0;r=f[n>>2]|0;if((e|0)<366&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function xl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=l_(r,e,n,a,2)|0;r=f[n>>2]|0;if((e|0)<13&(r&4|0)==0)f[i>>2]=e+-1;else f[n>>2]=r|4;c=s;return}function Ol(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=l_(r,e,n,a,2)|0;r=f[n>>2]|0;if((e|0)<60&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function Bl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0;e:while(1){e=f[i>>2]|0;do{if(e){a=f[e+12>>2]|0;if((a|0)==(f[e+16>>2]|0))e=lM[f[(f[e>>2]|0)+36>>2]&127](e)|0;else e=f[a>>2]|0;if((e|0)==-1){f[i>>2]=0;s=1;break}else{s=(f[i>>2]|0)==0;break}}else s=1}while(0);a=f[r>>2]|0;do{if(a){e=f[a+12>>2]|0;if((e|0)==(f[a+16>>2]|0))e=lM[f[(f[a>>2]|0)+36>>2]&127](a)|0;else e=f[e>>2]|0;if((e|0)!=-1)if(s){s=a;break}else{s=a;break e}else{f[r>>2]=0;l=15;break}}else l=15}while(0);if((l|0)==15){l=0;if(s){s=0;break}else s=0}e=f[i>>2]|0;a=f[e+12>>2]|0;if((a|0)==(f[e+16>>2]|0))e=lM[f[(f[e>>2]|0)+36>>2]&127](e)|0;else e=f[a>>2]|0;if(!(uM[f[(f[n>>2]|0)+12>>2]&63](n,8192,e)|0))break;e=f[i>>2]|0;a=e+12|0;s=f[a>>2]|0;if((s|0)==(f[e+16>>2]|0)){lM[f[(f[e>>2]|0)+40>>2]&127](e)|0;continue}else{f[a>>2]=s+4;continue}}e=f[i>>2]|0;do{if(e){a=f[e+12>>2]|0;if((a|0)==(f[e+16>>2]|0))e=lM[f[(f[e>>2]|0)+36>>2]&127](e)|0;else e=f[a>>2]|0;if((e|0)==-1){f[i>>2]=0;a=1;break}else{a=(f[i>>2]|0)==0;break}}else a=1}while(0);do{if(s){e=f[s+12>>2]|0;if((e|0)==(f[s+16>>2]|0))e=lM[f[(f[s>>2]|0)+36>>2]&127](s)|0;else e=f[e>>2]|0;if((e|0)!=-1)if(a)break;else{l=39;break}else{f[r>>2]=0;l=37;break}}else l=37}while(0);if((l|0)==37?a:0)l=39;if((l|0)==39)f[t>>2]=f[t>>2]|2;return}function Il(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0;d=c;c=c+16|0;o=d+4|0;u=d;h=e+8|0;h=lM[f[(f[h>>2]|0)+8>>2]&127](h)|0;e=t[h>>0]|0;if(!(e&1))l=(e&255)>>>1;else l=f[h+4>>2]|0;e=t[h+12>>0]|0;if(!(e&1))e=(e&255)>>>1;else e=f[h+16>>2]|0;do{if((l|0)!=(0-e|0)){f[u>>2]=f[n>>2];f[o>>2]=f[u>>2];e=Kw(r,o,h,h+24|0,s,a,0)|0;l=f[i>>2]|0;if((e|0)==(h|0)&(l|0)==12){f[i>>2]=0;break}if((l|0)<12&(e-h|0)==12)f[i>>2]=l+12}else f[a>>2]=f[a>>2]|4}while(0);c=d;return}function Dl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=l_(r,e,n,a,2)|0;r=f[n>>2]|0;if((e|0)<61&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function Nl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=l_(r,e,n,a,1)|0;r=f[n>>2]|0;if((e|0)<7&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function Fl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=l_(r,e,n,a,4)|0;if(!(f[n>>2]&4))f[i>>2]=e+-1900;c=s;return}function Ul(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0;e=f[i>>2]|0;do{if(e){a=f[e+12>>2]|0;if((a|0)==(f[e+16>>2]|0))e=lM[f[(f[e>>2]|0)+36>>2]&127](e)|0;else e=f[a>>2]|0;if((e|0)==-1){f[i>>2]=0;s=1;break}else{s=(f[i>>2]|0)==0;break}}else s=1}while(0);a=f[r>>2]|0;do{if(a){e=f[a+12>>2]|0;if((e|0)==(f[a+16>>2]|0))e=lM[f[(f[a>>2]|0)+36>>2]&127](a)|0;else e=f[e>>2]|0;if((e|0)!=-1)if(s){l=a;o=17;break}else{o=16;break}else{f[r>>2]=0;o=14;break}}else o=14}while(0);if((o|0)==14)if(s)o=16;else{l=0;o=17}e:do{if((o|0)==16)f[t>>2]=f[t>>2]|6;else if((o|0)==17){e=f[i>>2]|0;a=f[e+12>>2]|0;if((a|0)==(f[e+16>>2]|0))e=lM[f[(f[e>>2]|0)+36>>2]&127](e)|0;else e=f[a>>2]|0;if((uM[f[(f[n>>2]|0)+52>>2]&63](n,e,0)|0)<<24>>24!=37){f[t>>2]=f[t>>2]|4;break}e=f[i>>2]|0;a=e+12|0;s=f[a>>2]|0;if((s|0)==(f[e+16>>2]|0)){lM[f[(f[e>>2]|0)+40>>2]&127](e)|0;e=f[i>>2]|0;if(!e)a=1;else o=25}else{f[a>>2]=s+4;o=25}do{if((o|0)==25){a=f[e+12>>2]|0;if((a|0)==(f[e+16>>2]|0))e=lM[f[(f[e>>2]|0)+36>>2]&127](e)|0;else e=f[a>>2]|0;if((e|0)==-1){f[i>>2]=0;a=1;break}else{a=(f[i>>2]|0)==0;break}}}while(0);do{if(l){e=f[l+12>>2]|0;if((e|0)==(f[l+16>>2]|0))e=lM[f[(f[l>>2]|0)+36>>2]&127](l)|0;else e=f[e>>2]|0;if((e|0)!=-1)if(a)break e;else break;else{f[r>>2]=0;o=37;break}}else o=37}while(0);if((o|0)==37?!a:0)break;f[t>>2]=f[t>>2]|2}}while(0);return}function jl(e){e=e|0;Hl(e+8|0);return}function Hl(e){e=e|0;var i=0,r=0,t=0;i=f[e>>2]|0;_=0;r=Me(3)|0;t=_;_=0;do{if(!(t&1)){if((i|0)!=(r|0)?(_=0,ue(188,f[e>>2]|0),t=_,_=0,t&1):0)break;return}}while(0);t=ze(0)|0;Fi(t)}function zl(e){e=e|0;Hl(e+8|0);Ip(e);return}function Yl(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0;u=c;c=c+112|0;o=u+4|0;r=u;f[r>>2]=o+100;ql(e+8|0,o,r,a,s,l);a=f[r>>2]|0;r=f[i>>2]|0;if((o|0)!=(a|0))do{l=t[o>>0]|0;do{if(r){n=r+24|0;s=f[n>>2]|0;if((s|0)==(f[r+28>>2]|0)){i=(kM[f[(f[r>>2]|0)+52>>2]&63](r,l&255)|0)==-1;r=i?0:r;break}else{f[n>>2]=s+1;t[s>>0]=l;break}}else r=0}while(0);o=o+1|0}while((o|0)!=(a|0));c=u;return r|0}function ql(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0;h=c;c=c+16|0;u=h;t[u>>0]=37;l=u+1|0;t[l>>0]=a;o=u+2|0;t[o>>0]=s;t[u+3>>0]=0;if(s<<24>>24){t[l>>0]=s;t[o>>0]=a}f[r>>2]=i+(Ve(i|0,(f[r>>2]|0)-i|0,u|0,n|0,f[e>>2]|0)|0);c=h;return}function Xl(e){e=e|0;Hl(e+8|0);return}function Vl(e){e=e|0;Hl(e+8|0);Ip(e);return}function Gl(e,i,r,t,n,a,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;var l=0;l=c;c=c+416|0;t=l+8|0;r=l;f[r>>2]=t+400;Kl(e+8|0,t,r,n,a,s);e=f[r>>2]|0;r=f[i>>2]|0;if((t|0)!=(e|0)){n=t;do{t=f[n>>2]|0;if(!r)r=0;else{a=r+24|0;s=f[a>>2]|0;if((s|0)==(f[r+28>>2]|0))t=kM[f[(f[r>>2]|0)+52>>2]&63](r,t)|0;else{f[a>>2]=s+4;f[s>>2]=t}r=(t|0)==-1?0:r}n=n+4|0}while((n|0)!=(e|0))}c=l;return r|0}function Kl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+128|0;u=s+16|0;h=s+12|0;l=s;o=s+8|0;f[h>>2]=u+100;ql(e,u,h,t,n,a);n=l;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=u;n=(f[r>>2]|0)-i>>2;a=Wg(f[e>>2]|0)|0;_=0;n=Ee(18,i|0,o|0,n|0,l|0)|0;e=_;_=0;if(e&1){n=ze()|0;if((a|0)!=0?(_=0,de(75,a|0)|0,h=_,_=0,h&1):0){h=ze(0)|0;Fi(h)}$e(n|0)}if((a|0)!=0?(_=0,de(75,a|0)|0,h=_,_=0,h&1):0){h=ze(0)|0;Fi(h)}if((n|0)==-1)Xo(58955);else{f[r>>2]=i+(n<<2);c=s;return}}function Wl(e){e=e|0;return}function Zl(e){e=e|0;Ip(e);return}function Jl(e){e=e|0;return 127}function Ql(e){e=e|0;return 127}function $l(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function eo(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function io(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function ro(e,i){e=e|0;i=i|0;xh(e,1,45);return}function to(e){e=e|0;return 0}function no(e,i){e=e|0;i=i|0;t[e>>0]=2;t[e+1>>0]=3;t[e+2>>0]=0;t[e+3>>0]=4;return}function fo(e,i){e=e|0;i=i|0;t[e>>0]=2;t[e+1>>0]=3;t[e+2>>0]=0;t[e+3>>0]=4;return}function ao(e){e=e|0;return}function so(e){e=e|0;Ip(e);return}function lo(e){e=e|0;return 127}function oo(e){e=e|0;return 127}function uo(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function co(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function ho(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function bo(e,i){e=e|0;i=i|0;xh(e,1,45);return}function ko(e){e=e|0;return 0}function wo(e,i){e=e|0;i=i|0;t[e>>0]=2;t[e+1>>0]=3;t[e+2>>0]=0;t[e+3>>0]=4;return}function _o(e,i){e=e|0;i=i|0;t[e>>0]=2;t[e+1>>0]=3;t[e+2>>0]=0;t[e+3>>0]=4;return}function mo(e){e=e|0;return}function vo(e){e=e|0;Ip(e);return}function po(e){e=e|0;return 2147483647}function go(e){e=e|0;return 2147483647}function yo(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function Mo(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function Eo(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function Ao(e,i){e=e|0;i=i|0;Vh(e,1,45);return}function So(e){e=e|0;return 0}function To(e,i){e=e|0;i=i|0;t[e>>0]=2;t[e+1>>0]=3;t[e+2>>0]=0;t[e+3>>0]=4;return}function Co(e,i){e=e|0;i=i|0;t[e>>0]=2;t[e+1>>0]=3;t[e+2>>0]=0;t[e+3>>0]=4;return}function Ro(e){e=e|0;return}function Lo(e){e=e|0;Ip(e);return}function Po(e){e=e|0;return 2147483647}function xo(e){e=e|0;return 2147483647}function Oo(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function Bo(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function Io(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function Do(e,i){e=e|0;i=i|0;Vh(e,1,45);return}function No(e){e=e|0;return 0}function Fo(e,i){e=e|0;i=i|0;t[e>>0]=2;t[e+1>>0]=3;t[e+2>>0]=0;t[e+3>>0]=4;return}function Uo(e,i){e=e|0;i=i|0;t[e>>0]=2;t[e+1>>0]=3;t[e+2>>0]=0;t[e+3>>0]=4;return}function jo(e){e=e|0;return}function Ho(e){e=e|0;Ip(e);return}function zo(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0;T=c;c=c+240|0;A=T+24|0;S=T;e=T+136|0;R=T+16|0;E=T+12|0;C=T+8|0;b=T+134|0;u=T+4|0;M=T+124|0;f[R>>2]=e;L=R+4|0;f[L>>2]=189;h=e+100|0;_=0;o=de(68,a|0)|0;y=_;_=0;if(!(y&1)){f[C>>2]=o;_=0;e=pe(37,C|0,44220)|0;y=_;_=0;e:do{if(!(y&1)?(t[b>>0]=0,f[u>>2]=f[r>>2],d=f[a+4>>2]|0,_=0,f[A>>2]=f[u>>2],d=be(1,i|0,A|0,n|0,C|0,d|0,s|0,b|0,e|0,R|0,E|0,h|0)|0,y=_,_=0,!(y&1)):0){i:do{if(d){_=0;Ee(f[(f[e>>2]|0)+32>>2]|0,e|0,58976,58986,M|0)|0;y=_;_=0;if(y&1){x=10;break e}u=f[E>>2]|0;h=f[R>>2]|0;e=u-h|0;if((e|0)>98){e=Lc(e+2|0)|0;o=e;if(!e){_=0;Se(6);y=_;_=0;if(!(y&1)){e=0;x=13}}else x=13}else{o=0;e=A;x=13}do{if((x|0)==13){if(t[b>>0]|0){t[e>>0]=45;e=e+1|0}g=M+10|0;y=M;if(h>>>0>>0){d=M+1|0;n=d+1|0;a=n+1|0;b=a+1|0;k=b+1|0;w=k+1|0;m=w+1|0;v=m+1|0;p=v+1|0;do{u=t[h>>0]|0;do{if((t[M>>0]|0)!=u<<24>>24)if((t[d>>0]|0)!=u<<24>>24)if((t[n>>0]|0)!=u<<24>>24)if((t[a>>0]|0)!=u<<24>>24)if((t[b>>0]|0)==u<<24>>24)u=b;else{if((t[k>>0]|0)==u<<24>>24){u=k;break}if((t[w>>0]|0)==u<<24>>24){u=w;break}if((t[m>>0]|0)==u<<24>>24){u=m;break}if((t[v>>0]|0)==u<<24>>24){u=v;break}u=(t[p>>0]|0)==u<<24>>24?p:g}else u=a;else u=n;else u=d;else u=M}while(0);t[e>>0]=t[58976+(u-y)>>0]|0;h=h+1|0;e=e+1|0}while(h>>>0<(f[E>>2]|0)>>>0)}t[e>>0]=0;f[S>>2]=l;if((xy(A,58987,S)|0)!=1?(_=0,ue(190,58991),l=_,_=0,l&1):0)break;if(o)Pc(o);break i}}while(0);e=ze()|0;if(!o){u=e;o=R;break e}Pc(o);u=e;o=R;break e}}while(0);e=f[i>>2]|0;do{if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;e=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;l=_;_=0;if(l&1){x=10;break e}if((e|0)==-1){f[i>>2]=0;e=0;break}else{e=f[i>>2]|0;break}}}else e=0}while(0);o=(e|0)==0;e=f[r>>2]|0;do{if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;e=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;l=_;_=0;if(l&1){x=10;break e}if((e|0)==-1){f[r>>2]=0;x=37;break}}if(!o)x=38}else x=37}while(0);if((x|0)==37?o:0)x=38;if((x|0)==38)f[s>>2]=f[s>>2]|2;o=f[i>>2]|0;bh(f[C>>2]|0)|0;e=f[R>>2]|0;f[R>>2]=0;if((e|0)!=0?(_=0,ue(f[L>>2]|0,e|0),x=_,_=0,x&1):0){x=ze(0)|0;Fi(x)}c=T;return o|0}else x=10}while(0);if((x|0)==10){u=ze()|0;o=R}bh(f[C>>2]|0)|0;e=f[o>>2]|0;f[o>>2]=0;if(!e)P=u;else{o=f[L>>2]|0;x=45}}else{u=ze()|0;f[R>>2]=0;o=189;x=45}if((x|0)==45){_=0;ue(o|0,e|0);x=_;_=0;if(x&1){x=ze(0)|0;Fi(x)}else P=u}$e(P|0);return 0}function Yo(e){e=e|0;return}function qo(e,i,r,s,l,o,u,h,d,b,k){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;d=d|0;b=b|0;k=k|0;var w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,H=0,z=0,Y=0,q=0,X=0,V=0,G=0,K=0,W=0,Z=0,J=0,Q=0,$=0,ee=0,ie=0,re=0,te=0;ie=c;c=c+512|0;H=ie+88|0;p=ie+96|0;te=ie+80|0;X=ie+72|0;q=ie+68|0;V=ie+500|0;z=ie+497|0;G=ie+496|0;Z=ie+56|0;ee=ie+44|0;Q=ie+32|0;J=ie+20|0;$=ie+8|0;Y=ie+4|0;W=ie;f[H>>2]=k;f[te>>2]=p;re=te+4|0;f[re>>2]=189;f[X>>2]=p;f[q>>2]=p+400;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[ee>>2]=0;f[ee+4>>2]=0;f[ee+8>>2]=0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;_=0;ve(1,r|0,s|0,V|0,z|0,G|0,Z|0,ee|0,Q|0,J|0,Y|0);j=_;_=0;e:do{if(j&1)h=ze()|0;else{f[b>>2]=f[d>>2];B=h+8|0;I=Q+4|0;D=J+4|0;N=J+8|0;F=J+1|0;U=Q+8|0;j=Q+1|0;A=(l&512|0)!=0;S=ee+8|0;T=ee+1|0;C=ee+4|0;R=$+4|0;L=$+8|0;P=$+1|0;x=V+3|0;O=Z+4|0;E=0;v=0;i:while(1){k=f[e>>2]|0;do{if(k){if((f[k+12>>2]|0)==(f[k+16>>2]|0)){_=0;k=de(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;M=_;_=0;if(M&1){K=24;break i}if((k|0)==-1){f[e>>2]=0;k=0;break}else{k=f[e>>2]|0;break}}}else k=0}while(0);k=(k|0)==0;h=f[i>>2]|0;do{if(h){if((f[h+12>>2]|0)!=(f[h+16>>2]|0))if(k){M=h;break}else{K=235;break i}_=0;r=de(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;M=_;_=0;if(M&1){K=24;break i}if((r|0)!=-1)if(k){M=h;break}else{K=235;break i}else{f[i>>2]=0;K=15;break}}else K=15}while(0);if((K|0)==15){K=0;if(k){K=235;break}else M=0}r:do{switch(t[V+E>>0]|0){case 1:{if((E|0)!=3){k=f[e>>2]|0;h=f[k+12>>2]|0;if((h|0)==(f[k+16>>2]|0)){_=0;k=de(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;K=_;_=0;if(K&1){K=24;break i}}else k=a[h>>0]|0;if((k&255)<<24>>24<=-1){K=40;break i}if(!(n[(f[B>>2]|0)+(k<<24>>24<<1)>>1]&8192)){K=40;break i}k=f[e>>2]|0;h=k+12|0;r=f[h>>2]|0;if((r|0)==(f[k+16>>2]|0)){_=0;k=de(f[(f[k>>2]|0)+40>>2]|0,k|0)|0;K=_;_=0;if(K&1){K=24;break i}}else{f[h>>2]=r+1;k=a[r>>0]|0}_=0;ce(67,$|0,k&255|0);K=_;_=0;if(K&1){K=24;break i}else{k=M;s=M;K=42}}break}case 0:{if((E|0)!=3){k=M;s=M;K=42}break}case 3:{h=t[Q>>0]|0;k=(h&1)==0?(h&255)>>>1:f[I>>2]|0;r=t[J>>0]|0;s=(r&1)==0?(r&255)>>>1:f[D>>2]|0;if((k|0)!=(0-s|0)){if(!k){k=f[e>>2]|0;h=f[k+12>>2]|0;if((h|0)==(f[k+16>>2]|0)){_=0;k=de(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;M=_;_=0;if(M&1){K=24;break i}h=t[J>>0]|0}else{k=a[h>>0]|0;h=r}if((k&255)<<24>>24!=(t[((h&1)==0?F:f[N>>2]|0)>>0]|0))break r;k=f[e>>2]|0;h=k+12|0;r=f[h>>2]|0;if((r|0)==(f[k+16>>2]|0)){_=0;de(f[(f[k>>2]|0)+40>>2]|0,k|0)|0;M=_;_=0;if(M&1){K=24;break i}}else f[h>>2]=r+1;t[u>>0]=1;M=t[J>>0]|0;v=((M&1)==0?(M&255)>>>1:f[D>>2]|0)>>>0>1?J:v;break r}l=f[e>>2]|0;w=f[l+12>>2]|0;r=f[l+16>>2]|0;k=(w|0)==(r|0);if(!s){if(k){_=0;k=de(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;M=_;_=0;if(M&1){K=24;break i}h=t[Q>>0]|0}else k=a[w>>0]|0;if((k&255)<<24>>24!=(t[((h&1)==0?j:f[U>>2]|0)>>0]|0)){t[u>>0]=1;break r}k=f[e>>2]|0;h=k+12|0;r=f[h>>2]|0;if((r|0)==(f[k+16>>2]|0)){_=0;de(f[(f[k>>2]|0)+40>>2]|0,k|0)|0;M=_;_=0;if(M&1){K=24;break i}}else f[h>>2]=r+1;M=t[Q>>0]|0;v=((M&1)==0?(M&255)>>>1:f[I>>2]|0)>>>0>1?Q:v;break r}if(k){_=0;k=de(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;M=_;_=0;if(M&1){K=24;break i}r=f[e>>2]|0;h=t[Q>>0]|0;l=r;w=f[r+12>>2]|0;r=f[r+16>>2]|0}else k=a[w>>0]|0;s=l+12|0;r=(w|0)==(r|0);if((k&255)<<24>>24==(t[((h&1)==0?j:f[U>>2]|0)>>0]|0)){if(r){_=0;de(f[(f[l>>2]|0)+40>>2]|0,l|0)|0;M=_;_=0;if(M&1){K=24;break i}}else f[s>>2]=w+1;M=t[Q>>0]|0;v=((M&1)==0?(M&255)>>>1:f[I>>2]|0)>>>0>1?Q:v;break r}if(r){_=0;k=de(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;M=_;_=0;if(M&1){K=24;break i}}else k=a[w>>0]|0;if((k&255)<<24>>24!=(t[((t[J>>0]&1)==0?F:f[N>>2]|0)>>0]|0)){K=104;break i}k=f[e>>2]|0;h=k+12|0;r=f[h>>2]|0;if((r|0)==(f[k+16>>2]|0)){_=0;de(f[(f[k>>2]|0)+40>>2]|0,k|0)|0;M=_;_=0;if(M&1){K=24;break i}}else f[h>>2]=r+1;t[u>>0]=1;M=t[J>>0]|0;v=((M&1)==0?(M&255)>>>1:f[D>>2]|0)>>>0>1?J:v}break}case 2:{if(!(E>>>0<2|(v|0)!=0)?!(A|(E|0)==2&(t[x>>0]|0)!=0):0){v=0;break r}g=t[ee>>0]|0;k=(g&1)==0;y=f[S>>2]|0;r=k?T:y;m=r;t:do{if((E|0)!=0?(a[V+(E+-1)>>0]|0)<2:0){w=k?(g&255)>>>1:f[C>>2]|0;s=r+w|0;l=f[B>>2]|0;n:do{if(!w)h=m;else{w=r;h=m;do{k=t[w>>0]|0;if(k<<24>>24<=-1)break n;if(!(n[l+(k<<24>>24<<1)>>1]&8192))break n;w=w+1|0;h=w}while((w|0)!=(s|0))}}while(0);s=h-m|0;l=t[$>>0]|0;k=(l&1)==0;l=k?(l&255)>>>1:f[R>>2]|0;if(l>>>0>=s>>>0){k=k?P:f[L>>2]|0;w=k+l|0;if((h|0)!=(m|0)){k=k+(l-s)|0;while(1){if((t[k>>0]|0)!=(t[r>>0]|0)){h=m;break t}k=k+1|0;if((k|0)==(w|0))break;else r=r+1|0}}}else h=m}else h=m}while(0);k=(g&1)==0;k=(k?T:y)+(k?(g&255)>>>1:f[C>>2]|0)|0;t:do{if((h|0)!=(k|0)){l=M;s=M;k=h;while(1){h=f[e>>2]|0;do{if(h){if((f[h+12>>2]|0)==(f[h+16>>2]|0)){_=0;h=de(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;M=_;_=0;if(M&1){K=21;break i}if((h|0)==-1){f[e>>2]=0;h=0;break}else{h=f[e>>2]|0;break}}}else h=0}while(0);r=(h|0)==0;do{if(s){if((f[s+12>>2]|0)!=(f[s+16>>2]|0))if(r){h=l;w=s;break}else break t;_=0;h=de(f[(f[s>>2]|0)+36>>2]|0,s|0)|0;M=_;_=0;if(M&1){K=21;break i}if((h|0)!=-1)if(r^(l|0)==0){h=l;w=l;break}else break t;else{f[i>>2]=0;h=0;K=131;break}}else{h=l;K=131}}while(0);if((K|0)==131){K=0;if(r)break t;else w=0}r=f[e>>2]|0;s=f[r+12>>2]|0;if((s|0)==(f[r+16>>2]|0)){_=0;r=de(f[(f[r>>2]|0)+36>>2]|0,r|0)|0;M=_;_=0;if(M&1){K=21;break i}}else r=a[s>>0]|0;if((r&255)<<24>>24!=(t[k>>0]|0))break t;r=f[e>>2]|0;s=r+12|0;l=f[s>>2]|0;if((l|0)==(f[r+16>>2]|0)){_=0;de(f[(f[r>>2]|0)+40>>2]|0,r|0)|0;M=_;_=0;if(M&1){K=21;break i}}else f[s>>2]=l+1;k=k+1|0;r=t[ee>>0]|0;M=(r&1)==0;r=(M?T:f[S>>2]|0)+(M?(r&255)>>>1:f[C>>2]|0)|0;if((k|0)==(r|0)){k=r;break}else{l=h;s=w}}}}while(0);if(A?(M=t[ee>>0]|0,y=(M&1)==0,(k|0)!=((y?T:f[S>>2]|0)+(y?(M&255)>>>1:f[C>>2]|0)|0)):0){K=143;break i}break}case 4:{m=t[G>>0]|0;h=M;l=M;k=0;t:while(1){r=f[e>>2]|0;do{if(r){if((f[r+12>>2]|0)==(f[r+16>>2]|0)){_=0;r=de(f[(f[r>>2]|0)+36>>2]|0,r|0)|0;M=_;_=0;if(M&1){K=23;break i}if((r|0)==-1){f[e>>2]=0;r=0;break}else{r=f[e>>2]|0;break}}}else r=0}while(0);s=(r|0)==0;do{if(l){if((f[l+12>>2]|0)!=(f[l+16>>2]|0))if(s){w=h;break}else{s=h;break t}_=0;r=de(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;M=_;_=0;if(M&1){K=23;break i}if((r|0)!=-1)if(s^(h|0)==0){w=h;l=h;break}else{s=h;break t}else{f[i>>2]=0;h=0;K=156;break}}else K=156}while(0);if((K|0)==156){K=0;if(s){s=h;break}else{w=h;l=0}}h=f[e>>2]|0;r=f[h+12>>2]|0;if((r|0)==(f[h+16>>2]|0)){_=0;h=de(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;M=_;_=0;if(M&1){K=23;break i}}else h=a[r>>0]|0;r=h&255;if(r<<24>>24>-1?(n[(f[B>>2]|0)+(h<<24>>24<<1)>>1]&2048)!=0:0){h=f[b>>2]|0;if((h|0)==(f[H>>2]|0)){_=0;Ae(12,d|0,b|0,H|0);M=_;_=0;if(M&1){K=23;break i}h=f[b>>2]|0}f[b>>2]=h+1;t[h>>0]=r;k=k+1|0}else{M=t[Z>>0]|0;if(!(r<<24>>24==m<<24>>24&((k|0)!=0?(((M&1)==0?(M&255)>>>1:f[O>>2]|0)|0)!=0:0))){s=w;break}if((p|0)==(f[q>>2]|0)){_=0;Ae(13,te|0,X|0,q|0);M=_;_=0;if(M&1){K=23;break i}p=f[X>>2]|0}M=p+4|0;f[X>>2]=M;f[p>>2]=k;p=M;k=0}h=f[e>>2]|0;r=h+12|0;s=f[r>>2]|0;if((s|0)==(f[h+16>>2]|0)){_=0;de(f[(f[h>>2]|0)+40>>2]|0,h|0)|0;M=_;_=0;if(M&1){K=23;break i}else{h=w;continue}}else{f[r>>2]=s+1;h=w;continue}}if((k|0)!=0?(f[te>>2]|0)!=(p|0):0){if((p|0)==(f[q>>2]|0)){_=0;Ae(13,te|0,X|0,q|0);M=_;_=0;if(M&1){K=24;break i}p=f[X>>2]|0}M=p+4|0;f[X>>2]=M;f[p>>2]=k;p=M}w=f[Y>>2]|0;if((w|0)>0){k=f[e>>2]|0;do{if(k){if((f[k+12>>2]|0)==(f[k+16>>2]|0)){_=0;k=de(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;M=_;_=0;if(M&1){K=24;break i}if((k|0)==-1){f[e>>2]=0;k=0;break}else{k=f[e>>2]|0;break}}}else k=0}while(0);k=(k|0)==0;do{if(s){if((f[s+12>>2]|0)==(f[s+16>>2]|0)){_=0;h=de(f[(f[s>>2]|0)+36>>2]|0,s|0)|0;M=_;_=0;if(M&1){K=24;break i}if((h|0)==-1){f[i>>2]=0;K=193;break}}if(!k){K=198;break i}}else K=193}while(0);if((K|0)==193){K=0;if(k){K=198;break i}else s=0}k=f[e>>2]|0;h=f[k+12>>2]|0;if((h|0)==(f[k+16>>2]|0)){_=0;k=de(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;M=_;_=0;if(M&1){K=24;break i}}else k=a[h>>0]|0;if((k&255)<<24>>24!=(t[z>>0]|0)){K=198;break i}k=f[e>>2]|0;h=k+12|0;r=f[h>>2]|0;if((r|0)==(f[k+16>>2]|0)){_=0;de(f[(f[k>>2]|0)+40>>2]|0,k|0)|0;M=_;_=0;if(M&1){K=24;break i}}else f[h>>2]=r+1;if((w|0)>0){l=s;r=s;m=w;while(1){k=f[e>>2]|0;do{if(k){if((f[k+12>>2]|0)==(f[k+16>>2]|0)){_=0;k=de(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;M=_;_=0;if(M&1){K=22;break i}if((k|0)==-1){f[e>>2]=0;k=0;break}else{k=f[e>>2]|0;break}}}else k=0}while(0);h=(k|0)==0;do{if(r){if((f[r+12>>2]|0)!=(f[r+16>>2]|0))if(h){k=l;w=r;break}else{K=222;break i}_=0;k=de(f[(f[r>>2]|0)+36>>2]|0,r|0)|0;M=_;_=0;if(M&1){K=22;break i}if((k|0)!=-1)if(h^(l|0)==0){k=l;w=l;break}else{K=222;break i}else{f[i>>2]=0;k=0;K=215;break}}else{k=l;K=215}}while(0);if((K|0)==215){K=0;if(h){K=222;break i}else w=0}h=f[e>>2]|0;r=f[h+12>>2]|0;if((r|0)==(f[h+16>>2]|0)){_=0;h=de(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;M=_;_=0;if(M&1){K=22;break i}}else h=a[r>>0]|0;if((h&255)<<24>>24<=-1){K=222;break i}if(!(n[(f[B>>2]|0)+(h<<24>>24<<1)>>1]&2048)){K=222;break i}if((f[b>>2]|0)==(f[H>>2]|0)?(_=0,Ae(12,d|0,b|0,H|0),M=_,_=0,M&1):0){K=22;break i}h=f[e>>2]|0;r=f[h+12>>2]|0;if((r|0)==(f[h+16>>2]|0)){_=0;h=de(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;M=_;_=0;if(M&1){K=22;break i}}else h=a[r>>0]|0;r=f[b>>2]|0;f[b>>2]=r+1;t[r>>0]=h;h=m;m=m+-1|0;f[Y>>2]=m;r=f[e>>2]|0;s=r+12|0;l=f[s>>2]|0;if((l|0)==(f[r+16>>2]|0)){_=0;de(f[(f[r>>2]|0)+40>>2]|0,r|0)|0;M=_;_=0;if(M&1){K=22;break i}}else f[s>>2]=l+1;if((h|0)<=1)break;else{l=k;r=w}}}}if((f[b>>2]|0)==(f[d>>2]|0)){K=233;break i}break}default:{}}}while(0);r:do{if((K|0)==42)while(1){K=0;h=f[e>>2]|0;do{if(h){if((f[h+12>>2]|0)==(f[h+16>>2]|0)){_=0;h=de(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;M=_;_=0;if(M&1){K=20;break i}if((h|0)==-1){f[e>>2]=0;h=0;break}else{h=f[e>>2]|0;break}}}else h=0}while(0);r=(h|0)==0;do{if(s){if((f[s+12>>2]|0)!=(f[s+16>>2]|0))if(r){l=k;break}else break r;_=0;h=de(f[(f[s>>2]|0)+36>>2]|0,s|0)|0;M=_;_=0;if(M&1){K=20;break i}if((h|0)!=-1)if(r^(k|0)==0){l=k;s=k;break}else break r;else{f[i>>2]=0;k=0;K=54;break}}else K=54}while(0);if((K|0)==54){K=0;if(r)break r;else{l=k;s=0}}k=f[e>>2]|0;h=f[k+12>>2]|0;if((h|0)==(f[k+16>>2]|0)){_=0;k=de(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;M=_;_=0;if(M&1){K=20;break i}}else k=a[h>>0]|0;if((k&255)<<24>>24<=-1)break r;if(!(n[(f[B>>2]|0)+(k<<24>>24<<1)>>1]&8192))break r;k=f[e>>2]|0;h=k+12|0;r=f[h>>2]|0;if((r|0)==(f[k+16>>2]|0)){_=0;k=de(f[(f[k>>2]|0)+40>>2]|0,k|0)|0;K=_;_=0;if(K&1){K=20;break i}}else{f[h>>2]=r+1;k=a[r>>0]|0}_=0;ce(67,$|0,k&255|0);K=_;_=0;if(K&1){K=20;break i}else{k=l;K=42}}}while(0);E=E+1|0;if(E>>>0>=4){K=235;break}}i:switch(K|0){case 20:{h=ze()|0;break e}case 21:{h=ze()|0;break e}case 22:{h=ze()|0;break e}case 23:{h=ze()|0;break e}case 24:{h=ze()|0;break e}case 40:{f[o>>2]=f[o>>2]|4;h=0;break}case 104:{f[o>>2]=f[o>>2]|4;h=0;break}case 143:{f[o>>2]=f[o>>2]|4;h=0;break}case 198:{f[o>>2]=f[o>>2]|4;h=0;break}case 222:{f[o>>2]=f[o>>2]|4;h=0;break}case 233:{f[o>>2]=f[o>>2]|4;h=0;break}case 235:{r:do{if(v){l=v+1|0;w=v+8|0;m=v+4|0;r=1;t:while(1){k=t[v>>0]|0;if(!(k&1))k=(k&255)>>>1;else k=f[m>>2]|0;if(r>>>0>=k>>>0)break r;k=f[e>>2]|0;do{if(k){if((f[k+12>>2]|0)==(f[k+16>>2]|0)){_=0;k=de(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;b=_;_=0;if(b&1){K=19;break t}if((k|0)==-1){f[e>>2]=0;k=0;break}else{k=f[e>>2]|0;break}}}else k=0}while(0);h=(k|0)==0;k=f[i>>2]|0;do{if(k){if((f[k+12>>2]|0)==(f[k+16>>2]|0)){_=0;k=de(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;b=_;_=0;if(b&1){K=19;break t}if((k|0)==-1){f[i>>2]=0;K=253;break}}if(!h){K=260;break t}}else K=253}while(0);if((K|0)==253?(K=0,h):0){K=260;break}k=f[e>>2]|0;h=f[k+12>>2]|0;if((h|0)==(f[k+16>>2]|0)){_=0;k=de(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;b=_;_=0;if(b&1){K=19;break}}else k=a[h>>0]|0;if(!(t[v>>0]&1))h=l;else h=f[w>>2]|0;if((k&255)<<24>>24!=(t[h+r>>0]|0)){K=260;break}k=r+1|0;h=f[e>>2]|0;r=h+12|0;s=f[r>>2]|0;if((s|0)==(f[h+16>>2]|0)){_=0;de(f[(f[h>>2]|0)+40>>2]|0,h|0)|0;b=_;_=0;if(b&1){K=19;break}else{r=k;continue}}else{f[r>>2]=s+1;r=k;continue}}if((K|0)==19){h=ze()|0;break e}else if((K|0)==260){f[o>>2]=f[o>>2]|4;h=0;break i}}}while(0);k=f[te>>2]|0;if((k|0)!=(p|0)?(f[W>>2]=0,Ko(Z,k,p,W),(f[W>>2]|0)!=0):0){f[o>>2]=f[o>>2]|4;h=0}else h=1;break}}Oh($);Oh(J);Oh(Q);Oh(ee);Oh(Z);k=f[te>>2]|0;f[te>>2]=0;if((k|0)!=0?(_=0,ue(f[re>>2]|0,k|0),te=_,_=0,te&1):0){te=ze(0)|0;Fi(te)}c=ie;return h|0}}while(0);Oh($);Oh(J);Oh(Q);Oh(ee);Oh(Z);k=f[te>>2]|0;f[te>>2]=0;if((k|0)!=0?(_=0,ue(f[re>>2]|0,k|0),te=_,_=0,te&1):0){te=ze(0)|0;Fi(te)}$e(h|0);return 0}function Xo(e){e=e|0;var i=0;i=He(8)|0;_=0;ce(90,i|0,e|0);e=_;_=0;if(e&1){e=ze()|0;je(i|0);$e(e|0)}else bi(i|0,616,80)}function Vo(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0;y=c;c=c+144|0;o=y+24|0;e=y+32|0;M=y+16|0;m=y+8|0;b=y+4|0;k=y+28|0;u=y;f[M>>2]=e;S=M+4|0;f[S>>2]=189;h=e+100|0;_=0;g=de(68,a|0)|0;d=_;_=0;if(!(d&1)){f[b>>2]=g;_=0;d=pe(37,b|0,44220)|0;e=_;_=0;e:do{if(!(e&1)?(t[k>>0]=0,v=f[r>>2]|0,f[u>>2]=v,w=f[a+4>>2]|0,p=v,_=0,f[o>>2]=f[u>>2],w=be(1,i|0,o|0,n|0,b|0,w|0,s|0,k|0,d|0,M|0,m|0,h|0)|0,a=_,_=0,!(a&1)):0){if(w){if(!(t[l>>0]&1)){t[l+1>>0]=0;t[l>>0]=0}else{t[f[l+8>>2]>>0]=0;f[l+4>>2]=0}if(t[k>>0]|0){_=0;e=pe(f[(f[d>>2]|0)+28>>2]|0,d|0,45)|0;a=_;_=0;if(a&1)break;_=0;ce(67,l|0,e|0);a=_;_=0;if(a&1)break}_=0;u=pe(f[(f[d>>2]|0)+28>>2]|0,d|0,48)|0;a=_;_=0;if(a&1)break;e=f[M>>2]|0;h=f[m>>2]|0;o=h+-1|0;i:do{if(e>>>0>>0)do{if((t[e>>0]|0)!=u<<24>>24)break i;e=e+1|0}while(e>>>0>>0)}while(0);_=0;ke(32,l|0,e|0,h|0)|0;l=_;_=0;if(l&1)break}e=f[i>>2]|0;do{if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;e=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;l=_;_=0;if(l&1)break e;if((e|0)==-1){f[i>>2]=0;e=0;break}else{e=f[i>>2]|0;break}}}else e=0}while(0);o=(e|0)==0;do{if(v){if((f[p+12>>2]|0)==(f[p+16>>2]|0)){_=0;e=de(f[(f[v>>2]|0)+36>>2]|0,p|0)|0;p=_;_=0;if(p&1)break e;if((e|0)==-1){f[r>>2]=0;A=29;break}}if(!o)A=30}else A=29}while(0);if((A|0)==29?o:0)A=30;if((A|0)==30)f[s>>2]=f[s>>2]|2;o=f[i>>2]|0;bh(g)|0;e=f[M>>2]|0;f[M>>2]=0;if((e|0)!=0?(_=0,ue(f[S>>2]|0,e|0),S=_,_=0,S&1):0){S=ze(0)|0;Fi(S)}c=y;return o|0}}while(0);o=ze()|0;bh(g)|0;e=f[M>>2]|0;f[M>>2]=0;if(!e)E=o;else A=36}else{o=ze()|0;f[M>>2]=0;A=36}if((A|0)==36){_=0;ue(f[S>>2]|0,e|0);S=_;_=0;if(S&1){S=ze(0)|0;Fi(S)}else E=o}$e(E|0);return 0}function Go(e,i,r,n,a,s,l,o,u,h){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;var d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;A=c;c=c+112|0;d=A+100|0;b=A+88|0;k=A+76|0;w=A+64|0;m=A+52|0;v=A+48|0;p=A+36|0;g=A+24|0;y=A+12|0;M=A;do{if(e){e=Du(i,43828)|0;aM[f[(f[e>>2]|0)+44>>2]&127](d,e);M=f[d>>2]|0;t[r>>0]=M;t[r+1>>0]=M>>8;t[r+2>>0]=M>>16;t[r+3>>0]=M>>24;aM[f[(f[e>>2]|0)+32>>2]&127](b,e);if(!(t[u>>0]&1)){t[u+1>>0]=0;t[u>>0]=0}else{t[f[u+8>>2]>>0]=0;f[u+4>>2]=0}_=0;ce(91,u|0,0);r=_;_=0;if(r&1){r=ze(0)|0;Fi(r)}f[u>>2]=f[b>>2];f[u+4>>2]=f[b+4>>2];f[u+8>>2]=f[b+8>>2];f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;Oh(b);aM[f[(f[e>>2]|0)+28>>2]&127](k,e);if(!(t[o>>0]&1)){t[o+1>>0]=0;t[o>>0]=0}else{t[f[o+8>>2]>>0]=0;f[o+4>>2]=0}_=0;ce(91,o|0,0);r=_;_=0;if(r&1){r=ze(0)|0;Fi(r)}f[o>>2]=f[k>>2];f[o+4>>2]=f[k+4>>2];f[o+8>>2]=f[k+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Oh(k);t[n>>0]=lM[f[(f[e>>2]|0)+12>>2]&127](e)|0;t[a>>0]=lM[f[(f[e>>2]|0)+16>>2]&127](e)|0;aM[f[(f[e>>2]|0)+20>>2]&127](w,e);if(!(t[s>>0]&1)){t[s+1>>0]=0;t[s>>0]=0}else{t[f[s+8>>2]>>0]=0;f[s+4>>2]=0}_=0;ce(91,s|0,0);a=_;_=0;if(a&1){a=ze(0)|0;Fi(a)}f[s>>2]=f[w>>2];f[s+4>>2]=f[w+4>>2];f[s+8>>2]=f[w+8>>2];f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;Oh(w);aM[f[(f[e>>2]|0)+24>>2]&127](m,e);if(!(t[l>>0]&1)){t[l+1>>0]=0;t[l>>0]=0}else{t[f[l+8>>2]>>0]=0;f[l+4>>2]=0}_=0;ce(91,l|0,0);a=_;_=0;if(a&1){a=ze(0)|0;Fi(a)}else{f[l>>2]=f[m>>2];f[l+4>>2]=f[m+4>>2];f[l+8>>2]=f[m+8>>2];f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;Oh(m);E=lM[f[(f[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Du(i,43764)|0;aM[f[(f[e>>2]|0)+44>>2]&127](v,e);v=f[v>>2]|0;t[r>>0]=v;t[r+1>>0]=v>>8;t[r+2>>0]=v>>16;t[r+3>>0]=v>>24;aM[f[(f[e>>2]|0)+32>>2]&127](p,e);if(!(t[u>>0]&1)){t[u+1>>0]=0;t[u>>0]=0}else{t[f[u+8>>2]>>0]=0;f[u+4>>2]=0}_=0;ce(91,u|0,0);r=_;_=0;if(r&1){r=ze(0)|0;Fi(r)}f[u>>2]=f[p>>2];f[u+4>>2]=f[p+4>>2];f[u+8>>2]=f[p+8>>2];f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;Oh(p);aM[f[(f[e>>2]|0)+28>>2]&127](g,e);if(!(t[o>>0]&1)){t[o+1>>0]=0;t[o>>0]=0}else{t[f[o+8>>2]>>0]=0;f[o+4>>2]=0}_=0;ce(91,o|0,0);r=_;_=0;if(r&1){r=ze(0)|0;Fi(r)}f[o>>2]=f[g>>2];f[o+4>>2]=f[g+4>>2];f[o+8>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Oh(g);t[n>>0]=lM[f[(f[e>>2]|0)+12>>2]&127](e)|0;t[a>>0]=lM[f[(f[e>>2]|0)+16>>2]&127](e)|0;aM[f[(f[e>>2]|0)+20>>2]&127](y,e);if(!(t[s>>0]&1)){t[s+1>>0]=0;t[s>>0]=0}else{t[f[s+8>>2]>>0]=0;f[s+4>>2]=0}_=0;ce(91,s|0,0);a=_;_=0;if(a&1){a=ze(0)|0;Fi(a)}f[s>>2]=f[y>>2];f[s+4>>2]=f[y+4>>2];f[s+8>>2]=f[y+8>>2];f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;Oh(y);aM[f[(f[e>>2]|0)+24>>2]&127](M,e);if(!(t[l>>0]&1)){t[l+1>>0]=0;t[l>>0]=0}else{t[f[l+8>>2]>>0]=0;f[l+4>>2]=0}_=0;ce(91,l|0,0);a=_;_=0;if(a&1){a=ze(0)|0;Fi(a)}else{f[l>>2]=f[M>>2];f[l+4>>2]=f[M+4>>2];f[l+8>>2]=f[M+8>>2];f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;Oh(M);E=lM[f[(f[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);f[h>>2]=E;c=A;return}function Ko(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0;a=t[e>>0]|0;l=e+4|0;s=f[l>>2]|0;e:do{if(((a&1)==0?(a&255)>>>1:s)|0){if((i|0)!=(r|0)){a=r+-4|0;if(a>>>0>i>>>0){s=i;do{o=f[s>>2]|0;f[s>>2]=f[a>>2];f[a>>2]=o;s=s+4|0;a=a+-4|0}while(s>>>0>>0)}a=t[e>>0]|0;s=f[l>>2]|0}o=(a&1)==0;l=o?e+1|0:f[e+8>>2]|0;r=r+-4|0;e=l+(o?(a&255)>>>1:s)|0;s=t[l>>0]|0;a=s<<24>>24<1|s<<24>>24==127;i:do{if(r>>>0>i>>>0){while(1){if(!a?(s<<24>>24|0)!=(f[i>>2]|0):0)break;l=(e-l|0)>1?l+1|0:l;i=i+4|0;s=t[l>>0]|0;a=s<<24>>24<1|s<<24>>24==127;if(i>>>0>=r>>>0)break i}f[n>>2]=4;break e}}while(0);if(!a?((f[r>>2]|0)+-1|0)>>>0>=s<<24>>24>>>0:0)f[n>>2]=4}}while(0);return}function Wo(e){e=e|0;return}function Zo(e){e=e|0;Ip(e);return}function Jo(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0;T=c;c=c+576|0;M=T+424|0;S=T;e=T+24|0;R=T+16|0;E=T+12|0;C=T+8|0;b=T+464|0;u=T+4|0;A=T+468|0;f[R>>2]=e;P=R+4|0;f[P>>2]=189;h=e+400|0;_=0;o=de(68,a|0)|0;y=_;_=0;if(!(y&1)){f[C>>2]=o;_=0;e=pe(37,C|0,44212)|0;y=_;_=0;e:do{if(!(y&1)?(t[b>>0]=0,f[u>>2]=f[r>>2],d=f[a+4>>2]|0,_=0,f[M>>2]=f[u>>2],d=be(2,i|0,M|0,n|0,C|0,d|0,s|0,b|0,e|0,R|0,E|0,h|0)|0,y=_,_=0,!(y&1)):0){i:do{if(d){_=0;Ee(f[(f[e>>2]|0)+48>>2]|0,e|0,59007,59017,M|0)|0;y=_;_=0;if(y&1){x=10;break e}u=f[E>>2]|0;h=f[R>>2]|0;e=u-h|0;if((e|0)>392){e=Lc((e>>2)+2|0)|0;o=e;if(!e){_=0;Se(6);y=_;_=0;if(!(y&1)){e=0;x=13}}else x=13}else{o=0;e=A;x=13}do{if((x|0)==13){if(t[b>>0]|0){t[e>>0]=45;e=e+1|0}g=M+40|0;y=M;if(h>>>0>>0){d=M+4|0;n=d+4|0;a=n+4|0;b=a+4|0;k=b+4|0;w=k+4|0;m=w+4|0;v=m+4|0;p=v+4|0;do{u=f[h>>2]|0;do{if((f[M>>2]|0)!=(u|0))if((f[d>>2]|0)!=(u|0))if((f[n>>2]|0)!=(u|0))if((f[a>>2]|0)!=(u|0))if((f[b>>2]|0)==(u|0))u=b;else{if((f[k>>2]|0)==(u|0)){u=k;break}if((f[w>>2]|0)==(u|0)){u=w;break}if((f[m>>2]|0)==(u|0)){u=m;break}if((f[v>>2]|0)==(u|0)){u=v;break}u=(f[p>>2]|0)==(u|0)?p:g}else u=a;else u=n;else u=d;else u=M}while(0);t[e>>0]=t[59007+(u-y>>2)>>0]|0;h=h+4|0;e=e+1|0}while(h>>>0<(f[E>>2]|0)>>>0)}t[e>>0]=0;f[S>>2]=l;if((xy(A,58987,S)|0)!=1?(_=0,ue(190,58991),l=_,_=0,l&1):0)break;if(o)Pc(o);break i}}while(0);e=ze()|0;if(!o){u=e;o=R;break e}Pc(o);u=e;o=R;break e}}while(0);e=f[i>>2]|0;do{if(e){o=f[e+12>>2]|0;if((o|0)==(f[e+16>>2]|0)){_=0;e=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;l=_;_=0;if(l&1){x=10;break e}}else e=f[o>>2]|0;if((e|0)==-1){f[i>>2]=0;u=1;break}else{u=(f[i>>2]|0)==0;break}}else u=1}while(0);e=f[r>>2]|0;do{if(e){o=f[e+12>>2]|0;if((o|0)==(f[e+16>>2]|0)){_=0;e=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;l=_;_=0;if(l&1){x=10;break e}}else e=f[o>>2]|0;if((e|0)!=-1)if(u)break;else{x=40;break}else{f[r>>2]=0;x=38;break}}else x=38}while(0);if((x|0)==38?u:0)x=40;if((x|0)==40)f[s>>2]=f[s>>2]|2;o=f[i>>2]|0;bh(f[C>>2]|0)|0;e=f[R>>2]|0;f[R>>2]=0;if((e|0)!=0?(_=0,ue(f[P>>2]|0,e|0),x=_,_=0,x&1):0){x=ze(0)|0;Fi(x)}c=T;return o|0}else x=10}while(0);if((x|0)==10){u=ze()|0;o=R}bh(f[C>>2]|0)|0;e=f[o>>2]|0;f[o>>2]=0;if(!e)L=u;else{o=f[P>>2]|0;x=47}}else{u=ze()|0;f[R>>2]=0;o=189;x=47}if((x|0)==47){_=0;ue(o|0,e|0);x=_;_=0;if(x&1){x=ze(0)|0;Fi(x)}else L=u}$e(L|0);return 0}function Qo(e,i,r,n,s,l,o,u,h,d,b){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;d=d|0;b=b|0;var k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,H=0,z=0,Y=0,q=0,X=0,V=0,G=0,K=0,W=0,Z=0,J=0,Q=0;Z=c;c=c+512|0;D=Z+96|0;k=Z+104|0;Q=Z+88|0;j=Z+80|0;U=Z+76|0;H=Z+504|0;N=Z+72|0;z=Z+68|0;X=Z+56|0;W=Z+44|0;G=Z+32|0;V=Z+20|0;K=Z+8|0;F=Z+4|0;q=Z;f[D>>2]=b;f[Q>>2]=k;J=Q+4|0;f[J>>2]=189;f[j>>2]=k;f[U>>2]=k+400;f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;f[W>>2]=0;f[W+4>>2]=0;f[W+8>>2]=0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;_=0;ve(2,r|0,n|0,H|0,N|0,z|0,X|0,W|0,G|0,V|0,F|0);I=_;_=0;e:do{if(I&1)r=ze()|0;else{f[d>>2]=f[h>>2];x=G+4|0;O=V+4|0;B=V+8|0;I=G+8|0;A=(s&512|0)!=0;S=W+8|0;T=W+4|0;C=K+4|0;R=K+8|0;L=H+3|0;P=X+4|0;E=0;m=0;i:while(1){b=f[e>>2]|0;do{if(b){r=f[b+12>>2]|0;if((r|0)==(f[b+16>>2]|0)){_=0;b=de(f[(f[b>>2]|0)+36>>2]|0,b|0)|0;M=_;_=0;if(M&1){Y=26;break i}}else b=f[r>>2]|0;if((b|0)==-1){f[e>>2]=0;n=1;break}else{n=(f[e>>2]|0)==0;break}}else n=1}while(0);r=f[i>>2]|0;do{if(r){b=f[r+12>>2]|0;if((b|0)==(f[r+16>>2]|0)){_=0;b=de(f[(f[r>>2]|0)+36>>2]|0,r|0)|0;M=_;_=0;if(M&1){Y=26;break i}}else b=f[b>>2]|0;if((b|0)!=-1)if(n){M=r;break}else{v=k;Y=244;break i}else{f[i>>2]=0;Y=16;break}}else Y=16}while(0);if((Y|0)==16){Y=0;if(n){v=k;Y=244;break}else M=0}r:do{switch(t[H+E>>0]|0){case 1:{if((E|0)!=3){b=f[e>>2]|0;r=f[b+12>>2]|0;if((r|0)==(f[b+16>>2]|0)){_=0;b=de(f[(f[b>>2]|0)+36>>2]|0,b|0)|0;Y=_;_=0;if(Y&1){Y=26;break i}}else b=f[r>>2]|0;_=0;b=ke(f[(f[u>>2]|0)+12>>2]|0,u|0,8192,b|0)|0;Y=_;_=0;if(Y&1){Y=26;break i}if(!b){Y=42;break i}b=f[e>>2]|0;r=b+12|0;n=f[r>>2]|0;if((n|0)==(f[b+16>>2]|0)){_=0;b=de(f[(f[b>>2]|0)+40>>2]|0,b|0)|0;Y=_;_=0;if(Y&1){Y=26;break i}}else{f[r>>2]=n+4;b=f[n>>2]|0}_=0;ce(92,K|0,b|0);Y=_;_=0;if(Y&1){Y=26;break i}else{b=M;s=M;Y=44}}else b=k;break}case 0:{if((E|0)==3)b=k;else{b=M;s=M;Y=44}break}case 3:{r=t[G>>0]|0;b=(r&1)==0?(r&255)>>>1:f[x>>2]|0;n=t[V>>0]|0;s=(n&1)==0?(n&255)>>>1:f[O>>2]|0;if((b|0)==(0-s|0))b=k;else{if(!b){b=f[e>>2]|0;r=f[b+12>>2]|0;if((r|0)==(f[b+16>>2]|0)){_=0;b=de(f[(f[b>>2]|0)+36>>2]|0,b|0)|0;M=_;_=0;if(M&1){Y=26;break i}r=t[V>>0]|0}else{b=f[r>>2]|0;r=n}if((b|0)!=(f[((r&1)==0?O:f[B>>2]|0)>>2]|0)){b=k;break r}b=f[e>>2]|0;r=b+12|0;n=f[r>>2]|0;if((n|0)==(f[b+16>>2]|0)){_=0;de(f[(f[b>>2]|0)+40>>2]|0,b|0)|0;M=_;_=0;if(M&1){Y=26;break i}}else f[r>>2]=n+4;t[o>>0]=1;M=t[V>>0]|0;b=k;m=((M&1)==0?(M&255)>>>1:f[O>>2]|0)>>>0>1?V:m;break r}w=f[e>>2]|0;v=f[w+12>>2]|0;n=f[w+16>>2]|0;b=(v|0)==(n|0);if(!s){if(b){_=0;b=de(f[(f[w>>2]|0)+36>>2]|0,w|0)|0;M=_;_=0;if(M&1){Y=26;break i}r=t[G>>0]|0}else b=f[v>>2]|0;if((b|0)!=(f[((r&1)==0?x:f[I>>2]|0)>>2]|0)){t[o>>0]=1;b=k;break r}b=f[e>>2]|0;r=b+12|0;n=f[r>>2]|0;if((n|0)==(f[b+16>>2]|0)){_=0;de(f[(f[b>>2]|0)+40>>2]|0,b|0)|0;M=_;_=0;if(M&1){Y=26;break i}}else f[r>>2]=n+4;M=t[G>>0]|0;b=k;m=((M&1)==0?(M&255)>>>1:f[x>>2]|0)>>>0>1?G:m;break r}if(b){_=0;b=de(f[(f[w>>2]|0)+36>>2]|0,w|0)|0;M=_;_=0;if(M&1){Y=26;break i}n=f[e>>2]|0;r=t[G>>0]|0;w=n;v=f[n+12>>2]|0;n=f[n+16>>2]|0}else b=f[v>>2]|0;s=w+12|0;n=(v|0)==(n|0);if((b|0)==(f[((r&1)==0?x:f[I>>2]|0)>>2]|0)){if(n){_=0;de(f[(f[w>>2]|0)+40>>2]|0,w|0)|0;M=_;_=0;if(M&1){Y=26;break i}}else f[s>>2]=v+4;M=t[G>>0]|0;b=k;m=((M&1)==0?(M&255)>>>1:f[x>>2]|0)>>>0>1?G:m;break r}if(n){_=0;b=de(f[(f[w>>2]|0)+36>>2]|0,w|0)|0;M=_;_=0;if(M&1){Y=26;break i}}else b=f[v>>2]|0;if((b|0)!=(f[((t[V>>0]&1)==0?O:f[B>>2]|0)>>2]|0)){Y=107;break i}b=f[e>>2]|0;r=b+12|0;n=f[r>>2]|0;if((n|0)==(f[b+16>>2]|0)){_=0;de(f[(f[b>>2]|0)+40>>2]|0,b|0)|0;M=_;_=0;if(M&1){Y=26;break i}}else f[r>>2]=n+4;t[o>>0]=1;M=t[V>>0]|0;b=k;m=((M&1)==0?(M&255)>>>1:f[O>>2]|0)>>>0>1?V:m}break}case 2:{if(!(E>>>0<2|(m|0)!=0)?!(A|(E|0)==2&(t[L>>0]|0)!=0):0){b=k;m=0;break r}s=t[W>>0]|0;n=f[S>>2]|0;r=(s&1)==0?T:n;b=r;t:do{if((E|0)!=0?(a[H+(E+-1)>>0]|0)<2:0){y=(s&1)==0;n:do{if((r|0)!=((y?T:n)+((y?(s&255)>>>1:f[T>>2]|0)<<2)|0)){s=r;while(1){_=0;r=ke(f[(f[u>>2]|0)+12>>2]|0,u|0,8192,f[s>>2]|0)|0;y=_;_=0;if(y&1){Y=23;break i}if(!r)break;s=s+4|0;b=s;r=t[W>>0]|0;n=f[S>>2]|0;y=(r&1)==0;if((s|0)==((y?T:n)+((y?(r&255)>>>1:f[T>>2]|0)<<2)|0)){s=r;break n}}s=t[W>>0]|0;n=f[S>>2]|0}}while(0);v=(s&1)==0?T:n;r=v;p=b-r>>2;g=t[K>>0]|0;w=(g&1)==0;g=w?(g&255)>>>1:f[C>>2]|0;if(g>>>0>=p>>>0){w=w?C:f[R>>2]|0;y=w+(g<<2)|0;if(!p)r=b;else{w=w+(g-p<<2)|0;while(1){if((f[w>>2]|0)!=(f[v>>2]|0))break t;w=w+4|0;if((w|0)==(y|0)){r=b;break}else v=v+4|0}}}}else r=b}while(0);b=(s&1)==0;b=(b?T:n)+((b?(s&255)>>>1:f[T>>2]|0)<<2)|0;t:do{if((r|0)!=(b|0)){w=M;s=M;b=r;while(1){r=f[e>>2]|0;do{if(r){n=f[r+12>>2]|0;if((n|0)==(f[r+16>>2]|0)){_=0;r=de(f[(f[r>>2]|0)+36>>2]|0,r|0)|0;M=_;_=0;if(M&1){Y=22;break i}}else r=f[n>>2]|0;if((r|0)==-1){f[e>>2]=0;n=1;break}else{n=(f[e>>2]|0)==0;break}}else n=1}while(0);do{if(s){r=f[s+12>>2]|0;if((r|0)==(f[s+16>>2]|0)){_=0;r=de(f[(f[s>>2]|0)+36>>2]|0,s|0)|0;M=_;_=0;if(M&1){Y=22;break i}}else r=f[r>>2]|0;if((r|0)!=-1)if(n^(w|0)==0){r=w;v=w;break}else break t;else{f[i>>2]=0;r=0;Y=136;break}}else{r=w;Y=136}}while(0);if((Y|0)==136){Y=0;if(n)break t;else v=0}n=f[e>>2]|0;s=f[n+12>>2]|0;if((s|0)==(f[n+16>>2]|0)){_=0;n=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;M=_;_=0;if(M&1){Y=22;break i}}else n=f[s>>2]|0;if((n|0)!=(f[b>>2]|0))break t;n=f[e>>2]|0;s=n+12|0;w=f[s>>2]|0;if((w|0)==(f[n+16>>2]|0)){_=0;de(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;M=_;_=0;if(M&1){Y=22;break i}}else f[s>>2]=w+4;b=b+4|0;n=t[W>>0]|0;M=(n&1)==0;n=(M?T:f[S>>2]|0)+((M?(n&255)>>>1:f[T>>2]|0)<<2)|0;if((b|0)==(n|0)){b=n;break}else{w=r;s=v}}}}while(0);if(A?(M=t[W>>0]|0,y=(M&1)==0,(b|0)!=((y?T:f[S>>2]|0)+((y?(M&255)>>>1:f[T>>2]|0)<<2)|0)):0){Y=148;break i}else b=k;break}case 4:{g=f[z>>2]|0;p=M;w=M;b=k;r=0;t:while(1){n=f[e>>2]|0;do{if(n){s=f[n+12>>2]|0;if((s|0)==(f[n+16>>2]|0)){_=0;n=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;M=_;_=0;if(M&1){Y=25;break i}}else n=f[s>>2]|0;if((n|0)==-1){f[e>>2]=0;s=1;break}else{s=(f[e>>2]|0)==0;break}}else s=1}while(0);do{if(w){n=f[w+12>>2]|0;if((n|0)==(f[w+16>>2]|0)){_=0;n=de(f[(f[w>>2]|0)+36>>2]|0,w|0)|0;M=_;_=0;if(M&1){Y=25;break i}}else n=f[n>>2]|0;if((n|0)!=-1)if(s^(p|0)==0){n=p;v=p;break}else{k=p;break t}else{f[i>>2]=0;n=0;Y=162;break}}else{n=p;Y=162}}while(0);if((Y|0)==162){Y=0;if(s){k=n;break}else v=0}s=f[e>>2]|0;k=f[s+12>>2]|0;if((k|0)==(f[s+16>>2]|0)){_=0;s=de(f[(f[s>>2]|0)+36>>2]|0,s|0)|0;M=_;_=0;if(M&1){Y=25;break i}}else s=f[k>>2]|0;_=0;k=ke(f[(f[u>>2]|0)+12>>2]|0,u|0,2048,s|0)|0;M=_;_=0;if(M&1){Y=25;break i}if(k){k=f[d>>2]|0;if((k|0)==(f[D>>2]|0)){_=0;Ae(14,h|0,d|0,D|0);M=_;_=0;if(M&1){Y=25;break i}k=f[d>>2]|0}f[d>>2]=k+4;f[k>>2]=s;r=r+1|0}else{M=t[X>>0]|0;if(!((s|0)==(g|0)&((r|0)!=0?(((M&1)==0?(M&255)>>>1:f[P>>2]|0)|0)!=0:0))){k=n;break}if((b|0)==(f[U>>2]|0)){_=0;Ae(13,Q|0,j|0,U|0);M=_;_=0;if(M&1){Y=25;break i}b=f[j>>2]|0}M=b+4|0;f[j>>2]=M;f[b>>2]=r;b=M;r=0}s=f[e>>2]|0;k=s+12|0;w=f[k>>2]|0;if((w|0)==(f[s+16>>2]|0)){_=0;de(f[(f[s>>2]|0)+40>>2]|0,s|0)|0;M=_;_=0;if(M&1){Y=25;break i}else{p=n;w=v;continue}}else{f[k>>2]=w+4;p=n;w=v;continue}}if((r|0)!=0?(f[Q>>2]|0)!=(b|0):0){if((b|0)==(f[U>>2]|0)){_=0;Ae(13,Q|0,j|0,U|0);M=_;_=0;if(M&1){Y=26;break i}b=f[j>>2]|0}M=b+4|0;f[j>>2]=M;f[b>>2]=r;b=M}v=f[F>>2]|0;if((v|0)>0){r=f[e>>2]|0;do{if(r){n=f[r+12>>2]|0;if((n|0)==(f[r+16>>2]|0)){_=0;r=de(f[(f[r>>2]|0)+36>>2]|0,r|0)|0;M=_;_=0;if(M&1){Y=26;break i}}else r=f[n>>2]|0;if((r|0)==-1){f[e>>2]=0;n=1;break}else{n=(f[e>>2]|0)==0;break}}else n=1}while(0);do{if(k){r=f[k+12>>2]|0;if((r|0)==(f[k+16>>2]|0)){_=0;r=de(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;M=_;_=0;if(M&1){Y=26;break i}}else r=f[r>>2]|0;if((r|0)!=-1)if(n)break;else{Y=206;break i}else{f[i>>2]=0;Y=200;break}}else Y=200}while(0);if((Y|0)==200){Y=0;if(n){Y=206;break i}else k=0}r=f[e>>2]|0;n=f[r+12>>2]|0;if((n|0)==(f[r+16>>2]|0)){_=0;r=de(f[(f[r>>2]|0)+36>>2]|0,r|0)|0;M=_;_=0;if(M&1){Y=26;break i}}else r=f[n>>2]|0;if((r|0)!=(f[N>>2]|0)){Y=206;break i}r=f[e>>2]|0;n=r+12|0;s=f[n>>2]|0;if((s|0)==(f[r+16>>2]|0)){_=0;de(f[(f[r>>2]|0)+40>>2]|0,r|0)|0;M=_;_=0;if(M&1){Y=26;break i}}else f[n>>2]=s+4;if((v|0)>0){w=k;s=k;p=v;while(1){r=f[e>>2]|0;do{if(r){n=f[r+12>>2]|0;if((n|0)==(f[r+16>>2]|0)){_=0;r=de(f[(f[r>>2]|0)+36>>2]|0,r|0)|0;M=_;_=0;if(M&1){Y=24;break i}}else r=f[n>>2]|0;if((r|0)==-1){f[e>>2]=0;n=1;break}else{n=(f[e>>2]|0)==0;break}}else n=1}while(0);do{if(s){r=f[s+12>>2]|0;if((r|0)==(f[s+16>>2]|0)){_=0;r=de(f[(f[s>>2]|0)+36>>2]|0,s|0)|0;M=_;_=0;if(M&1){Y=24;break i}}else r=f[r>>2]|0;if((r|0)!=-1)if(n^(w|0)==0){r=w;v=w;break}else{Y=231;break i}else{f[i>>2]=0;r=0;Y=224;break}}else{r=w;Y=224}}while(0);if((Y|0)==224){Y=0;if(n){Y=231;break i}else v=0}n=f[e>>2]|0;s=f[n+12>>2]|0;if((s|0)==(f[n+16>>2]|0)){_=0;n=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;M=_;_=0;if(M&1){Y=24;break i}}else n=f[s>>2]|0;_=0;n=ke(f[(f[u>>2]|0)+12>>2]|0,u|0,2048,n|0)|0;M=_;_=0;if(M&1){Y=24;break i}if(!n){Y=231;break i}if((f[d>>2]|0)==(f[D>>2]|0)?(_=0,Ae(14,h|0,d|0,D|0),M=_,_=0,M&1):0){Y=24;break i}n=f[e>>2]|0;s=f[n+12>>2]|0;if((s|0)==(f[n+16>>2]|0)){_=0;n=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;M=_;_=0;if(M&1){Y=24;break i}}else n=f[s>>2]|0;s=f[d>>2]|0;f[d>>2]=s+4;f[s>>2]=n;n=p;p=p+-1|0;f[F>>2]=p;s=f[e>>2]|0;k=s+12|0;w=f[k>>2]|0;if((w|0)==(f[s+16>>2]|0)){_=0;de(f[(f[s>>2]|0)+40>>2]|0,s|0)|0;M=_;_=0;if(M&1){Y=24;break i}}else f[k>>2]=w+4;if((n|0)<=1)break;else{w=r;s=v}}}}if((f[d>>2]|0)==(f[h>>2]|0)){Y=242;break i}break}default:b=k}}while(0);r:do{if((Y|0)==44)while(1){Y=0;r=f[e>>2]|0;do{if(r){n=f[r+12>>2]|0;if((n|0)==(f[r+16>>2]|0)){_=0;r=de(f[(f[r>>2]|0)+36>>2]|0,r|0)|0;M=_;_=0;if(M&1){Y=21;break i}}else r=f[n>>2]|0;if((r|0)==-1){f[e>>2]=0;n=1;break}else{n=(f[e>>2]|0)==0;break}}else n=1}while(0);do{if(s){r=f[s+12>>2]|0;if((r|0)==(f[s+16>>2]|0)){_=0;r=de(f[(f[s>>2]|0)+36>>2]|0,s|0)|0;M=_;_=0;if(M&1){Y=21;break i}}else r=f[r>>2]|0;if((r|0)!=-1)if(n^(b|0)==0){w=b;s=b;break}else{b=k;break r}else{f[i>>2]=0;b=0;Y=57;break}}else Y=57}while(0);if((Y|0)==57){Y=0;if(n){b=k;break r}else{w=b;s=0}}b=f[e>>2]|0;r=f[b+12>>2]|0;if((r|0)==(f[b+16>>2]|0)){_=0;b=de(f[(f[b>>2]|0)+36>>2]|0,b|0)|0;M=_;_=0;if(M&1){Y=21;break i}}else b=f[r>>2]|0;_=0;b=ke(f[(f[u>>2]|0)+12>>2]|0,u|0,8192,b|0)|0;M=_;_=0;if(M&1){Y=21;break i}if(!b){b=k;break r}b=f[e>>2]|0;r=b+12|0;n=f[r>>2]|0;if((n|0)==(f[b+16>>2]|0)){_=0;b=de(f[(f[b>>2]|0)+40>>2]|0,b|0)|0;Y=_;_=0;if(Y&1){Y=21;break i}}else{f[r>>2]=n+4;b=f[n>>2]|0}_=0;ce(92,K|0,b|0);Y=_;_=0;if(Y&1){Y=21;break i}else{b=w;Y=44}}}while(0);E=E+1|0;if(E>>>0>=4){v=b;Y=244;break}else k=b}i:switch(Y|0){case 21:{r=ze()|0;break e}case 22:{r=ze()|0;break e}case 23:{r=ze()|0;break e}case 24:{r=ze()|0;break e}case 25:{r=ze()|0;break e}case 26:{r=ze()|0;break e}case 42:{f[l>>2]=f[l>>2]|4;r=0;break}case 107:{f[l>>2]=f[l>>2]|4;r=0;break}case 148:{f[l>>2]=f[l>>2]|4;r=0;break}case 206:{f[l>>2]=f[l>>2]|4;r=0;break}case 231:{f[l>>2]=f[l>>2]|4;r=0;break}case 242:{f[l>>2]=f[l>>2]|4;r=0;break}case 244:{r:do{if(m){k=m+4|0;w=m+8|0;s=1;t:while(1){b=t[m>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=f[k>>2]|0;if(s>>>0>=b>>>0)break r;b=f[e>>2]|0;do{if(b){r=f[b+12>>2]|0;if((r|0)==(f[b+16>>2]|0)){_=0;b=de(f[(f[b>>2]|0)+36>>2]|0,b|0)|0;d=_;_=0;if(d&1){Y=20;break t}}else b=f[r>>2]|0;if((b|0)==-1){f[e>>2]=0;n=1;break}else{n=(f[e>>2]|0)==0;break}}else n=1}while(0);b=f[i>>2]|0;do{if(b){r=f[b+12>>2]|0;if((r|0)==(f[b+16>>2]|0)){_=0;b=de(f[(f[b>>2]|0)+36>>2]|0,b|0)|0;d=_;_=0;if(d&1){Y=20;break t}}else b=f[r>>2]|0;if((b|0)!=-1)if(n)break;else{Y=271;break t}else{f[i>>2]=0;Y=263;break}}else Y=263}while(0);if((Y|0)==263?(Y=0,n):0){Y=271;break}b=f[e>>2]|0;r=f[b+12>>2]|0;if((r|0)==(f[b+16>>2]|0)){_=0;b=de(f[(f[b>>2]|0)+36>>2]|0,b|0)|0;d=_;_=0;if(d&1){Y=20;break}}else b=f[r>>2]|0;if(!(t[m>>0]&1))r=k;else r=f[w>>2]|0;if((b|0)!=(f[r+(s<<2)>>2]|0)){Y=271;break}b=s+1|0;r=f[e>>2]|0;n=r+12|0;s=f[n>>2]|0;if((s|0)==(f[r+16>>2]|0)){_=0;de(f[(f[r>>2]|0)+40>>2]|0,r|0)|0;d=_;_=0;if(d&1){Y=20;break}else{s=b;continue}}else{f[n>>2]=s+4;s=b;continue}}if((Y|0)==20){r=ze()|0;break e}else if((Y|0)==271){f[l>>2]=f[l>>2]|4;r=0;break i}}}while(0);b=f[Q>>2]|0;if((b|0)!=(v|0)?(f[q>>2]=0,Ko(X,b,v,q),(f[q>>2]|0)!=0):0){f[l>>2]=f[l>>2]|4;r=0}else r=1;break}}Gh(K);Gh(V);Gh(G);Gh(W);Oh(X);b=f[Q>>2]|0;f[Q>>2]=0;if((b|0)!=0?(_=0,ue(f[J>>2]|0,b|0),Q=_,_=0,Q&1):0){Q=ze(0)|0;Fi(Q)}c=Z;return r|0}}while(0);Gh(K);Gh(V);Gh(G);Gh(W);Oh(X);b=f[Q>>2]|0;f[Q>>2]=0;if((b|0)!=0?(_=0,ue(f[J>>2]|0,b|0),Q=_,_=0,Q&1):0){Q=ze(0)|0;Fi(Q)}$e(r|0);return 0}function $o(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0;y=c;c=c+432|0;o=y+424|0;e=y+24|0;E=y+16|0;m=y+8|0;b=y+4|0;k=y+428|0;u=y;f[E>>2]=e;S=E+4|0;f[S>>2]=189;h=e+400|0;_=0;g=de(68,a|0)|0;d=_;_=0;if(!(d&1)){f[b>>2]=g;_=0;d=pe(37,b|0,44212)|0;e=_;_=0;e:do{if(!(e&1)?(t[k>>0]=0,v=f[r>>2]|0,f[u>>2]=v,w=f[a+4>>2]|0,p=v,_=0,f[o>>2]=f[u>>2],w=be(2,i|0,o|0,n|0,b|0,w|0,s|0,k|0,d|0,E|0,m|0,h|0)|0,a=_,_=0,!(a&1)):0){if(w){if(!(t[l>>0]&1))t[l>>0]=0;else f[f[l+8>>2]>>2]=0;f[l+4>>2]=0;if(t[k>>0]|0){_=0;e=pe(f[(f[d>>2]|0)+44>>2]|0,d|0,45)|0;a=_;_=0;if(a&1)break;_=0;ce(92,l|0,e|0);a=_;_=0;if(a&1)break}_=0;u=pe(f[(f[d>>2]|0)+44>>2]|0,d|0,48)|0;a=_;_=0;if(a&1)break;e=f[E>>2]|0;h=f[m>>2]|0;o=h+-4|0;i:do{if(e>>>0>>0)do{if((f[e>>2]|0)!=(u|0))break i;e=e+4|0}while(e>>>0>>0)}while(0);_=0;ke(33,l|0,e|0,h|0)|0;l=_;_=0;if(l&1)break}e=f[i>>2]|0;do{if(e){o=f[e+12>>2]|0;if((o|0)==(f[e+16>>2]|0)){_=0;e=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;l=_;_=0;if(l&1)break e}else e=f[o>>2]|0;if((e|0)==-1){f[i>>2]=0;o=1;break}else{o=(f[i>>2]|0)==0;break}}else o=1}while(0);do{if(v){e=f[p+12>>2]|0;if((e|0)==(f[p+16>>2]|0)){_=0;e=de(f[(f[v>>2]|0)+36>>2]|0,p|0)|0;p=_;_=0;if(p&1)break e}else e=f[e>>2]|0;if((e|0)!=-1)if(o)break;else{A=32;break}else{f[r>>2]=0;A=30;break}}else A=30}while(0);if((A|0)==30?o:0)A=32;if((A|0)==32)f[s>>2]=f[s>>2]|2;o=f[i>>2]|0;bh(g)|0;e=f[E>>2]|0;f[E>>2]=0;if((e|0)!=0?(_=0,ue(f[S>>2]|0,e|0),S=_,_=0,S&1):0){S=ze(0)|0;Fi(S)}c=y;return o|0}}while(0);o=ze()|0;bh(g)|0;e=f[E>>2]|0;f[E>>2]=0;if(!e)M=o;else A=38}else{o=ze()|0;f[E>>2]=0;A=38}if((A|0)==38){_=0;ue(f[S>>2]|0,e|0);S=_;_=0;if(S&1){S=ze(0)|0;Fi(S)}else M=o}$e(M|0);return 0}function eu(e,i,r,n,a,s,l,o,u,h){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;var d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;A=c;c=c+112|0;d=A+100|0;b=A+88|0;k=A+76|0;w=A+64|0;m=A+52|0;v=A+48|0;p=A+36|0;g=A+24|0;y=A+12|0;M=A;do{if(e){e=Du(i,43956)|0;aM[f[(f[e>>2]|0)+44>>2]&127](d,e);M=f[d>>2]|0;t[r>>0]=M;t[r+1>>0]=M>>8;t[r+2>>0]=M>>16;t[r+3>>0]=M>>24;aM[f[(f[e>>2]|0)+32>>2]&127](b,e);if(!(t[u>>0]&1))t[u>>0]=0;else f[f[u+8>>2]>>2]=0;f[u+4>>2]=0;_=0;ce(93,u|0,0);r=_;_=0;if(r&1){r=ze(0)|0;Fi(r)}f[u>>2]=f[b>>2];f[u+4>>2]=f[b+4>>2];f[u+8>>2]=f[b+8>>2];f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;Gh(b);aM[f[(f[e>>2]|0)+28>>2]&127](k,e);if(!(t[o>>0]&1))t[o>>0]=0;else f[f[o+8>>2]>>2]=0;f[o+4>>2]=0;_=0;ce(93,o|0,0);r=_;_=0;if(r&1){r=ze(0)|0;Fi(r)}f[o>>2]=f[k>>2];f[o+4>>2]=f[k+4>>2];f[o+8>>2]=f[k+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Gh(k);f[n>>2]=lM[f[(f[e>>2]|0)+12>>2]&127](e)|0;f[a>>2]=lM[f[(f[e>>2]|0)+16>>2]&127](e)|0;aM[f[(f[e>>2]|0)+20>>2]&127](w,e);if(!(t[s>>0]&1)){t[s+1>>0]=0;t[s>>0]=0}else{t[f[s+8>>2]>>0]=0;f[s+4>>2]=0}_=0;ce(91,s|0,0);a=_;_=0;if(a&1){a=ze(0)|0;Fi(a)}f[s>>2]=f[w>>2];f[s+4>>2]=f[w+4>>2];f[s+8>>2]=f[w+8>>2];f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;Oh(w);aM[f[(f[e>>2]|0)+24>>2]&127](m,e);if(!(t[l>>0]&1))t[l>>0]=0;else f[f[l+8>>2]>>2]=0;f[l+4>>2]=0;_=0;ce(93,l|0,0);a=_;_=0;if(a&1){a=ze(0)|0;Fi(a)}else{f[l>>2]=f[m>>2];f[l+4>>2]=f[m+4>>2];f[l+8>>2]=f[m+8>>2];f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;Gh(m);E=lM[f[(f[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Du(i,43892)|0;aM[f[(f[e>>2]|0)+44>>2]&127](v,e);v=f[v>>2]|0;t[r>>0]=v;t[r+1>>0]=v>>8;t[r+2>>0]=v>>16;t[r+3>>0]=v>>24;aM[f[(f[e>>2]|0)+32>>2]&127](p,e);if(!(t[u>>0]&1))t[u>>0]=0;else f[f[u+8>>2]>>2]=0;f[u+4>>2]=0;_=0;ce(93,u|0,0);r=_;_=0;if(r&1){r=ze(0)|0;Fi(r)}f[u>>2]=f[p>>2];f[u+4>>2]=f[p+4>>2];f[u+8>>2]=f[p+8>>2];f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;Gh(p);aM[f[(f[e>>2]|0)+28>>2]&127](g,e);if(!(t[o>>0]&1))t[o>>0]=0;else f[f[o+8>>2]>>2]=0;f[o+4>>2]=0;_=0;ce(93,o|0,0);r=_;_=0;if(r&1){r=ze(0)|0;Fi(r)}f[o>>2]=f[g>>2];f[o+4>>2]=f[g+4>>2];f[o+8>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Gh(g);f[n>>2]=lM[f[(f[e>>2]|0)+12>>2]&127](e)|0;f[a>>2]=lM[f[(f[e>>2]|0)+16>>2]&127](e)|0;aM[f[(f[e>>2]|0)+20>>2]&127](y,e);if(!(t[s>>0]&1)){t[s+1>>0]=0;t[s>>0]=0}else{t[f[s+8>>2]>>0]=0;f[s+4>>2]=0}_=0;ce(91,s|0,0);a=_;_=0;if(a&1){a=ze(0)|0;Fi(a)}f[s>>2]=f[y>>2];f[s+4>>2]=f[y+4>>2];f[s+8>>2]=f[y+8>>2];f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;Oh(y);aM[f[(f[e>>2]|0)+24>>2]&127](M,e);if(!(t[l>>0]&1))t[l>>0]=0;else f[f[l+8>>2]>>2]=0;f[l+4>>2]=0;_=0;ce(93,l|0,0);a=_;_=0;if(a&1){a=ze(0)|0;Fi(a)}else{f[l>>2]=f[M>>2];f[l+4>>2]=f[M+4>>2];f[l+8>>2]=f[M+8>>2];f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;Gh(M);E=lM[f[(f[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);f[h>>2]=E;c=A;return}function iu(e){e=e|0;return}function ru(e){e=e|0;Ip(e);return}function tu(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=+s;var l=0,o=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0;R=c;c=c+384|0;g=R+8|0;l=R;h=R+284|0;d=R+72|0;o=R+184|0;P=R+68|0;S=R+80|0;M=R+77|0;T=R+76|0;x=R+56|0;B=R+44|0;O=R+32|0;b=R+28|0;p=R+84|0;A=R+24|0;E=R+20|0;y=R+16|0;f[d>>2]=h;u[g>>3]=s;h=Py(h,100,59018,g)|0;do{if(h>>>0>99){_=0;e=Me(3)|0;C=_;_=0;if(!(C&1)?(_=0,u[l>>3]=s,m=Ee(17,d|0,e|0,59018,l|0)|0,C=_,_=0,!(C&1)):0){e=f[d>>2]|0;if(!e){_=0;Se(6);C=_;_=0;if(C&1){e=0;l=0;C=7;break}e=f[d>>2]|0}o=Lc(m)|0;l=o;if(!o){_=0;Se(6);C=_;_=0;if(C&1)C=7;else{v=0;C=10}}else{v=o;C=10}}else{e=0;l=0;C=7}}else{l=0;e=0;v=o;m=h;C=10}}while(0);if((C|0)==10){_=0;o=de(68,n|0)|0;w=_;_=0;if(w&1)C=7;else{f[P>>2]=o;_=0;w=pe(37,P|0,44220)|0;k=_;_=0;if(!(k&1)?(k=f[d>>2]|0,_=0,Ee(f[(f[w>>2]|0)+32>>2]|0,w|0,k|0,k+m|0,v|0)|0,k=_,_=0,!(k&1)):0){if(!m)k=0;else k=(t[f[d>>2]>>0]|0)==45;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;_=0;ve(3,r|0,k|0,P|0,S|0,M|0,T|0,x|0,B|0,O|0,b|0);r=_;_=0;if(!(r&1)){b=f[b>>2]|0;if((m|0)>(b|0)){r=t[O>>0]|0;h=t[B>>0]|0;h=(m-b<<1|1)+b+((r&1)==0?(r&255)>>>1:f[O+4>>2]|0)+((h&1)==0?(h&255)>>>1:f[B+4>>2]|0)|0}else{r=t[O>>0]|0;h=t[B>>0]|0;h=b+2+((r&1)==0?(r&255)>>>1:f[O+4>>2]|0)+((h&1)==0?(h&255)>>>1:f[B+4>>2]|0)|0}if(h>>>0>100){h=Lc(h)|0;d=h;if(!h){_=0;Se(6);p=_;_=0;if(!(p&1)){h=0;C=26}}else C=26}else{d=0;h=p;C=26}if((C|0)==26){_=0;we(1,h|0,A|0,E|0,f[n+4>>2]|0,v|0,v+m|0,w|0,k|0,S|0,t[M>>0]|0,t[T>>0]|0,x|0,B|0,O|0,b|0);T=_;_=0;if(!(T&1)?(f[y>>2]=f[i>>2],i=f[A>>2]|0,L=f[E>>2]|0,_=0,f[g>>2]=f[y>>2],L=he(39,g|0,h|0,i|0,L|0,n|0,a|0)|0,i=_,_=0,!(i&1)):0){if(d){Pc(d);o=f[P>>2]|0}Oh(O);Oh(B);Oh(x);bh(o)|0;if(l)Pc(l);if(e)Pc(e);c=R;return L|0}}h=ze()|0;if(d){Pc(d);o=f[P>>2]|0}}else h=ze()|0;Oh(O);Oh(B);Oh(x)}else h=ze()|0;bh(o)|0}}if((C|0)==7)h=ze()|0;if(l)Pc(l);if(e)Pc(e);$e(h|0);return 0}function nu(e,i,r,n,a,s,l,o,u,h){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;var d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0;R=c;c=c+112|0;k=R+108|0;w=R+96|0;p=R+92|0;g=R+80|0;y=R+68|0;M=R+56|0;E=R+52|0;A=R+40|0;S=R+36|0;T=R+24|0;m=R+12|0;v=R;do{if(e){e=Du(r,43828)|0;r=f[e>>2]|0;do{if(i){aM[f[r+44>>2]&127](k,e);i=f[k>>2]|0;t[n>>0]=i;t[n+1>>0]=i>>8;t[n+2>>0]=i>>16;t[n+3>>0]=i>>24;aM[f[(f[e>>2]|0)+32>>2]&127](w,e);if(!(t[u>>0]&1)){t[u+1>>0]=0;t[u>>0]=0}else{t[f[u+8>>2]>>0]=0;f[u+4>>2]=0}_=0;ce(91,u|0,0);n=_;_=0;if(n&1){u=ze(0)|0;Fi(u)}else{f[u>>2]=f[w>>2];f[u+4>>2]=f[w+4>>2];f[u+8>>2]=f[w+8>>2];f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;Oh(w);b=e;break}}else{aM[f[r+40>>2]&127](p,e);i=f[p>>2]|0;t[n>>0]=i;t[n+1>>0]=i>>8;t[n+2>>0]=i>>16;t[n+3>>0]=i>>24;aM[f[(f[e>>2]|0)+28>>2]&127](g,e);if(!(t[u>>0]&1)){t[u+1>>0]=0;t[u>>0]=0}else{t[f[u+8>>2]>>0]=0;f[u+4>>2]=0}_=0;ce(91,u|0,0);n=_;_=0;if(n&1){u=ze(0)|0;Fi(u)}else{f[u>>2]=f[g>>2];f[u+4>>2]=f[g+4>>2];f[u+8>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Oh(g);b=e;break}}}while(0);t[a>>0]=lM[f[(f[e>>2]|0)+12>>2]&127](e)|0;t[s>>0]=lM[f[(f[e>>2]|0)+16>>2]&127](e)|0;aM[f[(f[b>>2]|0)+20>>2]&127](y,e);if(!(t[l>>0]&1)){t[l+1>>0]=0;t[l>>0]=0}else{t[f[l+8>>2]>>0]=0;f[l+4>>2]=0}_=0;ce(91,l|0,0);s=_;_=0;if(s&1){s=ze(0)|0;Fi(s)}f[l>>2]=f[y>>2];f[l+4>>2]=f[y+4>>2];f[l+8>>2]=f[y+8>>2];f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;Oh(y);aM[f[(f[b>>2]|0)+24>>2]&127](M,e);if(!(t[o>>0]&1)){t[o+1>>0]=0;t[o>>0]=0}else{t[f[o+8>>2]>>0]=0;f[o+4>>2]=0}_=0;ce(91,o|0,0);s=_;_=0;if(s&1){s=ze(0)|0;Fi(s)}else{f[o>>2]=f[M>>2];f[o+4>>2]=f[M+4>>2];f[o+8>>2]=f[M+8>>2];f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;Oh(M);C=lM[f[(f[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Du(r,43764)|0;r=f[e>>2]|0;do{if(i){aM[f[r+44>>2]&127](E,e);i=f[E>>2]|0;t[n>>0]=i;t[n+1>>0]=i>>8;t[n+2>>0]=i>>16;t[n+3>>0]=i>>24;aM[f[(f[e>>2]|0)+32>>2]&127](A,e);if(!(t[u>>0]&1)){t[u+1>>0]=0;t[u>>0]=0}else{t[f[u+8>>2]>>0]=0;f[u+4>>2]=0}_=0;ce(91,u|0,0);n=_;_=0;if(n&1){u=ze(0)|0;Fi(u)}else{f[u>>2]=f[A>>2];f[u+4>>2]=f[A+4>>2];f[u+8>>2]=f[A+8>>2];f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;Oh(A);d=e;break}}else{aM[f[r+40>>2]&127](S,e);i=f[S>>2]|0;t[n>>0]=i;t[n+1>>0]=i>>8;t[n+2>>0]=i>>16;t[n+3>>0]=i>>24;aM[f[(f[e>>2]|0)+28>>2]&127](T,e);if(!(t[u>>0]&1)){t[u+1>>0]=0;t[u>>0]=0}else{t[f[u+8>>2]>>0]=0;f[u+4>>2]=0}_=0;ce(91,u|0,0);n=_;_=0;if(n&1){u=ze(0)|0;Fi(u)}else{f[u>>2]=f[T>>2];f[u+4>>2]=f[T+4>>2];f[u+8>>2]=f[T+8>>2];f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;Oh(T);d=e;break}}}while(0);t[a>>0]=lM[f[(f[e>>2]|0)+12>>2]&127](e)|0;t[s>>0]=lM[f[(f[e>>2]|0)+16>>2]&127](e)|0;aM[f[(f[d>>2]|0)+20>>2]&127](m,e);if(!(t[l>>0]&1)){t[l+1>>0]=0;t[l>>0]=0}else{t[f[l+8>>2]>>0]=0;f[l+4>>2]=0}_=0;ce(91,l|0,0);s=_;_=0;if(s&1){s=ze(0)|0;Fi(s)}f[l>>2]=f[m>>2];f[l+4>>2]=f[m+4>>2];f[l+8>>2]=f[m+8>>2];f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;Oh(m);aM[f[(f[d>>2]|0)+24>>2]&127](v,e);if(!(t[o>>0]&1)){t[o+1>>0]=0;t[o>>0]=0}else{t[f[o+8>>2]>>0]=0;f[o+4>>2]=0}_=0;ce(91,o|0,0);s=_;_=0;if(s&1){s=ze(0)|0;Fi(s)}else{f[o>>2]=f[v>>2];f[o+4>>2]=f[v+4>>2];f[o+8>>2]=f[v+8>>2];f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;Oh(v);C=lM[f[(f[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);f[h>>2]=C;c=R;return}function fu(e,i,r,a,s,l,o,u,c,h,d,b,k,w,_){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;h=h|0;d=d|0;b=b|0;k=k|0;w=w|0;_=_|0;var m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,H=0;f[r>>2]=e;U=w+4|0;j=w+8|0;H=w+1|0;O=k+4|0;B=(a&512|0)==0;I=k+8|0;D=k+1|0;N=o+8|0;F=(_|0)>0;S=b+4|0;T=b+8|0;C=b+1|0;R=_+1|0;P=-2-_-((_|0)<0?~_:-1)|0;x=(_|0)>0;A=0;do{switch(t[c+A>>0]|0){case 0:{f[i>>2]=f[r>>2];break}case 1:{f[i>>2]=f[r>>2];M=kM[f[(f[o>>2]|0)+28>>2]&63](o,32)|0;E=f[r>>2]|0;f[r>>2]=E+1;t[E>>0]=M;break}case 3:{E=t[w>>0]|0;m=(E&1)==0;if((m?(E&255)>>>1:f[U>>2]|0)|0){M=t[(m?H:f[j>>2]|0)>>0]|0;E=f[r>>2]|0;f[r>>2]=E+1;t[E>>0]=M}break}case 2:{p=t[k>>0]|0;m=(p&1)==0;p=m?(p&255)>>>1:f[O>>2]|0;if(!(B|(p|0)==0)){v=m?D:f[I>>2]|0;g=v+p|0;m=f[r>>2]|0;if(p)do{t[m>>0]=t[v>>0]|0;v=v+1|0;m=m+1|0}while((v|0)!=(g|0));f[r>>2]=m}break}case 4:{m=f[r>>2]|0;s=u?s+1|0:s;y=s;g=f[N>>2]|0;e:do{if(s>>>0>>0){v=s;do{p=t[v>>0]|0;if(p<<24>>24<=-1)break e;if(!(n[g+(p<<24>>24<<1)>>1]&2048))break e;v=v+1|0}while(v>>>0>>0)}else v=s}while(0);p=v;if(F){M=-2-p-~(p>>>0>y>>>0?y:p)|0;M=P>>>0>M>>>0?P:M;if(v>>>0>s>>>0&x){p=v;y=_;while(1){p=p+-1|0;E=t[p>>0]|0;g=f[r>>2]|0;f[r>>2]=g+1;t[g>>0]=E;g=(y|0)>1;if(!(p>>>0>s>>>0&g))break;else y=y+-1|0}}else g=x;E=R+M|0;p=v+(M+1)|0;if(g)y=kM[f[(f[o>>2]|0)+28>>2]&63](o,48)|0;else y=0;v=f[r>>2]|0;f[r>>2]=v+1;if((E|0)>0){g=E;while(1){t[v>>0]=y;v=f[r>>2]|0;f[r>>2]=v+1;if((g|0)>1)g=g+-1|0;else break}}t[v>>0]=h}else p=v;if((p|0)!=(s|0)){E=t[b>>0]|0;v=(E&1)==0;if(!((v?(E&255)>>>1:f[S>>2]|0)|0))v=-1;else v=t[(v?C:f[T>>2]|0)>>0]|0;if((p|0)!=(s|0)){g=0;y=0;while(1){if((y|0)==(v|0)){E=f[r>>2]|0;f[r>>2]=E+1;t[E>>0]=d;g=g+1|0;E=t[b>>0]|0;v=(E&1)==0;if(g>>>0<(v?(E&255)>>>1:f[S>>2]|0)>>>0){v=t[(v?C:f[T>>2]|0)+g>>0]|0;v=v<<24>>24==127?-1:v<<24>>24;y=0}else{v=y;y=0}}p=p+-1|0;M=t[p>>0]|0;E=f[r>>2]|0;f[r>>2]=E+1;t[E>>0]=M;if((p|0)==(s|0))break;else y=y+1|0}}}else{M=kM[f[(f[o>>2]|0)+28>>2]&63](o,48)|0;E=f[r>>2]|0;f[r>>2]=E+1;t[E>>0]=M}v=f[r>>2]|0;if((m|0)!=(v|0)?(L=v+-1|0,m>>>0>>0):0){v=L;do{E=t[m>>0]|0;t[m>>0]=t[v>>0]|0;t[v>>0]=E;m=m+1|0;v=v+-1|0}while(m>>>0>>0)}break}default:{}}A=A+1|0}while((A|0)!=4);v=t[w>>0]|0;s=(v&1)==0;v=s?(v&255)>>>1:f[U>>2]|0;if(v>>>0>1){m=s?H:f[j>>2]|0;p=m+v|0;s=f[r>>2]|0;if((v|0)!=1){m=m+1|0;do{t[s>>0]=t[m>>0]|0;s=s+1|0;m=m+1|0}while((m|0)!=(p|0))}f[r>>2]=s}switch(a&176|0){case 32:{f[i>>2]=f[r>>2];break}case 16:break;default:f[i>>2]=e}return}function au(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0;A=c;c=c+176|0;w=A+56|0;T=A+52|0;M=A+64|0;p=A+61|0;E=A+60|0;C=A+40|0;L=A+28|0;R=A+16|0;h=A+12|0;k=A+68|0;y=A+8|0;g=A+4|0;m=A;e=sd(n)|0;f[T>>2]=e;_=0;v=pe(37,T|0,44220)|0;b=_;_=0;do{if(b&1)P=13;else{d=t[s>>0]|0;l=(d&1)==0;b=s+4|0;if(!((l?(d&255)>>>1:f[b>>2]|0)|0))d=0;else{l=t[(l?s+1|0:f[s+8>>2]|0)>>0]|0;_=0;o=pe(f[(f[v>>2]|0)+28>>2]|0,v|0,45)|0;d=_;_=0;if(d&1){P=13;break}d=l<<24>>24==o<<24>>24}f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;_=0;ve(3,r|0,d|0,T|0,M|0,p|0,E|0,C|0,L|0,R|0,h|0);u=_;_=0;if(!(u&1)){u=t[s>>0]|0;r=f[b>>2]|0;l=(u&1)==0?(u&255)>>>1:r;h=f[h>>2]|0;if((l|0)>(h|0)){x=t[R>>0]|0;o=t[L>>0]|0;l=(l-h<<1|1)+h+((x&1)==0?(x&255)>>>1:f[R+4>>2]|0)+((o&1)==0?(o&255)>>>1:f[L+4>>2]|0)|0}else{x=t[R>>0]|0;l=t[L>>0]|0;l=h+2+((x&1)==0?(x&255)>>>1:f[R+4>>2]|0)+((l&1)==0?(l&255)>>>1:f[L+4>>2]|0)|0}if(l>>>0>100){l=Lc(l)|0;o=l;if(!l){_=0;Se(6);x=_;_=0;if(!(x&1)){u=t[s>>0]|0;r=f[b>>2]|0;l=0;P=17}}else P=17}else{o=0;l=k;P=17}if((P|0)==17){x=(u&1)==0;s=x?s+1|0:f[s+8>>2]|0;_=0;we(1,l|0,y|0,g|0,f[n+4>>2]|0,s|0,s+(x?(u&255)>>>1:r)|0,v|0,d|0,M|0,t[p>>0]|0,t[E>>0]|0,C|0,L|0,R|0,h|0);x=_;_=0;if(!(x&1)?(f[m>>2]=f[i>>2],x=f[y>>2]|0,S=f[g>>2]|0,_=0,f[w>>2]=f[m>>2],S=he(39,w|0,l|0,x|0,S|0,n|0,a|0)|0,x=_,_=0,!(x&1)):0){if(o){Pc(o);e=f[T>>2]|0}Oh(R);Oh(L);Oh(C);bh(e)|0;c=A;return S|0}}l=ze()|0;if(o){Pc(o);e=f[T>>2]|0}}else l=ze()|0;Oh(R);Oh(L);Oh(C)}}while(0);if((P|0)==13)l=ze()|0;bh(e)|0;$e(l|0);return 0}function su(e){e=e|0;return}function lu(e){e=e|0;Ip(e);return}function ou(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=+s;var l=0,o=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0;R=c;c=c+992|0;g=R+8|0;l=R;h=R+888|0;d=R+880|0;o=R+480|0;P=R+76|0;S=R+884|0;M=R+72|0;T=R+68|0;x=R+56|0;B=R+44|0;O=R+32|0;b=R+28|0;p=R+80|0;A=R+24|0;E=R+20|0;y=R+16|0;f[d>>2]=h;u[g>>3]=s;h=Py(h,100,59018,g)|0;do{if(h>>>0>99){_=0;e=Me(3)|0;C=_;_=0;if(!(C&1)?(_=0,u[l>>3]=s,m=Ee(17,d|0,e|0,59018,l|0)|0,C=_,_=0,!(C&1)):0){e=f[d>>2]|0;if(!e){_=0;Se(6);C=_;_=0;if(C&1){e=0;l=0;C=7;break}e=f[d>>2]|0}o=Lc(m<<2)|0;l=o;if(!o){_=0;Se(6);C=_;_=0;if(C&1)C=7;else{v=0;C=10}}else{v=o;C=10}}else{e=0;l=0;C=7}}else{l=0;e=0;v=o;m=h;C=10}}while(0);if((C|0)==10){_=0;o=de(68,n|0)|0;w=_;_=0;if(w&1)C=7;else{f[P>>2]=o;_=0;w=pe(37,P|0,44212)|0;k=_;_=0;if(!(k&1)?(k=f[d>>2]|0,_=0,Ee(f[(f[w>>2]|0)+48>>2]|0,w|0,k|0,k+m|0,v|0)|0,k=_,_=0,!(k&1)):0){if(!m)k=0;else k=(t[f[d>>2]>>0]|0)==45;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;_=0;ve(4,r|0,k|0,P|0,S|0,M|0,T|0,x|0,B|0,O|0,b|0);r=_;_=0;if(!(r&1)){b=f[b>>2]|0;if((m|0)>(b|0)){r=t[O>>0]|0;h=t[B>>0]|0;h=(m-b<<1|1)+b+((r&1)==0?(r&255)>>>1:f[O+4>>2]|0)+((h&1)==0?(h&255)>>>1:f[B+4>>2]|0)|0}else{r=t[O>>0]|0;h=t[B>>0]|0;h=b+2+((r&1)==0?(r&255)>>>1:f[O+4>>2]|0)+((h&1)==0?(h&255)>>>1:f[B+4>>2]|0)|0}if(h>>>0>100){h=Lc(h<<2)|0;d=h;if(!h){_=0;Se(6);p=_;_=0;if(!(p&1)){h=0;C=26}}else C=26}else{d=0;h=p;C=26}if((C|0)==26){_=0;we(2,h|0,A|0,E|0,f[n+4>>2]|0,v|0,v+(m<<2)|0,w|0,k|0,S|0,f[M>>2]|0,f[T>>2]|0,x|0,B|0,O|0,b|0);T=_;_=0;if(!(T&1)?(f[y>>2]=f[i>>2],i=f[A>>2]|0,L=f[E>>2]|0,_=0,f[g>>2]=f[y>>2],L=he(40,g|0,h|0,i|0,L|0,n|0,a|0)|0,i=_,_=0,!(i&1)):0){if(d){Pc(d);o=f[P>>2]|0}Gh(O);Gh(B);Oh(x);bh(o)|0;if(l)Pc(l);if(e)Pc(e);c=R;return L|0}}h=ze()|0;if(d){Pc(d);o=f[P>>2]|0}}else h=ze()|0;Gh(O);Gh(B);Oh(x)}else h=ze()|0;bh(o)|0}}if((C|0)==7)h=ze()|0;if(l)Pc(l);if(e)Pc(e);$e(h|0);return 0}function uu(e,i,r,n,a,s,l,o,u,h){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;var d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0;T=c;c=c+112|0;d=T+108|0;b=T+96|0;m=T+92|0;v=T+80|0;p=T+68|0;g=T+56|0;y=T+52|0;M=T+40|0;E=T+36|0;A=T+24|0;k=T+12|0;w=T;do{if(e){e=Du(r,43956)|0;r=f[e>>2]|0;do{if(i){aM[f[r+44>>2]&127](d,e);i=f[d>>2]|0;t[n>>0]=i;t[n+1>>0]=i>>8;t[n+2>>0]=i>>16;t[n+3>>0]=i>>24;aM[f[(f[e>>2]|0)+32>>2]&127](b,e);if(!(t[u>>0]&1))t[u>>0]=0;else f[f[u+8>>2]>>2]=0;f[u+4>>2]=0;_=0;ce(93,u|0,0);n=_;_=0;if(n&1){u=ze(0)|0;Fi(u)}else{f[u>>2]=f[b>>2];f[u+4>>2]=f[b+4>>2];f[u+8>>2]=f[b+8>>2];f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;Gh(b);break}}else{aM[f[r+40>>2]&127](m,e);i=f[m>>2]|0;t[n>>0]=i;t[n+1>>0]=i>>8;t[n+2>>0]=i>>16;t[n+3>>0]=i>>24;aM[f[(f[e>>2]|0)+28>>2]&127](v,e);if(!(t[u>>0]&1))t[u>>0]=0;else f[f[u+8>>2]>>2]=0;f[u+4>>2]=0;_=0;ce(93,u|0,0);n=_;_=0;if(n&1){u=ze(0)|0;Fi(u)}else{f[u>>2]=f[v>>2];f[u+4>>2]=f[v+4>>2];f[u+8>>2]=f[v+8>>2];f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;Gh(v);break}}}while(0);f[a>>2]=lM[f[(f[e>>2]|0)+12>>2]&127](e)|0;f[s>>2]=lM[f[(f[e>>2]|0)+16>>2]&127](e)|0;aM[f[(f[e>>2]|0)+20>>2]&127](p,e);if(!(t[l>>0]&1)){t[l+1>>0]=0;t[l>>0]=0}else{t[f[l+8>>2]>>0]=0;f[l+4>>2]=0}_=0;ce(91,l|0,0);s=_;_=0;if(s&1){s=ze(0)|0;Fi(s)}f[l>>2]=f[p>>2];f[l+4>>2]=f[p+4>>2];f[l+8>>2]=f[p+8>>2];f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;Oh(p);aM[f[(f[e>>2]|0)+24>>2]&127](g,e);if(!(t[o>>0]&1))t[o>>0]=0;else f[f[o+8>>2]>>2]=0;f[o+4>>2]=0;_=0;ce(93,o|0,0);s=_;_=0;if(s&1){s=ze(0)|0;Fi(s)}else{f[o>>2]=f[g>>2];f[o+4>>2]=f[g+4>>2];f[o+8>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Gh(g);S=lM[f[(f[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Du(r,43892)|0;r=f[e>>2]|0;do{if(i){aM[f[r+44>>2]&127](y,e);i=f[y>>2]|0;t[n>>0]=i;t[n+1>>0]=i>>8;t[n+2>>0]=i>>16;t[n+3>>0]=i>>24;aM[f[(f[e>>2]|0)+32>>2]&127](M,e);if(!(t[u>>0]&1))t[u>>0]=0;else f[f[u+8>>2]>>2]=0;f[u+4>>2]=0;_=0;ce(93,u|0,0);n=_;_=0;if(n&1){u=ze(0)|0;Fi(u)}else{f[u>>2]=f[M>>2];f[u+4>>2]=f[M+4>>2];f[u+8>>2]=f[M+8>>2];f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;Gh(M);break}}else{aM[f[r+40>>2]&127](E,e);i=f[E>>2]|0;t[n>>0]=i;t[n+1>>0]=i>>8;t[n+2>>0]=i>>16;t[n+3>>0]=i>>24;aM[f[(f[e>>2]|0)+28>>2]&127](A,e);if(!(t[u>>0]&1))t[u>>0]=0;else f[f[u+8>>2]>>2]=0;f[u+4>>2]=0;_=0;ce(93,u|0,0);n=_;_=0;if(n&1){u=ze(0)|0;Fi(u)}else{f[u>>2]=f[A>>2];f[u+4>>2]=f[A+4>>2];f[u+8>>2]=f[A+8>>2];f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;Gh(A);break}}}while(0);f[a>>2]=lM[f[(f[e>>2]|0)+12>>2]&127](e)|0;f[s>>2]=lM[f[(f[e>>2]|0)+16>>2]&127](e)|0;aM[f[(f[e>>2]|0)+20>>2]&127](k,e);if(!(t[l>>0]&1)){t[l+1>>0]=0;t[l>>0]=0}else{t[f[l+8>>2]>>0]=0;f[l+4>>2]=0}_=0;ce(91,l|0,0);s=_;_=0;if(s&1){s=ze(0)|0;Fi(s)}f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2];f[l+8>>2]=f[k+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Oh(k);aM[f[(f[e>>2]|0)+24>>2]&127](w,e);if(!(t[o>>0]&1))t[o>>0]=0;else f[f[o+8>>2]>>2]=0;f[o+4>>2]=0;_=0;ce(93,o|0,0);s=_;_=0;if(s&1){s=ze(0)|0;Fi(s)}else{f[o>>2]=f[w>>2];f[o+4>>2]=f[w+4>>2];f[o+8>>2]=f[w+8>>2];f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;Gh(w);S=lM[f[(f[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);f[h>>2]=S;c=T;return}function cu(e,i,r,n,a,s,l,o,u,c,h,d,b,k,w){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;h=h|0;d=d|0;b=b|0;k=k|0;w=w|0;var _=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0;f[r>>2]=e;I=k+4|0;D=k+8|0;C=b+4|0;R=(n&512|0)==0;L=b+8|0;P=(w|0)>0;x=d+4|0;O=d+8|0;B=d+1|0;S=(w|0)>0;A=0;do{switch(t[u+A>>0]|0){case 0:{f[i>>2]=f[r>>2];break}case 1:{f[i>>2]=f[r>>2];M=kM[f[(f[l>>2]|0)+44>>2]&63](l,32)|0;E=f[r>>2]|0;f[r>>2]=E+4;f[E>>2]=M;break}case 3:{E=t[k>>0]|0;_=(E&1)==0;if((_?(E&255)>>>1:f[I>>2]|0)|0){M=f[(_?I:f[D>>2]|0)>>2]|0;E=f[r>>2]|0;f[r>>2]=E+4;f[E>>2]=M}break}case 2:{g=t[b>>0]|0;_=(g&1)==0;g=_?(g&255)>>>1:f[C>>2]|0;if(!(R|(g|0)==0)){_=_?C:f[L>>2]|0;v=_+(g<<2)|0;p=f[r>>2]|0;if(g){m=p;while(1){f[m>>2]=f[_>>2];_=_+4|0;if((_|0)==(v|0))break;else m=m+4|0}}f[r>>2]=p+(g<<2)}break}case 4:{_=f[r>>2]|0;a=o?a+4|0:a;e:do{if(a>>>0>>0){m=a;do{if(!(uM[f[(f[l>>2]|0)+12>>2]&63](l,2048,f[m>>2]|0)|0))break e;m=m+4|0}while(m>>>0>>0)}else m=a}while(0);if(P){if(m>>>0>a>>>0&S){g=f[r>>2]|0;p=w;while(1){m=m+-4|0;v=g+4|0;f[g>>2]=f[m>>2];y=p+-1|0;p=(p|0)>1;if(m>>>0>a>>>0&p){g=v;p=y}else{g=y;break}}f[r>>2]=v;v=g}else{p=S;v=w}if(p)y=kM[f[(f[l>>2]|0)+44>>2]&63](l,48)|0;else y=0;M=f[r>>2]|0;p=v+((v|0)<0?~v:-1)|0;if((v|0)>0){g=M;while(1){f[g>>2]=y;if((v|0)>1){g=g+4|0;v=v+-1|0}else break}}f[r>>2]=M+(p+2<<2);f[M+(p+1<<2)>>2]=c}if((m|0)==(a|0)){M=kM[f[(f[l>>2]|0)+44>>2]&63](l,48)|0;E=f[r>>2]|0;m=E+4|0;f[r>>2]=m;f[E>>2]=M}else{M=t[d>>0]|0;v=(M&1)==0;E=f[x>>2]|0;if(!((v?(M&255)>>>1:E)|0))v=-1;else v=t[(v?B:f[O>>2]|0)>>0]|0;if((m|0)!=(a|0)){y=0;M=0;while(1){p=f[r>>2]|0;if((M|0)==(v|0)){g=p+4|0;f[r>>2]=g;f[p>>2]=h;y=y+1|0;p=t[d>>0]|0;v=(p&1)==0;if(y>>>0<(v?(p&255)>>>1:E)>>>0){v=t[(v?B:f[O>>2]|0)+y>>0]|0;p=g;v=v<<24>>24==127?-1:v<<24>>24;g=0}else{p=g;v=M;g=0}}else g=M;m=m+-4|0;M=f[m>>2]|0;f[r>>2]=p+4;f[p>>2]=M;if((m|0)==(a|0))break;else M=g+1|0}}m=f[r>>2]|0}if((_|0)!=(m|0)?(T=m+-4|0,_>>>0>>0):0){m=T;do{E=f[_>>2]|0;f[_>>2]=f[m>>2];f[m>>2]=E;_=_+4|0;m=m+-4|0}while(_>>>0>>0)}break}default:{}}A=A+1|0}while((A|0)!=4);_=t[k>>0]|0;a=(_&1)==0;_=a?(_&255)>>>1:f[I>>2]|0;if(_>>>0>1){m=a?I:f[D>>2]|0;a=m+4|0;m=m+(_<<2)|0;v=f[r>>2]|0;p=m-a|0;if((_|0)!=1){_=v;while(1){f[_>>2]=f[a>>2];a=a+4|0;if((a|0)==(m|0))break;else _=_+4|0}}f[r>>2]=v+(p>>>2<<2)}switch(n&176|0){case 32:{f[i>>2]=f[r>>2];break}case 16:break;default:f[i>>2]=e}return}function hu(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0;A=c;c=c+480|0;k=A+468|0;T=A+464|0;M=A+472|0;p=A+56|0;E=A+52|0;C=A+40|0;L=A+28|0;R=A+16|0;h=A+12|0;b=A+64|0;y=A+8|0;g=A+4|0;w=A;e=sd(n)|0;f[T>>2]=e;_=0;m=pe(37,T|0,44212)|0;v=_;_=0;do{if(v&1)P=13;else{d=t[s>>0]|0;l=(d&1)==0;v=s+4|0;if(!((l?(d&255)>>>1:f[v>>2]|0)|0))d=0;else{l=f[(l?v:f[s+8>>2]|0)>>2]|0;_=0;o=pe(f[(f[m>>2]|0)+44>>2]|0,m|0,45)|0;d=_;_=0;if(d&1){P=13;break}d=(l|0)==(o|0)}f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;_=0;ve(4,r|0,d|0,T|0,M|0,p|0,E|0,C|0,L|0,R|0,h|0);u=_;_=0;if(!(u&1)){u=t[s>>0]|0;r=f[v>>2]|0;l=(u&1)==0?(u&255)>>>1:r;h=f[h>>2]|0;if((l|0)>(h|0)){x=t[R>>0]|0;o=t[L>>0]|0;l=(l-h<<1|1)+h+((x&1)==0?(x&255)>>>1:f[R+4>>2]|0)+((o&1)==0?(o&255)>>>1:f[L+4>>2]|0)|0}else{x=t[R>>0]|0;l=t[L>>0]|0;l=h+2+((x&1)==0?(x&255)>>>1:f[R+4>>2]|0)+((l&1)==0?(l&255)>>>1:f[L+4>>2]|0)|0}if(l>>>0>100){l=Lc(l<<2)|0;o=l;if(!l){_=0;Se(6);x=_;_=0;if(!(x&1)){u=t[s>>0]|0;r=f[v>>2]|0;l=0;P=17}}else P=17}else{o=0;l=b;P=17}if((P|0)==17){x=(u&1)==0;s=x?v:f[s+8>>2]|0;_=0;we(2,l|0,y|0,g|0,f[n+4>>2]|0,s|0,s+((x?(u&255)>>>1:r)<<2)|0,m|0,d|0,M|0,f[p>>2]|0,f[E>>2]|0,C|0,L|0,R|0,h|0);x=_;_=0;if(!(x&1)?(f[w>>2]=f[i>>2],x=f[y>>2]|0,S=f[g>>2]|0,_=0,f[k>>2]=f[w>>2],S=he(40,k|0,l|0,x|0,S|0,n|0,a|0)|0,x=_,_=0,!(x&1)):0){if(o){Pc(o);e=f[T>>2]|0}Gh(R);Gh(L);Oh(C);bh(e)|0;c=A;return S|0}}l=ze()|0;if(o){Pc(o);e=f[T>>2]|0}}else l=ze()|0;Gh(R);Gh(L);Oh(C)}}while(0);if((P|0)==13)l=ze()|0;bh(e)|0;$e(l|0);return 0}function du(e){e=e|0;return}function bu(e){e=e|0;Ip(e);return}function ku(e,i,r){e=e|0;i=i|0;r=r|0;e=qg((t[i>>0]&1)==0?i+1|0:f[i+8>>2]|0,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function wu(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0;o=c;c=c+16|0;u=o;f[u>>2]=0;f[u+4>>2]=0;f[u+8>>2]=0;l=t[s>>0]|0;h=(l&1)==0;i=h?s+1|0:f[s+8>>2]|0;l=h?(l&255)>>>1:f[s+4>>2]|0;s=i+l|0;e:do{if((l|0)>0){while(1){_=0;ce(67,u|0,t[i>>0]|0);h=_;_=0;if(h&1)break;i=i+1|0;if(i>>>0>=s>>>0){l=4;break e}}i=ze()|0;l=7}else l=4}while(0);e:do{if((l|0)==4){_=0;i=Ee(19,((r|0)==-1?-1:r<<1)|0,n|0,a|0,((t[u>>0]&1)==0?u+1|0:f[u+8>>2]|0)|0)|0;h=_;_=0;if(h&1){i=ze()|0;l=7;break}f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=Vy(i)|0;s=i+h|0;i:do{if((h|0)>0){while(1){_=0;ce(67,e|0,t[i>>0]|0);h=_;_=0;if(h&1)break;i=i+1|0;if(i>>>0>=s>>>0)break i}i=ze()|0;Oh(e);break e}}while(0);Oh(u);c=o;return}}while(0);Oh(u);$e(i|0)}function _u(e,i){e=e|0;i=i|0;return}function mu(e){e=e|0;return}function vu(e){e=e|0;Ip(e);return}function pu(e,i,r){e=e|0;i=i|0;r=r|0;e=qg((t[i>>0]&1)==0?i+1|0:f[i+8>>2]|0,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function gu(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0;y=c;c=c+224|0;b=y+184|0;d=y+192|0;h=y+180|0;k=y+176|0;p=y+168|0;v=y+40|0;m=y+32|0;g=y+28|0;M=y+16|0;u=y+8|0;w=y;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[u+4>>2]=0;f[u>>2]=44696;o=t[s>>0]|0;E=(o&1)==0;l=s+4|0;i=E?l:f[s+8>>2]|0;s=E?(o&255)>>>1:f[l>>2]|0;l=i+(s<<2)|0;o=d+32|0;e:do{if((s|0)>0){i:while(1){f[k>>2]=i;_=0;s=Te(f[(f[u>>2]|0)+12>>2]|0,u|0,b|0,i|0,l|0,k|0,d|0,o|0,h|0)|0;E=_;_=0;if(E&1){s=12;break}if((s|0)==2?1:(f[k>>2]|0)==(i|0)){s=5;break}if(d>>>0<(f[h>>2]|0)>>>0){i=d;do{_=0;ce(67,M|0,t[i>>0]|0);E=_;_=0;if(E&1){s=11;break i}i=i+1|0}while(i>>>0<(f[h>>2]|0)>>>0)}i=f[k>>2]|0;if(!((s|0)!=2&i>>>0>>0)){s=9;break e}}if((s|0)==5){_=0;ue(190,58955);_=0;i=ze()|0}else if((s|0)==11)i=ze()|0;else if((s|0)==12)i=ze()|0}else s=9}while(0);e:do{if((s|0)==9){_=0;i=Ee(19,((r|0)==-1?-1:r<<1)|0,n|0,a|0,((t[M>>0]&1)==0?M+1|0:f[M+8>>2]|0)|0)|0;E=_;_=0;if(E&1){i=ze()|0;break}f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[w+4>>2]=0;f[w>>2]=44744;E=Vy(i)|0;l=i+E|0;o=l;u=v+128|0;i:do{if((E|0)>0){r:while(1){f[g>>2]=i;_=0;s=Te(f[(f[w>>2]|0)+16>>2]|0,w|0,p|0,i|0,((o-i|0)>32?i+32|0:l)|0,g|0,v|0,u|0,m|0)|0;E=_;_=0;if(E&1){s=24;break}if((s|0)==2?1:(f[g>>2]|0)==(i|0)){s=18;break}if(v>>>0<(f[m>>2]|0)>>>0){i=v;do{_=0;ce(92,e|0,f[i>>2]|0);E=_;_=0;if(E&1){s=23;break r}i=i+4|0}while(i>>>0<(f[m>>2]|0)>>>0)}i=f[g>>2]|0;if(!((s|0)!=2&i>>>0>>0))break i}if((s|0)==18){_=0;ue(190,58955);_=0;i=ze()|0}else if((s|0)==23)i=ze()|0;else if((s|0)==24)i=ze()|0;Gh(e);break e}}while(0);Oh(M);c=y;return}}while(0);Oh(M);$e(i|0)}function yu(e,i){e=e|0;i=i|0;return}function Mu(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0;f[e+4>>2]=i+-1;f[e>>2]=44196;s=e+8|0;_=0;ce(94,s|0,28);a=_;_=0;if(a&1)i=ze()|0;else{a=e+144|0;_=0;Ae(5,a|0,58885,1);n=_;_=0;if(n&1)i=ze()|0;else{r=f[s>>2]|0;n=e+12|0;i=f[n>>2]|0;if((i|0)!=(r|0)){do{i=i+-4|0}while((i|0)!=(r|0));f[n>>2]=i}f[495]=0;f[494]=43124;_=0;ce(95,e|0,1976);n=_;_=0;do{if(((((((((((((!(n&1)?(f[497]=0,f[496]=43164,_=0,ce(96,e|0,1984),n=_,_=0,!(n&1)):0)?(f[499]=0,f[498]=44236,f[500]=0,t[2004]=0,f[500]=zu()|0,_=0,ce(97,e|0,1992),n=_,_=0,!(n&1)):0)?(f[503]=0,f[502]=44484,_=0,ce(98,e|0,2008),n=_,_=0,!(n&1)):0)?(f[505]=0,f[504]=44552,_=0,ce(99,e|0,2016),n=_,_=0,!(n&1)):0)?(_=0,ce(100,2024,1),n=_,_=0,!(n&1)):0)?(_=0,ce(101,e|0,2024),n=_,_=0,!(n&1)):0)?(f[511]=0,f[510]=44600,_=0,ce(102,e|0,2040),n=_,_=0,!(n&1)):0)?(f[513]=0,f[512]=44648,_=0,ce(103,e|0,2048),n=_,_=0,!(n&1)):0)?(fw(2056,1),_=0,ce(104,e|0,2056),n=_,_=0,!(n&1)):0)?(aw(2080,1),_=0,ce(105,e|0,2080),n=_,_=0,!(n&1)):0)?(f[529]=0,f[528]=43204,_=0,ce(106,e|0,2112),n=_,_=0,!(n&1)):0)?(f[531]=0,f[530]=43276,_=0,ce(107,e|0,2120),n=_,_=0,!(n&1)):0)?(f[533]=0,f[532]=43348,_=0,ce(108,e|0,2128),n=_,_=0,!(n&1)):0){f[535]=0;f[534]=43408;_=0;ce(109,e|0,2136);n=_;_=0;if(n&1){l=42;break}f[537]=0;f[536]=43716;_=0;ce(110,e|0,2144);n=_;_=0;if(n&1){l=42;break}f[539]=0;f[538]=43780;_=0;ce(111,e|0,2152);n=_;_=0;if(n&1){l=42;break}f[541]=0;f[540]=43844;_=0;ce(112,e|0,2160);n=_;_=0;if(n&1){l=42;break}f[543]=0;f[542]=43908;_=0;ce(113,e|0,2168);n=_;_=0;if(n&1){l=42;break}f[545]=0;f[544]=43972;_=0;ce(114,e|0,2176);n=_;_=0;if(n&1){l=42;break}f[547]=0;f[546]=44008;_=0;ce(115,e|0,2184);n=_;_=0;if(n&1){l=42;break}f[549]=0;f[548]=44044;_=0;ce(116,e|0,2192);n=_;_=0;if(n&1){l=42;break}f[551]=0;f[550]=44080;_=0;ce(117,e|0,2200);n=_;_=0;if(n&1){l=42;break}f[553]=0;f[552]=43468;f[554]=43516;_=0;ce(118,e|0,2208);n=_;_=0;if(n&1){l=42;break}f[557]=0;f[556]=43560;f[558]=43608;_=0;ce(119,e|0,2224);n=_;_=0;if(n&1){l=42;break}f[561]=0;f[560]=44464;_=0;i=Me(3)|0;n=_;_=0;if(n&1){i=ze()|0;break}f[562]=i;f[560]=43652;_=0;ce(120,e|0,2240);n=_;_=0;if(n&1){l=42;break}f[565]=0;f[564]=44464;_=0;i=Me(3)|0;n=_;_=0;if(n&1){i=ze()|0;break}f[566]=i;f[564]=43684;_=0;ce(121,e|0,2256);l=_;_=0;if(l&1){l=42;break}f[569]=0;f[568]=44116;_=0;ce(122,e|0,2272);l=_;_=0;if(l&1){l=42;break}f[571]=0;f[570]=44156;_=0;ce(123,e|0,2280);l=_;_=0;if(l&1){l=42;break}return}else l=42}while(0);if((l|0)==42)i=ze()|0;Oh(a)}Y_(s)}$e(i|0)}function Eu(){var e=0;do{if((t[2288]|0)==0?(De(2288)|0)!=0:0){_=0;Me(4)|0;e=_;_=0;if(e&1){e=ze()|0;gi(2288);$e(e|0)}else{f[11246]=44980;qe(2288);break}}}while(0);return f[11246]|0}function Au(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;dh(i);n=e+8|0;t=f[n>>2]|0;do{if((f[e+12>>2]|0)-t>>2>>>0<=r>>>0){_=0;ce(124,n|0,r+1|0);e=_;_=0;if(!(e&1)){t=f[n>>2]|0;break}t=ze()|0;if(i)bh(i)|0;$e(t|0)}}while(0);e=f[t+(r<<2)>>2]|0;if(e){bh(e)|0;t=f[n>>2]|0}f[t+(r<<2)>>2]=i;return}function Su(e){e=e|0;var i=0,r=0,t=0,n=0;f[e>>2]=44196;t=e+8|0;n=e+12|0;i=f[t>>2]|0;if((f[n>>2]|0)!=(i|0)){r=0;do{i=f[i+(r<<2)>>2]|0;if(i)bh(i)|0;r=r+1|0;i=f[t>>2]|0}while(r>>>0<(f[n>>2]|0)-i>>2>>>0)}Oh(e+144|0);Y_(t);return}function Tu(e){e=e|0;Su(e);Ip(e);return}function Cu(e,i){e=e|0;i=i|0;if(X_(e,i)|0)return f[(f[e+8>>2]|0)+(i<<2)>>2]|0;else{e=He(4)|0;Wp(e);bi(e|0,640,82)}return 0}function Ru(){Mu(2296,1);f[11245]=2296;return 44980}function Lu(){var e=0;e=f[(Eu()|0)>>2]|0;f[11247]=e;dh(e);return 44988}function Pu(){var e=0;do{if((t[2456]|0)==0?(De(2456)|0)!=0:0){_=0;Me(5)|0;e=_;_=0;if(e&1){e=ze()|0;gi(2456);$e(e|0)}else{f[11248]=44988;qe(2456);break}}}while(0);return f[11248]|0}function xu(e){e=e|0;var i=0,r=0;_=0;i=Me(6)|0;r=_;_=0;if(r&1){r=ze(0)|0;Fi(r)}else{r=f[i>>2]|0;f[e>>2]=r;dh(r);return}}function Ou(e,i){e=e|0;i=i|0;i=f[i>>2]|0;f[e>>2]=i;dh(i);return}function Bu(e){e=e|0;bh(f[e>>2]|0)|0;return}function Iu(e){e=e|0;var i=0,r=0;r=c;c=c+16|0;i=r;if((f[e>>2]|0)!=-1){f[i>>2]=e;f[i+4>>2]=191;f[i+8>>2]=0;Rh(e,i,192)}c=r;return(f[e+4>>2]|0)+-1|0}function Du(e,i){e=e|0;i=i|0;e=f[e>>2]|0;return Cu(e,Iu(i)|0)|0}function Nu(e){e=e|0;Ip(e);return}function Fu(e){e=e|0;if(e)fM[f[(f[e>>2]|0)+4>>2]&255](e);return}function Uu(e){e=e|0;var i=0;i=f[11052]|0;f[11052]=i+1;f[e+4>>2]=i+1;return}function ju(e){e=e|0;Ip(e);return}function Hu(e,i,r){e=e|0;i=i|0;r=r|0;if(r>>>0<128)r=(n[(zu()|0)+(r<<1)>>1]&i)<<16>>16!=0;else r=0;return r|0}function zu(){var e=0,i=0;_=0;e=Me(7)|0;i=_;_=0;if(i&1){i=ze(0)|0;Fi(i)}else return f[e>>2]|0;return 0}function Yu(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var a=0,l=0;l=(r-i|0)>>>2;if((i|0)!=(r|0)){a=i;while(1){e=f[a>>2]|0;if(e>>>0<128)e=s[(zu()|0)+(e<<1)>>1]|0;else e=0;n[t>>1]=e;a=a+4|0;if((a|0)==(r|0))break;else t=t+2|0}}return i+(l<<2)|0}function qu(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e:do{if((r|0)==(t|0))r=t;else while(1){e=f[r>>2]|0;if(e>>>0<128?(n[(zu()|0)+(e<<1)>>1]&i)<<16>>16!=0:0)break e;r=r+4|0;if((r|0)==(t|0)){r=t;break}}}while(0);return r|0}function Xu(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e:do{if((r|0)==(t|0))r=t;else while(1){e=f[r>>2]|0;if(e>>>0>=128)break e;if(!((n[(zu()|0)+(e<<1)>>1]&i)<<16>>16))break e;r=r+4|0;if((r|0)==(t|0)){r=t;break}}}while(0);return r|0}function Vu(e,i){e=e|0;i=i|0;if(i>>>0<128)i=f[(Gu()|0)+(i<<2)>>2]|0;return i|0}function Gu(){var e=0,i=0;_=0;e=Me(8)|0;i=_;_=0;if(i&1){i=ze(0)|0;Fi(i)}else return f[e>>2]|0;return 0}function Ku(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=(r-i|0)>>>2;if((i|0)!=(r|0)){t=i;do{e=f[t>>2]|0;if(e>>>0<128)e=f[(Gu()|0)+(e<<2)>>2]|0;f[t>>2]=e;t=t+4|0}while((t|0)!=(r|0))}return i+(n<<2)|0}function Wu(e,i){e=e|0;i=i|0;if(i>>>0<128)i=f[(Zu()|0)+(i<<2)>>2]|0;return i|0}function Zu(){var e=0,i=0;_=0;e=Me(9)|0;i=_;_=0;if(i&1){i=ze(0)|0;Fi(i)}else return f[e>>2]|0;return 0}function Ju(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=(r-i|0)>>>2;if((i|0)!=(r|0)){t=i;do{e=f[t>>2]|0;if(e>>>0<128)e=f[(Zu()|0)+(e<<2)>>2]|0;f[t>>2]=e;t=t+4|0}while((t|0)!=(r|0))}return i+(n<<2)|0}function Qu(e,i){e=e|0;i=i|0;return i<<24>>24|0}function $u(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;if((i|0)!=(r|0))while(1){f[n>>2]=t[i>>0];i=i+1|0;if((i|0)==(r|0))break;else n=n+4|0}return r|0}function ec(e,i,r){e=e|0;i=i|0;r=r|0;return(i>>>0<128?i&255:r)|0}function ic(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=(r-i|0)>>>2;if((i|0)!=(r|0)){s=i;e=a;while(1){a=f[s>>2]|0;t[e>>0]=a>>>0<128?a&255:n;s=s+4|0;if((s|0)==(r|0))break;else e=e+1|0}}return i+(l<<2)|0}function rc(e){e=e|0;var i=0;f[e>>2]=44236;i=f[e+8>>2]|0;if((i|0)!=0?(t[e+12>>0]|0)!=0:0)Dp(i);return}function tc(e){e=e|0;rc(e);Ip(e);return}function nc(e,i){e=e|0;i=i|0;if(i<<24>>24>-1)i=f[(Gu()|0)+((i&255)<<2)>>2]&255;return i|0}function fc(e,i,r){e=e|0;i=i|0;r=r|0;if((i|0)!=(r|0)){e=i;do{i=t[e>>0]|0;if(i<<24>>24>-1)i=f[(Gu()|0)+(i<<24>>24<<2)>>2]&255;t[e>>0]=i;e=e+1|0}while((e|0)!=(r|0))}return r|0}function ac(e,i){e=e|0;i=i|0;if(i<<24>>24>-1)i=f[(Zu()|0)+(i<<24>>24<<2)>>2]&255;return i|0}function sc(e,i,r){e=e|0;i=i|0;r=r|0;if((i|0)!=(r|0)){e=i;do{i=t[e>>0]|0;if(i<<24>>24>-1)i=f[(Zu()|0)+(i<<24>>24<<2)>>2]&255;t[e>>0]=i;e=e+1|0}while((e|0)!=(r|0))}return r|0}function lc(e,i){e=e|0;i=i|0;return i|0}function oc(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;if((i|0)!=(r|0))while(1){t[n>>0]=t[i>>0]|0;i=i+1|0;if((i|0)==(r|0))break;else n=n+1|0}return r|0}function uc(e,i,r){e=e|0;i=i|0;r=r|0;return(i<<24>>24>-1?i:r)|0}function cc(e,i,r,n,f){e=e|0;i=i|0;r=r|0;n=n|0;f=f|0;if((i|0)!=(r|0))while(1){e=t[i>>0]|0;t[f>>0]=e<<24>>24>-1?e:n;i=i+1|0;if((i|0)==(r|0))break;else f=f+1|0}return r|0}function hc(e){e=e|0;Ip(e);return}function dc(e,i,r,t,n,a,s,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;f[n>>2]=r;f[l>>2]=a;return 3}function bc(e,i,r,t,n,a,s,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;f[n>>2]=r;f[l>>2]=a;return 3}function kc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f[n>>2]=r;return 3}function wc(e){e=e|0;return 1}function _c(e){e=e|0;return 1}function mc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;e=t-r|0;return(e>>>0>>0?e:n)|0}function vc(e){e=e|0;return 1}function pc(e,i){e=e|0;i=i|0;var r=0;f[e+4>>2]=i+-1;f[e>>2]=44304;_=0;i=Me(3)|0;r=_;_=0;if(r&1){r=ze()|0;$e(r|0)}else{f[e+8>>2]=i;return}}function gc(e){e=e|0;Dw(e);Ip(e);return}function yc(e,i,r,s,l){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;var o=0,h=0,b=0,k=0,w=0.0,_=0,m=0,v=0,p=0,g=0.0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,H=0,z=0,Y=0,q=0,X=0,V=0,G=0,K=0,W=0,Z=0,J=0,Q=0,$=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,se=0;se=c;c=c+624|0;ie=se+24|0;ne=se+16|0;te=se+588|0;Z=se+576|0;ee=se;G=se+536|0;ae=se+8|0;fe=se+528|0;F=(e|0)!=0;U=G+40|0;V=U;G=G+39|0;K=ae+4|0;W=Z+12|0;Z=Z+11|0;J=te;Q=W;$=Q-J|0;j=-2-J|0;H=Q+2|0;z=ie+288|0;Y=te+9|0;q=Y;X=te+8|0;o=0;y=i;h=0;i=0;e:while(1){do{if((o|0)>-1)if((h|0)>(2147483647-o|0)){f[(Ig()|0)>>2]=75;o=-1;break}else{o=h+o|0;break}}while(0);h=t[y>>0]|0;if(!(h<<24>>24)){N=245;break}else b=y;i:while(1){switch(h<<24>>24){case 37:{h=b;N=9;break i}case 0:{h=b;break i}default:{}}D=b+1|0;h=t[D>>0]|0;b=D}i:do{if((N|0)==9)while(1){N=0;if((t[h+1>>0]|0)!=37)break i;b=b+1|0;h=h+2|0;if((t[h>>0]|0)==37)N=9;else break}}while(0);E=b-y|0;if(F?(f[e>>2]&32|0)==0:0)Cy(y,E,e)|0;if((b|0)!=(y|0)){y=h;h=E;continue}_=h+1|0;b=t[_>>0]|0;k=(b<<24>>24)+-48|0;if(k>>>0<10){D=(t[h+2>>0]|0)==36;_=D?h+3|0:_;b=t[_>>0]|0;p=D?k:-1;i=D?1:i}else p=-1;h=b<<24>>24;i:do{if((h&-32|0)==32){k=0;while(1){if(!(1<>24)+-32|k;_=_+1|0;b=t[_>>0]|0;h=b<<24>>24;if((h&-32|0)!=32){m=k;h=_;break}}}else{m=0;h=_}}while(0);do{if(b<<24>>24==42){k=h+1|0;b=(t[k>>0]|0)+-48|0;if(b>>>0<10?(t[h+2>>0]|0)==36:0){f[l+(b<<2)>>2]=10;i=1;h=h+3|0;b=f[s+((t[k>>0]|0)+-48<<3)>>2]|0}else{if(i){o=-1;break e}if(!F){M=m;h=k;i=0;D=0;break}i=(f[r>>2]|0)+(4-1)&~(4-1);b=f[i>>2]|0;f[r>>2]=i+4;i=0;h=k}if((b|0)<0){M=m|8192;D=0-b|0}else{M=m;D=b}}else{k=(b<<24>>24)+-48|0;if(k>>>0<10){b=0;do{b=(b*10|0)+k|0;h=h+1|0;k=(t[h>>0]|0)+-48|0}while(k>>>0<10);if((b|0)<0){o=-1;break e}else{M=m;D=b}}else{M=m;D=0}}}while(0);i:do{if((t[h>>0]|0)==46){k=h+1|0;b=t[k>>0]|0;if(b<<24>>24!=42){_=(b<<24>>24)+-48|0;if(_>>>0<10){h=k;b=0}else{h=k;_=0;break}while(1){b=(b*10|0)+_|0;h=h+1|0;_=(t[h>>0]|0)+-48|0;if(_>>>0>=10){_=b;break i}}}k=h+2|0;b=(t[k>>0]|0)+-48|0;if(b>>>0<10?(t[h+3>>0]|0)==36:0){f[l+(b<<2)>>2]=10;h=h+4|0;_=f[s+((t[k>>0]|0)+-48<<3)>>2]|0;break}if(i){o=-1;break e}if(F){h=(f[r>>2]|0)+(4-1)&~(4-1);_=f[h>>2]|0;f[r>>2]=h+4;h=k}else{h=k;_=0}}else _=-1}while(0);v=0;while(1){b=(t[h>>0]|0)+-65|0;if(b>>>0>57){o=-1;break e}k=h+1|0;b=t[56223+(v*58|0)+b>>0]|0;m=b&255;if((m+-1|0)>>>0<8){h=k;v=m}else{I=k;break}}if(!(b<<24>>24)){o=-1;break}k=(p|0)>-1;do{if(b<<24>>24==19)if(k){o=-1;break e}else N=52;else{if(k){f[l+(p<<2)>>2]=m;O=s+(p<<3)|0;B=f[O+4>>2]|0;N=ee;f[N>>2]=f[O>>2];f[N+4>>2]=B;N=52;break}if(!F){o=0;break e}Tc(ee,m,r)}}while(0);if((N|0)==52?(N=0,!F):0){y=I;h=E;continue}p=t[h>>0]|0;p=(v|0)!=0&(p&15|0)==3?p&-33:p;k=M&-65537;B=(M&8192|0)==0?M:k;i:do{switch(p|0){case 110:switch(v|0){case 0:{f[f[ee>>2]>>2]=o;y=I;h=E;continue e}case 1:{f[f[ee>>2]>>2]=o;y=I;h=E;continue e}case 2:{y=f[ee>>2]|0;f[y>>2]=o;f[y+4>>2]=((o|0)<0)<<31>>31;y=I;h=E;continue e}case 3:{n[f[ee>>2]>>1]=o;y=I;h=E;continue e}case 4:{t[f[ee>>2]>>0]=o;y=I;h=E;continue e}case 6:{f[f[ee>>2]>>2]=o;y=I;h=E;continue e}case 7:{y=f[ee>>2]|0;f[y>>2]=o;f[y+4>>2]=((o|0)<0)<<31>>31;y=I;h=E;continue e}default:{y=I;h=E;continue e}}case 112:{v=B|8;_=_>>>0>8?_:8;p=120;N=64;break}case 88:case 120:{v=B;N=64;break}case 111:{k=ee;b=f[k>>2]|0;k=f[k+4>>2]|0;if((b|0)==0&(k|0)==0)h=U;else{h=U;do{h=h+-1|0;t[h>>0]=b&7|48;b=Em(b|0,k|0,3)|0;k=x}while(!((b|0)==0&(k|0)==0))}if(!(B&8)){b=B;v=0;m=56703;N=77}else{v=V-h+1|0;b=B;_=(_|0)<(v|0)?v:_;v=0;m=56703;N=77}break}case 105:case 100:{b=ee;h=f[b>>2]|0;b=f[b+4>>2]|0;if((b|0)<0){h=gm(0,0,h|0,b|0)|0;b=x;k=ee;f[k>>2]=h;f[k+4>>2]=b;k=1;m=56703;N=76;break i}if(!(B&2048)){m=B&1;k=m;m=(m|0)==0?56703:56705;N=76}else{k=1;m=56704;N=76}break}case 117:{b=ee;h=f[b>>2]|0;b=f[b+4>>2]|0;k=0;m=56703;N=76;break}case 99:{t[G>>0]=f[ee>>2];y=G;b=1;v=0;p=56703;h=U;break}case 109:{h=Dg(f[(Ig()|0)>>2]|0)|0;N=82;break}case 115:{h=f[ee>>2]|0;h=(h|0)!=0?h:56713;N=82;break}case 67:{f[ae>>2]=f[ee>>2];f[K>>2]=0;f[ee>>2]=ae;_=-1;N=86;break}case 83:{if(!_){Rc(e,32,D,0,B);h=0;N=98}else N=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{w=+u[ee>>3];f[ne>>2]=0;u[d>>3]=w;if((f[d+4>>2]|0)>=0)if(!(B&2048)){O=B&1;P=O;O=(O|0)==0?56721:56726}else{P=1;O=56723}else{w=-w;P=1;O=56720}u[d>>3]=w;L=f[d+4>>2]&2146435072;do{if(L>>>0<2146435072|(L|0)==2146435072&0<0){g=+iy(w,ne)*2.0;b=g!=0.0;if(b)f[ne>>2]=(f[ne>>2]|0)+-1;C=p|32;if((C|0)==97){y=p&32;E=(y|0)==0?O:O+9|0;M=P|2;h=12-_|0;do{if(!(_>>>0>11|(h|0)==0)){w=8.0;do{h=h+-1|0;w=w*16.0}while((h|0)!=0);if((t[E>>0]|0)==45){w=-(w+(-g-w));break}else{w=g+w-w;break}}else w=g}while(0);b=f[ne>>2]|0;h=(b|0)<0?0-b|0:b;h=Cc(h,((h|0)<0)<<31>>31,W)|0;if((h|0)==(W|0)){t[Z>>0]=48;h=Z}t[h+-1>>0]=(b>>31&2)+43;v=h+-2|0;t[v>>0]=p+15;m=(_|0)<1;k=(B&8|0)==0;b=te;while(1){O=~~w;h=b+1|0;t[b>>0]=a[56687+O>>0]|y;w=(w-+(O|0))*16.0;do{if((h-J|0)==1){if(k&(m&w==0.0))break;t[h>>0]=46;h=b+2|0}}while(0);if(!(w!=0.0))break;else b=h}_=(_|0)!=0&(j+h|0)<(_|0)?H+_-v|0:$-v+h|0;k=_+M|0;Rc(e,32,D,k,B);if(!(f[e>>2]&32))Cy(E,M,e)|0;Rc(e,48,D,k,B^65536);h=h-J|0;if(!(f[e>>2]&32))Cy(te,h,e)|0;b=Q-v|0;Rc(e,48,_-(h+b)|0,0,0);if(!(f[e>>2]&32))Cy(v,b,e)|0;Rc(e,32,D,k,B^8192);h=(k|0)<(D|0)?D:k;break}h=(_|0)<0?6:_;if(b){b=(f[ne>>2]|0)+-28|0;f[ne>>2]=b;w=g*268435456.0}else{w=g;b=f[ne>>2]|0}L=(b|0)<0?ie:z;R=L;b=L;do{T=~~w>>>0;f[b>>2]=T;b=b+4|0;w=(w-+(T>>>0))*1.0e9}while(w!=0.0);k=b;b=f[ne>>2]|0;if((b|0)>0){m=L;while(1){v=(b|0)>29?29:b;_=k+-4|0;do{if(_>>>0>>0)_=m;else{b=0;do{T=Sm(f[_>>2]|0,0,v|0)|0;T=Mm(T|0,x|0,b|0,0)|0;b=x;S=Im(T|0,b|0,1e9,0)|0;f[_>>2]=S;b=Bm(T|0,b|0,1e9,0)|0;_=_+-4|0}while(_>>>0>=m>>>0);if(!b){_=m;break}_=m+-4|0;f[_>>2]=b}}while(0);while(1){if(k>>>0<=_>>>0)break;b=k+-4|0;if(!(f[b>>2]|0))k=b;else break}b=(f[ne>>2]|0)-v|0;f[ne>>2]=b;if((b|0)>0)m=_;else break}}else _=L;if((b|0)<0){E=((h+25|0)/9|0)+1|0;A=(C|0)==102;y=_;while(1){M=0-b|0;M=(M|0)>9?9:M;do{if(y>>>0>>0){b=(1<>>M;_=0;v=y;do{T=f[v>>2]|0;f[v>>2]=(T>>>M)+_;_=re(T&b,m)|0;v=v+4|0}while(v>>>0>>0);b=(f[y>>2]|0)==0?y+4|0:y;if(!_){_=b;break}f[k>>2]=_;_=b;k=k+4|0}else _=(f[y>>2]|0)==0?y+4|0:y}while(0);b=A?L:_;k=(k-b>>2|0)>(E|0)?b+(E<<2)|0:k;b=(f[ne>>2]|0)+M|0;f[ne>>2]=b;if((b|0)>=0){y=_;break}else y=_}}else y=_;do{if(y>>>0>>0){b=(R-y>>2)*9|0;m=f[y>>2]|0;if(m>>>0<10)break;else _=10;do{_=_*10|0;b=b+1|0}while(m>>>0>=_>>>0)}else b=0}while(0);S=(C|0)==103;T=(h|0)!=0;_=h-((C|0)!=102?b:0)+((T&S)<<31>>31)|0;if((_|0)<(((k-R>>2)*9|0)+-9|0)){v=_+9216|0;A=(v|0)/9|0;_=L+(A+-1023<<2)|0;v=((v|0)%9|0)+1|0;if((v|0)<9){m=10;do{m=m*10|0;v=v+1|0}while((v|0)!=9)}else m=10;M=f[_>>2]|0;E=(M>>>0)%(m>>>0)|0;if((E|0)==0?(L+(A+-1022<<2)|0)==(k|0):0)m=y;else N=163;do{if((N|0)==163){N=0;g=(((M>>>0)/(m>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(m|0)/2|0;do{if(E>>>0>>0)w=.5;else{if((E|0)==(v|0)?(L+(A+-1022<<2)|0)==(k|0):0){w=1.0;break}w=1.5}}while(0);do{if(P){if((t[O>>0]|0)!=45)break;g=-g;w=-w}}while(0);v=M-E|0;f[_>>2]=v;if(!(g+w!=g)){m=y;break}C=v+m|0;f[_>>2]=C;if(C>>>0>999999999){b=y;while(1){m=_+-4|0;f[_>>2]=0;if(m>>>0>>0){b=b+-4|0;f[b>>2]=0}C=(f[m>>2]|0)+1|0;f[m>>2]=C;if(C>>>0>999999999)_=m;else{y=b;_=m;break}}}b=(R-y>>2)*9|0;v=f[y>>2]|0;if(v>>>0<10){m=y;break}else m=10;do{m=m*10|0;b=b+1|0}while(v>>>0>=m>>>0);m=y}}while(0);C=_+4|0;y=m;k=k>>>0>C>>>0?C:k}E=0-b|0;while(1){if(k>>>0<=y>>>0){A=0;C=k;break}_=k+-4|0;if(!(f[_>>2]|0))k=_;else{A=1;C=k;break}}do{if(S){h=(T&1^1)+h|0;if((h|0)>(b|0)&(b|0)>-5){p=p+-1|0;h=h+-1-b|0}else{p=p+-2|0;h=h+-1|0}k=B&8;if(k)break;do{if(A){k=f[C+-4>>2]|0;if(!k){_=9;break}if(!((k>>>0)%10|0)){m=10;_=0}else{_=0;break}do{m=m*10|0;_=_+1|0}while(((k>>>0)%(m>>>0)|0|0)==0)}else _=9}while(0);k=((C-R>>2)*9|0)+-9|0;if((p|32|0)==102){k=k-_|0;k=(k|0)<0?0:k;h=(h|0)<(k|0)?h:k;k=0;break}else{k=k+b-_|0;k=(k|0)<0?0:k;h=(h|0)<(k|0)?h:k;k=0;break}}else k=B&8}while(0);M=h|k;m=(M|0)!=0&1;v=(p|32|0)==102;if(v){b=(b|0)>0?b:0;p=0}else{_=(b|0)<0?E:b;_=Cc(_,((_|0)<0)<<31>>31,W)|0;if((Q-_|0)<2)do{_=_+-1|0;t[_>>0]=48}while((Q-_|0)<2);t[_+-1>>0]=(b>>31&2)+43;R=_+-2|0;t[R>>0]=p;b=Q-R|0;p=R}E=P+1+h+m+b|0;Rc(e,32,D,E,B);if(!(f[e>>2]&32))Cy(O,P,e)|0;Rc(e,48,D,E,B^65536);do{if(v){_=y>>>0>L>>>0?L:y;b=_;do{k=Cc(f[b>>2]|0,0,Y)|0;do{if((b|0)==(_|0)){if((k|0)!=(Y|0))break;t[X>>0]=48;k=X}else{if(k>>>0<=te>>>0)break;do{k=k+-1|0;t[k>>0]=48}while(k>>>0>te>>>0)}}while(0);if(!(f[e>>2]&32))Cy(k,q-k|0,e)|0;b=b+4|0}while(b>>>0<=L>>>0);do{if(M){if(f[e>>2]&32)break;Cy(56755,1,e)|0}}while(0);if((h|0)>0&b>>>0>>0){k=b;while(1){b=Cc(f[k>>2]|0,0,Y)|0;if(b>>>0>te>>>0)do{b=b+-1|0;t[b>>0]=48}while(b>>>0>te>>>0);if(!(f[e>>2]&32))Cy(b,(h|0)>9?9:h,e)|0;k=k+4|0;b=h+-9|0;if(!((h|0)>9&k>>>0>>0)){h=b;break}else h=b}}Rc(e,48,h+9|0,9,0)}else{v=A?C:y+4|0;if((h|0)>-1){m=(k|0)==0;_=y;do{b=Cc(f[_>>2]|0,0,Y)|0;if((b|0)==(Y|0)){t[X>>0]=48;b=X}do{if((_|0)==(y|0)){k=b+1|0;if(!(f[e>>2]&32))Cy(b,1,e)|0;if(m&(h|0)<1){b=k;break}if(f[e>>2]&32){b=k;break}Cy(56755,1,e)|0;b=k}else{if(b>>>0<=te>>>0)break;do{b=b+-1|0;t[b>>0]=48}while(b>>>0>te>>>0)}}while(0);k=q-b|0;if(!(f[e>>2]&32))Cy(b,(h|0)>(k|0)?k:h,e)|0;h=h-k|0;_=_+4|0}while(_>>>0>>0&(h|0)>-1)}Rc(e,48,h+18|0,18,0);if(f[e>>2]&32)break;Cy(p,Q-p|0,e)|0}}while(0);Rc(e,32,D,E,B^8192);h=(E|0)<(D|0)?D:E}else{v=(p&32|0)!=0;m=w!=w|0.0!=0.0;b=m?0:P;_=b+3|0;Rc(e,32,D,_,k);h=f[e>>2]|0;if(!(h&32)){Cy(O,b,e)|0;h=f[e>>2]|0}if(!(h&32))Cy(m?v?56747:56751:v?56739:56743,3,e)|0;Rc(e,32,D,_,B^8192);h=(_|0)<(D|0)?D:_}}while(0);y=I;continue e}default:{k=B;b=_;v=0;p=56703;h=U}}}while(0);i:do{if((N|0)==64){k=ee;b=f[k>>2]|0;k=f[k+4>>2]|0;m=p&32;if(!((b|0)==0&(k|0)==0)){h=U;do{h=h+-1|0;t[h>>0]=a[56687+(b&15)>>0]|m;b=Em(b|0,k|0,4)|0;k=x}while(!((b|0)==0&(k|0)==0));N=ee;if((v&8|0)==0|(f[N>>2]|0)==0&(f[N+4>>2]|0)==0){b=v;v=0;m=56703;N=77}else{b=v;v=2;m=56703+(p>>4)|0;N=77}}else{h=U;b=v;v=0;m=56703;N=77}}else if((N|0)==76){h=Cc(h,b,U)|0;b=B;v=k;N=77}else if((N|0)==82){N=0;B=zy(h,0,_)|0;O=(B|0)==0;y=h;b=O?_:B-h|0;v=0;p=56703;h=O?h+_|0:B}else if((N|0)==86){N=0;b=0;h=0;m=f[ee>>2]|0;while(1){k=f[m>>2]|0;if(!k)break;h=dy(fe,k)|0;if((h|0)<0|h>>>0>(_-b|0)>>>0)break;b=h+b|0;if(_>>>0>b>>>0)m=m+4|0;else break}if((h|0)<0){o=-1;break e}Rc(e,32,D,b,B);if(!b){h=0;N=98}else{k=0;_=f[ee>>2]|0;while(1){h=f[_>>2]|0;if(!h){h=b;N=98;break i}h=dy(fe,h)|0;k=h+k|0;if((k|0)>(b|0)){h=b;N=98;break i}if(!(f[e>>2]&32))Cy(fe,h,e)|0;if(k>>>0>=b>>>0){h=b;N=98;break}else _=_+4|0}}}}while(0);if((N|0)==98){N=0;Rc(e,32,D,h,B^8192);y=I;h=(D|0)>(h|0)?D:h;continue}if((N|0)==77){N=0;k=(_|0)>-1?b&-65537:b;b=ee;b=(f[b>>2]|0)!=0|(f[b+4>>2]|0)!=0;if((_|0)!=0|b){b=(b&1^1)+(V-h)|0;y=h;b=(_|0)>(b|0)?_:b;p=m;h=U}else{y=U;b=0;p=m;h=U}}m=h-y|0;b=(b|0)<(m|0)?m:b;_=v+b|0;h=(D|0)<(_|0)?_:D;Rc(e,32,h,_,k);if(!(f[e>>2]&32))Cy(p,v,e)|0;Rc(e,48,h,_,k^65536);Rc(e,48,b,m,0);if(!(f[e>>2]&32))Cy(y,m,e)|0;Rc(e,32,h,_,k^8192);y=I}e:do{if((N|0)==245)if(!e)if(i){o=1;while(1){i=f[l+(o<<2)>>2]|0;if(!i)break;Tc(s+(o<<3)|0,i,r);o=o+1|0;if((o|0)>=10){o=1;break e}}if((o|0)<10)while(1){if(f[l+(o<<2)>>2]|0){o=-1;break e}o=o+1|0;if((o|0)>=10){o=1;break}}else o=1}else o=0}while(0);c=se;return o|0}function Mc(e,i,r){e=e|0;i=i|0;r=r|0;return yy(e,i,r)|0}function Ec(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,a=0,s=0,l=0;l=c;c=c+112|0;s=l;n=s;a=n+112|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(a|0));n=s+4|0;f[n>>2]=e;a=s+8|0;f[a>>2]=-1;f[s+44>>2]=e;f[s+76>>2]=-1;Ug(s,0);t=+Ng(s,r,1);r=(f[n>>2]|0)-(f[a>>2]|0)+(f[s+108>>2]|0)|0;if(i)f[i>>2]=(r|0)!=0?e+r|0:e;c=l;return+t}function Ac(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0;o=c;c=c+112|0;l=o;f[l>>2]=0;a=l+4|0;f[a>>2]=e;f[l+44>>2]=e;s=l+8|0;f[s>>2]=(e|0)<0?-1:e+2147483647|0;f[l+76>>2]=-1;Ug(l,0);t=Fg(l,r,1,t,n)|0;if(i)f[i>>2]=e+((f[a>>2]|0)+(f[l+108>>2]|0)-(f[s>>2]|0));c=o;return t|0}function Sc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=e+20|0;n=f[t>>2]|0;e=(f[e+16>>2]|0)-n|0;e=e>>>0>r>>>0?r:e;Am(n|0,i|0,e|0)|0;f[t>>2]=(f[t>>2]|0)+e;return r|0}function Tc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0.0;e:do{if(i>>>0<=20)do{switch(i|0){case 9:{t=(f[r>>2]|0)+(4-1)&~(4-1);i=f[t>>2]|0;f[r>>2]=t+4;f[e>>2]=i;break e}case 10:{t=(f[r>>2]|0)+(4-1)&~(4-1);i=f[t>>2]|0;f[r>>2]=t+4;t=e;f[t>>2]=i;f[t+4>>2]=((i|0)<0)<<31>>31;break e}case 11:{t=(f[r>>2]|0)+(4-1)&~(4-1);i=f[t>>2]|0;f[r>>2]=t+4;t=e;f[t>>2]=i;f[t+4>>2]=0;break e}case 12:{t=(f[r>>2]|0)+(8-1)&~(8-1);i=t;n=f[i>>2]|0;i=f[i+4>>2]|0;f[r>>2]=t+8;t=e;f[t>>2]=n;f[t+4>>2]=i;break e}case 13:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;t=(t&65535)<<16>>16;n=e;f[n>>2]=t;f[n+4>>2]=((t|0)<0)<<31>>31;break e}case 14:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;n=e;f[n>>2]=t&65535;f[n+4>>2]=0;break e}case 15:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;t=(t&255)<<24>>24;n=e;f[n>>2]=t;f[n+4>>2]=((t|0)<0)<<31>>31;break e}case 16:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;n=e;f[n>>2]=t&255;f[n+4>>2]=0;break e}case 17:{n=(f[r>>2]|0)+(8-1)&~(8-1);a=+u[n>>3];f[r>>2]=n+8;u[e>>3]=a;break e}case 18:{n=(f[r>>2]|0)+(8-1)&~(8-1);a=+u[n>>3];f[r>>2]=n+8;u[e>>3]=a;break e}default:break e}}while(0)}while(0);return}function Cc(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;if(i>>>0>0|(i|0)==0&e>>>0>4294967295)while(1){n=Im(e|0,i|0,10,0)|0;r=r+-1|0;t[r>>0]=n|48;n=Bm(e|0,i|0,10,0)|0;if(i>>>0>9|(i|0)==9&e>>>0>4294967295){e=n;i=x}else{e=n;break}}if(e)while(1){r=r+-1|0;t[r>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return r|0}function Rc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0;l=c;c=c+256|0;s=l;do{if((r|0)>(t|0)&(n&73728|0)==0){n=r-t|0;ym(s|0,i|0,(n>>>0>256?256:n)|0)|0;i=f[e>>2]|0;a=(i&32|0)==0;if(n>>>0>255){t=r-t|0;do{if(a){Cy(s,256,e)|0;i=f[e>>2]|0}n=n+-256|0;a=(i&32|0)==0}while(n>>>0>255);if(a)n=t&255;else break}else if(!a)break;Cy(s,n,e)|0}}while(0);c=l;return}function Lc(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0,I=0,D=0,N=0,F=0;do{if(e>>>0<245){b=e>>>0<11?16:e+11&-8;e=b>>>3;l=f[10218]|0;r=l>>>e;if(r&3){e=(r&1^1)+e|0;t=e<<1;r=40912+(t<<2)|0;t=40912+(t+2<<2)|0;n=f[t>>2]|0;a=n+8|0;s=f[a>>2]|0;do{if((r|0)!=(s|0)){if(s>>>0<(f[10222]|0)>>>0)Ie();i=s+12|0;if((f[i>>2]|0)==(n|0)){f[i>>2]=r;f[t>>2]=s;break}else Ie()}else f[10218]=l&~(1<>2]=F|3;F=n+(F|4)|0;f[F>>2]=f[F>>2]|1;F=a;return F|0}s=f[10220]|0;if(b>>>0>s>>>0){if(r){t=2<>>12&16;t=t>>>o;n=t>>>5&8;t=t>>>n;a=t>>>2&4;t=t>>>a;r=t>>>1&2;t=t>>>r;e=t>>>1&1;e=(n|o|a|r|e)+(t>>>e)|0;t=e<<1;r=40912+(t<<2)|0;t=40912+(t+2<<2)|0;a=f[t>>2]|0;o=a+8|0;n=f[o>>2]|0;do{if((r|0)!=(n|0)){if(n>>>0<(f[10222]|0)>>>0)Ie();i=n+12|0;if((f[i>>2]|0)==(a|0)){f[i>>2]=r;f[t>>2]=n;u=f[10220]|0;break}else Ie()}else{f[10218]=l&~(1<>2]=b|3;l=a+b|0;f[a+(b|4)>>2]=s|1;f[a+F>>2]=s;if(u){n=f[10223]|0;r=u>>>3;i=r<<1;t=40912+(i<<2)|0;e=f[10218]|0;r=1<>2]|0;if(i>>>0<(f[10222]|0)>>>0)Ie();else{c=e;h=i}}else{f[10218]=e|r;c=40912+(i+2<<2)|0;h=t}f[c>>2]=n;f[h+12>>2]=n;f[n+8>>2]=h;f[n+12>>2]=t}f[10220]=s;f[10223]=l;F=o;return F|0}e=f[10219]|0;if(e){r=(e&0-e)+-1|0;N=r>>>12&16;r=r>>>N;D=r>>>5&8;r=r>>>D;F=r>>>2&4;r=r>>>F;e=r>>>1&2;r=r>>>e;t=r>>>1&1;t=f[41176+((D|N|F|e|t)+(r>>>t)<<2)>>2]|0;r=(f[t+4>>2]&-8)-b|0;e=t;while(1){i=f[e+16>>2]|0;if(!i){i=f[e+20>>2]|0;if(!i){o=r;break}}e=(f[i+4>>2]&-8)-b|0;F=e>>>0>>0;r=F?e:r;e=i;t=F?i:t}a=f[10222]|0;if(t>>>0>>0)Ie();l=t+b|0;if(t>>>0>=l>>>0)Ie();s=f[t+24>>2]|0;r=f[t+12>>2]|0;do{if((r|0)==(t|0)){e=t+20|0;i=f[e>>2]|0;if(!i){e=t+16|0;i=f[e>>2]|0;if(!i){d=0;break}}while(1){r=i+20|0;n=f[r>>2]|0;if(n){i=n;e=r;continue}r=i+16|0;n=f[r>>2]|0;if(!n)break;else{i=n;e=r}}if(e>>>0>>0)Ie();else{f[e>>2]=0;d=i;break}}else{n=f[t+8>>2]|0;if(n>>>0>>0)Ie();i=n+12|0;if((f[i>>2]|0)!=(t|0))Ie();e=r+8|0;if((f[e>>2]|0)==(t|0)){f[i>>2]=r;f[e>>2]=n;d=r;break}else Ie()}}while(0);do{if(s){i=f[t+28>>2]|0;e=41176+(i<<2)|0;if((t|0)==(f[e>>2]|0)){f[e>>2]=d;if(!d){f[10219]=f[10219]&~(1<>>0<(f[10222]|0)>>>0)Ie();i=s+16|0;if((f[i>>2]|0)==(t|0))f[i>>2]=d;else f[s+20>>2]=d;if(!d)break}e=f[10222]|0;if(d>>>0>>0)Ie();f[d+24>>2]=s;i=f[t+16>>2]|0;do{if(i)if(i>>>0>>0)Ie();else{f[d+16>>2]=i;f[i+24>>2]=d;break}}while(0);i=f[t+20>>2]|0;if(i)if(i>>>0<(f[10222]|0)>>>0)Ie();else{f[d+20>>2]=i;f[i+24>>2]=d;break}}}while(0);if(o>>>0<16){F=o+b|0;f[t+4>>2]=F|3;F=t+(F+4)|0;f[F>>2]=f[F>>2]|1}else{f[t+4>>2]=b|3;f[t+(b|4)>>2]=o|1;f[t+(o+b)>>2]=o;i=f[10220]|0;if(i){a=f[10223]|0;r=i>>>3;i=r<<1;n=40912+(i<<2)|0;e=f[10218]|0;r=1<>2]|0;if(e>>>0<(f[10222]|0)>>>0)Ie();else{k=i;w=e}}else{f[10218]=e|r;k=40912+(i+2<<2)|0;w=n}f[k>>2]=a;f[w+12>>2]=a;f[a+8>>2]=w;f[a+12>>2]=n}f[10220]=o;f[10223]=l}F=t+8|0;return F|0}else w=b}else w=b}else if(e>>>0<=4294967231){e=e+11|0;h=e&-8;c=f[10219]|0;if(c){r=0-h|0;e=e>>>8;if(e)if(h>>>0>16777215)u=31;else{w=(e+1048320|0)>>>16&8;g=e<>>16&4;g=g<>>16&2;u=14-(k|w|u)+(g<>>15)|0;u=h>>>(u+7|0)&1|u<<1}else u=0;e=f[41176+(u<<2)>>2]|0;e:do{if(!e){n=0;e=0;g=86}else{s=r;n=0;l=h<<((u|0)==31?0:25-(u>>>1)|0);o=e;e=0;while(1){a=f[o+4>>2]&-8;r=a-h|0;if(r>>>0>>0)if((a|0)==(h|0)){a=o;e=o;g=90;break e}else e=o;else r=s;g=f[o+20>>2]|0;o=f[o+16+(l>>>31<<2)>>2]|0;n=(g|0)==0|(g|0)==(o|0)?n:g;if(!o){g=86;break}else{s=r;l=l<<1}}}}while(0);if((g|0)==86){if((n|0)==0&(e|0)==0){e=2<>>12&16;e=e>>>d;c=e>>>5&8;e=e>>>c;k=e>>>2&4;e=e>>>k;w=e>>>1&2;e=e>>>w;n=e>>>1&1;n=f[41176+((c|d|k|w|n)+(e>>>n)<<2)>>2]|0;e=0}if(!n){l=r;o=e}else{a=n;g=90}}if((g|0)==90)while(1){g=0;w=(f[a+4>>2]&-8)-h|0;n=w>>>0>>0;r=n?w:r;e=n?a:e;n=f[a+16>>2]|0;if(n){a=n;g=90;continue}a=f[a+20>>2]|0;if(!a){l=r;o=e;break}else g=90}if((o|0)!=0?l>>>0<((f[10220]|0)-h|0)>>>0:0){n=f[10222]|0;if(o>>>0>>0)Ie();s=o+h|0;if(o>>>0>=s>>>0)Ie();a=f[o+24>>2]|0;r=f[o+12>>2]|0;do{if((r|0)==(o|0)){e=o+20|0;i=f[e>>2]|0;if(!i){e=o+16|0;i=f[e>>2]|0;if(!i){b=0;break}}while(1){r=i+20|0;t=f[r>>2]|0;if(t){i=t;e=r;continue}r=i+16|0;t=f[r>>2]|0;if(!t)break;else{i=t;e=r}}if(e>>>0>>0)Ie();else{f[e>>2]=0;b=i;break}}else{t=f[o+8>>2]|0;if(t>>>0>>0)Ie();i=t+12|0;if((f[i>>2]|0)!=(o|0))Ie();e=r+8|0;if((f[e>>2]|0)==(o|0)){f[i>>2]=r;f[e>>2]=t;b=r;break}else Ie()}}while(0);do{if(a){i=f[o+28>>2]|0;e=41176+(i<<2)|0;if((o|0)==(f[e>>2]|0)){f[e>>2]=b;if(!b){f[10219]=f[10219]&~(1<>>0<(f[10222]|0)>>>0)Ie();i=a+16|0;if((f[i>>2]|0)==(o|0))f[i>>2]=b;else f[a+20>>2]=b;if(!b)break}e=f[10222]|0;if(b>>>0>>0)Ie();f[b+24>>2]=a;i=f[o+16>>2]|0;do{if(i)if(i>>>0>>0)Ie();else{f[b+16>>2]=i;f[i+24>>2]=b;break}}while(0);i=f[o+20>>2]|0;if(i)if(i>>>0<(f[10222]|0)>>>0)Ie();else{f[b+20>>2]=i;f[i+24>>2]=b;break}}}while(0);e:do{if(l>>>0>=16){f[o+4>>2]=h|3;f[o+(h|4)>>2]=l|1;f[o+(l+h)>>2]=l;i=l>>>3;if(l>>>0<256){e=i<<1;t=40912+(e<<2)|0;r=f[10218]|0;i=1<>2]|0;if(e>>>0<(f[10222]|0)>>>0)Ie();else{m=i;v=e}}else{f[10218]=r|i;m=40912+(e+2<<2)|0;v=t}f[m>>2]=s;f[v+12>>2]=s;f[o+(h+8)>>2]=v;f[o+(h+12)>>2]=t;break}i=l>>>8;if(i)if(l>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<>>16&4;F=F<>>16&2;t=14-(D|N|t)+(F<>>15)|0;t=l>>>(t+7|0)&1|t<<1}else t=0;i=41176+(t<<2)|0;f[o+(h+28)>>2]=t;f[o+(h+20)>>2]=0;f[o+(h+16)>>2]=0;e=f[10219]|0;r=1<>2]=s;f[o+(h+24)>>2]=i;f[o+(h+12)>>2]=s;f[o+(h+8)>>2]=s;break}i=f[i>>2]|0;i:do{if((f[i+4>>2]&-8|0)!=(l|0)){t=l<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=f[e>>2]|0;if(!r)break;if((f[r+4>>2]&-8|0)==(l|0)){E=r;break i}else{t=t<<1;i=r}}if(e>>>0<(f[10222]|0)>>>0)Ie();else{f[e>>2]=s;f[o+(h+24)>>2]=i;f[o+(h+12)>>2]=s;f[o+(h+8)>>2]=s;break e}}else E=i}while(0);i=E+8|0;e=f[i>>2]|0;F=f[10222]|0;if(e>>>0>=F>>>0&E>>>0>=F>>>0){f[e+12>>2]=s;f[i>>2]=s;f[o+(h+8)>>2]=e;f[o+(h+12)>>2]=E;f[o+(h+24)>>2]=0;break}else Ie()}else{F=l+h|0;f[o+4>>2]=F|3;F=o+(F+4)|0;f[F>>2]=f[F>>2]|1}}while(0);F=o+8|0;return F|0}else w=h}else w=h}else w=-1}while(0);r=f[10220]|0;if(r>>>0>=w>>>0){i=r-w|0;e=f[10223]|0;if(i>>>0>15){f[10223]=e+w;f[10220]=i;f[e+(w+4)>>2]=i|1;f[e+r>>2]=i;f[e+4>>2]=w|3}else{f[10220]=0;f[10223]=0;f[e+4>>2]=r|3;F=e+(r+4)|0;f[F>>2]=f[F>>2]|1}F=e+8|0;return F|0}e=f[10221]|0;if(e>>>0>w>>>0){N=e-w|0;f[10221]=N;F=f[10224]|0;f[10224]=F+w;f[F+(w+4)>>2]=N|1;f[F+4>>2]=w|3;F=F+8|0;return F|0}do{if(!(f[10336]|0)){e=ii(30)|0;if(!(e+-1&e)){f[10338]=e;f[10337]=e;f[10339]=-1;f[10340]=-1;f[10341]=0;f[10329]=0;f[10336]=(vi(0)|0)&-16^1431655768;break}else Ie()}}while(0);o=w+48|0;l=f[10338]|0;u=w+47|0;s=l+u|0;l=0-l|0;c=s&l;if(c>>>0<=w>>>0){F=0;return F|0}e=f[10328]|0;if((e|0)!=0?(v=f[10326]|0,E=v+c|0,E>>>0<=v>>>0|E>>>0>e>>>0):0){F=0;return F|0}e:do{if(!(f[10329]&4)){e=f[10224]|0;i:do{if(e){n=41320;while(1){r=f[n>>2]|0;if(r>>>0<=e>>>0?(_=n+4|0,(r+(f[_>>2]|0)|0)>>>0>e>>>0):0){a=n;e=_;break}n=f[n+8>>2]|0;if(!n){g=174;break i}}r=s-(f[10221]|0)&l;if(r>>>0<2147483647){n=We(r|0)|0;E=(n|0)==((f[a>>2]|0)+(f[e>>2]|0)|0);e=E?r:0;if(E){if((n|0)!=(-1|0)){y=n;k=e;g=194;break e}}else g=184}else e=0}else g=174}while(0);do{if((g|0)==174){a=We(0)|0;if((a|0)!=(-1|0)){e=a;r=f[10337]|0;n=r+-1|0;if(!(n&e))r=c;else r=c-e+(n+e&0-r)|0;e=f[10326]|0;n=e+r|0;if(r>>>0>w>>>0&r>>>0<2147483647){E=f[10328]|0;if((E|0)!=0?n>>>0<=e>>>0|n>>>0>E>>>0:0){e=0;break}n=We(r|0)|0;E=(n|0)==(a|0);e=E?r:0;if(E){y=a;k=e;g=194;break e}else g=184}else e=0}else e=0}}while(0);i:do{if((g|0)==184){a=0-r|0;do{if(o>>>0>r>>>0&(r>>>0<2147483647&(n|0)!=(-1|0))?(p=f[10338]|0,p=u-r+p&0-p,p>>>0<2147483647):0)if((We(p|0)|0)==(-1|0)){We(a|0)|0;break i}else{r=p+r|0;break}}while(0);if((n|0)!=(-1|0)){y=n;k=r;g=194;break e}}}while(0);f[10329]=f[10329]|4;g=191}else{e=0;g=191}}while(0);if((((g|0)==191?c>>>0<2147483647:0)?(y=We(c|0)|0,M=We(0)|0,y>>>0>>0&((y|0)!=(-1|0)&(M|0)!=(-1|0))):0)?(A=M-y|0,S=A>>>0>(w+40|0)>>>0,S):0){k=S?A:e;g=194}if((g|0)==194){e=(f[10326]|0)+k|0;f[10326]=e;if(e>>>0>(f[10327]|0)>>>0)f[10327]=e;s=f[10224]|0;e:do{if(s){a=41320;do{e=f[a>>2]|0;r=a+4|0;n=f[r>>2]|0;if((y|0)==(e+n|0)){T=e;C=r;R=n;L=a;g=204;break}a=f[a+8>>2]|0}while((a|0)!=0);if(((g|0)==204?(f[L+12>>2]&8|0)==0:0)?s>>>0>>0&s>>>0>=T>>>0:0){f[C>>2]=R+k;F=(f[10221]|0)+k|0;N=s+8|0;N=(N&7|0)==0?0:0-N&7;D=F-N|0;f[10224]=s+N;f[10221]=D;f[s+(N+4)>>2]=D|1;f[s+(F+4)>>2]=40;f[10225]=f[10340];break}e=f[10222]|0;if(y>>>0>>0){f[10222]=y;e=y}r=y+k|0;a=41320;while(1){if((f[a>>2]|0)==(r|0)){n=a;r=a;g=212;break}a=f[a+8>>2]|0;if(!a){r=41320;break}}if((g|0)==212)if(!(f[r+12>>2]&8)){f[n>>2]=y;d=r+4|0;f[d>>2]=(f[d>>2]|0)+k;d=y+8|0;d=(d&7|0)==0?0:0-d&7;u=y+(k+8)|0;u=(u&7|0)==0?0:0-u&7;i=y+(u+k)|0;h=d+w|0;b=y+h|0;c=i-(y+d)-w|0;f[y+(d+4)>>2]=w|3;i:do{if((i|0)!=(s|0)){if((i|0)==(f[10223]|0)){F=(f[10220]|0)+c|0;f[10220]=F;f[10223]=b;f[y+(h+4)>>2]=F|1;f[y+(F+h)>>2]=F;break}l=k+4|0;r=f[y+(l+u)>>2]|0;if((r&3|0)==1){o=r&-8;a=r>>>3;r:do{if(r>>>0>=256){s=f[y+((u|24)+k)>>2]|0;t=f[y+(k+12+u)>>2]|0;do{if((t|0)==(i|0)){n=u|16;t=y+(l+n)|0;r=f[t>>2]|0;if(!r){t=y+(n+k)|0;r=f[t>>2]|0;if(!r){I=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0>>0)Ie();else{f[t>>2]=0;I=r;break}}else{n=f[y+((u|8)+k)>>2]|0;if(n>>>0>>0)Ie();e=n+12|0;if((f[e>>2]|0)!=(i|0))Ie();r=t+8|0;if((f[r>>2]|0)==(i|0)){f[e>>2]=t;f[r>>2]=n;I=t;break}else Ie()}}while(0);if(!s)break;e=f[y+(k+28+u)>>2]|0;r=41176+(e<<2)|0;do{if((i|0)!=(f[r>>2]|0)){if(s>>>0<(f[10222]|0)>>>0)Ie();e=s+16|0;if((f[e>>2]|0)==(i|0))f[e>>2]=I;else f[s+20>>2]=I;if(!I)break r}else{f[r>>2]=I;if(I)break;f[10219]=f[10219]&~(1<>>0>>0)Ie();f[I+24>>2]=s;i=u|16;e=f[y+(i+k)>>2]|0;do{if(e)if(e>>>0>>0)Ie();else{f[I+16>>2]=e;f[e+24>>2]=I;break}}while(0);i=f[y+(l+i)>>2]|0;if(!i)break;if(i>>>0<(f[10222]|0)>>>0)Ie();else{f[I+20>>2]=i;f[i+24>>2]=I;break}}else{t=f[y+((u|8)+k)>>2]|0;n=f[y+(k+12+u)>>2]|0;r=40912+(a<<1<<2)|0;do{if((t|0)!=(r|0)){if(t>>>0>>0)Ie();if((f[t+12>>2]|0)==(i|0))break;Ie()}}while(0);if((n|0)==(t|0)){f[10218]=f[10218]&~(1<>>0>>0)Ie();e=n+8|0;if((f[e>>2]|0)==(i|0)){P=e;break}Ie()}}while(0);f[t+12>>2]=n;f[P>>2]=t}}while(0);i=y+((o|u)+k)|0;n=o+c|0}else n=c;i=i+4|0;f[i>>2]=f[i>>2]&-2;f[y+(h+4)>>2]=n|1;f[y+(n+h)>>2]=n;i=n>>>3;if(n>>>0<256){e=i<<1;t=40912+(e<<2)|0;r=f[10218]|0;i=1<>2]|0;if(e>>>0>=(f[10222]|0)>>>0){D=i;N=e;break}Ie()}}while(0);f[D>>2]=b;f[N+12>>2]=b;f[y+(h+8)>>2]=N;f[y+(h+12)>>2]=t;break}i=n>>>8;do{if(!i)t=0;else{if(n>>>0>16777215){t=31;break}D=(i+1048320|0)>>>16&8;N=i<>>16&4;N=N<>>16&2;t=14-(I|D|t)+(N<>>15)|0;t=n>>>(t+7|0)&1|t<<1}}while(0);i=41176+(t<<2)|0;f[y+(h+28)>>2]=t;f[y+(h+20)>>2]=0;f[y+(h+16)>>2]=0;e=f[10219]|0;r=1<>2]=b;f[y+(h+24)>>2]=i;f[y+(h+12)>>2]=b;f[y+(h+8)>>2]=b;break}i=f[i>>2]|0;r:do{if((f[i+4>>2]&-8|0)!=(n|0)){t=n<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=f[e>>2]|0;if(!r)break;if((f[r+4>>2]&-8|0)==(n|0)){F=r;break r}else{t=t<<1;i=r}}if(e>>>0<(f[10222]|0)>>>0)Ie();else{f[e>>2]=b;f[y+(h+24)>>2]=i;f[y+(h+12)>>2]=b;f[y+(h+8)>>2]=b;break i}}else F=i}while(0);i=F+8|0;e=f[i>>2]|0;N=f[10222]|0;if(e>>>0>=N>>>0&F>>>0>=N>>>0){f[e+12>>2]=b;f[i>>2]=b;f[y+(h+8)>>2]=e;f[y+(h+12)>>2]=F;f[y+(h+24)>>2]=0;break}else Ie()}else{F=(f[10221]|0)+c|0;f[10221]=F;f[10224]=b;f[y+(h+4)>>2]=F|1}}while(0);F=y+(d|8)|0;return F|0}else r=41320;while(1){e=f[r>>2]|0;if(e>>>0<=s>>>0?(i=f[r+4>>2]|0,t=e+i|0,t>>>0>s>>>0):0)break;r=f[r+8>>2]|0}n=e+(i+-39)|0;e=e+(i+-47+((n&7|0)==0?0:0-n&7))|0;n=s+16|0;e=e>>>0>>0?s:e;i=e+8|0;r=y+8|0;r=(r&7|0)==0?0:0-r&7;F=k+-40-r|0;f[10224]=y+r;f[10221]=F;f[y+(r+4)>>2]=F|1;f[y+(k+-36)>>2]=40;f[10225]=f[10340];r=e+4|0;f[r>>2]=27;f[i>>2]=f[10330];f[i+4>>2]=f[10331];f[i+8>>2]=f[10332];f[i+12>>2]=f[10333];f[10330]=y;f[10331]=k;f[10333]=0;f[10332]=i;i=e+28|0;f[i>>2]=7;if((e+32|0)>>>0>>0)do{F=i;i=i+4|0;f[i>>2]=7}while((F+8|0)>>>0>>0);if((e|0)!=(s|0)){a=e-s|0;f[r>>2]=f[r>>2]&-2;f[s+4>>2]=a|1;f[e>>2]=a;i=a>>>3;if(a>>>0<256){e=i<<1;t=40912+(e<<2)|0;r=f[10218]|0;i=1<>2]|0;if(e>>>0<(f[10222]|0)>>>0)Ie();else{x=i;O=e}}else{f[10218]=r|i;x=40912+(e+2<<2)|0;O=t}f[x>>2]=s;f[O+12>>2]=s;f[s+8>>2]=O;f[s+12>>2]=t;break}i=a>>>8;if(i)if(a>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<>>16&4;F=F<>>16&2;t=14-(D|N|t)+(F<>>15)|0;t=a>>>(t+7|0)&1|t<<1}else t=0;r=41176+(t<<2)|0;f[s+28>>2]=t;f[s+20>>2]=0;f[n>>2]=0;i=f[10219]|0;e=1<>2]=s;f[s+24>>2]=r;f[s+12>>2]=s;f[s+8>>2]=s;break}i=f[r>>2]|0;i:do{if((f[i+4>>2]&-8|0)!=(a|0)){t=a<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=f[e>>2]|0;if(!r)break;if((f[r+4>>2]&-8|0)==(a|0)){B=r;break i}else{t=t<<1;i=r}}if(e>>>0<(f[10222]|0)>>>0)Ie();else{f[e>>2]=s;f[s+24>>2]=i;f[s+12>>2]=s;f[s+8>>2]=s;break e}}else B=i}while(0);i=B+8|0;e=f[i>>2]|0;F=f[10222]|0;if(e>>>0>=F>>>0&B>>>0>=F>>>0){f[e+12>>2]=s;f[i>>2]=s;f[s+8>>2]=e;f[s+12>>2]=B;f[s+24>>2]=0;break}else Ie()}}else{F=f[10222]|0;if((F|0)==0|y>>>0>>0)f[10222]=y;f[10330]=y;f[10331]=k;f[10333]=0;f[10227]=f[10336];f[10226]=-1;i=0;do{F=i<<1;N=40912+(F<<2)|0;f[40912+(F+3<<2)>>2]=N;f[40912+(F+2<<2)>>2]=N;i=i+1|0}while((i|0)!=32);F=y+8|0;F=(F&7|0)==0?0:0-F&7;N=k+-40-F|0;f[10224]=y+F;f[10221]=N;f[y+(F+4)>>2]=N|1;f[y+(k+-36)>>2]=40;f[10225]=f[10340]}}while(0);i=f[10221]|0;if(i>>>0>w>>>0){N=i-w|0;f[10221]=N;F=f[10224]|0;f[10224]=F+w;f[F+(w+4)>>2]=N|1;f[F+4>>2]=w|3;F=F+8|0;return F|0}}f[(Ig()|0)>>2]=12;F=0;return F|0}function Pc(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0;if(!e)return;i=e+-8|0;l=f[10222]|0;if(i>>>0>>0)Ie();r=f[e+-4>>2]|0;t=r&3;if((t|0)==1)Ie();b=r&-8;w=e+(b+-8)|0;do{if(!(r&1)){i=f[i>>2]|0;if(!t)return;o=-8-i|0;c=e+o|0;h=i+b|0;if(c>>>0>>0)Ie();if((c|0)==(f[10223]|0)){i=e+(b+-4)|0;r=f[i>>2]|0;if((r&3|0)!=3){p=c;a=h;break}f[10220]=h;f[i>>2]=r&-2;f[e+(o+4)>>2]=h|1;f[w>>2]=h;return}n=i>>>3;if(i>>>0<256){t=f[e+(o+8)>>2]|0;r=f[e+(o+12)>>2]|0;i=40912+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0>>0)Ie();if((f[t+12>>2]|0)!=(c|0))Ie()}if((r|0)==(t|0)){f[10218]=f[10218]&~(1<>>0>>0)Ie();i=r+8|0;if((f[i>>2]|0)==(c|0))s=i;else Ie()}else s=r+8|0;f[t+12>>2]=r;f[s>>2]=t;p=c;a=h;break}s=f[e+(o+24)>>2]|0;t=f[e+(o+12)>>2]|0;do{if((t|0)==(c|0)){r=e+(o+20)|0;i=f[r>>2]|0;if(!i){r=e+(o+16)|0;i=f[r>>2]|0;if(!i){u=0;break}}while(1){t=i+20|0;n=f[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=f[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0>>0)Ie();else{f[r>>2]=0;u=i;break}}else{n=f[e+(o+8)>>2]|0;if(n>>>0>>0)Ie();i=n+12|0;if((f[i>>2]|0)!=(c|0))Ie();r=t+8|0;if((f[r>>2]|0)==(c|0)){f[i>>2]=t;f[r>>2]=n;u=t;break}else Ie()}}while(0);if(s){i=f[e+(o+28)>>2]|0;r=41176+(i<<2)|0;if((c|0)==(f[r>>2]|0)){f[r>>2]=u;if(!u){f[10219]=f[10219]&~(1<>>0<(f[10222]|0)>>>0)Ie();i=s+16|0;if((f[i>>2]|0)==(c|0))f[i>>2]=u;else f[s+20>>2]=u;if(!u){p=c;a=h;break}}r=f[10222]|0;if(u>>>0>>0)Ie();f[u+24>>2]=s;i=f[e+(o+16)>>2]|0;do{if(i)if(i>>>0>>0)Ie();else{f[u+16>>2]=i;f[i+24>>2]=u;break}}while(0);i=f[e+(o+20)>>2]|0;if(i)if(i>>>0<(f[10222]|0)>>>0)Ie();else{f[u+20>>2]=i;f[i+24>>2]=u;p=c;a=h;break}else{p=c;a=h}}else{p=c;a=h}}else{p=i;a=b}}while(0);if(p>>>0>=w>>>0)Ie();i=e+(b+-4)|0;r=f[i>>2]|0;if(!(r&1))Ie();if(!(r&2)){if((w|0)==(f[10224]|0)){v=(f[10221]|0)+a|0;f[10221]=v;f[10224]=p;f[p+4>>2]=v|1;if((p|0)!=(f[10223]|0))return;f[10223]=0;f[10220]=0;return}if((w|0)==(f[10223]|0)){v=(f[10220]|0)+a|0;f[10220]=v;f[10223]=p;f[p+4>>2]=v|1;f[p+v>>2]=v;return}a=(r&-8)+a|0;n=r>>>3;do{if(r>>>0>=256){s=f[e+(b+16)>>2]|0;i=f[e+(b|4)>>2]|0;do{if((i|0)==(w|0)){r=e+(b+12)|0;i=f[r>>2]|0;if(!i){r=e+(b+8)|0;i=f[r>>2]|0;if(!i){k=0;break}}while(1){t=i+20|0;n=f[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=f[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0<(f[10222]|0)>>>0)Ie();else{f[r>>2]=0;k=i;break}}else{r=f[e+b>>2]|0;if(r>>>0<(f[10222]|0)>>>0)Ie();t=r+12|0;if((f[t>>2]|0)!=(w|0))Ie();n=i+8|0;if((f[n>>2]|0)==(w|0)){f[t>>2]=i;f[n>>2]=r;k=i;break}else Ie()}}while(0);if(s){i=f[e+(b+20)>>2]|0;r=41176+(i<<2)|0;if((w|0)==(f[r>>2]|0)){f[r>>2]=k;if(!k){f[10219]=f[10219]&~(1<>>0<(f[10222]|0)>>>0)Ie();i=s+16|0;if((f[i>>2]|0)==(w|0))f[i>>2]=k;else f[s+20>>2]=k;if(!k)break}r=f[10222]|0;if(k>>>0>>0)Ie();f[k+24>>2]=s;i=f[e+(b+8)>>2]|0;do{if(i)if(i>>>0>>0)Ie();else{f[k+16>>2]=i;f[i+24>>2]=k;break}}while(0);i=f[e+(b+12)>>2]|0;if(i)if(i>>>0<(f[10222]|0)>>>0)Ie();else{f[k+20>>2]=i;f[i+24>>2]=k;break}}}else{t=f[e+b>>2]|0;r=f[e+(b|4)>>2]|0;i=40912+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0<(f[10222]|0)>>>0)Ie();if((f[t+12>>2]|0)!=(w|0))Ie()}if((r|0)==(t|0)){f[10218]=f[10218]&~(1<>>0<(f[10222]|0)>>>0)Ie();i=r+8|0;if((f[i>>2]|0)==(w|0))d=i;else Ie()}else d=r+8|0;f[t+12>>2]=r;f[d>>2]=t}}while(0);f[p+4>>2]=a|1;f[p+a>>2]=a;if((p|0)==(f[10223]|0)){f[10220]=a;return}}else{f[i>>2]=r&-2;f[p+4>>2]=a|1;f[p+a>>2]=a}i=a>>>3;if(a>>>0<256){r=i<<1;n=40912+(r<<2)|0;t=f[10218]|0;i=1<>2]|0;if(r>>>0<(f[10222]|0)>>>0)Ie();else{_=i;m=r}}else{f[10218]=t|i;_=40912+(r+2<<2)|0;m=n}f[_>>2]=p;f[m+12>>2]=p;f[p+8>>2]=m;f[p+12>>2]=n;return}i=a>>>8;if(i)if(a>>>0>16777215)n=31;else{_=(i+1048320|0)>>>16&8;m=i<<_;w=(m+520192|0)>>>16&4;m=m<>>16&2;n=14-(w|_|n)+(m<>>15)|0;n=a>>>(n+7|0)&1|n<<1}else n=0;i=41176+(n<<2)|0;f[p+28>>2]=n;f[p+20>>2]=0;f[p+16>>2]=0;r=f[10219]|0;t=1<>2]|0;i:do{if((f[i+4>>2]&-8|0)!=(a|0)){n=a<<((n|0)==31?0:25-(n>>>1)|0);while(1){r=i+16+(n>>>31<<2)|0;t=f[r>>2]|0;if(!t)break;if((f[t+4>>2]&-8|0)==(a|0)){v=t;break i}else{n=n<<1;i=t}}if(r>>>0<(f[10222]|0)>>>0)Ie();else{f[r>>2]=p;f[p+24>>2]=i;f[p+12>>2]=p;f[p+8>>2]=p;break e}}else v=i}while(0);i=v+8|0;r=f[i>>2]|0;m=f[10222]|0;if(r>>>0>=m>>>0&v>>>0>=m>>>0){f[r+12>>2]=p;f[i>>2]=p;f[p+8>>2]=r;f[p+12>>2]=v;f[p+24>>2]=0;break}else Ie()}else{f[10219]=r|t;f[i>>2]=p;f[p+24>>2]=i;f[p+12>>2]=p;f[p+8>>2]=p}}while(0);p=(f[10226]|0)+-1|0;f[10226]=p;if(!p)i=41328;else return;while(1){i=f[i>>2]|0;if(!i)break;else i=i+8|0}f[10226]=-1;return}function xc(e,i){e=e|0;i=i|0;var r=0;if(e){r=re(i,e)|0;if((i|e)>>>0>65535)r=((r>>>0)/(e>>>0)|0|0)==(i|0)?r:-1}else r=0;i=Lc(r)|0;if(!i)return i|0;if(!(f[i+-4>>2]&3))return i|0;ym(i|0,0,r|0)|0;return i|0}function Oc(e,i){e=e|0;i=i|0;var r=0,t=0;if(!e){e=Lc(i)|0;return e|0}if(i>>>0>4294967231){f[(Ig()|0)>>2]=12;e=0;return e|0}r=Bc(e+-8|0,i>>>0<11?16:i+11&-8)|0;if(r){e=r+8|0;return e|0}r=Lc(i)|0;if(!r){e=0;return e|0}t=f[e+-4>>2]|0;t=(t&-8)-((t&3|0)==0?8:4)|0;Am(r|0,e|0,(t>>>0>>0?t:i)|0)|0;Pc(e);e=r;return e|0}function Bc(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0;b=e+4|0;k=f[b>>2]|0;o=k&-8;c=e+o|0;l=f[10222]|0;r=k&3;if(!((r|0)!=1&e>>>0>=l>>>0&e>>>0>>0))Ie();t=e+(o|4)|0;n=f[t>>2]|0;if(!(n&1))Ie();if(!r){if(i>>>0<256){e=0;return e|0}if(o>>>0>=(i+4|0)>>>0?(o-i|0)>>>0<=f[10338]<<1>>>0:0)return e|0;e=0;return e|0}if(o>>>0>=i>>>0){r=o-i|0;if(r>>>0<=15)return e|0;f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=r|3;f[t>>2]=f[t>>2]|1;Ic(e+i|0,r);return e|0}if((c|0)==(f[10224]|0)){r=(f[10221]|0)+o|0;if(r>>>0<=i>>>0){e=0;return e|0}d=r-i|0;f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=d|1;f[10224]=e+i;f[10221]=d;return e|0}if((c|0)==(f[10223]|0)){t=(f[10220]|0)+o|0;if(t>>>0>>0){e=0;return e|0}r=t-i|0;if(r>>>0>15){f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=r|1;f[e+t>>2]=r;t=e+(t+4)|0;f[t>>2]=f[t>>2]&-2;t=e+i|0}else{f[b>>2]=k&1|t|2;t=e+(t+4)|0;f[t>>2]=f[t>>2]|1;t=0;r=0}f[10220]=r;f[10223]=t;return e|0}if(n&2){e=0;return e|0}h=(n&-8)+o|0;if(h>>>0>>0){e=0;return e|0}d=h-i|0;a=n>>>3;do{if(n>>>0>=256){s=f[e+(o+24)>>2]|0;a=f[e+(o+12)>>2]|0;do{if((a|0)==(c|0)){t=e+(o+20)|0;r=f[t>>2]|0;if(!r){t=e+(o+16)|0;r=f[t>>2]|0;if(!r){u=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0>>0)Ie();else{f[t>>2]=0;u=r;break}}else{n=f[e+(o+8)>>2]|0;if(n>>>0>>0)Ie();r=n+12|0;if((f[r>>2]|0)!=(c|0))Ie();t=a+8|0;if((f[t>>2]|0)==(c|0)){f[r>>2]=a;f[t>>2]=n;u=a;break}else Ie()}}while(0);if(s){r=f[e+(o+28)>>2]|0;t=41176+(r<<2)|0;if((c|0)==(f[t>>2]|0)){f[t>>2]=u;if(!u){f[10219]=f[10219]&~(1<>>0<(f[10222]|0)>>>0)Ie();r=s+16|0;if((f[r>>2]|0)==(c|0))f[r>>2]=u;else f[s+20>>2]=u;if(!u)break}t=f[10222]|0;if(u>>>0>>0)Ie();f[u+24>>2]=s;r=f[e+(o+16)>>2]|0;do{if(r)if(r>>>0>>0)Ie();else{f[u+16>>2]=r;f[r+24>>2]=u;break}}while(0);r=f[e+(o+20)>>2]|0;if(r)if(r>>>0<(f[10222]|0)>>>0)Ie();else{f[u+20>>2]=r;f[r+24>>2]=u;break}}}else{n=f[e+(o+8)>>2]|0;t=f[e+(o+12)>>2]|0;r=40912+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)Ie();if((f[n+12>>2]|0)!=(c|0))Ie()}if((t|0)==(n|0)){f[10218]=f[10218]&~(1<>>0>>0)Ie();r=t+8|0;if((f[r>>2]|0)==(c|0))s=r;else Ie()}else s=t+8|0;f[n+12>>2]=t;f[s>>2]=n}}while(0);if(d>>>0<16){f[b>>2]=h|k&1|2;i=e+(h|4)|0;f[i>>2]=f[i>>2]|1;return e|0}else{f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=d|3;k=e+(h|4)|0;f[k>>2]=f[k>>2]|1;Ic(e+i|0,d);return e|0}return 0}function Ic(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0;w=e+i|0;r=f[e+4>>2]|0;do{if(!(r&1)){u=f[e>>2]|0;if(!(r&3))return;d=e+(0-u)|0;h=u+i|0;o=f[10222]|0;if(d>>>0>>0)Ie();if((d|0)==(f[10223]|0)){t=e+(i+4)|0;r=f[t>>2]|0;if((r&3|0)!=3){v=d;s=h;break}f[10220]=h;f[t>>2]=r&-2;f[e+(4-u)>>2]=h|1;f[w>>2]=h;return}a=u>>>3;if(u>>>0<256){n=f[e+(8-u)>>2]|0;t=f[e+(12-u)>>2]|0;r=40912+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)Ie();if((f[n+12>>2]|0)!=(d|0))Ie()}if((t|0)==(n|0)){f[10218]=f[10218]&~(1<>>0>>0)Ie();r=t+8|0;if((f[r>>2]|0)==(d|0))l=r;else Ie()}else l=t+8|0;f[n+12>>2]=t;f[l>>2]=n;v=d;s=h;break}l=f[e+(24-u)>>2]|0;n=f[e+(12-u)>>2]|0;do{if((n|0)==(d|0)){n=16-u|0;t=e+(n+4)|0;r=f[t>>2]|0;if(!r){t=e+n|0;r=f[t>>2]|0;if(!r){c=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0>>0)Ie();else{f[t>>2]=0;c=r;break}}else{a=f[e+(8-u)>>2]|0;if(a>>>0>>0)Ie();r=a+12|0;if((f[r>>2]|0)!=(d|0))Ie();t=n+8|0;if((f[t>>2]|0)==(d|0)){f[r>>2]=n;f[t>>2]=a;c=n;break}else Ie()}}while(0);if(l){r=f[e+(28-u)>>2]|0;t=41176+(r<<2)|0;if((d|0)==(f[t>>2]|0)){f[t>>2]=c;if(!c){f[10219]=f[10219]&~(1<>>0<(f[10222]|0)>>>0)Ie();r=l+16|0;if((f[r>>2]|0)==(d|0))f[r>>2]=c;else f[l+20>>2]=c;if(!c){v=d;s=h;break}}n=f[10222]|0;if(c>>>0>>0)Ie();f[c+24>>2]=l;r=16-u|0;t=f[e+r>>2]|0;do{if(t)if(t>>>0>>0)Ie();else{f[c+16>>2]=t;f[t+24>>2]=c;break}}while(0);r=f[e+(r+4)>>2]|0;if(r)if(r>>>0<(f[10222]|0)>>>0)Ie();else{f[c+20>>2]=r;f[r+24>>2]=c;v=d;s=h;break}else{v=d;s=h}}else{v=d;s=h}}else{v=e;s=i}}while(0);o=f[10222]|0;if(w>>>0>>0)Ie();r=e+(i+4)|0;t=f[r>>2]|0;if(!(t&2)){if((w|0)==(f[10224]|0)){m=(f[10221]|0)+s|0;f[10221]=m;f[10224]=v;f[v+4>>2]=m|1;if((v|0)!=(f[10223]|0))return;f[10223]=0;f[10220]=0;return}if((w|0)==(f[10223]|0)){m=(f[10220]|0)+s|0;f[10220]=m;f[10223]=v;f[v+4>>2]=m|1;f[v+m>>2]=m;return}s=(t&-8)+s|0;a=t>>>3;do{if(t>>>0>=256){l=f[e+(i+24)>>2]|0;n=f[e+(i+12)>>2]|0;do{if((n|0)==(w|0)){t=e+(i+20)|0;r=f[t>>2]|0;if(!r){t=e+(i+16)|0;r=f[t>>2]|0;if(!r){k=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0>>0)Ie();else{f[t>>2]=0;k=r;break}}else{a=f[e+(i+8)>>2]|0;if(a>>>0>>0)Ie();r=a+12|0;if((f[r>>2]|0)!=(w|0))Ie();t=n+8|0;if((f[t>>2]|0)==(w|0)){f[r>>2]=n;f[t>>2]=a;k=n;break}else Ie()}}while(0);if(l){r=f[e+(i+28)>>2]|0;t=41176+(r<<2)|0;if((w|0)==(f[t>>2]|0)){f[t>>2]=k;if(!k){f[10219]=f[10219]&~(1<>>0<(f[10222]|0)>>>0)Ie();r=l+16|0;if((f[r>>2]|0)==(w|0))f[r>>2]=k;else f[l+20>>2]=k;if(!k)break}t=f[10222]|0;if(k>>>0>>0)Ie();f[k+24>>2]=l;r=f[e+(i+16)>>2]|0;do{if(r)if(r>>>0>>0)Ie();else{f[k+16>>2]=r;f[r+24>>2]=k;break}}while(0);r=f[e+(i+20)>>2]|0;if(r)if(r>>>0<(f[10222]|0)>>>0)Ie();else{f[k+20>>2]=r;f[r+24>>2]=k;break}}}else{n=f[e+(i+8)>>2]|0;t=f[e+(i+12)>>2]|0;r=40912+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)Ie();if((f[n+12>>2]|0)!=(w|0))Ie()}if((t|0)==(n|0)){f[10218]=f[10218]&~(1<>>0>>0)Ie();r=t+8|0;if((f[r>>2]|0)==(w|0))b=r;else Ie()}else b=t+8|0;f[n+12>>2]=t;f[b>>2]=n}}while(0);f[v+4>>2]=s|1;f[v+s>>2]=s;if((v|0)==(f[10223]|0)){f[10220]=s;return}}else{f[r>>2]=t&-2;f[v+4>>2]=s|1;f[v+s>>2]=s}r=s>>>3;if(s>>>0<256){t=r<<1;a=40912+(t<<2)|0;n=f[10218]|0;r=1<>2]|0;if(t>>>0<(f[10222]|0)>>>0)Ie();else{_=r;m=t}}else{f[10218]=n|r;_=40912+(t+2<<2)|0;m=a}f[_>>2]=v;f[m+12>>2]=v;f[v+8>>2]=m;f[v+12>>2]=a;return}r=s>>>8;if(r)if(s>>>0>16777215)a=31;else{_=(r+1048320|0)>>>16&8;m=r<<_;w=(m+520192|0)>>>16&4;m=m<>>16&2;a=14-(w|_|a)+(m<>>15)|0;a=s>>>(a+7|0)&1|a<<1}else a=0;r=41176+(a<<2)|0;f[v+28>>2]=a;f[v+20>>2]=0;f[v+16>>2]=0;t=f[10219]|0;n=1<>2]=v;f[v+24>>2]=r;f[v+12>>2]=v;f[v+8>>2]=v;return}r=f[r>>2]|0;e:do{if((f[r+4>>2]&-8|0)!=(s|0)){a=s<<((a|0)==31?0:25-(a>>>1)|0);while(1){t=r+16+(a>>>31<<2)|0;n=f[t>>2]|0;if(!n)break;if((f[n+4>>2]&-8|0)==(s|0)){r=n;break e}else{a=a<<1;r=n}}if(t>>>0<(f[10222]|0)>>>0)Ie();f[t>>2]=v;f[v+24>>2]=r;f[v+12>>2]=v;f[v+8>>2]=v;return}}while(0);t=r+8|0;n=f[t>>2]|0;m=f[10222]|0;if(!(n>>>0>=m>>>0&r>>>0>=m>>>0))Ie();f[n+12>>2]=v;f[t>>2]=v;f[v+8>>2]=n;f[v+12>>2]=r;f[v+24>>2]=0;return}function Dc(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0;t=f[9321]|0;jc(42048,t,42104);f[10342]=42892;f[10344]=42912;f[10343]=0;e=f[10720]|0;_=0;ce(62,41368+e|0,42048);a=_;_=0;if(a&1){a=ze()|0;nd(41376);$e(a|0)}f[41368+(e+72)>>2]=0;f[41368+(e+76)>>2]=-1;n=f[9322]|0;Hc(42152,n,42112);f[10364]=42972;f[10365]=42992;r=f[10740]|0;_=0;ce(62,41456+r|0,42152);a=_;_=0;if(a&1){a=ze()|0;nd(41460);$e(a|0)}e=r+72|0;f[41456+e>>2]=0;i=r+76|0;f[41456+i>>2]=-1;a=f[9320]|0;Hc(42200,a,42120);f[10385]=42972;f[10386]=42992;_=0;ce(62,41540+r|0,42200);s=_;_=0;if(s&1){s=ze()|0;nd(41544);$e(s|0)}f[41540+e>>2]=0;f[41540+i>>2]=-1;s=f[41540+((f[(f[10385]|0)+-12>>2]|0)+24)>>2]|0;f[10406]=42972;f[10407]=42992;_=0;ce(62,41624+r|0,s|0);s=_;_=0;if(s&1){s=ze()|0;nd(41628);$e(s|0)}f[41624+e>>2]=0;f[41624+i>>2]=-1;f[41368+((f[(f[10342]|0)+-12>>2]|0)+72)>>2]=41456;e=41540+((f[(f[10385]|0)+-12>>2]|0)+4)|0;f[e>>2]=f[e>>2]|8192;f[41540+((f[(f[10385]|0)+-12>>2]|0)+72)>>2]=41456;zc(42248,t,42128);f[10427]=42932;f[10429]=42952;f[10428]=0;e=f[10730]|0;_=0;ce(62,41708+e|0,42248);s=_;_=0;if(s&1){s=ze()|0;od(41716);$e(s|0)}f[41708+(e+72)>>2]=0;f[41708+(e+76)>>2]=-1;Yc(42304,n,42136);f[10449]=43012;f[10450]=43032;r=f[10750]|0;_=0;ce(62,41796+r|0,42304);s=_;_=0;if(s&1){s=ze()|0;od(41800);$e(s|0)}e=r+72|0;f[41796+e>>2]=0;i=r+76|0;f[41796+i>>2]=-1;Yc(42352,a,42144);f[10470]=43012;f[10471]=43032;_=0;ce(62,41880+r|0,42352);s=_;_=0;if(s&1){s=ze()|0;od(41884);$e(s|0)}f[41880+e>>2]=0;f[41880+i>>2]=-1;s=f[41880+((f[(f[10470]|0)+-12>>2]|0)+24)>>2]|0;f[10491]=43012;f[10492]=43032;_=0;ce(62,41964+r|0,s|0);s=_;_=0;if(s&1){s=ze()|0;od(41968);$e(s|0)}else{f[41964+e>>2]=0;f[41964+i>>2]=-1;f[41708+((f[(f[10427]|0)+-12>>2]|0)+72)>>2]=41796;s=41880+((f[(f[10470]|0)+-12>>2]|0)+4)|0;f[s>>2]=f[s>>2]|8192;f[41880+((f[(f[10470]|0)+-12>>2]|0)+72)>>2]=41796;return}}function Nc(e){e=e|0;_=0;de(70,41456)|0;e=_;_=0;if(((!(e&1)?(_=0,de(70,41624)|0,e=_,_=0,!(e&1)):0)?(_=0,de(71,41796)|0,e=_,_=0,!(e&1)):0)?(_=0,de(71,41964)|0,e=_,_=0,!(e&1)):0)return;e=ze(0)|0;Fi(e)}function Fc(){Dc(0);di(187,56757,w|0)|0;return}function Uc(){return}function jc(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;a=c;c=c+16|0;s=a+4|0;n=a;dd(e);f[e>>2]=42600;f[e+32>>2]=i;f[e+40>>2]=r;f[e+48>>2]=-1;t[e+52>>0]=0;Ou(s,e+4|0);f[n>>2]=f[s>>2];_=0;ce(23,e|0,n|0);r=_;_=0;if(r&1){s=ze()|0;Bu(n);cd(e);$e(s|0)}else{Bu(n);c=a;return}}function Hc(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;a=c;c=c+16|0;s=a+4|0;n=a;dd(e);f[e>>2]=42536;f[e+32>>2]=i;Ou(s,e+4|0);f[n>>2]=f[s>>2];_=0;i=pe(37,n|0,44280)|0;s=_;_=0;if(s&1){s=ze()|0;Bu(n);cd(e);$e(s|0)}else{Bu(n);f[e+36>>2]=i;f[e+40>>2]=r;t[e+44>>0]=(lM[f[(f[i>>2]|0)+28>>2]&127](i)|0)&1;c=a;return}}function zc(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;a=c;c=c+16|0;s=a+4|0;n=a;Cd(e);f[e>>2]=42472;f[e+32>>2]=i;f[e+40>>2]=r;f[e+48>>2]=-1;t[e+52>>0]=0;Ou(s,e+4|0);f[n>>2]=f[s>>2];_=0;ce(21,e|0,n|0);r=_;_=0;if(r&1){s=ze()|0;Bu(n);Sd(e);$e(s|0)}else{Bu(n);c=a;return}}function Yc(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;a=c;c=c+16|0;s=a+4|0;n=a;Cd(e);f[e>>2]=42408;f[e+32>>2]=i;Ou(s,e+4|0);f[n>>2]=f[s>>2];_=0;i=pe(37,n|0,44288)|0;s=_;_=0;if(s&1){s=ze()|0;Bu(n);Sd(e);$e(s|0)}else{Bu(n);f[e+36>>2]=i;f[e+40>>2]=r;t[e+44>>0]=(lM[f[(f[i>>2]|0)+28>>2]&127](i)|0)&1;c=a;return}}function qc(e){e=e|0;Sd(e);Ip(e);return}function Xc(e,i){e=e|0;i=i|0;lM[f[(f[e>>2]|0)+24>>2]&127](e)|0;i=Du(i,44288)|0;f[e+36>>2]=i;t[e+44>>0]=(lM[f[(f[i>>2]|0)+28>>2]&127](i)|0)&1;return}function Vc(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;l=u+8|0;s=u;r=e+36|0;t=e+40|0;n=l+8|0;a=l;i=e+32|0;e:while(1){e=f[r>>2]|0;e=wM[f[(f[e>>2]|0)+20>>2]&31](e,f[t>>2]|0,l,n,s)|0;h=(f[s>>2]|0)-a|0;if((Ry(l,1,h,f[i>>2]|0)|0)!=(h|0)){e=-1;break}switch(e|0){case 1:break;case 2:{e=-1;break e}default:{o=4;break e}}}if((o|0)==4)e=((Sy(f[i>>2]|0)|0)!=0)<<31>>31;c=u;return e|0}function Gc(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;e:do{if(!(t[e+44>>0]|0))if((r|0)>0){n=i;i=0;while(1){if((kM[f[(f[e>>2]|0)+52>>2]&63](e,f[n>>2]|0)|0)==-1)break e;i=i+1|0;if((i|0)<(r|0))n=n+4|0;else break}}else i=0;else i=Ry(i,4,r,f[e+32>>2]|0)|0}while(0);return i|0}function Kc(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0;m=c;c=c+32|0;k=m+16|0;r=m+8|0;b=m+4|0;d=m;w=(i|0)==-1;e:do{if(!w){f[r>>2]=i;if(t[e+44>>0]|0)if((Ry(r,4,1,f[e+32>>2]|0)|0)==1){_=11;break}else{r=-1;break}f[b>>2]=k;u=r+4|0;h=e+36|0;a=e+40|0;s=k+8|0;l=k;o=e+32|0;while(1){e=f[h>>2]|0;e=yM[f[(f[e>>2]|0)+12>>2]&15](e,f[a>>2]|0,r,u,d,k,s,b)|0;if((f[d>>2]|0)==(r|0)){r=-1;break e}if((e|0)==3)break;n=(e|0)==1;if(e>>>0>=2){r=-1;break e}e=(f[b>>2]|0)-l|0;if((Ry(k,1,e,f[o>>2]|0)|0)!=(e|0)){r=-1;break e}if(n)r=n?f[d>>2]|0:r;else{_=11;break e}}if((Ry(r,1,1,f[o>>2]|0)|0)!=1)r=-1;else _=11}else _=11}while(0);if((_|0)==11)r=w?0:i;c=m;return r|0}function Wc(e,i){e=e|0;i=i|0;var r=0,n=0;n=Du(i,44288)|0;r=e+36|0;f[r>>2]=n;i=e+44|0;f[i>>2]=lM[f[(f[n>>2]|0)+24>>2]&127](n)|0;r=f[r>>2]|0;t[e+53>>0]=(lM[f[(f[r>>2]|0)+28>>2]&127](r)|0)&1;if((f[i>>2]|0)>8)Xo(56783);return}function Zc(e){e=e|0;Sd(e);Ip(e);return}function Jc(e){e=e|0;return eh(e,0)|0}function Qc(e){e=e|0;return eh(e,1)|0}function $c(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;u=h+16|0;o=h+8|0;n=h+4|0;a=h;s=e+52|0;r=(t[s>>0]|0)!=0;e:do{if((i|0)==-1)if(r)i=-1;else{i=f[e+48>>2]|0;t[s>>0]=(i|0)!=-1&1}else{l=e+48|0;i:do{if(r){f[n>>2]=f[l>>2];r=f[e+36>>2]|0;switch(yM[f[(f[r>>2]|0)+12>>2]&15](r,f[e+40>>2]|0,n,n+4|0,a,u,u+8|0,o)|0){case 1:case 2:{i=-1;break e}case 3:{t[u>>0]=f[l>>2];f[o>>2]=u+1;break}default:{}}r=e+32|0;while(1){n=f[o>>2]|0;if(n>>>0<=u>>>0)break i;e=n+-1|0;f[o>>2]=e;if((Oy(t[e>>0]|0,f[r>>2]|0)|0)==-1){i=-1;break e}}}}while(0);f[l>>2]=i;t[s>>0]=1}}while(0);c=h;return i|0}function eh(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0;_=c;c=c+32|0;w=_+16|0;k=_+8|0;h=_+4|0;d=_;a=e+52|0;e:do{if(t[a>>0]|0){n=e+48|0;r=f[n>>2]|0;if(i){f[n>>2]=-1;t[a>>0]=0}}else{r=f[e+44>>2]|0;r=(r|0)>1?r:1;b=e+32|0;if((r|0)>0){a=0;do{n=Ly(f[b>>2]|0)|0;if((n|0)==-1){r=-1;break e}t[w+a>>0]=n;a=a+1|0}while((a|0)<(r|0))}i:do{if(!(t[e+53>>0]|0)){l=e+40|0;o=e+36|0;u=k+4|0;r:while(1){m=f[l>>2]|0;a=m;n=f[a>>2]|0;a=f[a+4>>2]|0;v=f[o>>2]|0;s=w+r|0;switch(yM[f[(f[v>>2]|0)+16>>2]&15](v,m,w,s,h,k,u,d)|0){case 2:{r=-1;break e}case 3:break r;case 1:break;default:break i}v=f[l>>2]|0;f[v>>2]=n;f[v+4>>2]=a;if((r|0)==8){r=-1;break e}n=Ly(f[b>>2]|0)|0;if((n|0)==-1){r=-1;break e}t[s>>0]=n;r=r+1|0}f[k>>2]=t[w>>0]}else f[k>>2]=t[w>>0]}while(0);if(i){r=f[k>>2]|0;f[e+48>>2]=r;break}while(1){if((r|0)<=0)break;r=r+-1|0;if((Oy(t[w+r>>0]|0,f[b>>2]|0)|0)==-1){r=-1;break e}}r=f[k>>2]|0}}while(0);c=_;return r|0}function ih(e){e=e|0;cd(e);Ip(e);return}function rh(e,i){e=e|0;i=i|0;lM[f[(f[e>>2]|0)+24>>2]&127](e)|0;i=Du(i,44280)|0;f[e+36>>2]=i;t[e+44>>0]=(lM[f[(f[i>>2]|0)+28>>2]&127](i)|0)&1;return}function th(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;l=u+8|0;s=u;r=e+36|0;t=e+40|0;n=l+8|0;a=l;i=e+32|0;e:while(1){e=f[r>>2]|0;e=wM[f[(f[e>>2]|0)+20>>2]&31](e,f[t>>2]|0,l,n,s)|0;h=(f[s>>2]|0)-a|0;if((Ry(l,1,h,f[i>>2]|0)|0)!=(h|0)){e=-1;break}switch(e|0){case 1:break;case 2:{e=-1;break e}default:{o=4;break e}}}if((o|0)==4)e=((Sy(f[i>>2]|0)|0)!=0)<<31>>31;c=u;return e|0}function nh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;e:do{if(!(t[e+44>>0]|0))if((r|0)>0){n=i;i=0;while(1){if((kM[f[(f[e>>2]|0)+52>>2]&63](e,a[n>>0]|0)|0)==-1)break e;i=i+1|0;if((i|0)<(r|0))n=n+1|0;else break}}else i=0;else i=Ry(i,1,r,f[e+32>>2]|0)|0}while(0);return i|0}function fh(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0;m=c;c=c+32|0;k=m+16|0;r=m+8|0;b=m+4|0;d=m;w=(i|0)==-1;e:do{if(!w){t[r>>0]=i;if(t[e+44>>0]|0)if((Ry(r,1,1,f[e+32>>2]|0)|0)==1){_=11;break}else{r=-1;break}f[b>>2]=k;h=r+1|0;a=e+36|0;s=e+40|0;l=k+8|0;o=k;u=e+32|0;while(1){e=f[a>>2]|0;e=yM[f[(f[e>>2]|0)+12>>2]&15](e,f[s>>2]|0,r,h,d,k,l,b)|0;if((f[d>>2]|0)==(r|0)){r=-1;break e}if((e|0)==3)break;n=(e|0)==1;if(e>>>0>=2){r=-1;break e}e=(f[b>>2]|0)-o|0;if((Ry(k,1,e,f[u>>2]|0)|0)!=(e|0)){r=-1;break e}if(n)r=n?f[d>>2]|0:r;else{_=11;break e}}if((Ry(r,1,1,f[u>>2]|0)|0)!=1)r=-1;else _=11}else _=11}while(0);if((_|0)==11)r=w?0:i;c=m;return r|0}function ah(e,i){e=e|0;i=i|0;var r=0,n=0;n=Du(i,44280)|0;r=e+36|0;f[r>>2]=n;i=e+44|0;f[i>>2]=lM[f[(f[n>>2]|0)+24>>2]&127](n)|0;r=f[r>>2]|0;t[e+53>>0]=(lM[f[(f[r>>2]|0)+28>>2]&127](r)|0)&1;if((f[i>>2]|0)>8)Xo(56783);return}function sh(e){e=e|0;cd(e);Ip(e);return}function lh(e){e=e|0;return ch(e,0)|0}function oh(e){e=e|0;return ch(e,1)|0}function uh(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;u=h+16|0;o=h+4|0;n=h+8|0;a=h;s=e+52|0;r=(t[s>>0]|0)!=0;e:do{if((i|0)==-1)if(r)i=-1;else{i=f[e+48>>2]|0;t[s>>0]=(i|0)!=-1&1}else{l=e+48|0;i:do{if(r){t[n>>0]=f[l>>2];r=f[e+36>>2]|0;switch(yM[f[(f[r>>2]|0)+12>>2]&15](r,f[e+40>>2]|0,n,n+1|0,a,u,u+8|0,o)|0){case 1:case 2:{i=-1;break e}case 3:{t[u>>0]=f[l>>2];f[o>>2]=u+1;break}default:{}}r=e+32|0;while(1){n=f[o>>2]|0;if(n>>>0<=u>>>0)break i;e=n+-1|0;f[o>>2]=e;if((Oy(t[e>>0]|0,f[r>>2]|0)|0)==-1){i=-1;break e}}}}while(0);f[l>>2]=i;t[s>>0]=1}}while(0);c=h;return i|0}function ch(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0,p=0;m=c;c=c+32|0;_=m+16|0;w=m+8|0;d=m+4|0;b=m;s=e+52|0;e:do{if(t[s>>0]|0){n=e+48|0;r=f[n>>2]|0;if(i){f[n>>2]=-1;t[s>>0]=0}}else{r=f[e+44>>2]|0;r=(r|0)>1?r:1;k=e+32|0;if((r|0)>0){s=0;do{n=Ly(f[k>>2]|0)|0;if((n|0)==-1){r=-1;break e}t[_+s>>0]=n;s=s+1|0}while((s|0)<(r|0))}i:do{if(!(t[e+53>>0]|0)){o=e+40|0;u=e+36|0;h=w+1|0;r:while(1){v=f[o>>2]|0;s=v;n=f[s>>2]|0;s=f[s+4>>2]|0;p=f[u>>2]|0;l=_+r|0;switch(yM[f[(f[p>>2]|0)+16>>2]&15](p,v,_,l,d,w,h,b)|0){case 2:{r=-1;break e}case 3:break r;case 1:break;default:break i}p=f[o>>2]|0;f[p>>2]=n;f[p+4>>2]=s;if((r|0)==8){r=-1;break e}n=Ly(f[k>>2]|0)|0;if((n|0)==-1){r=-1;break e}t[l>>0]=n;r=r+1|0}t[w>>0]=t[_>>0]|0}else t[w>>0]=t[_>>0]|0}while(0);if(i){r=t[w>>0]|0;f[e+48>>2]=r&255}else{while(1){if((r|0)<=0)break;r=r+-1|0;if((Oy(a[_+r>>0]|0,f[k>>2]|0)|0)==-1){r=-1;break e}}r=t[w>>0]|0}r=r&255}}while(0);c=m;return r|0}function hh(e){e=e|0;return}function dh(e){e=e|0;e=e+4|0;f[e>>2]=(f[e>>2]|0)+1;return}function bh(e){e=e|0;var i=0,r=0;r=e+4|0;i=f[r>>2]|0;f[r>>2]=i+-1;if(!i){fM[f[(f[e>>2]|0)+8>>2]&255](e);e=1}else e=0;return e|0}function kh(e,i){e=e|0;i=i|0;f[e>>2]=36868;_=0;ce(86,e+4|0,((t[i>>0]&1)==0?i+1|0:f[i+8>>2]|0)|0);e=_;_=0;if(e&1){e=ze()|0;$e(e|0)}else return}function wh(e,i){e=e|0;i=i|0;f[e>>2]=36868;_=0;ce(86,e+4|0,i|0);e=_;_=0;if(e&1){e=ze()|0;$e(e|0)}else return}function _h(e,i){e=e|0;i=i|0;var r=0,t=0;t=Vy(i)|0;r=Bp(t+13|0)|0;f[r>>2]=t;f[r+4>>2]=t;f[r+8>>2]=0;r=r+12|0;Am(r|0,i|0,t+1|0)|0;f[e>>2]=r;return}function mh(e,i,r){e=e|0;i=i|0;r=r|0;f[e>>2]=r;f[e+4>>2]=i;return}function vh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=c;c=c+16|0;t=n;pM[f[(f[e>>2]|0)+12>>2]&15](t,e,i);if((f[t+4>>2]|0)==(f[r+4>>2]|0))t=(f[t>>2]|0)==(f[r>>2]|0);else t=0;c=n;return t|0}function ph(e,i,r){e=e|0;i=i|0;r=r|0;return((f[i>>2]|0)==(r|0)?(f[i+4>>2]|0)==(e|0):0)|0}function gh(e,i,r){e=e|0;i=i|0;r=r|0;i=Dg(r)|0;Ph(e,i,Vy(i)|0);return}function yh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;l=c;c=c+16|0;s=l;n=f[i>>2]|0;do{if(n){a=t[r>>0]|0;if(!(a&1))a=(a&255)>>>1;else a=f[r+4>>2]|0;if(a){jh(r,56990)|0;n=f[i>>2]|0}i=f[i+4>>2]|0;pM[f[(f[i>>2]|0)+24>>2]&15](s,i,n);i=t[s>>0]|0;a=(i&1)==0;_=0;ke(30,r|0,(a?s+1|0:f[s+8>>2]|0)|0,(a?(i&255)>>>1:f[s+4>>2]|0)|0)|0;i=_;_=0;if(i&1){l=ze()|0;Oh(s);$e(l|0)}else{Oh(s);break}}}while(0);f[e>>2]=f[r>>2];f[e+4>>2]=f[r+4>>2];f[e+8>>2]=f[r+8>>2];f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;c=l;return}function Mh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;n=c;c=c+32|0;t=n+12|0;a=n;Ph(a,r,Vy(r)|0);_=0;Ae(10,t|0,i|0,a|0);r=_;_=0;do{if(!(r&1)){_=0;ce(87,e|0,t|0);r=_;_=0;if(r&1){n=ze()|0;Oh(t);t=n;break}else{Oh(t);Oh(a);f[e>>2]=42664;r=f[i+4>>2]|0;a=e+8|0;f[a>>2]=f[i>>2];f[a+4>>2]=r;c=n;return}}else t=ze()|0}while(0);Oh(a);$e(t|0)}function Eh(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0;a=c;c=c+48|0;n=a+24|0;l=a+16|0;s=a;f[l>>2]=i;f[l+4>>2]=r;Lh(s,t);_=0;Ae(10,n|0,l|0,s|0);t=_;_=0;do{if(!(t&1)){_=0;ce(87,e|0,n|0);l=_;_=0;if(l&1){l=ze()|0;Oh(n);n=l;break}else{Oh(n);Oh(s);f[e>>2]=42664;f[e+8>>2]=i;f[e+12>>2]=r;c=a;return}}else n=ze()|0}while(0);Oh(s);$e(n|0)}function Ah(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0;n=c;c=c+48|0;t=n+24|0;s=n+16|0;a=n;f[s>>2]=i;f[s+4>>2]=r;Ph(a,58898,0);_=0;Ae(10,t|0,s|0,a|0);s=_;_=0;do{if(!(s&1)){_=0;ce(87,e|0,t|0);s=_;_=0;if(s&1){s=ze()|0;Oh(t);t=s;break}else{Oh(t);Oh(a);f[e>>2]=42664;f[e+8>>2]=i;f[e+12>>2]=r;c=n;return}}else t=ze()|0}while(0);Oh(a);$e(t|0)}function Sh(e){e=e|0;Xp(e);return}function Th(e){e=e|0;Xp(e);Ip(e);return}function Ch(e){e=e|0;return}function Rh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;pi(42676)|0;if((f[e>>2]|0)==1)do{xe(42704,42676)|0}while((f[e>>2]|0)==1);do{if(!(f[e>>2]|0)){f[e>>2]=1;_=0;de(72,42676)|0;t=_;_=0;if((((!(t&1)?(_=0,ue(r|0,i|0),t=_,_=0,!(t&1)):0)?(_=0,de(73,42676)|0,t=_,_=0,!(t&1)):0)?(f[e>>2]=-1,_=0,de(72,42676)|0,t=_,_=0,!(t&1)):0)?(_=0,de(74,42704)|0,t=_,_=0,!(t&1)):0)break;t=ze(0)|0;Ze(t|0)|0;_=0;de(73,42676)|0;t=_;_=0;if((!(t&1)?(f[e>>2]=0,_=0,de(72,42676)|0,t=_,_=0,!(t&1)):0)?(_=0,de(74,42704)|0,t=_,_=0,!(t&1)):0){_=0;Se(5);_=0}i=ze()|0;_=0;Se(3);t=_;_=0;if(t&1){t=ze(0)|0;Fi(t)}else $e(i|0)}else fi(42676)|0}while(0);return}function Lh(e,i){e=e|0;i=i|0;if(!(t[i>>0]&1)){f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];f[e+8>>2]=f[i+8>>2]}else Ph(e,f[i+8>>2]|0,f[i+4>>2]|0);return}function Ph(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;if(r>>>0>4294967279)Pp(e);if(r>>>0<11){t[e>>0]=r<<1;e=e+1|0}else{a=r+16&-16;n=Bp(a)|0;f[e+8>>2]=n;f[e>>2]=a|1;f[e+4>>2]=r;e=n}Am(e|0,i|0,r|0)|0;t[e+r>>0]=0;return}function xh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;if(i>>>0>4294967279)Pp(e);if(i>>>0<11){t[e>>0]=i<<1;e=e+1|0}else{a=i+16&-16;n=Bp(a)|0;f[e+8>>2]=n;f[e>>2]=a|1;f[e+4>>2]=i;e=n}ym(e|0,r|0,i|0)|0;t[e+i>>0]=0;return}function Oh(e){e=e|0;if(t[e>>0]&1)Ip(f[e+8>>2]|0);return}function Bh(e,i){e=e|0;i=i|0;var r=0,n=0;if((e|0)!=(i|0)){r=t[i>>0]|0;n=(r&1)==0;Dh(e,n?i+1|0:f[i+8>>2]|0,n?(r&255)>>>1:f[i+4>>2]|0)|0}return e|0}function Ih(e,i){e=e|0;i=i|0;return Dh(e,i,Vy(i)|0)|0}function Dh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;n=t[e>>0]|0;if(!(n&1))s=10;else{n=f[e>>2]|0;s=(n&-2)+-1|0;n=n&255}a=(n&1)==0;do{if(s>>>0>=r>>>0){if(a)n=e+1|0;else n=f[e+8>>2]|0;Tm(n|0,i|0,r|0)|0;t[n+r>>0]=0;if(!(t[e>>0]&1)){t[e>>0]=r<<1;break}else{f[e+4>>2]=r;break}}else{if(a)n=(n&255)>>>1;else n=f[e+4>>2]|0;Yh(e,s,r-s|0,n,0,n,r,i)}}while(0);return e|0}function Nh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;n=t[e>>0]|0;a=(n&1)==0;if(a)n=(n&255)>>>1;else n=f[e+4>>2]|0;do{if(n>>>0>=i>>>0)if(a){t[e+1+i>>0]=0;t[e>>0]=i<<1;break}else{t[(f[e+8>>2]|0)+i>>0]=0;f[e+4>>2]=i;break}else Fh(e,i-n|0,r)|0}while(0);return}function Fh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;if(i){n=t[e>>0]|0;if(!(n&1))a=10;else{n=f[e>>2]|0;a=(n&-2)+-1|0;n=n&255}if(!(n&1))s=(n&255)>>>1;else s=f[e+4>>2]|0;if((a-s|0)>>>0>>0){qh(e,a,i-a+s|0,s,s,0,0);n=t[e>>0]|0}if(!(n&1))a=e+1|0;else a=f[e+8>>2]|0;ym(a+s|0,r|0,i|0)|0;n=s+i|0;if(!(t[e>>0]&1))t[e>>0]=n<<1;else f[e+4>>2]=n;t[a+n>>0]=0}return e|0}function Uh(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0;if(i>>>0>4294967279)Pp(e);r=t[e>>0]|0;if(!(r&1))n=10;else{r=f[e>>2]|0;n=(r&-2)+-1|0;r=r&255}if(!(r&1))o=(r&255)>>>1;else o=f[e+4>>2]|0;i=o>>>0>i>>>0?o:i;if(i>>>0<11)l=10;else l=(i+16&-16)+-1|0;e:do{if((l|0)!=(n|0)){do{if((l|0)!=10){i=l+1|0;if(l>>>0<=n>>>0){_=0;i=de(67,i|0)|0;s=_;_=0;if(s&1){e=ze(0)|0;Ze(e|0)|0;Qe();break e}}else i=Bp(i)|0;if(!(r&1)){n=1;a=e+1|0;s=0;break}else{n=1;a=f[e+8>>2]|0;s=1;break}}else{i=e+1|0;n=0;a=f[e+8>>2]|0;s=1}}while(0);if(!(r&1))r=(r&255)>>>1;else r=f[e+4>>2]|0;Am(i|0,a|0,r+1|0)|0;if(s)Ip(a);if(n){f[e>>2]=l+1|1;f[e+4>>2]=o;f[e+8>>2]=i;break}else{t[e>>0]=o<<1;break}}}while(0);return}function jh(e,i){e=e|0;i=i|0;return zh(e,i,Vy(i)|0)|0}function Hh(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0;r=t[e>>0]|0;n=(r&1)!=0;if(n){a=(f[e>>2]&-2)+-1|0;s=f[e+4>>2]|0}else{a=10;s=(r&255)>>>1}if((s|0)==(a|0)){qh(e,a,1,a,a,0,0);if(!(t[e>>0]&1))a=7;else a=8}else if(n)a=8;else a=7;if((a|0)==7){t[e>>0]=(s<<1)+2;r=e+1|0;n=s+1|0}else if((a|0)==8){r=f[e+8>>2]|0;n=s+1|0;f[e+4>>2]=n}t[r+s>>0]=i;t[r+n>>0]=0;return}function zh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;n=t[e>>0]|0;if(!(n&1))a=10;else{n=f[e>>2]|0;a=(n&-2)+-1|0;n=n&255}if(!(n&1))s=(n&255)>>>1;else s=f[e+4>>2]|0;if((a-s|0)>>>0>=r>>>0){if(r){if(!(n&1))a=e+1|0;else a=f[e+8>>2]|0;Am(a+s|0,i|0,r|0)|0;n=s+r|0;if(!(t[e>>0]&1))t[e>>0]=n<<1;else f[e+4>>2]=n;t[a+n>>0]=0}}else Yh(e,a,r-a+s|0,s,s,0,r,i);return e|0}function Yh(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,c=0,h=0;if((-18-i|0)>>>0>>0)Pp(e);if(!(t[e>>0]&1))h=e+1|0;else h=f[e+8>>2]|0;if(i>>>0<2147483623){u=r+i|0;c=i<<1;u=u>>>0>>0?c:u;u=u>>>0<11?11:u+16&-16}else u=-17;c=Bp(u)|0;if(a)Am(c|0,h|0,a|0)|0;if(l)Am(c+a|0,o|0,l|0)|0;r=n-s|0;if((r|0)!=(a|0))Am(c+(l+a)|0,h+(s+a)|0,r-a|0)|0;if((i|0)!=10)Ip(h);f[e+8>>2]=c;f[e>>2]=u|1;i=r+l|0;f[e+4>>2]=i;t[c+i>>0]=0;return}function qh(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,c=0;if((-17-i|0)>>>0>>0)Pp(e);if(!(t[e>>0]&1))c=e+1|0;else c=f[e+8>>2]|0;if(i>>>0<2147483623){o=r+i|0;u=i<<1;o=o>>>0>>0?u:o;o=o>>>0<11?11:o+16&-16}else o=-17;u=Bp(o)|0;if(a)Am(u|0,c|0,a|0)|0;r=n-s|0;if((r|0)!=(a|0))Am(u+(l+a)|0,c+(s+a)|0,r-a|0)|0;if((i|0)!=10)Ip(c);f[e+8>>2]=u;f[e>>2]=o|1;return}function Xh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;if(r>>>0>1073741807)Pp(e);if(r>>>0<2){t[e>>0]=r<<1;e=e+4|0}else{a=r+4&-4;n=Bp(a<<2)|0;f[e+8>>2]=n;f[e>>2]=a|1;f[e+4>>2]=r;e=n}Wy(e,i,r)|0;f[e+(r<<2)>>2]=0;return}function Vh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;if(i>>>0>1073741807)Pp(e);if(i>>>0<2){t[e>>0]=i<<1;e=e+4|0}else{a=i+4&-4;n=Bp(a<<2)|0;f[e+8>>2]=n;f[e>>2]=a|1;f[e+4>>2]=i;e=n}Jy(e,r,i)|0;f[e+(i<<2)>>2]=0;return}function Gh(e){e=e|0;if(t[e>>0]&1)Ip(f[e+8>>2]|0);return}function Kh(e,i){e=e|0;i=i|0;return Wh(e,i,Ky(i)|0)|0}function Wh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;n=t[e>>0]|0;if(!(n&1))s=1;else{n=f[e>>2]|0;s=(n&-2)+-1|0;n=n&255}a=(n&1)==0;do{if(s>>>0>=r>>>0){if(a)n=e+4|0;else n=f[e+8>>2]|0;Zy(n,i,r)|0;f[n+(r<<2)>>2]=0;if(!(t[e>>0]&1)){t[e>>0]=r<<1;break}else{f[e+4>>2]=r;break}}else{if(a)n=(n&255)>>>1;else n=f[e+4>>2]|0;Qh(e,s,r-s|0,n,0,n,r,i)}}while(0);return e|0}function Zh(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0;if(i>>>0>1073741807)Pp(e);r=t[e>>0]|0;if(!(r&1))n=1;else{r=f[e>>2]|0;n=(r&-2)+-1|0;r=r&255}if(!(r&1))o=(r&255)>>>1;else o=f[e+4>>2]|0;i=o>>>0>i>>>0?o:i;if(i>>>0<2)l=1;else l=(i+4&-4)+-1|0;e:do{if((l|0)!=(n|0)){do{if((l|0)!=1){i=(l<<2)+4|0;if(l>>>0<=n>>>0){_=0;i=de(67,i|0)|0;s=_;_=0;if(s&1){e=ze(0)|0;Ze(e|0)|0;Qe();break e}}else i=Bp(i)|0;if(!(r&1)){n=1;a=e+4|0;s=0;break}else{n=1;a=f[e+8>>2]|0;s=1;break}}else{i=e+4|0;n=0;a=f[e+8>>2]|0;s=1}}while(0);if(!(r&1))r=(r&255)>>>1;else r=f[e+4>>2]|0;Wy(i,a,r+1|0)|0;if(s)Ip(a);if(n){f[e>>2]=l+1|1;f[e+4>>2]=o;f[e+8>>2]=i;break}else{t[e>>0]=o<<1;break}}}while(0);return}function Jh(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0;r=t[e>>0]|0;n=(r&1)!=0;if(n){a=(f[e>>2]&-2)+-1|0;s=f[e+4>>2]|0}else{a=1;s=(r&255)>>>1}if((s|0)==(a|0)){$h(e,a,1,a,a,0,0);if(!(t[e>>0]&1))a=7;else a=8}else if(n)a=8;else a=7;if((a|0)==7){t[e>>0]=(s<<1)+2;r=e+4|0;n=s+1|0}else if((a|0)==8){r=f[e+8>>2]|0;n=s+1|0;f[e+4>>2]=n}f[r+(s<<2)>>2]=i;f[r+(n<<2)>>2]=0;return}function Qh(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,c=0,h=0;if((1073741806-i|0)>>>0>>0)Pp(e);if(!(t[e>>0]&1))h=e+4|0;else h=f[e+8>>2]|0;if(i>>>0<536870887){u=r+i|0;c=i<<1;u=u>>>0>>0?c:u;u=u>>>0<2?2:u+4&-4}else u=1073741807;c=Bp(u<<2)|0;if(a)Wy(c,h,a)|0;if(l)Wy(c+(a<<2)|0,o,l)|0;r=n-s|0;if((r|0)!=(a|0))Wy(c+(l+a<<2)|0,h+(s+a<<2)|0,r-a|0)|0;if((i|0)!=1)Ip(h);f[e+8>>2]=c;f[e>>2]=u|1;i=r+l|0;f[e+4>>2]=i;f[c+(i<<2)>>2]=0;return}function $h(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,c=0;if((1073741807-i|0)>>>0>>0)Pp(e);if(!(t[e>>0]&1))c=e+4|0;else c=f[e+8>>2]|0;if(i>>>0<536870887){o=r+i|0;u=i<<1;o=o>>>0>>0?u:o;o=o>>>0<2?2:o+4&-4}else o=1073741807;u=Bp(o<<2)|0;if(a)Wy(u,c,a)|0;r=n-s|0;if((r|0)!=(a|0))Wy(u+(l+a<<2)|0,c+(s+a<<2)|0,r-a|0)|0;if((i|0)!=1)Ip(c);f[e+8>>2]=u;f[e>>2]=o|1;return}function ed(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;a=i;n=r-a|0;if(n>>>0>4294967279)Pp(e);if(n>>>0<11){t[e>>0]=n<<1;s=e+1|0}else{l=n+16&-16;s=Bp(l)|0;f[e+8>>2]=s;f[e>>2]=l|1;f[e+4>>2]=n}e=r-a|0;if((i|0)!=(r|0)){n=s;while(1){t[n>>0]=t[i>>0]|0;i=i+1|0;if((i|0)==(r|0))break;else n=n+1|0}}t[s+e>>0]=0;return}function id(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;s=i;n=r-s|0;a=n>>2;if(a>>>0>1073741807)Pp(e);if(a>>>0<2){t[e>>0]=n>>>1;e=e+4|0}else{l=a+4&-4;n=Bp(l<<2)|0;f[e+8>>2]=n;f[e>>2]=l|1;f[e+4>>2]=a;e=n}a=(r-s|0)>>>2;if((i|0)!=(r|0)){n=e;while(1){f[n>>2]=f[i>>2];i=i+4|0;if((i|0)==(r|0))break;else n=n+4|0}}f[e+(a<<2)>>2]=0;return}function rd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;r=c;c=c+16|0;t=r;n=(f[e+24>>2]|0)==0;f[e+16>>2]=n&1|i;if(!((n&1|i)&f[e+20>>2])){c=r;return}i=He(16)|0;kb()|0;f[t>>2]=1;f[t+4>>2]=43112;_=0;Ae(11,i|0,57437,t|0);n=_;_=0;if(n&1){n=ze()|0;je(i|0);$e(n|0)}else bi(i|0,864,112)}function td(e){e=e|0;var i=0;f[e>>2]=43068;_=0;ce(88,e|0,0);i=_;_=0;if(i&1){i=ze(0)|0;Fi(i)}else{Bu(e+28|0);Pc(f[e+32>>2]|0);Pc(f[e+36>>2]|0);Pc(f[e+48>>2]|0);Pc(f[e+60>>2]|0);return}}function nd(e){e=e|0;td(e);return}function fd(e){e=e|0;td(e);Ip(e);return}function ad(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;r=f[e+40>>2]|0;t=e+32|0;n=e+36|0;if(r)do{r=r+-1|0;pM[f[(f[t>>2]|0)+(r<<2)>>2]&15](i,e,f[(f[n>>2]|0)+(r<<2)>>2]|0)}while((r|0)!=0);return}function sd(e){e=e|0;var i=0,r=0;r=c;c=c+16|0;i=r;Ou(i,e+28|0);c=r;return f[i>>2]|0}function ld(e,i){e=e|0;i=i|0;var r=0;f[e+24>>2]=i;f[e+16>>2]=(i|0)==0&1;f[e+20>>2]=0;f[e+4>>2]=4098;f[e+12>>2]=0;f[e+8>>2]=6;r=e+28|0;i=e+32|0;e=i+40|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));xu(r);return}function od(e){e=e|0;td(e);return}function ud(e){e=e|0;td(e);Ip(e);return}function cd(e){e=e|0;f[e>>2]=42760;Bu(e+4|0);return}function hd(e){e=e|0;f[e>>2]=42760;Bu(e+4|0);Ip(e);return}function dd(e){e=e|0;f[e>>2]=42760;xu(e+4|0);e=e+8|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;return}function bd(e,i){e=e|0;i=i|0;return}function kd(e,i,r){e=e|0;i=i|0;r=r|0;return e|0}function wd(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}function _d(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}function md(e){e=e|0;return 0}function vd(e){e=e|0;return 0}function pd(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;s=e+12|0;l=e+16|0;e:do{if((r|0)>0){a=i;i=0;while(1){n=f[s>>2]|0;if(n>>>0<(f[l>>2]|0)>>>0){f[s>>2]=n+1;n=t[n>>0]|0}else{n=lM[f[(f[e>>2]|0)+40>>2]&127](e)|0;if((n|0)==-1)break e;n=n&255}t[a>>0]=n;i=i+1|0;if((i|0)<(r|0))a=a+1|0;else break}}else i=0}while(0);return i|0}function gd(e){e=e|0;return-1}function yd(e){e=e|0;var i=0;if((lM[f[(f[e>>2]|0)+36>>2]&127](e)|0)==-1)e=-1;else{i=e+12|0;e=f[i>>2]|0;f[i>>2]=e+1;e=a[e>>0]|0}return e|0}function Md(e,i){e=e|0;i=i|0;return-1}function Ed(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0;l=e+24|0;o=e+28|0;e:do{if((r|0)>0){s=i;i=0;while(1){n=f[l>>2]|0;if(n>>>0>=(f[o>>2]|0)>>>0){if((kM[f[(f[e>>2]|0)+52>>2]&63](e,a[s>>0]|0)|0)==-1)break e}else{u=t[s>>0]|0;f[l>>2]=n+1;t[n>>0]=u}i=i+1|0;if((i|0)<(r|0))s=s+1|0;else break}}else i=0}while(0);return i|0}function Ad(e,i){e=e|0;i=i|0;return-1}function Sd(e){e=e|0;f[e>>2]=42824;Bu(e+4|0);return}function Td(e){e=e|0;f[e>>2]=42824;Bu(e+4|0);Ip(e);return}function Cd(e){e=e|0;f[e>>2]=42824;xu(e+4|0);e=e+8|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;return}function Rd(e,i){e=e|0;i=i|0;return}function Ld(e,i,r){e=e|0;i=i|0;r=r|0;return e|0}function Pd(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}function xd(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}function Od(e){e=e|0;return 0}function Bd(e){e=e|0;return 0}function Id(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0;a=e+12|0;s=e+16|0;e:do{if((r|0)>0){n=i;i=0;while(1){t=f[a>>2]|0;if(t>>>0>=(f[s>>2]|0)>>>0){t=lM[f[(f[e>>2]|0)+40>>2]&127](e)|0;if((t|0)==-1)break e}else{f[a>>2]=t+4;t=f[t>>2]|0}f[n>>2]=t;i=i+1|0;if((i|0)<(r|0))n=n+4|0;else break}}else i=0}while(0);return i|0}function Dd(e){e=e|0;return-1}function Nd(e){e=e|0;var i=0;if((lM[f[(f[e>>2]|0)+36>>2]&127](e)|0)==-1)e=-1;else{i=e+12|0;e=f[i>>2]|0;f[i>>2]=e+4;e=f[e>>2]|0}return e|0}function Fd(e,i){e=e|0;i=i|0;return-1}function Ud(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;a=e+24|0;s=e+28|0;e:do{if((r|0)>0){n=i;i=0;while(1){t=f[a>>2]|0;if(t>>>0>=(f[s>>2]|0)>>>0){if((kM[f[(f[e>>2]|0)+52>>2]&63](e,f[n>>2]|0)|0)==-1)break e}else{l=f[n>>2]|0;f[a>>2]=t+4;f[t>>2]=l}i=i+1|0;if((i|0)<(r|0))n=n+4|0;else break}}else i=0}while(0);return i|0}function jd(e,i){e=e|0;i=i|0;return-1}function Hd(e){e=e|0;td(e+8|0);return}function zd(e){e=e|0;td(e+((f[(f[e>>2]|0)+-12>>2]|0)+8)|0);return}function Yd(e){e=e|0;td(e+8|0);Ip(e);return}function qd(e){e=e|0;Yd(e+(f[(f[e>>2]|0)+-12>>2]|0)|0);return}function Xd(e){e=e|0;var i=0,r=0,n=0,a=0;n=c;c=c+16|0;r=n;e:do{if(f[e+((f[(f[e>>2]|0)+-12>>2]|0)+24)>>2]|0){_=0;ce(65,r|0,e|0);i=_;_=0;i:do{if(i&1)i=ze(0)|0;else{do{if(t[r>>0]|0){i=f[e+((f[(f[e>>2]|0)+-12>>2]|0)+24)>>2]|0;_=0;i=de(f[(f[i>>2]|0)+24>>2]|0,i|0)|0;a=_;_=0;if(!(a&1)){if((i|0)!=-1)break;a=f[(f[e>>2]|0)+-12>>2]|0;_=0;ce(66,e+a|0,f[e+(a+16)>>2]|1|0);a=_;_=0;if(!(a&1))break}i=ze(0)|0;nb(r);break i}}while(0);nb(r);break e}}while(0);Ze(i|0)|0;_=0;ue(181,e+(f[(f[e>>2]|0)+-12>>2]|0)|0);a=_;_=0;if(!(a&1)){Qe();break}i=ze()|0;_=0;Se(3);a=_;_=0;if(a&1){a=ze(0)|0;Fi(a)}else $e(i|0)}}while(0);c=n;return e|0}function Vd(e){e=e|0;var i=0;i=e+16|0;f[i>>2]=f[i>>2]|1;if(!(f[e+20>>2]&1))return;else ki()}function Gd(e){e=e|0;td(e+8|0);return}function Kd(e){e=e|0;td(e+((f[(f[e>>2]|0)+-12>>2]|0)+8)|0);return}function Wd(e){e=e|0;td(e+8|0);Ip(e);return}function Zd(e){e=e|0;Wd(e+(f[(f[e>>2]|0)+-12>>2]|0)|0);return}function Jd(e){e=e|0;var i=0,r=0,n=0,a=0;n=c;c=c+16|0;r=n;e:do{if(f[e+((f[(f[e>>2]|0)+-12>>2]|0)+24)>>2]|0){_=0;ce(89,r|0,e|0);i=_;_=0;i:do{if(i&1)i=ze(0)|0;else{do{if(t[r>>0]|0){i=f[e+((f[(f[e>>2]|0)+-12>>2]|0)+24)>>2]|0;_=0;i=de(f[(f[i>>2]|0)+24>>2]|0,i|0)|0;a=_;_=0;if(!(a&1)){if((i|0)!=-1)break;a=f[(f[e>>2]|0)+-12>>2]|0;_=0;ce(66,e+a|0,f[e+(a+16)>>2]|1|0);a=_;_=0;if(!(a&1))break}i=ze(0)|0;hb(r);break i}}while(0);hb(r);break e}}while(0);Ze(i|0)|0;_=0;ue(181,e+(f[(f[e>>2]|0)+-12>>2]|0)|0);a=_;_=0;if(!(a&1)){Qe();break}i=ze()|0;_=0;Se(3);a=_;_=0;if(a&1){a=ze(0)|0;Fi(a)}else $e(i|0)}}while(0);c=n;return e|0}function Qd(e,i){e=e|0;i=i|0;return}function $d(e){e=e|0;td(e+4|0);return}function eb(e){e=e|0;td(e+((f[(f[e>>2]|0)+-12>>2]|0)+4)|0);return}function ib(e){e=e|0;td(e+4|0);Ip(e);return}function rb(e){e=e|0;ib(e+(f[(f[e>>2]|0)+-12>>2]|0)|0);return}function tb(e,i){e=e|0;i=i|0;var r=0;t[e>>0]=0;f[e+4>>2]=i;r=f[(f[i>>2]|0)+-12>>2]|0;if(!(f[i+(r+16)>>2]|0)){r=f[i+(r+72)>>2]|0;if(r)Xd(r)|0;t[e>>0]=1}return}function nb(e){e=e|0;var i=0,r=0;e=e+4|0;r=f[e>>2]|0;i=f[(f[r>>2]|0)+-12>>2]|0;do{if((((f[r+(i+24)>>2]|0)!=0?(f[r+(i+16)>>2]|0)==0:0)?(f[r+(i+4)>>2]&8192|0)!=0:0)?!(ei()|0):0){i=f[e>>2]|0;i=f[i+((f[(f[i>>2]|0)+-12>>2]|0)+24)>>2]|0;_=0;i=de(f[(f[i>>2]|0)+24>>2]|0,i|0)|0;r=_;_=0;if(!(r&1)){if((i|0)!=-1)break;i=f[e>>2]|0;r=f[(f[i>>2]|0)+-12>>2]|0;_=0;ce(66,i+r|0,f[i+(r+16)>>2]|1|0);r=_;_=0;if(!(r&1))break}r=ze(0)|0;Ze(r|0)|0;_=0;Se(3);r=_;_=0;if(r&1){r=ze(0)|0;Fi(r)}}}while(0);return}function fb(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0;k=c;c=c+32|0;o=k+20|0;u=k+16|0;d=k+8|0;r=k;_=0;ce(65,d|0,e|0);h=_;_=0;e:do{if(h&1){r=ze(0)|0;n=e;a=e;b=19}else{do{if(t[d>>0]|0){f[r>>2]=sd(e+(f[(f[e>>2]|0)+-12>>2]|0)|0)|0;_=0;h=pe(37,r|0,43392)|0;l=_;_=0;if(l&1){b=ze(0)|0;Bu(r);r=b}else{Bu(r);a=f[(f[e>>2]|0)+-12>>2]|0;l=f[e+(a+24)>>2]|0;n=e+a|0;a=e+(a+76)|0;r=f[a>>2]|0;do{if((r|0)==-1){f[o>>2]=sd(n)|0;_=0;r=pe(37,o|0,44220)|0;w=_;_=0;if(!(w&1)?(_=0,s=pe(f[(f[r>>2]|0)+28>>2]|0,r|0,32)|0,w=_,_=0,!(w&1)):0){Bu(o);r=s<<24>>24;f[a>>2]=r;b=10;break}r=ze(0)|0;Bu(o)}else b=10}while(0);if((b|0)==10){w=f[(f[h>>2]|0)+16>>2]|0;f[u>>2]=l;_=0;f[o>>2]=f[u>>2];r=ge(w|0,h|0,o|0,n|0,r&255|0,i|0)|0;w=_;_=0;if(!(w&1)){if(r)break;w=f[(f[e>>2]|0)+-12>>2]|0;_=0;ce(66,e+w|0,f[e+(w+16)>>2]|5|0);w=_;_=0;if(!(w&1))break}r=ze(0)|0}}nb(d);n=e;a=e;b=19;break e}}while(0);nb(d)}}while(0);do{if((b|0)==19){Ze(r|0)|0;_=0;ue(181,n+(f[(f[a>>2]|0)+-12>>2]|0)|0);w=_;_=0;if(!(w&1)){Qe();break}r=ze()|0;_=0;Se(3);w=_;_=0;if(w&1){w=ze(0)|0;Fi(w)}else $e(r|0)}}while(0);c=k;return e|0}function ab(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0;k=c;c=c+32|0;o=k+20|0;u=k+16|0;d=k+8|0;r=k;_=0;ce(65,d|0,e|0);h=_;_=0;e:do{if(h&1){r=ze(0)|0;n=e;a=e;b=19}else{do{if(t[d>>0]|0){f[r>>2]=sd(e+(f[(f[e>>2]|0)+-12>>2]|0)|0)|0;_=0;h=pe(37,r|0,43392)|0;l=_;_=0;if(l&1){b=ze(0)|0;Bu(r);r=b}else{Bu(r);a=f[(f[e>>2]|0)+-12>>2]|0;l=f[e+(a+24)>>2]|0;n=e+a|0;a=e+(a+76)|0;r=f[a>>2]|0;do{if((r|0)==-1){f[o>>2]=sd(n)|0;_=0;r=pe(37,o|0,44220)|0;w=_;_=0;if(!(w&1)?(_=0,s=pe(f[(f[r>>2]|0)+28>>2]|0,r|0,32)|0,w=_,_=0,!(w&1)):0){Bu(o);r=s<<24>>24;f[a>>2]=r;b=10;break}r=ze(0)|0;Bu(o)}else b=10}while(0);if((b|0)==10){w=f[(f[h>>2]|0)+24>>2]|0;f[u>>2]=l;_=0;f[o>>2]=f[u>>2];r=ge(w|0,h|0,o|0,n|0,r&255|0,i|0)|0;w=_;_=0;if(!(w&1)){if(r)break;w=f[(f[e>>2]|0)+-12>>2]|0;_=0;ce(66,e+w|0,f[e+(w+16)>>2]|5|0);w=_;_=0;if(!(w&1))break}r=ze(0)|0}}nb(d);n=e;a=e;b=19;break e}}while(0);nb(d)}}while(0);do{if((b|0)==19){Ze(r|0)|0;_=0;ue(181,n+(f[(f[a>>2]|0)+-12>>2]|0)|0);w=_;_=0;if(!(w&1)){Qe();break}r=ze()|0;_=0;Se(3);w=_;_=0;if(w&1){w=ze(0)|0;Fi(w)}else $e(r|0)}}while(0);c=k;return e|0}function sb(e){e=e|0;td(e+4|0);return}function lb(e){e=e|0;td(e+((f[(f[e>>2]|0)+-12>>2]|0)+4)|0);return}function ob(e){e=e|0;td(e+4|0);Ip(e);return}function ub(e){e=e|0;ob(e+(f[(f[e>>2]|0)+-12>>2]|0)|0);return}function cb(e,i){e=e|0;i=i|0;var r=0;t[e>>0]=0;f[e+4>>2]=i;r=f[(f[i>>2]|0)+-12>>2]|0;if(!(f[i+(r+16)>>2]|0)){r=f[i+(r+72)>>2]|0;if(r)Jd(r)|0;t[e>>0]=1}return}function hb(e){e=e|0;var i=0,r=0;e=e+4|0;r=f[e>>2]|0;i=f[(f[r>>2]|0)+-12>>2]|0;do{if((((f[r+(i+24)>>2]|0)!=0?(f[r+(i+16)>>2]|0)==0:0)?(f[r+(i+4)>>2]&8192|0)!=0:0)?!(ei()|0):0){i=f[e>>2]|0;i=f[i+((f[(f[i>>2]|0)+-12>>2]|0)+24)>>2]|0;_=0;i=de(f[(f[i>>2]|0)+24>>2]|0,i|0)|0;r=_;_=0;if(!(r&1)){if((i|0)!=-1)break;i=f[e>>2]|0;r=f[(f[i>>2]|0)+-12>>2]|0;_=0;ce(66,i+r|0,f[i+(r+16)>>2]|1|0);r=_;_=0;if(!(r&1))break}r=ze(0)|0;Ze(r|0)|0;_=0;Se(3);r=_;_=0;if(r&1){r=ze(0)|0;Fi(r)}}}while(0);return}function db(e){e=e|0;return 57453}function bb(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)!=1&(r|0)<257)gh(e,i,r);else Ph(e,57462,35);return}function kb(){if((t[1048]|0)==0?(De(1048)|0)!=0:0){f[10778]=43084;di(72,43112,w|0)|0;qe(1048)}return 43112}function wb(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;t=c;c=c+16|0;n=t+8|0;a=t;l=r;s=f[l+4>>2]|0;r=a;f[r>>2]=f[l>>2];f[r+4>>2]=s;f[n>>2]=f[a>>2];f[n+4>>2]=f[a+4>>2];Mh(e,n,i);f[e>>2]=43048;c=t;return}function _b(e){e=e|0;Sh(e);return}function mb(e){e=e|0;Sh(e);Ip(e);return}function vb(e){e=e|0;td(e);Ip(e);return}function pb(e){e=e|0;Ip(e);return}function gb(e){e=e|0;return}function yb(e){e=e|0;return}function Mb(e){e=e|0;Ip(e);return}function Eb(e,i,r,n,f){e=e|0;i=i|0;r=r|0;n=n|0;f=f|0;var a=0,s=0;e:do{if((n|0)==(f|0))s=6;else while(1){if((i|0)==(r|0)){i=-1;break e}e=t[i>>0]|0;a=t[n>>0]|0;if(e<<24>>24>24){i=-1;break e}if(a<<24>>24>24){i=1;break e}i=i+1|0;n=n+1|0;if((n|0)==(f|0)){s=6;break}}}while(0);if((s|0)==6)i=(i|0)!=(r|0)&1;return i|0}function Ab(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;ed(e,r,t);return}function Sb(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;if((i|0)==(r|0))e=0;else{e=0;do{e=(t[i>>0]|0)+(e<<4)|0;n=e&-268435456;e=(n>>>24|n)^e;i=i+1|0}while((i|0)!=(r|0))}return e|0}function Tb(e){e=e|0;return}function Cb(e){e=e|0;Ip(e);return}function Rb(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0;e:do{if((t|0)==(n|0))s=6;else while(1){if((i|0)==(r|0)){i=-1;break e}e=f[i>>2]|0;a=f[t>>2]|0;if((e|0)<(a|0)){i=-1;break e}if((a|0)<(e|0)){i=1;break e}i=i+4|0;t=t+4|0;if((t|0)==(n|0)){s=6;break}}}while(0);if((s|0)==6)i=(i|0)!=(r|0)&1;return i|0}function Lb(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;id(e,r,t);return}function Pb(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((i|0)==(r|0))e=0;else{e=0;do{e=(f[i>>2]|0)+(e<<4)|0;t=e&-268435456;e=(t>>>24|t)^e;i=i+4|0}while((i|0)!=(r|0))}return e|0}function xb(e){e=e|0;return}function Ob(e){e=e|0;Ip(e);return}function Bb(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0;m=c;c=c+64|0;k=m+56|0;l=m+52|0;d=m+48|0;o=m+44|0;u=m+40|0;h=m+36|0;b=m+32|0;v=m+8|0;w=m;e:do{if(!(f[n+4>>2]&1)){f[d>>2]=-1;v=f[(f[e>>2]|0)+16>>2]|0;f[o>>2]=f[i>>2];f[u>>2]=f[r>>2];f[l>>2]=f[o>>2];f[k>>2]=f[u>>2];l=sM[v&63](e,l,k,n,a,d)|0;f[i>>2]=l;switch(f[d>>2]|0){case 0:{t[s>>0]=0;break e}case 1:{t[s>>0]=1;break e}default:{t[s>>0]=1;f[a>>2]=4;break e}}}else{l=sd(n)|0;f[h>>2]=l;_=0;e=pe(37,h|0,44220)|0;d=_;_=0;do{if(!(d&1)){bh(l)|0;l=sd(n)|0;f[b>>2]=l;_=0;u=pe(37,b|0,44360)|0;b=_;_=0;if(b&1){v=ze()|0;bh(l)|0;l=v;break}bh(l)|0;_=0;ce(f[(f[u>>2]|0)+24>>2]|0,v|0,u|0);b=_;_=0;if(!(b&1)){o=v+12|0;_=0;ce(f[(f[u>>2]|0)+28>>2]|0,o|0,u|0);b=_;_=0;if(!(b&1)){f[w>>2]=f[r>>2];_=0;f[k>>2]=f[w>>2];l=se(7,i|0,k|0,v|0,v+24|0,e|0,a|0,1)|0;a=_;_=0;if(a&1){l=ze()|0;Oh(v+12|0);Oh(v);break}else{t[s>>0]=(l|0)==(v|0)&1;l=f[i>>2]|0;Oh(v+12|0);Oh(v);break e}}}else o=v;l=ze()|0;u=x;if((v|0)!=(o|0))do{o=o+-12|0;Oh(o)}while((o|0)!=(v|0))}else{v=ze()|0;bh(l)|0;l=v}}while(0);$e(l|0)}}while(0);c=m;return l|0}function Ib(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=Fw(e,o,l,t,n,a)|0;c=s;return e|0}function Db(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=Uw(e,o,l,t,n,a)|0;c=s;return e|0}function Nb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=jw(e,o,l,t,n,a)|0;c=s;return e|0}function Fb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=Hw(e,o,l,t,n,a)|0;c=s;return e|0}function Ub(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=zw(e,o,l,t,n,a)|0;c=s;return e|0}function jb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=Yw(e,o,l,t,n,a)|0;c=s;return e|0}function Hb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=qw(e,o,l,t,n,a)|0;c=s;return e|0}function zb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=Xw(e,o,l,t,n,a)|0;c=s;return e|0}function Yb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=Vw(e,o,l,t,n,a)|0;c=s;return e|0}function qb(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0;C=c;c=c+240|0;M=C;m=C+208|0;L=C+32|0;e=C+28|0;R=C+16|0;y=C+12|0;p=C+48|0;g=C+8|0;v=C+4|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;_=0;n=de(68,n|0)|0;w=_;_=0;do{if(w&1)e=ze()|0;else{f[e>>2]=n;_=0;e=pe(37,e|0,44220)|0;w=_;_=0;if(!(w&1)?(_=0,Ee(f[(f[e>>2]|0)+32>>2]|0,e|0,57498,57524,m|0)|0,w=_,_=0,!(w&1)):0){bh(n)|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;if(!(t[R>>0]&1))e=10;else e=(f[R>>2]&-2)+-1|0;_=0;Ae(8,R|0,e|0,0);w=_;_=0;e:do{if(!(w&1)){k=R+8|0;w=R+1|0;n=(t[R>>0]&1)==0?w:f[k>>2]|0;f[y>>2]=n;f[g>>2]=p;f[v>>2]=0;b=R+4|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;o=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;d=_;_=0;if(d&1){P=29;break}if((o|0)==-1){f[i>>2]=0;e=0}}}else e=0;u=(e|0)==0;o=f[r>>2]|0;do{if(o){if((f[o+12>>2]|0)!=(f[o+16>>2]|0))if(u)break;else break i;_=0;h=de(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;d=_;_=0;if(d&1){P=29;break i}if((h|0)!=-1)if(u)break;else break i;else{f[r>>2]=0;P=19;break}}else P=19}while(0);if((P|0)==19){P=0;if(u){o=0;break}else o=0}u=t[R>>0]|0;u=(u&1)==0?(u&255)>>>1:f[b>>2]|0;if((f[y>>2]|0)==(n+u|0)){_=0;Ae(8,R|0,u<<1|0,0);d=_;_=0;if(d&1){P=29;break}if(!(t[R>>0]&1))n=10;else n=(f[R>>2]&-2)+-1|0;_=0;Ae(8,R|0,n|0,0);d=_;_=0;if(d&1){P=29;break}n=(t[R>>0]&1)==0?w:f[k>>2]|0;f[y>>2]=n+u}h=e+12|0;u=f[h>>2]|0;d=e+16|0;if((u|0)==(f[d>>2]|0)){_=0;u=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;x=_;_=0;if(x&1){P=29;break}}else u=a[u>>0]|0;if(Xb(u&255,16,n,y,v,0,L,p,g,m)|0)break;o=f[h>>2]|0;if((o|0)==(f[d>>2]|0)){_=0;de(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;x=_;_=0;if(x&1){P=29;break}else continue}else{f[h>>2]=o+1;continue}}if((P|0)==29){e=ze()|0;break}_=0;Ae(8,R|0,(f[y>>2]|0)-n|0,0);x=_;_=0;if((!(x&1)?(E=t[R>>0]|0,A=f[k>>2]|0,_=0,S=Me(3)|0,x=_,_=0,!(x&1)):0)?(_=0,f[M>>2]=l,T=Ee(16,((E&1)==0?w:A)|0,S|0,58882,M|0)|0,x=_,_=0,!(x&1)):0){if((T|0)!=1)f[s>>2]=4;if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;n=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;x=_;_=0;if(x&1){P=30;break}if((n|0)==-1){f[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do{if(o){if((f[o+12>>2]|0)==(f[o+16>>2]|0)){_=0;e=de(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;x=_;_=0;if(x&1){P=30;break e}if((e|0)==-1){f[r>>2]=0;P=55;break}}if(!n)P=56}else P=55}while(0);if((P|0)==55?n:0)P=56;if((P|0)==56)f[s>>2]=f[s>>2]|2;x=f[i>>2]|0;Oh(R);Oh(L);c=C;return x|0}else P=30}else P=30}while(0);if((P|0)==30)e=ze()|0;Oh(R);break}e=ze()|0;bh(n)|0}}while(0);Oh(L);$e(e|0);return 0}function Xb(e,i,r,n,a,s,l,o,u,c){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;var h=0,d=0,b=0,k=0;b=f[n>>2]|0;k=(b|0)==(r|0);do{if(k){h=(t[c+24>>0]|0)==e<<24>>24;if(!h?(t[c+25>>0]|0)!=e<<24>>24:0){d=5;break}f[n>>2]=r+1;t[r>>0]=h?43:45;f[a>>2]=0;h=0}else d=5}while(0);e:do{if((d|0)==5){d=t[l>>0]|0;if(e<<24>>24==s<<24>>24?(((d&1)==0?(d&255)>>>1:f[l+4>>2]|0)|0)!=0:0){h=f[u>>2]|0;if((h-o|0)>=160){h=0;break}i=f[a>>2]|0;f[u>>2]=h+4;f[h>>2]=i;f[a>>2]=0;h=0;break}l=c+26|0;h=c;while(1){if((t[h>>0]|0)==e<<24>>24)break;h=h+1|0;if((h|0)==(l|0)){h=l;break}}h=h-c|0;if((h|0)>23)h=-1;else{switch(i|0){case 10:case 8:{if((h|0)>=(i|0)){h=-1;break e}break}case 16:{if((h|0)>=22){if(k){h=-1;break e}if((b-r|0)>=3){h=-1;break e}if((t[b+-1>>0]|0)!=48){h=-1;break e}f[a>>2]=0;h=t[57498+h>>0]|0;f[n>>2]=b+1;t[b>>0]=h;h=0;break e}break}default:{}}h=t[57498+h>>0]|0;f[n>>2]=b+1;t[b>>0]=h;f[a>>2]=(f[a>>2]|0)+1;h=0}}}while(0);return h|0}function Vb(){var e=0,i=0;do{if((t[1968]|0)==0?(De(1968)|0)!=0:0){_=0;e=ke(31,2147483647,58885,0)|0;i=_;_=0;if(i&1){i=ze()|0;gi(1968);$e(i|0)}else{f[11196]=e;qe(1968);break}}}while(0);return f[11196]|0}function Gb(e){e=e|0;return}function Kb(e){e=e|0;Ip(e);return}function Wb(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0;m=c;c=c+64|0;k=m+56|0;l=m+52|0;d=m+48|0;o=m+44|0;u=m+40|0;h=m+36|0;b=m+32|0;v=m+8|0;w=m;e:do{if(!(f[n+4>>2]&1)){f[d>>2]=-1;v=f[(f[e>>2]|0)+16>>2]|0;f[o>>2]=f[i>>2];f[u>>2]=f[r>>2];f[l>>2]=f[o>>2];f[k>>2]=f[u>>2];l=sM[v&63](e,l,k,n,a,d)|0;f[i>>2]=l;switch(f[d>>2]|0){case 0:{t[s>>0]=0;break e}case 1:{t[s>>0]=1;break e}default:{t[s>>0]=1;f[a>>2]=4;break e}}}else{l=sd(n)|0;f[h>>2]=l;_=0;e=pe(37,h|0,44212)|0;d=_;_=0;do{if(!(d&1)){bh(l)|0;l=sd(n)|0;f[b>>2]=l;_=0;u=pe(37,b|0,44368)|0;b=_;_=0;if(b&1){v=ze()|0;bh(l)|0;l=v;break}bh(l)|0;_=0;ce(f[(f[u>>2]|0)+24>>2]|0,v|0,u|0);b=_;_=0;if(!(b&1)){o=v+12|0;_=0;ce(f[(f[u>>2]|0)+28>>2]|0,o|0,u|0);b=_;_=0;if(!(b&1)){f[w>>2]=f[r>>2];_=0;f[k>>2]=f[w>>2];l=se(8,i|0,k|0,v|0,v+24|0,e|0,a|0,1)|0;a=_;_=0;if(a&1){l=ze()|0;Gh(v+12|0);Gh(v);break}else{t[s>>0]=(l|0)==(v|0)&1;l=f[i>>2]|0;Gh(v+12|0);Gh(v);break e}}}else o=v;l=ze()|0;u=x;if((v|0)!=(o|0))do{o=o+-12|0;Gh(o)}while((o|0)!=(v|0))}else{v=ze()|0;bh(l)|0;l=v}}while(0);$e(l|0)}}while(0);c=m;return l|0}function Zb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=Ww(e,o,l,t,n,a)|0;c=s;return e|0}function Jb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=Zw(e,o,l,t,n,a)|0;c=s;return e|0}function Qb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=Jw(e,o,l,t,n,a)|0;c=s;return e|0}function $b(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=Qw(e,o,l,t,n,a)|0;c=s;return e|0}function ek(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=$w(e,o,l,t,n,a)|0;c=s;return e|0}function ik(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=e_(e,o,l,t,n,a)|0;c=s;return e|0}function rk(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=i_(e,o,l,t,n,a)|0;c=s;return e|0}function tk(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=r_(e,o,l,t,n,a)|0;c=s;return e|0}function nk(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;f[h>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[h>>2];f[l>>2]=f[u>>2];e=t_(e,o,l,t,n,a)|0;c=s;return e|0}function fk(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0;T=c;c=c+320|0;y=T;w=T+208|0;R=T+32|0;e=T+28|0;C=T+16|0;g=T+12|0;v=T+48|0;p=T+8|0;m=T+4|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;_=0;n=de(68,n|0)|0;k=_;_=0;do{if(k&1)e=ze()|0;else{f[e>>2]=n;_=0;e=pe(37,e|0,44212)|0;k=_;_=0;if(!(k&1)?(_=0,Ee(f[(f[e>>2]|0)+48>>2]|0,e|0,57498,57524,w|0)|0,k=_,_=0,!(k&1)):0){bh(n)|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;if(!(t[C>>0]&1))e=10;else e=(f[C>>2]&-2)+-1|0;_=0;Ae(8,C|0,e|0,0);k=_;_=0;e:do{if(!(k&1)){b=C+8|0;k=C+1|0;e=(t[C>>0]&1)==0?k:f[b>>2]|0;f[g>>2]=e;f[p>>2]=v;f[m>>2]=0;d=C+4|0;l=f[i>>2]|0;i:while(1){if(l){n=f[l+12>>2]|0;if((n|0)==(f[l+16>>2]|0)){_=0;n=de(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;h=_;_=0;if(h&1){L=30;break}}else n=f[n>>2]|0;if((n|0)==-1){f[i>>2]=0;n=0;o=1}else{n=l;o=0}}else{n=0;o=1}u=f[r>>2]|0;do{if(u){l=f[u+12>>2]|0;if((l|0)==(f[u+16>>2]|0)){_=0;l=de(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;h=_;_=0;if(h&1){L=30;break i}}else l=f[l>>2]|0;if((l|0)!=-1)if(o){l=u;break}else{l=u;break i}else{f[r>>2]=0;L=20;break}}else L=20}while(0);if((L|0)==20){L=0;if(o){l=0;break}else l=0}o=t[C>>0]|0;o=(o&1)==0?(o&255)>>>1:f[d>>2]|0;if((f[g>>2]|0)==(e+o|0)){_=0;Ae(8,C|0,o<<1|0,0);h=_;_=0;if(h&1){L=30;break}if(!(t[C>>0]&1))e=10;else e=(f[C>>2]&-2)+-1|0;_=0;Ae(8,C|0,e|0,0);h=_;_=0;if(h&1){L=30;break}e=(t[C>>0]&1)==0?k:f[b>>2]|0;f[g>>2]=e+o}u=n+12|0;o=f[u>>2]|0;h=n+16|0;if((o|0)==(f[h>>2]|0)){_=0;o=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;P=_;_=0;if(P&1){L=30;break}}else o=f[o>>2]|0;if(ak(o,16,e,g,m,0,R,v,p,w)|0)break;l=f[u>>2]|0;if((l|0)==(f[h>>2]|0)){_=0;de(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;P=_;_=0;if(P&1){L=30;break}else{l=n;continue}}else{f[u>>2]=l+4;l=n;continue}}if((L|0)==30){e=ze()|0;break}_=0;Ae(8,C|0,(f[g>>2]|0)-e|0,0);P=_;_=0;if((!(P&1)?(M=t[C>>0]|0,E=f[b>>2]|0,_=0,A=Me(3)|0,P=_,_=0,!(P&1)):0)?(_=0,f[y>>2]=s,S=Ee(16,((M&1)==0?k:E)|0,A|0,58882,y|0)|0,P=_,_=0,!(P&1)):0){if((S|0)!=1)f[a>>2]=4;if(n){e=f[n+12>>2]|0;if((e|0)==(f[n+16>>2]|0)){_=0;e=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;P=_;_=0;if(P&1){L=31;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;n=1}else n=0}else n=1;do{if(l){e=f[l+12>>2]|0;if((e|0)==(f[l+16>>2]|0)){_=0;e=de(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;P=_;_=0;if(P&1){L=31;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(n)break;else{L=59;break}else{f[r>>2]=0;L=57;break}}else L=57}while(0);if((L|0)==57?n:0)L=59;if((L|0)==59)f[a>>2]=f[a>>2]|2;P=f[i>>2]|0;Oh(C);Oh(R);c=T;return P|0}else L=31}else L=31}while(0);if((L|0)==31)e=ze()|0;Oh(C);break}e=ze()|0;bh(n)|0}}while(0);Oh(R);$e(e|0);return 0}function ak(e,i,r,n,a,s,l,o,u,c){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;var h=0,d=0,b=0,k=0;b=f[n>>2]|0;k=(b|0)==(r|0);do{if(k){h=(f[c+96>>2]|0)==(e|0);if(!h?(f[c+100>>2]|0)!=(e|0):0){d=5;break}f[n>>2]=r+1;t[r>>0]=h?43:45;f[a>>2]=0;h=0}else d=5}while(0);e:do{if((d|0)==5){d=t[l>>0]|0;if((e|0)==(s|0)?(((d&1)==0?(d&255)>>>1:f[l+4>>2]|0)|0)!=0:0){h=f[u>>2]|0;if((h-o|0)>=160){h=0;break}i=f[a>>2]|0;f[u>>2]=h+4;f[h>>2]=i;f[a>>2]=0;h=0;break}l=c+104|0;h=c;while(1){if((f[h>>2]|0)==(e|0))break;h=h+4|0;if((h|0)==(l|0)){h=l;break}}h=h-c|0;l=h>>2;if((h|0)>92)h=-1;else{switch(i|0){case 10:case 8:{if((l|0)>=(i|0)){h=-1;break e}break}case 16:{if((h|0)>=88){if(k){h=-1;break e}if((b-r|0)>=3){h=-1;break e}if((t[b+-1>>0]|0)!=48){h=-1;break e}f[a>>2]=0;h=t[57498+l>>0]|0;f[n>>2]=b+1;t[b>>0]=h;h=0;break e}break}default:{}}h=t[57498+l>>0]|0;f[n>>2]=b+1;t[b>>0]=h;f[a>>2]=(f[a>>2]|0)+1;h=0}}}while(0);return h|0}function sk(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;o=u;i=sd(i)|0;f[o>>2]=i;_=0;a=pe(37,o|0,44220)|0;h=_;_=0;if((((!(h&1)?(_=0,Ee(f[(f[a>>2]|0)+32>>2]|0,a|0,57498,57524,r|0)|0,h=_,_=0,!(h&1)):0)?(_=0,l=pe(37,o|0,44360)|0,h=_,_=0,!(h&1)):0)?(_=0,s=de(f[(f[l>>2]|0)+16>>2]|0,l|0)|0,h=_,_=0,!(h&1)):0)?(t[n>>0]=s,_=0,ce(f[(f[l>>2]|0)+20>>2]|0,e|0,l|0),h=_,_=0,!(h&1)):0){bh(i)|0;c=u;return}h=ze()|0;bh(i)|0;$e(h|0)}function lk(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0;d=c;c=c+16|0;h=d;i=sd(i)|0;f[h>>2]=i;_=0;s=pe(37,h|0,44220)|0;b=_;_=0;if(((((!(b&1)?(_=0,Ee(f[(f[s>>2]|0)+32>>2]|0,s|0,57498,57530,r|0)|0,b=_,_=0,!(b&1)):0)?(_=0,u=pe(37,h|0,44360)|0,b=_,_=0,!(b&1)):0)?(_=0,l=de(f[(f[u>>2]|0)+12>>2]|0,u|0)|0,b=_,_=0,!(b&1)):0)?(t[n>>0]=l,_=0,o=de(f[(f[u>>2]|0)+16>>2]|0,u|0)|0,b=_,_=0,!(b&1)):0)?(t[a>>0]=o,_=0,ce(f[(f[u>>2]|0)+20>>2]|0,e|0,u|0),b=_,_=0,!(b&1)):0){bh(i)|0;c=d;return}b=ze()|0;bh(i)|0;$e(b|0)}function ok(e,i,r,n,s,l,o,u,c,h,d,b){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;h=h|0;d=d|0;b=b|0;var k=0,w=0;e:do{if(e<<24>>24==l<<24>>24)if(t[i>>0]|0){t[i>>0]=0;r=f[s>>2]|0;f[s>>2]=r+1;t[r>>0]=46;r=t[u>>0]|0;if((((r&1)==0?(r&255)>>>1:f[u+4>>2]|0)|0)!=0?(k=f[h>>2]|0,(k-c|0)<160):0){c=f[d>>2]|0;f[h>>2]=k+4;f[k>>2]=c;k=0}else k=0}else k=-1;else{if(e<<24>>24==o<<24>>24?(o=t[u>>0]|0,(((o&1)==0?(o&255)>>>1:f[u+4>>2]|0)|0)!=0):0){if(!(t[i>>0]|0)){k=-1;break}k=f[h>>2]|0;if((k-c|0)>=160){k=0;break}c=f[d>>2]|0;f[h>>2]=k+4;f[k>>2]=c;f[d>>2]=0;k=0;break}l=b+32|0;k=b;while(1){if((t[k>>0]|0)==e<<24>>24)break;k=k+1|0;if((k|0)==(l|0)){k=l;break}}l=k-b|0;if((l|0)>31)k=-1;else{o=t[57498+l>>0]|0;switch(l|0){case 24:case 25:{k=f[s>>2]|0;if((k|0)!=(n|0)?(a[k+-1>>0]&95|0)!=(a[r>>0]&127|0):0){k=-1;break e}f[s>>2]=k+1;t[k>>0]=o;k=0;break e}case 23:case 22:{t[r>>0]=80;k=f[s>>2]|0;f[s>>2]=k+1;t[k>>0]=o;k=0;break e}default:{k=o&95;if((((k|0)==(t[r>>0]|0)?(t[r>>0]=k|128,(t[i>>0]|0)!=0):0)?(t[i>>0]=0,r=t[u>>0]|0,(((r&1)==0?(r&255)>>>1:f[u+4>>2]|0)|0)!=0):0)?(w=f[h>>2]|0,(w-c|0)<160):0){c=f[d>>2]|0;f[h>>2]=w+4;f[w>>2]=c}h=f[s>>2]|0;f[s>>2]=h+1;t[h>>0]=o;if((l|0)>21){k=0;break e}f[d>>2]=(f[d>>2]|0)+1;k=0;break e}}}}}while(0);return k|0}function uk(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0;o=c;c=c+16|0;l=o;i=sd(i)|0;f[l>>2]=i;_=0;n=pe(37,l|0,44212)|0;u=_;_=0;if((((!(u&1)?(_=0,Ee(f[(f[n>>2]|0)+48>>2]|0,n|0,57498,57524,r|0)|0,u=_,_=0,!(u&1)):0)?(_=0,s=pe(37,l|0,44368)|0,u=_,_=0,!(u&1)):0)?(_=0,a=de(f[(f[s>>2]|0)+16>>2]|0,s|0)|0,u=_,_=0,!(u&1)):0)?(f[t>>2]=a,_=0,ce(f[(f[s>>2]|0)+20>>2]|0,e|0,s|0),u=_,_=0,!(u&1)):0){bh(i)|0;c=o;return}u=ze()|0;bh(i)|0;$e(u|0)}function ck(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0;h=c;c=c+16|0;u=h;i=sd(i)|0;f[u>>2]=i;_=0;a=pe(37,u|0,44212)|0;d=_;_=0;if(((((!(d&1)?(_=0,Ee(f[(f[a>>2]|0)+48>>2]|0,a|0,57498,57530,r|0)|0,d=_,_=0,!(d&1)):0)?(_=0,o=pe(37,u|0,44368)|0,d=_,_=0,!(d&1)):0)?(_=0,s=de(f[(f[o>>2]|0)+12>>2]|0,o|0)|0,d=_,_=0,!(d&1)):0)?(f[t>>2]=s,_=0,l=de(f[(f[o>>2]|0)+16>>2]|0,o|0)|0,d=_,_=0,!(d&1)):0)?(f[n>>2]=l,_=0,ce(f[(f[o>>2]|0)+20>>2]|0,e|0,o|0),d=_,_=0,!(d&1)):0){bh(i)|0;c=h;return}d=ze()|0;bh(i)|0;$e(d|0)}function hk(e,i,r,n,s,l,o,u,c,h,d,b){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;h=h|0;d=d|0;b=b|0;var k=0,w=0;e:do{if((e|0)==(l|0))if(t[i>>0]|0){t[i>>0]=0;r=f[s>>2]|0;f[s>>2]=r+1;t[r>>0]=46;r=t[u>>0]|0;if((((r&1)==0?(r&255)>>>1:f[u+4>>2]|0)|0)!=0?(k=f[h>>2]|0,(k-c|0)<160):0){c=f[d>>2]|0;f[h>>2]=k+4;f[k>>2]=c;k=0}else k=0}else k=-1;else{if((e|0)==(o|0)?(o=t[u>>0]|0,(((o&1)==0?(o&255)>>>1:f[u+4>>2]|0)|0)!=0):0){if(!(t[i>>0]|0)){k=-1;break}k=f[h>>2]|0;if((k-c|0)>=160){k=0;break}c=f[d>>2]|0;f[h>>2]=k+4;f[k>>2]=c;f[d>>2]=0;k=0;break}l=b+128|0;k=b;while(1){if((f[k>>2]|0)==(e|0))break;k=k+4|0;if((k|0)==(l|0)){k=l;break}}l=k-b|0;k=l>>2;if((l|0)<=124){o=t[57498+k>>0]|0;switch(k|0){case 24:case 25:{k=f[s>>2]|0;if((k|0)!=(n|0)?(a[k+-1>>0]&95|0)!=(a[r>>0]&127|0):0){k=-1;break e}f[s>>2]=k+1;t[k>>0]=o;k=0;break e}case 23:case 22:{t[r>>0]=80;break}default:{k=o&95;if((((k|0)==(t[r>>0]|0)?(t[r>>0]=k|128,(t[i>>0]|0)!=0):0)?(t[i>>0]=0,r=t[u>>0]|0,(((r&1)==0?(r&255)>>>1:f[u+4>>2]|0)|0)!=0):0)?(w=f[h>>2]|0,(w-c|0)<160):0){c=f[d>>2]|0;f[h>>2]=w+4;f[w>>2]=c}}}h=f[s>>2]|0;f[s>>2]=h+1;t[h>>0]=o;if((l|0)>84)k=0;else{f[d>>2]=(f[d>>2]|0)+1;k=0}}else k=-1}}while(0);return k|0}function dk(e){e=e|0;return}function bk(e){e=e|0;Ip(e);return}function kk(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0;d=c;c=c+32|0;s=d+20|0;l=d+16|0;o=d+12|0;h=d;e:do{if(!(f[r+4>>2]&1)){h=f[(f[e>>2]|0)+24>>2]|0;f[l>>2]=f[i>>2];f[s>>2]=f[l>>2];s=wM[h&31](e,s,r,n,a&1)|0}else{s=sd(r)|0;f[o>>2]=s;_=0;l=pe(37,o|0,44360)|0;u=_;_=0;i:do{if(u&1){d=ze()|0;bh(s)|0;s=d}else{bh(s)|0;s=f[l>>2]|0;if(a)aM[f[s+24>>2]&127](h,l);else aM[f[s+28>>2]&127](h,l);e=t[h>>0]|0;u=(e&1)==0;s=h+1|0;a=h+8|0;o=u?s:h+1|0;s=u?s:f[h+8>>2]|0;u=h+4|0;r=(e&1)==0;r:do{if((s|0)!=((r?o:f[a>>2]|0)+(r?(e&255)>>>1:f[u>>2]|0)|0)){t:while(1){l=t[s>>0]|0;n=f[i>>2]|0;do{if(n){r=n+24|0;e=f[r>>2]|0;if((e|0)!=(f[n+28>>2]|0)){f[r>>2]=e+1;t[e>>0]=l;break}_=0;l=pe(f[(f[n>>2]|0)+52>>2]|0,n|0,l&255|0)|0;e=_;_=0;if(e&1)break t;if((l|0)==-1)f[i>>2]=0}}while(0);s=s+1|0;e=t[h>>0]|0;r=(e&1)==0;if((s|0)==((r?o:f[a>>2]|0)+(r?(e&255)>>>1:f[u>>2]|0)|0))break r}s=ze()|0;Oh(h);break i}}while(0);s=f[i>>2]|0;Oh(h);break e}}while(0);$e(s|0)}}while(0);c=d;return s|0}function wk(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0;d=c;c=c+64|0;s=d;k=d+56|0;w=d+44|0;o=d+20|0;h=d+16|0;u=d+12|0;b=d+8|0;l=d+4|0;t[k>>0]=t[58887]|0;t[k+1>>0]=t[58888]|0;t[k+2>>0]=t[58889]|0;t[k+3>>0]=t[58890]|0;t[k+4>>0]=t[58891]|0;t[k+5>>0]=t[58892]|0;_k(k+1|0,58893,1,f[r+4>>2]|0);e=Vb()|0;f[s>>2]=a;a=w+(n_(w,12,e,k,s)|0)|0;k=mk(w,a,r)|0;e=sd(r)|0;f[b>>2]=e;_=0;me(1,w|0,k|0,a|0,o|0,h|0,u|0,b|0);a=_;_=0;if(a&1){w=ze()|0;bh(e)|0;$e(w|0)}else{bh(e)|0;f[l>>2]=f[i>>2];k=f[h>>2]|0;w=f[u>>2]|0;f[s>>2]=f[l>>2];w=Dr(s,o,k,w,r,n)|0;c=d;return w|0}return 0}function _k(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var f=0,a=0;if(n&2048){t[e>>0]=43;e=e+1|0}if(n&512){t[e>>0]=35;e=e+1|0}f=t[i>>0]|0;if(f<<24>>24){a=i;while(1){a=a+1|0;i=e+1|0;t[e>>0]=f;f=t[a>>0]|0;if(!(f<<24>>24)){e=i;break}else e=i}}e:do{switch(n&74|0){case 64:{t[e>>0]=111;break}case 8:if(!(n&16384)){t[e>>0]=120;break e}else{t[e>>0]=88;break e}default:if(r){t[e>>0]=100;break e}else{t[e>>0]=117;break e}}}while(0);return}function mk(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;e:do{switch(f[r+4>>2]&176|0){case 16:{r=t[e>>0]|0;switch(r<<24>>24){case 43:case 45:{e=e+1|0;break e}default:{}}if((i-e|0)>1&r<<24>>24==48){switch(t[e+1>>0]|0){case 88:case 120:break;default:{n=7;break e}}e=e+2|0}else n=7;break}case 32:{e=i;break}default:n=7}}while(0);return e|0}function vk(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0;g=c;c=c+16|0;y=g;v=Du(l,44220)|0;h=Du(l,44360)|0;aM[f[(f[h>>2]|0)+20>>2]&127](y,h);w=t[y>>0]|0;m=y+4|0;e:do{if(!(((w&1)==0?(w&255)>>>1:f[m>>2]|0)|0)){_=0;Ee(f[(f[v>>2]|0)+32>>2]|0,v|0,e|0,r|0,n|0)|0;p=_;_=0;if(p&1)p=5;else{l=n+(r-e)|0;f[s>>2]=l;p=29}}else{f[s>>2]=n;l=t[e>>0]|0;switch(l<<24>>24){case 43:case 45:{_=0;l=pe(f[(f[v>>2]|0)+28>>2]|0,v|0,l|0)|0;w=_;_=0;if(w&1){p=5;break e}u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=l;u=e+1|0;break}default:u=e}i:do{if((r-u|0)>1?(t[u>>0]|0)==48:0){l=u+1|0;switch(t[l>>0]|0){case 88:case 120:break;default:break i}_=0;o=pe(f[(f[v>>2]|0)+28>>2]|0,v|0,48)|0;w=_;_=0;if(w&1){p=5;break e}w=f[s>>2]|0;f[s>>2]=w+1;t[w>>0]=o;_=0;l=pe(f[(f[v>>2]|0)+28>>2]|0,v|0,t[l>>0]|0)|0;w=_;_=0;if(w&1){p=5;break e}w=f[s>>2]|0;f[s>>2]=w+1;t[w>>0]=l;u=u+2|0}}while(0);if((u|0)!=(r|0)?(d=r+-1|0,u>>>0>>0):0){o=u;l=d;do{w=t[o>>0]|0;t[o>>0]=t[l>>0]|0;t[l>>0]=w;o=o+1|0;l=l+-1|0}while(o>>>0>>0)}_=0;d=de(f[(f[h>>2]|0)+16>>2]|0,h|0)|0;w=_;_=0;if(!(w&1)){b=y+8|0;k=y+1|0;i:do{if(u>>>0>>0){l=0;o=0;w=u;while(1){h=t[((t[y>>0]&1)==0?k:f[b>>2]|0)+o>>0]|0;if(h<<24>>24!=0&(l|0)==(h<<24>>24|0)){l=f[s>>2]|0;f[s>>2]=l+1;t[l>>0]=d;l=t[y>>0]|0;h=0;o=(o>>>0<(((l&1)==0?(l&255)>>>1:f[m>>2]|0)+-1|0)>>>0&1)+o|0}else h=l;_=0;l=pe(f[(f[v>>2]|0)+28>>2]|0,v|0,t[w>>0]|0)|0;M=_;_=0;if(M&1)break;M=f[s>>2]|0;f[s>>2]=M+1;t[M>>0]=l;w=w+1|0;if(w>>>0>=r>>>0)break i;else l=h+1|0}l=ze()|0;break e}}while(0);o=e;l=n+(u-o)|0;e=f[s>>2]|0;if((l|0)==(e|0)){e=o;p=29}else{e=e+-1|0;if(l>>>0>>0)do{M=t[l>>0]|0;t[l>>0]=t[e>>0]|0;t[e>>0]=M;l=l+1|0;e=e+-1|0}while(l>>>0>>0);e=o;l=f[s>>2]|0;p=29}}else p=5}}while(0);if((p|0)==5)l=ze()|0;else if((p|0)==29){f[a>>2]=(i|0)==(r|0)?l:n+(i-e)|0;Oh(y);c=g;return}Oh(y);$e(l|0)}function pk(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0;d=c;c=c+96|0;s=d+8|0;e=d;k=d+74|0;o=d+32|0;h=d+28|0;u=d+24|0;b=d+20|0;l=d+16|0;w=e;f[w>>2]=37;f[w+4>>2]=0;_k(e+1|0,58895,1,f[r+4>>2]|0);w=Vb()|0;m=s;f[m>>2]=n;f[m+4>>2]=a;a=k+(n_(k,22,w,e,s)|0)|0;n=mk(k,a,r)|0;e=sd(r)|0;f[b>>2]=e;_=0;me(1,k|0,n|0,a|0,o|0,h|0,u|0,b|0);a=_;_=0;if(a&1){m=ze()|0;bh(e)|0;$e(m|0)}else{bh(e)|0;f[l>>2]=f[i>>2];w=f[h>>2]|0;m=f[u>>2]|0;f[s>>2]=f[l>>2];m=Dr(s,o,w,m,r,t)|0;c=d;return m|0}return 0}function gk(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0;d=c;c=c+64|0;s=d;k=d+56|0;w=d+44|0;o=d+20|0;h=d+16|0;u=d+12|0;b=d+8|0;l=d+4|0;t[k>>0]=t[58887]|0;t[k+1>>0]=t[58888]|0;t[k+2>>0]=t[58889]|0;t[k+3>>0]=t[58890]|0;t[k+4>>0]=t[58891]|0;t[k+5>>0]=t[58892]|0;_k(k+1|0,58893,0,f[r+4>>2]|0);e=Vb()|0;f[s>>2]=a;a=w+(n_(w,12,e,k,s)|0)|0;k=mk(w,a,r)|0;e=sd(r)|0;f[b>>2]=e;_=0;me(1,w|0,k|0,a|0,o|0,h|0,u|0,b|0);a=_;_=0;if(a&1){w=ze()|0;bh(e)|0;$e(w|0)}else{bh(e)|0;f[l>>2]=f[i>>2];k=f[h>>2]|0;w=f[u>>2]|0;f[s>>2]=f[l>>2];w=Dr(s,o,k,w,r,n)|0;c=d;return w|0}return 0}function yk(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0;d=c;c=c+112|0;s=d+8|0;e=d;k=d+75|0;o=d+32|0;h=d+28|0;u=d+24|0;b=d+20|0;l=d+16|0;w=e;f[w>>2]=37;f[w+4>>2]=0;_k(e+1|0,58895,0,f[r+4>>2]|0);w=Vb()|0;m=s;f[m>>2]=n;f[m+4>>2]=a;a=k+(n_(k,23,w,e,s)|0)|0;n=mk(k,a,r)|0;e=sd(r)|0;f[b>>2]=e;_=0;me(1,k|0,n|0,a|0,o|0,h|0,u|0,b|0);a=_;_=0;if(a&1){m=ze()|0;bh(e)|0;$e(m|0)}else{bh(e)|0;f[l>>2]=f[i>>2];w=f[h>>2]|0;m=f[u>>2]|0;f[s>>2]=f[l>>2];m=Dr(s,o,w,m,r,t)|0;c=d;return m|0}return 0}function Mk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var a=0,s=0,l=0,o=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0;A=c;c=c+176|0;p=A+84|0;k=A+48|0;b=A+32|0;o=A+24|0;a=A+8|0;d=A;m=A+88|0;v=A+80|0;l=A+118|0;E=A+76|0;M=A+72|0;g=A+68|0;y=A+64|0;h=d;f[h>>2]=37;f[h+4>>2]=0;h=Ek(d+1|0,58898,f[r+4>>2]|0)|0;f[v>>2]=m;e=Vb()|0;if(h){f[a>>2]=f[r+8>>2];u[a+8>>3]=n;a=n_(m,30,e,d,a)|0}else{u[o>>3]=n;a=n_(m,30,e,d,o)|0}e:do{if((a|0)>29){_=0;e=Me(3)|0;a=_;_=0;a=a&1;if(h){if(!a?(_=0,f[b>>2]=f[r+8>>2],u[b+8>>3]=n,s=Ee(17,v|0,e|0,d|0,b|0)|0,w=_,_=0,!(w&1)):0)S=12}else if(!a?(_=0,f[k>>2]=f[r+8>>2],u[k+8>>3]=n,w=Ee(17,v|0,e|0,d|0,k|0)|0,k=_,_=0,!(k&1)):0){s=w;S=12}do{if((S|0)==12){e=f[v>>2]|0;if(!e){_=0;Se(6);w=_;_=0;if(w&1)break;a=f[v>>2]|0}else a=e;e=a;d=a;S=16;break e}}while(0);e=ze()|0}else{e=f[v>>2]|0;d=0;s=a;S=16}}while(0);if((S|0)==16){o=e+s|0;h=mk(e,o,r)|0;do{if((e|0)==(m|0)){e=m;a=0;S=22}else{s=Lc(s<<1)|0;if(!s){_=0;Se(6);S=_;_=0;if(S&1){a=0;S=20;break}e=f[v>>2]|0}a=s;l=s;S=22}}while(0);do{if((S|0)==22){_=0;s=de(68,r|0)|0;v=_;_=0;if(!(v&1)){f[g>>2]=s;_=0;me(2,e|0,h|0,o|0,l|0,E|0,M|0,g|0);g=_;_=0;if(g&1){e=ze()|0;bh(s)|0;break}bh(s)|0;f[y>>2]=f[i>>2];S=f[E>>2]|0;e=f[M>>2]|0;_=0;f[p>>2]=f[y>>2];e=he(39,p|0,l|0,S|0,e|0,r|0,t|0)|0;S=_;_=0;if(!(S&1)){f[i>>2]=e;if(a)Pc(a);if(d)Pc(d);c=A;return e|0}else S=20}else S=20}}while(0);if((S|0)==20)e=ze()|0;if(a)Pc(a);if(d)Pc(d)}$e(e|0);return 0}function Ek(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,f=0,a=0,s=0,l=0;if(r&2048){t[e>>0]=43;e=e+1|0}if(r&1024){t[e>>0]=35;e=e+1|0}s=r&260;f=r>>>14;l=(s|0)==260;if(l)a=0;else{t[e>>0]=46;t[e+1>>0]=42;e=e+2|0;a=1}r=t[i>>0]|0;if(r<<24>>24){n=e;while(1){i=i+1|0;e=n+1|0;t[n>>0]=r;r=t[i>>0]|0;if(!(r<<24>>24))break;else n=e}}e:do{switch(s|0){case 4:if(!(f&1)){t[e>>0]=102;break e}else{t[e>>0]=70;break e}case 256:if(!(f&1)){t[e>>0]=101;break e}else{t[e>>0]=69;break e}default:{r=(f&1|0)!=0;if(l)if(r){t[e>>0]=65;break e}else{t[e>>0]=97;break e}else if(r){t[e>>0]=71;break e}else{t[e>>0]=103;break e}}}}while(0);return a|0}function Ak(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0;A=c;c=c+16|0;S=A;E=Du(l,44220)|0;y=Du(l,44360)|0;aM[f[(f[y>>2]|0)+20>>2]&127](S,y);f[s>>2]=n;l=t[e>>0]|0;switch(l<<24>>24){case 43:case 45:{_=0;l=pe(f[(f[E>>2]|0)+28>>2]|0,E|0,l|0)|0;M=_;_=0;if(M&1)g=8;else{d=f[s>>2]|0;f[s>>2]=d+1;t[d>>0]=l;d=e+1|0;g=10}break}default:{d=e;g=10}}e:do{if((g|0)==10){M=r;i:do{if((M-d|0)>1?(t[d>>0]|0)==48:0){u=d+1|0;switch(t[u>>0]|0){case 88:case 120:break;default:{g=11;break i}}_=0;l=pe(f[(f[E>>2]|0)+28>>2]|0,E|0,48)|0;p=_;_=0;if(p&1){g=8;break e}p=f[s>>2]|0;f[s>>2]=p+1;t[p>>0]=l;d=d+2|0;_=0;l=pe(f[(f[E>>2]|0)+28>>2]|0,E|0,t[u>>0]|0)|0;p=_;_=0;if(p&1){g=8;break e}p=f[s>>2]|0;f[s>>2]=p+1;t[p>>0]=l;if(d>>>0>>0){l=d;while(1){u=t[l>>0]|0;_=0;h=Me(3)|0;p=_;_=0;if(p&1)break;_=0;u=pe(39,u<<24>>24|0,h|0)|0;p=_;_=0;if(p&1)break;if(!u){p=d;break i}l=l+1|0;if(l>>>0>=r>>>0){p=d;break i}}l=ze()|0;break e}else{p=d;l=d}}else g=11}while(0);i:do{if((g|0)==11)if(d>>>0>>0){l=d;while(1){u=t[l>>0]|0;_=0;h=Me(3)|0;p=_;_=0;if(p&1)break;_=0;u=pe(40,u<<24>>24|0,h|0)|0;p=_;_=0;if(p&1)break;if(!u){p=d;break i}l=l+1|0;if(l>>>0>=r>>>0){p=d;break i}}l=ze()|0;break e}else{p=d;l=d}}while(0);m=t[S>>0]|0;v=S+4|0;if(((m&1)==0?(m&255)>>>1:f[v>>2]|0)|0){if((p|0)!=(l|0)?(b=l+-1|0,p>>>0>>0):0){h=p;u=b;do{m=t[h>>0]|0;t[h>>0]=t[u>>0]|0;t[u>>0]=m;h=h+1|0;u=u+-1|0}while(h>>>0>>0)}_=0;b=de(f[(f[y>>2]|0)+16>>2]|0,y|0)|0;m=_;_=0;if(m&1){g=8;break}k=S+8|0;w=S+1|0;i:do{if(p>>>0>>0){u=0;h=0;m=p;while(1){d=t[((t[S>>0]&1)==0?w:f[k>>2]|0)+h>>0]|0;if(d<<24>>24>0&(u|0)==(d<<24>>24|0)){u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=b;u=t[S>>0]|0;d=0;h=(h>>>0<(((u&1)==0?(u&255)>>>1:f[v>>2]|0)+-1|0)>>>0&1)+h|0}else d=u;_=0;u=pe(f[(f[E>>2]|0)+28>>2]|0,E|0,t[m>>0]|0)|0;T=_;_=0;if(T&1)break;T=f[s>>2]|0;f[s>>2]=T+1;t[T>>0]=u;m=m+1|0;if(m>>>0>=l>>>0)break i;else u=d+1|0}l=ze()|0;break e}}while(0);u=n+(p-e)|0;h=f[s>>2]|0;if((u|0)!=(h|0)?(o=h+-1|0,u>>>0>>0):0){do{T=t[u>>0]|0;t[u>>0]=t[o>>0]|0;t[o>>0]=T;u=u+1|0;o=o+-1|0}while(u>>>0>>0);u=E}else u=E}else{_=0;Ee(f[(f[E>>2]|0)+32>>2]|0,E|0,p|0,l|0,f[s>>2]|0)|0;T=_;_=0;if(T&1){g=8;break}f[s>>2]=(f[s>>2]|0)+(l-p);u=E}i:do{if(l>>>0>>0){while(1){o=t[l>>0]|0;if(o<<24>>24==46)break;_=0;o=pe(f[(f[u>>2]|0)+28>>2]|0,E|0,o|0)|0;T=_;_=0;if(T&1){g=4;break}T=f[s>>2]|0;f[s>>2]=T+1;t[T>>0]=o;l=l+1|0;if(l>>>0>=r>>>0)break i}if((g|0)==4){l=ze()|0;break e}_=0;o=de(f[(f[y>>2]|0)+12>>2]|0,y|0)|0;T=_;_=0;if(T&1){g=8;break e}T=f[s>>2]|0;f[s>>2]=T+1;t[T>>0]=o;l=l+1|0}}while(0);_=0;Ee(f[(f[E>>2]|0)+32>>2]|0,E|0,l|0,r|0,f[s>>2]|0)|0;T=_;_=0;if(T&1)g=8;else{T=(f[s>>2]|0)+(M-l)|0;f[s>>2]=T;f[a>>2]=(i|0)==(r|0)?T:n+(i-e)|0;Oh(S);c=A;return}}}while(0);if((g|0)==8)l=ze()|0;Oh(S);$e(l|0)}function Sk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var a=0,s=0,l=0,o=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0;A=c;c=c+176|0;p=A+76|0;k=A+48|0;b=A+32|0;o=A+24|0;a=A+8|0;d=A;m=A+80|0;v=A+72|0;l=A+110|0;E=A+68|0;M=A+64|0;g=A+60|0;y=A+56|0;h=d;f[h>>2]=37;f[h+4>>2]=0;h=Ek(d+1|0,58899,f[r+4>>2]|0)|0;f[v>>2]=m;e=Vb()|0;if(h){f[a>>2]=f[r+8>>2];u[a+8>>3]=n;a=n_(m,30,e,d,a)|0}else{u[o>>3]=n;a=n_(m,30,e,d,o)|0}e:do{if((a|0)>29){_=0;e=Me(3)|0;a=_;_=0;a=a&1;if(h){if(!a?(_=0,f[b>>2]=f[r+8>>2],u[b+8>>3]=n,s=Ee(17,v|0,e|0,d|0,b|0)|0,w=_,_=0,!(w&1)):0)S=12}else if(!a?(_=0,u[k>>3]=n,w=Ee(17,v|0,e|0,d|0,k|0)|0,k=_,_=0,!(k&1)):0){s=w;S=12}do{if((S|0)==12){e=f[v>>2]|0;if(!e){_=0;Se(6);w=_;_=0;if(w&1)break;a=f[v>>2]|0}else a=e;e=a;d=a;S=16;break e}}while(0);e=ze()|0}else{e=f[v>>2]|0;d=0;s=a;S=16}}while(0);if((S|0)==16){o=e+s|0;h=mk(e,o,r)|0;do{if((e|0)==(m|0)){e=m;a=0;S=22}else{s=Lc(s<<1)|0;if(!s){_=0;Se(6);S=_;_=0;if(S&1){a=0;S=20;break}e=f[v>>2]|0}a=s;l=s;S=22}}while(0);do{if((S|0)==22){_=0;s=de(68,r|0)|0;v=_;_=0;if(!(v&1)){f[g>>2]=s;_=0;me(2,e|0,h|0,o|0,l|0,E|0,M|0,g|0);g=_;_=0;if(g&1){e=ze()|0;bh(s)|0;break}bh(s)|0;f[y>>2]=f[i>>2];S=f[E>>2]|0;e=f[M>>2]|0;_=0;f[p>>2]=f[y>>2];e=he(39,p|0,l|0,S|0,e|0,r|0,t|0)|0;S=_;_=0;if(!(S&1)){f[i>>2]=e;if(a)Pc(a);if(d)Pc(d);c=A;return e|0}else S=20}else S=20}}while(0);if((S|0)==20)e=ze()|0;if(a)Pc(a);if(d)Pc(d)}$e(e|0);return 0}function Tk(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0;k=c;c=c+80|0;u=k;e=k+70|0;d=k+12|0;b=k+32|0;o=k+8|0;h=k+4|0;t[e>>0]=t[58901]|0;t[e+1>>0]=t[58902]|0;t[e+2>>0]=t[58903]|0;t[e+3>>0]=t[58904]|0;t[e+4>>0]=t[58905]|0;t[e+5>>0]=t[58906]|0;s=Vb()|0;f[u>>2]=a;e=n_(d,20,s,e,u)|0;a=d+e|0;s=mk(d,a,r)|0;l=sd(r)|0;f[o>>2]=l;_=0;o=pe(37,o|0,44220)|0;w=_;_=0;if(w&1){w=ze()|0;bh(l)|0;$e(w|0)}else{bh(l)|0;vM[f[(f[o>>2]|0)+32>>2]&31](o,d,a,b)|0;w=b+e|0;f[h>>2]=f[i>>2];f[u>>2]=f[h>>2];w=Dr(u,b,(s|0)==(a|0)?w:b+(s-d)|0,w,r,n)|0;c=k;return w|0}return 0}function Ck(e){e=e|0;return}function Rk(e){e=e|0;Ip(e);return}function Lk(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;s=h+20|0;l=h+16|0;o=h+12|0;u=h;e:do{if(!(f[r+4>>2]&1)){u=f[(f[e>>2]|0)+24>>2]|0;f[l>>2]=f[i>>2];f[s>>2]=f[l>>2];s=wM[u&31](e,s,r,n,a&1)|0}else{s=sd(r)|0;f[o>>2]=s;_=0;l=pe(37,o|0,44368)|0;o=_;_=0;i:do{if(o&1){h=ze()|0;bh(s)|0;s=h}else{bh(s)|0;s=f[l>>2]|0;if(a)aM[f[s+24>>2]&127](u,l);else aM[f[s+28>>2]&127](u,l);e=t[u>>0]|0;r=(e&1)==0;s=u+4|0;a=u+8|0;o=r?s:u+4|0;s=r?s:f[u+8>>2]|0;r=(e&1)==0;r:do{if((s|0)!=((r?o:f[a>>2]|0)+((r?(e&255)>>>1:f[o>>2]|0)<<2)|0)){while(1){l=f[s>>2]|0;n=f[i>>2]|0;if(n){r=n+24|0;e=f[r>>2]|0;if((e|0)==(f[n+28>>2]|0)){_=0;l=pe(f[(f[n>>2]|0)+52>>2]|0,n|0,l|0)|0;e=_;_=0;if(e&1)break}else{f[r>>2]=e+4;f[e>>2]=l}if((l|0)==-1)f[i>>2]=0}s=s+4|0;e=t[u>>0]|0;r=(e&1)==0;if((s|0)==((r?o:f[a>>2]|0)+((r?(e&255)>>>1:f[o>>2]|0)<<2)|0))break r}s=ze()|0;Gh(u);break i}}while(0);s=f[i>>2]|0;Gh(u);break e}}while(0);$e(s|0)}}while(0);c=h;return s|0}function Pk(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0;d=c;c=c+128|0;s=d;k=d+116|0;w=d+104|0;o=d+20|0;h=d+16|0;u=d+12|0;b=d+8|0;l=d+4|0;t[k>>0]=t[58887]|0;t[k+1>>0]=t[58888]|0;t[k+2>>0]=t[58889]|0;t[k+3>>0]=t[58890]|0;t[k+4>>0]=t[58891]|0;t[k+5>>0]=t[58892]|0;_k(k+1|0,58893,1,f[r+4>>2]|0);e=Vb()|0;f[s>>2]=a;a=w+(n_(w,12,e,k,s)|0)|0;k=mk(w,a,r)|0;e=sd(r)|0;f[b>>2]=e;_=0;me(3,w|0,k|0,a|0,o|0,h|0,u|0,b|0);a=_;_=0;if(a&1){w=ze()|0;bh(e)|0;$e(w|0)}else{bh(e)|0;f[l>>2]=f[i>>2];k=f[h>>2]|0;w=f[u>>2]|0;f[s>>2]=f[l>>2];w=a_(s,o,k,w,r,n)|0;c=d;return w|0}return 0}function xk(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0;g=c;c=c+16|0;y=g;v=Du(l,44212)|0;h=Du(l,44368)|0;aM[f[(f[h>>2]|0)+20>>2]&127](y,h);w=t[y>>0]|0;m=y+4|0;e:do{if(!(((w&1)==0?(w&255)>>>1:f[m>>2]|0)|0)){_=0;Ee(f[(f[v>>2]|0)+48>>2]|0,v|0,e|0,r|0,n|0)|0;p=_;_=0;if(p&1)p=5;else{l=n+(r-e<<2)|0;f[s>>2]=l;p=28}}else{f[s>>2]=n;l=t[e>>0]|0;switch(l<<24>>24){case 43:case 45:{_=0;l=pe(f[(f[v>>2]|0)+44>>2]|0,v|0,l|0)|0;w=_;_=0;if(w&1){p=5;break e}u=f[s>>2]|0;f[s>>2]=u+4;f[u>>2]=l;u=e+1|0;break}default:u=e}i:do{if((r-u|0)>1?(t[u>>0]|0)==48:0){l=u+1|0;switch(t[l>>0]|0){case 88:case 120:break;default:{w=u;break i}}_=0;o=pe(f[(f[v>>2]|0)+44>>2]|0,v|0,48)|0;w=_;_=0;if(w&1){p=5;break e}w=f[s>>2]|0;f[s>>2]=w+4;f[w>>2]=o;_=0;l=pe(f[(f[v>>2]|0)+44>>2]|0,v|0,t[l>>0]|0)|0;w=_;_=0;if(w&1){p=5;break e}w=f[s>>2]|0;f[s>>2]=w+4;f[w>>2]=l;w=u+2|0}else w=u}while(0);if((w|0)!=(r|0)?(d=r+-1|0,w>>>0>>0):0){o=w;l=d;do{k=t[o>>0]|0;t[o>>0]=t[l>>0]|0;t[l>>0]=k;o=o+1|0;l=l+-1|0}while(o>>>0>>0)}_=0;h=de(f[(f[h>>2]|0)+16>>2]|0,h|0)|0;k=_;_=0;if(!(k&1)){d=y+8|0;b=y+1|0;i:do{if(w>>>0>>0){l=0;o=0;k=w;while(1){u=t[((t[y>>0]&1)==0?b:f[d>>2]|0)+o>>0]|0;if(u<<24>>24!=0&(l|0)==(u<<24>>24|0)){l=f[s>>2]|0;f[s>>2]=l+4;f[l>>2]=h;l=t[y>>0]|0;u=0;o=(o>>>0<(((l&1)==0?(l&255)>>>1:f[m>>2]|0)+-1|0)>>>0&1)+o|0}else u=l;_=0;l=pe(f[(f[v>>2]|0)+44>>2]|0,v|0,t[k>>0]|0)|0;M=_;_=0;if(M&1)break;M=f[s>>2]|0;f[s>>2]=M+4;f[M>>2]=l;k=k+1|0;if(k>>>0>=r>>>0)break i;else l=u+1|0}l=ze()|0;break e}}while(0);u=e;l=n+(w-u<<2)|0;o=f[s>>2]|0;if((l|0)!=(o|0)){e=o+-4|0;if(l>>>0>>0){do{M=f[l>>2]|0;f[l>>2]=f[e>>2];f[e>>2]=M;l=l+4|0;e=e+-4|0}while(l>>>0>>0);e=u;l=o;p=28}else{e=u;l=o;p=28}}else{e=u;p=28}}else p=5}}while(0);if((p|0)==5)l=ze()|0;else if((p|0)==28){f[a>>2]=(i|0)==(r|0)?l:n+(i-e<<2)|0;Oh(y);c=g;return}Oh(y);$e(l|0)}function Ok(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0;d=c;c=c+224|0;s=d+8|0;e=d;k=d+196|0;o=d+32|0;h=d+28|0;u=d+24|0;b=d+20|0;l=d+16|0;w=e;f[w>>2]=37;f[w+4>>2]=0;_k(e+1|0,58895,1,f[r+4>>2]|0);w=Vb()|0;m=s;f[m>>2]=n;f[m+4>>2]=a;a=k+(n_(k,22,w,e,s)|0)|0;n=mk(k,a,r)|0;e=sd(r)|0;f[b>>2]=e;_=0;me(3,k|0,n|0,a|0,o|0,h|0,u|0,b|0);a=_;_=0;if(a&1){m=ze()|0;bh(e)|0;$e(m|0)}else{bh(e)|0;f[l>>2]=f[i>>2];w=f[h>>2]|0;m=f[u>>2]|0;f[s>>2]=f[l>>2];m=a_(s,o,w,m,r,t)|0;c=d;return m|0}return 0}function Bk(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0;p=c;c=c+16|0;m=p;k=p+8|0;e:do{if((r|0)==(n|0))u=n;else{u=r;while(1){if(!(f[u>>2]|0))break e;u=u+4|0;if((u|0)==(n|0)){u=n;break}}}}while(0);f[o>>2]=s;f[a>>2]=r;d=l;w=e+8|0;e:do{if(!((s|0)==(l|0)|(r|0)==(n|0))){e=s;h=u;i:while(1){y=i;s=f[y+4>>2]|0;u=m;f[u>>2]=f[y>>2];f[u+4>>2]=s;u=Wg(f[w>>2]|0)|0;_=0;s=ge(21,e|0,a|0,h-r>>2|0,d-e|0,i|0)|0;y=_;_=0;if(y&1){g=9;break}if((u|0)!=0?(_=0,de(75,u|0)|0,y=_,_=0,y&1):0){g=8;break}switch(s|0){case 0:{b=1;break e}case-1:{u=e;g=14;break i}default:{}}u=(f[o>>2]|0)+s|0;f[o>>2]=u;if((u|0)==(l|0)){g=27;break}if((h|0)==(n|0)){r=f[a>>2]|0;e=u;u=n}else{u=Wg(f[w>>2]|0)|0;_=0;r=ke(34,k|0,0,i|0)|0;y=_;_=0;if(y&1){g=35;break}if((u|0)!=0?(_=0,de(75,u|0)|0,y=_,_=0,y&1):0){g=34;break}if((r|0)==-1){b=2;break e}if(r>>>0>(d-(f[o>>2]|0)|0)>>>0){b=1;break e}if(r){u=k;while(1){h=t[u>>0]|0;y=f[o>>2]|0;f[o>>2]=y+1;t[y>>0]=h;r=r+-1|0;if(!r)break;else u=u+1|0}}r=(f[a>>2]|0)+4|0;f[a>>2]=r;r:do{if((r|0)==(n|0))u=n;else{u=r;while(1){if(!(f[u>>2]|0))break r;u=u+4|0;if((u|0)==(n|0)){u=n;break}}}}while(0);e=f[o>>2]|0}if((e|0)==(l|0)|(r|0)==(n|0)){g=47;break e}else h=u}if((g|0)==8){y=ze(0)|0;Fi(y)}else if((g|0)==9){r=ze()|0;if((u|0)!=0?(_=0,de(75,u|0)|0,y=_,_=0,y&1):0){y=ze(0)|0;Fi(y)}$e(r|0)}else if((g|0)==14){f[o>>2]=u;i:do{if((r|0)!=(f[a>>2]|0)){while(1){y=f[r>>2]|0;e=Wg(f[w>>2]|0)|0;_=0;u=ke(34,u|0,y|0,m|0)|0;y=_;_=0;if(y&1){v=e;break}if((e|0)!=0?(_=0,de(75,e|0)|0,y=_,_=0,y&1):0){g=18;break}if((u|0)==-1)break i;u=(f[o>>2]|0)+u|0;f[o>>2]=u;r=r+4|0;if((r|0)==(f[a>>2]|0))break i}if((g|0)==18){y=ze(0)|0;Fi(y)}r=ze()|0;if((v|0)!=0?(_=0,de(75,v|0)|0,y=_,_=0,y&1):0){y=ze(0)|0;Fi(y)}$e(r|0)}}while(0);f[a>>2]=r;b=2;break}else if((g|0)==27){r=f[a>>2]|0;g=47;break}else if((g|0)==34){y=ze(0)|0;Fi(y)}else if((g|0)==35){r=ze()|0;if((u|0)!=0?(_=0,de(75,u|0)|0,y=_,_=0,y&1):0){y=ze(0)|0;Fi(y)}$e(r|0)}}else g=47}while(0);if((g|0)==47)b=(r|0)!=(n|0)&1;c=p;return b|0}function Ik(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0;p=c;c=c+16|0;v=p;e:do{if((r|0)==(n|0))u=n;else{u=r;while(1){if(!(t[u>>0]|0))break e;u=u+1|0;if((u|0)==(n|0)){u=n;break}}}}while(0);f[o>>2]=s;f[a>>2]=r;b=l;w=e+8|0;e:do{if(!((s|0)==(l|0)|(r|0)==(n|0))){e=s;d=u;i:while(1){h=i;u=f[h+4>>2]|0;s=v;f[s>>2]=f[h>>2];f[s+4>>2]=u;s=d;u=Wg(f[w>>2]|0)|0;_=0;h=ge(22,e|0,a|0,s-r|0,b-e>>2|0,i|0)|0;y=_;_=0;if(y&1){g=9;break}if((u|0)!=0?(_=0,de(75,u|0)|0,y=_,_=0,y&1):0){g=8;break}switch(h|0){case 0:{k=2;break e}case-1:{u=e;g=14;break i}default:{}}e=(f[o>>2]|0)+(h<<2)|0;f[o>>2]=e;if((e|0)==(l|0)){g=31;break}r=f[a>>2]|0;if((d|0)==(n|0))u=n;else{u=Wg(f[w>>2]|0)|0;_=0;r=Ee(20,e|0,r|0,1,i|0)|0;y=_;_=0;if(y&1){g=38;break}if((u|0)!=0?(_=0,de(75,u|0)|0,y=_,_=0,y&1):0){g=37;break}if(r){k=2;break e}f[o>>2]=(f[o>>2]|0)+4;r=(f[a>>2]|0)+1|0;f[a>>2]=r;r:do{if((r|0)==(n|0))u=n;else{u=r;while(1){if(!(t[u>>0]|0))break r;u=u+1|0;if((u|0)==(n|0)){u=n;break}}}}while(0);e=f[o>>2]|0}if((e|0)==(l|0)|(r|0)==(n|0)){g=47;break e}else d=u}if((g|0)==8){y=ze(0)|0;Fi(y)}else if((g|0)==9){r=ze()|0;if((u|0)!=0?(_=0,de(75,u|0)|0,y=_,_=0,y&1):0){y=ze(0)|0;Fi(y)}$e(r|0)}else if((g|0)==14){f[o>>2]=u;i:do{if((r|0)!=(f[a>>2]|0)){e=u;r:while(1){u=Wg(f[w>>2]|0)|0;_=0;e=Ee(20,e|0,r|0,s-r|0,v|0)|0;y=_;_=0;if(y&1){g=19;break}if((u|0)!=0?(_=0,de(75,u|0)|0,y=_,_=0,y&1):0){g=18;break}switch(e|0){case-1:{g=25;break r}case-2:{g=26;break r}case 0:{r=r+1|0;break}default:r=r+e|0}e=(f[o>>2]|0)+4|0;f[o>>2]=e;if((r|0)==(f[a>>2]|0)){m=r;break i}}if((g|0)==18){y=ze(0)|0;Fi(y)}else if((g|0)==19){r=ze()|0;if((u|0)!=0?(_=0,de(75,u|0)|0,y=_,_=0,y&1):0){y=ze(0)|0;Fi(y)}$e(r|0)}else if((g|0)==25){f[a>>2]=r;k=2;break e}else if((g|0)==26){f[a>>2]=r;k=1;break e}}else m=r}while(0);f[a>>2]=m;k=(m|0)!=(n|0)&1;break}else if((g|0)==31){r=f[a>>2]|0;g=47;break}else if((g|0)==37){y=ze(0)|0;Fi(y)}else if((g|0)==38){r=ze()|0;if((u|0)!=0?(_=0,de(75,u|0)|0,y=_,_=0,y&1):0){y=ze(0)|0;Fi(y)}$e(r|0)}}else g=47}while(0);if((g|0)==47)k=(r|0)!=(n|0)&1;c=p;return k|0}function Dk(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=c;c=c+16|0;s=l;f[a>>2]=r;r=Wg(f[e+8>>2]|0)|0;_=0;e=ke(34,s|0,0,i|0)|0;i=_;_=0;if(i&1){s=ze()|0;if((r|0)!=0?(_=0,de(75,r|0)|0,l=_,_=0,l&1):0){l=ze(0)|0;Fi(l)}$e(s|0)}if((r|0)!=0?(_=0,de(75,r|0)|0,i=_,_=0,i&1):0){i=ze(0)|0;Fi(i)}switch(e|0){case 0:case-1:{s=2;break}default:{e=e+-1|0;if(e>>>0<=(n-(f[a>>2]|0)|0)>>>0)if(!e)s=0;else while(1){i=t[s>>0]|0;n=f[a>>2]|0;f[a>>2]=n+1;t[n>>0]=i;e=e+-1|0;if(!e){s=0;break}else s=s+1|0}else s=1}}c=l;return s|0}function Nk(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0;i=e+8|0;_=0;r=de(75,f[i>>2]|0)|0;t=_;_=0;do{if(t&1)n=16;else{_=0;t=ke(35,0,0,4)|0;e=_;_=0;if(e&1){e=ze(0)|0;if(!r)break;_=0;de(75,r|0)|0;s=_;_=0;if(!(s&1))break;s=ze(0)|0;Fi(s)}if((r|0)!=0?(_=0,de(75,r|0)|0,s=_,_=0,s&1):0){s=ze(0)|0;Fi(s)}if(!t){e=f[i>>2]|0;if(e){_=0;e=de(75,e|0)|0;s=_;_=0;if(s&1){n=16;break}if((e|0)!=0?(_=0,de(75,e|0)|0,s=_,_=0,s&1):0){s=ze(0)|0;Fi(s)}else a=0}else a=1}else a=-1;return a|0}}while(0);if((n|0)==16)e=ze(0)|0;Fi(e);return 0}function Fk(e){e=e|0;return 0}function Uk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;u=t;o=e+8|0;e:do{if((r|0)==(t|0)|(n|0)==0)e=0;else{e=0;l=0;while(1){s=Wg(f[o>>2]|0)|0;_=0;a=ke(36,r|0,u-r|0,i|0)|0;d=_;_=0;if(d&1){h=s;break}if((s|0)!=0?(_=0,de(75,s|0)|0,d=_,_=0,d&1):0){c=5;break}switch(a|0){case-2:case-1:break e;case 0:{r=r+1|0;a=1;break}default:r=r+a|0}e=a+e|0;l=l+1|0;if((r|0)==(t|0)|l>>>0>=n>>>0)break e}if((c|0)==5){d=ze(0)|0;Fi(d)}e=ze()|0;if((h|0)!=0?(_=0,de(75,h|0)|0,d=_,_=0,d&1):0){d=ze(0)|0;Fi(d)}$e(e|0)}}while(0);return e|0}function jk(e){e=e|0;var i=0,r=0;e=f[e+8>>2]|0;if(e){_=0;e=de(75,e|0)|0;r=_;_=0;if(r&1){r=ze(0)|0;Fi(r)}if((e|0)!=0?(_=0,de(75,e|0)|0,r=_,_=0,r&1):0){r=ze(0)|0;Fi(r)}else i=4}else i=1;return i|0}function Hk(e){e=e|0;Ip(e);return}function zk(e,i,r,t,n,a,s,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0;e=c;c=c+16|0;o=e+4|0;i=e;f[o>>2]=r;f[i>>2]=a;s=G_(r,t,o,a,s,i,1114111,0)|0;f[n>>2]=f[o>>2];f[l>>2]=f[i>>2];c=e;return s|0}function Yk(e,i,r,t,n,a,s,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0;e=c;c=c+16|0;o=e+4|0;i=e;f[o>>2]=r;f[i>>2]=a;s=K_(r,t,o,a,s,i,1114111,0)|0;f[n>>2]=f[o>>2];f[l>>2]=f[i>>2];c=e;return s|0}function qk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f[n>>2]=r;return 3}function Xk(e){e=e|0;return 0}function Vk(e){e=e|0;return 0}function Gk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return W_(r,t,n,1114111,0)|0}function Kk(e){e=e|0;return 4}function Wk(e){e=e|0;Ip(e);return}function Zk(e,i,r,t,n,a,s,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0;e=c;c=c+16|0;o=e+4|0;i=e;f[o>>2]=r;f[i>>2]=a;s=Z_(r,t,o,a,s,i,1114111,0)|0;f[n>>2]=f[o>>2];f[l>>2]=f[i>>2];c=e;return s|0}function Jk(e,i,r,t,n,a,s,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0;e=c;c=c+16|0;o=e+4|0;i=e;f[o>>2]=r;f[i>>2]=a;s=J_(r,t,o,a,s,i,1114111,0)|0;f[n>>2]=f[o>>2];f[l>>2]=f[i>>2];c=e;return s|0}function Qk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f[n>>2]=r;return 3}function $k(e){e=e|0;return 0}function ew(e){e=e|0;return 0}function iw(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return Q_(r,t,n,1114111,0)|0}function rw(e){e=e|0;return 4}function tw(e){e=e|0;Ip(e);return}function nw(e){e=e|0;Ip(e);return}function fw(e,i){e=e|0;i=i|0;f[e+4>>2]=i+-1;f[e>>2]=44384;t[e+8>>0]=46;t[e+9>>0]=44;e=e+12|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function aw(e,i){e=e|0;i=i|0;f[e+4>>2]=i+-1;f[e>>2]=44424;f[e+8>>2]=46;f[e+12>>2]=44;e=e+16|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function sw(e){e=e|0;f[e>>2]=44384;Oh(e+12|0);return}function lw(e){e=e|0;sw(e);Ip(e);return}function ow(e){e=e|0;f[e>>2]=44424;Oh(e+16|0);return}function uw(e){e=e|0;ow(e);Ip(e);return}function cw(e){e=e|0;return t[e+8>>0]|0}function hw(e){e=e|0;return f[e+8>>2]|0}function dw(e){e=e|0;return t[e+9>>0]|0}function bw(e){e=e|0;return f[e+12>>2]|0}function kw(e,i){e=e|0;i=i|0;Lh(e,i+12|0);return}function ww(e,i){e=e|0;i=i|0;Lh(e,i+16|0);return}function _w(e,i){e=e|0;i=i|0;Ph(e,59024,4);return}function mw(e,i){e=e|0;i=i|0;Xh(e,44996,Ky(44996)|0);return}function vw(e,i){e=e|0;i=i|0;Ph(e,59029,5);return}function pw(e,i){e=e|0;i=i|0;Xh(e,45016,Ky(45016)|0);return}function gw(e){e=e|0;switch(f[e+4>>2]&74|0){case 64:{e=8;break}case 8:{e=16;break}case 0:{e=0;break}default:e=10}return e|0}function yw(e){e=e|0;do{if((t[2464]|0)==0?(De(2464)|0)!=0:0){if((t[2472]|0)==0?(De(2472)|0)!=0:0){e=45040;do{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;e=e+12|0}while((e|0)!=45208);di(193,0,w|0)|0;qe(2472)}_=0;pe(41,45040,59035)|0;e=_;_=0;if(((((((((((((!(e&1)?(_=0,pe(41,45052,59042)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45064,59049)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45076,59057)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45088,59067)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45100,59076)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45112,59083)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45124,59092)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45136,59096)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45148,59100)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45160,59104)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45172,59108)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45184,59112)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45196,59116)|0,e=_,_=0,!(e&1)):0){f[11302]=45040;qe(2464);break}e=ze()|0;gi(2464);$e(e|0)}}while(0);return f[11302]|0}function Mw(e){e=e|0;do{if((t[2480]|0)==0?(De(2480)|0)!=0:0){if((t[2488]|0)==0?(De(2488)|0)!=0:0){e=45212;do{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;e=e+12|0}while((e|0)!=45380);di(194,0,w|0)|0;qe(2488)}_=0;pe(42,45212,45380)|0;e=_;_=0;if(((((((((((((!(e&1)?(_=0,pe(42,45224,45408)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,45236,45436)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,45248,45468)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,45260,45508)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,45272,45544)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,45284,45572)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,45296,45608)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,45308,45624)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,45320,45640)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,45332,45656)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,45344,45672)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,45356,45688)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,45368,45704)|0,e=_,_=0,!(e&1)):0){f[11430]=45212;qe(2480);break}e=ze()|0;gi(2480);$e(e|0)}}while(0);return f[11430]|0}function Ew(e){e=e|0;e:do{if((t[2496]|0)==0?(De(2496)|0)!=0:0){if((t[2504]|0)==0?(De(2504)|0)!=0:0){e=45724;do{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;e=e+12|0}while((e|0)!=46012);di(195,0,w|0)|0;qe(2504)}_=0;pe(41,45724,59120)|0;e=_;_=0;do{if((((((((((((((!(e&1)?(_=0,pe(41,45736,59128)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45748,59137)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45760,59143)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45772,59149)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45784,59153)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45796,59158)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45808,59163)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45820,59170)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45832,59180)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45844,59188)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45856,59197)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45868,59206)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45880,59210)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(41,45892,59214)|0,e=_,_=0,!(e&1)):0){_=0;pe(41,45904,59218)|0;e=_;_=0;if(e&1)break;_=0;pe(41,45916,59149)|0;e=_;_=0;if(e&1)break;_=0;pe(41,45928,59222)|0;e=_;_=0;if(e&1)break;_=0;pe(41,45940,59226)|0;e=_;_=0;if(e&1)break;_=0;pe(41,45952,59230)|0;e=_;_=0;if(e&1)break;_=0;pe(41,45964,59234)|0;e=_;_=0;if(e&1)break;_=0;pe(41,45976,59238)|0;e=_;_=0;if(e&1)break;_=0;pe(41,45988,59242)|0;e=_;_=0;if(e&1)break;_=0;pe(41,46e3,59246)|0;e=_;_=0;if(e&1)break;f[11503]=45724;qe(2496);break e}}while(0);e=ze()|0;gi(2496);$e(e|0)}}while(0);return f[11503]|0}function Aw(e){e=e|0;e:do{if((t[2512]|0)==0?(De(2512)|0)!=0:0){if((t[2520]|0)==0?(De(2520)|0)!=0:0){e=46016;do{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;e=e+12|0}while((e|0)!=46304);di(196,0,w|0)|0;qe(2520)}_=0;pe(42,46016,46304)|0;e=_;_=0;do{if((((((((((((((!(e&1)?(_=0,pe(42,46028,46336)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,46040,46372)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,46052,46396)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,46064,46420)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,46076,46436)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,46088,46456)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,46100,46476)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,46112,46504)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,46124,46544)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,46136,46576)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,46148,46612)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,46160,46648)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,46172,46664)|0,e=_,_=0,!(e&1)):0)?(_=0,pe(42,46184,46680)|0,e=_,_=0,!(e&1)):0){_=0;pe(42,46196,46696)|0;e=_;_=0;if(e&1)break;_=0;pe(42,46208,46420)|0;e=_;_=0;if(e&1)break;_=0;pe(42,46220,46712)|0;e=_;_=0;if(e&1)break;_=0;pe(42,46232,46728)|0;e=_;_=0;if(e&1)break;_=0;pe(42,46244,46744)|0;e=_;_=0;if(e&1)break;_=0;pe(42,46256,46760)|0;e=_;_=0;if(e&1)break;_=0;pe(42,46268,46776)|0;e=_;_=0;if(e&1)break;_=0;pe(42,46280,46792)|0;e=_;_=0;if(e&1)break;_=0;pe(42,46292,46808)|0;e=_;_=0;if(e&1)break;f[11706]=46016;qe(2512);break e}}while(0);e=ze()|0;gi(2512);$e(e|0)}}while(0);return f[11706]|0}function Sw(e){e=e|0;do{if((t[2528]|0)==0?(De(2528)|0)!=0:0){if((t[2536]|0)==0?(De(2536)|0)!=0:0){e=46828;do{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;e=e+12|0}while((e|0)!=47116);di(197,0,w|0)|0;qe(2536)}_=0;pe(41,46828,59250)|0;e=_;_=0;if(!(e&1)?(_=0,pe(41,46840,59253)|0,e=_,_=0,!(e&1)):0){f[11779]=46828;qe(2528);break}e=ze()|0;gi(2528);$e(e|0)}}while(0);return f[11779]|0}function Tw(e){e=e|0;do{if((t[2544]|0)==0?(De(2544)|0)!=0:0){if((t[2552]|0)==0?(De(2552)|0)!=0:0){e=47120;do{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;e=e+12|0}while((e|0)!=47408);di(198,0,w|0)|0;qe(2552)}_=0;pe(42,47120,47408)|0;e=_;_=0;if(!(e&1)?(_=0,pe(42,47132,47420)|0,e=_,_=0,!(e&1)):0){f[11858]=47120;qe(2544);break}e=ze()|0;gi(2544);$e(e|0)}}while(0);return f[11858]|0}function Cw(e){e=e|0;do{if((t[2560]|0)==0?(De(2560)|0)!=0:0){_=0;Ae(5,47436,59256,8);e=_;_=0;if(e&1){e=ze()|0;gi(2560);$e(e|0)}else{di(199,47436,w|0)|0;qe(2560);break}}}while(0);return 47436}function Rw(e){e=e|0;var i=0;do{if((t[2568]|0)==0?(De(2568)|0)!=0:0){_=0;e=de(76,47448)|0;i=_;_=0;if(!(i&1)?(_=0,Ae(15,47484,47448,e|0),i=_,_=0,!(i&1)):0){di(200,47484,w|0)|0;qe(2568);break}i=ze()|0;gi(2568);$e(i|0)}}while(0);return 47484}function Lw(e){e=e|0;do{if((t[2576]|0)==0?(De(2576)|0)!=0:0){_=0;Ae(5,47496,59265,8);e=_;_=0;if(e&1){e=ze()|0;gi(2576);$e(e|0)}else{di(199,47496,w|0)|0;qe(2576);break}}}while(0);return 47496}function Pw(e){e=e|0;var i=0;do{if((t[2584]|0)==0?(De(2584)|0)!=0:0){_=0;e=de(76,47508)|0;i=_;_=0;if(!(i&1)?(_=0,Ae(15,47544,47508,e|0),i=_,_=0,!(i&1)):0){di(200,47544,w|0)|0;qe(2584);break}i=ze()|0;gi(2584);$e(i|0)}}while(0);return 47544}function xw(e){e=e|0;do{if((t[2592]|0)==0?(De(2592)|0)!=0:0){_=0;Ae(5,47556,59274,20);e=_;_=0;if(e&1){e=ze()|0;gi(2592);$e(e|0)}else{di(199,47556,w|0)|0;qe(2592);break}}}while(0);return 47556}function Ow(e){e=e|0;var i=0;do{if((t[2600]|0)==0?(De(2600)|0)!=0:0){_=0;e=de(76,47568)|0;i=_;_=0;if(!(i&1)?(_=0,Ae(15,47652,47568,e|0),i=_,_=0,!(i&1)):0){di(200,47652,w|0)|0;qe(2600);break}i=ze()|0;gi(2600);$e(i|0)}}while(0);return 47652}function Bw(e){e=e|0;do{if((t[2608]|0)==0?(De(2608)|0)!=0:0){_=0;Ae(5,47664,59295,11);e=_;_=0;if(e&1){e=ze()|0;gi(2608);$e(e|0)}else{di(199,47664,w|0)|0;qe(2608);break}}}while(0);return 47664}function Iw(e){e=e|0;var i=0;do{if((t[2616]|0)==0?(De(2616)|0)!=0:0){_=0;e=de(76,47676)|0;i=_;_=0;if(!(i&1)?(_=0,Ae(15,47724,47676,e|0),i=_,_=0,!(i&1)):0){di(200,47724,w|0)|0;qe(2616);break}i=ze()|0;gi(2616);$e(i|0)}}while(0);return 47724}function Dw(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=44304;e=e+8|0;i=f[e>>2]|0;_=0;r=Me(3)|0;t=_;_=0;do{if(!(t&1)){if((i|0)!=(r|0)?(_=0,ue(188,f[e>>2]|0),t=_,_=0,t&1):0)break;return}}while(0);t=ze(0)|0;Fi(t)}function Nw(e,i,r,n,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;o=o|0;var u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0;A=c;c=c+112|0;h=A;b=(n-r|0)/12|0;do{if(b>>>0>100){h=Lc(b)|0;if((h|0)==0?(_=0,Se(6),E=_,_=0,E&1):0){u=0;m=6;break}u=h;m=11}else{u=0;m=11}}while(0);e:do{if((m|0)==11){if((r|0)==(n|0))d=0;else{m=r;k=0;w=h;while(1){d=t[m>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=f[m+4>>2]|0;if(!d){t[w>>0]=2;d=k+1|0;b=b+-1|0}else{t[w>>0]=1;d=k}m=m+12|0;if((m|0)==(n|0))break;else{k=d;w=w+1|0}}}M=(r|0)==(n|0);E=(r|0)==(n|0);y=0;v=d;i:while(1){d=f[e>>2]|0;do{if(d){if((f[d+12>>2]|0)==(f[d+16>>2]|0)){_=0;d=de(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;g=_;_=0;if(g&1){m=5;break i}if((d|0)==-1){f[e>>2]=0;d=0;break}else{d=f[e>>2]|0;break}}}else d=0}while(0);m=(d|0)==0;k=f[i>>2]|0;if(k){if((f[k+12>>2]|0)==(f[k+16>>2]|0)){_=0;d=de(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;g=_;_=0;if(g&1){m=5;break}if((d|0)==-1){f[i>>2]=0;k=0}}}else k=0;w=(k|0)==0;d=f[e>>2]|0;if(!((b|0)!=0&(m^w))){m=64;break}k=f[d+12>>2]|0;if((k|0)==(f[d+16>>2]|0)){_=0;d=de(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;g=_;_=0;if(g&1){m=5;break}}else d=a[k>>0]|0;d=d&255;if(!o){_=0;d=pe(f[(f[s>>2]|0)+12>>2]|0,s|0,d|0)|0;g=_;_=0;if(g&1){m=5;break}}g=y+1|0;if(M){d=0;m=v}else{w=0;p=r;m=v;v=h;while(1){do{if((t[v>>0]|0)==1){if(!(t[p>>0]&1))k=p+1|0;else k=f[p+8>>2]|0;k=t[k+y>>0]|0;if(!o){_=0;k=pe(f[(f[s>>2]|0)+12>>2]|0,s|0,k|0)|0;S=_;_=0;if(S&1){m=4;break i}}if(d<<24>>24!=k<<24>>24){t[v>>0]=0;k=w;b=b+-1|0;break}k=t[p>>0]|0;if(!(k&1))k=(k&255)>>>1;else k=f[p+4>>2]|0;if((k|0)==(g|0)){t[v>>0]=2;k=1;m=m+1|0;b=b+-1|0}else k=1}else k=w}while(0);p=p+12|0;if((p|0)==(n|0)){d=k;break}else{w=k;v=v+1|0}}}if(!d){y=g;v=m;continue}d=f[e>>2]|0;k=d+12|0;w=f[k>>2]|0;if((w|0)==(f[d+16>>2]|0)){_=0;de(f[(f[d>>2]|0)+40>>2]|0,d|0)|0;S=_;_=0;if(S&1){m=5;break}}else f[k>>2]=w+1;if((m+b|0)>>>0<2|E){y=g;v=m;continue}else{d=r;w=m;m=h}while(1){if((t[m>>0]|0)==2){k=t[d>>0]|0;if(!(k&1))k=(k&255)>>>1;else k=f[d+4>>2]|0;if((k|0)!=(g|0)){t[m>>0]=0;w=w+-1|0}}d=d+12|0;if((d|0)==(n|0)){y=g;v=w;continue i}else m=m+1|0}}if((m|0)==4){r=ze()|0;break}else if((m|0)==5){r=ze()|0;break}else if((m|0)==64){do{if(d){if((f[d+12>>2]|0)==(f[d+16>>2]|0)){_=0;d=de(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;S=_;_=0;if(S&1){m=6;break e}if((d|0)==-1){f[e>>2]=0;d=0;break}else{d=f[e>>2]|0;break}}}else d=0}while(0);b=(d|0)==0;do{if(!w){if((f[k+12>>2]|0)==(f[k+16>>2]|0)){_=0;d=de(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;S=_;_=0;if(S&1){m=6;break e}if((d|0)==-1){f[i>>2]=0;m=76;break}}if(!b)m=77}else m=76}while(0);if((m|0)==76?b:0)m=77;if((m|0)==77)f[l>>2]=f[l>>2]|2;i:do{if((r|0)==(n|0))m=81;else while(1){if((t[h>>0]|0)==2)break i;r=r+12|0;if((r|0)==(n|0)){m=81;break}else h=h+1|0}}while(0);if((m|0)==81){f[l>>2]=f[l>>2]|4;r=n}if(u)Pc(u);c=A;return r|0}}}while(0);if((m|0)==6)r=ze()|0;if(u)Pc(u);$e(r|0);return 0}function Fw(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0;S=c;c=c+240|0;v=S+202|0;o=S+200|0;C=S+24|0;T=S+12|0;g=S+8|0;E=S+40|0;A=S+4|0;y=S;p=gw(n)|0;sk(C,n,v,o);f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;if(!(t[T>>0]&1))e=10;else e=(f[T>>2]&-2)+-1|0;_=0;Ae(8,T|0,e|0,0);m=_;_=0;e:do{if(!(m&1)){k=T+8|0;w=T+1|0;n=(t[T>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n;f[A>>2]=E;f[y>>2]=0;m=T+4|0;b=t[o>>0]|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;o=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;d=_;_=0;if(d&1){R=24;break}if((o|0)==-1){f[i>>2]=0;e=0}}}else e=0;u=(e|0)==0;o=f[r>>2]|0;do{if(o){if((f[o+12>>2]|0)!=(f[o+16>>2]|0))if(u)break;else break i;_=0;h=de(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;d=_;_=0;if(d&1){R=24;break i}if((h|0)!=-1)if(u)break;else break i;else{f[r>>2]=0;R=16;break}}else R=16}while(0);if((R|0)==16){R=0;if(u){o=0;break}else o=0}u=t[T>>0]|0;u=(u&1)==0?(u&255)>>>1:f[m>>2]|0;if((f[g>>2]|0)==(n+u|0)){_=0;Ae(8,T|0,u<<1|0,0);d=_;_=0;if(d&1){R=24;break}if(!(t[T>>0]&1))n=10;else n=(f[T>>2]&-2)+-1|0;_=0;Ae(8,T|0,n|0,0);d=_;_=0;if(d&1){R=24;break}n=(t[T>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n+u}h=e+12|0;u=f[h>>2]|0;d=e+16|0;if((u|0)==(f[d>>2]|0)){_=0;u=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;L=_;_=0;if(L&1){R=24;break}}else u=a[u>>0]|0;if(Xb(u&255,p,n,g,y,b,C,E,A,v)|0)break;o=f[h>>2]|0;if((o|0)==(f[d>>2]|0)){_=0;de(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;L=_;_=0;if(L&1){R=24;break}else continue}else{f[h>>2]=o+1;continue}}if((R|0)==24){e=ze()|0;break}L=t[C>>0]|0;if((((L&1)==0?(L&255)>>>1:f[C+4>>2]|0)|0)!=0?(M=f[A>>2]|0,(M-E|0)<160):0){L=f[y>>2]|0;f[A>>2]=M+4;f[M>>2]=L}_=0;n=Ee(21,n|0,f[g>>2]|0,s|0,p|0)|0;L=_;_=0;if(!(L&1)){f[l>>2]=n;Ko(C,E,f[A>>2]|0,s);if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;n=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;L=_;_=0;if(L&1){R=25;break}if((n|0)==-1){f[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do{if(o){if((f[o+12>>2]|0)==(f[o+16>>2]|0)){_=0;e=de(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;L=_;_=0;if(L&1){R=25;break e}if((e|0)==-1){f[r>>2]=0;R=49;break}}if(!n)R=50}else R=49}while(0);if((R|0)==49?n:0)R=50;if((R|0)==50)f[s>>2]=f[s>>2]|2;L=f[i>>2]|0;Oh(T);Oh(C);c=S;return L|0}else R=25}else R=25}while(0);if((R|0)==25)e=ze()|0;Oh(T);Oh(C);$e(e|0);return 0}function Uw(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0;S=c;c=c+240|0;v=S+202|0;o=S+200|0;C=S+24|0;T=S+12|0;g=S+8|0;E=S+40|0;A=S+4|0;y=S;p=gw(n)|0;sk(C,n,v,o);f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;if(!(t[T>>0]&1))e=10;else e=(f[T>>2]&-2)+-1|0;_=0;Ae(8,T|0,e|0,0);m=_;_=0;e:do{if(!(m&1)){k=T+8|0;w=T+1|0;n=(t[T>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n;f[A>>2]=E;f[y>>2]=0;m=T+4|0;b=t[o>>0]|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;o=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;d=_;_=0;if(d&1){R=24;break}if((o|0)==-1){f[i>>2]=0;e=0}}}else e=0;o=(e|0)==0;u=f[r>>2]|0;do{if(u){if((f[u+12>>2]|0)!=(f[u+16>>2]|0))if(o)break;else break i;_=0;h=de(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;d=_;_=0;if(d&1){R=24;break i}if((h|0)!=-1)if(o)break;else break i;else{f[r>>2]=0;R=16;break}}else R=16}while(0);if((R|0)==16){R=0;if(o){u=0;break}else u=0}o=t[T>>0]|0;o=(o&1)==0?(o&255)>>>1:f[m>>2]|0;if((f[g>>2]|0)==(n+o|0)){_=0;Ae(8,T|0,o<<1|0,0);d=_;_=0;if(d&1){R=24;break}if(!(t[T>>0]&1))n=10;else n=(f[T>>2]&-2)+-1|0;_=0;Ae(8,T|0,n|0,0);d=_;_=0;if(d&1){R=24;break}n=(t[T>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n+o}h=e+12|0;o=f[h>>2]|0;d=e+16|0;if((o|0)==(f[d>>2]|0)){_=0;o=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;L=_;_=0;if(L&1){R=24;break}}else o=a[o>>0]|0;if(Xb(o&255,p,n,g,y,b,C,E,A,v)|0)break;o=f[h>>2]|0;if((o|0)==(f[d>>2]|0)){_=0;de(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;L=_;_=0;if(L&1){R=24;break}else continue}else{f[h>>2]=o+1;continue}}if((R|0)==24){e=ze()|0;break}L=t[C>>0]|0;if((((L&1)==0?(L&255)>>>1:f[C+4>>2]|0)|0)!=0?(M=f[A>>2]|0,(M-E|0)<160):0){L=f[y>>2]|0;f[A>>2]=M+4;f[M>>2]=L}_=0;n=Ee(22,n|0,f[g>>2]|0,s|0,p|0)|0;o=x;L=_;_=0;if(!(L&1)){L=l;f[L>>2]=n;f[L+4>>2]=o;Ko(C,E,f[A>>2]|0,s);if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;n=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;L=_;_=0;if(L&1){R=25;break}if((n|0)==-1){f[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do{if(u){if((f[u+12>>2]|0)==(f[u+16>>2]|0)){_=0;e=de(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;L=_;_=0;if(L&1){R=25;break e}if((e|0)==-1){f[r>>2]=0;R=49;break}}if(!n)R=50}else R=49}while(0);if((R|0)==49?n:0)R=50;if((R|0)==50)f[s>>2]=f[s>>2]|2;L=f[i>>2]|0;Oh(T);Oh(C);c=S;return L|0}else R=25}else R=25}while(0);if((R|0)==25)e=ze()|0;Oh(T);Oh(C);$e(e|0);return 0}function jw(e,i,r,s,l,o){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;o=o|0;var u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0;T=c;c=c+240|0;p=T+202|0;u=T+200|0;R=T+24|0;C=T+12|0;y=T+8|0;A=T+40|0;S=T+4|0;M=T;g=gw(s)|0;sk(R,s,p,u);f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;if(!(t[C>>0]&1))e=10;else e=(f[C>>2]&-2)+-1|0;_=0;Ae(8,C|0,e|0,0);v=_;_=0;e:do{if(!(v&1)){w=C+8|0;m=C+1|0;s=(t[C>>0]&1)==0?m:f[w>>2]|0;f[y>>2]=s;f[S>>2]=A;f[M>>2]=0;v=C+4|0;k=t[u>>0]|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;u=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;b=_;_=0;if(b&1){L=24;break}if((u|0)==-1){f[i>>2]=0;e=0}}}else e=0;h=(e|0)==0;u=f[r>>2]|0;do{if(u){if((f[u+12>>2]|0)!=(f[u+16>>2]|0))if(h)break;else break i;_=0;d=de(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;b=_;_=0;if(b&1){L=24;break i}if((d|0)!=-1)if(h)break;else break i;else{f[r>>2]=0;L=16;break}}else L=16}while(0);if((L|0)==16){L=0;if(h){u=0;break}else u=0}h=t[C>>0]|0;h=(h&1)==0?(h&255)>>>1:f[v>>2]|0;if((f[y>>2]|0)==(s+h|0)){_=0;Ae(8,C|0,h<<1|0,0);b=_;_=0;if(b&1){L=24;break}if(!(t[C>>0]&1))s=10;else s=(f[C>>2]&-2)+-1|0;_=0;Ae(8,C|0,s|0,0);b=_;_=0;if(b&1){L=24;break}s=(t[C>>0]&1)==0?m:f[w>>2]|0;f[y>>2]=s+h}d=e+12|0;h=f[d>>2]|0;b=e+16|0;if((h|0)==(f[b>>2]|0)){_=0;h=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;P=_;_=0;if(P&1){L=24;break}}else h=a[h>>0]|0;if(Xb(h&255,g,s,y,M,k,R,A,S,p)|0)break;u=f[d>>2]|0;if((u|0)==(f[b>>2]|0)){_=0;de(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;P=_;_=0;if(P&1){L=24;break}else continue}else{f[d>>2]=u+1;continue}}if((L|0)==24){e=ze()|0;break}P=t[R>>0]|0;if((((P&1)==0?(P&255)>>>1:f[R+4>>2]|0)|0)!=0?(E=f[S>>2]|0,(E-A|0)<160):0){P=f[M>>2]|0;f[S>>2]=E+4;f[E>>2]=P}_=0;s=Ee(23,s|0,f[y>>2]|0,l|0,g|0)|0;P=_;_=0;if(!(P&1)){n[o>>1]=s;Ko(R,A,f[S>>2]|0,l);if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;s=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;P=_;_=0;if(P&1){L=25;break}if((s|0)==-1){f[i>>2]=0;e=0}}}else e=0;s=(e|0)==0;do{if(u){if((f[u+12>>2]|0)==(f[u+16>>2]|0)){_=0;e=de(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;P=_;_=0;if(P&1){L=25;break e}if((e|0)==-1){f[r>>2]=0;L=49;break}}if(!s)L=50}else L=49}while(0);if((L|0)==49?s:0)L=50;if((L|0)==50)f[l>>2]=f[l>>2]|2;P=f[i>>2]|0;Oh(C);Oh(R);c=T;return P|0}else L=25}else L=25}while(0);if((L|0)==25)e=ze()|0;Oh(C);Oh(R);$e(e|0);return 0}function Hw(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0;S=c;c=c+240|0;v=S+202|0;o=S+200|0;C=S+24|0;T=S+12|0;g=S+8|0;E=S+40|0;A=S+4|0;y=S;p=gw(n)|0;sk(C,n,v,o);f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;if(!(t[T>>0]&1))e=10;else e=(f[T>>2]&-2)+-1|0;_=0;Ae(8,T|0,e|0,0);m=_;_=0;e:do{if(!(m&1)){k=T+8|0;w=T+1|0;n=(t[T>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n;f[A>>2]=E;f[y>>2]=0;m=T+4|0;b=t[o>>0]|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;o=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;d=_;_=0;if(d&1){R=24;break}if((o|0)==-1){f[i>>2]=0;e=0}}}else e=0;u=(e|0)==0;o=f[r>>2]|0;do{if(o){if((f[o+12>>2]|0)!=(f[o+16>>2]|0))if(u)break;else break i;_=0;h=de(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;d=_;_=0;if(d&1){R=24;break i}if((h|0)!=-1)if(u)break;else break i;else{f[r>>2]=0;R=16;break}}else R=16}while(0);if((R|0)==16){R=0;if(u){o=0;break}else o=0}u=t[T>>0]|0;u=(u&1)==0?(u&255)>>>1:f[m>>2]|0;if((f[g>>2]|0)==(n+u|0)){_=0;Ae(8,T|0,u<<1|0,0);d=_;_=0;if(d&1){R=24;break}if(!(t[T>>0]&1))n=10;else n=(f[T>>2]&-2)+-1|0;_=0;Ae(8,T|0,n|0,0);d=_;_=0;if(d&1){R=24;break}n=(t[T>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n+u}h=e+12|0;u=f[h>>2]|0;d=e+16|0;if((u|0)==(f[d>>2]|0)){_=0;u=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;L=_;_=0;if(L&1){R=24;break}}else u=a[u>>0]|0;if(Xb(u&255,p,n,g,y,b,C,E,A,v)|0)break;o=f[h>>2]|0;if((o|0)==(f[d>>2]|0)){_=0;de(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;L=_;_=0;if(L&1){R=24;break}else continue}else{f[h>>2]=o+1;continue}}if((R|0)==24){e=ze()|0;break}L=t[C>>0]|0;if((((L&1)==0?(L&255)>>>1:f[C+4>>2]|0)|0)!=0?(M=f[A>>2]|0,(M-E|0)<160):0){L=f[y>>2]|0;f[A>>2]=M+4;f[M>>2]=L}_=0;n=Ee(24,n|0,f[g>>2]|0,s|0,p|0)|0;L=_;_=0;if(!(L&1)){f[l>>2]=n;Ko(C,E,f[A>>2]|0,s);if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;n=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;L=_;_=0;if(L&1){R=25;break}if((n|0)==-1){f[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do{if(o){if((f[o+12>>2]|0)==(f[o+16>>2]|0)){_=0;e=de(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;L=_;_=0;if(L&1){R=25;break e}if((e|0)==-1){f[r>>2]=0;R=49;break}}if(!n)R=50}else R=49}while(0);if((R|0)==49?n:0)R=50;if((R|0)==50)f[s>>2]=f[s>>2]|2;L=f[i>>2]|0;Oh(T);Oh(C);c=S;return L|0}else R=25}else R=25}while(0);if((R|0)==25)e=ze()|0;Oh(T);Oh(C);$e(e|0);return 0}function zw(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0;S=c;c=c+240|0;v=S+202|0;o=S+200|0;C=S+24|0;T=S+12|0;g=S+8|0;E=S+40|0;A=S+4|0;y=S;p=gw(n)|0;sk(C,n,v,o);f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;if(!(t[T>>0]&1))e=10;else e=(f[T>>2]&-2)+-1|0;_=0;Ae(8,T|0,e|0,0);m=_;_=0;e:do{if(!(m&1)){k=T+8|0;w=T+1|0;n=(t[T>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n;f[A>>2]=E;f[y>>2]=0;m=T+4|0;b=t[o>>0]|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;o=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;d=_;_=0;if(d&1){R=24;break}if((o|0)==-1){f[i>>2]=0;e=0}}}else e=0;u=(e|0)==0;o=f[r>>2]|0;do{if(o){if((f[o+12>>2]|0)!=(f[o+16>>2]|0))if(u)break;else break i;_=0;h=de(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;d=_;_=0;if(d&1){R=24;break i}if((h|0)!=-1)if(u)break;else break i;else{f[r>>2]=0;R=16;break}}else R=16}while(0);if((R|0)==16){R=0;if(u){o=0;break}else o=0}u=t[T>>0]|0;u=(u&1)==0?(u&255)>>>1:f[m>>2]|0;if((f[g>>2]|0)==(n+u|0)){_=0;Ae(8,T|0,u<<1|0,0);d=_;_=0;if(d&1){R=24;break}if(!(t[T>>0]&1))n=10;else n=(f[T>>2]&-2)+-1|0;_=0;Ae(8,T|0,n|0,0);d=_;_=0;if(d&1){R=24;break}n=(t[T>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n+u}h=e+12|0;u=f[h>>2]|0;d=e+16|0;if((u|0)==(f[d>>2]|0)){_=0;u=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;L=_;_=0;if(L&1){R=24;break}}else u=a[u>>0]|0;if(Xb(u&255,p,n,g,y,b,C,E,A,v)|0)break;o=f[h>>2]|0;if((o|0)==(f[d>>2]|0)){_=0;de(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;L=_;_=0;if(L&1){R=24;break}else continue}else{f[h>>2]=o+1;continue}}if((R|0)==24){e=ze()|0;break}L=t[C>>0]|0;if((((L&1)==0?(L&255)>>>1:f[C+4>>2]|0)|0)!=0?(M=f[A>>2]|0,(M-E|0)<160):0){L=f[y>>2]|0;f[A>>2]=M+4;f[M>>2]=L}_=0;n=Ee(25,n|0,f[g>>2]|0,s|0,p|0)|0;L=_;_=0;if(!(L&1)){f[l>>2]=n;Ko(C,E,f[A>>2]|0,s);if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;n=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;L=_;_=0;if(L&1){R=25;break}if((n|0)==-1){f[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do{if(o){if((f[o+12>>2]|0)==(f[o+16>>2]|0)){_=0;e=de(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;L=_;_=0;if(L&1){R=25;break e}if((e|0)==-1){f[r>>2]=0;R=49;break}}if(!n)R=50}else R=49}while(0);if((R|0)==49?n:0)R=50;if((R|0)==50)f[s>>2]=f[s>>2]|2;L=f[i>>2]|0;Oh(T);Oh(C);c=S;return L|0}else R=25}else R=25}while(0);if((R|0)==25)e=ze()|0;Oh(T);Oh(C);$e(e|0);return 0}function Yw(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0;S=c;c=c+240|0;v=S+202|0;o=S+200|0;C=S+24|0;T=S+12|0;g=S+8|0;E=S+40|0;A=S+4|0;y=S;p=gw(n)|0;sk(C,n,v,o);f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;if(!(t[T>>0]&1))e=10;else e=(f[T>>2]&-2)+-1|0;_=0;Ae(8,T|0,e|0,0);m=_;_=0;e:do{if(!(m&1)){k=T+8|0;w=T+1|0;n=(t[T>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n;f[A>>2]=E;f[y>>2]=0;m=T+4|0;b=t[o>>0]|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;o=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;d=_;_=0;if(d&1){R=24;break}if((o|0)==-1){f[i>>2]=0;e=0}}}else e=0;o=(e|0)==0;u=f[r>>2]|0;do{if(u){if((f[u+12>>2]|0)!=(f[u+16>>2]|0))if(o)break;else break i;_=0;h=de(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;d=_;_=0;if(d&1){R=24;break i}if((h|0)!=-1)if(o)break;else break i;else{f[r>>2]=0;R=16;break}}else R=16}while(0);if((R|0)==16){R=0;if(o){u=0;break}else u=0}o=t[T>>0]|0;o=(o&1)==0?(o&255)>>>1:f[m>>2]|0;if((f[g>>2]|0)==(n+o|0)){_=0;Ae(8,T|0,o<<1|0,0);d=_;_=0;if(d&1){R=24;break}if(!(t[T>>0]&1))n=10;else n=(f[T>>2]&-2)+-1|0;_=0;Ae(8,T|0,n|0,0);d=_;_=0;if(d&1){R=24;break}n=(t[T>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n+o}h=e+12|0;o=f[h>>2]|0;d=e+16|0;if((o|0)==(f[d>>2]|0)){_=0;o=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;L=_;_=0;if(L&1){R=24;break}}else o=a[o>>0]|0;if(Xb(o&255,p,n,g,y,b,C,E,A,v)|0)break;o=f[h>>2]|0;if((o|0)==(f[d>>2]|0)){_=0;de(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;L=_;_=0;if(L&1){R=24;break}else continue}else{f[h>>2]=o+1;continue}}if((R|0)==24){e=ze()|0;break}L=t[C>>0]|0;if((((L&1)==0?(L&255)>>>1:f[C+4>>2]|0)|0)!=0?(M=f[A>>2]|0,(M-E|0)<160):0){L=f[y>>2]|0;f[A>>2]=M+4;f[M>>2]=L}_=0;n=Ee(26,n|0,f[g>>2]|0,s|0,p|0)|0;o=x;L=_;_=0;if(!(L&1)){L=l;f[L>>2]=n;f[L+4>>2]=o;Ko(C,E,f[A>>2]|0,s);if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;n=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;L=_;_=0;if(L&1){R=25;break}if((n|0)==-1){f[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do{if(u){if((f[u+12>>2]|0)==(f[u+16>>2]|0)){_=0;e=de(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;L=_;_=0;if(L&1){R=25;break e}if((e|0)==-1){f[r>>2]=0;R=49;break}}if(!n)R=50}else R=49}while(0);if((R|0)==49?n:0)R=50;if((R|0)==50)f[s>>2]=f[s>>2]|2;L=f[i>>2]|0;Oh(T);Oh(C);c=S;return L|0}else R=25}else R=25}while(0);if((R|0)==25)e=ze()|0;Oh(T);Oh(C);$e(e|0);return 0}function qw(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var u=0.0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0;L=c;c=c+240|0;y=L+208|0;h=L+203|0;d=L+202|0;x=L+24|0;P=L+12|0;E=L+8|0;C=L+40|0;R=L+4|0;A=L;S=L+201|0;M=L+200|0;lk(x,n,y,h,d);f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;if(!(t[P>>0]&1))e=10;else e=(f[P>>2]&-2)+-1|0;_=0;Ae(8,P|0,e|0,0);g=_;_=0;e:do{if(!(g&1)){v=P+8|0;p=P+1|0;n=(t[P>>0]&1)==0?p:f[v>>2]|0;f[E>>2]=n;f[R>>2]=C;f[A>>2]=0;t[S>>0]=1;t[M>>0]=69;g=P+4|0;m=t[h>>0]|0;w=t[d>>0]|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;h=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;k=_;_=0;if(k&1){O=24;break}if((h|0)==-1){f[i>>2]=0;e=0}}}else e=0;d=(e|0)==0;h=f[r>>2]|0;do{if(h){if((f[h+12>>2]|0)!=(f[h+16>>2]|0))if(d)break;else break i;_=0;b=de(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;k=_;_=0;if(k&1){O=24;break i}if((b|0)!=-1)if(d)break;else break i;else{f[r>>2]=0;O=16;break}}else O=16}while(0);if((O|0)==16){O=0;if(d){h=0;break}else h=0}d=t[P>>0]|0;d=(d&1)==0?(d&255)>>>1:f[g>>2]|0;if((f[E>>2]|0)==(n+d|0)){_=0;Ae(8,P|0,d<<1|0,0);k=_;_=0;if(k&1){O=24;break}if(!(t[P>>0]&1))n=10;else n=(f[P>>2]&-2)+-1|0;_=0;Ae(8,P|0,n|0,0);k=_;_=0;if(k&1){O=24;break}n=(t[P>>0]&1)==0?p:f[v>>2]|0;f[E>>2]=n+d}b=e+12|0;d=f[b>>2]|0;k=e+16|0;if((d|0)==(f[k>>2]|0)){_=0;d=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;B=_;_=0;if(B&1){O=24;break}}else d=a[d>>0]|0;if(ok(d&255,S,M,n,E,m,w,x,C,R,A,y)|0)break;h=f[b>>2]|0;if((h|0)==(f[k>>2]|0)){_=0;de(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;B=_;_=0;if(B&1){O=24;break}else continue}else{f[b>>2]=h+1;continue}}if((O|0)==24){e=ze()|0;break}B=t[x>>0]|0;if(!((t[S>>0]|0)==0?1:(((B&1)==0?(B&255)>>>1:f[x+4>>2]|0)|0)==0)?(T=f[R>>2]|0,(T-C|0)<160):0){B=f[A>>2]|0;f[R>>2]=T+4;f[T>>2]=B}_=0;u=+ye(1,n|0,f[E>>2]|0,s|0);B=_;_=0;if(!(B&1)){o[l>>2]=u;Ko(x,C,f[R>>2]|0,s);if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;n=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;B=_;_=0;if(B&1){O=25;break}if((n|0)==-1){f[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do{if(h){if((f[h+12>>2]|0)==(f[h+16>>2]|0)){_=0;e=de(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;B=_;_=0;if(B&1){O=25;break e}if((e|0)==-1){f[r>>2]=0;O=49;break}}if(!n)O=50}else O=49}while(0);if((O|0)==49?n:0)O=50;if((O|0)==50)f[s>>2]=f[s>>2]|2;B=f[i>>2]|0;Oh(P);Oh(x);c=L;return B|0}else O=25}else O=25}while(0);if((O|0)==25)e=ze()|0;Oh(P);Oh(x);$e(e|0);return 0}function Xw(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0.0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0;L=c;c=c+240|0;y=L+208|0;h=L+203|0;d=L+202|0;x=L+24|0;P=L+12|0;E=L+8|0;C=L+40|0;R=L+4|0;A=L;S=L+201|0;M=L+200|0;lk(x,n,y,h,d);f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;if(!(t[P>>0]&1))e=10;else e=(f[P>>2]&-2)+-1|0;_=0;Ae(8,P|0,e|0,0);g=_;_=0;e:do{if(!(g&1)){v=P+8|0;p=P+1|0;n=(t[P>>0]&1)==0?p:f[v>>2]|0;f[E>>2]=n;f[R>>2]=C;f[A>>2]=0;t[S>>0]=1;t[M>>0]=69;g=P+4|0;m=t[h>>0]|0;w=t[d>>0]|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;h=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;k=_;_=0;if(k&1){O=24;break}if((h|0)==-1){f[i>>2]=0;e=0}}}else e=0;d=(e|0)==0;h=f[r>>2]|0;do{if(h){if((f[h+12>>2]|0)!=(f[h+16>>2]|0))if(d)break;else break i;_=0;b=de(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;k=_;_=0;if(k&1){O=24;break i}if((b|0)!=-1)if(d)break;else break i;else{f[r>>2]=0;O=16;break}}else O=16}while(0);if((O|0)==16){O=0;if(d){h=0;break}else h=0}d=t[P>>0]|0;d=(d&1)==0?(d&255)>>>1:f[g>>2]|0;if((f[E>>2]|0)==(n+d|0)){_=0;Ae(8,P|0,d<<1|0,0);k=_;_=0;if(k&1){O=24;break}if(!(t[P>>0]&1))n=10;else n=(f[P>>2]&-2)+-1|0;_=0;Ae(8,P|0,n|0,0);k=_;_=0;if(k&1){O=24;break}n=(t[P>>0]&1)==0?p:f[v>>2]|0;f[E>>2]=n+d}b=e+12|0;d=f[b>>2]|0;k=e+16|0;if((d|0)==(f[k>>2]|0)){_=0;d=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;B=_;_=0;if(B&1){O=24;break}}else d=a[d>>0]|0;if(ok(d&255,S,M,n,E,m,w,x,C,R,A,y)|0)break;h=f[b>>2]|0;if((h|0)==(f[k>>2]|0)){_=0;de(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;B=_;_=0;if(B&1){O=24;break}else continue}else{f[b>>2]=h+1;continue}}if((O|0)==24){e=ze()|0;break}B=t[x>>0]|0;if(!((t[S>>0]|0)==0?1:(((B&1)==0?(B&255)>>>1:f[x+4>>2]|0)|0)==0)?(T=f[R>>2]|0,(T-C|0)<160):0){B=f[A>>2]|0;f[R>>2]=T+4;f[T>>2]=B}_=0;o=+ye(2,n|0,f[E>>2]|0,s|0);B=_;_=0;if(!(B&1)){u[l>>3]=o;Ko(x,C,f[R>>2]|0,s);if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;n=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;B=_;_=0;if(B&1){O=25;break}if((n|0)==-1){f[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do{if(h){if((f[h+12>>2]|0)==(f[h+16>>2]|0)){_=0;e=de(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;B=_;_=0;if(B&1){O=25;break e}if((e|0)==-1){f[r>>2]=0;O=49;break}}if(!n)O=50}else O=49}while(0);if((O|0)==49?n:0)O=50;if((O|0)==50)f[s>>2]=f[s>>2]|2;B=f[i>>2]|0;Oh(P);Oh(x);c=L;return B|0}else O=25}else O=25}while(0);if((O|0)==25)e=ze()|0;Oh(P);Oh(x);$e(e|0);return 0}function Vw(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0.0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0,B=0;L=c;c=c+240|0;y=L+208|0;h=L+203|0;d=L+202|0;x=L+24|0;P=L+12|0;E=L+8|0;C=L+40|0;R=L+4|0;A=L;S=L+201|0;M=L+200|0;lk(x,n,y,h,d);f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;if(!(t[P>>0]&1))e=10;else e=(f[P>>2]&-2)+-1|0;_=0;Ae(8,P|0,e|0,0);g=_;_=0;e:do{if(!(g&1)){v=P+8|0;p=P+1|0;n=(t[P>>0]&1)==0?p:f[v>>2]|0;f[E>>2]=n;f[R>>2]=C;f[A>>2]=0;t[S>>0]=1;t[M>>0]=69;g=P+4|0;m=t[h>>0]|0;w=t[d>>0]|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;h=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;k=_;_=0;if(k&1){O=24;break}if((h|0)==-1){f[i>>2]=0;e=0}}}else e=0;d=(e|0)==0;h=f[r>>2]|0;do{if(h){if((f[h+12>>2]|0)!=(f[h+16>>2]|0))if(d)break;else break i;_=0;b=de(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;k=_;_=0;if(k&1){O=24;break i}if((b|0)!=-1)if(d)break;else break i;else{f[r>>2]=0;O=16;break}}else O=16}while(0);if((O|0)==16){O=0;if(d){h=0;break}else h=0}d=t[P>>0]|0;d=(d&1)==0?(d&255)>>>1:f[g>>2]|0;if((f[E>>2]|0)==(n+d|0)){_=0;Ae(8,P|0,d<<1|0,0);k=_;_=0;if(k&1){O=24;break}if(!(t[P>>0]&1))n=10;else n=(f[P>>2]&-2)+-1|0;_=0;Ae(8,P|0,n|0,0);k=_;_=0;if(k&1){O=24;break}n=(t[P>>0]&1)==0?p:f[v>>2]|0;f[E>>2]=n+d}b=e+12|0;d=f[b>>2]|0;k=e+16|0;if((d|0)==(f[k>>2]|0)){_=0;d=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;B=_;_=0;if(B&1){O=24;break}}else d=a[d>>0]|0;if(ok(d&255,S,M,n,E,m,w,x,C,R,A,y)|0)break;h=f[b>>2]|0;if((h|0)==(f[k>>2]|0)){_=0;de(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;B=_;_=0;if(B&1){O=24;break}else continue}else{f[b>>2]=h+1;continue}}if((O|0)==24){e=ze()|0;break}B=t[x>>0]|0;if(!((t[S>>0]|0)==0?1:(((B&1)==0?(B&255)>>>1:f[x+4>>2]|0)|0)==0)?(T=f[R>>2]|0,(T-C|0)<160):0){B=f[A>>2]|0;f[R>>2]=T+4;f[T>>2]=B}_=0;o=+ye(3,n|0,f[E>>2]|0,s|0);B=_;_=0;if(!(B&1)){u[l>>3]=o;Ko(x,C,f[R>>2]|0,s);if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){_=0;n=de(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;B=_;_=0;if(B&1){O=25;break}if((n|0)==-1){f[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do{if(h){if((f[h+12>>2]|0)==(f[h+16>>2]|0)){_=0;e=de(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;B=_;_=0;if(B&1){O=25;break e}if((e|0)==-1){f[r>>2]=0;O=49;break}}if(!n)O=50}else O=49}while(0);if((O|0)==49?n:0)O=50;if((O|0)==50)f[s>>2]=f[s>>2]|2;B=f[i>>2]|0;Oh(P);Oh(x);c=L;return B|0}else O=25}else O=25}while(0);if((O|0)==25)e=ze()|0;Oh(P);Oh(x);$e(e|0);return 0}function Gw(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;n=c;c=c+16|0;a=n;f[a>>2]=t;t=Wg(i)|0;i=Fy(e,r,a)|0;if((t|0)!=0?(_=0,de(75,t|0)|0,a=_,_=0,a&1):0){a=ze(0)|0;Fi(a)}c=n;return i|0}function Kw(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;E=c;c=c+112|0;u=E;d=(n-r|0)/12|0;do{if(d>>>0>100){u=Lc(d)|0;if((u|0)==0?(_=0,Se(6),M=_,_=0,M&1):0){o=0;k=6;break}o=u;k=11}else{o=0;k=11}}while(0);e:do{if((k|0)==11){if((r|0)==(n|0))h=0;else{w=r;b=0;k=u;while(1){h=t[w>>0]|0;if(!(h&1))h=(h&255)>>>1;else h=f[w+4>>2]|0;if(!h){t[k>>0]=2;h=b+1|0;d=d+-1|0}else{t[k>>0]=1;h=b}w=w+12|0;if((w|0)==(n|0))break;else{b=h;k=k+1|0}}}y=(r|0)==(n|0);M=(r|0)==(n|0);g=0;m=d;i:while(1){d=f[e>>2]|0;do{if(d){b=f[d+12>>2]|0;if((b|0)==(f[d+16>>2]|0)){_=0;d=de(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;p=_;_=0;if(p&1){k=5;break i}}else d=f[b>>2]|0;if((d|0)==-1){f[e>>2]=0;w=1;break}else{w=(f[e>>2]|0)==0;break}}else w=1}while(0);b=f[i>>2]|0;if(b){d=f[b+12>>2]|0;if((d|0)==(f[b+16>>2]|0)){_=0;d=de(f[(f[b>>2]|0)+36>>2]|0,b|0)|0;p=_;_=0;if(p&1){k=5;break}}else d=f[d>>2]|0;if((d|0)==-1){f[i>>2]=0;b=0;k=1}else k=0}else{b=0;k=1}d=f[e>>2]|0;if(!((m|0)!=0&(w^k))){k=66;break}b=f[d+12>>2]|0;if((b|0)==(f[d+16>>2]|0)){_=0;d=de(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;p=_;_=0;if(p&1){k=5;break}}else d=f[b>>2]|0;if(!l){_=0;d=pe(f[(f[a>>2]|0)+28>>2]|0,a|0,d|0)|0;p=_;_=0;if(p&1){k=5;break}}p=g+1|0;if(y){d=0;w=m}else{w=0;v=r;k=m;m=u;while(1){do{if((t[m>>0]|0)==1){if(!(t[v>>0]&1))b=v+4|0;else b=f[v+8>>2]|0;b=f[b+(g<<2)>>2]|0;if(!l){_=0;b=pe(f[(f[a>>2]|0)+28>>2]|0,a|0,b|0)|0;A=_;_=0;if(A&1){k=4;break i}}if((d|0)!=(b|0)){t[m>>0]=0;b=w;k=k+-1|0;break}b=t[v>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=f[v+4>>2]|0;if((b|0)==(p|0)){t[m>>0]=2;b=1;h=h+1|0;k=k+-1|0}else b=1}else b=w}while(0);v=v+12|0;if((v|0)==(n|0)){d=b;w=k;break}else{w=b;m=m+1|0}}}if(!d){g=p;m=w;continue}d=f[e>>2]|0;b=d+12|0;k=f[b>>2]|0;if((k|0)==(f[d+16>>2]|0)){_=0;de(f[(f[d>>2]|0)+40>>2]|0,d|0)|0;A=_;_=0;if(A&1){k=5;break}}else f[b>>2]=k+4;if((h+w|0)>>>0<2|M){g=p;m=w;continue}else{d=r;k=u}while(1){if((t[k>>0]|0)==2){b=t[d>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=f[d+4>>2]|0;if((b|0)!=(p|0)){t[k>>0]=0;h=h+-1|0}}d=d+12|0;if((d|0)==(n|0)){g=p;m=w;continue i}else k=k+1|0}}if((k|0)==4){r=ze()|0;break}else if((k|0)==5){r=ze()|0;break}else if((k|0)==66){do{if(d){h=f[d+12>>2]|0;if((h|0)==(f[d+16>>2]|0)){_=0;h=de(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;A=_;_=0;if(A&1){k=6;break e}}else h=f[h>>2]|0;if((h|0)==-1){f[e>>2]=0;d=1;break}else{d=(f[e>>2]|0)==0;break}}else d=1}while(0);do{if(b){h=f[b+12>>2]|0;if((h|0)==(f[b+16>>2]|0)){_=0;h=de(f[(f[b>>2]|0)+36>>2]|0,b|0)|0;A=_;_=0;if(A&1){k=6;break e}}else h=f[h>>2]|0;if((h|0)!=-1)if(d)break;else{k=81;break}else{f[i>>2]=0;k=79;break}}else k=79}while(0);if((k|0)==79?d:0)k=81;if((k|0)==81)f[s>>2]=f[s>>2]|2;i:do{if((r|0)==(n|0))k=85;else while(1){if((t[u>>0]|0)==2)break i;r=r+12|0;if((r|0)==(n|0)){k=85;break}else u=u+1|0}}while(0);if((k|0)==85){f[s>>2]=f[s>>2]|4;r=n}if(o)Pc(o);c=E;return r|0}}}while(0);if((k|0)==6)r=ze()|0;if(o)Pc(o);$e(r|0);return 0}function Ww(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0;A=c;c=c+320|0;m=A+208|0;l=A+200|0;T=A+24|0;S=A+12|0;p=A+8|0;M=A+40|0;E=A+4|0;g=A;v=gw(n)|0;uk(T,n,m,l);f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;if(!(t[S>>0]&1))e=10;else e=(f[S>>2]&-2)+-1|0;_=0;Ae(8,S|0,e|0,0);w=_;_=0;e:do{if(!(w&1)){b=S+8|0;k=S+1|0;e=(t[S>>0]&1)==0?k:f[b>>2]|0;f[p>>2]=e;f[E>>2]=M;f[g>>2]=0;w=S+4|0;d=f[l>>2]|0;l=f[i>>2]|0;i:while(1){if(l){n=f[l+12>>2]|0;if((n|0)==(f[l+16>>2]|0)){_=0;n=de(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;h=_;_=0;if(h&1){C=25;break}}else n=f[n>>2]|0;if((n|0)==-1){f[i>>2]=0;n=0;o=1}else{n=l;o=0}}else{n=0;o=1}u=f[r>>2]|0;do{if(u){l=f[u+12>>2]|0;if((l|0)==(f[u+16>>2]|0)){_=0;l=de(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;h=_;_=0;if(h&1){C=25;break i}}else l=f[l>>2]|0;if((l|0)!=-1)if(o)break;else{l=u;break i}else{f[r>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(o){l=0;break}else u=0}l=t[S>>0]|0;l=(l&1)==0?(l&255)>>>1:f[w>>2]|0;if((f[p>>2]|0)==(e+l|0)){_=0;Ae(8,S|0,l<<1|0,0);h=_;_=0;if(h&1){C=25;break}if(!(t[S>>0]&1))e=10;else e=(f[S>>2]&-2)+-1|0;_=0;Ae(8,S|0,e|0,0);h=_;_=0;if(h&1){C=25;break}e=(t[S>>0]&1)==0?k:f[b>>2]|0;f[p>>2]=e+l}o=n+12|0;l=f[o>>2]|0;h=n+16|0;if((l|0)==(f[h>>2]|0)){_=0;l=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;R=_;_=0;if(R&1){C=25;break}}else l=f[l>>2]|0;if(ak(l,v,e,p,g,d,T,M,E,m)|0){l=u;break}l=f[o>>2]|0;if((l|0)==(f[h>>2]|0)){_=0;de(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;R=_;_=0;if(R&1){C=25;break}else{l=n;continue}}else{f[o>>2]=l+4;l=n;continue}}if((C|0)==25){e=ze()|0;break}R=t[T>>0]|0;if((((R&1)==0?(R&255)>>>1:f[T+4>>2]|0)|0)!=0?(y=f[E>>2]|0,(y-M|0)<160):0){R=f[g>>2]|0;f[E>>2]=y+4;f[y>>2]=R}_=0;e=Ee(21,e|0,f[p>>2]|0,a|0,v|0)|0;R=_;_=0;if(!(R&1)){f[s>>2]=e;Ko(T,M,f[E>>2]|0,a);if(n){e=f[n+12>>2]|0;if((e|0)==(f[n+16>>2]|0)){_=0;e=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;R=_;_=0;if(R&1){C=26;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;n=1}else n=0}else n=1;do{if(l){e=f[l+12>>2]|0;if((e|0)==(f[l+16>>2]|0)){_=0;e=de(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;R=_;_=0;if(R&1){C=26;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(n)break;else{C=53;break}else{f[r>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?n:0)C=53;if((C|0)==53)f[a>>2]=f[a>>2]|2;R=f[i>>2]|0;Oh(S);Oh(T);c=A;return R|0}else C=26}else C=26}while(0);if((C|0)==26)e=ze()|0;Oh(S);Oh(T);$e(e|0);return 0}function Zw(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0;A=c;c=c+320|0;m=A+208|0;l=A+200|0;T=A+24|0;S=A+12|0;p=A+8|0;M=A+40|0;E=A+4|0;g=A;v=gw(n)|0;uk(T,n,m,l);f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;if(!(t[S>>0]&1))e=10;else e=(f[S>>2]&-2)+-1|0;_=0;Ae(8,S|0,e|0,0);w=_;_=0;e:do{if(!(w&1)){b=S+8|0;k=S+1|0;e=(t[S>>0]&1)==0?k:f[b>>2]|0;f[p>>2]=e;f[E>>2]=M;f[g>>2]=0;w=S+4|0;d=f[l>>2]|0;l=f[i>>2]|0;i:while(1){if(l){n=f[l+12>>2]|0;if((n|0)==(f[l+16>>2]|0)){_=0;n=de(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;h=_;_=0;if(h&1){C=25;break}}else n=f[n>>2]|0;if((n|0)==-1){f[i>>2]=0;l=0;u=1}else u=0}else{l=0;u=1}o=f[r>>2]|0;do{if(o){n=f[o+12>>2]|0;if((n|0)==(f[o+16>>2]|0)){_=0;n=de(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;h=_;_=0;if(h&1){C=25;break i}}else n=f[n>>2]|0;if((n|0)!=-1)if(u)break;else break i;else{f[r>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(u){o=0;break}else o=0}n=t[S>>0]|0;n=(n&1)==0?(n&255)>>>1:f[w>>2]|0;if((f[p>>2]|0)==(e+n|0)){_=0;Ae(8,S|0,n<<1|0,0);h=_;_=0;if(h&1){C=25;break}if(!(t[S>>0]&1))e=10;else e=(f[S>>2]&-2)+-1|0;_=0;Ae(8,S|0,e|0,0);h=_;_=0;if(h&1){C=25;break}e=(t[S>>0]&1)==0?k:f[b>>2]|0;f[p>>2]=e+n}u=l+12|0;n=f[u>>2]|0;h=l+16|0;if((n|0)==(f[h>>2]|0)){_=0;n=de(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;R=_;_=0;if(R&1){C=25;break}}else n=f[n>>2]|0;if(ak(n,v,e,p,g,d,T,M,E,m)|0)break;n=f[u>>2]|0;if((n|0)==(f[h>>2]|0)){_=0;de(f[(f[l>>2]|0)+40>>2]|0,l|0)|0;R=_;_=0;if(R&1){C=25;break}else continue}else{f[u>>2]=n+4;continue}}if((C|0)==25){e=ze()|0;break}R=t[T>>0]|0;if((((R&1)==0?(R&255)>>>1:f[T+4>>2]|0)|0)!=0?(y=f[E>>2]|0,(y-M|0)<160):0){R=f[g>>2]|0;f[E>>2]=y+4;f[y>>2]=R}_=0;e=Ee(22,e|0,f[p>>2]|0,a|0,v|0)|0;n=x;R=_;_=0;if(!(R&1)){R=s;f[R>>2]=e;f[R+4>>2]=n;Ko(T,M,f[E>>2]|0,a);if(l){e=f[l+12>>2]|0;if((e|0)==(f[l+16>>2]|0)){_=0;e=de(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;R=_;_=0;if(R&1){C=26;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;n=1}else n=0}else n=1;do{if(o){e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){_=0;e=de(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;R=_;_=0;if(R&1){C=26;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(n)break;else{C=53;break}else{f[r>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?n:0)C=53;if((C|0)==53)f[a>>2]=f[a>>2]|2;R=f[i>>2]|0;Oh(S);Oh(T);c=A;return R|0}else C=26}else C=26}while(0);if((C|0)==26)e=ze()|0;Oh(S);Oh(T);$e(e|0);return 0}function Jw(e,i,r,a,s,l){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0;S=c;c=c+320|0;v=S+208|0;o=S+200|0;C=S+24|0;T=S+12|0;g=S+8|0;E=S+40|0;A=S+4|0;y=S;p=gw(a)|0;uk(C,a,v,o);f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;if(!(t[T>>0]&1))e=10;else e=(f[T>>2]&-2)+-1|0;_=0;Ae(8,T|0,e|0,0);m=_;_=0;e:do{if(!(m&1)){k=T+8|0;w=T+1|0;e=(t[T>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=e;f[A>>2]=E;f[y>>2]=0;m=T+4|0;b=f[o>>2]|0;o=f[i>>2]|0;i:while(1){if(o){a=f[o+12>>2]|0;if((a|0)==(f[o+16>>2]|0)){_=0;a=de(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;d=_;_=0;if(d&1){R=25;break}}else a=f[a>>2]|0;if((a|0)==-1){f[i>>2]=0;a=0;u=1}else{a=o;u=0}}else{a=0;u=1}h=f[r>>2]|0;do{if(h){o=f[h+12>>2]|0;if((o|0)==(f[h+16>>2]|0)){_=0;o=de(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;d=_;_=0;if(d&1){R=25;break i}}else o=f[o>>2]|0;if((o|0)!=-1)if(u)break;else{o=h;break i}else{f[r>>2]=0;R=17;break}}else R=17}while(0);if((R|0)==17){R=0;if(u){o=0;break}else h=0}o=t[T>>0]|0;o=(o&1)==0?(o&255)>>>1:f[m>>2]|0;if((f[g>>2]|0)==(e+o|0)){_=0;Ae(8,T|0,o<<1|0,0);d=_;_=0;if(d&1){R=25;break}if(!(t[T>>0]&1))e=10;else e=(f[T>>2]&-2)+-1|0;_=0;Ae(8,T|0,e|0,0);d=_;_=0;if(d&1){R=25;break}e=(t[T>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=e+o}u=a+12|0;o=f[u>>2]|0;d=a+16|0;if((o|0)==(f[d>>2]|0)){_=0;o=de(f[(f[a>>2]|0)+36>>2]|0,a|0)|0;L=_;_=0;if(L&1){R=25;break}}else o=f[o>>2]|0;if(ak(o,p,e,g,y,b,C,E,A,v)|0){o=h;break}o=f[u>>2]|0;if((o|0)==(f[d>>2]|0)){_=0;de(f[(f[a>>2]|0)+40>>2]|0,a|0)|0;L=_;_=0;if(L&1){R=25;break}else{o=a;continue}}else{f[u>>2]=o+4;o=a;continue}}if((R|0)==25){e=ze()|0;break}L=t[C>>0]|0;if((((L&1)==0?(L&255)>>>1:f[C+4>>2]|0)|0)!=0?(M=f[A>>2]|0,(M-E|0)<160):0){L=f[y>>2]|0;f[A>>2]=M+4;f[M>>2]=L}_=0;e=Ee(23,e|0,f[g>>2]|0,s|0,p|0)|0;L=_;_=0;if(!(L&1)){n[l>>1]=e;Ko(C,E,f[A>>2]|0,s);if(a){e=f[a+12>>2]|0;if((e|0)==(f[a+16>>2]|0)){_=0;e=de(f[(f[a>>2]|0)+36>>2]|0,a|0)|0;L=_;_=0;if(L&1){R=26;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;a=1}else a=0}else a=1;do{if(o){e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){_=0;e=de(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;L=_;_=0;if(L&1){R=26;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(a)break;else{R=53;break}else{f[r>>2]=0;R=51;break}}else R=51}while(0);if((R|0)==51?a:0)R=53;if((R|0)==53)f[s>>2]=f[s>>2]|2;L=f[i>>2]|0;Oh(T);Oh(C);c=S;return L|0}else R=26}else R=26}while(0);if((R|0)==26)e=ze()|0;Oh(T);Oh(C);$e(e|0);return 0}function Qw(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0;A=c;c=c+320|0;m=A+208|0;l=A+200|0;T=A+24|0;S=A+12|0;p=A+8|0;M=A+40|0;E=A+4|0;g=A;v=gw(n)|0;uk(T,n,m,l);f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;if(!(t[S>>0]&1))e=10;else e=(f[S>>2]&-2)+-1|0;_=0;Ae(8,S|0,e|0,0);w=_;_=0;e:do{if(!(w&1)){b=S+8|0;k=S+1|0;e=(t[S>>0]&1)==0?k:f[b>>2]|0;f[p>>2]=e;f[E>>2]=M;f[g>>2]=0;w=S+4|0;d=f[l>>2]|0;l=f[i>>2]|0;i:while(1){if(l){n=f[l+12>>2]|0;if((n|0)==(f[l+16>>2]|0)){_=0;n=de(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;h=_;_=0;if(h&1){C=25;break}}else n=f[n>>2]|0;if((n|0)==-1){f[i>>2]=0;n=0;o=1}else{n=l;o=0}}else{n=0;o=1}u=f[r>>2]|0;do{if(u){l=f[u+12>>2]|0;if((l|0)==(f[u+16>>2]|0)){_=0;l=de(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;h=_;_=0;if(h&1){C=25;break i}}else l=f[l>>2]|0;if((l|0)!=-1)if(o)break;else{l=u;break i}else{f[r>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(o){l=0;break}else u=0}l=t[S>>0]|0;l=(l&1)==0?(l&255)>>>1:f[w>>2]|0;if((f[p>>2]|0)==(e+l|0)){_=0;Ae(8,S|0,l<<1|0,0);h=_;_=0;if(h&1){C=25;break}if(!(t[S>>0]&1))e=10;else e=(f[S>>2]&-2)+-1|0;_=0;Ae(8,S|0,e|0,0);h=_;_=0;if(h&1){C=25;break}e=(t[S>>0]&1)==0?k:f[b>>2]|0;f[p>>2]=e+l}o=n+12|0;l=f[o>>2]|0;h=n+16|0;if((l|0)==(f[h>>2]|0)){_=0;l=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;R=_;_=0;if(R&1){C=25;break}}else l=f[l>>2]|0;if(ak(l,v,e,p,g,d,T,M,E,m)|0){l=u;break}l=f[o>>2]|0;if((l|0)==(f[h>>2]|0)){_=0;de(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;R=_;_=0;if(R&1){C=25;break}else{l=n;continue}}else{f[o>>2]=l+4;l=n;continue}}if((C|0)==25){e=ze()|0;break}R=t[T>>0]|0;if((((R&1)==0?(R&255)>>>1:f[T+4>>2]|0)|0)!=0?(y=f[E>>2]|0,(y-M|0)<160):0){R=f[g>>2]|0;f[E>>2]=y+4;f[y>>2]=R}_=0;e=Ee(24,e|0,f[p>>2]|0,a|0,v|0)|0;R=_;_=0;if(!(R&1)){f[s>>2]=e;Ko(T,M,f[E>>2]|0,a);if(n){e=f[n+12>>2]|0;if((e|0)==(f[n+16>>2]|0)){_=0;e=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;R=_;_=0;if(R&1){C=26;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;n=1}else n=0}else n=1;do{if(l){e=f[l+12>>2]|0;if((e|0)==(f[l+16>>2]|0)){_=0;e=de(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;R=_;_=0;if(R&1){C=26;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(n)break;else{C=53;break}else{f[r>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?n:0)C=53;if((C|0)==53)f[a>>2]=f[a>>2]|2;R=f[i>>2]|0;Oh(S);Oh(T);c=A;return R|0}else C=26}else C=26}while(0);if((C|0)==26)e=ze()|0;Oh(S);Oh(T);$e(e|0);return 0}function $w(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0;A=c;c=c+320|0;m=A+208|0;l=A+200|0;T=A+24|0;S=A+12|0;p=A+8|0;M=A+40|0;E=A+4|0;g=A;v=gw(n)|0;uk(T,n,m,l);f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;if(!(t[S>>0]&1))e=10;else e=(f[S>>2]&-2)+-1|0;_=0;Ae(8,S|0,e|0,0);w=_;_=0;e:do{if(!(w&1)){b=S+8|0;k=S+1|0;e=(t[S>>0]&1)==0?k:f[b>>2]|0;f[p>>2]=e;f[E>>2]=M;f[g>>2]=0;w=S+4|0;d=f[l>>2]|0;l=f[i>>2]|0;i:while(1){if(l){n=f[l+12>>2]|0;if((n|0)==(f[l+16>>2]|0)){_=0;n=de(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;h=_;_=0;if(h&1){C=25;break}}else n=f[n>>2]|0;if((n|0)==-1){f[i>>2]=0;n=0;o=1}else{n=l;o=0}}else{n=0;o=1}u=f[r>>2]|0;do{if(u){l=f[u+12>>2]|0;if((l|0)==(f[u+16>>2]|0)){_=0;l=de(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;h=_;_=0;if(h&1){C=25;break i}}else l=f[l>>2]|0;if((l|0)!=-1)if(o)break;else{l=u;break i}else{f[r>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(o){l=0;break}else u=0}l=t[S>>0]|0;l=(l&1)==0?(l&255)>>>1:f[w>>2]|0;if((f[p>>2]|0)==(e+l|0)){_=0;Ae(8,S|0,l<<1|0,0);h=_;_=0;if(h&1){C=25;break}if(!(t[S>>0]&1))e=10;else e=(f[S>>2]&-2)+-1|0;_=0;Ae(8,S|0,e|0,0);h=_;_=0;if(h&1){C=25;break}e=(t[S>>0]&1)==0?k:f[b>>2]|0;f[p>>2]=e+l}o=n+12|0;l=f[o>>2]|0;h=n+16|0;if((l|0)==(f[h>>2]|0)){_=0;l=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;R=_;_=0;if(R&1){C=25;break}}else l=f[l>>2]|0;if(ak(l,v,e,p,g,d,T,M,E,m)|0){l=u;break}l=f[o>>2]|0;if((l|0)==(f[h>>2]|0)){_=0;de(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;R=_;_=0;if(R&1){C=25;break}else{l=n;continue}}else{f[o>>2]=l+4;l=n;continue}}if((C|0)==25){e=ze()|0;break}R=t[T>>0]|0;if((((R&1)==0?(R&255)>>>1:f[T+4>>2]|0)|0)!=0?(y=f[E>>2]|0,(y-M|0)<160):0){R=f[g>>2]|0;f[E>>2]=y+4;f[y>>2]=R}_=0;e=Ee(25,e|0,f[p>>2]|0,a|0,v|0)|0;R=_;_=0;if(!(R&1)){f[s>>2]=e;Ko(T,M,f[E>>2]|0,a);if(n){e=f[n+12>>2]|0;if((e|0)==(f[n+16>>2]|0)){_=0;e=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;R=_;_=0;if(R&1){C=26;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;n=1}else n=0}else n=1;do{if(l){e=f[l+12>>2]|0;if((e|0)==(f[l+16>>2]|0)){_=0;e=de(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;R=_;_=0;if(R&1){C=26;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(n)break;else{C=53;break}else{f[r>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?n:0)C=53;if((C|0)==53)f[a>>2]=f[a>>2]|2;R=f[i>>2]|0;Oh(S);Oh(T);c=A;return R|0}else C=26}else C=26}while(0);if((C|0)==26)e=ze()|0;Oh(S);Oh(T);$e(e|0);return 0}function e_(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0;A=c;c=c+320|0;m=A+208|0;l=A+200|0;T=A+24|0;S=A+12|0;p=A+8|0;M=A+40|0;E=A+4|0;g=A;v=gw(n)|0;uk(T,n,m,l);f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;if(!(t[S>>0]&1))e=10;else e=(f[S>>2]&-2)+-1|0;_=0;Ae(8,S|0,e|0,0);w=_;_=0;e:do{if(!(w&1)){b=S+8|0;k=S+1|0;e=(t[S>>0]&1)==0?k:f[b>>2]|0;f[p>>2]=e;f[E>>2]=M;f[g>>2]=0;w=S+4|0;d=f[l>>2]|0;l=f[i>>2]|0;i:while(1){if(l){n=f[l+12>>2]|0;if((n|0)==(f[l+16>>2]|0)){_=0;n=de(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;h=_;_=0;if(h&1){C=25;break}}else n=f[n>>2]|0;if((n|0)==-1){f[i>>2]=0;l=0;u=1}else u=0}else{l=0;u=1}o=f[r>>2]|0;do{if(o){n=f[o+12>>2]|0;if((n|0)==(f[o+16>>2]|0)){_=0;n=de(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;h=_;_=0;if(h&1){C=25;break i}}else n=f[n>>2]|0;if((n|0)!=-1)if(u)break;else break i;else{f[r>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(u){o=0;break}else o=0}n=t[S>>0]|0;n=(n&1)==0?(n&255)>>>1:f[w>>2]|0;if((f[p>>2]|0)==(e+n|0)){_=0;Ae(8,S|0,n<<1|0,0);h=_;_=0;if(h&1){C=25;break}if(!(t[S>>0]&1))e=10;else e=(f[S>>2]&-2)+-1|0;_=0;Ae(8,S|0,e|0,0);h=_;_=0;if(h&1){C=25;break}e=(t[S>>0]&1)==0?k:f[b>>2]|0;f[p>>2]=e+n}u=l+12|0;n=f[u>>2]|0;h=l+16|0;if((n|0)==(f[h>>2]|0)){_=0;n=de(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;R=_;_=0;if(R&1){C=25;break}}else n=f[n>>2]|0;if(ak(n,v,e,p,g,d,T,M,E,m)|0)break;n=f[u>>2]|0;if((n|0)==(f[h>>2]|0)){_=0;de(f[(f[l>>2]|0)+40>>2]|0,l|0)|0;R=_;_=0;if(R&1){C=25;break}else continue}else{f[u>>2]=n+4;continue}}if((C|0)==25){e=ze()|0;break}R=t[T>>0]|0;if((((R&1)==0?(R&255)>>>1:f[T+4>>2]|0)|0)!=0?(y=f[E>>2]|0,(y-M|0)<160):0){R=f[g>>2]|0;f[E>>2]=y+4;f[y>>2]=R}_=0;e=Ee(26,e|0,f[p>>2]|0,a|0,v|0)|0;n=x;R=_;_=0;if(!(R&1)){R=s;f[R>>2]=e;f[R+4>>2]=n;Ko(T,M,f[E>>2]|0,a);if(l){e=f[l+12>>2]|0;if((e|0)==(f[l+16>>2]|0)){_=0;e=de(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;R=_;_=0;if(R&1){C=26;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;n=1}else n=0}else n=1;do{if(o){e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){_=0;e=de(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;R=_;_=0;if(R&1){C=26;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(n)break;else{C=53;break}else{f[r>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?n:0)C=53;if((C|0)==53)f[a>>2]=f[a>>2]|2;R=f[i>>2]|0;Oh(S);Oh(T);c=A;return R|0}else C=26}else C=26}while(0);if((C|0)==26)e=ze()|0;Oh(S);Oh(T);$e(e|0);return 0}function i_(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0.0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0;R=c;c=c+352|0;g=R+208|0;u=R+40|0;h=R+36|0;P=R+24|0;L=R+12|0;M=R+8|0;T=R+48|0;C=R+4|0;E=R;A=R+337|0;y=R+336|0;ck(P,n,g,u,h);f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;if(!(t[L>>0]&1))e=10;else e=(f[L>>2]&-2)+-1|0;_=0;Ae(8,L|0,e|0,0);p=_;_=0;e:do{if(!(p&1)){m=L+8|0;v=L+1|0;e=(t[L>>0]&1)==0?v:f[m>>2]|0;f[M>>2]=e;f[C>>2]=T;f[E>>2]=0;t[A>>0]=1;t[y>>0]=69;p=L+4|0;w=f[u>>2]|0;k=f[h>>2]|0;n=f[i>>2]|0;i:while(1){if(n){u=f[n+12>>2]|0;if((u|0)==(f[n+16>>2]|0)){_=0;u=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;b=_;_=0;if(b&1){x=25;break}}else u=f[u>>2]|0;if((u|0)==-1){f[i>>2]=0;n=0;d=1}else d=0}else{n=0;d=1}u=f[r>>2]|0;do{if(u){h=f[u+12>>2]|0;if((h|0)==(f[u+16>>2]|0)){_=0;h=de(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;b=_;_=0;if(b&1){x=25;break i}}else h=f[h>>2]|0;if((h|0)!=-1)if(d)break;else break i;else{f[r>>2]=0;x=17;break}}else x=17}while(0);if((x|0)==17){x=0;if(d){u=0;break}else u=0}h=t[L>>0]|0;h=(h&1)==0?(h&255)>>>1:f[p>>2]|0;if((f[M>>2]|0)==(e+h|0)){_=0;Ae(8,L|0,h<<1|0,0);b=_;_=0;if(b&1){x=25;break}if(!(t[L>>0]&1))e=10;else e=(f[L>>2]&-2)+-1|0;_=0;Ae(8,L|0,e|0,0);b=_;_=0;if(b&1){x=25;break}e=(t[L>>0]&1)==0?v:f[m>>2]|0;f[M>>2]=e+h}d=n+12|0;h=f[d>>2]|0;b=n+16|0;if((h|0)==(f[b>>2]|0)){_=0;h=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;O=_;_=0;if(O&1){x=25;break}}else h=f[h>>2]|0;if(hk(h,A,y,e,M,w,k,P,T,C,E,g)|0)break;u=f[d>>2]|0;if((u|0)==(f[b>>2]|0)){_=0;de(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;O=_;_=0;if(O&1){x=25;break}else continue}else{f[d>>2]=u+4;continue}}if((x|0)==25){e=ze()|0;break}O=t[P>>0]|0;if(!((t[A>>0]|0)==0?1:(((O&1)==0?(O&255)>>>1:f[P+4>>2]|0)|0)==0)?(S=f[C>>2]|0,(S-T|0)<160):0){O=f[E>>2]|0;f[C>>2]=S+4;f[S>>2]=O}_=0;l=+ye(1,e|0,f[M>>2]|0,a|0);O=_;_=0;if(!(O&1)){o[s>>2]=l;Ko(P,T,f[C>>2]|0,a);if(n){e=f[n+12>>2]|0;if((e|0)==(f[n+16>>2]|0)){_=0;e=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;O=_;_=0;if(O&1){x=26;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;n=1}else n=0}else n=1;do{if(u){e=f[u+12>>2]|0;if((e|0)==(f[u+16>>2]|0)){_=0;e=de(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;O=_;_=0;if(O&1){x=26;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(n)break;else{x=53;break}else{f[r>>2]=0;x=51;break}}else x=51}while(0);if((x|0)==51?n:0)x=53;if((x|0)==53)f[a>>2]=f[a>>2]|2;O=f[i>>2]|0;Oh(L);Oh(P);c=R;return O|0}else x=26}else x=26}while(0);if((x|0)==26)e=ze()|0;Oh(L);Oh(P);$e(e|0);return 0}function r_(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0.0,o=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0;R=c;c=c+352|0;g=R+208|0;o=R+40|0;h=R+36|0;P=R+24|0;L=R+12|0;M=R+8|0;T=R+48|0;C=R+4|0;E=R;A=R+337|0;y=R+336|0;ck(P,n,g,o,h);f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;if(!(t[L>>0]&1))e=10;else e=(f[L>>2]&-2)+-1|0;_=0;Ae(8,L|0,e|0,0);p=_;_=0;e:do{if(!(p&1)){m=L+8|0;v=L+1|0;e=(t[L>>0]&1)==0?v:f[m>>2]|0;f[M>>2]=e;f[C>>2]=T;f[E>>2]=0;t[A>>0]=1;t[y>>0]=69;p=L+4|0;w=f[o>>2]|0;k=f[h>>2]|0;n=f[i>>2]|0;i:while(1){if(n){o=f[n+12>>2]|0;if((o|0)==(f[n+16>>2]|0)){_=0;o=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;b=_;_=0;if(b&1){x=25;break}}else o=f[o>>2]|0;if((o|0)==-1){f[i>>2]=0;n=0;d=1}else d=0}else{n=0;d=1}o=f[r>>2]|0;do{if(o){h=f[o+12>>2]|0;if((h|0)==(f[o+16>>2]|0)){_=0;h=de(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;b=_;_=0;if(b&1){x=25;break i}}else h=f[h>>2]|0;if((h|0)!=-1)if(d)break;else break i;else{f[r>>2]=0;x=17;break}}else x=17}while(0);if((x|0)==17){x=0;if(d){o=0;break}else o=0}h=t[L>>0]|0;h=(h&1)==0?(h&255)>>>1:f[p>>2]|0;if((f[M>>2]|0)==(e+h|0)){_=0;Ae(8,L|0,h<<1|0,0);b=_;_=0;if(b&1){x=25;break}if(!(t[L>>0]&1))e=10;else e=(f[L>>2]&-2)+-1|0;_=0;Ae(8,L|0,e|0,0);b=_;_=0;if(b&1){x=25;break}e=(t[L>>0]&1)==0?v:f[m>>2]|0;f[M>>2]=e+h}d=n+12|0;h=f[d>>2]|0;b=n+16|0;if((h|0)==(f[b>>2]|0)){_=0;h=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;O=_;_=0;if(O&1){x=25;break}}else h=f[h>>2]|0;if(hk(h,A,y,e,M,w,k,P,T,C,E,g)|0)break;o=f[d>>2]|0;if((o|0)==(f[b>>2]|0)){_=0;de(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;O=_;_=0;if(O&1){x=25;break}else continue}else{f[d>>2]=o+4;continue}}if((x|0)==25){e=ze()|0;break}O=t[P>>0]|0;if(!((t[A>>0]|0)==0?1:(((O&1)==0?(O&255)>>>1:f[P+4>>2]|0)|0)==0)?(S=f[C>>2]|0,(S-T|0)<160):0){O=f[E>>2]|0;f[C>>2]=S+4;f[S>>2]=O}_=0;l=+ye(2,e|0,f[M>>2]|0,a|0);O=_;_=0;if(!(O&1)){u[s>>3]=l;Ko(P,T,f[C>>2]|0,a);if(n){e=f[n+12>>2]|0;if((e|0)==(f[n+16>>2]|0)){_=0;e=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;O=_;_=0;if(O&1){x=26;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;n=1}else n=0}else n=1;do{if(o){e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){_=0;e=de(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;O=_;_=0;if(O&1){x=26;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(n)break;else{x=53;break}else{f[r>>2]=0;x=51;break}}else x=51}while(0);if((x|0)==51?n:0)x=53;if((x|0)==53)f[a>>2]=f[a>>2]|2;O=f[i>>2]|0;Oh(L);Oh(P);c=R;return O|0}else x=26}else x=26}while(0);if((x|0)==26)e=ze()|0;Oh(L);Oh(P);$e(e|0);return 0}function t_(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0.0,o=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,x=0,O=0;R=c;c=c+352|0;g=R+208|0;o=R+40|0;h=R+36|0;P=R+24|0;L=R+12|0;M=R+8|0;T=R+48|0;C=R+4|0;E=R;A=R+337|0;y=R+336|0;ck(P,n,g,o,h);f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;if(!(t[L>>0]&1))e=10;else e=(f[L>>2]&-2)+-1|0;_=0;Ae(8,L|0,e|0,0);p=_;_=0;e:do{if(!(p&1)){m=L+8|0;v=L+1|0;e=(t[L>>0]&1)==0?v:f[m>>2]|0;f[M>>2]=e;f[C>>2]=T;f[E>>2]=0;t[A>>0]=1;t[y>>0]=69;p=L+4|0;w=f[o>>2]|0;k=f[h>>2]|0;n=f[i>>2]|0;i:while(1){if(n){o=f[n+12>>2]|0;if((o|0)==(f[n+16>>2]|0)){_=0;o=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;b=_;_=0;if(b&1){x=25;break}}else o=f[o>>2]|0;if((o|0)==-1){f[i>>2]=0;n=0;d=1}else d=0}else{n=0;d=1}o=f[r>>2]|0;do{if(o){h=f[o+12>>2]|0;if((h|0)==(f[o+16>>2]|0)){_=0;h=de(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;b=_;_=0;if(b&1){x=25;break i}}else h=f[h>>2]|0;if((h|0)!=-1)if(d)break;else break i;else{f[r>>2]=0;x=17;break}}else x=17}while(0);if((x|0)==17){x=0;if(d){o=0;break}else o=0}h=t[L>>0]|0;h=(h&1)==0?(h&255)>>>1:f[p>>2]|0;if((f[M>>2]|0)==(e+h|0)){_=0;Ae(8,L|0,h<<1|0,0);b=_;_=0;if(b&1){x=25;break}if(!(t[L>>0]&1))e=10;else e=(f[L>>2]&-2)+-1|0;_=0;Ae(8,L|0,e|0,0);b=_;_=0;if(b&1){x=25;break}e=(t[L>>0]&1)==0?v:f[m>>2]|0;f[M>>2]=e+h}d=n+12|0;h=f[d>>2]|0;b=n+16|0;if((h|0)==(f[b>>2]|0)){_=0;h=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;O=_;_=0;if(O&1){x=25;break}}else h=f[h>>2]|0;if(hk(h,A,y,e,M,w,k,P,T,C,E,g)|0)break;o=f[d>>2]|0;if((o|0)==(f[b>>2]|0)){_=0;de(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;O=_;_=0;if(O&1){x=25;break}else continue}else{f[d>>2]=o+4;continue}}if((x|0)==25){e=ze()|0;break}O=t[P>>0]|0;if(!((t[A>>0]|0)==0?1:(((O&1)==0?(O&255)>>>1:f[P+4>>2]|0)|0)==0)?(S=f[C>>2]|0,(S-T|0)<160):0){O=f[E>>2]|0;f[C>>2]=S+4;f[S>>2]=O}_=0;l=+ye(3,e|0,f[M>>2]|0,a|0);O=_;_=0;if(!(O&1)){u[s>>3]=l;Ko(P,T,f[C>>2]|0,a);if(n){e=f[n+12>>2]|0;if((e|0)==(f[n+16>>2]|0)){_=0;e=de(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;O=_;_=0;if(O&1){x=26;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;n=1}else n=0}else n=1;do{if(o){e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){_=0;e=de(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;O=_;_=0;if(O&1){x=26;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(n)break;else{x=53;break}else{f[r>>2]=0;x=51;break}}else x=51}while(0);if((x|0)==51?n:0)x=53;if((x|0)==53)f[a>>2]=f[a>>2]|2;O=f[i>>2]|0;Oh(L);Oh(P);c=R;return O|0}else x=26}else x=26}while(0);if((x|0)==26)e=ze()|0;Oh(L);Oh(P);$e(e|0);return 0}function n_(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0;a=c;c=c+16|0;s=a;f[s>>2]=n;n=Wg(r)|0;r=Ny(e,i,t,s)|0;if((n|0)!=0?(_=0,de(75,n|0)|0,s=_,_=0,s&1):0){s=ze(0)|0;Fi(s)}c=a;return r|0}function f_(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;n=c;c=c+16|0;a=n;f[a>>2]=t;t=Wg(i)|0;_=0;i=ke(37,e|0,r|0,a|0)|0;e=_;_=0;if(e&1){i=ze()|0;if((t|0)!=0?(_=0,de(75,t|0)|0,a=_,_=0,a&1):0){a=ze(0)|0;Fi(a)}$e(i|0)}else{if((t|0)!=0?(_=0,de(75,t|0)|0,a=_,_=0,a&1):0){a=ze(0)|0;Fi(a)}c=n;return i|0}return 0}function a_(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,k=0;b=c;c=c+16|0;d=b;l=f[e>>2]|0;e:do{if(!l)l=0;else{k=i;u=n-k>>2;h=a+12|0;o=f[h>>2]|0;u=(o|0)>(u|0)?o-u|0:0;o=r;k=o-k|0;a=k>>2;if((k|0)>0?(uM[f[(f[l>>2]|0)+48>>2]&63](l,i,a)|0)!=(a|0):0){f[e>>2]=0;l=0;break}do{if((u|0)>0){Vh(d,u,s);_=0;a=ke(f[(f[l>>2]|0)+48>>2]|0,l|0,((t[d>>0]&1)==0?d+4|0:f[d+8>>2]|0)|0,u|0)|0;k=_;_=0;if(k&1){k=ze()|0;Gh(d);$e(k|0)}if((a|0)==(u|0)){Gh(d);break}else{f[e>>2]=0;Gh(d);l=0;break e}}}while(0);k=n-o|0;n=k>>2;if((k|0)>0?(uM[f[(f[l>>2]|0)+48>>2]&63](l,r,n)|0)!=(n|0):0){f[e>>2]=0;l=0;break}f[h>>2]=0}}while(0);c=b;return l|0}function s_(e,i,r,t,s){e=e|0;i=i|0;r=r|0;t=t|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0;l=f[e>>2]|0;do{if(l){if((f[l+12>>2]|0)==(f[l+16>>2]|0))if((lM[f[(f[l>>2]|0)+36>>2]&127](l)|0)==-1){f[e>>2]=0;l=0;break}else{l=f[e>>2]|0;break}}else l=0}while(0);o=(l|0)==0;l=f[i>>2]|0;do{if(l){if((f[l+12>>2]|0)==(f[l+16>>2]|0)?(lM[f[(f[l>>2]|0)+36>>2]&127](l)|0)==-1:0){f[i>>2]=0;_=11;break}if(o)_=13;else _=12}else _=11}while(0);if((_|0)==11)if(o)_=12;else{l=0;_=13}e:do{if((_|0)==12){f[r>>2]=f[r>>2]|6;l=0}else if((_|0)==13){o=f[e>>2]|0;u=f[o+12>>2]|0;if((u|0)==(f[o+16>>2]|0))o=lM[f[(f[o>>2]|0)+36>>2]&127](o)|0;else o=a[u>>0]|0;u=o&255;if(u<<24>>24>-1?(w=t+8|0,(n[(f[w>>2]|0)+(o<<24>>24<<1)>>1]&2048)!=0):0){h=(uM[f[(f[t>>2]|0)+36>>2]&63](t,u,0)|0)<<24>>24;o=f[e>>2]|0;u=o+12|0;c=f[u>>2]|0;if((c|0)==(f[o+16>>2]|0)){lM[f[(f[o>>2]|0)+40>>2]&127](o)|0;b=s;d=l;s=l;l=h}else{f[u>>2]=c+1;b=s;d=l;s=l;l=h}while(1){l=l+-48|0;k=b+-1|0;o=f[e>>2]|0;do{if(o){if((f[o+12>>2]|0)==(f[o+16>>2]|0))if((lM[f[(f[o>>2]|0)+36>>2]&127](o)|0)==-1){f[e>>2]=0;o=0;break}else{o=f[e>>2]|0;break}}else o=0}while(0);c=(o|0)==0;if(s)if((f[s+12>>2]|0)==(f[s+16>>2]|0))if((lM[f[(f[s>>2]|0)+36>>2]&127](s)|0)==-1){f[i>>2]=0;u=0;s=0}else{u=d;s=d}else u=d;else{u=d;s=0}o=f[e>>2]|0;if(!((b|0)>1&(c^(s|0)==0)))break;c=f[o+12>>2]|0;if((c|0)==(f[o+16>>2]|0))o=lM[f[(f[o>>2]|0)+36>>2]&127](o)|0;else o=a[c>>0]|0;c=o&255;if(c<<24>>24<=-1)break e;if(!(n[(f[w>>2]|0)+(o<<24>>24<<1)>>1]&2048))break e;l=((uM[f[(f[t>>2]|0)+36>>2]&63](t,c,0)|0)<<24>>24)+(l*10|0)|0;o=f[e>>2]|0;c=o+12|0;h=f[c>>2]|0;if((h|0)==(f[o+16>>2]|0)){lM[f[(f[o>>2]|0)+40>>2]&127](o)|0;b=k;d=u;continue}else{f[c>>2]=h+1;b=k;d=u;continue}}do{if(o){if((f[o+12>>2]|0)==(f[o+16>>2]|0))if((lM[f[(f[o>>2]|0)+36>>2]&127](o)|0)==-1){f[e>>2]=0;o=0;break}else{o=f[e>>2]|0;break}}else o=0}while(0);o=(o|0)==0;do{if(u){if((f[u+12>>2]|0)==(f[u+16>>2]|0)?(lM[f[(f[u>>2]|0)+36>>2]&127](u)|0)==-1:0){f[i>>2]=0;_=50;break}if(o)break e}else _=50}while(0);if((_|0)==50?!o:0)break;f[r>>2]=f[r>>2]|2;break}f[r>>2]=f[r>>2]|4;l=0}}while(0);return l|0}function l_(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;a=f[e>>2]|0;do{if(a){s=f[a+12>>2]|0;if((s|0)==(f[a+16>>2]|0))a=lM[f[(f[a>>2]|0)+36>>2]&127](a)|0;else a=f[s>>2]|0;if((a|0)==-1){f[e>>2]=0;l=1;break}else{l=(f[e>>2]|0)==0;break}}else l=1}while(0);s=f[i>>2]|0;do{if(s){a=f[s+12>>2]|0;if((a|0)==(f[s+16>>2]|0))a=lM[f[(f[s>>2]|0)+36>>2]&127](s)|0;else a=f[a>>2]|0;if((a|0)!=-1)if(l){b=17;break}else{b=16;break}else{f[i>>2]=0;b=14;break}}else b=14}while(0);if((b|0)==14)if(l)b=16;else{s=0;b=17}e:do{if((b|0)==16){f[r>>2]=f[r>>2]|6;a=0}else if((b|0)==17){a=f[e>>2]|0;l=f[a+12>>2]|0;if((l|0)==(f[a+16>>2]|0))a=lM[f[(f[a>>2]|0)+36>>2]&127](a)|0;else a=f[l>>2]|0;if(!(uM[f[(f[t>>2]|0)+12>>2]&63](t,2048,a)|0)){f[r>>2]=f[r>>2]|4;a=0;break}a=(uM[f[(f[t>>2]|0)+52>>2]&63](t,a,0)|0)<<24>>24;l=f[e>>2]|0;o=l+12|0;u=f[o>>2]|0;if((u|0)==(f[l+16>>2]|0)){lM[f[(f[l>>2]|0)+40>>2]&127](l)|0;h=n;c=s;o=s}else{f[o>>2]=u+4;h=n;c=s;o=s}while(1){a=a+-48|0;d=h+-1|0;s=f[e>>2]|0;do{if(s){l=f[s+12>>2]|0;if((l|0)==(f[s+16>>2]|0))s=lM[f[(f[s>>2]|0)+36>>2]&127](s)|0;else s=f[l>>2]|0;if((s|0)==-1){f[e>>2]=0;u=1;break}else{u=(f[e>>2]|0)==0;break}}else u=1}while(0);do{if(o){s=f[o+12>>2]|0;if((s|0)==(f[o+16>>2]|0))s=lM[f[(f[o>>2]|0)+36>>2]&127](o)|0;else s=f[s>>2]|0;if((s|0)==-1){f[i>>2]=0;o=0;n=0;s=1;break}else{o=c;n=c;s=(c|0)==0;break}}else{o=c;n=0;s=1}}while(0);l=f[e>>2]|0;if(!((h|0)>1&(u^s)))break;s=f[l+12>>2]|0;if((s|0)==(f[l+16>>2]|0))s=lM[f[(f[l>>2]|0)+36>>2]&127](l)|0;else s=f[s>>2]|0;if(!(uM[f[(f[t>>2]|0)+12>>2]&63](t,2048,s)|0))break e;a=((uM[f[(f[t>>2]|0)+52>>2]&63](t,s,0)|0)<<24>>24)+(a*10|0)|0;s=f[e>>2]|0;l=s+12|0;u=f[l>>2]|0;if((u|0)==(f[s+16>>2]|0)){lM[f[(f[s>>2]|0)+40>>2]&127](s)|0;h=d;c=o;o=n;continue}else{f[l>>2]=u+4;h=d;c=o;o=n;continue}}do{if(l){s=f[l+12>>2]|0;if((s|0)==(f[l+16>>2]|0))s=lM[f[(f[l>>2]|0)+36>>2]&127](l)|0;else s=f[s>>2]|0;if((s|0)==-1){f[e>>2]=0;l=1;break}else{l=(f[e>>2]|0)==0;break}}else l=1}while(0);do{if(o){s=f[o+12>>2]|0;if((s|0)==(f[o+16>>2]|0))s=lM[f[(f[o>>2]|0)+36>>2]&127](o)|0;else s=f[s>>2]|0;if((s|0)!=-1)if(l)break e;else break;else{f[i>>2]=0;b=60;break}}else b=60}while(0);if((b|0)==60?!l:0)break;f[r>>2]=f[r>>2]|2}}while(0);return a|0}function o_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0;a=e+4|0;t=(f[a>>2]|0)!=189;l=f[e>>2]|0;s=l;n=(f[r>>2]|0)-s|0;n=n>>>0<2147483647?n<<1:-1;s=(f[i>>2]|0)-s|0;l=Oc(t?l:0,n)|0;if(!l)Mg();do{if(!t){t=f[e>>2]|0;f[e>>2]=l;if(t){_=0;ue(f[a>>2]|0,t|0);l=_;_=0;if(l&1){l=ze(0)|0;Fi(l)}else{o=f[e>>2]|0;break}}else o=l}else{f[e>>2]=l;o=l}}while(0);f[a>>2]=201;f[i>>2]=o+s;f[r>>2]=(f[e>>2]|0)+n;return}function u_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0;a=e+4|0;t=(f[a>>2]|0)!=189;l=f[e>>2]|0;s=l;n=(f[r>>2]|0)-s|0;n=n>>>0<2147483647?n<<1:-1;s=(f[i>>2]|0)-s>>2;l=Oc(t?l:0,n)|0;if(!l)Mg();do{if(!t){t=f[e>>2]|0;f[e>>2]=l;if(t){_=0;ue(f[a>>2]|0,t|0);l=_;_=0;if(l&1){l=ze(0)|0;Fi(l)}else{o=f[e>>2]|0;break}}else o=l}else{f[e>>2]=l;o=l}}while(0);f[a>>2]=201;f[i>>2]=o+(s<<2);f[r>>2]=(f[e>>2]|0)+(n>>>2<<2);return}function c_(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0;s=i;n=t[e>>0]|0;if(!(n&1)){a=10;u=(n&255)>>>1}else{n=f[e>>2]|0;a=(n&-2)+-1|0;u=f[e+4>>2]|0;n=n&255}o=r-s|0;do{if((r|0)!=(i|0)){if((a-u|0)>>>0>>0){qh(e,a,u+o-a|0,u,u,0,0);n=t[e>>0]|0}if(!(n&1))l=e+1|0;else l=f[e+8>>2]|0;s=r+(u-s)|0;if((i|0)!=(r|0)){n=i;a=l+u|0;while(1){t[a>>0]=t[n>>0]|0;n=n+1|0;if((n|0)==(r|0))break;else a=a+1|0}}t[l+s>>0]=0;n=u+o|0;if(!(t[e>>0]&1)){t[e>>0]=n<<1;break}else{f[e+4>>2]=n;break}}}while(0);return e|0}function h_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0;a=e+4|0;t=(f[a>>2]|0)!=189;l=f[e>>2]|0;s=l;n=(f[r>>2]|0)-s|0;n=n>>>0<2147483647?n<<1:-1;s=(f[i>>2]|0)-s>>2;l=Oc(t?l:0,n)|0;if(!l)Mg();do{if(!t){t=f[e>>2]|0;f[e>>2]=l;if(t){_=0;ue(f[a>>2]|0,t|0);l=_;_=0;if(l&1){l=ze(0)|0;Fi(l)}else{o=f[e>>2]|0;break}}else o=l}else{f[e>>2]=l;o=l}}while(0);f[a>>2]=201;f[i>>2]=o+(s<<2);f[r>>2]=(f[e>>2]|0)+(n>>>2<<2);return}function d_(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0;s=i;n=t[e>>0]|0;if(!(n&1)){a=1;u=(n&255)>>>1}else{n=f[e>>2]|0;a=(n&-2)+-1|0;u=f[e+4>>2]|0;n=n&255}o=r-s>>2;do{if(o){if((a-u|0)>>>0>>0){$h(e,a,u+o-a|0,u,u,0,0);n=t[e>>0]|0}if(!(n&1))l=e+4|0;else l=f[e+8>>2]|0;s=u+((r-s|0)>>>2)|0;if((i|0)!=(r|0)){n=i;a=l+(u<<2)|0;while(1){f[a>>2]=f[n>>2];n=n+4|0;if((n|0)==(r|0))break;else a=a+4|0}}f[l+(s<<2)>>2]=0;n=u+o|0;if(!(t[e>>0]&1)){t[e>>0]=n<<1;break}else{f[e+4>>2]=n;break}}}while(0);return e|0}function b_(e,i){e=e|0;i=i|0;var r=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;t[e+128>>0]=0;do{if(i){_=0;ce(125,e|0,i|0);r=_;_=0;if(r&1){r=ze()|0;Y_(e);$e(r|0)}else{am(e,i);break}}}while(0);return}function k_(e,i){e=e|0;i=i|0;Au(e,i,Iu(43148)|0);return}function w_(e,i){e=e|0;i=i|0;Au(e,i,Iu(43188)|0);return}function __(e,i){e=e|0;i=i|0;Au(e,i,Iu(44220)|0);return}function m_(e,i){e=e|0;i=i|0;Au(e,i,Iu(44212)|0);return}function v_(e,i){e=e|0;i=i|0;Au(e,i,Iu(44280)|0);return}function p_(e,i){e=e|0;i=i|0;Au(e,i,Iu(44288)|0);return}function g_(e,i){e=e|0;i=i|0;Au(e,i,Iu(44344)|0);return}function y_(e,i){e=e|0;i=i|0;Au(e,i,Iu(44352)|0);return}function M_(e,i){e=e|0;i=i|0;Au(e,i,Iu(44360)|0);return}function E_(e,i){e=e|0;i=i|0;Au(e,i,Iu(44368)|0);return}function A_(e,i){e=e|0;i=i|0;Au(e,i,Iu(43260)|0);return}function S_(e,i){e=e|0;i=i|0;Au(e,i,Iu(43332)|0);return}function T_(e,i){e=e|0;i=i|0;Au(e,i,Iu(43392)|0);return}function C_(e,i){e=e|0;i=i|0;Au(e,i,Iu(43452)|0);return}function R_(e,i){e=e|0;i=i|0;Au(e,i,Iu(43764)|0);return}function L_(e,i){e=e|0;i=i|0;Au(e,i,Iu(43828)|0);return}function P_(e,i){e=e|0;i=i|0;Au(e,i,Iu(43892)|0);return}function x_(e,i){e=e|0;i=i|0;Au(e,i,Iu(43956)|0);return}function O_(e,i){e=e|0;i=i|0;Au(e,i,Iu(43992)|0);return}function B_(e,i){e=e|0;i=i|0;Au(e,i,Iu(44028)|0);return}function I_(e,i){e=e|0;i=i|0;Au(e,i,Iu(44064)|0);return}function D_(e,i){e=e|0;i=i|0;Au(e,i,Iu(44100)|0);return}function N_(e,i){e=e|0;i=i|0;Au(e,i,Iu(43544)|0);return}function F_(e,i){e=e|0;i=i|0;Au(e,i,Iu(43636)|0);return}function U_(e,i){e=e|0;i=i|0;Au(e,i,Iu(43668)|0);return}function j_(e,i){e=e|0;i=i|0;Au(e,i,Iu(43700)|0);return}function H_(e,i){e=e|0;i=i|0;Au(e,i,Iu(44140)|0);return}function z_(e,i){e=e|0;i=i|0;Au(e,i,Iu(44180)|0);return}function Y_(e){e=e|0;var i=0,r=0,n=0;r=f[e>>2]|0;do{if(r){n=e+4|0;i=f[n>>2]|0;if((i|0)!=(r|0)){do{i=i+-4|0}while((i|0)!=(r|0));f[n>>2]=i}if((e+16|0)==(r|0)){t[e+128>>0]=0;break}else{Ip(r);break}}}while(0);return}function q_(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0;s=e+4|0;r=f[s>>2]|0;t=f[e>>2]|0;n=r-t>>2;if(n>>>0>=i>>>0){if(n>>>0>i>>>0?(a=t+(i<<2)|0,(r|0)!=(a|0)):0){do{r=r+-4|0}while((r|0)!=(a|0));f[s>>2]=r}}else fm(e,i-n|0);return}function X_(e,i){e=e|0;i=i|0;var r=0;r=f[e+8>>2]|0;if((f[e+12>>2]|0)-r>>2>>>0>i>>>0)r=(f[r+(i<<2)>>2]|0)!=0;else r=0;return r|0}function V_(e){e=e|0;var i=0,r=0;r=e+4|0;i=f[r>>2]|0;r=f[r+4>>2]|0;e=(f[e>>2]|0)+(r>>1)|0;if(r&1)i=f[(f[e>>2]|0)+i>>2]|0;fM[i&255](e);return}function G_(e,i,r,a,l,o,u,c){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;o=o|0;u=u|0;c=c|0;var h=0,d=0;f[r>>2]=e;f[o>>2]=a;if(c&2)if((l-a|0)<3)e=1;else{f[o>>2]=a+1;t[a>>0]=-17;h=f[o>>2]|0;f[o>>2]=h+1;t[h>>0]=-69;h=f[o>>2]|0;f[o>>2]=h+1;t[h>>0]=-65;h=4}else h=4;e:do{if((h|0)==4){d=i;e=f[r>>2]|0;if(e>>>0>>0)while(1){c=n[e>>1]|0;h=c&65535;if(h>>>0>u>>>0){e=2;break e}do{if((c&65535)<128){e=f[o>>2]|0;if((l-e|0)<1){e=1;break e}f[o>>2]=e+1;t[e>>0]=c}else{if((c&65535)<2048){e=f[o>>2]|0;if((l-e|0)<2){e=1;break e}f[o>>2]=e+1;t[e>>0]=h>>>6|192;a=f[o>>2]|0;f[o>>2]=a+1;t[a>>0]=h&63|128;break}if((c&65535)<55296){e=f[o>>2]|0;if((l-e|0)<3){e=1;break e}f[o>>2]=e+1;t[e>>0]=h>>>12|224;a=f[o>>2]|0;f[o>>2]=a+1;t[a>>0]=h>>>6&63|128;a=f[o>>2]|0;f[o>>2]=a+1;t[a>>0]=h&63|128;break}if((c&65535)>=56320){if((c&65535)<57344){e=2;break e}e=f[o>>2]|0;if((l-e|0)<3){e=1;break e}f[o>>2]=e+1;t[e>>0]=h>>>12|224;a=f[o>>2]|0;f[o>>2]=a+1;t[a>>0]=h>>>6&63|128;a=f[o>>2]|0;f[o>>2]=a+1;t[a>>0]=h&63|128;break}if((d-e|0)<4){e=1;break e}e=e+2|0;c=s[e>>1]|0;if((c&64512|0)!=56320){e=2;break e}if((l-(f[o>>2]|0)|0)<4){e=1;break e}a=h&960;if(((a<<10)+65536|h<<10&64512|c&1023)>>>0>u>>>0){e=2;break e}f[r>>2]=e;e=(a>>>6)+1|0;a=f[o>>2]|0;f[o>>2]=a+1;t[a>>0]=e>>>2|240;a=f[o>>2]|0;f[o>>2]=a+1;t[a>>0]=h>>>2&15|e<<4&48|128;a=f[o>>2]|0;f[o>>2]=a+1;t[a>>0]=h<<4&48|c>>>6&15|128;h=f[o>>2]|0;f[o>>2]=h+1;t[h>>0]=c&63|128}}while(0);e=(f[r>>2]|0)+2|0;f[r>>2]=e;if(e>>>0>=i>>>0){e=0;break}}else e=0}}while(0);return e|0}function K_(e,i,r,s,l,o,u,c){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;var h=0,d=0,b=0,k=0,w=0,_=0;f[r>>2]=e;f[o>>2]=s;if(c&4){e=f[r>>2]|0;c=i;if((((c-e|0)>2?(t[e>>0]|0)==-17:0)?(t[e+1>>0]|0)==-69:0)?(t[e+2>>0]|0)==-65:0){f[r>>2]=e+3;h=f[o>>2]|0}else h=s}else{h=s;c=i}w=l;s=f[r>>2]|0;e=s>>>0>>0;e:do{if(e&h>>>0>>0)while(1){e=t[s>>0]|0;b=e&255;if(b>>>0>u>>>0){e=2;break e}do{if(e<<24>>24>-1){n[h>>1]=e&255;f[r>>2]=s+1}else{if((e&255)<194){e=2;break e}if((e&255)<224){if((c-s|0)<2){e=1;break e}e=a[s+1>>0]|0;if((e&192|0)!=128){e=2;break e}e=e&63|b<<6&1984;if(e>>>0>u>>>0){e=2;break e}n[h>>1]=e;f[r>>2]=s+2;break}if((e&255)<240){if((c-s|0)<3){e=1;break e}d=t[s+1>>0]|0;e=t[s+2>>0]|0;switch(b|0){case 224:{if((d&-32)<<24>>24!=-96){e=2;break e}break}case 237:{if((d&-32)<<24>>24!=-128){e=2;break e}break}default:if((d&-64)<<24>>24!=-128){e=2;break e}}e=e&255;if((e&192|0)!=128){e=2;break e}e=(d&255)<<6&4032|b<<12|e&63;if((e&65535)>>>0>u>>>0){e=2;break e}n[h>>1]=e;f[r>>2]=s+3;break}if((e&255)>=245){e=2;break e}if((c-s|0)<4){e=1;break e}d=t[s+1>>0]|0;e=t[s+2>>0]|0;s=t[s+3>>0]|0;switch(b|0){case 240:{if((d+112&255)>=48){e=2;break e}break}case 244:{if((d&-16)<<24>>24!=-128){e=2;break e}break}default:if((d&-64)<<24>>24!=-128){e=2;break e}}k=e&255;if((k&192|0)!=128){e=2;break e}e=s&255;if((e&192|0)!=128){e=2;break e}if((w-h|0)<4){e=1;break e}b=b&7;s=d&255;d=k<<6;e=e&63;if((s<<12&258048|b<<18|d&4032|e)>>>0>u>>>0){e=2;break e}n[h>>1]=s<<2&60|k>>>4&3|((s>>>4&3|b<<2)<<6)+16320|55296;k=h+2|0;f[o>>2]=k;n[k>>1]=e|d&960|56320;f[r>>2]=(f[r>>2]|0)+4}}while(0);h=(f[o>>2]|0)+2|0;f[o>>2]=h;s=f[r>>2]|0;e=s>>>0>>0;if(!(e&h>>>0>>0)){_=39;break}}else _=39}while(0);if((_|0)==39)e=e&1;return e|0}function W_(e,i,r,n,f){e=e|0;i=i|0;r=r|0;n=n|0;f=f|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i;if((((f&4|0)!=0?(d-e|0)>2:0)?(t[e>>0]|0)==-17:0)?(t[e+1>>0]|0)==-69:0)f=(t[e+2>>0]|0)==-65?e+3|0:e;else f=e;e:do{if((r|0)!=0&f>>>0>>0){h=f;s=0;i:while(1){f=t[h>>0]|0;c=f&255;if(c>>>0>n>>>0){f=h;s=42;break e}do{if(f<<24>>24>-1)f=h+1|0;else{if((f&255)<194){f=h;s=42;break e}if((f&255)<224){if((d-h|0)<2){f=h;s=42;break e}f=a[h+1>>0]|0;if((f&192|0)!=128){f=h;s=42;break e}if((f&63|c<<6&1984)>>>0>n>>>0){f=h;s=42;break e}f=h+2|0;break}if((f&255)<240){f=h;if((d-f|0)<3){f=h;s=42;break e}o=t[h+1>>0]|0;l=t[h+2>>0]|0;switch(c|0){case 224:{if((o&-32)<<24>>24!=-96){s=20;break i}break}case 237:{if((o&-32)<<24>>24!=-128){s=22;break i}break}default:if((o&-64)<<24>>24!=-128){s=24;break i}}f=l&255;if((f&192|0)!=128){f=h;s=42;break e}if(((o&255)<<6&4032|c<<12&61440|f&63)>>>0>n>>>0){f=h;s=42;break e}f=h+3|0;break}if((f&255)>=245){f=h;s=42;break e}f=h;if((r-s|0)>>>0<2|(d-f|0)<4){f=h;s=42;break e}u=t[h+1>>0]|0;l=t[h+2>>0]|0;o=t[h+3>>0]|0;switch(c|0){case 240:{if((u+112&255)>=48){s=32;break i}break}case 244:{if((u&-16)<<24>>24!=-128){s=34;break i}break}default:if((u&-64)<<24>>24!=-128){s=36;break i}}l=l&255;if((l&192|0)!=128){f=h;s=42;break e}f=o&255;if((f&192|0)!=128){f=h;s=42;break e}if(((u&255)<<12&258048|c<<18&1835008|l<<6&4032|f&63)>>>0>n>>>0){f=h;s=42;break e}f=h+4|0;s=s+1|0}}while(0);s=s+1|0;if(!(s>>>0>>0&f>>>0>>0)){s=42;break e}else h=f}if((s|0)==20){f=f-e|0;break}else if((s|0)==22){f=f-e|0;break}else if((s|0)==24){f=f-e|0;break}else if((s|0)==32){f=f-e|0;break}else if((s|0)==34){f=f-e|0;break}else if((s|0)==36){f=f-e|0;break}}else s=42}while(0);if((s|0)==42)f=f-e|0;return f|0}function Z_(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,c=0;f[r>>2]=e;f[s>>2]=n;c=a;if(o&2)if((c-n|0)<3)e=1;else{f[s>>2]=n+1;t[n>>0]=-17;u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=-69;u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=-65;u=4}else u=4;e:do{if((u|0)==4){e=f[r>>2]|0;if(e>>>0>>0)while(1){o=f[e>>2]|0;if(o>>>0>l>>>0|(o&-2048|0)==55296){e=2;break e}do{if(o>>>0>=128){if(o>>>0<2048){e=f[s>>2]|0;if((c-e|0)<2){e=1;break e}f[s>>2]=e+1;t[e>>0]=o>>>6|192;u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=o&63|128;break}e=f[s>>2]|0;a=c-e|0;if(o>>>0<65536){if((a|0)<3){e=1;break e}f[s>>2]=e+1;t[e>>0]=o>>>12|224;u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=o>>>6&63|128;u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=o&63|128;break}else{if((a|0)<4){e=1;break e}f[s>>2]=e+1;t[e>>0]=o>>>18|240;u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=o>>>12&63|128;u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=o>>>6&63|128;u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=o&63|128;break}}else{e=f[s>>2]|0;if((c-e|0)<1){e=1;break e}f[s>>2]=e+1;t[e>>0]=o}}while(0);e=(f[r>>2]|0)+4|0;f[r>>2]=e;if(e>>>0>=i>>>0){e=0;break}}else e=0}}while(0);return e|0}function J_(e,i,r,n,s,l,o,u){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;o=o|0;u=u|0;var c=0,h=0,d=0,b=0,k=0,w=0;f[r>>2]=e;f[l>>2]=n;if(u&4){e=f[r>>2]|0;u=i;if((((u-e|0)>2?(t[e>>0]|0)==-17:0)?(t[e+1>>0]|0)==-69:0)?(t[e+2>>0]|0)==-65:0){f[r>>2]=e+3;n=f[l>>2]|0;k=u}else k=u}else k=i;u=f[r>>2]|0;e=u>>>0>>0;e:do{if(e&n>>>0>>0)while(1){e=t[u>>0]|0;b=e&255;do{if(e<<24>>24>-1){if(b>>>0>o>>>0){e=2;break e}f[n>>2]=b;f[r>>2]=u+1}else{if((e&255)<194){e=2;break e}if((e&255)<224){if((k-u|0)<2){e=1;break e}e=a[u+1>>0]|0;if((e&192|0)!=128){e=2;break e}e=e&63|b<<6&1984;if(e>>>0>o>>>0){e=2;break e}f[n>>2]=e;f[r>>2]=u+2;break}if((e&255)<240){if((k-u|0)<3){e=1;break e}c=t[u+1>>0]|0;e=t[u+2>>0]|0;switch(b|0){case 224:{if((c&-32)<<24>>24!=-96){e=2;break e}break}case 237:{if((c&-32)<<24>>24!=-128){e=2;break e}break}default:if((c&-64)<<24>>24!=-128){e=2;break e}}e=e&255;if((e&192|0)!=128){e=2;break e}e=(c&255)<<6&4032|b<<12&61440|e&63;if(e>>>0>o>>>0){e=2;break e}f[n>>2]=e;f[r>>2]=u+3;break}if((e&255)>=245){e=2;break e}if((k-u|0)<4){e=1;break e}d=t[u+1>>0]|0;e=t[u+2>>0]|0;c=t[u+3>>0]|0;switch(b|0){case 240:{if((d+112&255)>=48){e=2;break e}break}case 244:{if((d&-16)<<24>>24!=-128){e=2;break e}break}default:if((d&-64)<<24>>24!=-128){e=2;break e}}h=e&255;if((h&192|0)!=128){e=2;break e}e=c&255;if((e&192|0)!=128){e=2;break e}e=(d&255)<<12&258048|b<<18&1835008|h<<6&4032|e&63;if(e>>>0>o>>>0){e=2;break e}f[n>>2]=e;f[r>>2]=u+4}}while(0);n=(f[l>>2]|0)+4|0;f[l>>2]=n;u=f[r>>2]|0;e=u>>>0>>0;if(!(e&n>>>0>>0)){w=38;break}}else w=38}while(0);if((w|0)==38)e=e&1;return e|0}function Q_(e,i,r,n,f){e=e|0;i=i|0;r=r|0;n=n|0;f=f|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i;if((((f&4|0)!=0?(d-e|0)>2:0)?(t[e>>0]|0)==-17:0)?(t[e+1>>0]|0)==-69:0)f=(t[e+2>>0]|0)==-65?e+3|0:e;else f=e;e:do{if((r|0)!=0&f>>>0>>0){c=f;h=0;i:while(1){f=t[c>>0]|0;u=f&255;do{if(f<<24>>24>-1){if(u>>>0>n>>>0){f=c;s=42;break e}f=c+1|0}else{if((f&255)<194){f=c;s=42;break e}if((f&255)<224){if((d-c|0)<2){f=c;s=42;break e}f=a[c+1>>0]|0;if((f&192|0)!=128){f=c;s=42;break e}if((f&63|u<<6&1984)>>>0>n>>>0){f=c;s=42;break e}f=c+2|0;break}if((f&255)<240){f=c;if((d-f|0)<3){f=c;s=42;break e}l=t[c+1>>0]|0;s=t[c+2>>0]|0;switch(u|0){case 224:{if((l&-32)<<24>>24!=-96){s=20;break i}break}case 237:{if((l&-32)<<24>>24!=-128){s=22;break i}break}default:if((l&-64)<<24>>24!=-128){s=24;break i}}f=s&255;if((f&192|0)!=128){f=c;s=42;break e}if(((l&255)<<6&4032|u<<12&61440|f&63)>>>0>n>>>0){f=c;s=42;break e}f=c+3|0;break}if((f&255)>=245){f=c;s=42;break e}f=c;if((d-f|0)<4){f=c;s=42;break e}o=t[c+1>>0]|0;s=t[c+2>>0]|0;l=t[c+3>>0]|0;switch(u|0){case 240:{if((o+112&255)>=48){s=32;break i}break}case 244:{if((o&-16)<<24>>24!=-128){s=34;break i}break}default:if((o&-64)<<24>>24!=-128){s=36;break i}}s=s&255;if((s&192|0)!=128){f=c;s=42;break e}f=l&255;if((f&192|0)!=128){f=c;s=42;break e}if(((o&255)<<12&258048|u<<18&1835008|s<<6&4032|f&63)>>>0>n>>>0){f=c;s=42;break e}f=c+4|0}}while(0);h=h+1|0;if(!(h>>>0>>0&f>>>0>>0)){s=42;break e}else c=f}if((s|0)==20){f=f-e|0;break}else if((s|0)==22){f=f-e|0;break}else if((s|0)==24){f=f-e|0;break}else if((s|0)==32){f=f-e|0;break}else if((s|0)==34){f=f-e|0;break}else if((s|0)==36){f=f-e|0;break}}else s=42}while(0);if((s|0)==42)f=f-e|0;return f|0}function $_(e){e=e|0;Oh(45196);Oh(45184);Oh(45172);Oh(45160);Oh(45148);Oh(45136);Oh(45124);Oh(45112);Oh(45100);Oh(45088);Oh(45076);Oh(45064);Oh(45052);Oh(45040);return}function em(e){e=e|0;Gh(45368);Gh(45356);Gh(45344);Gh(45332);Gh(45320);Gh(45308);Gh(45296);Gh(45284);Gh(45272);Gh(45260);Gh(45248);Gh(45236);Gh(45224);Gh(45212);return}function im(e){e=e|0;Oh(46e3);Oh(45988);Oh(45976);Oh(45964);Oh(45952);Oh(45940);Oh(45928);Oh(45916);Oh(45904);Oh(45892);Oh(45880);Oh(45868);Oh(45856);Oh(45844);Oh(45832);Oh(45820);Oh(45808);Oh(45796);Oh(45784);Oh(45772);Oh(45760);Oh(45748);Oh(45736);Oh(45724);return}function rm(e){e=e|0;Gh(46292);Gh(46280);Gh(46268);Gh(46256);Gh(46244);Gh(46232);Gh(46220);Gh(46208);Gh(46196);Gh(46184);Gh(46172);Gh(46160);Gh(46148);Gh(46136);Gh(46124);Gh(46112);Gh(46100);Gh(46088);Gh(46076);Gh(46064);Gh(46052);Gh(46040);Gh(46028);Gh(46016);return}function tm(e){e=e|0;Oh(47104);Oh(47092);Oh(47080);Oh(47068);Oh(47056);Oh(47044);Oh(47032);Oh(47020);Oh(47008);Oh(46996);Oh(46984);Oh(46972);Oh(46960);Oh(46948);Oh(46936);Oh(46924);Oh(46912);Oh(46900);Oh(46888);Oh(46876);Oh(46864);Oh(46852);Oh(46840);Oh(46828);return}function nm(e){e=e|0;Gh(47396);Gh(47384);Gh(47372);Gh(47360);Gh(47348);Gh(47336);Gh(47324);Gh(47312);Gh(47300);Gh(47288);Gh(47276);Gh(47264);Gh(47252);Gh(47240);Gh(47228);Gh(47216);Gh(47204);Gh(47192);Gh(47180);Gh(47168);Gh(47156);Gh(47144);Gh(47132);Gh(47120);return}function fm(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0;o=c;c=c+32|0;l=o;a=f[e+8>>2]|0;r=f[e+4>>2]|0;if(a-r>>2>>>0>>0){t=f[e>>2]|0;s=r-t>>2;n=s+i|0;if(n>>>0>1073741823)xp(e);r=a-t|0;if(r>>2>>>0<536870911){r=r>>1;r=r>>>0>>0?n:r}else r=1073741823;sm(l,r,s,e+16|0);s=l+8|0;a=f[s>>2]|0;ym(a|0,0,i<<2|0)|0;f[s>>2]=a+(i<<2);lm(e,l);om(l)}else am(e,i);c=o;return}function am(e,i){e=e|0;i=i|0;var r=0;r=e+4|0;e=i;i=f[r>>2]|0;do{f[i>>2]=0;i=(f[r>>2]|0)+4|0;f[r>>2]=i;e=e+-1|0}while((e|0)!=0);return}function sm(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0;f[e+12>>2]=0;f[e+16>>2]=n;do{if(i){a=n+112|0;if(i>>>0<29&(t[a>>0]|0)==0){t[a>>0]=1;break}else{n=Bp(i<<2)|0;break}}else n=0}while(0);f[e>>2]=n;r=n+(r<<2)|0;f[e+8>>2]=r;f[e+4>>2]=r;f[e+12>>2]=n+(i<<2);return}function lm(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0;t=f[e>>2]|0;a=e+4|0;r=i+4|0;n=(f[a>>2]|0)-t|0;s=(f[r>>2]|0)+(0-(n>>2)<<2)|0;f[r>>2]=s;Am(s|0,t|0,n|0)|0;n=f[e>>2]|0;f[e>>2]=f[r>>2];f[r>>2]=n;n=i+8|0;t=f[a>>2]|0;f[a>>2]=f[n>>2];f[n>>2]=t;n=e+8|0;e=i+12|0;t=f[n>>2]|0;f[n>>2]=f[e>>2];f[e>>2]=t;f[i>>2]=f[r>>2];return}function om(e){e=e|0;var i=0,r=0,n=0;r=f[e+4>>2]|0;n=e+8|0;i=f[n>>2]|0;if((i|0)!=(r|0)){do{i=i+-4|0}while((i|0)!=(r|0));f[n>>2]=i}r=f[e>>2]|0;do{if(r){i=f[e+16>>2]|0;if((i|0)==(r|0)){t[i+112>>0]=0;break}else{Ip(r);break}}}while(0);return}function um(e,i){e=e|0;i=i|0;var r=0;if(i>>>0>1073741823)xp(e);r=e+128|0;if(i>>>0<29&(t[r>>0]|0)==0){t[r>>0]=1;r=e+16|0}else r=Bp(i<<2)|0;f[e+4>>2]=r;f[e>>2]=r;f[e+8>>2]=r+(i<<2);return}function cm(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,a=0,s=0,l=0;l=c;c=c+16|0;s=l;do{if((e|0)!=(i|0)){n=Ig()|0;a=f[n>>2]|0;f[n>>2]=0;t=+Uy(e,s,Vb()|0);e=f[n>>2]|0;if(!e)f[n>>2]=a;if((f[s>>2]|0)!=(i|0)){f[r>>2]=4;t=0.0;break}if((e|0)==34)f[r>>2]=4}else{f[r>>2]=4;t=0.0}}while(0);c=l;return+t}function hm(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,a=0,s=0,l=0;l=c;c=c+16|0;s=l;do{if((e|0)!=(i|0)){n=Ig()|0;a=f[n>>2]|0;f[n>>2]=0;t=+Uy(e,s,Vb()|0);e=f[n>>2]|0;if(!e)f[n>>2]=a;if((f[s>>2]|0)!=(i|0)){f[r>>2]=4;t=0.0;break}if((e|0)==34)f[r>>2]=4}else{f[r>>2]=4;t=0.0}}while(0);c=l;return+t}function dm(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,a=0,s=0,l=0;l=c;c=c+16|0;s=l;do{if((e|0)==(i|0)){f[r>>2]=4;t=0.0}else{n=Ig()|0;a=f[n>>2]|0;f[n>>2]=0;t=+Uy(e,s,Vb()|0);e=f[n>>2]|0;if(!e)f[n>>2]=a;if((f[s>>2]|0)!=(i|0)){f[r>>2]=4;t=0.0;break}if((e|0)==34)f[r>>2]=4}}while(0);c=l;return+t}function bm(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0;o=c;c=c+16|0;l=o;do{if((e|0)!=(i|0)){if((t[e>>0]|0)==45){f[r>>2]=4;n=0;e=0;break}a=Ig()|0;s=f[a>>2]|0;f[a>>2]=0;e=Cg(e,l,n,Vb()|0)|0;n=f[a>>2]|0;if(!n)f[a>>2]=s;if((f[l>>2]|0)!=(i|0)){f[r>>2]=4;n=0;e=0;break}if((n|0)==34){f[r>>2]=4;n=-1;e=-1}else n=x}else{f[r>>2]=4;n=0;e=0}}while(0);x=n;c=o;return e|0}function km(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;u=c;c=c+16|0;o=u;do{if((e|0)!=(i|0)){if((t[e>>0]|0)==45){f[r>>2]=4;e=0;break}s=Ig()|0;l=f[s>>2]|0;f[s>>2]=0;e=Cg(e,o,n,Vb()|0)|0;n=x;a=f[s>>2]|0;if(!a)f[s>>2]=l;if((f[o>>2]|0)!=(i|0)){f[r>>2]=4;e=0;break}if(n>>>0>0|(n|0)==0&e>>>0>4294967295|(a|0)==34){f[r>>2]=4;e=-1;break}else break}else{f[r>>2]=4;e=0}}while(0);c=u;return e|0}function wm(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;u=c;c=c+16|0;o=u;do{if((e|0)!=(i|0)){if((t[e>>0]|0)==45){f[r>>2]=4;e=0;break}s=Ig()|0;l=f[s>>2]|0;f[s>>2]=0;e=Cg(e,o,n,Vb()|0)|0;n=x;a=f[s>>2]|0;if(!a)f[s>>2]=l;if((f[o>>2]|0)!=(i|0)){f[r>>2]=4;e=0;break}if(n>>>0>0|(n|0)==0&e>>>0>4294967295|(a|0)==34){f[r>>2]=4;e=-1;break}else break}else{f[r>>2]=4;e=0}}while(0);c=u;return e|0}function _m(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;u=c;c=c+16|0;o=u;do{if((e|0)!=(i|0)){if((t[e>>0]|0)==45){f[r>>2]=4;e=0;break}s=Ig()|0;l=f[s>>2]|0;f[s>>2]=0;e=Cg(e,o,n,Vb()|0)|0;n=x;a=f[s>>2]|0;if(!a)f[s>>2]=l;if((f[o>>2]|0)!=(i|0)){f[r>>2]=4;e=0;break}if(n>>>0>0|(n|0)==0&e>>>0>65535|(a|0)==34){f[r>>2]=4;e=-1;break}else{e=e&65535;break}}else{f[r>>2]=4;e=0}}while(0);c=u;return e|0}function mm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0;o=c;c=c+16|0;l=o;do{if((e|0)!=(i|0)){a=Ig()|0;s=f[a>>2]|0;f[a>>2]=0;e=Rg(e,l,t,Vb()|0)|0;t=x;n=f[a>>2]|0;if(!n)f[a>>2]=s;if((f[l>>2]|0)!=(i|0)){f[r>>2]=4;t=0;e=0;break}if((n|0)==34){f[r>>2]=4;l=(t|0)>0|(t|0)==0&e>>>0>0;x=l?2147483647:-2147483648;c=o;return(l?-1:0)|0}}else{f[r>>2]=4;t=0;e=0}}while(0);x=t;c=o;return e|0}function vm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0;o=c;c=c+16|0;l=o;e:do{if((e|0)==(i|0)){f[r>>2]=4;e=0}else{a=Ig()|0;s=f[a>>2]|0;f[a>>2]=0;e=Rg(e,l,t,Vb()|0)|0;t=x;n=f[a>>2]|0;if(!n)f[a>>2]=s;if((f[l>>2]|0)!=(i|0)){f[r>>2]=4;e=0;break}do{if((n|0)==34){f[r>>2]=4;if((t|0)>0|(t|0)==0&e>>>0>0){e=2147483647;break e}}else{if((t|0)<-1|(t|0)==-1&e>>>0<2147483648){f[r>>2]=4;break}if((t|0)>0|(t|0)==0&e>>>0>2147483647){f[r>>2]=4;e=2147483647;break e}else break e}}while(0);e=-2147483648}}while(0);c=o;return e|0}function pm(){}function gm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=i-t-(r>>>0>e>>>0|0)>>>0;return(x=t,e-r>>>0|0)|0}function ym(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;n=e+r|0;if((r|0)>=20){i=i&255;s=e&3;l=i|i<<8|i<<16|i<<24;a=n&~3;if(s){s=e+4-s|0;while((e|0)<(s|0)){t[e>>0]=i;e=e+1|0}}while((e|0)<(a|0)){f[e>>2]=l;e=e+4|0}}while((e|0)<(n|0)){t[e>>0]=i;e=e+1|0}return e-r|0}function Mm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;r=e+r>>>0;return(x=i+t+(r>>>0>>0|0)>>>0,r|0)|0}function Em(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){x=i>>>r;return e>>>r|(i&(1<>>r-32|0}function Am(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;if((r|0)>=4096)return Je(e|0,i|0,r|0)|0;n=e|0;if((e&3)==(i&3)){while(e&3){if(!r)return n|0;t[e>>0]=t[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}while((r|0)>=4){f[e>>2]=f[i>>2];e=e+4|0;i=i+4|0;r=r-4|0}}while((r|0)>0){t[e>>0]=t[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}return n|0}function Sm(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){x=i<>>32-r;return e<0){e=e-1|0;i=i-1|0;r=r-1|0;t[e>>0]=t[i>>0]|0}e=n}else Am(e,i,r)|0;return e|0}function Cm(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){x=i>>r;return e>>>r|(i&(1<>r-32|0}function Rm(e){e=e|0;var i=0;i=t[k+(e&255)>>0]|0;if((i|0)<8)return i|0;i=t[k+(e>>8&255)>>0]|0;if((i|0)<8)return i+8|0;i=t[k+(e>>16&255)>>0]|0;if((i|0)<8)return i+16|0;return(t[k+(e>>>24)>>0]|0)+24|0}function Lm(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;f=e&65535;n=i&65535;r=re(n,f)|0;t=e>>>16;e=(r>>>16)+(re(n,t)|0)|0;n=i>>>16;i=re(n,f)|0;return(x=(e>>>16)+(re(n,t)|0)+(((e&65535)+i|0)>>>16)|0,e+i<<16|r&65535|0)|0}function Pm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,s=0,l=0,o=0;o=i>>31|((i|0)<0?-1:0)<<1;l=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;f=t>>31|((t|0)<0?-1:0)<<1;n=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;s=gm(o^e,l^i,o,l)|0;a=x;e=f^o;i=n^l;return gm((Dm(s,a,gm(f^r,n^t,f,n)|0,x,0)|0)^e,x^i,e,i)|0}function xm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0;n=c;c=c+16|0;l=n|0;s=i>>31|((i|0)<0?-1:0)<<1;a=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;u=t>>31|((t|0)<0?-1:0)<<1;o=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;e=gm(s^e,a^i,s,a)|0;i=x;Dm(e,i,gm(u^r,o^t,u,o)|0,x,l)|0;t=gm(f[l>>2]^s,f[l+4>>2]^a,s,a)|0;r=x;c=n;return(x=r,t)|0}function Om(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=e;f=r;r=Lm(n,f)|0;e=x;return(x=(re(i,f)|0)+(re(t,n)|0)+e|e&0,r|0|0)|0}function Bm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return Dm(e,i,r,t,0)|0}function Im(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;a=c;c=c+16|0;n=a|0;Dm(e,i,r,t,n)|0;c=a;return(x=f[n+4>>2]|0,f[n>>2]|0)|0}function Dm(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0;c=e;o=i;u=o;s=r;d=t;l=d;if(!u){a=(n|0)!=0;if(!l){if(a){f[n>>2]=(c>>>0)%(s>>>0);f[n+4>>2]=0}d=0;n=(c>>>0)/(s>>>0)>>>0;return(x=d,n)|0}else{if(!a){d=0;n=0;return(x=d,n)|0}f[n>>2]=e|0;f[n+4>>2]=i&0;d=0;n=0;return(x=d,n)|0}}a=(l|0)==0;do{if(s){if(!a){a=(ne(l|0)|0)-(ne(u|0)|0)|0;if(a>>>0<=31){h=a+1|0;l=31-a|0;i=a-31>>31;s=h;e=c>>>(h>>>0)&i|u<>>(h>>>0)&i;a=0;l=c<>2]=e|0;f[n+4>>2]=o|i&0;d=0;n=0;return(x=d,n)|0}a=s-1|0;if(a&s){l=(ne(s|0)|0)+33-(ne(u|0)|0)|0;k=64-l|0;h=32-l|0;o=h>>31;b=l-32|0;i=b>>31;s=l;e=h-1>>31&u>>>(b>>>0)|(u<>>(l>>>0))&i;i=i&u>>>(l>>>0);a=c<>>(b>>>0))&o|c<>31;break}if(n){f[n>>2]=a&c;f[n+4>>2]=0}if((s|0)==1){b=o|i&0;k=e|0|0;return(x=b,k)|0}else{k=Rm(s|0)|0;b=u>>>(k>>>0)|0;k=u<<32-k|c>>>(k>>>0)|0;return(x=b,k)|0}}else{if(a){if(n){f[n>>2]=(u>>>0)%(s>>>0);f[n+4>>2]=0}b=0;k=(u>>>0)/(s>>>0)>>>0;return(x=b,k)|0}if(!c){if(n){f[n>>2]=0;f[n+4>>2]=(u>>>0)%(l>>>0)}b=0;k=(u>>>0)/(l>>>0)>>>0;return(x=b,k)|0}a=l-1|0;if(!(a&l)){if(n){f[n>>2]=e|0;f[n+4>>2]=a&u|i&0}b=0;k=u>>>((Rm(l|0)|0)>>>0);return(x=b,k)|0}a=(ne(l|0)|0)-(ne(u|0)|0)|0;if(a>>>0<=30){i=a+1|0;l=31-a|0;s=i;e=u<>>(i>>>0);i=u>>>(i>>>0);a=0;l=c<>2]=e|0;f[n+4>>2]=o|i&0;b=0;k=0;return(x=b,k)|0}}while(0);if(!s){u=l;o=0;l=0}else{h=r|0|0;c=d|t&0;u=Mm(h|0,c|0,-1,-1)|0;r=x;o=l;l=0;do{t=o;o=a>>>31|o<<1;a=l|a<<1;t=e<<1|t>>>31|0;d=e>>>31|i<<1|0;gm(u,r,t,d)|0;k=x;b=k>>31|((k|0)<0?-1:0)<<1;l=b&1;e=gm(t,d,b&h,(((k|0)<0?-1:0)>>31|((k|0)<0?-1:0)<<1)&c)|0;i=x;s=s-1|0}while((s|0)!=0);u=o;o=0}s=0;if(n){f[n>>2]=e;f[n+4>>2]=i}b=(a|0)>>>31|(u|s)<<1|(s<<1|a>>>31)&0|o;k=(a<<1|0>>>31)&-2|l;return(x=b,k)|0}function Nm(e,i,r,t,n,f,a,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;return rM[e&15](i|0,r|0,t|0,n|0,f|0,a|0,s|0)|0}function Fm(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;tM[e&15](i|0,r|0,t|0,n|0,f|0)}function Um(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=+a;return nM[e&3](i|0,r|0,t|0,n|0,f|0,+a)|0}function jm(e,i){e=e|0;i=i|0;fM[e&255](i|0)}function Hm(e,i,r){e=e|0;i=i|0;r=r|0;aM[e&127](i|0,r|0)}function zm(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;return sM[e&63](i|0,r|0,t|0,n|0,f|0,a|0)|0}function Ym(e,i){e=e|0;i=i|0;return lM[e&127](i|0)|0}function qm(e,i,r,t,n,f,a,s,l,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;return oM[e&3](i|0,r|0,t|0,n|0,f|0,a|0,s|0,l|0,o|0,u|0,c|0)|0}function Xm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return uM[e&63](i|0,r|0,t|0)|0}function Vm(e,i,r,t,n,f,a,s,l,o,u,c,h,d,b,k){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;h=h|0;d=d|0;b=b|0;k=k|0;cM[e&3](i|0,r|0,t|0,n|0,f|0,a|0,s|0,l|0,o|0,u|0,c|0,h|0,d|0,b|0,k|0)}function Gm(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;hM[e&15](i|0,r|0,t|0,n|0,f|0,a|0)}function Km(e,i,r,t,n,f,a,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;dM[e&7](i|0,r|0,t|0,n|0,f|0,a|0,s|0)}function Wm(e,i,r,t,n,f,a,s,l,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;bM[e&7](i|0,r|0,t|0,n|0,f|0,a|0,s|0,l|0,o|0,u|0)}function Zm(e,i,r){e=e|0;i=i|0;r=r|0;return kM[e&63](i|0,r|0)|0}function Jm(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;return wM[e&31](i|0,r|0,t|0,n|0,f|0)|0}function Qm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return+_M[e&3](i|0,r|0,t|0)}function $m(e){e=e|0;return mM[e&15]()|0}function ev(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return vM[e&31](i|0,r|0,t|0,n|0)|0}function iv(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;pM[e&15](i|0,r|0,t|0)}function rv(e){e=e|0;gM[e&7]()}function tv(e,i,r,t,n,f,a,s,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;return yM[e&15](i|0,r|0,t|0,n|0,f|0,a|0,s|0,l|0)|0}function nv(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=+f;return MM[e&7](i|0,r|0,t|0,n|0,+f)|0}function fv(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;EM[e&63](i|0,r|0,t|0,n|0)}function av(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;fe(0);return 0}function sv(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;fe(1)}function lv(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=+f;fe(2);return 0}function ov(e){e=e|0;fe(3)}function uv(e,i){e=e|0;i=i|0;fe(4)}function cv(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;fe(5);return 0}function hv(e){e=e|0;fe(6);return 0}function dv(e){e=e|0;return fi(e|0)|0}function bv(e){e=e|0;return pi(e|0)|0}function kv(e){e=e|0;return ui(e|0)|0}function wv(e,i,r,t,n,f,a,s,l,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;fe(7);return 0}function _v(e,i,r){e=e|0;i=i|0;r=r|0;fe(8);return 0}function mv(e,i,r,t,n,f,a,s,l,o,u,c,h,d,b){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;h=h|0;d=d|0;b=b|0;fe(9)}function vv(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;fe(10)}function pv(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;fe(11)}function gv(e,i,r,t,n,f,a,s,l,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;o=o|0;fe(12)}function yv(e,i){e=e|0;i=i|0;fe(13);return 0}function Mv(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;fe(14);return 0}function Ev(e,i,r){e=e|0;i=i|0;r=r|0;fe(15);return 0.0}function Av(){fe(16);return 0}function Sv(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;fe(17);return 0}function Tv(e,i,r){e=e|0;i=i|0;r=r|0;fe(18)}function Cv(e,i,r){e=e|0;i=i|0;r=r|0;bi(e|0,i|0,r|0)}function Rv(){fe(19)}function Lv(){mi()}function Pv(){Qe()}function xv(){ki()}function Ov(e,i,r,t,n,f,a,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;fe(20);return 0}function Bv(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;fe(21);return 0}function Iv(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;fe(22)}function Dv(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;o=h;op(o,255,0);u=e+152|0;if(((f[o+4>>2]|0)==(f[u>>2]|0)?(f[o+8>>2]|0)==(f[e+156>>2]|0):0)?(f[o+12>>2]|0)==(f[e+160>>2]|0):0){u=f[8900]|0;f[e+4580>>2]=u+(((f[8901]|0)-u|0)>>>1);c=h;return}r=e+4584|0;n=e+4588|0;a=f[n>>2]|0;i=f[r>>2]|0;s=a-i|0;if(s>>>0>=512){if(s>>>0>512?(l=i+512|0,(a|0)!=(l|0)):0)f[n>>2]=l}else{zt(r,512-s|0);i=f[r>>2]|0}o=e+4580|0;f[o>>2]=i+256;l=e+160|0;a=e+156|0;s=-256;while(1){i=f[l>>2]|0;if((s|0)>(0-i|0)){r=f[a>>2]|0;if((s|0)>(0-r|0)){n=f[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){t[(f[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;t[(f[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==256)break}c=h;return}function Nv(e){e=e|0;var i=0,r=0;f[e>>2]=35660;i=f[e+4608>>2]|0;if(i){r=e+4612|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}e=e+88|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fM[f[(f[i>>2]|0)+4>>2]&255](i);return}function Fv(e){e=e|0;var i=0,r=0;f[e>>2]=35660;i=f[e+4608>>2]|0;if(i){r=e+4612|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i)}r=e+88|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Ip(e);return}fM[f[(f[i>>2]|0)+4>>2]&255](i);Ip(e);return}function Uv(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0;y=c;c=c+352|0;M=y+328|0;E=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((f[e+28>>2]|0)!=0?(f[e+20>>2]|0)!=1:0){m=e+4|0;p=e+32|0;l=f[p>>2]|0;if(!l){e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[r>>0]|0;Re(44,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}e=f[e+12>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[n>>0]|0;Re(45,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[a>>0]|0;Re(46,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(48)|0;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];t[M>>0]=t[s>>0]|0;Re(47,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=E+56|0;a=E+4|0;f[E>>2]=36160;f[l>>2]=36180;_=0;ce(62,E+56|0,a|0);y=_;_=0;if(y&1){A=ze()|0;nd(l);$e(A|0)}f[E+128>>2]=0;f[E+132>>2]=-1;f[E>>2]=36200;f[E+56>>2]=36220;_=0;ue(180,a|0);y=_;_=0;do{if(y&1)e=ze()|0;else{f[a>>2]=36236;s=E+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[E+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);y=_;_=0;if(y&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,E|0,49007,21)|0;M=_;_=0;do{if((!(M&1)?(_=0,d=pe(36,e|0,f[p>>2]|0)|0,M=_,_=0,!(M&1)):0)?(_=0,ke(28,d|0,50997,18)|0,M=_,_=0,!(M&1)):0){n=He(16)|0;_=0;ce(64,k|0,a|0);M=_;_=0;if(!(M&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,k|0);M=_;_=0;if(M&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(k);if(!r)break}else e=ze()|0;je(n|0)}else A=34}while(0);if((A|0)==34)e=ze()|0;f[E>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,e|0,8,35648);A=_;_=0;if(!(A&1))bi(e|0,824,96);A=ze()|0;je(e|0);$e(A|0)}r=16-e|0;switch(l|0){case 1:{e=Bp(60)|0;f[o>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[o>>2];f[M+4>>2]=f[o+4>>2];Re(41,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 2:{e=Bp(60)|0;f[u>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[u>>2];f[M+4>>2]=f[u+4>>2];Re(42,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}case 3:{e=Bp(60)|0;f[h>>2]=r;_=0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[M>>2]=f[h>>2];f[M+4>>2]=f[h+4>>2];Re(43,e|0,E|0,m|0,M|0);A=_;_=0;if(!(A&1)){A=e;c=y;return A|0}A=ze()|0;Ip(e);$e(A|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;_=0;ce(62,g+56|0,a|0);E=_;_=0;if(E&1){A=ze()|0;nd(l);$e(A|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;_=0;ue(180,a|0);E=_;_=0;do{if(E&1)e=ze()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;_=0;ce(63,a|0,M|0);E=_;_=0;if(E&1){e=ze()|0;Oh(M);Oh(s);cd(a);break}Oh(M);_=0;e=ke(28,g|0,49007,21)|0;E=_;_=0;do{if((!(E&1)?(_=0,b=pe(36,e|0,f[p>>2]|0)|0,E=_,_=0,!(E&1)):0)?(_=0,ke(28,b|0,50997,18)|0,E=_,_=0,!(E&1)):0){n=He(16)|0;_=0;ce(64,v|0,a|0);E=_;_=0;if(!(E&1)){if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Re(36,n|0,9,35648,v|0);E=_;_=0;if(E&1)r=1;else{_=0;Ae(6,n|0,824,96);_=0;r=0}e=ze()|0;Oh(v);if(!r)break}else e=ze()|0;je(n|0)}else A=64}while(0);if((A|0)==64)e=ze()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(l);A=e;$e(A|0)}}while(0);A=e;nd(l);$e(A|0)}}}r=f[i+4>>2]|0;n=Bp(16)|0;e=f[e+16>>2]|0;if(!r){A=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=A;f[n+8>>2]=1;f[n+12>>2]=e;A=n;c=y;return A|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=1;f[n+12>>2]=e;A=n;c=y;return A|0}return 0}function jv(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,h=0;o=c;c=c+32|0;h=o;op(h,f[e+128>>2]|0,f[e+136>>2]|0);u=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[h+8>>2]|0:l;s=f[i+12>>2]|0;s=(s|0)==0?f[h+12>>2]|0:s;r=f[i+16>>2]|0;a=f[h+16>>2]|0;f[e+176>>2]=(u|0)==0?f[h+4>>2]|0:u;f[e+180>>2]=l;f[e+184>>2]=s;Kv(e);s=e+132|0;i=(f[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{f[e+188+(l*12|0)>>2]=i;f[e+188+(l*12|0)+4>>2]=0;n[e+188+(l*12|0)+8>>1]=0;n[e+188+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365);u=(f[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;h=((r|0)==0?a:r)&255;f[e+4568>>2]=u;f[e+4572>>2]=0;t[e+4576>>0]=h;t[e+4577>>0]=1;t[e+4578>>0]=0;f[e+4580>>2]=u;f[e+4584>>2]=1;t[e+4588>>0]=h;t[e+4589>>0]=1;t[e+4590>>0]=0;f[e+4592>>2]=0;c=o;return}function Hv(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=f[i>>2]|0;f[i>>2]=0;i=f[l>>2]|0;f[l>>2]=s;if(i)fM[f[(f[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=f[l>>2]|0;t[e+4620>>0]=a&1;i=e+156|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];Ct(e,n);zv(e);i=f[e+116>>2]|0;e=f[e+112>>2]|0;while(1){a=i+-1|0;r=(t[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=f[l>>2]|0;if(!a)return;f[l>>2]=a+i;n=n+8|0;f[n>>2]=(f[n>>2]|0)-i;return}function zv(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0;S=c;c=c+32|0;C=S+12|0;A=S;o=e+172|0;E=(f[o>>2]|0)+4|0;if((f[e+28>>2]|0)==1)u=f[e+20>>2]|0;else u=1;i=re(u<<1,E)|0;f[C>>2]=0;R=C+4|0;f[R>>2]=0;f[C+8>>2]=0;e:do{if(i){if(!((i|0)<0?(_=0,ue(178,C|0),T=_,_=0,T&1):0))M=6;if((M|0)==6?(_=0,r=de(67,i|0)|0,T=_,_=0,!(T&1)):0){f[R>>2]=r;f[C>>2]=r;f[C+8>>2]=r+i;while(1){t[r>>0]=0;r=(f[R>>2]|0)+1|0;f[R>>2]=r;i=i+-1|0;if(!i)break e}}r=ze()|0;i=f[C>>2]|0;if(!i)$e(r|0);if((f[R>>2]|0)!=(i|0))f[R>>2]=i;Ip(i);$e(r|0)}}while(0);f[A>>2]=0;T=A+4|0;f[T>>2]=0;f[A+8>>2]=0;do{if(!u)M=19;else{if(!(u>>>0>1073741823?(_=0,ue(178,A|0),y=_,_=0,y&1):0))M=17;if((M|0)==17?(n=u<<2,_=0,a=de(67,n|0)|0,y=_,_=0,!(y&1)):0){f[A>>2]=a;M=a+(u<<2)|0;f[A+8>>2]=M;ym(a|0,0,n|0)|0;f[T>>2]=M;M=19;break}r=ze()|0;i=f[A>>2]|0;n=i;if(i){a=f[T>>2]|0;if((a|0)!=(i|0))f[T>>2]=a+(~((a+-4-n|0)>>>2)<<2);Ip(i)}}}while(0);if((M|0)==19){h=e+8|0;i=f[h>>2]|0;e:do{if((i|0)>0){d=e+4596|0;b=re(u,E)|0;k=b+1|0;w=e+4600|0;m=e+160|0;v=e+168|0;p=e+164|0;g=e+156|0;y=e+88|0;l=e+4592|0;if((u|0)>0)s=0;else{s=0;while(1){a=f[C>>2]|0;r=a+1|0;f[d>>2]=r;n=a+k|0;f[w>>2]=n;if(!(s&1))r=k;else{f[d>>2]=n;f[w>>2]=r;r=1}u=f[m>>2]|0;if((u|0)<=(s|0)?(s|0)<((f[v>>2]|0)+u|0):0){u=f[y>>2]|0;_=0;Re(f[(f[u>>2]|0)+8>>2]|0,u|0,a+(r+((f[g>>2]|0)-b))|0,f[p>>2]|0,E|0);u=_;_=0;if(u&1)break;i=f[h>>2]|0}s=s+1|0;if((s|0)>=(i|0)){M=50;break e}}r=ze()|0;break}i:while(1){r=f[C>>2]|0;i=r+1|0;f[d>>2]=i;r=r+k|0;f[w>>2]=r;if(s&1){f[d>>2]=r;f[w>>2]=i;i=r}a=f[A>>2]|0;r=i;n=0;do{f[l>>2]=f[a+(n<<2)>>2];M=f[o>>2]|0;t[r+M>>0]=t[r+(M+-1)>>0]|0;t[(f[w>>2]|0)+-1>>0]=t[f[d>>2]>>0]|0;_=0;ce(83,e|0,0);M=_;_=0;if(M&1){M=38;break i}a=f[A>>2]|0;f[a+(n<<2)>>2]=f[l>>2];r=(f[d>>2]|0)+E|0;f[d>>2]=r;i=f[w>>2]|0;f[w>>2]=i+E;n=n+1|0}while((n|0)<(u|0));M=f[m>>2]|0;if(((M|0)<=(s|0)?(s|0)<((f[v>>2]|0)+M|0):0)?(M=f[y>>2]|0,_=0,Re(f[(f[M>>2]|0)+8>>2]|0,M|0,i+(E+((f[g>>2]|0)-b))|0,f[p>>2]|0,E|0),M=_,_=0,M&1):0){M=30;break}s=s+1|0;if((s|0)>=(f[h>>2]|0)){M=50;break e}}if((M|0)==30){r=ze()|0;break}else if((M|0)==38){r=ze()|0;break}}else M=50}while(0);do{if((M|0)==50){_=0;ue(183,e|0);e=_;_=0;if(e&1){r=ze()|0;break}i=f[A>>2]|0;r=i;if(i){n=f[T>>2]|0;if((n|0)!=(i|0))f[T>>2]=n+(~((n+-4-r|0)>>>2)<<2);Ip(i)}i=f[C>>2]|0;if(!i){c=S;return}if((f[R>>2]|0)!=(i|0))f[R>>2]=i;Ip(i);c=S;return}}while(0);i=f[A>>2]|0;n=i;if(i){a=f[T>>2]|0;if((a|0)!=(i|0))f[T>>2]=a+(~((a+-4-n|0)>>>2)<<2);Ip(i)}}i=f[C>>2]|0;if(!i)$e(r|0);if((f[R>>2]|0)!=(i|0))f[R>>2]=i;Ip(i);$e(r|0)}function Yv(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0,v=0;k=e+4596|0;r=f[k>>2]|0;v=e+172|0;i=f[v>>2]|0;if((i|0)<=0)return;w=e+4600|0;_=e+4604|0;m=e+4592|0;u=r;l=a[r+-1>>0]|0;r=a[r>>0]|0;b=0;while(1){h=f[w>>2]|0;o=t[h+(b+-1)>>0]|0;d=o&255;s=b+1|0;n=a[u+s>>0]|0;c=f[_>>2]|0;u=r-l|0;l=l-d|0;c=((((t[c+(n-r)>>0]|0)*9|0)+(t[c+u>>0]|0)|0)*9|0)+(t[c+l>>0]|0)|0;h=h+b|0;if(!c){i=Xv(e,o,h,i-b|0)|0;r=i+b|0;if((r|0)!=(f[v>>2]|0)){d=Vv(e,d,a[(f[k>>2]|0)+r>>0]|0)|0;t[(f[w>>2]|0)+r>>0]=d;d=f[m>>2]|0;f[m>>2]=(d|0)<1?0:d+-1|0;i=i+1|0}s=i+b|0;n=f[k>>2]|0;r=a[n+(s+-1)>>0]|0;n=a[n+s>>0]|0}else{i=r-d>>31;if((i^l|0)<0)i=r;else i=d+((i^u|0)<0?0:u)|0;d=qv(e,c,a[h>>0]|0,i,0)|0;t[(f[w>>2]|0)+b>>0]=d}i=f[v>>2]|0;if((i|0)<=(s|0))break;u=f[k>>2]|0;l=r;r=n;b=s}return}function qv(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,m=0,v=0;v=i>>31;c=(v^i)-v|0;k=e+188+(c*12|0)+10|0;r=n[k>>1]|0;b=e+188+(c*12|0)|0;s=f[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){i=5;while(1)if((r<>1]^v)-v+a|0;m=e+128|0;s=f[m>>2]|0;if((r&s|0)==(r|0))h=r;else h=s&~(r>>31);r=e+112|0;if((f[r>>2]|0)<8)jt(e);s=e+108|0;a=f[s>>2]|0;l=a>>>24;o=f[2832+(i<<11)+(l<<3)+4>>2]|0;if(!o){u=f[e+148>>2]|0;s=f[e+140>>2]|0;r=wa(e)|0;if((r|0)<(u+-1-s|0)){if(i)r=(_a(e,i)|0)+(r<>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,r|0,5,35648);e=_;_=0;if(e&1){e=ze()|0;je(r|0);$e(e|0)}else bi(r|0,824,96)}}else{f[r>>2]=(f[r>>2]|0)-o;f[s>>2]=a<>2]|0}u=e+136|0;a=f[u>>2]|0;if(!i){if(!a)s=(f[e+188+(c*12|0)+4>>2]<<1)+-1+(n[k>>1]|0)>>31;else s=0;o=s^r}else o=r;i=f[e+152>>2]|0;s=(f[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;l=e+188+(c*12|0)+4|0;r=(f[l>>2]|0)+(re(a<<1|1,o)|0)|0;a=n[k>>1]|0;if((a|0)==(i|0)){s=s>>1;r=r>>1;a=i>>1}f[b>>2]=s;i=a+1|0;n[k>>1]=i;s=i+r|0;if((s|0)>=1){if((r|0)>0){r=r-i|0;k=n[d>>1]|0;n[d>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=n[d>>1]|0;n[d>>1]=(r&65535)-(r<<16>>16>-128&1);r=(s|0)>(~a|0)?s:0-a|0}f[l>>2]=r;i=f[u>>2]|0;a=i<<1|1;s=(re(a,(o^v)-v|0)|0)+h|0;if((s|0)>=(0-i|0)){r=f[m>>2]|0;if((r+i|0)<(s|0))s=s-(re(f[e+132>>2]|0,a)|0)|0}else{s=(re(f[e+132>>2]|0,a)|0)+s|0;r=f[m>>2]|0}if((s&r|0)==(s|0)){e=s;e=e&255;return e|0}e=r&~(s>>31);e=e&255;return e|0}function Xv(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;o=e+112|0;u=e+108|0;c=e+4592|0;a=f[o>>2]|0;s=0;while(1){if((a|0)<1){jt(e);a=f[o>>2]|0}l=f[u>>2]|0;a=a+-1|0;f[o>>2]=a;f[u>>2]=l<<1;if((l|0)>=0){h=8;break}l=f[c>>2]|0;d=1<>2];b=n-s|0;b=(d|0)<(b|0)?d:b;s=b+s|0;if((b|0)==(d|0))f[c>>2]=(l|0)>30?31:l+1|0;if((s|0)==(n|0)){a=n;break}}if((h|0)==8)if((s|0)!=(n|0)){a=f[c>>2]|0;if((a+-4|0)>>>0<28)a=_a(e,f[36476+(a<<2)>>2]|0)|0;else a=0;a=a+s|0;if((a|0)>(n|0)){a=He(16)|0;if((t[8]|0)==0?(De(8)|0)!=0:0){di(72,35648,w|0)|0;qe(8)}_=0;Ae(7,a|0,5,35648);b=_;_=0;if(b&1){b=ze()|0;je(a|0);$e(b|0)}else bi(a|0,824,96)}}else a=n;if((a|0)<=0)return a|0;ym(r|0,i|0,a|0)|0;return a|0}function Vv(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0;a=i-r|0;s=e+128|0;t=e+136|0;if((((a|0)>-1?a:0-a|0)|0)>(f[t>>2]|0)){i=re(Gv(e,e+4568|0)|0,r-i>>31|1)|0;n=f[t>>2]|0;a=n<<1|1;i=(re(i,a)|0)+r|0;if((i|0)>=(0-n|0)){t=f[s>>2]|0;if((t+n|0)<(i|0))i=i-(re(f[e+132>>2]|0,a)|0)|0}else{i=(re(f[e+132>>2]|0,a)|0)+i|0;t=f[s>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&255;return e|0}e=t&~(i>>31);e=e&255;return e|0}else{r=Gv(e,e+4580|0)|0;a=f[t>>2]|0;n=a<<1|1;i=(re(n,r)|0)+i|0;if((i|0)>=(0-a|0)){t=f[s>>2]|0;if((t+a|0)<(i|0))i=i-(re(f[e+132>>2]|0,n)|0)|0}else{i=(re(f[e+132>>2]|0,n)|0)+i|0;t=f[s>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&255;return e|0}e=t&~(i>>31);e=e&255;return e|0}return 0}function Gv(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0;h=i+9|0;r=a[h>>0]|0;l=i+4|0;s=(re(r>>>1,f[l>>2]|0)|0)+(f[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;o=f[e+148>>2]|0;u=f[36476+(f[e+4592>>2]<<2)>>2]|0;r=f[e+140>>2]|0;s=wa(e)|0;do{if((s|0)<(o+-2-u-r|0))if(!n){n=f[l>>2]|0;e=n+s|0;r=e&1;e=(r+e|0)/2|0;c=8;break}else{u=(_a(e,n)|0)+(s<>2]|0;s=u+n|0;o=s&1;r=o;l=1;s=(o+s|0)/2|0;break}else{s=(_a(e,r)|0)+1|0;o=f[l>>2]|0;e=s+o|0;r=e&1;e=(r+e|0)/2|0;if(!n){n=o;c=8}else{u=s;l=1;s=e;n=o}}}while(0);if((c|0)==8){u=s;l=a[i+10>>0]<<1>>>0>=(a[h>>0]|0)>>>0;s=e}s=(r|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;t[c>>0]=(a[c>>0]|0)+1}r=(u+1-n>>1)+(f[i>>2]|0)|0;f[i>>2]=r;n=t[h>>0]|0;if(n<<24>>24!=(t[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return s|0}f[i>>2]=r>>1;c=(n&255)>>>1;t[h>>0]=c;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=c;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return s|0}function Kv(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0;k=c;c=c+32|0;n=k;b=e+136|0;e:do{if(!(f[b>>2]|0)){r=f[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<>2])+-1|0)?(op(n,r,0),(f[n+4>>2]|0)==(f[e+176>>2]|0)):0)?(f[n+8>>2]|0)==(f[e+180>>2]|0):0)?(f[n+12>>2]|0)==(f[e+184>>2]|0):0)switch(f[i>>2]|0){case 8:{b=f[8900]|0;f[e+4604>>2]=b+(((f[8901]|0)-b|0)>>>1);c=k;return}case 10:{b=f[8903]|0;f[e+4604>>2]=b+(((f[8904]|0)-b|0)>>>1);c=k;return}case 12:{b=f[8906]|0;f[e+4604>>2]=b+(((f[8907]|0)-b|0)>>>1);c=k;return}case 16:{b=f[8909]|0;f[e+4604>>2]=b+(((f[8910]|0)-b|0)>>>1);c=k;return}default:break e}}else i=e+144|0}while(0);d=1<>2];r=e+4608|0;n=d<<1;a=e+4612|0;s=f[a>>2]|0;i=f[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0>>0?(o=i+n|0,(s|0)!=(o|0)):0)f[a>>2]=o}else{zt(r,n-l|0);i=f[r>>2]|0}h=e+4604|0;f[h>>2]=i+d;i=0-d|0;if((d|0)<=(i|0)){c=k;return}o=e+184|0;u=e+180|0;l=e+176|0;s=i;do{i=f[o>>2]|0;if((s|0)>(0-i|0)){r=f[u>>2]|0;if((s|0)>(0-r|0)){n=f[l>>2]|0;if((s|0)>(0-n|0)){a=f[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;t[(f[h>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(d|0));c=k;return}function Wv(e){e=e|0;Ip(e);return}function Zv(e){e=e|0;return 50767}function Jv(e,i,r){e=e|0;i=i|0;r=r|0;Ph(e,50754,12);return}function Qv(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0;m=c;c=c+16|0;v=m;f[v>>2]=0;p=v+4|0;f[p>>2]=0;f[v+8>>2]=0;k=v+8|0;_=0;a=de(67,1)|0;b=_;_=0;e:do{if((!(b&1)?(b=a+1|0,t[a>>0]=r,f[v>>2]=a,f[p>>2]=b,f[k>>2]=b,_=0,ce(84,v|0,i&65535|0),b=_,_=0,!(b&1)):0)?(_=0,ce(84,v|0,e&65535|0),b=_,_=0,!(b&1)):0){h=n&255;a=f[p>>2]|0;r=f[k>>2]|0;if(a>>>0>=r>>>0){i=f[v>>2]|0;e=i;l=a-e+1|0;if((l|0)<0){_=0;ue(178,v|0);b=_;_=0;if(b&1){w=52;break}e=f[v>>2]|0;r=f[k>>2]|0;i=e}u=i;a=r-u|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0>>0?l:a;r=f[p>>2]|0;o=r-u|0;if(!a){a=0;l=0}else w=12}else{o=f[p>>2]|0;a=2147483647;r=o;o=o-u|0;w=12}if((w|0)==12){_=0;l=de(67,a|0)|0;b=_;_=0;if(b&1){w=52;break}}t[l+o>>0]=h;d=r-u|0;b=l+(o-d)|0;Am(b|0,i|0,d|0)|0;f[v>>2]=b;f[p>>2]=l+(o+1);f[k>>2]=l+a;if(e)Ip(e)}else{t[a>>0]=h;f[p>>2]=(f[p>>2]|0)+1}i:do{if((n|0)>0){b=0;while(1){b=b+1|0;d=b&255;a=f[p>>2]|0;i=f[k>>2]|0;if(a>>>0>=i>>>0){e=f[v>>2]|0;r=e;l=a-r+1|0;if((l|0)<0){_=0;ue(178,v|0);h=_;_=0;if(h&1)break;e=f[v>>2]|0;r=e;i=f[k>>2]|0}h=e;a=i-h|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0>>0?l:a;i=f[p>>2]|0;o=i-h|0;if(!a){u=0;l=0}else w=25}else{o=f[p>>2]|0;a=2147483647;i=o;o=o-h|0;w=25}if((w|0)==25){w=0;_=0;l=de(67,a|0)|0;u=_;_=0;if(u&1)break;else u=a}t[l+o>>0]=d;a=l+(o+1)|0;h=i-h|0;d=l+(o-h)|0;Am(d|0,e|0,h|0)|0;f[v>>2]=d;f[p>>2]=a;f[k>>2]=l+u;if(r){Ip(r);a=f[p>>2]|0}}else{t[a>>0]=d;a=(f[p>>2]|0)+1|0;f[p>>2]=a}r=f[k>>2]|0;if(a>>>0>=r>>>0){i=f[v>>2]|0;e=i;l=a-e+1|0;if((l|0)<0){_=0;ue(178,v|0);d=_;_=0;if(d&1)break;e=f[v>>2]|0;r=f[k>>2]|0;i=e}h=i;a=r-h|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0>>0?l:a;l=f[p>>2]|0;o=l-h|0;if(!a){u=0;r=0}else w=36}else{o=f[p>>2]|0;a=2147483647;l=o;o=o-h|0;w=36}if((w|0)==36){w=0;_=0;r=de(67,a|0)|0;d=_;_=0;if(d&1)break;else u=a}t[r+o>>0]=17;a=r+(o+1)|0;h=l-h|0;d=r+(o-h)|0;Am(d|0,i|0,h|0)|0;f[v>>2]=d;f[p>>2]=a;f[k>>2]=r+u;if(e){Ip(e);a=f[p>>2]|0}}else{t[a>>0]=17;a=(f[p>>2]|0)+1|0;f[p>>2]=a}r=f[k>>2]|0;if(a>>>0>=r>>>0){i=f[v>>2]|0;e=i;l=a-e+1|0;if((l|0)<0){_=0;ue(178,v|0);d=_;_=0;if(d&1)break;e=f[v>>2]|0;r=f[k>>2]|0;i=e}u=i;a=r-u|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0>>0?l:a;r=f[p>>2]|0;o=r-u|0;if(!a){a=0;l=0}else w=48}else{o=f[p>>2]|0;a=2147483647;r=o;o=o-u|0;w=48}if((w|0)==48){w=0;_=0;l=de(67,a|0)|0;d=_;_=0;if(d&1)break}t[l+o>>0]=0;h=r-u|0;d=l+(o-h)|0;Am(d|0,i|0,h|0)|0;f[v>>2]=d;f[p>>2]=l+(o+1);f[k>>2]=l+a;if(e)Ip(e)}else{t[a>>0]=0;f[p>>2]=(f[p>>2]|0)+1}if((b|0)>=(n|0))break i}s=ze()|0;break e}}while(0);_=0;o=de(67,20)|0;n=_;_=0;if(!(n&1)){f[o>>2]=36800;t[o+4>>0]=-9;e=o+8|0;f[e>>2]=0;l=o+12|0;f[l>>2]=0;r=o+16|0;f[r>>2]=0;a=f[p>>2]|0;n=f[v>>2]|0;i=a-n|0;do{if((a|0)!=(n|0)){if(!((i|0)<0?(_=0,ue(178,e|0),n=_,_=0,n&1):0))w=62;if((w|0)==62?(_=0,s=de(67,i|0)|0,n=_,_=0,!(n&1)):0){f[l>>2]=s;f[e>>2]=s;f[r>>2]=s+i;a=f[v>>2]|0;r=f[p>>2]|0;if((a|0)==(r|0))break;do{t[s>>0]=t[a>>0]|0;s=(f[l>>2]|0)+1|0;f[l>>2]=s;a=a+1|0}while((a|0)!=(r|0));a=f[v>>2]|0;break}s=ze()|0;a=f[e>>2]|0;if(a){if((f[l>>2]|0)!=(a|0))f[l>>2]=a;Ip(a)}Ip(o);break e}}while(0);if(!a){c=m;return o|0}if((f[p>>2]|0)!=(a|0))f[p>>2]=a;Ip(a);c=m;return o|0}else w=52}else w=52}while(0);if((w|0)==52)s=ze()|0;a=f[v>>2]|0;if(!a)$e(s|0);if((f[p>>2]|0)!=(a|0))f[p>>2]=a;Ip(a);$e(s|0);return 0}function $v(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0;p=c;c=c+32|0;w=p+28|0;y=p+16|0;v=p+4|0;m=p;f[y>>2]=0;M=y+4|0;f[M>>2]=0;f[y+8>>2]=0;b=Bp(5)|0;f[y>>2]=b;k=y+8|0;f[k>>2]=b+5;t[b>>0]=74;t[b+1>>0]=70;t[b+2>>0]=73;t[b+3>>0]=70;t[b+4>>0]=0;f[M>>2]=b+5;_=0;ce(84,y|0,f[e>>2]&65535|0);b=_;_=0;e:do{if(!(b&1)){h=f[e+4>>2]&255;i=f[M>>2]|0;n=f[k>>2]|0;if(i>>>0>=n>>>0){a=f[y>>2]|0;s=a;l=i-s+1|0;if((l|0)<0){_=0;ue(178,y|0);b=_;_=0;if(b&1){g=43;break}s=f[y>>2]|0;n=f[k>>2]|0;a=s}u=a;i=n-u|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0>>0?l:i;n=f[M>>2]|0;o=n-u|0;if(!i){i=0;l=0}else g=10}else{o=f[M>>2]|0;i=2147483647;n=o;o=o-u|0;g=10}if((g|0)==10){_=0;l=de(67,i|0)|0;b=_;_=0;if(b&1){g=43;break}}t[l+o>>0]=h;d=n-u|0;b=l+(o-d)|0;Am(b|0,a|0,d|0)|0;f[y>>2]=b;f[M>>2]=l+(o+1);f[k>>2]=l+i;if(s)Ip(s)}else{t[i>>0]=h;f[M>>2]=(f[M>>2]|0)+1}_=0;ce(84,y|0,f[e+8>>2]&65535|0);b=_;_=0;if(!(b&1)?(_=0,ce(84,y|0,f[e+12>>2]&65535|0),b=_,_=0,!(b&1)):0){b=e+16|0;d=f[b>>2]&255;i=f[M>>2]|0;a=f[k>>2]|0;if(i>>>0>=a>>>0){s=f[y>>2]|0;n=s;l=i-n+1|0;if((l|0)<0){_=0;ue(178,y|0);h=_;_=0;if(h&1){g=43;break}s=f[y>>2]|0;n=s;a=f[k>>2]|0}h=s;i=a-h|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0>>0?l:i;l=f[M>>2]|0;o=l-h|0;if(!i){u=0;a=0}else g=23}else{o=f[M>>2]|0;i=2147483647;l=o;o=o-h|0;g=23}if((g|0)==23){_=0;a=de(67,i|0)|0;u=_;_=0;if(u&1){g=43;break}else u=i}t[a+o>>0]=d;i=a+(o+1)|0;h=l-h|0;d=a+(o-h)|0;Am(d|0,s|0,h|0)|0;f[y>>2]=d;f[M>>2]=i;f[k>>2]=a+u;if(n){Ip(n);i=f[M>>2]|0}}else{t[i>>0]=d;i=(f[M>>2]|0)+1|0;f[M>>2]=i}d=e+20|0;h=f[d>>2]&255;n=f[k>>2]|0;if(i>>>0>=n>>>0){a=f[y>>2]|0;s=a;l=i-s+1|0;if((l|0)<0){_=0;ue(178,y|0);u=_;_=0;if(u&1){g=43;break}s=f[y>>2]|0;n=f[k>>2]|0;a=s}u=a;i=n-u|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0>>0?l:i;n=f[M>>2]|0;o=n-u|0;if(!i){i=0;l=0}else g=34}else{o=f[M>>2]|0;i=2147483647;n=o;o=o-u|0;g=34}if((g|0)==34){_=0;l=de(67,i|0)|0;E=_;_=0;if(E&1){g=43;break}}t[l+o>>0]=h;h=n-u|0;E=l+(o-h)|0;Am(E|0,a|0,h|0)|0;f[y>>2]=E;f[M>>2]=l+(o+1);f[k>>2]=l+i;if(s)Ip(s)}else{t[i>>0]=h;f[M>>2]=(f[M>>2]|0)+1}i=f[b>>2]|0;do{if((i|0)>0){if(!(f[e+24>>2]|0)){f[m>>2]=f[M>>2];E=0+(re(i*3|0,f[d>>2]|0)|0)|0;_=0;f[w>>2]=f[m>>2];Ee(15,y|0,w|0,0,E|0)|0;E=_;_=0;if(E&1){g=43;break e}else break}n=He(16)|0;_=0;Ae(5,v|0,50792,57);E=_;_=0;if(!(E&1)){_=0;i=Me(1)|0;E=_;_=0;if(!(E&1)?(_=0,Re(36,n|0,1,i|0,v|0),E=_,_=0,!(E&1)):0){_=0;Ae(6,n|0,824,96);_=0;r=0}else r=1;i=ze()|0;Oh(v);if(!r){r=i;break e}}else i=ze()|0;je(n|0);r=i;break e}}while(0);_=0;o=de(67,20)|0;E=_;_=0;if(!(E&1)){f[o>>2]=36800;t[o+4>>0]=-32;s=o+8|0;f[s>>2]=0;l=o+12|0;f[l>>2]=0;n=o+16|0;f[n>>2]=0;i=f[M>>2]|0;E=f[y>>2]|0;a=i-E|0;do{if((i|0)!=(E|0)){if(!((a|0)<0?(_=0,ue(178,s|0),E=_,_=0,E&1):0))g=53;if((g|0)==53?(_=0,r=de(67,a|0)|0,E=_,_=0,!(E&1)):0){f[l>>2]=r;f[s>>2]=r;f[n>>2]=r+a;i=f[y>>2]|0;n=f[M>>2]|0;if((i|0)==(n|0))break;do{t[r>>0]=t[i>>0]|0;r=(f[l>>2]|0)+1|0;f[l>>2]=r;i=i+1|0}while((i|0)!=(n|0));i=f[y>>2]|0;break}i=ze()|0;r=f[s>>2]|0;if(r){if((f[l>>2]|0)!=(r|0))f[l>>2]=r;Ip(r)}Ip(o);g=44;break e}}while(0);if(!i){c=p;return o|0}if((f[M>>2]|0)!=(i|0))f[M>>2]=i;Ip(i);c=p;return o|0}else g=43}else g=43}else g=43}while(0);if((g|0)==43){i=ze()|0;g=44}if((g|0)==44)r=i;i=f[y>>2]|0;if(!i)$e(r|0);if((f[M>>2]|0)!=(i|0))f[M>>2]=i;Ip(i);$e(r|0);return 0}function ep(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0;o=c;c=c+16|0;h=o;f[h>>2]=0;d=h+4|0;f[d>>2]=0;f[h+8>>2]=0;_=0;i=de(67,1)|0;l=_;_=0;e:do{if((((((!(l&1)?(l=i+1|0,t[i>>0]=1,f[h>>2]=i,f[d>>2]=l,f[h+8>>2]=l,_=0,ce(84,h|0,f[e>>2]&65535|0),l=_,_=0,!(l&1)):0)?(_=0,ce(84,h|0,f[e+4>>2]&65535|0),l=_,_=0,!(l&1)):0)?(_=0,ce(84,h|0,f[e+8>>2]&65535|0),l=_,_=0,!(l&1)):0)?(_=0,ce(84,h|0,f[e+12>>2]&65535|0),l=_,_=0,!(l&1)):0)?(_=0,ce(84,h|0,f[e+16>>2]&65535|0),l=_,_=0,!(l&1)):0)?(_=0,u=de(67,20)|0,l=_,_=0,!(l&1)):0){f[u>>2]=36800;t[u+4>>0]=-8;a=u+8|0;f[a>>2]=0;l=u+12|0;f[l>>2]=0;e=u+16|0;f[e>>2]=0;i=f[d>>2]|0;b=f[h>>2]|0;n=i-b|0;do{if((i|0)!=(b|0)){if(!((n|0)<0?(_=0,ue(178,a|0),b=_,_=0,b&1):0))s=11;if((s|0)==11?(_=0,r=de(67,n|0)|0,b=_,_=0,!(b&1)):0){f[l>>2]=r;f[a>>2]=r;f[e>>2]=r+n;i=f[h>>2]|0;e=f[d>>2]|0;if((i|0)==(e|0))break;do{t[r>>0]=t[i>>0]|0;r=(f[l>>2]|0)+1|0;f[l>>2]=r;i=i+1|0}while((i|0)!=(e|0));i=f[h>>2]|0;break}r=ze()|0;i=f[a>>2]|0;if(i){if((f[l>>2]|0)!=(i|0))f[l>>2]=i;Ip(i)}Ip(u);break e}}while(0);if(!i){c=o;return u|0}if((f[d>>2]|0)!=(i|0))f[d>>2]=i;Ip(i);c=o;return u|0}else s=25}while(0);if((s|0)==25)r=ze()|0;i=f[h>>2]|0;if(!i)$e(r|0);if((f[d>>2]|0)!=(i|0))f[d>>2]=i;Ip(i);$e(r|0);return 0}function ip(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0;s=Bp(5)|0;t[s>>0]=109;t[s+1>>0]=114;t[s+2>>0]=102;t[s+3>>0]=120;t[s+4>>0]=e;_=0;a=de(67,20)|0;n=_;_=0;if(n&1){a=ze()|0;Ip(s);$e(a|0)}f[a>>2]=36800;t[a+4>>0]=-24;e=a+8|0;f[e>>2]=0;i=a+12|0;f[i>>2]=0;r=a+16|0;f[r>>2]=0;_=0;n=de(67,5)|0;l=_;_=0;if(!(l&1)){f[i>>2]=n;f[e>>2]=n;f[r>>2]=n+5;t[n>>0]=109;l=(f[i>>2]|0)+1|0;f[i>>2]=l;n=s+1|0;t[l>>0]=t[n>>0]|0;l=(f[i>>2]|0)+1|0;f[i>>2]=l;n=n+1|0;t[l>>0]=t[n>>0]|0;l=(f[i>>2]|0)+1|0;f[i>>2]=l;n=n+1|0;t[l>>0]=t[n>>0]|0;l=(f[i>>2]|0)+1|0;f[i>>2]=l;t[l>>0]=t[n+1>>0]|0;f[i>>2]=(f[i>>2]|0)+1;Ip(s);return a|0}l=ze()|0;Ip(a);Ip(s);$e(l|0);return 0}function rp(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0;g=c;c=c+16|0;y=g;f[y>>2]=0;M=y+4|0;f[M>>2]=0;f[y+8>>2]=0;v=y+8|0;_=0;a=de(67,1)|0;m=_;_=0;e:do{if(!(m&1)){o=a+1|0;m=o;t[a>>0]=i;f[y>>2]=a;f[M>>2]=m;f[v>>2]=m;if((i|0)>0){l=o;m=0;do{w=m+e&255;if(l>>>0>=o>>>0){a=f[y>>2]|0;u=a;l=l-u+1|0;if((l|0)<0){_=0;ue(178,y|0);k=_;_=0;if(k&1){p=28;break}u=f[y>>2]|0;o=f[v>>2]|0;k=u}else k=a;b=k;a=o-b|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0>>0?l:a;o=f[M>>2]|0;h=o-b|0;if(!a){d=0;l=0}else p=13}else{h=f[M>>2]|0;a=2147483647;o=h;h=h-b|0;p=13}if((p|0)==13){p=0;_=0;l=de(67,a|0)|0;d=_;_=0;if(d&1){p=28;break}else d=a}t[l+h>>0]=w;a=l+(h+1)|0;b=o-b|0;w=l+(h-b)|0;Am(w|0,k|0,b|0)|0;f[y>>2]=w;f[M>>2]=a;f[v>>2]=l+d;if(u){Ip(u);a=f[M>>2]|0}}else{t[l>>0]=w;a=(f[M>>2]|0)+1|0;f[M>>2]=a}o=f[v>>2]|0;if(a>>>0>=o>>>0){u=f[y>>2]|0;l=u;h=a-l+1|0;if((h|0)<0){_=0;ue(178,y|0);w=_;_=0;if(w&1){p=28;break}u=f[y>>2]|0;l=u;o=f[v>>2]|0}b=u;a=o-b|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0>>0?h:a;h=f[M>>2]|0;o=h-b|0;if(!a){a=0;d=0}else p=24}else{o=f[M>>2]|0;a=2147483647;h=o;o=o-b|0;p=24}if((p|0)==24){p=0;_=0;d=de(67,a|0)|0;w=_;_=0;if(w&1){p=28;break}}t[d+o>>0]=0;k=h-b|0;w=d+(o-k)|0;Am(w|0,u|0,k|0)|0;f[y>>2]=w;f[M>>2]=d+(o+1);f[v>>2]=d+a;if(l)Ip(l)}else{t[a>>0]=0;f[M>>2]=(f[M>>2]|0)+1}m=m+1|0;l=f[M>>2]|0;o=f[v>>2]|0}while((m|0)<(i|0));if((p|0)==28){s=ze()|0;break}a=r&255;if(l>>>0>>0){t[l>>0]=a;l=(f[M>>2]|0)+1|0;f[M>>2]=l}else p=37}else{l=o;a=r&255;p=37}if((p|0)==37){u=f[y>>2]|0;h=u;d=l-h+1|0;if((d|0)<0){_=0;ue(178,y|0);r=_;_=0;if(r&1){p=29;break}h=f[y>>2]|0;o=f[v>>2]|0;u=h}w=u;l=o-w|0;if(l>>>0<1073741823){l=l<<1;l=l>>>0>>0?d:l;d=f[M>>2]|0;b=d-w|0;if(!l){k=0;o=0}else p=43}else{b=f[M>>2]|0;l=2147483647;d=b;b=b-w|0;p=43}if((p|0)==43){_=0;o=de(67,l|0)|0;r=_;_=0;if(r&1){p=29;break}else k=l}t[o+b>>0]=a;l=o+(b+1)|0;e=d-w|0;r=o+(b-e)|0;Am(r|0,u|0,e|0)|0;f[y>>2]=r;f[M>>2]=l;f[v>>2]=o+k;if(h){Ip(h);l=f[M>>2]|0}}w=n&255;a=f[v>>2]|0;if(l>>>0>=a>>>0){o=f[y>>2]|0;u=o;l=l-u+1|0;if((l|0)<0){_=0;ue(178,y|0);n=_;_=0;if(n&1){p=29;break}u=f[y>>2]|0;a=f[v>>2]|0;o=u}k=o;a=a-k|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0>>0?l:a;h=f[M>>2]|0;d=h-k|0;if(!a){b=0;l=0}else p=54}else{d=f[M>>2]|0;a=2147483647;h=d;d=d-k|0;p=54}if((p|0)==54){_=0;l=de(67,a|0)|0;n=_;_=0;if(n&1){p=29;break}else b=a}t[l+d>>0]=w;a=l+(d+1)|0;r=h-k|0;n=l+(d-r)|0;Am(n|0,o|0,r|0)|0;f[y>>2]=n;f[M>>2]=a;f[v>>2]=l+b;if(u){Ip(u);a=f[M>>2]|0}}else{t[l>>0]=w;a=(f[M>>2]|0)+1|0;f[M>>2]=a}l=f[v>>2]|0;if(a>>>0>=l>>>0){o=f[y>>2]|0;u=o;h=a-u+1|0;if((h|0)<0){_=0;ue(178,y|0);n=_;_=0;if(n&1){p=29;break}u=f[y>>2]|0;l=f[v>>2]|0;o=u}b=o;a=l-b|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0>>0?h:a;l=f[M>>2]|0;d=l-b|0;if(!a){a=0;h=0}else p=65}else{d=f[M>>2]|0;a=2147483647;l=d;d=d-b|0;p=65}if((p|0)==65){_=0;h=de(67,a|0)|0;n=_;_=0;if(n&1){p=29;break}}t[h+d>>0]=0;r=l-b|0;n=h+(d-r)|0;Am(n|0,o|0,r|0)|0;f[y>>2]=n;f[M>>2]=h+(d+1);f[v>>2]=h+a;if(u)Ip(u)}else{t[a>>0]=0;f[M>>2]=(f[M>>2]|0)+1}_=0;d=de(67,20)|0;v=_;_=0;if(!(v&1)){f[d>>2]=36800;t[d+4>>0]=-38;u=d+8|0;f[u>>2]=0;h=d+12|0;f[h>>2]=0;l=d+16|0;f[l>>2]=0;a=f[M>>2]|0;v=f[y>>2]|0;o=a-v|0;do{if((a|0)!=(v|0)){if(!((o|0)<0?(_=0,ue(178,u|0),v=_,_=0,v&1):0))p=72;if((p|0)==72?(_=0,s=de(67,o|0)|0,v=_,_=0,!(v&1)):0){f[h>>2]=s;f[u>>2]=s;f[l>>2]=s+o;a=f[y>>2]|0;l=f[M>>2]|0;if((a|0)==(l|0))break;do{t[s>>0]=t[a>>0]|0;s=(f[h>>2]|0)+1|0;f[h>>2]=s;a=a+1|0}while((a|0)!=(l|0));a=f[y>>2]|0;break}s=ze()|0;a=f[u>>2]|0;if(a){if((f[h>>2]|0)!=(a|0))f[h>>2]=a;Ip(a)}Ip(d);break e}}while(0);if(!a){c=g;return d|0}if((f[M>>2]|0)!=(a|0))f[M>>2]=a;Ip(a);c=g;return d|0}else p=29}else p=29}while(0);if((p|0)==29)s=ze()|0;a=f[y>>2]|0;if(!a)$e(s|0);if((f[M>>2]|0)!=(a|0))f[M>>2]=a;Ip(a);$e(s|0);return 0}function tp(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0;d=(i&65535)>>>8&255;b=e+4|0;r=f[b>>2]|0;k=e+8|0;n=f[k>>2]|0;if(r>>>0>=n>>>0){a=f[e>>2]|0;s=a;l=r-s+1|0;if((l|0)<0){xp(e);s=f[e>>2]|0;n=f[k>>2]|0;a=s}h=a;r=n-h|0;if(r>>>0<1073741823){r=r<<1;r=r>>>0>>0?l:r;l=f[b>>2]|0;n=l-h|0;if(!r){c=0;u=0;o=n;r=l}else w=8}else{n=f[b>>2]|0;r=2147483647;l=n;n=n-h|0;w=8}if((w|0)==8){c=r;u=Bp(r)|0;o=n;r=l}t[u+o>>0]=d;n=u+(o+1)|0;h=r-h|0;d=u+(o-h)|0;Am(d|0,a|0,h|0)|0;f[e>>2]=d;f[b>>2]=n;f[k>>2]=u+c;if(s){Ip(s);n=f[b>>2]|0}}else{t[r>>0]=d;n=(f[b>>2]|0)+1|0;f[b>>2]=n}h=i&255;r=f[k>>2]|0;if(n>>>0>>0){t[n>>0]=h;f[b>>2]=(f[b>>2]|0)+1;return}a=f[e>>2]|0;s=a;n=n-s+1|0;if((n|0)<0){xp(e);s=f[e>>2]|0;r=f[k>>2]|0;a=s}c=a;r=r-c|0;if(r>>>0<1073741823){r=r<<1;r=r>>>0>>0?n:r;l=f[b>>2]|0;n=l-c|0;if(!r){u=0;o=0;r=l}else w=18}else{n=f[b>>2]|0;r=2147483647;l=n;n=n-c|0;w=18}if((w|0)==18){u=r;o=Bp(r)|0;r=l}t[o+n>>0]=h;i=r-c|0;w=o+(n-i)|0;Am(w|0,a|0,i|0)|0;f[e>>2]=w;f[b>>2]=o+(n+1);f[k>>2]=o+u;if(!s)return;Ip(s);return}function np(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0;a=f[e>>2]|0;w=f[i>>2]|0;k=w;u=a;d=r;c=n-d|0;if((c|0)<=0){_=w;return _|0}b=e+8|0;i=f[b>>2]|0;_=e+4|0;h=f[_>>2]|0;s=h;if((c|0)<=(i-s|0)){o=s-k|0;if((c|0)>(o|0)){l=r+o|0;if((l|0)==(n|0))i=h;else{s=l;i=h;do{t[i>>0]=t[s>>0]|0;i=(f[_>>2]|0)+1|0;f[_>>2]=i;s=s+1|0}while((s|0)!=(n|0))}if((o|0)>0)o=i;else{_=w;return _|0}}else{o=h;l=n}a=o-(a+(c-u+k))|0;i=w+a|0;if(i>>>0>>0){s=o;do{t[s>>0]=t[i>>0]|0;i=i+1|0;s=(f[_>>2]|0)+1|0;f[_>>2]=s}while((i|0)!=(h|0))}Tm(o+(0-a)|0,w|0,a|0)|0;Tm(w|0,r|0,l-d|0)|0;_=w;return _|0}s=s-u+c|0;if((s|0)<0){xp(e);i=f[b>>2]|0;a=f[e>>2]|0}l=a;i=i-l|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0>>0?s:i;s=k-l|0;if(!i){l=0;c=0}else o=15}else{i=2147483647;s=k-l|0;o=15}if((o|0)==15){l=i;c=Bp(i)|0}u=c+s|0;i=u;o=c+l|0;if((r|0)!=(n|0)){a=r;l=u;do{t[l>>0]=t[a>>0]|0;l=i+1|0;i=l;a=a+1|0}while((a|0)!=(n|0));a=f[e>>2]|0}r=k-a|0;n=c+(s-r)|0;Am(n|0,a|0,r|0)|0;k=(f[_>>2]|0)-k|0;r=i;Am(r|0,w|0,k|0)|0;i=f[e>>2]|0;f[e>>2]=n;f[_>>2]=r+k;f[b>>2]=o;if(!i){_=u;return _|0}Ip(i);_=u;return _|0}function fp(e){e=e|0;var i=0;f[e>>2]=36800;i=f[e+8>>2]|0;if(!i)return;e=e+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;Ip(i);return}function ap(e){e=e|0;var i=0,r=0;f[e>>2]=36800;i=f[e+8>>2]|0;if(!i){Ip(e);return}r=e+12|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Ip(i);Ip(e);return}function sp(e,i){e=e|0;i=i|0;var r=0,n=0,a=0;lp(i,-1);lp(i,t[e+4>>0]|0);a=e+12|0;n=e+8|0;e=(f[a>>2]|0)-(f[n>>2]|0)+2|0;lp(i,(e&65535)>>>8&255);lp(i,e&255);e=f[n>>2]|0;if((f[a>>2]|0)==(e|0))return;else r=0;do{lp(i,t[e+r>>0]|0);r=r+1|0;e=f[n>>2]|0}while(r>>>0<((f[a>>2]|0)-e|0)>>>0);return}function lp(e,i){e=e|0;i=i|0;var r=0,n=0,a=0;a=f[e+4>>2]|0;if(a){r=a+24|0;n=f[r>>2]|0;if((n|0)==(f[a+28>>2]|0)){kM[f[(f[a>>2]|0)+52>>2]&63](a,i&255)|0;return}else{f[r>>2]=n+1;t[n>>0]=i;return}}r=e+16|0;n=f[r>>2]|0;if(n>>>0<(f[e+12>>2]|0)>>>0){f[r>>2]=n+1;t[(f[e+8>>2]|0)+n>>0]=i;return}r=He(16)|0;_=0;n=Me(1)|0;i=_;_=0;if(i&1){i=ze()|0;je(r|0);$e(i|0)}_=0;Ae(7,r|0,4,n|0);i=_;_=0;if(i&1){i=ze()|0;je(r|0);$e(i|0)}else bi(r|0,824,96)}function op(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;n=(i|0)<4095?(i+128|0)/256|0:16;a=(r*3|0)+2+n|0;t=r+1|0;a=(a|0)<(t|0)|(a|0)>(i|0)?t:a;f[e+4>>2]=a;t=(n<<2|3)+(r*5|0)|0;t=(t|0)>(i|0)|(t|0)<(a|0)?a:t;f[e+8>>2]=t;r=(r*7|0)+4+(n*17|0)|0;f[e+12>>2]=(r|0)>(i|0)|(r|0)<(t|0)?t:r;f[e>>2]=i;f[e+16>>2]=64;return}function up(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0;h=c;c=c+128|0;o=h+100|0;n=h+16|0;r=h+112|0;u=h+4|0;d=h;a=n;s=e+20|0;l=a+84|0;do{f[a>>2]=f[s>>2];a=a+4|0;s=s+4|0}while((a|0)<(l|0));f[n+16>>2]=f[e+4>>2];s=Wi(r,n,e+56|0)|0;r=f[(f[s>>2]|0)+16>>2]|0;e=e+8|0;_=0;f[o>>2]=f[e>>2];f[o+4>>2]=f[e+4>>2];f[o+8>>2]=f[e+8>>2];r=pe(r|0,s|0,o|0)|0;e=_;_=0;do{if(e&1)r=ze()|0;else{a=i+4|0;f[u>>2]=f[a>>2];f[u+4>>2]=f[a+4>>2];f[u+8>>2]=f[a+8>>2];a=i+16|0;e=f[a>>2]|0;o=u+8|0;f[o>>2]=(f[o>>2]|0)-e;o=u+4|0;f[o>>2]=(f[o>>2]|0)+e;o=f[(f[s>>2]|0)+12>>2]|0;f[d>>2]=r;_=0;r=Ee(o|0,s|0,d|0,u|0,((t[i>>0]|0)==0?0:(f[i+8>>2]|0)+e|0)|0)|0;u=_;_=0;if(u&1){r=ze()|0;n=f[d>>2]|0;f[d>>2]=0;if(!n)break;fM[f[(f[n>>2]|0)+4>>2]&255](n);break}n=f[d>>2]|0;f[d>>2]=0;if(n)fM[f[(f[n>>2]|0)+4>>2]&255](n);if(!(f[i+4>>2]|0))f[a>>2]=(f[a>>2]|0)+r;if(!s){c=h;return}fM[f[(f[s>>2]|0)+4>>2]&255](s);c=h;return}}while(0);if(!s)$e(r|0);fM[f[(f[s>>2]|0)+4>>2]&255](s);$e(r|0)}function cp(e,i){e=e|0;i=i|0;f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];f[e+8>>2]=f[i+8>>2];t[e+12>>0]=0;i=e+16|0;e=i+100|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));return}function hp(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0;g=c;c=c+32|0;p=g+4|0;k=g+16|0;y=g;dp(e);w=e+16|0;a=f[e+24>>2]|0;e:do{if((a+-2|0)>>>0<=14){m=e+40|0;r=f[m>>2]|0;if(r>>>0>2)r=5;else{v=e+32|0;s=f[v>>2]|0;switch(s|0){case 0:{r=1;break e}case 4:{if((r|0)==2){r=2;break e}break}case 3:break;default:if(r){r=2;break e}}b=e+100|0;r=e+108|0;n=f[r>>2]|0;if((n|0)<1){n=f[w>>2]|0;f[r>>2]=n;r=f[e+20>>2]|0;f[e+112>>2]=r}else r=f[e+112>>2]|0;u=Om(r|0,((r|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;o=(a+7|0)/8|0;o=Om(u|0,x|0,o|0,((o|0)<0)<<31>>31|0)|0;u=i+4|0;r=f[u>>2]|0;l=i+8|0;if((r|0)!=0?(h=f[l>>2]|0,d=Om(s|0,((s|0)<0)<<31>>31|0,o|0,x|0)|0,a=x,0<(a|0)|0==(a|0)&h>>>0>>0):0){r=He(16)|0;_=0;n=Me(1)|0;y=_;_=0;if(!(y&1)?(_=0,Ae(7,r|0,3,n|0),y=_,_=0,!(y&1)):0)bi(r|0,824,96);y=ze()|0;je(r|0);$e(y|0)}h=e+52|0;d=e+12|0;if((s|0)>0)s=0;else{c=g;return}while(1){bp(e,(s|0)==0);n=Gi(k,w,h)|0;a=f[(f[n>>2]|0)+8>>2]|0;_=0;f[p>>2]=f[i>>2];f[p+4>>2]=f[i+4>>2];f[p+8>>2]=f[i+8>>2];a=pe(a|0,n|0,p|0)|0;M=_;_=0;if(M&1){a=32;break}M=f[(f[n>>2]|0)+16>>2]|0;f[y>>2]=a;_=0;le(M|0,n|0,y|0,b|0,e|0,(t[d>>0]|0)!=0|0);M=_;_=0;if(M&1){a=30;break}a=f[y>>2]|0;f[y>>2]=0;if(a)fM[f[(f[a>>2]|0)+4>>2]&255](a);if(!r)r=0;else{r=r+o|0;f[u>>2]=r;f[l>>2]=(f[l>>2]|0)-o}a=(f[m>>2]|0)==0;s=(a&1)+s|0;if(n)fM[f[(f[n>>2]|0)+4>>2]&255](n);if(!a){a=34;break}if((s|0)>=(f[v>>2]|0)){a=34;break}}if((a|0)==30){r=ze()|0;a=f[y>>2]|0;f[y>>2]=0;if(a)fM[f[(f[a>>2]|0)+4>>2]&255](a)}else if((a|0)==32){r=ze()|0;if(!n){M=r;$e(M|0)}}else if((a|0)==34){c=g;return}fM[f[(f[n>>2]|0)+4>>2]&255](n);M=r;$e(M|0)}}else r=2}while(0);n=He(16)|0;_=0;a=Me(1)|0;M=_;_=0;if(!(M&1)?(_=0,Ae(7,n|0,r|0,a|0),M=_,_=0,!(M&1)):0)bi(n|0,824,96);M=ze()|0;je(n|0);$e(M|0)}function dp(e){e=e|0;var i=0,r=0,t=0,n=0;if((_p(e)|0)<<24>>24!=-40){i=He(16)|0;_=0;r=Me(1)|0;n=_;_=0;if(!(n&1)?(_=0,Ae(7,i|0,5,r|0),n=_,_=0,!(n&1)):0)bi(i|0,824,96);n=ze()|0;je(i|0);$e(n|0)}i=_p(e)|0;if(i<<24>>24==-38)return;while(1){t=((wp(e)|0)&255)<<8;t=t|(wp(e)|0)&255;i=mp(e,i)|0;r=-2-i+t|0;if((r|0)<0)break;if((r|0)>0){i=t+-2-i|0;r=0;do{wp(e)|0;r=r+1|0}while((r|0)!=(i|0))}i=_p(e)|0;if(i<<24>>24==-38){n=8;break}}if((n|0)==8)return;i=He(16)|0;_=0;r=Me(1)|0;n=_;_=0;if(!(n&1)?(_=0,Ae(7,i|0,5,r|0),n=_,_=0,!(n&1)):0)bi(i|0,824,96);n=ze()|0;je(i|0);$e(n|0)}function bp(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;if(!i){if((wp(e)|0)<<24>>24!=-1){i=He(16)|0;_=0;r=Me(1)|0;e=_;_=0;if(!(e&1)?(_=0,Ae(7,i|0,12,r|0),e=_,_=0,!(e&1)):0)bi(i|0,824,96);e=ze()|0;je(i|0);$e(e|0)}if((wp(e)|0)<<24>>24!=-38){i=He(16)|0;_=0;r=Me(1)|0;e=_;_=0;if(!(e&1)?(_=0,Ae(7,i|0,5,r|0),e=_,_=0,!(e&1)):0)bi(i|0,824,96);e=ze()|0;je(i|0);$e(e|0)}}wp(e)|0;wp(e)|0;r=wp(e)|0;t=r&255;do{if(r<<24>>24==1){wp(e)|0;r=0;n=20}else{if((t|0)==(f[e+32>>2]|0)){i=wp(e)|0;if(!(r<<24>>24))break;else{r=0;n=20;break}}i=He(16)|0;_=0;r=Me(1)|0;e=_;_=0;if(!(e&1)?(_=0,Ae(7,i|0,2,r|0),e=_,_=0,!(e&1)):0)bi(i|0,824,96);e=ze()|0;je(i|0);$e(e|0)}}while(0);if((n|0)==20)while(1){wp(e)|0;r=r+1|0;i=wp(e)|0;if((r|0)==(t|0))break;else n=20}f[e+36>>2]=i&255;n=wp(e)|0;r=e+40|0;f[r>>2]=n&255;if((n&255)>=3){i=He(16)|0;_=0;r=Me(1)|0;e=_;_=0;if(!(e&1)?(_=0,Ae(7,i|0,5,r|0),e=_,_=0,!(e&1)):0)bi(i|0,824,96);e=ze()|0;je(i|0);$e(e|0)}if((wp(e)|0)<<24>>24){i=He(16)|0;_=0;r=Me(1)|0;e=_;_=0;if(!(e&1)?(_=0,Ae(7,i|0,5,r|0),e=_,_=0,!(e&1)):0)bi(i|0,824,96);e=ze()|0;je(i|0);$e(e|0)}t=e+28|0;if(f[t>>2]|0)return;i=f[e+108>>2]|0;if(!i)i=f[e+16>>2]|0;if(!(f[r>>2]|0))r=1;else r=f[e+32>>2]|0;n=re(r,i)|0;f[t>>2]=re(n,((f[e+24>>2]|0)+7|0)/8|0)|0;return}function kp(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0;if((r|0)<=0)return;d=i+4|0;b=i+8|0;w=0;do{k=wp(e)|0;n=f[d>>2]|0;a=f[b>>2]|0;if(n>>>0>=a>>>0){s=f[i>>2]|0;l=s;o=n-l+1|0;if((o|0)<0){xp(i);l=f[i>>2]|0;a=f[b>>2]|0;s=l}h=s;n=a-h|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?o:n;o=f[d>>2]|0;a=o-h|0;if(!n){c=0;u=0;n=o}else _=10}else{a=f[d>>2]|0;n=2147483647;o=a;a=a-h|0;_=10}if((_|0)==10){_=0;c=n;u=Bp(n)|0;n=o}t[u+a>>0]=k;h=n-h|0;k=u+(a-h)|0;Am(k|0,s|0,h|0)|0;f[i>>2]=k;f[d>>2]=u+(a+1);f[b>>2]=u+c;if(l)Ip(l)}else{t[n>>0]=k;f[d>>2]=(f[d>>2]|0)+1}w=w+1|0}while((w|0)!=(r|0));return}function wp(e){e=e|0;var i=0,r=0,n=0,s=0;r=f[e>>2]|0;if(r){e=r+12|0;i=f[e>>2]|0;if((i|0)==(f[r+16>>2]|0))e=lM[f[(f[r>>2]|0)+40>>2]&127](r)|0;else{f[e>>2]=i+1;e=a[i>>0]|0}s=e&255;return s|0}n=e+8|0;s=f[n>>2]|0;if(s){e=e+4|0;i=f[e>>2]|0;r=t[i>>0]|0;if(!i){s=r;return s|0}f[e>>2]=i+1;f[n>>2]=s+-1;s=r;return s|0}e=He(16)|0;_=0;i=Me(1)|0;s=_;_=0;if(s&1){s=ze()|0;je(e|0);$e(s|0)}_=0;Ae(7,e|0,4,i|0);s=_;_=0;if(s&1){s=ze()|0;je(e|0);$e(s|0)}else bi(e|0,824,96);return 0}function _p(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0;r=c;c=c+176|0;i=r+152|0;o=r+16|0;s=r;l=wp(e)|0;t=l&255;if(l<<24>>24==-1){do{i=wp(e)|0}while(i<<24>>24==-1);c=r;return i|0}l=o+56|0;a=o+4|0;f[o>>2]=36160;f[l>>2]=36180;_=0;ce(62,o+56|0,a|0);n=_;_=0;if(n&1){o=ze()|0;nd(l);$e(o|0)}f[o+128>>2]=0;f[o+132>>2]=-1;f[o>>2]=36200;f[o+56>>2]=36220;_=0;ue(180,a|0);n=_;_=0;do{if(n&1)i=ze()|0;else{f[a>>2]=36236;n=o+36|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[o+52>>2]=16;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;_=0;ce(63,a|0,i|0);r=_;_=0;if(r&1){o=ze()|0;Oh(i);Oh(n);cd(a);i=o;break}Oh(i);f[o+((f[(f[o>>2]|0)+-12>>2]|0)+76)>>2]=48;_=0;i=ke(28,o|0,50907,62)|0;r=_;_=0;if(!(r&1)?(r=i+((f[(f[i>>2]|0)+-12>>2]|0)+4)|0,f[r>>2]=f[r>>2]&-75|8,r=i+((f[(f[i>>2]|0)+-12>>2]|0)+4)|0,f[r>>2]=f[r>>2]|16384,f[i+((f[(f[i>>2]|0)+-12>>2]|0)+12)>>2]=2,_=0,pe(38,i|0,t|0)|0,t=_,_=0,!(t&1)):0){r=He(16)|0;_=0;ce(64,s|0,a|0);t=_;_=0;if(!(t&1)){_=0;i=Me(1)|0;t=_;_=0;if(!(t&1)?(_=0,Re(36,r|0,12,i|0,s|0),t=_,_=0,!(t&1)):0){_=0;Ae(6,r|0,824,96);_=0;e=0}else e=1;i=ze()|0;Oh(s);if(!e){s=i;f[o>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(n);cd(a);nd(l);$e(s|0)}}else i=ze()|0;je(r|0);s=i;f[o>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(n);cd(a);nd(l);$e(s|0)}s=ze()|0;f[o>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Oh(n);cd(a);nd(l);$e(s|0)}}while(0);o=i;nd(l);$e(o|0);return 0}function mp(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0;r=c;c=c+320|0;l=r+300|0;h=r+152|0;o=r+288|0;d=r+16|0;u=r;switch(i<<24>>24){case-9:{f[e+24>>2]=(wp(e)|0)&255;b=((wp(e)|0)&255)<<8|(wp(e)|0)&255;f[e+16>>2]=((wp(e)|0)&255)<<8|(wp(e)|0)&255;f[e+20>>2]=b;f[e+32>>2]=(wp(e)|0)&255;b=6;c=r;return b|0}case-8:{b=vp(e)|0;c=r;return b|0}case-24:{b=pp(e)|0;c=r;return b|0}case-53:case-54:case-55:case-57:case-58:case-59:case-61:case-62:case-63:case-64:{s=h+56|0;n=h+4|0;f[h>>2]=36160;f[s>>2]=36180;_=0;ce(62,h+56|0,n|0);d=_;_=0;if(d&1){b=ze()|0;nd(s);$e(b|0)}f[h+128>>2]=0;f[h+132>>2]=-1;f[h>>2]=36200;f[h+56>>2]=36220;_=0;ue(180,n|0);d=_;_=0;do{if(d&1)e=ze()|0;else{f[n>>2]=36236;a=h+36|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[h+52>>2]=16;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;_=0;ce(63,n|0,l|0);d=_;_=0;if(d&1){e=ze()|0;Oh(l);Oh(a);cd(n);break}Oh(l);_=0;e=ke(28,h|0,50970,26)|0;d=_;_=0;do{if((!(d&1)?(_=0,t=pe(38,e|0,i&255|0)|0,d=_,_=0,!(d&1)):0)?(_=0,ke(28,t|0,50997,18)|0,d=_,_=0,!(d&1)):0){t=He(16)|0;_=0;ce(64,o|0,n|0);d=_;_=0;if(!(d&1)){_=0;e=Me(1)|0;d=_;_=0;if(!(d&1)?(_=0,Re(36,t|0,10,e|0,o|0),d=_,_=0,!(d&1)):0){_=0;Ae(6,t|0,824,96);_=0;r=0}else r=1;e=ze()|0;Oh(o);if(!r)break}else e=ze()|0;je(t|0)}else b=20}while(0);if((b|0)==20)e=ze()|0;f[h>>2]=36200;f[s>>2]=36220;f[n>>2]=36236;Oh(a);cd(n);nd(s);b=e;$e(b|0)}}while(0);b=e;nd(s);$e(b|0)}case-25:case-32:case-2:{b=0;c=r;return b|0}default:{o=d+56|0;a=d+4|0;f[d>>2]=36160;f[o>>2]=36180;_=0;ce(62,d+56|0,a|0);h=_;_=0;if(h&1){b=ze()|0;nd(o);$e(b|0)}f[d+128>>2]=0;f[d+132>>2]=-1;f[d>>2]=36200;f[d+56>>2]=36220;_=0;ue(180,a|0);h=_;_=0;do{if(h&1)e=ze()|0;else{f[a>>2]=36236;s=d+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[d+52>>2]=16;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;_=0;ce(63,a|0,l|0);h=_;_=0;if(h&1){e=ze()|0;Oh(l);Oh(s);cd(a);break}Oh(l);_=0;e=ke(28,d|0,51016,20)|0;h=_;_=0;do{if((!(h&1)?(_=0,n=pe(38,e|0,i&255|0)|0,h=_,_=0,!(h&1)):0)?(_=0,ke(28,n|0,51037,13)|0,h=_,_=0,!(h&1)):0){t=He(16)|0;_=0;ce(64,u|0,a|0);h=_;_=0;if(!(h&1)){_=0;e=Me(1)|0;h=_;_=0;if(!(h&1)?(_=0,Re(36,t|0,11,e|0,u|0),h=_,_=0,!(h&1)):0){_=0;Ae(6,t|0,824,96);_=0;r=0}else r=1;e=ze()|0;Oh(u);if(!r)break}else e=ze()|0;je(t|0)}else b=40}while(0);if((b|0)==40)e=ze()|0;f[d>>2]=36200;f[o>>2]=36220;f[a>>2]=36236;Oh(s);cd(a);nd(o);b=e;$e(b|0)}}while(0);b=e;nd(o);$e(b|0)}}return 0}function vp(e){e=e|0;var i=0;if((wp(e)|0)<<24>>24!=1){e=1;return e|0}i=((wp(e)|0)&255)<<8;f[e+52>>2]=i|(wp(e)|0)&255;i=((wp(e)|0)&255)<<8;f[e+56>>2]=i|(wp(e)|0)&255;i=((wp(e)|0)&255)<<8;f[e+60>>2]=i|(wp(e)|0)&255;i=((wp(e)|0)&255)<<8;f[e+64>>2]=i|(wp(e)|0)&255;i=((wp(e)|0)&255)<<8;f[e+68>>2]=i|(wp(e)|0)&255;e=11;return e|0}function pp(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0;r=c;c=c+16|0;n=r;f[n>>2]=0;a=n+4|0;f[a>>2]=0;f[n+8>>2]=0;_=0;Ae(9,e|0,n|0,4);i=_;_=0;e:do{if(i&1)t=3;else{i=f[n>>2]|0;i:do{if(!(Gy(i,51051,4)|0)){_=0;i=de(69,e|0)|0;s=_;_=0;if(s&1){t=3;break e}i=i&255;switch(i|0){case 3:case 2:case 1:case 0:{f[e+44>>2]=i;e=5;i=f[n>>2]|0;break i}case 5:case 4:{i=He(16)|0;_=0;e=Me(1)|0;s=_;_=0;if(!(s&1)?(_=0,Ae(7,i|0,7,e|0),s=_,_=0,!(s&1)):0){_=0;Ae(6,i|0,824,96);_=0;t=3;break e}e=ze()|0;je(i|0);break e}default:{i=He(16)|0;_=0;e=Me(1)|0;s=_;_=0;if(!(s&1)?(_=0,Ae(7,i|0,5,e|0),s=_,_=0,!(s&1)):0){_=0;Ae(6,i|0,824,96);_=0;t=3;break e}e=ze()|0;je(i|0);break e}}}else e=4}while(0);if(!i){c=r;return e|0}if((f[a>>2]|0)!=(i|0))f[a>>2]=i;Ip(i);c=r;return e|0}}while(0);if((t|0)==3)e=ze()|0;i=f[n>>2]|0;if(!i)$e(e|0);if((f[a>>2]|0)!=(i|0))f[a>>2]=i;Ip(i);$e(e|0);return 0}function gp(e){e=e|0;var i=0,r=0,t=0;t=f[(f[e>>2]|0)+-12>>2]|0;f[e+t>>2]=36200;i=e+(t+56)|0;f[i>>2]=36220;r=e+(t+4)|0;f[r>>2]=36236;Oh(e+(t+36)|0);cd(r);nd(i);return}function yp(e){e=e|0;return}function Mp(e){e=e|0;Ip(e);return}function Ep(e){e=e|0;t[e>>0]=0;e=e+4|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[e+28>>2]=0;return}function Ap(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0;n=c;c=c+16|0;a=n;i=ip(i)|0;f[a>>2]=i;r=e+28|0;t=f[r>>2]|0;if(t>>>0<(f[e+32>>2]|0)>>>0){f[t>>2]=i;f[r>>2]=t+4;f[a>>2]=0;c=n;return}_=0;ce(57,e+24|0,a|0);e=_;_=0;if(e&1){i=ze()|0;r=f[a>>2]|0;f[a>>2]=0;if(!r)$e(i|0);fM[f[(f[r>>2]|0)+4>>2]&255](r);$e(i|0)}else{i=f[a>>2]|0;f[a>>2]=0;if(!i){c=n;return}fM[f[(f[i>>2]|0)+4>>2]&255](i);c=n;return}}function Sp(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0;t=e+4|0;f[t>>2]=f[i>>2];f[t+4>>2]=f[i+4>>2];f[t+8>>2]=f[i+8>>2];lp(e,-1);lp(e,-40);t=e+28|0;n=e+24|0;i=f[n>>2]|0;if((f[t>>2]|0)==(i|0)){lp(e,-1);lp(e,-39);e=e+16|0;e=f[e>>2]|0;return e|0}else r=0;do{a=f[i+(r<<2)>>2]|0;aM[f[(f[a>>2]|0)+8>>2]&127](a,e);r=r+1|0;i=f[n>>2]|0}while(r>>>0<(f[t>>2]|0)-i>>2>>>0);lp(e,-1);lp(e,-39);a=e+16|0;a=f[a>>2]|0;return a|0}function Tp(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0;d=c;c=c+48|0;l=d+32|0;n=d+12|0;o=d+8|0;h=d+4|0;b=d;t=r+36|0;do{if(((((f[t>>2]|0)==0?(f[r+40>>2]|0)==0:0)?(f[r+44>>2]|0)==0:0)?(f[r+48>>2]|0)==0:0)?(f[r+52>>2]|0)==0:0){t=f[r+8>>2]|0;if((t|0)<=12){a=e+28|0;s=e+32|0;break}op(n,(1<>2]|0);t=ep(n)|0;f[o>>2]=t;a=e+28|0;n=f[a>>2]|0;s=e+32|0;if(n>>>0<(f[s>>2]|0)>>>0){f[n>>2]=t;f[a>>2]=n+4;f[o>>2]=0;break}_=0;ce(57,e+24|0,o|0);l=_;_=0;if(!(l&1)){t=f[o>>2]|0;f[o>>2]=0;if(!t)break;fM[f[(f[t>>2]|0)+4>>2]&255](t);break}r=ze()|0;t=f[o>>2]|0;f[o>>2]=0;if(!t){b=r;$e(b|0)}fM[f[(f[t>>2]|0)+4>>2]&255](t);b=r;$e(b|0)}else u=6}while(0);do{if((u|0)==6){t=ep(t)|0;f[l>>2]=t;a=e+28|0;n=f[a>>2]|0;s=e+32|0;if(n>>>0<(f[s>>2]|0)>>>0){f[n>>2]=t;f[a>>2]=n+4;f[l>>2]=0;break}_=0;ce(57,e+24|0,l|0);u=_;_=0;if(!(u&1)){t=f[l>>2]|0;f[l>>2]=0;if(!t)break;fM[f[(f[t>>2]|0)+4>>2]&255](t);break}r=ze()|0;t=f[l>>2]|0;f[l>>2]=0;if(!t){b=r;$e(b|0)}fM[f[(f[t>>2]|0)+4>>2]&255](t);b=r;$e(b|0)}}while(0);t=e+20|0;n=(f[t>>2]|0)+1|0;f[t>>2]=n;t=f[r+24>>2]|0;l=(t|0)==0?1:f[r+16>>2]|0;t=rp(n,l,f[r+20>>2]|0,t)|0;f[h>>2]=t;n=f[a>>2]|0;do{if(n>>>0<(f[s>>2]|0)>>>0){f[n>>2]=t;f[a>>2]=n+4;f[h>>2]=0}else{_=0;ce(57,e+24|0,h|0);u=_;_=0;if(!(u&1)){t=f[h>>2]|0;f[h>>2]=0;if(!t)break;fM[f[(f[t>>2]|0)+4>>2]&255](t);break}r=ze()|0;t=f[h>>2]|0;f[h>>2]=0;if(!t){b=r;$e(b|0)}fM[f[(f[t>>2]|0)+4>>2]&255](t);b=r;$e(b|0)}}while(0);o=Bp(104)|0;f[o>>2]=36820;f[o+4>>2]=l;n=o+8|0;f[n>>2]=f[i>>2];f[n+4>>2]=f[i+4>>2];f[n+8>>2]=f[i+8>>2];n=o+20|0;t=n+84|0;do{f[n>>2]=f[r>>2];n=n+4|0;r=r+4|0}while((n|0)<(t|0));f[b>>2]=o;r=f[a>>2]|0;if(r>>>0<(f[s>>2]|0)>>>0){f[r>>2]=o;f[a>>2]=r+4;f[b>>2]=0;c=d;return}_=0;ce(57,e+24|0,b|0);e=_;_=0;if(e&1){r=ze()|0;t=f[b>>2]|0;f[b>>2]=0;if(!t){b=r;$e(b|0)}fM[f[(f[t>>2]|0)+4>>2]&255](t);b=r;$e(b|0)}else{r=f[b>>2]|0;f[b>>2]=0;if(!r){c=d;return}fM[f[(f[r>>2]|0)+4>>2]&255](r);c=d;return}}function Cp(e,i,r,n,a,s,l,o,u,h,d){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;d=d|0;var b=0,k=0,w=0,_=0,m=0,v=0,p=0;w=c;c=c+96|0;k=w;b=zi(e,i,k,0)|0;if(b){a=b;c=w;return a|0}t[k+32>>0]=0;m=f[k+8>>2]|0;p=f[k>>2]|0;v=f[k+4>>2]|0;b=re(v,p)|0;_=f[k+16>>2]|0;b=re(re(b,(m|0)<9?1:2)|0,_)|0;f[n>>2]=b;b=Lc(b)|0;f[r>>2]=b;f[a>>2]=p;f[s>>2]=v;f[l>>2]=m;f[o>>2]=f[k+12>>2];f[u>>2]=_;f[h>>2]=f[k+20>>2];f[d>>2]=f[k+24>>2];a=Yi(b,f[n>>2]|0,e,i,0,0)|0;c=w;return a|0}function Rp(e,i,r,t,n,a,s,l,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,h=0,d=0,b=0;d=c;c=c+96|0;u=d+4|0;s=d;h=u;b=h+84|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(b|0));f[u+16>>2]=a;f[u+8>>2]=n;f[u>>2]=r;f[u+4>>2]=t;f[l>>2]=Lc(i)|0;f[s>>2]=0;r=Hi(l,i,s,e,i,u,0)|0;f[o>>2]=f[s>>2];c=d;return r|0}function Lp(e,i){e=e|0;i=i|0;var r=0;r=c;c=c+16|0;f[r>>2]=i;i=f[9320]|0;Iy(i,e,r)|0;Ty(10,i)|0;Ie()}function Pp(e){e=e|0;Ue(51337,51366,1164,51442)}function xp(e){e=e|0;Ue(51463,51486,303,51442)}function Op(){var e=0,i=0;e=c;c=c+16|0;if(!(ai(37024,4)|0)){i=ri(f[9255]|0)|0;c=e;return i|0}else Lp(51562,e);return 0}function Bp(e){e=e|0;var i=0;i=(e|0)==0?1:e;e=Lc(i)|0;e:do{if(!e){while(1){e=Yp()|0;if(!e)break;gM[e&7]();e=Lc(i)|0;if(e)break e}i=He(4)|0;f[i>>2]=36844;bi(i|0,592,78)}}while(0);return e|0}function Ip(e){e=e|0;Pc(e);return}function Dp(e){e=e|0;Ip(e);return}function Np(e){e=e|0;f[e>>2]=36844;return}function Fp(e){e=e|0;return}function Up(e){e=e|0;Ip(e);return}function jp(e){e=e|0;return 51611}function Hp(e){e=e|0;var i=0;i=c;c=c+16|0;_=0;Se(e|0);e=_;_=0;if(!(e&1)){_=0;ce(85,51626,i|0);_=0}e=ze(0)|0;Ze(e|0)|0;_=0;ce(85,51666,i+8|0);_=0;e=ze(0)|0;_=0;Se(3);i=_;_=0;if(i&1){i=ze(0)|0;Fi(i)}else Fi(e)}function zp(){var e=0,i=0,r=0;_=0;e=Me(2)|0;r=_;_=0;if(r&1){r=ze(0)|0;Fi(r)}if(((e|0)!=0?(i=f[e>>2]|0,(i|0)!=0):0)?(r=i+48|0,(f[r>>2]&-256|0)==1126902528?(f[r+4>>2]|0)==1129074247:0):0)Hp(f[i+12>>2]|0);r=f[9208]|0;f[9208]=r+0;Hp(r)}function Yp(){var e=0;e=f[9214]|0;f[9214]=e+0;return e|0}function qp(e){e=e|0;return}function Xp(e){e=e|0;f[e>>2]=36868;Sg(e+4|0);return}function Vp(e){e=e|0;Xp(e);Ip(e);return}function Gp(e){e=e|0;return f[e+4>>2]|0}function Kp(e){e=e|0;return}function Wp(e){e=e|0;f[e>>2]=36888;return}function Zp(e){e=e|0;return}function Jp(e){e=e|0;Ip(e);return}function Qp(e){e=e|0;return 51716}function $p(e){e=e|0;return}function eg(e){e=e|0;return}function ig(e){e=e|0;return}function rg(e){e=e|0;Ip(e);return}function tg(e){e=e|0;Ip(e);return}function ng(e){e=e|0;Ip(e);return}function fg(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0;s=c;c=c+64|0;a=s;if((e|0)!=(i|0))if((i|0)!=0?(n=cg(i,656,672,0)|0,(n|0)!=0):0){i=a;t=i+56|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(t|0));f[a>>2]=n;f[a+8>>2]=e;f[a+12>>2]=-1;f[a+48>>2]=1;EM[f[(f[n>>2]|0)+28>>2]&63](n,a,f[r>>2]|0,1);if((f[a+24>>2]|0)==1){f[r>>2]=f[a+16>>2];i=1}else i=0}else i=0;else i=1;c=s;return i|0}function ag(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0;e=i+16|0;a=f[e>>2]|0;do{if(a){if((a|0)!=(r|0)){n=i+36|0;f[n>>2]=(f[n>>2]|0)+1;f[i+24>>2]=2;t[i+54>>0]=1;break}e=i+24|0;if((f[e>>2]|0)==2)f[e>>2]=n}else{f[e>>2]=r;f[i+24>>2]=n;f[i+36>>2]=1}}while(0);return}function sg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if((e|0)==(f[i+8>>2]|0))ag(0,i,r,t);return}function lg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if((e|0)==(f[i+8>>2]|0))ag(0,i,r,t);else{e=f[e+8>>2]|0;EM[f[(f[e>>2]|0)+28>>2]&63](e,i,r,t)}return}function og(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;a=f[e+4>>2]|0;n=a>>8;if(a&1)n=f[(f[r>>2]|0)+n>>2]|0;e=f[e>>2]|0;EM[f[(f[e>>2]|0)+28>>2]&63](e,i,r+n|0,(a&2|0)!=0?t:2);return}function ug(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0;e:do{if((e|0)!=(f[i+8>>2]|0)){s=f[e+12>>2]|0;a=e+16+(s<<3)|0;og(e+16|0,i,r,n);if((s|0)>1){s=i+54|0;e=e+24|0;do{og(e,i,r,n);if(t[s>>0]|0)break e;e=e+8|0}while(e>>>0>>0)}}else ag(0,i,r,n)}while(0);return}function cg(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0;_=c;c=c+64|0;w=_;k=f[e>>2]|0;b=e+(f[k+-8>>2]|0)|0;k=f[k+-4>>2]|0;f[w>>2]=r;f[w+4>>2]=e;f[w+8>>2]=i;f[w+12>>2]=a;a=w+16|0;e=w+20|0;i=w+24|0;s=w+28|0;l=w+32|0;o=w+40|0;u=(k|0)==(r|0);h=a;d=h+36|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(d|0));n[a+36>>1]=0;t[a+38>>0]=0;e:do{if(u){f[w+48>>2]=1;hM[f[(f[r>>2]|0)+20>>2]&15](r,w,b,b,1,0);a=(f[i>>2]|0)==1?b:0}else{tM[f[(f[k>>2]|0)+24>>2]&15](k,w,b,1,0);switch(f[w+36>>2]|0){case 0:{a=(f[o>>2]|0)==1&(f[s>>2]|0)==1&(f[l>>2]|0)==1?f[e>>2]|0:0;break e}case 1:break;default:{a=0;break e}}if((f[i>>2]|0)!=1?!((f[o>>2]|0)==0&(f[s>>2]|0)==1&(f[l>>2]|0)==1):0){a=0;break}a=f[a>>2]|0}}while(0);c=_;return a|0}function hg(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;t[i+53>>0]=1;do{if((f[i+4>>2]|0)==(n|0)){t[i+52>>0]=1;n=i+16|0;e=f[n>>2]|0;if(!e){f[n>>2]=r;f[i+24>>2]=a;f[i+36>>2]=1;if(!((a|0)==1?(f[i+48>>2]|0)==1:0))break;t[i+54>>0]=1;break}if((e|0)!=(r|0)){a=i+36|0;f[a>>2]=(f[a>>2]|0)+1;t[i+54>>0]=1;break}e=i+24|0;n=f[e>>2]|0;if((n|0)==2){f[e>>2]=a;n=a}if((n|0)==1?(f[i+48>>2]|0)==1:0)t[i+54>>0]=1}}while(0);return}function dg(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0;e:do{if((e|0)==(f[i+8>>2]|0)){if((f[i+4>>2]|0)==(r|0)?(s=i+28|0,(f[s>>2]|0)!=1):0)f[s>>2]=n}else{if((e|0)!=(f[i>>2]|0)){w=f[e+12>>2]|0;o=e+16+(w<<3)|0;kg(e+16|0,i,r,n,a);s=e+24|0;if((w|0)<=1)break;l=f[e+8>>2]|0;if((l&2|0)==0?(u=i+36|0,(f[u>>2]|0)!=1):0){if(!(l&1)){l=i+54|0;while(1){if(t[l>>0]|0)break e;if((f[u>>2]|0)==1)break e;kg(s,i,r,n,a);s=s+8|0;if(s>>>0>=o>>>0)break e}}l=i+24|0;e=i+54|0;while(1){if(t[e>>0]|0)break e;if((f[u>>2]|0)==1?(f[l>>2]|0)==1:0)break e;kg(s,i,r,n,a);s=s+8|0;if(s>>>0>=o>>>0)break e}}l=i+54|0;while(1){if(t[l>>0]|0)break e;kg(s,i,r,n,a);s=s+8|0;if(s>>>0>=o>>>0)break e}}if((f[i+16>>2]|0)!=(r|0)?(k=i+20|0,(f[k>>2]|0)!=(r|0)):0){f[i+32>>2]=n;h=i+44|0;if((f[h>>2]|0)==4)break;l=f[e+12>>2]|0;o=e+16+(l<<3)|0;u=i+52|0;n=i+53|0;d=i+54|0;c=e+8|0;b=i+24|0;i:do{if((l|0)>0){l=0;s=0;e=e+16|0;while(1){t[u>>0]=0;t[n>>0]=0;bg(e,i,r,r,1,a);if(t[d>>0]|0){w=20;break i}do{if(t[n>>0]|0){if(!(t[u>>0]|0))if(!(f[c>>2]&1)){s=1;w=20;break i}else{s=1;break}if((f[b>>2]|0)==1)break i;if(!(f[c>>2]&2))break i;else{l=1;s=1}}}while(0);e=e+8|0;if(e>>>0>=o>>>0){w=20;break}}}else{l=0;s=0;w=20}}while(0);do{if((w|0)==20){if((!l?(f[k>>2]=r,r=i+40|0,f[r>>2]=(f[r>>2]|0)+1,(f[i+36>>2]|0)==1):0)?(f[b>>2]|0)==2:0){t[d>>0]=1;if(s)break}else w=24;if((w|0)==24?s:0)break;f[h>>2]=4;break e}}while(0);f[h>>2]=3;break}if((n|0)==1)f[i+32>>2]=1}}while(0);return}function bg(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;l=f[e+4>>2]|0;s=l>>8;if(l&1)s=f[(f[t>>2]|0)+s>>2]|0;e=f[e>>2]|0;hM[f[(f[e>>2]|0)+20>>2]&15](e,i,r,t+s|0,(l&2|0)!=0?n:2,a);return}function kg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0;s=f[e+4>>2]|0;a=s>>8;if(s&1)a=f[(f[r>>2]|0)+a>>2]|0;e=f[e>>2]|0;tM[f[(f[e>>2]|0)+24>>2]&15](e,i,r+a|0,(s&2|0)!=0?t:2,n);return}function wg(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0;e:do{if((e|0)==(f[i+8>>2]|0)){if((f[i+4>>2]|0)==(r|0)?(s=i+28|0,(f[s>>2]|0)!=1):0)f[s>>2]=n}else{if((e|0)!=(f[i>>2]|0)){o=f[e+8>>2]|0;tM[f[(f[o>>2]|0)+24>>2]&15](o,i,r,n,a);break}if((f[i+16>>2]|0)!=(r|0)?(l=i+20|0,(f[l>>2]|0)!=(r|0)):0){f[i+32>>2]=n;n=i+44|0;if((f[n>>2]|0)==4)break;s=i+52|0;t[s>>0]=0;u=i+53|0;t[u>>0]=0;e=f[e+8>>2]|0;hM[f[(f[e>>2]|0)+20>>2]&15](e,i,r,r,1,a);if(t[u>>0]|0){if(!(t[s>>0]|0)){s=1;o=13}}else{s=0;o=13}do{if((o|0)==13){f[l>>2]=r;u=i+40|0;f[u>>2]=(f[u>>2]|0)+1;if((f[i+36>>2]|0)==1?(f[i+24>>2]|0)==2:0){t[i+54>>0]=1;if(s)break}else o=16;if((o|0)==16?s:0)break;f[n>>2]=4;break e}}while(0);f[n>>2]=3;break}if((n|0)==1)f[i+32>>2]=1}}while(0);return}function _g(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;do{if((e|0)==(f[i+8>>2]|0)){if((f[i+4>>2]|0)==(r|0)?(l=i+28|0,(f[l>>2]|0)!=1):0)f[l>>2]=n}else if((e|0)==(f[i>>2]|0)){if((f[i+16>>2]|0)!=(r|0)?(s=i+20|0,(f[s>>2]|0)!=(r|0)):0){f[i+32>>2]=n;f[s>>2]=r;a=i+40|0;f[a>>2]=(f[a>>2]|0)+1;if((f[i+36>>2]|0)==1?(f[i+24>>2]|0)==2:0)t[i+54>>0]=1;f[i+44>>2]=4;break}if((n|0)==1)f[i+32>>2]=1}}while(0);return}function mg(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0;if((e|0)==(f[i+8>>2]|0))hg(0,i,r,n,a);else{h=i+52|0;d=t[h>>0]|0;b=i+53|0;k=t[b>>0]|0;c=f[e+12>>2]|0;l=e+16+(c<<3)|0;t[h>>0]=0;t[b>>0]=0;bg(e+16|0,i,r,n,a,s);e:do{if((c|0)>1){o=i+24|0;u=e+8|0;c=i+54|0;e=e+24|0;do{if(t[c>>0]|0)break e;if(!(t[h>>0]|0)){if((t[b>>0]|0)!=0?(f[u>>2]&1|0)==0:0)break e}else{if((f[o>>2]|0)==1)break e;if(!(f[u>>2]&2))break e}t[h>>0]=0;t[b>>0]=0;bg(e,i,r,n,a,s);e=e+8|0}while(e>>>0>>0)}}while(0);t[h>>0]=d;t[b>>0]=k}return}function vg(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;if((e|0)==(f[i+8>>2]|0))hg(0,i,r,t,n);else{e=f[e+8>>2]|0;hM[f[(f[e>>2]|0)+20>>2]&15](e,i,r,t,n,a)}return}function pg(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;if((e|0)==(f[i+8>>2]|0))hg(0,i,r,t,n);return}function gg(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=c;c=c+16|0;t=n;f[t>>2]=f[r>>2];e=uM[f[(f[e>>2]|0)+16>>2]&63](e,i,t)|0;if(e)f[r>>2]=f[t>>2];c=n;return e&1|0}function yg(e){e=e|0;if(!e)e=0;else e=(cg(e,656,704,0)|0)!=0;return e&1|0}function Mg(){var e=0;e=He(4)|0;Np(e);bi(e|0,592,78)}function Eg(){var e=0,i=0,r=0,t=0,n=0,a=0,s=0,l=0;n=c;c=c+48|0;s=n+32|0;r=n+24|0;l=n+16|0;a=n;n=n+36|0;e=Op()|0;if((e|0)!=0?(t=f[e>>2]|0,(t|0)!=0):0){e=t+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;if(!((i&-256|0)==1126902528&(e|0)==1129074247)){f[r>>2]=f[9257];Lp(51919,r)}if((i|0)==1126902529&(e|0)==1129074247)e=f[t+44>>2]|0;else e=t+80|0;f[n>>2]=e;t=f[t>>2]|0;e=f[t+4>>2]|0;if(uM[f[(f[608>>2]|0)+16>>2]&63](608,t,n)|0){l=f[n>>2]|0;n=f[9257]|0;l=lM[f[(f[l>>2]|0)+8>>2]&127](l)|0;f[a>>2]=n;f[a+4>>2]=e;f[a+8>>2]=l;Lp(51833,a)}else{f[l>>2]=f[9257];f[l+4>>2]=e;Lp(51878,l)}}Lp(51957,s)}function Ag(){var e=0;e=c;c=c+16|0;if(!(Be(37020,184)|0)){c=e;return}else Lp(51730,e)}function Sg(e){e=e|0;var i=0,r=0;r=(f[e>>2]|0)+-4|0;i=f[r>>2]|0;f[r>>2]=i+-1;if((i+-1|0)<0)Ip((f[e>>2]|0)+-12|0);return}function Tg(e){e=e|0;var i=0;i=c;c=c+16|0;Pc(e);if(!(hi(f[9255]|0,0)|0)){c=i;return}else Lp(51780,i)}function Cg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=jy(e,i,r)|0;return e|0}function Rg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=Hy(e,i,r)|0;return e|0}function Lg(){return 37296}function Pg(){return 37300}function xg(){return 37304}function Og(e){e=e|0;return((e|0)==32|(e+-9|0)>>>0<5)&1|0}function Bg(e){e=e|0;if((e+-48|0)>>>0<10)e=1;else e=((e|32)+-97|0)>>>0<6;return e&1|0}function Ig(){var e=0;if(!(f[9258]|0))e=37308;else e=f[(ni()|0)+60>>2]|0;return e|0}function Dg(e){e=e|0;var i=0,r=0;i=0;while(1){if((a[51978+i>>0]|0)==(e|0)){r=2;break}i=i+1|0;if((i|0)==87){i=87;e=52066;r=5;break}}if((r|0)==2)if(!i)e=52066;else{e=52066;r=5}if((r|0)==5)while(1){r=e;while(1){e=r+1|0;if(!(t[r>>0]|0))break;else r=e}i=i+-1|0;if(!i)break;else r=5}return e|0}function Ng(e,i,r){e=e|0;i=i|0;r=r|0;var n=0.0,s=0,l=0.0,o=0,u=0,h=0.0,d=0,b=0,k=0,w=0.0,_=0.0,m=0,v=0,p=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,O=0,B=0,I=0,D=0,N=0,F=0.0;N=c;c=c+512|0;O=N;switch(i|0){case 0:{D=24;I=-149;S=4;break}case 1:{D=53;I=-1074;S=4;break}case 2:{D=53;I=-1074;S=4;break}default:n=0.0}e:do{if((S|0)==4){R=e+4|0;C=e+100|0;do{i=f[R>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[R>>2]=i+1;i=a[i>>0]|0}else i=jg(e)|0}while((Og(i)|0)!=0);i:do{switch(i|0){case 43:case 45:{s=1-(((i|0)==45&1)<<1)|0;i=f[R>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[R>>2]=i+1;i=a[i>>0]|0;B=s;break i}else{i=jg(e)|0;B=s;break i}}default:B=1}}while(0);s=i;i=0;do{if((s|32|0)!=(t[53870+i>>0]|0))break;do{if(i>>>0<7){s=f[R>>2]|0;if(s>>>0<(f[C>>2]|0)>>>0){f[R>>2]=s+1;s=a[s>>0]|0;break}else{s=jg(e)|0;break}}}while(0);i=i+1|0}while(i>>>0<8);i:do{switch(i|0){case 8:break;case 3:{S=23;break}default:{o=(r|0)!=0;if(o&i>>>0>3)if((i|0)==8)break i;else{S=23;break i}r:do{if(!i){i=0;do{if((s|32|0)!=(t[56747+i>>0]|0))break r;do{if(i>>>0<2){s=f[R>>2]|0;if(s>>>0<(f[C>>2]|0)>>>0){f[R>>2]=s+1;s=a[s>>0]|0;break}else{s=jg(e)|0;break}}}while(0);i=i+1|0}while(i>>>0<3)}}while(0);switch(i|0){case 3:{i=f[R>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[R>>2]=i+1;i=a[i>>0]|0}else i=jg(e)|0;if((i|0)==40)i=1;else{if(!(f[C>>2]|0)){n=g;break e}f[R>>2]=(f[R>>2]|0)+-1;n=g;break e}while(1){s=f[R>>2]|0;if(s>>>0<(f[C>>2]|0)>>>0){f[R>>2]=s+1;s=a[s>>0]|0}else s=jg(e)|0;if(!((s+-48|0)>>>0<10|(s+-65|0)>>>0<26)?!((s|0)==95|(s+-97|0)>>>0<26):0)break;i=i+1|0}if((s|0)==41){n=g;break e}s=(f[C>>2]|0)==0;if(!s)f[R>>2]=(f[R>>2]|0)+-1;if(!o){f[(Ig()|0)>>2]=22;Ug(e,0);n=0.0;break e}if(!i){n=g;break e}while(1){i=i+-1|0;if(!s)f[R>>2]=(f[R>>2]|0)+-1;if(!i){n=g;break e}}}case 0:{do{if((s|0)==48){i=f[R>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[R>>2]=i+1;i=a[i>>0]|0}else i=jg(e)|0;if((i|32|0)!=120){if(!(f[C>>2]|0)){i=48;break}f[R>>2]=(f[R>>2]|0)+-1;i=48;break}i=f[R>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[R>>2]=i+1;i=a[i>>0]|0;o=0}else{i=jg(e)|0;o=0}r:while(1){switch(i|0){case 46:{S=74;break r}case 48:break;default:{E=0;u=0;M=0;s=0;d=o;b=0;p=0;h=1.0;o=0;n=0.0;break r}}i=f[R>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[R>>2]=i+1;i=a[i>>0]|0;o=1;continue}else{i=jg(e)|0;o=1;continue}}if((S|0)==74){i=f[R>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[R>>2]=i+1;i=a[i>>0]|0}else i=jg(e)|0;if((i|0)==48){o=0;s=0;do{i=f[R>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[R>>2]=i+1;i=a[i>>0]|0}else i=jg(e)|0;o=Mm(o|0,s|0,-1,-1)|0;s=x}while((i|0)==48);E=0;u=0;M=o;d=1;b=1;p=0;h=1.0;o=0;n=0.0}else{E=0;u=0;M=0;s=0;d=o;b=1;p=0;h=1.0;o=0;n=0.0}}while(1){m=i+-48|0;k=i|32;if(m>>>0>=10){v=(i|0)==46;if(!(v|(k+-97|0)>>>0<6)){k=M;m=E;break}if(v)if(!b){v=u;s=E;m=E;b=1;k=p;l=h}else{k=M;m=E;i=46;break}else S=86}else S=86;if((S|0)==86){S=0;i=(i|0)>57?k+-87|0:m;do{if(!((E|0)<0|(E|0)==0&u>>>0<8)){if((E|0)<0|(E|0)==0&u>>>0<14){_=h*.0625;k=p;l=_;n=n+_*+(i|0);break}if((p|0)!=0|(i|0)==0){k=p;l=h}else{k=1;l=h;n=n+h*.5}}else{k=p;l=h;o=i+(o<<4)|0}}while(0);u=Mm(u|0,E|0,1,0)|0;v=M;m=x;d=1}i=f[R>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[R>>2]=i+1;E=m;M=v;i=a[i>>0]|0;p=k;h=l;continue}else{E=m;M=v;i=jg(e)|0;p=k;h=l;continue}}if(!d){i=(f[C>>2]|0)==0;if(!i)f[R>>2]=(f[R>>2]|0)+-1;if(r){if(!i?(A=f[R>>2]|0,f[R>>2]=A+-1,(b|0)!=0):0)f[R>>2]=A+-2}else Ug(e,0);n=+(B|0)*0.0;break e}d=(b|0)==0;b=d?u:k;d=d?m:s;if((m|0)<0|(m|0)==0&u>>>0<8){s=m;do{o=o<<4;u=Mm(u|0,s|0,1,0)|0;s=x}while((s|0)<0|(s|0)==0&u>>>0<8)}if((i|32|0)==112){s=Qy(e,r)|0;i=x;if((s|0)==0&(i|0)==-2147483648){if(!r){Ug(e,0);n=0.0;break e}if(!(f[C>>2]|0)){s=0;i=0}else{f[R>>2]=(f[R>>2]|0)+-1;s=0;i=0}}}else if(!(f[C>>2]|0)){s=0;i=0}else{f[R>>2]=(f[R>>2]|0)+-1;s=0;i=0}O=Sm(b|0,d|0,2)|0;O=Mm(O|0,x|0,-32,-1)|0;i=Mm(O|0,x|0,s|0,i|0)|0;s=x;if(!o){n=+(B|0)*0.0;break e}if((s|0)>0|(s|0)==0&i>>>0>(0-I|0)>>>0){f[(Ig()|0)>>2]=34;n=+(B|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break e}O=I+-106|0;P=((O|0)<0)<<31>>31;if((s|0)<(P|0)|(s|0)==(P|0)&i>>>0>>0){f[(Ig()|0)>>2]=34;n=+(B|0)*2.2250738585072014e-308*2.2250738585072014e-308;break e}if((o|0)>-1){do{P=!(n>=.5);O=P&1|o<<1;o=O^1;n=n+(P?n:n+-1.0);i=Mm(i|0,s|0,-1,-1)|0;s=x}while((O|0)>-1);u=i;h=n}else{u=i;h=n}i=gm(32,0,I|0,((I|0)<0)<<31>>31|0)|0;i=Mm(u|0,s|0,i|0,x|0)|0;I=x;if(0>(I|0)|0==(I|0)&D>>>0>i>>>0)if((i|0)<0){i=0;S=127}else S=125;else{i=D;S=125}if((S|0)==125)if((i|0)<53)S=127;else{s=i;l=+(B|0);n=0.0}if((S|0)==127){n=+(B|0);s=i;l=n;n=+Jg(+ry(1.0,84-i|0),n)}D=(o&1|0)==0&(h!=0.0&(s|0)<32);n=l*(D?0.0:h)+(n+l*+(((D&1)+o|0)>>>0))-n;if(!(n!=0.0))f[(Ig()|0)>>2]=34;n=+ty(n,u);break e}else i=s}while(0);L=I+D|0;P=0-L|0;o=0;r:while(1){switch(i|0){case 46:{S=138;break r}case 48:break;default:{s=0;k=0;b=0;break r}}i=f[R>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[R>>2]=i+1;i=a[i>>0]|0;o=1;continue}else{i=jg(e)|0;o=1;continue}}if((S|0)==138){i=f[R>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[R>>2]=i+1;i=a[i>>0]|0}else i=jg(e)|0;if((i|0)==48){s=0;i=0;while(1){s=Mm(s|0,i|0,-1,-1)|0;o=x;i=f[R>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[R>>2]=i+1;i=a[i>>0]|0}else i=jg(e)|0;if((i|0)==48)i=o;else{k=o;o=1;b=1;break}}}else{s=0;k=0;b=1}}f[O>>2]=0;d=i+-48|0;u=(i|0)==46;r:do{if(u|d>>>0<10){T=O+496|0;E=0;v=0;p=u;S=k;m=o;A=b;o=0;u=0;b=0;t:while(1){do{if(p)if(!A){s=E;k=v;A=1}else{k=S;i=E;d=v;break t}else{p=Mm(E|0,v|0,1,0)|0;v=x;M=(i|0)!=48;if((u|0)>=125){if(!M){k=S;E=p;break}f[T>>2]=f[T>>2]|1;k=S;E=p;break}k=O+(u<<2)|0;if(o)d=i+-48+((f[k>>2]|0)*10|0)|0;f[k>>2]=d;o=o+1|0;d=(o|0)==9;k=S;E=p;m=1;o=d?0:o;u=(d&1)+u|0;b=M?p:b}}while(0);i=f[R>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[R>>2]=i+1;i=a[i>>0]|0}else i=jg(e)|0;d=i+-48|0;p=(i|0)==46;if(!(p|d>>>0<10)){d=A;S=161;break r}else S=k}m=(m|0)!=0;S=169}else{E=0;v=0;m=o;d=b;o=0;u=0;b=0;S=161}}while(0);do{if((S|0)==161){T=(d|0)==0;s=T?E:s;k=T?v:k;m=(m|0)!=0;if(!((i|32|0)==101&m))if((i|0)>-1){i=E;d=v;S=169;break}else{i=E;d=v;S=171;break}d=Qy(e,r)|0;i=x;if((d|0)==0&(i|0)==-2147483648){if(!r){Ug(e,0);n=0.0;break}if(!(f[C>>2]|0)){d=0;i=0}else{f[R>>2]=(f[R>>2]|0)+-1;d=0;i=0}}s=Mm(d|0,i|0,s|0,k|0)|0;m=E;k=x;d=v;S=173}}while(0);if((S|0)==169)if(f[C>>2]|0){f[R>>2]=(f[R>>2]|0)+-1;if(m){m=i;S=173}else S=172}else S=171;if((S|0)==171)if(m){m=i;S=173}else S=172;do{if((S|0)==172){f[(Ig()|0)>>2]=22;Ug(e,0);n=0.0}else if((S|0)==173){i=f[O>>2]|0;if(!i){n=+(B|0)*0.0;break}if(((d|0)<0|(d|0)==0&m>>>0<10)&((s|0)==(m|0)&(k|0)==(d|0))?D>>>0>30|(i>>>D|0)==0:0){n=+(B|0)*+(i>>>0);break}e=(I|0)/-2|0;R=((e|0)<0)<<31>>31;if((k|0)>(R|0)|(k|0)==(R|0)&s>>>0>e>>>0){f[(Ig()|0)>>2]=34;n=+(B|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}e=I+-106|0;R=((e|0)<0)<<31>>31;if((k|0)<(R|0)|(k|0)==(R|0)&s>>>0>>0){f[(Ig()|0)>>2]=34;n=+(B|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(o){if((o|0)<9){d=O+(u<<2)|0;i=f[d>>2]|0;do{i=i*10|0;o=o+1|0}while((o|0)!=9);f[d>>2]=i}u=u+1|0}if((b|0)<9?(b|0)<=(s|0)&(s|0)<18:0){if((s|0)==9){n=+(B|0)*+((f[O>>2]|0)>>>0);break}if((s|0)<9){n=+(B|0)*+((f[O>>2]|0)>>>0)/+(f[37312+(8-s<<2)>>2]|0);break}e=D+27+(re(s,-3)|0)|0;i=f[O>>2]|0;if((e|0)>30|(i>>>e|0)==0){n=+(B|0)*+(i>>>0)*+(f[37312+(s+-10<<2)>>2]|0);break}}i=(s|0)%9|0;if(!i){o=0;i=0}else{m=(s|0)>-1?i:i+9|0;d=f[37312+(8-m<<2)>>2]|0;if(u){b=1e9/(d|0)|0;o=0;i=0;k=0;do{C=O+(k<<2)|0;R=f[C>>2]|0;e=((R>>>0)/(d>>>0)|0)+i|0;f[C>>2]=e;i=re((R>>>0)%(d>>>0)|0,b)|0;e=(k|0)==(o|0)&(e|0)==0;k=k+1|0;s=e?s+-9|0:s;o=e?k&127:o}while((k|0)!=(u|0));if(i){f[O+(u<<2)>>2]=i;u=u+1|0}}else{o=0;u=0}i=0;s=9-m+s|0}r:while(1){v=(s|0)<18;p=(s|0)==18;M=O+(o<<2)|0;do{if(!v){if(!p)break r;if((f[M>>2]|0)>>>0>=9007199){s=18;break r}}d=0;b=u+127|0;while(1){m=b&127;k=O+(m<<2)|0;b=Sm(f[k>>2]|0,0,29)|0;b=Mm(b|0,x|0,d|0,0)|0;d=x;if(d>>>0>0|(d|0)==0&b>>>0>1e9){e=Bm(b|0,d|0,1e9,0)|0;b=Im(b|0,d|0,1e9,0)|0;d=e}else d=0;f[k>>2]=b;e=(m|0)==(o|0);u=(m|0)!=(u+127&127|0)|e?u:(b|0)==0?m:u;if(e)break;else b=m+-1|0}i=i+-29|0}while((d|0)==0);o=o+127&127;if((o|0)==(u|0)){e=u+127&127;u=O+((u+126&127)<<2)|0;f[u>>2]=f[u>>2]|f[O+(e<<2)>>2];u=e}f[O+(o<<2)>>2]=d;s=s+9|0}r:while(1){E=u+1&127;M=O+((u+127&127)<<2)|0;while(1){v=(s|0)==18;p=(s|0)>27?9:1;m=v^1;while(1){b=o&127;k=(b|0)==(u|0);do{if(!k){d=f[O+(b<<2)>>2]|0;if(d>>>0<9007199){S=219;break}if(d>>>0>9007199)break;d=o+1&127;if((d|0)==(u|0)){S=219;break}d=f[O+(d<<2)>>2]|0;if(d>>>0<254740991){S=219;break}if(!(d>>>0>254740991|m)){s=b;break r}}else S=219}while(0);if((S|0)==219?(S=0,v):0){S=220;break r}i=i+p|0;if((o|0)==(u|0))o=u;else break}m=(1<>>p;b=o;d=0;k=o;while(1){R=O+(k<<2)|0;e=f[R>>2]|0;o=(e>>>p)+d|0;f[R>>2]=o;d=re(e&m,v)|0;o=(k|0)==(b|0)&(o|0)==0;k=k+1&127;s=o?s+-9|0:s;o=o?k:b;if((k|0)==(u|0))break;else b=o}if(!d)continue;if((E|0)!=(o|0))break;f[M>>2]=f[M>>2]|1}f[O+(u<<2)>>2]=d;u=E}if((S|0)==220)if(k){f[O+(E+-1<<2)>>2]=0;s=u;u=E}else s=b;n=+((f[O+(s<<2)>>2]|0)>>>0);s=o+1&127;if((s|0)==(u|0)){u=o+2&127;f[O+(u+-1<<2)>>2]=0}_=+(B|0);l=_*(n*1.0e9+ +((f[O+(s<<2)>>2]|0)>>>0));v=i+53|0;k=v-I|0;m=(k|0)<(D|0);s=m&1;b=m?(k|0)<0?0:k:D;if((b|0)<53){F=+Jg(+ry(1.0,105-b|0),l);h=+$g(l,+ry(1.0,53-b|0));w=F;n=h;h=F+(l-h)}else{w=0.0;n=0.0;h=l}d=o+2&127;do{if((d|0)==(u|0))l=n;else{d=f[O+(d<<2)>>2]|0;do{if(d>>>0>=5e8){if(d>>>0>5e8){n=_*.75+n;break}if((o+3&127|0)==(u|0)){n=_*.5+n;break}else{n=_*.75+n;break}}else{if((d|0)==0?(o+3&127|0)==(u|0):0)break;n=_*.25+n}}while(0);if((53-b|0)<=1){l=n;break}if(+$g(n,1.0)!=0.0){l=n;break}l=n+1.0}}while(0);n=h+l-w;do{if((v&2147483647|0)>(-2-L|0)){if(+Y(+n)>=9007199254740992.0){s=m&(b|0)==(k|0)?0:s;i=i+1|0;n=n*.5}if((i+50|0)<=(P|0)?!(l!=0.0&(s|0)!=0):0)break;f[(Ig()|0)>>2]=34}}while(0);n=+ty(n,i)}}while(0);break e}default:{if(f[C>>2]|0)f[R>>2]=(f[R>>2]|0)+-1;f[(Ig()|0)>>2]=22;Ug(e,0);n=0.0;break e}}}}}while(0);if((S|0)==23){s=(f[C>>2]|0)==0;if(!s)f[R>>2]=(f[R>>2]|0)+-1;if((r|0)!=0&i>>>0>3)do{if(!s)f[R>>2]=(f[R>>2]|0)+-1;i=i+-1|0}while(i>>>0>3)}n=+(B|0)*y}}while(0);c=N;return+n}function Fg(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,k=0,w=0,_=0;e:do{if(i>>>0>36){f[(Ig()|0)>>2]=22;s=0;n=0}else{_=e+4|0;w=e+100|0;do{l=f[_>>2]|0;if(l>>>0<(f[w>>2]|0)>>>0){f[_>>2]=l+1;l=a[l>>0]|0}else l=jg(e)|0}while((Og(l)|0)!=0);i:do{switch(l|0){case 43:case 45:{o=((l|0)==45)<<31>>31;l=f[_>>2]|0;if(l>>>0<(f[w>>2]|0)>>>0){f[_>>2]=l+1;l=a[l>>0]|0;k=o;break i}else{l=jg(e)|0;k=o;break i}}default:k=0}}while(0);o=(i|0)==0;do{if((i&-17|0)==0&(l|0)==48){l=f[_>>2]|0;if(l>>>0<(f[w>>2]|0)>>>0){f[_>>2]=l+1;l=a[l>>0]|0}else l=jg(e)|0;if((l|32|0)!=120)if(o){i=8;d=46;break}else{d=32;break}i=f[_>>2]|0;if(i>>>0<(f[w>>2]|0)>>>0){f[_>>2]=i+1;l=a[i>>0]|0}else l=jg(e)|0;if((a[53879+(l+1)>>0]|0)>15){n=(f[w>>2]|0)==0;if(!n)f[_>>2]=(f[_>>2]|0)+-1;if(!r){Ug(e,0);s=0;n=0;break e}if(n){s=0;n=0;break e}f[_>>2]=(f[_>>2]|0)+-1;s=0;n=0;break e}else{i=16;d=46}}else{i=o?10:i;if((a[53879+(l+1)>>0]|0)>>>0>>0)d=32;else{if(f[w>>2]|0)f[_>>2]=(f[_>>2]|0)+-1;Ug(e,0);f[(Ig()|0)>>2]=22;s=0;n=0;break e}}}while(0);if((d|0)==32)if((i|0)==10){i=l+-48|0;if(i>>>0<10){l=0;while(1){o=(l*10|0)+i|0;i=f[_>>2]|0;if(i>>>0<(f[w>>2]|0)>>>0){f[_>>2]=i+1;l=a[i>>0]|0}else l=jg(e)|0;i=l+-48|0;if(!(i>>>0<10&o>>>0<429496729)){i=o;break}else l=o}o=0}else{i=0;o=0}r=l+-48|0;if(r>>>0<10){while(1){u=Om(i|0,o|0,10,0)|0;c=x;h=((r|0)<0)<<31>>31;b=~h;if(c>>>0>b>>>0|(c|0)==(b|0)&u>>>0>~r>>>0){u=i;break}i=Mm(u|0,c|0,r|0,h|0)|0;o=x;l=f[_>>2]|0;if(l>>>0<(f[w>>2]|0)>>>0){f[_>>2]=l+1;l=a[l>>0]|0}else l=jg(e)|0;r=l+-48|0;if(!(r>>>0<10&(o>>>0<429496729|(o|0)==429496729&i>>>0<2576980378))){u=i;break}}if(r>>>0>9){l=u;i=k}else{i=10;d=72}}else{l=i;i=k}}else d=46;i:do{if((d|0)==46){if(!(i+-1&i)){d=t[54136+((i*23|0)>>>5&7)>>0]|0;o=t[53879+(l+1)>>0]|0;r=o&255;if(r>>>0>>0){l=0;while(1){u=r|l<>2]|0;if(l>>>0<(f[w>>2]|0)>>>0){f[_>>2]=l+1;l=a[l>>0]|0}else l=jg(e)|0;o=t[53879+(l+1)>>0]|0;r=o&255;if(!(u>>>0<134217728&r>>>0>>0))break;else l=u}r=0}else{r=0;u=0}c=Em(-1,-1,d|0)|0;h=x;if((o&255)>>>0>=i>>>0|(r>>>0>h>>>0|(r|0)==(h|0)&u>>>0>c>>>0)){o=r;d=72;break}else l=r;while(1){u=Sm(u|0,l|0,d|0)|0;r=x;u=o&255|u;l=f[_>>2]|0;if(l>>>0<(f[w>>2]|0)>>>0){f[_>>2]=l+1;l=a[l>>0]|0}else l=jg(e)|0;o=t[53879+(l+1)>>0]|0;if((o&255)>>>0>=i>>>0|(r>>>0>h>>>0|(r|0)==(h|0)&u>>>0>c>>>0)){o=r;d=72;break i}else l=r}}o=t[53879+(l+1)>>0]|0;r=o&255;if(r>>>0>>0){l=0;while(1){u=r+(re(l,i)|0)|0;l=f[_>>2]|0;if(l>>>0<(f[w>>2]|0)>>>0){f[_>>2]=l+1;l=a[l>>0]|0}else l=jg(e)|0;o=t[53879+(l+1)>>0]|0;r=o&255;if(!(u>>>0<119304647&r>>>0>>0))break;else l=u}r=0}else{u=0;r=0}if((o&255)>>>0>>0){d=Bm(-1,-1,i|0,0)|0;b=x;h=r;while(1){if(h>>>0>b>>>0|(h|0)==(b|0)&u>>>0>d>>>0){o=h;d=72;break i}r=Om(u|0,h|0,i|0,0)|0;c=x;o=o&255;if(c>>>0>4294967295|(c|0)==-1&r>>>0>~o>>>0){o=h;d=72;break i}u=Mm(o|0,0,r|0,c|0)|0;r=x;l=f[_>>2]|0;if(l>>>0<(f[w>>2]|0)>>>0){f[_>>2]=l+1;l=a[l>>0]|0}else l=jg(e)|0;o=t[53879+(l+1)>>0]|0;if((o&255)>>>0>=i>>>0){o=r;d=72;break}else h=r}}else{o=r;d=72}}}while(0);if((d|0)==72)if((a[53879+(l+1)>>0]|0)>>>0>>0){do{l=f[_>>2]|0;if(l>>>0<(f[w>>2]|0)>>>0){f[_>>2]=l+1;l=a[l>>0]|0}else l=jg(e)|0}while((a[53879+(l+1)>>0]|0)>>>0>>0);f[(Ig()|0)>>2]=34;o=s;l=n;i=(n&1|0)==0&0==0?k:0}else{l=u;i=k}if(f[w>>2]|0)f[_>>2]=(f[_>>2]|0)+-1;if(!(o>>>0>>0|(o|0)==(s|0)&l>>>0>>0)){if(!((n&1|0)!=0|0!=0|(i|0)!=0)){f[(Ig()|0)>>2]=34;n=Mm(n|0,s|0,-1,-1)|0;s=x;break}if(o>>>0>s>>>0|(o|0)==(s|0)&l>>>0>n>>>0){f[(Ig()|0)>>2]=34;break}}n=((i|0)<0)<<31>>31;n=gm(l^i|0,o^n|0,i|0,n|0)|0;s=x}}while(0);x=s;return n|0}function Ug(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;f[e+104>>2]=i;r=f[e+4>>2]|0;t=f[e+8>>2]|0;n=t-r|0;f[e+108>>2]=n;if((i|0)!=0&(n|0)>(i|0))f[e+100>>2]=r+i;else f[e+100>>2]=t;return}function jg(e){e=e|0;var i=0,r=0,n=0,s=0,l=0,o=0;r=e+104|0;l=f[r>>2]|0;if((l|0)!=0?(f[e+108>>2]|0)>=(l|0):0)o=4;else{i=Ay(e)|0;if((i|0)>=0){s=f[r>>2]|0;r=e+8|0;if(s){n=f[r>>2]|0;l=f[e+4>>2]|0;r=n;s=s-(f[e+108>>2]|0)+-1|0;if((r-l|0)>(s|0))f[e+100>>2]=l+s;else o=9}else{n=f[r>>2]|0;r=n;o=9}if((o|0)==9)f[e+100>>2]=r;r=f[e+4>>2]|0;if(n){e=e+108|0;f[e>>2]=n+1-r+(f[e>>2]|0)}r=r+-1|0;if((a[r>>0]|0|0)!=(i|0))t[r>>0]=i}else o=4}if((o|0)==4){f[e+100>>2]=0;i=-1}return i|0}function Hg(e){e=e|0;if(e>>>0>4294963200){f[(Ig()|0)>>2]=0-e;e=-1}return e|0}function zg(e){e=e|0;return 0}function Yg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return t|0}function qg(e,i){e=e|0;i=i|0;return-1|0}function Xg(e){e=e|0;Pc(e);return}function Vg(e,i){e=e|0;i=i|0;return(e+-48|0)>>>0<10|0}function Gg(e,i){e=e|0;i=i|0;return Bg(e)|0}function Kg(e,i,r){e=e|0;i=i|0;r=r|0;if(((t[i>>0]|0)!=0?(qy(i,58885)|0)!=0:0)?(qy(i,54145)|0)!=0:0)r=0;else if(!r)r=xc(1,4)|0;return r|0}function Wg(e){e=e|0;var i=0,r=0;i=(ni()|0)+176|0;r=f[i>>2]|0;if(e)f[i>>2]=e;return r|0}function Zg(e,i){e=+e;i=+i;var r=0,t=0;u[d>>3]=e;t=f[d>>2]|0;r=f[d+4>>2]|0;u[d>>3]=i;r=f[d+4>>2]&-2147483648|r&2147483647;f[d>>2]=t;f[d+4>>2]=r;return+ +u[d>>3]}function Jg(e,i){e=+e;i=+i;return+ +Zg(e,i)}function Qg(e,i){e=+e;i=+i;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,c=0,h=0,b=0,k=0,w=0;u[d>>3]=e;r=f[d>>2]|0;c=f[d+4>>2]|0;u[d>>3]=i;h=f[d>>2]|0;b=f[d+4>>2]|0;t=Em(r|0,c|0,52)|0;t=t&2047;l=Em(h|0,b|0,52)|0;l=l&2047;k=c&-2147483648;s=Sm(h|0,b|0,1)|0;o=x;e:do{if(!((s|0)==0&(o|0)==0)?(a=b&2147483647,!(a>>>0>2146435072|(a|0)==2146435072&h>>>0>0|(t|0)==2047)):0){n=Sm(r|0,c|0,1)|0;a=x;if(!(a>>>0>o>>>0|(a|0)==(o|0)&n>>>0>s>>>0))return+((n|0)==(s|0)&(a|0)==(o|0)?e*0.0:e);if(!t){t=Sm(r|0,c|0,12)|0;n=x;if((n|0)>-1|(n|0)==-1&t>>>0>4294967295){a=t;t=0;do{t=t+-1|0;a=Sm(a|0,n|0,1)|0;n=x}while((n|0)>-1|(n|0)==-1&a>>>0>4294967295)}else t=0;r=Sm(r|0,c|0,1-t|0)|0;n=x}else n=c&1048575|1048576;if(!l){a=Sm(h|0,b|0,12)|0;s=x;if((s|0)>-1|(s|0)==-1&a>>>0>4294967295){l=0;do{l=l+-1|0;a=Sm(a|0,s|0,1)|0;s=x}while((s|0)>-1|(s|0)==-1&a>>>0>4294967295)}else l=0;h=Sm(h|0,b|0,1-l|0)|0;c=x}else c=b&1048575|1048576;o=gm(r|0,n|0,h|0,c|0)|0;s=x;a=(s|0)>-1|(s|0)==-1&o>>>0>4294967295;i:do{if((t|0)>(l|0)){while(1){if(a)if((r|0)==(h|0)&(n|0)==(c|0))break;else{r=o;n=s}r=Sm(r|0,n|0,1)|0;n=x;t=t+-1|0;o=gm(r|0,n|0,h|0,c|0)|0;s=x;a=(s|0)>-1|(s|0)==-1&o>>>0>4294967295;if((t|0)<=(l|0))break i}i=e*0.0;break e}}while(0);if(a)if((r|0)==(h|0)&(n|0)==(c|0)){i=e*0.0;break}else{n=s;r=o}if(n>>>0<1048576|(n|0)==1048576&r>>>0<0)do{r=Sm(r|0,n|0,1)|0;n=x;t=t+-1|0}while(n>>>0<1048576|(n|0)==1048576&r>>>0<0);if((t|0)>0){b=Mm(r|0,n|0,0,-1048576)|0;r=x;t=Sm(t|0,0,52)|0;r=r|x;t=b|t}else{t=Em(r|0,n|0,1-t|0)|0;r=x}f[d>>2]=t;f[d+4>>2]=r|k;i=+u[d>>3]}else w=3}while(0);if((w|0)==3){i=e*i;i=i/i}return+i}function $g(e,i){e=+e;i=+i;return+ +Qg(e,i)}function ey(e,i){e=+e;i=i|0;var r=0,t=0,n=0;u[d>>3]=e;r=f[d>>2]|0;t=f[d+4>>2]|0;n=Em(r|0,t|0,52)|0;n=n&2047;switch(n|0){case 0:{if(e!=0.0){e=+ey(e*18446744073709551616.0,i);r=(f[i>>2]|0)+-64|0}else r=0;f[i>>2]=r;break}case 2047:break;default:{f[i>>2]=n+-1022;f[d>>2]=r;f[d+4>>2]=t&-2146435073|1071644672;e=+u[d>>3]}}return+e}function iy(e,i){e=+e;i=i|0;return+ +ey(e,i)}function ry(e,i){e=+e;i=i|0;var r=0;if((i|0)>1023){e=e*8988465674311579538646525.0e283;r=i+-1023|0;if((r|0)>1023){r=i+-2046|0;r=(r|0)>1023?1023:r;e=e*8988465674311579538646525.0e283}}else if((i|0)<-1022){e=e*2.2250738585072014e-308;r=i+1022|0;if((r|0)<-1022){r=i+2044|0;r=(r|0)<-1022?-1022:r;e=e*2.2250738585072014e-308}}else r=i;r=Sm(r+1023|0,0,52)|0;i=x;f[d>>2]=r;f[d+4>>2]=i;return+(e*+u[d>>3])}function ty(e,i){e=+e;i=i|0;return+ +ry(e,i)}function ny(e,i,r){e=e|0;i=i|0;r=r|0;return fy(0,e,i,(r|0)!=0?r:37344)|0}function fy(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;a=u;l=(n|0)==0?37348:n;n=f[l>>2]|0;e:do{if(!i)if(!n)n=0;else o=15;else{s=(e|0)==0?a:e;if(!r)n=-2;else{if(!n){n=t[i>>0]|0;a=n&255;if(n<<24>>24>-1){f[s>>2]=a;n=n<<24>>24!=0&1;break}n=a+-194|0;if(n>>>0>50){o=15;break}n=f[37076+(n<<2)>>2]|0;a=r+-1|0;if(a){i=i+1|0;o=9}}else{a=r;o=9}i:do{if((o|0)==9){e=t[i>>0]|0;h=(e&255)>>>3;if((h+-16|h+(n>>26))>>>0>7){o=15;break e}while(1){i=i+1|0;n=(e&255)+-128|n<<6;a=a+-1|0;if((n|0)>=0)break;if(!a)break i;e=t[i>>0]|0;if((e&-64)<<24>>24!=-128){o=15;break e}}f[l>>2]=0;f[s>>2]=n;n=r-a|0;break e}}while(0);f[l>>2]=n;n=-2}}}while(0);if((o|0)==15){f[l>>2]=0;f[(Ig()|0)>>2]=84;n=-1}c=u;return n|0}function ay(e){e=e|0;if(!e)e=1;else e=(f[e>>2]|0)==0;return e&1|0}function sy(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0;b=c;c=c+1040|0;u=b+8|0;d=b;o=f[i>>2]|0;f[d>>2]=o;h=(e|0)!=0;t=h?t:256;e=h?e:u;a=o;e:do{if((t|0)!=0&(o|0)!=0){l=t;o=a;t=0;while(1){a=r>>>2;s=a>>>0>=l>>>0;if(!(r>>>0>131|s)){a=o;break e}a=s?l:a;r=r-a|0;a=ly(e,d,a,n)|0;if((a|0)==-1){t=r;break}k=(e|0)==(u|0);o=k?0:a;s=l-o|0;e=k?e:e+(a<<2)|0;t=a+t|0;a=f[d>>2]|0;if((l|0)!=(o|0)&(a|0)!=0){l=s;o=a}else{l=s;break e}}r=t;l=0;a=f[d>>2]|0;t=-1}else{l=t;t=0}}while(0);e:do{if((a|0)!=0?(l|0)!=0&(r|0)!=0:0){s=a;a=e;while(1){e=fy(a,s,r,n)|0;if((e+2|0)>>>0<3)break;s=(f[d>>2]|0)+e|0;f[d>>2]=s;l=l+-1|0;t=t+1|0;if(!((l|0)!=0&(r|0)!=(e|0)))break e;else{r=r-e|0;a=a+4|0}}switch(e|0){case-1:{t=-1;break e}case 0:{f[d>>2]=0;break e}default:{f[n>>2]=0;break e}}}}while(0);if(h)f[i>>2]=f[d>>2];c=b;return t|0}function ly(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var s=0,l=0,o=0,u=0,c=0,h=0;s=f[i>>2]|0;if((n|0)!=0?(l=f[n>>2]|0,(l|0)!=0):0)if(!e){n=r;o=s;h=16}else{f[n>>2]=0;c=e;n=r;u=l;h=37}else if(!e){n=r;h=7}else{l=e;n=r;h=6}e:while(1)if((h|0)==6){if(!n){h=26;break}else e=l;while(1){l=t[s>>0]|0;do{if(((l&255)+-1|0)>>>0<127?n>>>0>4&(s&3|0)==0:0){o=s;while(1){s=f[o>>2]|0;if((s+-16843009|s)&-2139062144){l=s;s=o;h=32;break}f[e>>2]=s&255;f[e+4>>2]=a[o+1>>0];f[e+8>>2]=a[o+2>>0];s=o+4|0;l=e+16|0;f[e+12>>2]=a[o+3>>0];n=n+-4|0;if(n>>>0>4){e=l;o=s}else{h=31;break}}if((h|0)==31){e=l;l=t[s>>0]|0;break}else if((h|0)==32){l=l&255;break}}}while(0);l=l&255;if((l+-1|0)>>>0>=127)break;s=s+1|0;f[e>>2]=l;n=n+-1|0;if(!n){h=26;break e}else e=e+4|0}l=l+-194|0;if(l>>>0>50){h=48;break}c=e;u=f[37076+(l<<2)>>2]|0;s=s+1|0;h=37;continue}else if((h|0)==7){l=t[s>>0]|0;if(((l&255)+-1|0)>>>0<127?(s&3|0)==0:0){l=f[s>>2]|0;if(!((l+-16843009|l)&-2139062144))do{s=s+4|0;n=n+-4|0;l=f[s>>2]|0}while(((l+-16843009|l)&-2139062144|0)==0);l=l&255}l=l&255;if((l+-1|0)>>>0<127){n=n+-1|0;s=s+1|0;h=7;continue}l=l+-194|0;if(l>>>0>50){h=48;break}l=f[37076+(l<<2)>>2]|0;o=s+1|0;h=16;continue}else if((h|0)==16){h=(a[o>>0]|0)>>>3;if((h+-16|h+(l>>26))>>>0>7){h=17;break}s=o+1|0;if(l&33554432){if((t[s>>0]&-64)<<24>>24!=-128){h=20;break}s=o+2|0;if(l&524288){if((t[s>>0]&-64)<<24>>24!=-128){h=23;break}s=o+3|0}}n=n+-1|0;h=7;continue}else if((h|0)==37){l=a[s>>0]|0;h=l>>>3;if((h+-16|h+(u>>26))>>>0>7){h=38;break}o=s+1|0;e=l+-128|u<<6;if((e|0)<0){l=a[o>>0]|0;if((l&192|0)!=128){h=41;break}o=s+2|0;e=l+-128|e<<6;if((e|0)<0){l=a[o>>0]|0;if((l&192|0)!=128){h=44;break}e=l+-128|e<<6;s=s+3|0}else s=o}else s=o;f[c>>2]=e;l=c+4|0;n=n+-1|0;h=6;continue}if((h|0)==17){s=o+-1|0;h=47}else if((h|0)==20){s=o+-1|0;h=47}else if((h|0)==23){s=o+-1|0;h=47}else if((h|0)==26)f[i>>2]=s;else if((h|0)==38){e=c;l=u;s=s+-1|0;h=47}else if((h|0)==41){n=c;r=s+-1|0;h=52}else if((h|0)==44){n=c;r=s+-1|0;h=52}if((h|0)==47)if(!l)h=48;else{n=e;r=s;h=52}if((h|0)==48)if(!(t[s>>0]|0)){if(e){f[e>>2]=0;f[i>>2]=0}r=r-n|0}else{n=e;r=s;h=52}if((h|0)==52){f[(Ig()|0)>>2]=84;if(!n)r=-1;else{f[i>>2]=r;r=-1}}return r|0}function oy(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0;o=c;c=c+16|0;n=o;e:do{if(!i)n=0;else{do{if(r){l=(e|0)==0?n:e;n=t[i>>0]|0;e=n&255;if(n<<24>>24>-1){f[l>>2]=e;n=n<<24>>24!=0&1;break e}n=e+-194|0;if(n>>>0<=50){e=i+1|0;s=f[37076+(n<<2)>>2]|0;if(r>>>0<4?(s&-2147483648>>>((r*6|0)+-6|0)|0)!=0:0)break;n=a[e>>0]|0;r=n>>>3;if((r+-16|r+(s>>26))>>>0<=7){n=n+-128|s<<6;if((n|0)>=0){f[l>>2]=n;n=2;break e}e=a[i+2>>0]|0;if((e&192|0)==128){e=e+-128|n<<6;if((e|0)>=0){f[l>>2]=e;n=3;break e}n=a[i+3>>0]|0;if((n&192|0)==128){f[l>>2]=n+-128|e<<6;n=4;break e}}}}}}while(0);f[(Ig()|0)>>2]=84;n=-1}}while(0);c=o;return n|0}function uy(e,i,r){e=e|0;i=i|0;r=r|0;do{if(e){if(i>>>0<128){t[e>>0]=i;e=1;break}if(i>>>0<2048){t[e>>0]=i>>>6|192;t[e+1>>0]=i&63|128;e=2;break}if(i>>>0<55296|(i&-8192|0)==57344){t[e>>0]=i>>>12|224;t[e+1>>0]=i>>>6&63|128;t[e+2>>0]=i&63|128;e=3;break}if((i+-65536|0)>>>0<1048576){t[e>>0]=i>>>18|240;t[e+1>>0]=i>>>12&63|128;t[e+2>>0]=i>>>6&63|128;t[e+3>>0]=i&63|128;e=4;break}else{f[(Ig()|0)>>2]=84;e=-1;break}}else e=1}while(0);return e|0}function cy(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0;h=c;c=c+272|0;l=h+8|0;u=h;s=f[i>>2]|0;f[u>>2]=s;o=(e|0)!=0;n=o?t:256;t=o?e:l;e=s;e:do{if((n|0)!=0&(s|0)!=0){s=n;a=e;n=0;while(1){e=r>>>0>=s>>>0;if(!(e|r>>>0>32)){e=a;break e}e=e?s:r;r=r-e|0;e=hy(t,u,e,0)|0;if((e|0)==-1){n=r;break}b=(t|0)==(l|0);d=b?0:e;a=s-d|0;t=b?t:t+e|0;n=e+n|0;e=f[u>>2]|0;if((s|0)!=(d|0)&(e|0)!=0){s=a;a=e}else{s=a;break e}}r=n;s=0;e=f[u>>2]|0;n=-1}else{s=n;n=0}}while(0);e:do{if((e|0)!=0?(s|0)!=0&(r|0)!=0:0){a=e;e=t;while(1){t=uy(e,f[a>>2]|0,0)|0;if((t+1|0)>>>0<2)break;a=(f[u>>2]|0)+4|0;f[u>>2]=a;r=r+-1|0;n=n+1|0;if(!((s|0)!=(t|0)&(r|0)!=0))break e;else{s=s-t|0;e=e+t|0}}if(!t)f[u>>2]=0;else n=-1}}while(0);if(o)f[i>>2]=f[u>>2];c=h;return n|0}function hy(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0;o=c;c=c+16|0;l=o;e:do{if(!e){e=f[i>>2]|0;n=f[e>>2]|0;if(!n)r=0;else{r=0;do{if(n>>>0>127){n=uy(l,n,0)|0;if((n|0)==-1){r=-1;break e}}else n=1;r=n+r|0;e=e+4|0;n=f[e>>2]|0}while((n|0)!=0)}}else{i:do{if(r>>>0>3){n=r;a=f[i>>2]|0;while(1){s=f[a>>2]|0;if((s+-1|0)>>>0>126){if(!s)break;s=uy(e,s,0)|0;if((s|0)==-1){r=-1;break e}e=e+s|0;n=n-s|0}else{t[e>>0]=s;e=e+1|0;n=n+-1|0;a=f[i>>2]|0}a=a+4|0;f[i>>2]=a;if(n>>>0<=3)break i}t[e>>0]=0;f[i>>2]=0;r=r-n|0;break e}else n=r}while(0);if(n){a=f[i>>2]|0;while(1){s=f[a>>2]|0;if((s+-1|0)>>>0>126){if(!s){a=19;break}s=uy(l,s,0)|0;if((s|0)==-1){r=-1;break e}if(n>>>0>>0){a=22;break}uy(e,f[a>>2]|0,0)|0;e=e+s|0;n=n-s|0}else{t[e>>0]=s;e=e+1|0;n=n+-1|0;a=f[i>>2]|0}a=a+4|0;f[i>>2]=a;if(!n)break e}if((a|0)==19){t[e>>0]=0;f[i>>2]=0;r=r-n|0;break}else if((a|0)==22){r=r-n|0;break}}}}while(0);c=o;return r|0}function dy(e,i){e=e|0;i=i|0;if(!e)e=0;else e=uy(e,i,0)|0;return e|0}function by(e){e=e|0;return 0}function ky(e){e=e|0;return}function wy(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+16|0;u=h;o=i&255;t[u>>0]=o;n=e+16|0;s=f[n>>2]|0;if(!s)if(!(Ey(e)|0)){s=f[n>>2]|0;l=4}else r=-1;else l=4;do{if((l|0)==4){n=e+20|0;l=f[n>>2]|0;if(l>>>0>>0?(r=i&255,(r|0)!=(t[e+75>>0]|0)):0){f[n>>2]=l+1;t[l>>0]=o;break}if((uM[f[e+36>>2]&63](e,u,1)|0)==1)r=a[u>>0]|0;else r=-1}}while(0);c=h;return r|0}function _y(e){e=e|0;var i=0,r=0;i=c;c=c+16|0;r=i;f[r>>2]=f[e+60>>2];e=Hg(wi(6,r|0)|0)|0;c=i;return e|0}function my(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0;h=c;c=c+48|0;s=h+16|0;a=h;n=h+32|0;f[n>>2]=i;l=n+4|0;u=e+48|0;d=f[u>>2]|0;f[l>>2]=r-((d|0)!=0&1);o=e+44|0;f[n+8>>2]=f[o>>2];f[n+12>>2]=d;if(!(f[9258]|0)){f[s>>2]=f[e+60>>2];f[s+4>>2]=n;f[s+8>>2]=2;n=Hg(Ei(145,s|0)|0)|0}else{_i(185,e|0);f[a>>2]=f[e+60>>2];f[a+4>>2]=n;f[a+8>>2]=2;n=Hg(Ei(145,a|0)|0)|0;oi(0)}if((n|0)>=1){l=f[l>>2]|0;if(n>>>0>l>>>0){s=f[o>>2]|0;a=e+4|0;f[a>>2]=s;f[e+8>>2]=s+(n-l);if(!(f[u>>2]|0))n=r;else{f[a>>2]=s+1;t[i+(r+-1)>>0]=t[s>>0]|0;n=r}}}else{f[e>>2]=f[e>>2]|n&48^16;f[e+8>>2]=0;f[e+4>>2]=0}c=h;return n|0}function vy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;n=c;c=c+32|0;a=n;t=n+20|0;f[a>>2]=f[e+60>>2];f[a+4>>2]=0;f[a+8>>2]=i;f[a+12>>2]=t;f[a+16>>2]=r;if((Hg(Mi(140,a|0)|0)|0)<0){f[t>>2]=-1;e=-1}else e=f[t>>2]|0;c=n;return e|0}function py(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0;w=c;c=c+48|0;d=w+16|0;h=w;t=w+32|0;b=e+28|0;n=f[b>>2]|0;f[t>>2]=n;k=e+20|0;n=(f[k>>2]|0)-n|0;f[t+4>>2]=n;f[t+8>>2]=i;f[t+12>>2]=r;o=e+60|0;u=e+44|0;i=2;n=n+r|0;while(1){if(!(f[9258]|0)){f[d>>2]=f[o>>2];f[d+4>>2]=t;f[d+8>>2]=i;s=Hg(Ai(146,d|0)|0)|0}else{_i(186,e|0);f[h>>2]=f[o>>2];f[h+4>>2]=t;f[h+8>>2]=i;s=Hg(Ai(146,h|0)|0)|0;oi(0)}if((n|0)==(s|0)){n=6;break}if((s|0)<0){n=8;break}n=n-s|0;a=f[t+4>>2]|0;if(s>>>0<=a>>>0)if((i|0)==2){f[b>>2]=(f[b>>2]|0)+s;l=a;i=2}else l=a;else{l=f[u>>2]|0;f[b>>2]=l;f[k>>2]=l;l=f[t+12>>2]|0;s=s-a|0;t=t+8|0;i=i+-1|0}f[t>>2]=(f[t>>2]|0)+s;f[t+4>>2]=l-s}if((n|0)==6){d=f[u>>2]|0;f[e+16>>2]=d+(f[e+48>>2]|0);e=d;f[b>>2]=e;f[k>>2]=e}else if((n|0)==8){f[e+16>>2]=0;f[b>>2]=0;f[k>>2]=0;f[e>>2]=f[e>>2]|32;if((i|0)==2)r=0;else r=r-(f[t+4>>2]|0)|0}c=w;return r|0}function gy(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;a=c;c=c+80|0;n=a;f[e+36>>2]=8;if((f[e>>2]&64|0)==0?(f[n>>2]=f[e+60>>2],f[n+4>>2]=21505,f[n+8>>2]=a+12,(si(54,n|0)|0)!=0):0)t[e+75>>0]=-1;n=py(e,i,r)|0;c=a;return n|0}function yy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0;t=e+84|0;a=f[t>>2]|0;s=r+256|0;n=zy(a,0,s)|0;n=(n|0)==0?s:n-a|0;r=n>>>0>>0?n:r;Am(i|0,a|0,r|0)|0;f[e+4>>2]=a+r;i=a+n|0;f[e+8>>2]=i;f[t>>2]=i;return r|0}function My(e){e=e|0;var i=0,r=0;i=e+74|0;r=t[i>>0]|0;t[i>>0]=r+255|r;i=e+20|0;r=e+44|0;if((f[i>>2]|0)>>>0>(f[r>>2]|0)>>>0)uM[f[e+36>>2]&63](e,0,0)|0;f[e+16>>2]=0;f[e+28>>2]=0;f[i>>2]=0;i=f[e>>2]|0;if(i&20)if(!(i&4))i=-1;else{f[e>>2]=i|32;i=-1}else{i=f[r>>2]|0;f[e+8>>2]=i;f[e+4>>2]=i;i=0}return i|0}function Ey(e){e=e|0;var i=0,r=0;i=e+74|0;r=t[i>>0]|0;t[i>>0]=r+255|r;i=f[e>>2]|0;if(!(i&8)){f[e+8>>2]=0;f[e+4>>2]=0;i=f[e+44>>2]|0;f[e+28>>2]=i;f[e+20>>2]=i;f[e+16>>2]=i+(f[e+48>>2]|0);i=0}else{f[e>>2]=i|32;i=-1}return i|0}function Ay(e){e=e|0;var i=0,r=0;r=c;c=c+16|0;i=r;if((f[e+8>>2]|0)==0?(My(e)|0)!=0:0)i=-1;else if((uM[f[e+32>>2]&63](e,i,1)|0)==1)i=a[i>>0]|0;else i=-1;c=r;return i|0}function Sy(e){e=e|0;var i=0,r=0;do{if(e){if((f[e+76>>2]|0)<=-1){i=iM(e)|0;break}r=(by(e)|0)==0;i=iM(e)|0;if(!r)ky(e)}else{if(!(f[9323]|0))i=0;else i=Sy(f[9323]|0)|0;Oe(37060);e=f[9264]|0;if(e)do{if((f[e+76>>2]|0)>-1)r=by(e)|0;else r=0;if((f[e+20>>2]|0)>>>0>(f[e+28>>2]|0)>>>0)i=iM(e)|0|i;if(r)ky(e);e=f[e+56>>2]|0}while((e|0)!=0);li(37060)}}while(0);return i|0}function Ty(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0;if((f[i+76>>2]|0)>=0?(by(i)|0)!=0:0){if((t[i+75>>0]|0)!=(e|0)?(n=i+20|0,a=f[n>>2]|0,a>>>0<(f[i+16>>2]|0)>>>0):0){f[n>>2]=a+1;t[a>>0]=e;r=e&255}else r=wy(i,e)|0;ky(i)}else l=3;do{if((l|0)==3){if((t[i+75>>0]|0)!=(e|0)?(s=i+20|0,r=f[s>>2]|0,r>>>0<(f[i+16>>2]|0)>>>0):0){f[s>>2]=r+1;t[r>>0]=e;r=e&255;break}r=wy(i,e)|0}}while(0);return r|0}function Cy(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;n=r+16|0;a=f[n>>2]|0;if(!a)if(!(Ey(r)|0)){a=f[n>>2]|0;s=4}else n=0;else s=4;e:do{if((s|0)==4){l=r+20|0;s=f[l>>2]|0;if((a-s|0)>>>0>>0){n=uM[f[r+36>>2]&63](r,e,i)|0;break}i:do{if((t[r+75>>0]|0)>-1){n=i;while(1){if(!n){a=s;n=0;break i}a=n+-1|0;if((t[e+a>>0]|0)==10)break;else n=a}if((uM[f[r+36>>2]&63](r,e,n)|0)>>>0>>0)break e;i=i-n|0;e=e+n|0;a=f[l>>2]|0}else{a=s;n=0}}while(0);Am(a|0,e|0,i|0)|0;f[l>>2]=(f[l>>2]|0)+i;n=n+i|0}}while(0);return n|0}function Ry(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;n=re(r,i)|0;if((f[t+76>>2]|0)>-1){a=(by(t)|0)==0;e=Cy(e,n,t)|0;if(!a)ky(t)}else e=Cy(e,n,t)|0;if((e|0)!=(n|0))r=(e>>>0)/(i>>>0)|0;return r|0}function Ly(e){e=e|0;var i=0,r=0,t=0;if((f[e+76>>2]|0)>=0?(by(e)|0)!=0:0){i=e+4|0;r=f[i>>2]|0;if(r>>>0<(f[e+8>>2]|0)>>>0){f[i>>2]=r+1;i=a[r>>0]|0}else i=Ay(e)|0}else t=3;do{if((t|0)==3){i=e+4|0;r=f[i>>2]|0;if(r>>>0<(f[e+8>>2]|0)>>>0){f[i>>2]=r+1;i=a[r>>0]|0;break}else{i=Ay(e)|0;break}}}while(0);return i|0}function Py(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;n=c;c=c+16|0;a=n;f[a>>2]=t;t=Ny(e,i,r,a)|0;c=n;return t|0}function xy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=c;c=c+16|0;n=t;f[n>>2]=r;r=Fy(e,i,n)|0;c=t;return r|0}function Oy(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0;do{if((e|0)!=-1){if((f[i+76>>2]|0)>-1)a=by(i)|0;else a=0;if(!((f[i+8>>2]|0)==0?(My(i)|0)!=0:0))s=6;if((s|0)==6?(r=i+4|0,n=f[r>>2]|0,n>>>0>((f[i+44>>2]|0)+-8|0)>>>0):0){s=n+-1|0;f[r>>2]=s;t[s>>0]=e;f[i>>2]=f[i>>2]&-17;if(!a)break;ky(i);break}if(a){ky(i);e=-1}else e=-1}else e=-1}while(0);return e|0}function By(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;l=c;c=c+16|0;t=l;n=Lc(240)|0;do{if(n){f[t>>2]=f[r>>2];t=Ny(n,240,i,t)|0;if(t>>>0<240){i=Oc(n,t+1|0)|0;f[e>>2]=(i|0)!=0?i:n;break}Pc(n);if((t|0)>=0?(s=t+1|0,a=Lc(s)|0,f[e>>2]=a,(a|0)!=0):0)t=Ny(a,s,i,r)|0;else t=-1}else t=-1}while(0);c=l;return t|0}function Iy(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,k=0,w=0,_=0,m=0;m=c;c=c+224|0;b=m+80|0;_=m+96|0;w=m;k=m+136|0;n=_;a=n+40|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(a|0));f[b>>2]=f[r>>2];if((yc(0,i,b,w,_)|0)<0)r=-1;else{if((f[e+76>>2]|0)>-1)h=by(e)|0;else h=0;r=f[e>>2]|0;d=r&32;if((t[e+74>>0]|0)<1)f[e>>2]=r&-33;r=e+48|0;if(!(f[r>>2]|0)){a=e+44|0;s=f[a>>2]|0;f[a>>2]=k;l=e+28|0;f[l>>2]=k;o=e+20|0;f[o>>2]=k;f[r>>2]=80;u=e+16|0;f[u>>2]=k+80;n=yc(e,i,b,w,_)|0;if(s){uM[f[e+36>>2]&63](e,0,0)|0;n=(f[o>>2]|0)==0?-1:n;f[a>>2]=s;f[r>>2]=0;f[u>>2]=0;f[l>>2]=0;f[o>>2]=0}}else n=yc(e,i,b,w,_)|0;r=f[e>>2]|0;f[e>>2]=r|d;if(h)ky(e);r=(r&32|0)==0?n:-1}c=m;return r|0}function Dy(e,i,r){e=e|0;i=i|0;r=r|0;var s=0,l=0,h=0,d=0,b=0,k=0.0,w=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,E=0,A=0,S=0,T=0,C=0,R=0,L=0,P=0,O=0,B=0,I=0,D=0,N=0,F=0,U=0,j=0,H=0,z=0;H=c;c=c+304|0;O=H+16|0;I=H+8|0;B=H+33|0;D=H;E=H+32|0;if((f[e+76>>2]|0)>-1)j=by(e)|0;else j=0;s=t[i>>0]|0;e:do{if(s<<24>>24){N=e+4|0;F=e+100|0;P=e+108|0;A=e+8|0;S=B+10|0;T=B+33|0;C=I+4|0;R=B+46|0;L=B+94|0;h=s;s=0;d=i;m=0;l=0;i=0;i:while(1){r:do{if(!(Og(h&255)|0)){h=(t[d>>0]|0)==37;t:do{if(h){w=d+1|0;b=t[w>>0]|0;n:do{switch(b<<24>>24){case 37:break t;case 42:{M=0;b=d+2|0;break}default:{b=(b&255)+-48|0;if(b>>>0<10?(t[d+2>>0]|0)==36:0){f[O>>2]=f[r>>2];while(1){M=(f[O>>2]|0)+(4-1)&~(4-1);h=f[M>>2]|0;f[O>>2]=M+4;if(b>>>0>1)b=b+-1|0;else break}M=h;b=d+3|0;break n}b=(f[r>>2]|0)+(4-1)&~(4-1);M=f[b>>2]|0;f[r>>2]=b+4;b=w}}}while(0);h=t[b>>0]|0;d=h&255;if((d+-48|0)>>>0<10){h=0;while(1){w=(h*10|0)+-48+d|0;b=b+1|0;h=t[b>>0]|0;d=h&255;if((d+-48|0)>>>0>=10)break;else h=w}}else w=0;if(h<<24>>24==109){b=b+1|0;_=t[b>>0]|0;h=(M|0)!=0&1;l=0;i=0}else{_=h;h=0}d=b+1|0;switch(_&255|0){case 104:{y=(t[d>>0]|0)==104;d=y?b+2|0:d;b=y?-2:-1;break}case 108:{y=(t[d>>0]|0)==108;d=y?b+2|0:d;b=y?3:1;break}case 106:{b=3;break}case 116:case 122:{b=1;break}case 76:{b=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{d=b;b=0;break}default:{U=152;break i}}_=a[d>>0]|0;v=(_&47|0)==3;_=v?_|32:_;v=v?1:b;switch(_|0){case 99:{y=m;g=(w|0)<1?1:w;break}case 91:{y=m;g=w;break}case 110:{if(!M){b=m;break r}switch(v|0){case-2:{t[M>>0]=m;b=m;break r}case-1:{n[M>>1]=m;b=m;break r}case 0:{f[M>>2]=m;b=m;break r}case 1:{f[M>>2]=m;b=m;break r}case 3:{b=M;f[b>>2]=m;f[b+4>>2]=((m|0)<0)<<31>>31;b=m;break r}default:{b=m;break r}}}default:{Ug(e,0);do{b=f[N>>2]|0;if(b>>>0<(f[F>>2]|0)>>>0){f[N>>2]=b+1;b=a[b>>0]|0}else b=jg(e)|0}while((Og(b)|0)!=0);b=f[N>>2]|0;if(f[F>>2]|0){b=b+-1|0;f[N>>2]=b}y=(f[P>>2]|0)+m+b-(f[A>>2]|0)|0;g=w}}Ug(e,g);b=f[N>>2]|0;w=f[F>>2]|0;if(b>>>0>>0)f[N>>2]=b+1;else{if((jg(e)|0)<0){U=152;break i}w=f[F>>2]|0}if(w)f[N>>2]=(f[N>>2]|0)+-1;n:do{switch(_|0){case 91:case 99:case 115:{p=(_|0)==99;f:do{if((_&239|0)==99){ym(B|0,-1,257)|0;t[B>>0]=0;if((_|0)==115){t[T>>0]=0;t[S>>0]=0;t[S+1>>0]=0;t[S+2>>0]=0;t[S+3>>0]=0;t[S+4>>0]=0}}else{z=d+1|0;m=(t[z>>0]|0)==94;b=m&1;_=m?z:d;d=m?d+2|0:z;ym(B|0,m&1|0,257)|0;t[B>>0]=0;switch(t[d>>0]|0){case 45:{m=(b^1)&255;t[R>>0]=m;d=_+2|0;break}case 93:{m=(b^1)&255;t[L>>0]=m;d=_+2|0;break}default:m=(b^1)&255}while(1){b=t[d>>0]|0;a:do{switch(b<<24>>24){case 0:{U=152;break i}case 93:break f;case 45:{_=d+1|0;b=t[_>>0]|0;switch(b<<24>>24){case 93:case 0:{b=45;break a}default:{}}d=t[d+-1>>0]|0;if((d&255)<(b&255)){d=d&255;do{d=d+1|0;t[B+d>>0]=m;b=t[_>>0]|0}while((d|0)<(b&255|0));d=_}else d=_;break}default:{}}}while(0);t[B+((b&255)+1)>>0]=m;d=d+1|0}}}while(0);_=p?g+1|0:31;m=(v|0)==1;v=(h|0)!=0;f:do{if(m){if(v){i=Lc(_<<2)|0;if(!i){l=0;U=152;break i}}else i=M;f[I>>2]=0;f[C>>2]=0;l=0;a:while(1){w=(i|0)==0;do{s:while(1){b=f[N>>2]|0;if(b>>>0<(f[F>>2]|0)>>>0){f[N>>2]=b+1;b=a[b>>0]|0}else b=jg(e)|0;if(!(t[B+(b+1)>>0]|0))break a;t[E>>0]=b;switch(fy(D,E,1,I)|0){case-1:{l=0;U=152;break i}case-2:break;default:break s}}if(!w){f[i+(l<<2)>>2]=f[D>>2];l=l+1|0}}while(!(v&(l|0)==(_|0)));l=_<<1|1;b=Oc(i,l<<2)|0;if(!b){l=0;U=152;break i}z=_;_=l;i=b;l=z}if(!(ay(I)|0)){l=0;U=152;break i}else{w=l;l=0}}else{if(v){l=Lc(_)|0;if(!l){l=0;i=0;U=152;break i}else b=0;while(1){do{i=f[N>>2]|0;if(i>>>0<(f[F>>2]|0)>>>0){f[N>>2]=i+1;i=a[i>>0]|0}else i=jg(e)|0;if(!(t[B+(i+1)>>0]|0)){w=b;i=0;break f}t[l+b>>0]=i;b=b+1|0}while((b|0)!=(_|0));i=_<<1|1;b=Oc(l,i)|0;if(!b){i=0;U=152;break i}else{z=_;_=i;l=b;b=z}}}if(!M){l=w;while(1){i=f[N>>2]|0;if(i>>>0>>0){f[N>>2]=i+1;i=a[i>>0]|0}else i=jg(e)|0;if(!(t[B+(i+1)>>0]|0)){w=0;l=0;i=0;break f}l=f[F>>2]|0}}else{l=0;while(1){i=f[N>>2]|0;if(i>>>0>>0){f[N>>2]=i+1;i=a[i>>0]|0}else i=jg(e)|0;if(!(t[B+(i+1)>>0]|0)){w=l;l=M;i=0;break f}t[M+l>>0]=i;w=f[F>>2]|0;l=l+1|0}}}}while(0);b=f[N>>2]|0;if(f[F>>2]|0){b=b+-1|0;f[N>>2]=b}b=b-(f[A>>2]|0)+(f[P>>2]|0)|0;if(!b)break i;if(!((b|0)==(g|0)|p^1))break i;do{if(v)if(m){f[M>>2]=i;break}else{f[M>>2]=l;break}}while(0);if(!p){if(i)f[i+(w<<2)>>2]=0;if(!l){l=0;break n}t[l+w>>0]=0}break}case 120:case 88:case 112:{b=16;U=134;break}case 111:{b=8;U=134;break}case 117:case 100:{b=10;U=134;break}case 105:{b=0;U=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{k=+Ng(e,v,0);if((f[P>>2]|0)==((f[A>>2]|0)-(f[N>>2]|0)|0))break i;if(M)switch(v|0){case 0:{o[M>>2]=k;break n}case 1:{u[M>>3]=k;break n}case 2:{u[M>>3]=k;break n}default:break n}break}default:{}}}while(0);n:do{if((U|0)==134){U=0;b=Fg(e,b,0,-1,-1)|0;if((f[P>>2]|0)==((f[A>>2]|0)-(f[N>>2]|0)|0))break i;if((M|0)!=0&(_|0)==112){f[M>>2]=b;break}if(M)switch(v|0){case-2:{t[M>>0]=b;break n}case-1:{n[M>>1]=b;break n}case 0:{f[M>>2]=b;break n}case 1:{f[M>>2]=b;break n}case 3:{z=M;f[z>>2]=b;f[z+4>>2]=x;break n}default:break n}}}while(0);s=((M|0)!=0&1)+s|0;b=(f[P>>2]|0)+y+(f[N>>2]|0)-(f[A>>2]|0)|0;break r}}while(0);d=d+(h&1)|0;Ug(e,0);h=f[N>>2]|0;if(h>>>0<(f[F>>2]|0)>>>0){f[N>>2]=h+1;h=a[h>>0]|0}else h=jg(e)|0;if((h|0)!=(a[d>>0]|0)){U=21;break i}b=m+1|0}else{while(1){h=d+1|0;if(!(Og(a[h>>0]|0)|0))break;else d=h}Ug(e,0);do{h=f[N>>2]|0;if(h>>>0<(f[F>>2]|0)>>>0){f[N>>2]=h+1;h=a[h>>0]|0}else h=jg(e)|0}while((Og(h)|0)!=0);h=f[N>>2]|0;if(f[F>>2]|0){h=h+-1|0;f[N>>2]=h}b=(f[P>>2]|0)+m+h-(f[A>>2]|0)|0}}while(0);d=d+1|0;h=t[d>>0]|0;if(!(h<<24>>24))break e;else m=b}if((U|0)==21){if(f[F>>2]|0)f[N>>2]=(f[N>>2]|0)+-1;if((s|0)!=0|(h|0)>-1)break;else{s=0;U=153}}else if((U|0)==152)if(!s){s=h;U=153}if((U|0)==153){h=s;s=-1}if(h){Pc(l);Pc(i)}}else s=0}while(0);if(j)ky(e);c=H;return s|0}function Ny(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0;d=c;c=c+128|0;a=d+112|0;h=d;s=h;l=37352;o=s+112|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));if((i+-1|0)>>>0>2147483646)if(!i){i=1;u=4}else{f[(Ig()|0)>>2]=75;i=-1}else{a=e;u=4}if((u|0)==4){u=-2-a|0;u=i>>>0>u>>>0?u:i;f[h+48>>2]=u;e=h+20|0;f[e>>2]=a;f[h+44>>2]=a;i=a+u|0;a=h+16|0;f[a>>2]=i;f[h+28>>2]=i;i=Iy(h,r,n)|0;if(u){r=f[e>>2]|0;t[r+(((r|0)==(f[a>>2]|0))<<31>>31)>>0]=0}}c=d;return i|0}function Fy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0;a=c;c=c+112|0;t=a;n=t;s=n+112|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(s|0));f[t+32>>2]=29;f[t+44>>2]=e;f[t+76>>2]=-1;f[t+84>>2]=e;s=Dy(t,i,r)|0;c=a;return s|0}function Uy(e,i,r){e=e|0;i=i|0;r=r|0;return+ +Ec(e,i,2)}function jy(e,i,r){e=e|0;i=i|0;r=r|0;e=Ac(e,i,r,-1,-1)|0;return e|0}function Hy(e,i,r){e=e|0;i=i|0;r=r|0;e=Ac(e,i,r,0,-2147483648)|0;return e|0}function zy(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;s=i&255;n=(r|0)!=0;e:do{if(n&(e&3|0)!=0){a=i&255;while(1){if((t[e>>0]|0)==a<<24>>24){l=6;break e}e=e+1|0;r=r+-1|0;n=(r|0)!=0;if(!(n&(e&3|0)!=0)){l=5;break}}}else l=5}while(0);if((l|0)==5)if(n)l=6;else r=0;e:do{if((l|0)==6){a=i&255;if((t[e>>0]|0)!=a<<24>>24){n=re(s,16843009)|0;i:do{if(r>>>0>3)while(1){s=f[e>>2]^n;if((s&-2139062144^-2139062144)&s+-16843009)break;e=e+4|0;r=r+-4|0;if(r>>>0<=3){l=11;break i}}else l=11}while(0);if((l|0)==11)if(!r){r=0;break}while(1){if((t[e>>0]|0)==a<<24>>24)break e;e=e+1|0;r=r+-1|0;if(!r){r=0;break}}}}}while(0);return((r|0)!=0?e:0)|0}function Yy(e,i){e=e|0;i=i|0;var r=0,n=0;r=i;e:do{if(!((r^e)&3)){if(r&3)do{r=t[i>>0]|0;t[e>>0]=r;if(!(r<<24>>24))break e;i=i+1|0;e=e+1|0}while((i&3|0)!=0);r=f[i>>2]|0;if(!((r&-2139062144^-2139062144)&r+-16843009)){n=e;while(1){i=i+4|0;e=n+4|0;f[n>>2]=r;r=f[i>>2]|0;if((r&-2139062144^-2139062144)&r+-16843009)break;else n=e}}n=8}else n=8}while(0);if((n|0)==8){n=t[i>>0]|0;t[e>>0]=n;if(n<<24>>24)do{i=i+1|0;e=e+1|0;n=t[i>>0]|0;t[e>>0]=n}while(n<<24>>24!=0)}return e|0}function qy(e,i){e=e|0;i=i|0;var r=0,n=0;n=t[e>>0]|0;r=t[i>>0]|0;if(n<<24>>24==0?1:n<<24>>24!=r<<24>>24)i=n;else{do{e=e+1|0;i=i+1|0;n=t[e>>0]|0;r=t[i>>0]|0}while(!(n<<24>>24==0?1:n<<24>>24!=r<<24>>24));i=n}return(i&255)-(r&255)|0}function Xy(e,i){e=e|0;i=i|0;Yy(e,i)|0;return e|0}function Vy(e){e=e|0;var i=0,r=0,n=0;n=e;e:do{if(!(n&3))r=4;else{i=e;e=n;while(1){if(!(t[i>>0]|0))break e;i=i+1|0;e=i;if(!(e&3)){e=i;r=4;break}}}}while(0);if((r|0)==4){while(1){i=f[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009))e=e+4|0;else break}if((i&255)<<24>>24)do{e=e+1|0}while((t[e>>0]|0)!=0)}return e-n|0}function Gy(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,f=0;if(!r)i=0;else{n=t[e>>0]|0;e:do{if(!(n<<24>>24))n=0;else while(1){r=r+-1|0;f=t[i>>0]|0;if(!(n<<24>>24==f<<24>>24&((r|0)!=0&f<<24>>24!=0)))break e;e=e+1|0;i=i+1|0;n=t[e>>0]|0;if(!(n<<24>>24)){n=0;break}}}while(0);i=(n&255)-(a[i>>0]|0)|0}return i|0}function Ky(e){e=e|0;var i=0;i=e;while(1)if(!(f[i>>2]|0))break;else i=i+4|0;return i-e>>2|0}function Wy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(r){t=e;while(1){r=r+-1|0;f[t>>2]=f[i>>2];if(!r)break;else{i=i+4|0;t=t+4|0}}}return e|0}function Zy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=(r|0)==0;if(e-i>>2>>>0>>0){if(!t)do{r=r+-1|0;f[e+(r<<2)>>2]=f[i+(r<<2)>>2]}while((r|0)!=0)}else if(!t){t=i;i=e;while(1){r=r+-1|0;f[i>>2]=f[t>>2];if(!r)break;else{t=t+4|0;i=i+4|0}}}return e|0}function Jy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(r){t=e;while(1){r=r+-1|0;f[t>>2]=i;if(!r)break;else t=t+4|0}}return e|0}function Qy(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,s=0,l=0,o=0;l=e+4|0;r=f[l>>2]|0;o=e+100|0;if(r>>>0<(f[o>>2]|0)>>>0){f[l>>2]=r+1;r=a[r>>0]|0}else r=jg(e)|0;switch(r|0){case 43:case 45:{t=(r|0)==45&1;r=f[l>>2]|0;if(r>>>0<(f[o>>2]|0)>>>0){f[l>>2]=r+1;r=a[r>>0]|0}else r=jg(e)|0;if((i|0)!=0&(r+-48|0)>>>0>9?(f[o>>2]|0)!=0:0){f[l>>2]=(f[l>>2]|0)+-1;s=t}else s=t;break}default:s=0}if((r+-48|0)>>>0>9)if(!(f[o>>2]|0)){t=-2147483648;r=0}else{f[l>>2]=(f[l>>2]|0)+-1;t=-2147483648;r=0}else{t=0;do{t=r+-48+(t*10|0)|0;r=f[l>>2]|0;if(r>>>0<(f[o>>2]|0)>>>0){f[l>>2]=r+1;r=a[r>>0]|0}else r=jg(e)|0}while((r+-48|0)>>>0<10&(t|0)<214748364);i=((t|0)<0)<<31>>31;if((r+-48|0)>>>0<10){do{i=Om(t|0,i|0,10,0)|0;t=x;r=Mm(r|0,((r|0)<0)<<31>>31|0,-48,-1)|0;t=Mm(r|0,x|0,i|0,t|0)|0;i=x;r=f[l>>2]|0;if(r>>>0<(f[o>>2]|0)>>>0){f[l>>2]=r+1;r=a[r>>0]|0}else r=jg(e)|0}while((r+-48|0)>>>0<10&((i|0)<21474836|(i|0)==21474836&t>>>0<2061584302));n=t}else n=t;if((r+-48|0)>>>0<10)do{r=f[l>>2]|0;if(r>>>0<(f[o>>2]|0)>>>0){f[l>>2]=r+1;r=a[r>>0]|0}else r=jg(e)|0}while((r+-48|0)>>>0<10);if(f[o>>2]|0)f[l>>2]=(f[l>>2]|0)+-1;e=(s|0)!=0;r=gm(0,0,n|0,i|0)|0;t=e?x:i;r=e?r:n}x=t;return r|0}function $y(e){e=e|0;if(!(f[e+68>>2]|0))ky(e);return}function eM(e){e=e|0;if(!(f[e+68>>2]|0))ky(e);return}function iM(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0;i=e+20|0;a=e+28|0;if((f[i>>2]|0)>>>0>(f[a>>2]|0)>>>0?(uM[f[e+36>>2]&63](e,0,0)|0,(f[i>>2]|0)==0):0)i=-1;else{s=e+4|0;r=f[s>>2]|0;t=e+8|0;n=f[t>>2]|0;if(r>>>0>>0)uM[f[e+40>>2]&63](e,r-n|0,1)|0;f[e+16>>2]=0;f[a>>2]=0;f[i>>2]=0;f[t>>2]=0;f[s>>2]=0;i=0}return i|0}var rM=[av,Yl,Gl,zo,Vo,Jo,$o,Nw,Kw,av,av,av,av,av,av,av];var tM=[sv,Hv,Ps,vs,ss,Wa,Na,Aa,la,_g,wg,dg,sv,sv,sv,sv];var nM=[lv,tu,ou,lv];var fM=[ov,Nv,Fv,Ts,Cs,ks,ws,ts,ns,Xa,Va,Oa,Ba,ga,ya,na,fa,Xf,Vf,Of,Bf,gf,yf,of,uf,Zn,Jn,fn,an,Xt,Vt,$i,er,gt,At,yt,$d,ib,eb,rb,qr,Xr,gp,Vr,Nr,Fr,br,kr,yr,Mr,Rr,Lr,Gr,Kr,et,it,st,lt,bt,kt,Yt,qt,bn,kn,gn,yn,Cn,Rn,In,Dn,va,pa,Ch,Wv,fp,ap,yp,Mp,Fp,Up,Xp,Vp,Zp,Jp,$p,rg,eg,ig,tg,ng,Sd,qc,Zc,cd,ih,sh,Sh,Th,hd,Td,Hd,Yd,zd,qd,Gd,Wd,Kd,Zd,sb,ob,lb,ub,_b,mb,td,vb,pb,gb,Mb,Fu,Tb,Cb,xb,Ob,Gb,Kb,dk,bk,Ck,Rk,Xs,Vs,wl,_l,jl,zl,Xl,Vl,Wl,Zl,ao,so,mo,vo,Ro,Lo,jo,Ho,Wo,Zo,iu,ru,su,lu,du,bu,mu,vu,Su,Tu,rc,tc,Dw,gc,sw,lw,ow,uw,yb,Nu,ju,hc,Hk,Wk,tw,nw,Ep,dp,xp,Qi,dd,Vd,xt,ca,Tg,$y,eM,Nc,Xg,Yo,Xo,Uu,V_,$_,em,im,rm,tm,nm,Oh,Gh,Pc,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov];var aM=[uv,jv,Ls,ms,as,Ka,Da,Ea,sa,Gf,If,Mf,cf,Qn,sn,Gt,ir,bd,sp,up,Xc,Wc,rh,ah,Rd,$l,eo,io,ro,no,fo,uo,co,ho,bo,wo,_o,yo,Mo,Eo,Ao,To,Co,Oo,Bo,Io,Do,Fo,Uo,_u,yu,kw,_w,vw,ww,mw,pw,qi,Ap,cp,hp,bp,ld,lr,ur,tb,rd,Hh,Pt,Jt,Yn,tf,kf,Tf,Uf,Jf,ua,Ta,Ua,Ja,os,gs,Os,Yv,tp,Lp,_h,kh,ad,cb,wh,Uh,Jh,Zh,b_,k_,w_,__,m_,v_,pc,p_,g_,y_,M_,E_,A_,S_,T_,C_,R_,L_,P_,x_,O_,B_,I_,D_,N_,F_,U_,j_,H_,z_,q_,um,uv,uv];var sM=[cv,Bb,Ib,Db,Nb,Fb,Ub,jb,Hb,zb,Yb,qb,Wb,Zb,Jb,Qb,$b,ek,ik,rk,tk,nk,fk,pk,yk,Ok,Us,Ks,Ws,Zs,Qs,el,vl,pl,gl,Ml,Al,au,hu,Dr,a_,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv];var lM=[hv,md,vd,Hr,yd,Zv,jp,Gp,Qp,_y,Vc,Bd,Dd,Nd,Od,Jc,Qc,th,gd,lh,oh,db,Gs,yw,Ew,Sw,xw,Bw,Cw,Lw,ml,Mw,Aw,Tw,Ow,Iw,Rw,Pw,Jl,Ql,to,lo,oo,ko,po,go,So,Po,xo,No,Nk,Fk,jk,cw,dw,hw,bw,wc,_c,vc,Xk,Vk,Kk,$k,ew,rw,$v,Bp,sd,wp,Xd,Jd,dv,bv,kv,Wg,Ky,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv];var oM=[wv,qo,Qo,wv];var uM=[_v,kd,pd,Ed,vh,ph,fg,Sc,py,vy,my,gy,Ld,Id,Gc,Ud,nh,Sb,Pb,ku,pu,fc,sc,uc,Hu,Ku,Ju,ec,or,Mc,zh,Kg,c_,d_,uy,oy,ny,By,_v,_v,_v,_v,_v,_v,_v,_v,_v,_v,_v,_v,_v,_v,_v,_v,_v,_v,_v,_v,_v,_v,_v,_v,_v,_v];var cM=[mv,fu,cu,mv];var hM=[vv,Ur,pg,vg,mg,Pd,wd,wu,gu,vv,vv,vv,vv,vv,vv,vv];var dM=[pv,vk,Ak,xk,Hs,pv,pv,pv];var bM=[gv,Go,eu,nu,uu,gv,gv,gv];var kM=[yv,Uv,Rs,_s,fs,Ga,Ia,Ma,aa,Wf,Nf,Af,df,ef,on,Wt,tr,zr,Yr,Fd,Kc,$c,jd,Md,fh,uh,Ad,nc,ac,lc,Vu,Wu,Qu,Sp,Ki,Zi,fb,Du,ab,Gg,Vg,Ih,Kh,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv];var wM=[Mv,Eb,Rb,kk,wk,gk,Tk,Lk,Pk,Fs,Ys,cc,Dk,Uk,ic,kc,mc,qk,Gk,Qk,iw,cy,sy,Mv,Mv,Mv,Mv,Mv,Mv,Mv,Mv,Mv];var _M=[Ev,dm,hm,cm];var mM=[Av,Xi,Op,Vb,Ru,Lu,Pu,Lg,xg,Pg,Av,Av,Av,Av,Av,Av];var vM=[Sv,Kf,Df,Ef,hf,$n,ln,Kt,rr,oc,Yu,qu,Xu,$u,Qv,np,Gw,f_,ly,Yg,fy,vm,mm,_m,wm,km,bm,Sv,Sv,Sv,Sv,Sv];var pM=[Tv,mh,Jv,bb,Tp,Ph,Cv,Ah,Nh,kp,yh,wb,o_,u_,h_,Xh];var gM=[Rv,Lv,Eg,Pv,Ag,xv,Mg,Rv];var yM=[Ov,rl,Tl,Bk,Ik,dc,bc,zk,Yk,Zk,Jk,Ov,Ov,Ov,Ov,Ov];var MM=[Bv,Mk,Sk,js,zs,Bv,Bv,Bv];var EM=[Iv,St,Tt,Mt,Et,jr,wr,_r,Er,Ar,Pr,xr,Wr,Zr,rt,tt,ot,ut,wt,_t,wn,_n,Mn,En,Ln,Pn,Nn,Fn,sg,lg,ug,xd,_d,Ab,Lb,Ni,Eh,nr,fr,ar,sr,cr,hr,dr,un,cn,hn,dn,Iv,Iv,Iv,Iv,Iv,Iv,Iv,Iv,Iv,Iv,Iv,Iv,Iv,Iv,Iv,Iv];return{_jpegls_encode:Rp,___cxa_can_catch:gg,_free:Pc,_jpegls_decode:Cp,___cxa_is_pointer_type:yg,_i64Add:Mm,_memmove:Tm,_i64Subtract:gm,_memset:ym,_malloc:Lc,_memcpy:Am,_bitshift64Lshr:Em,_bitshift64Shl:Sm,__GLOBAL__I_000101:Fc,__GLOBAL__sub_I_jpegls_cpp:Ji,__GLOBAL__sub_I_iostream_cpp:Uc,runPostSets:pm,stackAlloc:Ti,stackSave:Ci,stackRestore:Ri,establishStackSpace:Li,setThrew:Pi,setTempRet0:Bi,getTempRet0:Ii,dynCall_iiiiiiii:Nm,dynCall_viiiii:Fm,dynCall_iiiiiid:Um,dynCall_vi:jm,dynCall_vii:Hm,dynCall_iiiiiii:zm,dynCall_ii:Ym,dynCall_iiiiiiiiiiii:qm,dynCall_iiii:Xm,dynCall_viiiiiiiiiiiiiii:Vm,dynCall_viiiiii:Gm,dynCall_viiiiiii:Km,dynCall_viiiiiiiiii:Wm,dynCall_iii:Zm,dynCall_iiiiii:Jm,dynCall_diii:Qm,dynCall_i:$m,dynCall_iiiii:ev,dynCall_viii:iv,dynCall_v:rv,dynCall_iiiiiiiii:tv,dynCall_iiiiid:nv,dynCall_viiii:fv}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_jpegls_encode=Module._jpegls_encode=asm._jpegls_encode,___cxa_can_catch=Module.___cxa_can_catch=asm.___cxa_can_catch,_free=Module._free=asm._free,_jpegls_decode=Module._jpegls_decode=asm._jpegls_decode,___cxa_is_pointer_type=Module.___cxa_is_pointer_type=asm.___cxa_is_pointer_type,_i64Add=Module._i64Add=asm._i64Add,_memmove=Module._memmove=asm._memmove,_i64Subtract=Module._i64Subtract=asm._i64Subtract,_memset=Module._memset=asm._memset,_malloc=Module._malloc=asm._malloc,_memcpy=Module._memcpy=asm._memcpy,runPostSets=Module.runPostSets=asm.runPostSets,__GLOBAL__sub_I_iostream_cpp=Module.__GLOBAL__sub_I_iostream_cpp=asm.__GLOBAL__sub_I_iostream_cpp,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,__GLOBAL__sub_I_jpegls_cpp=Module.__GLOBAL__sub_I_jpegls_cpp=asm.__GLOBAL__sub_I_jpegls_cpp,__GLOBAL__I_000101=Module.__GLOBAL__I_000101=asm.__GLOBAL__I_000101,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,dynCall_iiiiiiii=Module.dynCall_iiiiiiii=asm.dynCall_iiiiiiii,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_iiiiiid=Module.dynCall_iiiiiid=asm.dynCall_iiiiiid,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_iiiiiii=Module.dynCall_iiiiiii=asm.dynCall_iiiiiii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_iiiiiiiiiiii=Module.dynCall_iiiiiiiiiiii=asm.dynCall_iiiiiiiiiiii,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_viiiiiiiiiiiiiii=Module.dynCall_viiiiiiiiiiiiiii=asm.dynCall_viiiiiiiiiiiiiii,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_viiiiiii=Module.dynCall_viiiiiii=asm.dynCall_viiiiiii,dynCall_viiiiiiiiii=Module.dynCall_viiiiiiiiii=asm.dynCall_viiiiiiiiii,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiii=Module.dynCall_iiiii=asm.dynCall_iiiii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_iiiiiiiii=Module.dynCall_iiiiiiiii=asm.dynCall_iiiiiiiii,dynCall_iiiiid=Module.dynCall_iiiiid=asm.dynCall_iiiiid,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii,initialStackTop;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}Runtime.stackAlloc=asm.stackAlloc,Runtime.stackSave=asm.stackSave,Runtime.stackRestore=asm.stackRestore,Runtime.establishStackSpace=asm.establishStackSpace,Runtime.setTempRet0=asm.setTempRet0,Runtime.getTempRet0=asm.getTempRet0,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var preloadStartTime=null,calledMain=!1;function run(e){function i(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Module.setStatus("")}),1),i()}),1)):i()))}function exit(e,i){if(!i||!Module.noExitRuntime)throw Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE?(process.stdout.once("drain",(function(){process.exit(e)})),console.log(" "),setTimeout((function(){process.exit(e)}),500)):ENVIRONMENT_IS_SHELL&&"function"==typeof quit&&quit(e),new ExitStatus(e)}dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){assert(0==runDependencies,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),assert(0==__ATPRERUN__.length,"cannot call main when preRun functions remain to be called"),e=e||[],ensureInitRuntime();var i=e.length+1;function r(){for(var e=0;e<3;e++)t.push(0)}var t=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];r();for(var n=0;n0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),Module};module.exports=CharLS},function(e,i){var r={Unkown:0,Grayscale:1,AdobeRGB:2,RGB:3,CYMK:4},t=function(){"use strict";var e=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),i=4017,t=799,n=3406,f=2276,a=1567,s=3784,l=5793,o=2896;function u(){}function c(e,i){for(var r,t,n=0,f=[],a=16;a>0&&!e[a-1];)a--;f.push({children:[],index:0});var s,l=f[0];for(r=0;r0;)l=f.pop();for(l.index++,f.push(l);f.length<=r;)f.push(s={children:[],index:0}),l.children[l.index]=s.children,l=s;n++}r+10)return b>>--k&1;if(255==(b=i[r++])){var e=i[r++];if(e)throw"unexpected marker: "+(b<<8|e).toString(16)}return k=7,b>>>7}function _(e){for(var i,r=e;null!==(i=w());){if("number"==typeof(r=r[i]))return r;if("object"!=typeof r)throw"invalid huffman sequence"}return null}function m(e){for(var i=0;e>0;){var r=w();if(null===r)return;i=i<<1|r,e--}return i}function v(e){var i=m(e);return i>=1<0)p--;else for(var t=a,n=s;t<=n;){var f=_(i.huffmanTableAC),l=15&f,u=f>>4;if(0!==l){var c=e[t+=u];i.blockData[r+c]=v(l)*(1<>4,0===c)f<15?(p=m(f)+(1<>4;if(0!==s){var o=e[f+=l];i.blockData[r+o]=v(s),f++}else{if(l<15)break;f+=16}}};var x,O,B,I,D=0;for(O=1==P?n[0].blocksPerLine*n[0].blocksPerColumn:u*t.mcusPerColumn,f||(f=O);D=65488&&x<=65495))break;r+=2}return r-d}function b(e,r,u){var c,h,d,b,k,w,_,m,v,p,g=e.quantizationTable;for(p=0;p<64;p++)u[p]=e.blockData[r+p]*g[p];for(p=0;p<8;++p){var y=8*p;0!==u[1+y]||0!==u[2+y]||0!==u[3+y]||0!==u[4+y]||0!==u[5+y]||0!==u[6+y]||0!==u[7+y]?(c=l*u[0+y]+128>>8,h=l*u[4+y]+128>>8,d=u[2+y],b=u[6+y],k=o*(u[1+y]-u[7+y])+128>>8,m=o*(u[1+y]+u[7+y])+128>>8,w=u[3+y]<<4,_=u[5+y]<<4,v=c-h+1>>1,c=c+h+1>>1,h=v,v=d*s+b*a+128>>8,d=d*a-b*s+128>>8,b=v,v=k-_+1>>1,k=k+_+1>>1,_=v,v=m+w+1>>1,w=m-w+1>>1,m=v,v=c-b+1>>1,c=c+b+1>>1,b=v,v=h-d+1>>1,h=h+d+1>>1,d=v,v=k*f+m*n+2048>>12,k=k*n-m*f+2048>>12,m=v,v=w*t+_*i+2048>>12,w=w*i-_*t+2048>>12,_=v,u[0+y]=c+m,u[7+y]=c-m,u[1+y]=h+_,u[6+y]=h-_,u[2+y]=d+w,u[5+y]=d-w,u[3+y]=b+k,u[4+y]=b-k):(v=l*u[0+y]+512>>10,u[0+y]=v,u[1+y]=v,u[2+y]=v,u[3+y]=v,u[4+y]=v,u[5+y]=v,u[6+y]=v,u[7+y]=v)}for(p=0;p<8;++p){var M=p;0!==u[8+M]||0!==u[16+M]||0!==u[24+M]||0!==u[32+M]||0!==u[40+M]||0!==u[48+M]||0!==u[56+M]?(c=l*u[0+M]+2048>>12,h=l*u[32+M]+2048>>12,d=u[16+M],b=u[48+M],k=o*(u[8+M]-u[56+M])+2048>>12,m=o*(u[8+M]+u[56+M])+2048>>12,w=u[24+M],_=u[40+M],v=c-h+1>>1,c=c+h+1>>1,h=v,v=d*s+b*a+2048>>12,d=d*a-b*s+2048>>12,b=v,v=k-_+1>>1,k=k+_+1>>1,_=v,v=m+w+1>>1,w=m-w+1>>1,m=v,v=c-b+1>>1,c=c+b+1>>1,b=v,v=h-d+1>>1,h=h+d+1>>1,d=v,v=k*f+m*n+2048>>12,k=k*n-m*f+2048>>12,m=v,v=w*t+_*i+2048>>12,w=w*i-_*t+2048>>12,_=v,u[0+M]=c+m,u[56+M]=c-m,u[8+M]=h+_,u[48+M]=h-_,u[16+M]=d+w,u[40+M]=d-w,u[24+M]=b+k,u[32+M]=b-k):(v=l*u[p+0]+8192>>14,u[0+M]=v,u[8+M]=v,u[16+M]=v,u[24+M]=v,u[32+M]=v,u[40+M]=v,u[48+M]=v,u[56+M]=v)}for(p=0;p<64;++p){var E=r+p,A=u[p];A=A<=-2056/e.bitConversion?0:A>=2024/e.bitConversion?255/e.bitConversion:A+2056/e.bitConversion>>4,e.blockData[E]=A}}function k(e,i){for(var r=i.blocksPerLine,t=i.blocksPerColumn,n=new Int32Array(64),f=0;f=255?255:0|e}return u.prototype={load:function(e){var i=function(e){this.parse(e),this.onload&&this.onload()}.bind(this);if(e.indexOf("data:")>-1){for(var r=e.indexOf("base64,")+7,t=atob(e.substring(r)),n=new Uint8Array(t.length),f=t.length-1;f>=0;f--)n[f]=t.charCodeAt(f);i(t)}else{var a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="arraybuffer",a.onload=function(){var e=new Uint8Array(a.response);i(e)}.bind(this),a.send(null)}},parse:function(i){function t(){var e=i[l]<<8|i[l+1];return l+=2,e}function n(){var e=t(),r=i.subarray(l,l+e-2);return l+=r.length,r}function f(e){for(var i=Math.ceil(e.samplesPerLine/8/e.maxH),r=Math.ceil(e.scanLines/8/e.maxV),t=0;t>4==0)for(m=0;m<64;m++){M[e[m]]=i[l++]}else{if(y>>4!=1)throw"DQT: invalid table spec";for(m=0;m<64;m++){M[e[m]]=t()}}h[15&y]=M}break;case 65472:case 65473:case 65474:if(a)throw"Only single frame JPEGs supported";t(),(a={}).extended=65473===_,a.progressive=65474===_,a.precision=i[l++],a.scanLines=t(),a.samplesPerLine=t(),a.components=[],a.componentIds={};var E,A=i[l++],S=0,T=0;for(q=0;q>4,R=15&i[l+1];S>4==0?w:b)[15&x]=c(O,I)}break;case 65501:t(),s=t();break;case 65498:t();var D=i[l++],N=[];for(q=0;q>4],X.huffmanTableAC=b[15&U],N.push(X)}var j=i[l++],H=i[l++],z=i[l++],Y=d(i,l,a,N,s,j,H,z>>4,15&z);l+=Y;break;case 65535:255!==i[l]&&l--;break;default:if(255==i[l-3]&&i[l-2]>=192&&i[l-2]<=254){l-=3;break}throw"unknown JPEG marker "+_.toString(16)}_=t()}switch(this.width=a.samplesPerLine,this.height=a.scanLines,this.jfif=o,this.adobe=u,this.components=[],a.components.length){case 1:this.colorspace=r.Grayscale;break;case 3:this.adobe?this.colorspace=r.AdobeRGB:this.colorspace=r.RGB;break;case 4:this.colorspace=r.CYMK;break;default:this.colorspace=r.Unknown}for(var q=0;q>>16&65535|0,a=0;0!==r;){r-=a=r>2e3?2e3:r;do{f=f+(n=n+i[t++]|0)|0}while(--a);n%=65521,f%=65521}return n|f<<16|0}},function(e,i,r){"use strict";var t=function(){for(var e,i=[],r=0;r<256;r++){e=r;for(var t=0;t<8;t++)e=1&e?3988292384^e>>>1:e>>>1;i[r]=e}return i}();e.exports=function(e,i,r,n){var f=t,a=n+r;e^=-1;for(var s=n;s>>8^f[255&(e^i[s])];return-1^e}},function(e,i,r){"use strict";var t=r(0),n=!0,f=!0;try{String.fromCharCode.apply(null,[0])}catch(e){n=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){f=!1}for(var a=new t.Buf8(256),s=0;s<256;s++)a[s]=s>=252?6:s>=248?5:s>=240?4:s>=224?3:s>=192?2:1;function l(e,i){if(i<65534&&(e.subarray&&f||!e.subarray&&n))return String.fromCharCode.apply(null,t.shrinkBuf(e,i));for(var r="",a=0;a>>6,i[a++]=128|63&r):r<65536?(i[a++]=224|r>>>12,i[a++]=128|r>>>6&63,i[a++]=128|63&r):(i[a++]=240|r>>>18,i[a++]=128|r>>>12&63,i[a++]=128|r>>>6&63,i[a++]=128|63&r);return i},i.buf2binstring=function(e){return l(e,e.length)},i.binstring2buf=function(e){for(var i=new t.Buf8(e.length),r=0,n=i.length;r4)o[t++]=65533,r+=f-1;else{for(n&=2===f?31:3===f?15:7;f>1&&r1?o[t++]=65533:n<65536?o[t++]=n:(n-=65536,o[t++]=55296|n>>10&1023,o[t++]=56320|1023&n)}return l(o,t)},i.utf8border=function(e,i){var r;for((i=i||e.length)>e.length&&(i=e.length),r=i-1;r>=0&&128==(192&e[r]);)r--;return r<0?i:0===r?i:r+a[e[r]]>i?r:i}},function(e,i,r){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},function(e,i,r){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(e,i){"use strict";var r={};function t(e){r.verbosity>=r.VERBOSITY_LEVELS.infos&&console.log("Info: "+e)}function n(e){r.verbosity>=r.VERBOSITY_LEVELS.warnings&&console.log("Warning: "+e)}function f(e,i,r){return Object.defineProperty(e,i,{value:r,enumerable:!0,configurable:!0,writable:!1}),r}function a(e){for(var i=1,r=0;e>i;)i<<=1,r++;return r}function s(e,i){return e[i]<<8|e[i+1]}function l(e,i){return(e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3])>>>0}function o(){var e={};return e.promise=new Promise((function(i,r){e.resolve=i,e.reject=r})),e}var u=function(){function e(){this.failOnCorruptedImage=!1}function i(e,i){e.x0=Math.ceil(i.XOsiz/e.XRsiz),e.x1=Math.ceil(i.Xsiz/e.XRsiz),e.y0=Math.ceil(i.YOsiz/e.YRsiz),e.y1=Math.ceil(i.Ysiz/e.YRsiz),e.width=e.x1-e.x0,e.height=e.y1-e.y0}function r(e,i){for(var r,t=e.SIZ,n=[],f=Math.ceil((t.Xsiz-t.XTOsiz)/t.XTsiz),a=Math.ceil((t.Ysiz-t.YTOsiz)/t.YTsiz),s=0;a>s;s++)for(var l=0;f>l;l++)(r={}).tx0=Math.max(t.XTOsiz+l*t.XTsiz,t.XOsiz),r.ty0=Math.max(t.YTOsiz+s*t.YTsiz,t.YOsiz),r.tx1=Math.min(t.XTOsiz+(l+1)*t.XTsiz,t.Xsiz),r.ty1=Math.min(t.YTOsiz+(s+1)*t.YTsiz,t.Ysiz),r.width=r.tx1-r.tx0,r.height=r.ty1-r.ty0,r.components=[],n.push(r);e.tiles=n;for(var o=0,u=t.Csiz;u>o;o++)for(var c=i[o],h=0,d=n.length;d>h;h++){var b={};r=n[h],b.tcx0=Math.ceil(r.tx0/c.XRsiz),b.tcy0=Math.ceil(r.ty0/c.YRsiz),b.tcx1=Math.ceil(r.tx1/c.XRsiz),b.tcy1=Math.ceil(r.ty1/c.YRsiz),b.width=b.tcx1-b.tcx0,b.height=b.tcy1-b.tcy0,r.components[o]=b}}function f(e,i,r){var t=i.codingStyleParameters,n={};return t.entropyCoderWithCustomPrecincts?(n.PPx=t.precinctsSizes[r].PPx,n.PPy=t.precinctsSizes[r].PPy):(n.PPx=15,n.PPy=15),n.xcb_=r>0?Math.min(t.xcb,n.PPx-1):Math.min(t.xcb,n.PPx),n.ycb_=r>0?Math.min(t.ycb,n.PPy-1):Math.min(t.ycb,n.PPy),n}function o(e,i,r){var t=1<i.trx0?Math.ceil(i.trx1/t)-Math.floor(i.trx0/t):0,o=i.try1>i.try0?Math.ceil(i.try1/n)-Math.floor(i.try0/n):0,u=l*o;i.precinctParameters={precinctWidth:t,precinctHeight:n,numprecinctswide:l,numprecinctshigh:o,numprecincts:u,precinctWidthInSubband:a,precinctHeightInSubband:s}}function u(e,i,r){var t,n,f,a,s=r.xcb_,l=r.ycb_,o=1<>s,h=i.tby0>>l,d=i.tbx1+o-1>>s,b=i.tby1+u-1>>l,k=i.resolution.precinctParameters,w=[],_=[];for(n=h;b>n;n++)for(t=c;d>t;t++){if((f={cbx:t,cby:n,tbx0:o*t,tby0:u*n,tbx1:o*(t+1),tby1:u*(n+1)}).tbx0_=Math.max(i.tbx0,f.tbx0),f.tby0_=Math.max(i.tby0,f.tby0),f.tbx1_=Math.min(i.tbx1,f.tbx1),f.tby1_=Math.min(i.tby1,f.tby1),a=Math.floor((f.tbx0_-i.tbx0)/k.precinctWidthInSubband)+Math.floor((f.tby0_-i.tby0)/k.precinctHeightInSubband)*k.numprecinctswide,f.precinctNumber=a,f.subbandType=i.type,f.Lblock=3,!(f.tbx1_<=f.tbx0_||f.tby1_<=f.tby0_)){w.push(f);var m=_[a];void 0!==m?(tm.cbxMax&&(m.cbxMax=t),nm.cbyMax&&(m.cbyMax=n)):_[a]=m={cbxMin:t,cbyMin:n,cbxMax:t,cbyMax:n},f.precinct=m}}i.codeblockParameters={codeblockWidth:s,codeblockHeight:l,numcodeblockwide:d-c+1,numcodeblockhigh:b-h+1},i.codeblocks=w,i.precincts=_}function h(e,i,r){for(var t=[],n=e.subbands,f=0,a=n.length;a>f;f++)for(var s=n[f].codeblocks,l=0,o=s.length;o>l;l++){var u=s[l];u.precinctNumber===i&&t.push(u)}return{layerNumber:r,codeblocks:t}}function d(e){for(var i=e.SIZ,r=e.currentTile.index,t=e.tiles[r],n=t.codingStyleDefaultParameters.layersCount,f=i.Csiz,a=0,s=0;f>s;s++)a=Math.max(a,t.components[s].codingStyleParameters.decompositionLevelsCount);var l=0,o=0,u=0,c=0;this.nextPacket=function(){for(;n>l;l++){for(;a>=o;o++){for(;f>u;u++){var e=t.components[u];if(!(o>e.codingStyleParameters.decompositionLevelsCount)){for(var i=e.resolutions[o],r=i.precinctParameters.numprecincts;r>c;){var s=h(i,c,l);return c++,s}c=0}}u=0}o=0}}}function b(e){for(var i=e.SIZ,r=e.currentTile.index,t=e.tiles[r],n=t.codingStyleDefaultParameters.layersCount,f=i.Csiz,a=0,s=0;f>s;s++)a=Math.max(a,t.components[s].codingStyleParameters.decompositionLevelsCount);var l=0,o=0,u=0,c=0;this.nextPacket=function(){for(;a>=l;l++){for(;n>o;o++){for(;f>u;u++){var e=t.components[u];if(!(l>e.codingStyleParameters.decompositionLevelsCount)){for(var i=e.resolutions[l],r=i.precinctParameters.numprecincts;r>c;){var s=h(i,c,o);return c++,s}c=0}}u=0}o=0}}}function k(e){var i,r,t,n,f=e.SIZ,a=e.currentTile.index,s=e.tiles[a],l=s.codingStyleDefaultParameters.layersCount,o=f.Csiz,u=0;for(t=0;o>t;t++){var c=s.components[t];u=Math.max(u,c.codingStyleParameters.decompositionLevelsCount)}var d=new Int32Array(u+1);for(r=0;u>=r;++r){var b=0;for(t=0;o>t;++t){var k=s.components[t].resolutions;r=r;r++){for(;nt;t++){var e=s.components[t];if(!(r>e.codingStyleParameters.decompositionLevelsCount)){var f=e.resolutions[r],a=f.precinctParameters.numprecincts;if(!(n>=a)){for(;l>i;){var c=h(f,n,i);return i++,c}i=0}}}t=0}n=0}}}function w(e){var i=e.SIZ,r=e.currentTile.index,t=e.tiles[r],n=t.codingStyleDefaultParameters.layersCount,f=i.Csiz,a=v(t),s=a,l=0,o=0,u=0,c=0,d=0;this.nextPacket=function(){for(;du;u++){for(var e=t.components[u],i=e.codingStyleParameters.decompositionLevelsCount;i>=o;o++){var r=e.resolutions[o],b=a.components[u].resolutions[o],k=m(c,d,b,s,r);if(null!==k){for(;n>l;){var w=h(r,k,l);return l++,w}l=0}}o=0}u=0}c=0}}}function _(e){var i=e.SIZ,r=e.currentTile.index,t=e.tiles[r],n=t.codingStyleDefaultParameters.layersCount,f=i.Csiz,a=v(t),s=0,l=0,o=0,u=0,c=0;this.nextPacket=function(){for(;f>o;++o){for(var e=t.components[o],i=a.components[o],r=e.codingStyleParameters.decompositionLevelsCount;c=l;l++){var d=e.resolutions[l],b=i.resolutions[l],k=m(u,c,b,i,d);if(null!==k){for(;n>s;){var w=h(d,k,s);return s++,w}s=0}}l=0}u=0}c=0}}}function m(e,i,r,t,n){var f=e*t.minWidth,a=i*t.minHeight;if(f%r.width!=0||a%r.height!=0)return null;var s=a/r.width*n.precinctParameters.numprecinctswide;return f/r.height+s}function v(e){for(var i=e.components.length,r=Number.MAX_VALUE,t=Number.MAX_VALUE,n=0,f=0,a=new Array(i),s=0;i>s;s++){for(var l=e.components[s],o=l.codingStyleParameters.decompositionLevelsCount,u=new Array(o+1),c=Number.MAX_VALUE,h=Number.MAX_VALUE,d=0,b=0,k=1,w=o;w>=0;--w){var _=l.resolutions[w],m=k*_.precinctParameters.precinctWidth,v=k*_.precinctParameters.precinctHeight;c=Math.min(c,m),h=Math.min(h,v),d=Math.max(d,_.precinctParameters.numprecinctswide),b=Math.max(b,_.precinctParameters.numprecinctshigh),u[w]={width:m,height:v},k<<=1}r=Math.min(r,c),t=Math.min(t,h),n=Math.max(n,d),f=Math.max(f,b),a[s]={resolutions:u,minWidth:c,minHeight:h,maxNumWide:d,maxNumHigh:b}}return{components:a,minWidth:r,minHeight:t,maxNumWide:n,maxNumHigh:f}}function p(e){for(var i=e.SIZ,r=e.currentTile.index,t=e.tiles[r],n=i.Csiz,a=0;n>a;a++){for(var s=t.components[a],l=s.codingStyleParameters.decompositionLevelsCount,c=[],h=[],m=0;l>=m;m++){var v,p=f(0,s,m),g={},y=1<h;){if(r+c>=i.length)throw new Error("Unexpected EOF");var t=i[r+c];c++,d?(u=u<<7|t,h+=7,d=!1):(u=u<<8|t,h+=8),255===t&&(d=!0)}return u>>>(h-=e)&(1<e?e+3:31>(e=n(5))?e+6:(e=n(7))+37}for(var u,c=0,h=0,d=!1,b=e.currentTile.index,k=e.tiles[b],w=e.COD.sopMarkerUsed,_=e.COD.ephMarkerUsed,m=k.packetsIterator;t>c;)try{l(),w&&f(145)&&s(4);var v=m.nextPacket();if(void 0===v)return;if(!n(1))continue;for(var p,g=v.layerNumber,y=[],M=0,E=v.codeblocks.length;E>M;M++){var A=(p=v.codeblocks[M]).precinct,S=p.cbx-A.cbxMin,R=p.cby-A.cbyMin,L=!1,P=!1;if(void 0!==p.included)L=!!n(1);else{var x,O;if(void 0!==(A=p.precinct).inclusionTree)x=A.inclusionTree;else{var B=A.cbxMax-A.cbxMin+1,I=A.cbyMax-A.cbyMin+1;x=new C(B,I),O=new T(B,I),A.inclusionTree=x,A.zeroBitPlanesTree=O}for(x.reset(S,R,g);;){if(c>=i.length)return;if(x.isAboveThreshold())break;if(x.isKnown())x.nextLevel();else if(n(1)){if(x.setKnown(),x.isLeaf()){p.included=!0,L=P=!0;break}x.nextLevel()}else x.incrementValue()}}if(L){if(P){for((O=A.zeroBitPlanesTree).reset(S,R);;){if(c>=i.length)return;if(n(1)){if(!O.nextLevel())break}else O.incrementValue()}p.zeroBitPlanes=O.value}for(var D=o();n(1);)p.Lblock++;var N=a(D),F=n((1<D?N-1:N)+p.Lblock);y.push({codeblock:p,codingpasses:D,dataLength:F})}}for(l(),_&&f(146);y.length>0;){var U=y.shift();void 0===(p=U.codeblock).data&&(p.data=[]),p.data.push({data:i,start:r+c,end:r+c+U.dataLength,codingpasses:U.codingpasses}),c+=U.dataLength}}catch(e){return}return c}function y(e,i,r,t,n,f,a,s){for(var l=t.tbx0,o=t.tby0,u=t.tbx1-t.tbx0,h=t.codeblocks,d="H"===t.type.charAt(0)?1:0,b="H"===t.type.charAt(1)?i:0,k=0,w=h.length;w>k;++k){var _=h[k],m=_.tbx1_-_.tbx0_,v=_.tby1_-_.tby0_;if(0!==m&&0!==v&&void 0!==_.data){var p,g;p=new R(m,v,_.subbandType,_.zeroBitPlanes,f),g=2;var y,M,E,A=_.data,S=0,T=0;for(y=0,M=A.length;M>y;y++)S+=(E=A[y]).end-E.start,T+=E.codingpasses;var C=new Int16Array(S),L=0;for(y=0,M=A.length;M>y;y++){var P=(E=A[y]).data.subarray(E.start,E.end);C.set(P,L),L+=P.length}var x=new c(C,0,S);for(p.setDecoder(x),y=0;T>y;y++){switch(g){case 0:p.runSignificancePropogationPass();break;case 1:p.runMagnitudeRefinementPass();break;case 2:p.runCleanupPass(),s&&p.checkSegmentationSymbol()}g=(g+1)%3}var O,B,I,D=_.tbx0_-l+(_.tby0_-o)*u,N=p.coefficentsSign,F=p.coefficentsMagnitude,U=p.bitsDecoded,j=a?0:.5;L=0;var H="LL"!==t.type;for(y=0;v>y;y++){var z=2*(D/u|0)*(i-u)+d+b;for(O=0;m>O;O++){if(0!==(B=F[L])){B=(B+j)*n,0!==N[L]&&(B=-B),I=U[L];var Y=H?z+(D<<1):D;e[Y]=a&&I>=f?B:B*(1<=w;w++){for(var _=t.resolutions[w],m=_.trx1-_.trx0,v=_.try1-_.try0,p=new Float32Array(m*v),g=0,M=_.subbands.length;M>g;g++){var E,A;l?(E=s[k].mu,A=s[k].epsilon,k++):(E=s[0].mu,A=s[0].epsilon+(w>0?1-w:0));var T=_.subbands[g],C=S[T.type];y(p,m,0,T,h?1:Math.pow(2,c+C-A)*(1+E/2048),o+A-1,h,u)}b.push({width:m,height:v,items:p})}var R=d.calculate(b,t.tcx0,t.tcy0);return{left:t.tcx0,top:t.tcy0,width:R.width,height:R.height,items:R.items}}function E(e){for(var i=e.SIZ,r=e.components,t=i.Csiz,n=[],f=0,a=e.tiles.length;a>f;f++){var s,l=e.tiles[f],o=[];for(s=0;t>s;s++)o[s]=M(e,l,s);var u=o[0];if(F=r[0].isSigned)var c=new Int16Array(u.items.length*t);else c=new Uint16Array(u.items.length*t);var h,d,b,k,w,_,m,v,p,g,y,E,A,S,T,C={left:u.left,top:u.top,width:u.width,height:u.height,items:c},R=0;if(l.codingStyleDefaultParameters.multipleComponentTransform){var L=4===t,P=o[0].items,x=o[1].items,O=o[2].items,B=L?o[3].items:null;d=.5+(128<<(h=r[0].precision-8)),k=-(w=.5*(b=255*(1<_;_++,R+=D)v=P[_]+d,p=x[_],y=(E=v-((g=O[_])+p>>2))+g,A=E+p,c[R++]=0>=y?0:y>=b?255:y>>h,c[R++]=0>=E?0:E>=b?255:E>>h,c[R++]=0>=A?0:A>=b?255:A>>h;else for(_=0;m>_;_++,R+=D)v=P[_]+d,p=x[_],y=v+1.402*(g=O[_]),E=v-.34413*p-.71414*g,A=v+1.772*p,c[R++]=0>=y?0:y>=b?255:y>>h,c[R++]=0>=E?0:E>=b?255:E>>h,c[R++]=0>=A?0:A>=b?255:A>>h;if(L)for(_=0,R=3;m>_;_++,R+=4)S=B[_],c[R]=k>=S?0:S>=w?255:S+d>>h}else for(s=0;t>s;s++)if(8===r[s].precision){var N=o[s].items;for(d=.5+(128<<(h=r[s].precision-8)),k=-(b=127.5*(1<_;_++)T=N[_],c[R]=k>=T?0:T>=b?255:T+d>>h,R+=t}else{var F=r[s].isSigned;N=o[s].items;if(F)for(R=s,_=0,m=N.length;m>_;_++)c[R]=N[_],R+=t;else{d=.5+(128<<(h=r[s].precision-8));var U=Math.pow(2,r[s].precision)-1;for(R=s,_=0,m=N.length;m>_;_++)T=N[_],c[R]=Math.max(Math.min(T+d,U),0),R+=t}}n.push(C)}return n}function A(e,i){for(var r=e.SIZ.Csiz,t=e.tiles[i],n=0;r>n;n++){var f=t.components[n],a=void 0!==e.currentTile.QCC[n]?e.currentTile.QCC[n]:e.currentTile.QCD;f.quantizationParameters=a;var s=void 0!==e.currentTile.COC[n]?e.currentTile.COC[n]:e.currentTile.COD;f.codingStyleParameters=s}t.codingStyleDefaultParameters=e.currentTile.COD}var S={LL:0,LH:1,HL:1,HH:2};e.prototype={parse:function(e){if(65359!==s(e,0))for(var i=0,r=e.length;r>i;){var f=8,a=l(e,i),o=l(e,i+4);if(i+=f,1===a&&(a=4294967296*l(e,i)+l(e,i+4),i+=8,f+=8),0===a&&(a=r-i+f),f>a)throw new Error("JPX Error: Invalid box field size");var u=a-f,c=!0;switch(o){case 1785737832:c=!1;break;case 1668246642:var h=e[i];if(e[i+1],e[i+2],1===h){var d=l(e,i+3);switch(d){case 16:case 17:case 18:break;default:n("Unknown colorspace "+d)}}else 2===h&&t("ICC profile not supported");break;case 1785737827:this.parseCodestream(e,i,i+u);break;case 1783636e3:218793738!==l(e,i)&&n("Invalid JP2 signature");break;case 1783634458:case 1718909296:case 1920099697:case 1919251232:case 1768449138:break;default:n("Unsupported header type "+o+" ("+String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,255&o)+")")}c&&(i+=u)}else this.parseCodestream(e,0,e.length)},parseImageProperties:function(e){for(var i=e.getByte();i>=0;){if(65361===(i<<8|(i=e.getByte()))){e.skip(4);var r=e.getInt32()>>>0,t=e.getInt32()>>>0,n=e.getInt32()>>>0,f=e.getInt32()>>>0;e.skip(16);var a=e.getUint16();return this.width=r-n,this.height=t-f,this.componentsCount=a,void(this.bitsPerComponent=8)}}throw new Error("JPX Error: No size marker found in JPX stream")},parseCodestream:function(e,t,f){var a={};try{for(var o=!1,u=t;f>u+1;){var c=s(e,u);u+=2;var h,d,b,k,w,_,m=0;switch(c){case 65359:a.mainHeader=!0;break;case 65497:break;case 65361:m=s(e,u);var v={};v.Xsiz=l(e,u+4),v.Ysiz=l(e,u+8),v.XOsiz=l(e,u+12),v.YOsiz=l(e,u+16),v.XTsiz=l(e,u+20),v.YTsiz=l(e,u+24),v.XTOsiz=l(e,u+28),v.YTOsiz=l(e,u+32);var y=s(e,u+36);v.Csiz=y;var M=[];h=u+38;for(var S=0;y>S;S++){var T={precision:1+(127&e[h]),isSigned:!!(128&e[h]),XRsiz:e[h+1],YRsiz:e[h+1]};i(T,v),M.push(T)}a.SIZ=v,a.components=M,r(a,M),a.QCC=[],a.COC=[];break;case 65372:m=s(e,u);var C={};switch(h=u+2,31&(d=e[h++])){case 0:k=8,w=!0;break;case 1:k=16,w=!1;break;case 2:k=16,w=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+d)}for(C.noQuantization=8===k,C.scalarExpounded=w,C.guardBits=d>>5,b=[];m+u>h;){var R={};8===k?(R.epsilon=e[h++]>>3,R.mu=0):(R.epsilon=e[h]>>3,R.mu=(7&e[h])<<8|e[h+1],h+=2),b.push(R)}C.SPqcds=b,a.mainHeader?a.QCD=C:(a.currentTile.QCD=C,a.currentTile.QCC=[]);break;case 65373:m=s(e,u);var L,P={};switch(h=u+2,a.SIZ.Csiz<257?L=e[h++]:(L=s(e,h),h+=2),31&(d=e[h++])){case 0:k=8,w=!0;break;case 1:k=16,w=!1;break;case 2:k=16,w=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+d)}for(P.noQuantization=8===k,P.scalarExpounded=w,P.guardBits=d>>5,b=[];m+u>h;)R={},8===k?(R.epsilon=e[h++]>>3,R.mu=0):(R.epsilon=e[h]>>3,R.mu=(7&e[h])<<8|e[h+1],h+=2),b.push(R);P.SPqcds=b,a.mainHeader?a.QCC[L]=P:a.currentTile.QCC[L]=P;break;case 65362:m=s(e,u);var x={};h=u+2;var O=e[h++];x.entropyCoderWithCustomPrecincts=!!(1&O),x.sopMarkerUsed=!!(2&O),x.ephMarkerUsed=!!(4&O),x.progressionOrder=e[h++],x.layersCount=s(e,h),h+=2,x.multipleComponentTransform=e[h++],x.decompositionLevelsCount=e[h++],x.xcb=2+(15&e[h++]),x.ycb=2+(15&e[h++]);var B=e[h++];if(x.selectiveArithmeticCodingBypass=!!(1&B),x.resetContextProbabilities=!!(2&B),x.terminationOnEachCodingPass=!!(4&B),x.verticalyStripe=!!(8&B),x.predictableTermination=!!(16&B),x.segmentationSymbolUsed=!!(32&B),x.reversibleTransformation=e[h++],x.entropyCoderWithCustomPrecincts){for(var I=[];m+u>h;){var D=e[h++];I.push({PPx:15&D,PPy:D>>4})}x.precinctsSizes=I}var N=[];if(x.selectiveArithmeticCodingBypass&&N.push("selectiveArithmeticCodingBypass"),x.resetContextProbabilities&&N.push("resetContextProbabilities"),x.terminationOnEachCodingPass&&N.push("terminationOnEachCodingPass"),x.verticalyStripe&&N.push("verticalyStripe"),x.predictableTermination&&N.push("predictableTermination"),N.length>0)throw o=!0,new Error("JPX Error: Unsupported COD options ("+N.join(", ")+")");a.mainHeader?a.COD=x:(a.currentTile.COD=x,a.currentTile.COC=[]);break;case 65424:m=s(e,u),(_={}).index=s(e,u+2),_.length=l(e,u+4),_.dataEnd=_.length+u-2,_.partIndex=e[u+8],_.partsCount=e[u+9],a.mainHeader=!1,0===_.partIndex&&(_.COD=a.COD,_.COC=a.COC.slice(0),_.QCD=a.QCD,_.QCC=a.QCC.slice(0)),a.currentTile=_;break;case 65427:0===(_=a.currentTile).partIndex&&(A(a,_.index),p(a)),g(a,e,u,m=_.dataEnd-u);break;case 65365:case 65367:case 65368:case 65380:m=s(e,u);break;case 65363:throw new Error("JPX Error: Codestream code 0xFF53 (COC) is not implemented");default:throw new Error("JPX Error: Unknown codestream code: "+c.toString(16))}u+=m}}catch(e){if(o||this.failOnCorruptedImage)throw e;n("Trying to recover from "+e.message)}this.tiles=E(a),this.width=a.SIZ.Xsiz-a.SIZ.XOsiz,this.height=a.SIZ.Ysiz-a.SIZ.YOsiz,this.componentsCount=a.SIZ.Csiz}};var T=function(){function e(e,i){var r=a(Math.max(e,i))+1;this.levels=[];for(var t=0;r>t;t++){var n={width:e,height:i,items:[]};this.levels.push(n),e=Math.ceil(e/2),i=Math.ceil(i/2)}}return e.prototype={reset:function(e,i){for(var r,t=0,n=0;t>=1,i>>=1,t++}t--,(r=this.levels[t]).items[r.index]=n,this.currentLevel=t,delete this.value},incrementValue:function(){var e=this.levels[this.currentLevel];e.items[e.index]++},nextLevel:function(){var e=this.currentLevel,i=this.levels[e],r=i.items[i.index];return 0>--e?(this.value=r,!1):(this.currentLevel=e,(i=this.levels[e]).items[i.index]=r,!0)}},e}(),C=function(){function e(e,i){var r=a(Math.max(e,i))+1;this.levels=[];for(var t=0;r>t;t++){for(var n=new Uint8Array(e*i),f=new Uint8Array(e*i),s=0,l=n.length;l>s;s++)n[s]=0,f[s]=0;var o={width:e,height:i,items:n,status:f};this.levels.push(o),e=Math.ceil(e/2),i=Math.ceil(i/2)}}return e.prototype={reset:function(e,i,r){this.currentStopValue=r;for(var t=0;t>=1,i>>=1,t++}this.currentLevel=this.levels.length-1,this.minValue=this.levels[this.currentLevel].items[0]},incrementValue:function(){var e=this.levels[this.currentLevel];e.items[e.index]=e.items[e.index]+1,e.items[e.index]>this.minValue&&(this.minValue=e.items[e.index])},nextLevel:function(){var e=this.currentLevel;if(0>--e)return!1;this.currentLevel=e;var i=this.levels[e];return i.items[i.index]this.minValue&&(this.minValue=i.items[i.index]),!0},isLeaf:function(){return 0===this.currentLevel},isAboveThreshold:function(){var e=this.currentLevel,i=this.levels[e];return i.items[i.index]>this.currentStopValue},isKnown:function(){var e=this.currentLevel,i=this.levels[e];return i.status[i.index]>0},setKnown:function(){var e=this.currentLevel,i=this.levels[e];i.status[i.index]=1}},e}(),R=function(){function e(e,i,f,a,s){this.width=e,this.height=i,this.contextLabelTable="HH"===f?n:"HL"===f?t:r;var l=e*i;this.neighborsSignificance=new Uint8Array(l),this.coefficentsSign=new Uint8Array(l),this.coefficentsMagnitude=s>14?new Uint32Array(l):s>6?new Uint16Array(l):new Uint8Array(l),this.processingFlags=new Uint8Array(l);var o=new Uint8Array(l);if(0!==a)for(var u=0;l>u;u++)o[u]=a;this.bitsDecoded=o,this.reset()}var i=17,r=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]),t=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8]),n=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]);return e.prototype={setDecoder:function(e){this.decoder=e},reset:function(){this.contexts=new Int8Array(19),this.contexts[0]=8,this.contexts[i]=92,this.contexts[18]=6},setNeighborsSignificance:function(e,i,r){var t,n=this.neighborsSignificance,f=this.width,a=this.height,s=i>0,l=f>i+1;e>0&&(t=r-f,s&&(n[t-1]+=16),l&&(n[t+1]+=16),n[t]+=4),a>e+1&&(t=r+f,s&&(n[t-1]+=16),l&&(n[t+1]+=16),n[t]+=4),s&&(n[r-1]+=1),l&&(n[r+1]+=1),n[r]|=128},runSignificancePropogationPass:function(){for(var e=this.decoder,i=this.width,r=this.height,t=this.coefficentsMagnitude,n=this.coefficentsSign,f=this.neighborsSignificance,a=this.processingFlags,s=this.contexts,l=this.contextLabelTable,o=this.bitsDecoded,u=0;r>u;u+=4)for(var c=0;i>c;c++)for(var h=u*i+c,d=0;4>d;d++,h+=i){var b=u+d;if(b>=r)break;if(a[h]&=-2,!t[h]&&f[h]){var k=l[f[h]];if(e.readBit(s,k)){var w=this.decodeSignBit(b,c,h);n[h]=w,t[h]=1,this.setNeighborsSignificance(b,c,h),a[h]|=2}o[h]++,a[h]|=1}}},decodeSignBit:function(e,i,r){var t,n,f,a,s,l,o=this.width,u=this.height,c=this.coefficentsMagnitude,h=this.coefficentsSign;a=i>0&&0!==c[r-1],o>i+1&&0!==c[r+1]?(f=h[r+1],a?t=1-f-(n=h[r-1]):t=1-f-f):a?t=1-(n=h[r-1])-n:t=0;var d=3*t;return a=e>0&&0!==c[r-o],u>e+1&&0!==c[r+o]?(f=h[r+o],a?t=1-f-(n=h[r-o])+d:t=1-f-f+d):a?t=1-(n=h[r-o])-n+d:t=d,t>=0?(s=9+t,l=this.decoder.readBit(this.contexts,s)):(s=9-t,l=1^this.decoder.readBit(this.contexts,s)),l},runMagnitudeRefinementPass:function(){for(var e,i=this.decoder,r=this.width,t=this.height,n=this.coefficentsMagnitude,f=this.neighborsSignificance,a=this.contexts,s=this.bitsDecoded,l=this.processingFlags,o=r*t,u=4*r,c=0;o>c;c=e){e=Math.min(o,c+u);for(var h=0;r>h;h++)for(var d=c+h;e>d;d+=r)if(n[d]&&0==(1&l[d])){var b=16;if(0!=(2&l[d]))l[d]^=2,b=0===(127&f[d])?15:14;var k=i.readBit(a,b);n[d]=n[d]<<1|k,s[d]++,l[d]|=1}}},runCleanupPass:function(){for(var e,r=this.decoder,t=this.width,n=this.height,f=this.neighborsSignificance,a=this.coefficentsMagnitude,s=this.coefficentsSign,l=this.contexts,o=this.contextLabelTable,u=this.bitsDecoded,c=this.processingFlags,h=t,d=2*t,b=3*t,k=0;n>k;k=e){e=Math.min(k+4,n);for(var w=k*t,_=n>k+3,m=0;t>m;m++){var v,p=w+m,g=0,y=p,M=k;if(_&&0===c[p]&&0===c[p+h]&&0===c[p+d]&&0===c[p+b]&&0===f[p]&&0===f[p+h]&&0===f[p+d]&&0===f[p+b]){if(!r.readBit(l,18)){u[p]++,u[p+h]++,u[p+d]++,u[p+b]++;continue}0!==(g=r.readBit(l,i)<<1|r.readBit(l,i))&&(M=k+g,y+=g*t),v=this.decodeSignBit(M,m,y),s[y]=v,a[y]=1,this.setNeighborsSignificance(M,m,y),c[y]|=2,y=p;for(var E=k;M>=E;E++,y+=t)u[y]++;g++}for(M=k+g;e>M;M++,y+=t)if(!a[y]&&0==(1&c[y])){var A=o[f[y]];1===r.readBit(l,A)&&(v=this.decodeSignBit(M,m,y),s[y]=v,a[y]=1,this.setNeighborsSignificance(M,m,y),c[y]|=2),u[y]++}}}},checkSegmentationSymbol:function(){var e=this.decoder,r=this.contexts;if(10!==(e.readBit(r,i)<<3|e.readBit(r,i)<<2|e.readBit(r,i)<<1|e.readBit(r,i)))throw new Error("JPX Error: Invalid segmentation symbol")}},e}(),L=function(){function e(){}return e.prototype.calculate=function(e,i,r){for(var t=e[0],n=1,f=e.length;f>n;n++)t=this.iterate(t,e[n],i,r);return t},e.prototype.extend=function(e,i,r){var t=i-1,n=i+1,f=i+r-2,a=i+r;e[t--]=e[n++],e[a++]=e[f--],e[t--]=e[n++],e[a++]=e[f--],e[t--]=e[n++],e[a++]=e[f--],e[t]=e[n],e[a]=e[f]},e.prototype.iterate=function(e,i,r,t){var n,f,a,s,l,o,u=e.width,c=e.height,h=e.items,d=i.width,b=i.height,k=i.items;for(a=0,n=0;c>n;n++)for(s=2*n*d,f=0;u>f;f++,a++,s+=2)k[s]=h[a];h=e.items=null;var w=new Float32Array(d+8);if(1===d){if(0!=(1&r))for(o=0,a=0;b>o;o++,a+=d)k[a]*=.5}else for(o=0,a=0;b>o;o++,a+=d)w.set(k.subarray(a,a+d),4),this.extend(w,4,d),this.filter(w,4,d),k.set(w.subarray(4,4+d),a);var _=16,m=[];for(n=0;_>n;n++)m.push(new Float32Array(b+8));var v,p=0;if(e=4+b,1===b){if(0!=(1&t))for(l=0;d>l;l++)k[l]*=.5}else for(l=0;d>l;l++){if(0===p){for(_=Math.min(d-l,_),a=l,s=4;e>s;a+=d,s++)for(v=0;_>v;v++)m[v][s]=k[a+v];p=_}var g=m[--p];if(this.extend(g,4,b),this.filter(g,4,b),0===p)for(a=l-_+1,s=4;e>s;a+=d,s++)for(v=0;_>v;v++)k[a+v]=m[v][s]}return{width:d,height:b,items:k}},e}(),P=function(){function e(){L.call(this)}return e.prototype=Object.create(L.prototype),e.prototype.filter=function(e,i,r){var t,n,f,a,s=r>>1,l=-1.586134342059924,o=-.052980118572961,u=.882911075530934,c=.443506852043971,h=1.230174104914001;for(t=(i|=0)-3,n=s+4;n--;t+=2)e[t]*=.8128930661159609;for(f=c*e[(t=i-2)-1],n=s+3;n--&&(a=c*e[t+1],e[t]=h*e[t]-f-a,n--);t+=2)f=c*e[(t+=2)+1],e[t]=h*e[t]-f-a;for(f=u*e[(t=i-1)-1],n=s+2;n--&&(a=u*e[t+1],e[t]-=f+a,n--);t+=2)f=u*e[(t+=2)+1],e[t]-=f+a;for(f=o*e[(t=i)-1],n=s+1;n--&&(a=o*e[t+1],e[t]-=f+a,n--);t+=2)f=o*e[(t+=2)+1],e[t]-=f+a;if(0!==s)for(f=l*e[(t=i+1)-1],n=s;n--&&(a=l*e[t+1],e[t]-=f+a,n--);t+=2)f=l*e[(t+=2)+1],e[t]-=f+a},e}(),x=function(){function e(){L.call(this)}return e.prototype=Object.create(L.prototype),e.prototype.filter=function(e,i,r){var t,n,f=r>>1;for(t=i|=0,n=f+1;n--;t+=2)e[t]-=e[t-1]+e[t+1]+2>>2;for(t=i+1,n=f;n--;t+=2)e[t]+=e[t-1]+e[t+1]>>1},e}();return e}(),c=function(){function e(e,i,r){this.data=e,this.bp=i,this.dataEnd=r,this.chigh=e[i],this.clow=0,this.byteIn(),this.chigh=this.chigh<<7&65535|this.clow>>9&127,this.clow=this.clow<<7&65535,this.ct-=7,this.a=32768}var i=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];return e.prototype={byteIn:function(){var e=this.data,i=this.bp;255===e[i]?e[i+1]>143?(this.clow+=65280,this.ct=8):(i++,this.clow+=e[i]<<9,this.ct=7,this.bp=i):(i++,this.clow+=i65535&&(this.chigh+=this.clow>>16,this.clow&=65535)},readBit:function(e,r){var t,n=e[r]>>1,f=1&e[r],a=i[n],s=a.qe,l=this.a-s;if(this.chighl?(l=s,t=f,n=a.nmps):(l=s,t=1^f,1===a.switchFlag&&(f=t),n=a.nlps);else{if(this.chigh-=s,0!=(32768&l))return this.a=l,f;s>l?(t=1^f,1===a.switchFlag&&(f=t),n=a.nlps):(t=f,n=a.nmps)}do{0===this.ct&&this.byteIn(),l<<=1,this.chigh=this.chigh<<1&65535|this.clow>>15&1,this.clow=this.clow<<1&65535,this.ct--}while(0==(32768&l));return this.a=l,e[r]=n<<1|f,t}},e}(),h="undefined"==typeof window?this:window;h.PDFJS||(h.PDFJS={}),h.PDFJS.pdfBug=!1,r.VERBOSITY_LEVELS={errors:0,warnings:1,infos:5};var d;r.OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91},r.UNSUPPORTED_FEATURES={unknown:"unknown",forms:"forms",javaScript:"javaScript",smask:"smask",shadingPattern:"shadingPattern",font:"font"},r.UnsupportedManager=(d=[],{listen:function(e){d.push(e)},notify:function(e){n(\'Unsupported feature "\'+e+\'"\');for(var i=0,r=d.length;r>i;i++)d[i](e)}});r.isValidUrl=function(e,i){if(!e)return!1;var r=/^[a-z][a-z0-9+\\-.]*(?=:)/i.exec(e);if(!r)return i;switch(r=r[0].toLowerCase()){case"http":case"https":case"ftp":case"mailto":case"tel":return!0;default:return!1}},r.shadow=f;r.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};var b=function(){function e(e,i){this.name="PasswordException",this.message=e,this.code=i}return e.prototype=new Error,e.constructor=e,e}();r.PasswordException=b;var k=function(){function e(e,i){this.name="UnknownErrorException",this.message=e,this.details=i}return e.prototype=new Error,e.constructor=e,e}();r.UnknownErrorException=k;var w=function(){function e(e){this.name="InvalidPDFException",this.message=e}return e.prototype=new Error,e.constructor=e,e}();r.InvalidPDFException=w;var _=function(){function e(e){this.name="MissingPDFException",this.message=e}return e.prototype=new Error,e.constructor=e,e}();r.MissingPDFException=_;var m=function(){function e(e,i){this.name="UnexpectedResponseException",this.message=e,this.status=i}return e.prototype=new Error,e.constructor=e,e}();r.UnexpectedResponseException=m;(function(){function e(e){this.message=e}e.prototype=new Error,e.prototype.name="NotImplementedException",e.constructor=e})(),function(){function e(e,i){this.begin=e,this.end=i,this.message="Missing data ["+e+", "+i+")"}e.prototype=new Error,e.prototype.name="MissingDataException",e.constructor=e}(),function(){function e(e){this.message=e}e.prototype=new Error,e.prototype.name="XRefParseException",e.constructor=e}();Object.defineProperty(r,"isLittleEndian",{configurable:!0,get:function(){return f(r,"isLittleEndian",function(){var e=new Uint8Array(2);return e[0]=1,1===new Uint16Array(e.buffer)[0]}())}}),Object.defineProperty(r,"hasCanvasTypedArrays",{configurable:!0,get:function(){return f(r,"hasCanvasTypedArrays",function(){var e=document.createElement("canvas");return e.width=e.height=1,void 0!==e.getContext("2d").createImageData(1,1).data.buffer}())}});!function(){function e(e,i){this.buffer=e,this.byteLength=e.length,this.length=void 0===i?this.byteLength>>2:i,r(this.length)}function i(e){return{get:function(){var i=this.buffer,r=e<<2;return(i[r]|i[r+1]<<8|i[r+2]<<16|i[r+3]<<24)>>>0},set:function(i){var r=this.buffer,t=e<<2;r[t]=255&i,r[t+1]=i>>8&255,r[t+2]=i>>16&255,r[t+3]=i>>>24&255}}}function r(r){for(;r>t;)Object.defineProperty(e.prototype,t,i(t)),t++}e.prototype=Object.create(null);var t=0}();var v=r.Util=function(){function e(){}var i=["rgb(",0,",",0,",",0,")"];return e.makeCssRgb=function(e,r,t){return i[1]=e,i[3]=r,i[5]=t,i.join("")},e.transform=function(e,i){return[e[0]*i[0]+e[2]*i[1],e[1]*i[0]+e[3]*i[1],e[0]*i[2]+e[2]*i[3],e[1]*i[2]+e[3]*i[3],e[0]*i[4]+e[2]*i[5]+e[4],e[1]*i[4]+e[3]*i[5]+e[5]]},e.applyTransform=function(e,i){return[e[0]*i[0]+e[1]*i[2]+i[4],e[0]*i[1]+e[1]*i[3]+i[5]]},e.applyInverseTransform=function(e,i){var r=i[0]*i[3]-i[1]*i[2];return[(e[0]*i[3]-e[1]*i[2]+i[2]*i[5]-i[4]*i[3])/r,(-e[0]*i[1]+e[1]*i[0]+i[4]*i[1]-i[5]*i[0])/r]},e.getAxialAlignedBoundingBox=function(i,r){var t=e.applyTransform(i,r),n=e.applyTransform(i.slice(2,4),r),f=e.applyTransform([i[0],i[3]],r),a=e.applyTransform([i[2],i[1]],r);return[Math.min(t[0],n[0],f[0],a[0]),Math.min(t[1],n[1],f[1],a[1]),Math.max(t[0],n[0],f[0],a[0]),Math.max(t[1],n[1],f[1],a[1])]},e.inverseTransform=function(e){var i=e[0]*e[3]-e[1]*e[2];return[e[3]/i,-e[1]/i,-e[2]/i,e[0]/i,(e[2]*e[5]-e[4]*e[3])/i,(e[4]*e[1]-e[5]*e[0])/i]},e.apply3dTransform=function(e,i){return[e[0]*i[0]+e[1]*i[1]+e[2]*i[2],e[3]*i[0]+e[4]*i[1]+e[5]*i[2],e[6]*i[0]+e[7]*i[1]+e[8]*i[2]]},e.singularValueDecompose2dScale=function(e){var i=[e[0],e[2],e[1],e[3]],r=e[0]*i[0]+e[1]*i[2],t=e[0]*i[1]+e[1]*i[3],n=e[2]*i[0]+e[3]*i[2],f=e[2]*i[1]+e[3]*i[3],a=(r+f)/2,s=Math.sqrt((r+f)*(r+f)-4*(r*f-n*t))/2,l=a+s||1,o=a-s||1;return[Math.sqrt(l),Math.sqrt(o)]},e.normalizeRect=function(e){var i=e.slice(0);return e[0]>e[2]&&(i[0]=e[2],i[2]=e[0]),e[1]>e[3]&&(i[1]=e[3],i[3]=e[1]),i},e.intersect=function(i,r){function t(e,i){return e-i}var n=[i[0],i[2],r[0],r[2]].sort(t),f=[i[1],i[3],r[1],r[3]].sort(t),a=[];return i=e.normalizeRect(i),r=e.normalizeRect(r),(n[0]===i[0]&&n[1]===r[0]||n[0]===r[0]&&n[1]===i[0])&&(a[0]=n[1],a[2]=n[2],(f[0]===i[1]&&f[1]===r[1]||f[0]===r[1]&&f[1]===i[1])&&(a[1]=f[1],a[3]=f[2],a))},e.sign=function(e){return 0>e?-1:1},e.appendToArray=function(e,i){Array.prototype.push.apply(e,i)},e.prependToArray=function(e,i){Array.prototype.unshift.apply(e,i)},e.extendObj=function(e,i){for(var r in i)e[r]=i[r]},e.getInheritableProperty=function(e,i){for(;e&&!e.has(i);)e=e.get("Parent");return e?e.get(i):null},e.inherit=function(e,i,r){for(var t in e.prototype=Object.create(i.prototype),e.prototype.constructor=e,r)e.prototype[t]=r[t]},e.loadScript=function(e,i){var r=document.createElement("script"),t=!1;r.setAttribute("src",e),i&&(r.onload=function(){t||i(),t=!0}),document.getElementsByTagName("head")[0].appendChild(r)},e}();r.PageViewport=function(){function e(e,i,r,t,n,f){this.viewBox=e,this.scale=i,this.rotation=r,this.offsetX=t,this.offsetY=n;var a,s,l,o,u,c,h,d,b=(e[2]+e[0])/2,k=(e[3]+e[1])/2;switch(r=0>(r%=360)?r+360:r){case 180:a=-1,s=0,l=0,o=1;break;case 90:a=0,s=1,l=1,o=0;break;case 270:a=0,s=-1,l=-1,o=0;break;default:a=1,s=0,l=0,o=-1}f&&(l=-l,o=-o),0===a?(u=Math.abs(k-e[1])*i+t,c=Math.abs(b-e[0])*i+n,h=Math.abs(e[3]-e[1])*i,d=Math.abs(e[2]-e[0])*i):(u=Math.abs(b-e[0])*i+t,c=Math.abs(k-e[1])*i+n,h=Math.abs(e[2]-e[0])*i,d=Math.abs(e[3]-e[1])*i),this.transform=[a*i,s*i,l*i,o*i,u-a*i*b-l*i*k,c-s*i*b-o*i*k],this.width=h,this.height=d,this.fontScale=i}return e.prototype={clone:function(i){var r="scale"in(i=i||{})?i.scale:this.scale,t="rotation"in i?i.rotation:this.rotation;return new e(this.viewBox.slice(),r,t,this.offsetX,this.offsetY,i.dontFlip)},convertToViewportPoint:function(e,i){return v.applyTransform([e,i],this.transform)},convertToViewportRectangle:function(e){var i=v.applyTransform([e[0],e[1]],this.transform),r=v.applyTransform([e[2],e[3]],this.transform);return[i[0],i[1],r[0],r[1]]},convertToPdfPoint:function(e,i){return v.applyInverseTransform([e,i],this.transform)}},e}();r.createPromiseCapability=o,function(){function e(e){this._status=i,this._handlers=[];try{e.call(this,this._resolve.bind(this),this._reject.bind(this))}catch(e){this._reject(e)}}if(h.Promise)return"function"!=typeof h.Promise.all&&(h.Promise.all=function(e){var i,r,t=0,n=[],f=new h.Promise((function(e,t){i=e,r=t}));return e.forEach((function(e,f){t++,e.then((function(e){n[f]=e,0===--t&&i(n)}),r)})),0===t&&i(n),f}),"function"!=typeof h.Promise.resolve&&(h.Promise.resolve=function(e){return new h.Promise((function(i){i(e)}))}),"function"!=typeof h.Promise.reject&&(h.Promise.reject=function(e){return new h.Promise((function(i,r){r(e)}))}),void("function"!=typeof h.Promise.prototype.catch&&(h.Promise.prototype.catch=function(e){return h.Promise.prototype.then(void 0,e)}));var i=0,r=2,t={handlers:[],running:!1,unhandledRejections:[],pendingRejectionCheck:!1,scheduleHandlers:function(e){e._status!==i&&(this.handlers=this.handlers.concat(e._handlers),e._handlers=[],this.running||(this.running=!0,setTimeout(this.runHandlers.bind(this),0)))},runHandlers:function(){for(var e=Date.now()+1;this.handlers.length>0;){var i=this.handlers.shift(),t=i.thisPromise._status,n=i.thisPromise._value;try{1===t?"function"==typeof i.onResolve&&(n=i.onResolve(n)):"function"==typeof i.onReject&&(n=i.onReject(n),t=1,i.thisPromise._unhandledRejection&&this.removeUnhandeledRejection(i.thisPromise))}catch(e){t=r,n=e}if(i.nextPromise._updateStatus(t,n),Date.now()>=e)break}return this.handlers.length>0?void setTimeout(this.runHandlers.bind(this),0):void(this.running=!1)},addUnhandledRejection:function(e){this.unhandledRejections.push({promise:e,time:Date.now()}),this.scheduleRejectionCheck()},removeUnhandeledRejection:function(e){e._unhandledRejection=!1;for(var i=0;i500){var r=this.unhandledRejections[i].promise._value,t="Unhandled rejection: "+r;r.stack&&(t+="\\n"+r.stack),n(t),this.unhandledRejections.splice(i),i--}this.unhandledRejections.length&&this.scheduleRejectionCheck()}.bind(this),500))}};e.all=function(i){function t(e){a._status!==r&&(l=[],f(e))}var n,f,a=new e((function(e,i){n=e,f=i})),s=i.length,l=[];if(0===s)return n(l),a;for(var o=0,u=i.length;u>o;++o){var c=i[o],h=function(e){return function(i){a._status!==r&&(l[e]=i,0===--s&&n(l))}}(o);e.isPromise(c)?c.then(h,t):h(c)}return a},e.isPromise=function(e){return e&&"function"==typeof e.then},e.resolve=function(i){return new e((function(e){e(i)}))},e.reject=function(i){return new e((function(e,r){r(i)}))},e.prototype={_status:null,_value:null,_handlers:null,_unhandledRejection:null,_updateStatus:function(i,n){if(1!==this._status&&this._status!==r){if(1===i&&e.isPromise(n))return void n.then(this._updateStatus.bind(this,1),this._updateStatus.bind(this,r));this._status=i,this._value=n,i===r&&0===this._handlers.length&&(this._unhandledRejection=!0,t.addUnhandledRejection(this)),t.scheduleHandlers(this)}},_resolve:function(e){this._updateStatus(1,e)},_reject:function(e){this._updateStatus(r,e)},then:function(i,r){var n=new e((function(e,i){this.resolve=e,this.reject=i}));return this._handlers.push({thisPromise:this,onResolve:i,onReject:r,nextPromise:n}),t.scheduleHandlers(this),n},catch:function(e){return this.then(void 0,e)}},h.Promise=e}();!function(){function e(e,i,r){for(;e.lengthi;++i){var a=t[i].name;a.length>f&&(f=a.length)}for(i=0,r=t.length;r>i;++i){var s=t[i],l=s.end-s.start;n+=e(s.name," ",f)+" "+l+"ms\\n"}return n}}}();r.createBlob=function(e,i){if("undefined"!=typeof Blob)return new Blob([e],{type:i});var r=new MozBlobBuilder;return r.append(e),r.getBlob(i)},r.createObjectURL=function(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return function(i,t){if(!r.disableCreateObjectURL&&"undefined"!=typeof URL&&URL.createObjectURL){var n=r.createBlob(i,t);return URL.createObjectURL(n)}for(var f="data:"+t+";base64,",a=0,s=i.length;s>a;a+=3){var l=255&i[a],o=255&i[a+1],u=255&i[a+2];f+=e[l>>2]+e[(3&l)<<4|o>>4]+e[s>a+1?(15&o)<<2|u>>6:64]+e[s>a+2?63&u:64]}return f}}(),e.exports=u},function(e,i,r){"use strict";var t={};(0,r(0).assign)(t,r(13),r(16),r(10)),e.exports=t},function(e,i,r){"use strict";var t=r(14),n=r(0),f=r(8),a=r(2),s=r(9),l=Object.prototype.toString,o=0,u=-1,c=0,h=8;function d(e){if(!(this instanceof d))return new d(e);this.options=n.assign({level:u,method:h,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:""},e||{});var i=this.options;i.raw&&i.windowBits>0?i.windowBits=-i.windowBits:i.gzip&&i.windowBits>0&&i.windowBits<16&&(i.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=t.deflateInit2(this.strm,i.level,i.method,i.windowBits,i.memLevel,i.strategy);if(r!==o)throw new Error(a[r]);if(i.header&&t.deflateSetHeader(this.strm,i.header),i.dictionary){var b;if(b="string"==typeof i.dictionary?f.string2buf(i.dictionary):"[object ArrayBuffer]"===l.call(i.dictionary)?new Uint8Array(i.dictionary):i.dictionary,(r=t.deflateSetDictionary(this.strm,b))!==o)throw new Error(a[r]);this._dict_set=!0}}function b(e,i){var r=new d(i);if(r.push(e,!0),r.err)throw r.msg||a[r.err];return r.result}d.prototype.push=function(e,i){var r,a,s=this.strm,u=this.options.chunkSize;if(this.ended)return!1;a=i===~~i?i:!0===i?4:0,"string"==typeof e?s.input=f.string2buf(e):"[object ArrayBuffer]"===l.call(e)?s.input=new Uint8Array(e):s.input=e,s.next_in=0,s.avail_in=s.input.length;do{if(0===s.avail_out&&(s.output=new n.Buf8(u),s.next_out=0,s.avail_out=u),1!==(r=t.deflate(s,a))&&r!==o)return this.onEnd(r),this.ended=!0,!1;0!==s.avail_out&&(0!==s.avail_in||4!==a&&2!==a)||("string"===this.options.to?this.onData(f.buf2binstring(n.shrinkBuf(s.output,s.next_out))):this.onData(n.shrinkBuf(s.output,s.next_out)))}while((s.avail_in>0||0===s.avail_out)&&1!==r);return 4===a?(r=t.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===o):2!==a||(this.onEnd(o),s.avail_out=0,!0)},d.prototype.onData=function(e){this.chunks.push(e)},d.prototype.onEnd=function(e){e===o&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},i.Deflate=d,i.deflate=b,i.deflateRaw=function(e,i){return(i=i||{}).raw=!0,b(e,i)},i.gzip=function(e,i){return(i=i||{}).gzip=!0,b(e,i)}},function(e,i,r){"use strict";var t,n=r(0),f=r(15),a=r(6),s=r(7),l=r(2),o=0,u=1,c=3,h=4,d=5,b=0,k=1,w=-2,_=-3,m=-5,v=-1,p=1,g=2,y=3,M=4,E=0,A=2,S=8,T=9,C=15,R=8,L=286,P=30,x=19,O=2*L+1,B=15,I=3,D=258,N=D+I+1,F=32,U=42,j=69,H=73,z=91,Y=103,q=113,X=666,V=1,G=2,K=3,W=4,Z=3;function J(e,i){return e.msg=l[i],i}function Q(e){return(e<<1)-(e>4?9:0)}function $(e){for(var i=e.length;--i>=0;)e[i]=0}function ee(e){var i=e.state,r=i.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(n.arraySet(e.output,i.pending_buf,i.pending_out,r,e.next_out),e.next_out+=r,i.pending_out+=r,e.total_out+=r,e.avail_out-=r,i.pending-=r,0===i.pending&&(i.pending_out=0))}function ie(e,i){f._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,i),e.block_start=e.strstart,ee(e.strm)}function re(e,i){e.pending_buf[e.pending++]=i}function te(e,i){e.pending_buf[e.pending++]=i>>>8&255,e.pending_buf[e.pending++]=255&i}function ne(e,i){var r,t,n=e.max_chain_length,f=e.strstart,a=e.prev_length,s=e.nice_match,l=e.strstart>e.w_size-N?e.strstart-(e.w_size-N):0,o=e.window,u=e.w_mask,c=e.prev,h=e.strstart+D,d=o[f+a-1],b=o[f+a];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do{if(o[(r=i)+a]===b&&o[r+a-1]===d&&o[r]===o[f]&&o[++r]===o[f+1]){f+=2,r++;do{}while(o[++f]===o[++r]&&o[++f]===o[++r]&&o[++f]===o[++r]&&o[++f]===o[++r]&&o[++f]===o[++r]&&o[++f]===o[++r]&&o[++f]===o[++r]&&o[++f]===o[++r]&&fa){if(e.match_start=i,a=t,t>=s)break;d=o[f+a-1],b=o[f+a]}}}while((i=c[i&u])>l&&0!=--n);return a<=e.lookahead?a:e.lookahead}function fe(e){var i,r,t,f,l,o,u,c,h,d,b=e.w_size;do{if(f=e.window_size-e.lookahead-e.strstart,e.strstart>=b+(b-N)){n.arraySet(e.window,e.window,b,b,0),e.match_start-=b,e.strstart-=b,e.block_start-=b,i=r=e.hash_size;do{t=e.head[--i],e.head[i]=t>=b?t-b:0}while(--r);i=r=b;do{t=e.prev[--i],e.prev[i]=t>=b?t-b:0}while(--r);f+=b}if(0===e.strm.avail_in)break;if(o=e.strm,u=e.window,c=e.strstart+e.lookahead,h=f,d=void 0,(d=o.avail_in)>h&&(d=h),r=0===d?0:(o.avail_in-=d,n.arraySet(u,o.input,o.next_in,d,c),1===o.state.wrap?o.adler=a(o.adler,u,d,c):2===o.state.wrap&&(o.adler=s(o.adler,u,d,c)),o.next_in+=d,o.total_in+=d,d),e.lookahead+=r,e.lookahead+e.insert>=I)for(l=e.strstart-e.insert,e.ins_h=e.window[l],e.ins_h=(e.ins_h<=I&&(e.ins_h=(e.ins_h<=I)if(t=f._tr_tally(e,e.strstart-e.match_start,e.match_length-I),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=I){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<=I&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=I-1)),e.prev_length>=I&&e.match_length<=e.prev_length){n=e.strstart+e.lookahead-I,t=f._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-I),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=n&&(e.ins_h=(e.ins_h<15&&(s=2,t-=16),f<1||f>T||r!==S||t<8||t>15||i<0||i>9||a<0||a>M)return J(e,w);8===t&&(t=9);var l=new oe;return e.state=l,l.strm=e,l.wrap=s,l.gzhead=null,l.w_bits=t,l.w_size=1<e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(fe(e),0===e.lookahead&&i===o)return V;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var t=e.block_start+r;if((0===e.strstart||e.strstart>=t)&&(e.lookahead=e.strstart-t,e.strstart=t,ie(e,!1),0===e.strm.avail_out))return V;if(e.strstart-e.block_start>=e.w_size-N&&(ie(e,!1),0===e.strm.avail_out))return V}return e.insert=0,i===h?(ie(e,!0),0===e.strm.avail_out?K:W):(e.strstart>e.block_start&&(ie(e,!1),e.strm.avail_out),V)})),new le(4,4,8,4,ae),new le(4,5,16,8,ae),new le(4,6,32,32,ae),new le(4,4,16,16,se),new le(8,16,32,32,se),new le(8,16,128,128,se),new le(8,32,128,256,se),new le(32,128,258,1024,se),new le(32,258,258,4096,se)],i.deflateInit=function(e,i){return he(e,i,S,C,R,E)},i.deflateInit2=he,i.deflateReset=ce,i.deflateResetKeep=ue,i.deflateSetHeader=function(e,i){return e&&e.state?2!==e.state.wrap?w:(e.state.gzhead=i,b):w},i.deflate=function(e,i){var r,n,a,l;if(!e||!e.state||i>d||i<0)return e?J(e,w):w;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||n.status===X&&i!==h)return J(e,0===e.avail_out?m:w);if(n.strm=e,r=n.last_flush,n.last_flush=i,n.status===U)if(2===n.wrap)e.adler=0,re(n,31),re(n,139),re(n,8),n.gzhead?(re(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),re(n,255&n.gzhead.time),re(n,n.gzhead.time>>8&255),re(n,n.gzhead.time>>16&255),re(n,n.gzhead.time>>24&255),re(n,9===n.level?2:n.strategy>=g||n.level<2?4:0),re(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(re(n,255&n.gzhead.extra.length),re(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=s(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=j):(re(n,0),re(n,0),re(n,0),re(n,0),re(n,0),re(n,9===n.level?2:n.strategy>=g||n.level<2?4:0),re(n,Z),n.status=q);else{var _=S+(n.w_bits-8<<4)<<8;_|=(n.strategy>=g||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(_|=F),_+=31-_%31,n.status=q,te(n,_),0!==n.strstart&&(te(n,e.adler>>>16),te(n,65535&e.adler)),e.adler=1}if(n.status===j)if(n.gzhead.extra){for(a=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>a&&(e.adler=s(e.adler,n.pending_buf,n.pending-a,a)),ee(e),a=n.pending,n.pending!==n.pending_buf_size));)re(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>a&&(e.adler=s(e.adler,n.pending_buf,n.pending-a,a)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=H)}else n.status=H;if(n.status===H)if(n.gzhead.name){a=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>a&&(e.adler=s(e.adler,n.pending_buf,n.pending-a,a)),ee(e),a=n.pending,n.pending===n.pending_buf_size)){l=1;break}l=n.gzindexa&&(e.adler=s(e.adler,n.pending_buf,n.pending-a,a)),0===l&&(n.gzindex=0,n.status=z)}else n.status=z;if(n.status===z)if(n.gzhead.comment){a=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>a&&(e.adler=s(e.adler,n.pending_buf,n.pending-a,a)),ee(e),a=n.pending,n.pending===n.pending_buf_size)){l=1;break}l=n.gzindexa&&(e.adler=s(e.adler,n.pending_buf,n.pending-a,a)),0===l&&(n.status=Y)}else n.status=Y;if(n.status===Y&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&ee(e),n.pending+2<=n.pending_buf_size&&(re(n,255&e.adler),re(n,e.adler>>8&255),e.adler=0,n.status=q)):n.status=q),0!==n.pending){if(ee(e),0===e.avail_out)return n.last_flush=-1,b}else if(0===e.avail_in&&Q(i)<=Q(r)&&i!==h)return J(e,m);if(n.status===X&&0!==e.avail_in)return J(e,m);if(0!==e.avail_in||0!==n.lookahead||i!==o&&n.status!==X){var v=n.strategy===g?function(e,i){for(var r;;){if(0===e.lookahead&&(fe(e),0===e.lookahead)){if(i===o)return V;break}if(e.match_length=0,r=f._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(ie(e,!1),0===e.strm.avail_out))return V}return e.insert=0,i===h?(ie(e,!0),0===e.strm.avail_out?K:W):e.last_lit&&(ie(e,!1),0===e.strm.avail_out)?V:G}(n,i):n.strategy===y?function(e,i){for(var r,t,n,a,s=e.window;;){if(e.lookahead<=D){if(fe(e),e.lookahead<=D&&i===o)return V;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=I&&e.strstart>0&&(t=s[n=e.strstart-1])===s[++n]&&t===s[++n]&&t===s[++n]){a=e.strstart+D;do{}while(t===s[++n]&&t===s[++n]&&t===s[++n]&&t===s[++n]&&t===s[++n]&&t===s[++n]&&t===s[++n]&&t===s[++n]&&ne.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=I?(r=f._tr_tally(e,1,e.match_length-I),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=f._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(ie(e,!1),0===e.strm.avail_out))return V}return e.insert=0,i===h?(ie(e,!0),0===e.strm.avail_out?K:W):e.last_lit&&(ie(e,!1),0===e.strm.avail_out)?V:G}(n,i):t[n.level].func(n,i);if(v!==K&&v!==W||(n.status=X),v===V||v===K)return 0===e.avail_out&&(n.last_flush=-1),b;if(v===G&&(i===u?f._tr_align(n):i!==d&&(f._tr_stored_block(n,0,0,!1),i===c&&($(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),ee(e),0===e.avail_out))return n.last_flush=-1,b}return i!==h?b:n.wrap<=0?k:(2===n.wrap?(re(n,255&e.adler),re(n,e.adler>>8&255),re(n,e.adler>>16&255),re(n,e.adler>>24&255),re(n,255&e.total_in),re(n,e.total_in>>8&255),re(n,e.total_in>>16&255),re(n,e.total_in>>24&255)):(te(n,e.adler>>>16),te(n,65535&e.adler)),ee(e),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?b:k)},i.deflateEnd=function(e){var i;return e&&e.state?(i=e.state.status)!==U&&i!==j&&i!==H&&i!==z&&i!==Y&&i!==q&&i!==X?J(e,w):(e.state=null,i===q?J(e,_):b):w},i.deflateSetDictionary=function(e,i){var r,t,f,s,l,o,u,c,h=i.length;if(!e||!e.state)return w;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==U||r.lookahead)return w;for(1===s&&(e.adler=a(e.adler,i,h,0)),r.wrap=0,h>=r.w_size&&(0===s&&($(r.head),r.strstart=0,r.block_start=0,r.insert=0),c=new n.Buf8(r.w_size),n.arraySet(c,i,h-r.w_size,r.w_size,0),i=c,h=r.w_size),l=e.avail_in,o=e.next_in,u=e.input,e.avail_in=h,e.next_in=0,e.input=i,fe(r);r.lookahead>=I;){t=r.strstart,f=r.lookahead-(I-1);do{r.ins_h=(r.ins_h<=0;)e[i]=0}var o=0,u=1,c=2,h=29,d=256,b=d+1+h,k=30,w=19,_=2*b+1,m=15,v=16,p=7,g=256,y=16,M=17,E=18,A=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],S=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],T=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],C=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],R=new Array(2*(b+2));l(R);var L=new Array(2*k);l(L);var P=new Array(512);l(P);var x=new Array(256);l(x);var O=new Array(h);l(O);var B,I,D,N=new Array(k);function F(e,i,r,t,n){this.static_tree=e,this.extra_bits=i,this.extra_base=r,this.elems=t,this.max_length=n,this.has_stree=e&&e.length}function U(e,i){this.dyn_tree=e,this.max_code=0,this.stat_desc=i}function j(e){return e<256?P[e]:P[256+(e>>>7)]}function H(e,i){e.pending_buf[e.pending++]=255&i,e.pending_buf[e.pending++]=i>>>8&255}function z(e,i,r){e.bi_valid>v-r?(e.bi_buf|=i<>v-e.bi_valid,e.bi_valid+=r-v):(e.bi_buf|=i<>>=1,r<<=1}while(--i>0);return r>>>1}function X(e,i,r){var t,n,f=new Array(m+1),a=0;for(t=1;t<=m;t++)f[t]=a=a+r[t-1]<<1;for(n=0;n<=i;n++){var s=e[2*n+1];0!==s&&(e[2*n]=q(f[s]++,s))}}function V(e){var i;for(i=0;i8?H(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function K(e,i,r,t){var n=2*i,f=2*r;return e[n]>1;r>=1;r--)W(e,f,r);n=l;do{r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],W(e,f,1),t=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=t,f[2*n]=f[2*r]+f[2*t],e.depth[n]=(e.depth[r]>=e.depth[t]?e.depth[r]:e.depth[t])+1,f[2*r+1]=f[2*t+1]=n,e.heap[1]=n++,W(e,f,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,i){var r,t,n,f,a,s,l=i.dyn_tree,o=i.max_code,u=i.stat_desc.static_tree,c=i.stat_desc.has_stree,h=i.stat_desc.extra_bits,d=i.stat_desc.extra_base,b=i.stat_desc.max_length,k=0;for(f=0;f<=m;f++)e.bl_count[f]=0;for(l[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)(f=l[2*l[2*(t=e.heap[r])+1]+1]+1)>b&&(f=b,k++),l[2*t+1]=f,t>o||(e.bl_count[f]++,a=0,t>=d&&(a=h[t-d]),s=l[2*t],e.opt_len+=s*(f+a),c&&(e.static_len+=s*(u[2*t+1]+a)));if(0!==k){do{for(f=b-1;0===e.bl_count[f];)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[b]--,k-=2}while(k>0);for(f=b;0!==f;f--)for(t=e.bl_count[f];0!==t;)(n=e.heap[--r])>o||(l[2*n+1]!==f&&(e.opt_len+=(f-l[2*n+1])*l[2*n],l[2*n+1]=f),t--)}}(e,i),X(f,o,e.bl_count)}function Q(e,i,r){var t,n,f=-1,a=i[1],s=0,l=7,o=4;for(0===a&&(l=138,o=3),i[2*(r+1)+1]=65535,t=0;t<=r;t++)n=a,a=i[2*(t+1)+1],++s>=7;t0?(e.strm.data_type===s&&(e.strm.data_type=function(e){var i,r=4093624447;for(i=0;i<=31;i++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*i])return f;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return a;for(i=32;i=3&&0===e.bl_tree[2*C[i]+1];i--);return e.opt_len+=3*(i+1)+5+5+4,i}(e),l=e.opt_len+3+7>>>3,(o=e.static_len+3+7>>>3)<=l&&(l=o)):l=o=r+5,r+4<=l&&-1!==i?ie(e,i,r,t):e.strategy===n||o===l?(z(e,(u<<1)+(t?1:0),3),Z(e,R,L)):(z(e,(c<<1)+(t?1:0),3),function(e,i,r,t){var n;for(z(e,i-257,5),z(e,r-1,5),z(e,t-4,4),n=0;n>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&i,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===i?e.dyn_ltree[2*r]++:(e.matches++,i--,e.dyn_ltree[2*(x[r]+d+1)]++,e.dyn_dtree[2*j(i)]++),e.last_lit===e.lit_bufsize-1},i._tr_align=function(e){z(e,u<<1,3),Y(e,g,R),function(e){16===e.bi_valid?(H(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},function(e,i,r){"use strict";var t=r(17),n=r(0),f=r(8),a=r(10),s=r(2),l=r(9),o=r(20),u=Object.prototype.toString;function c(e){if(!(this instanceof c))return new c(e);this.options=n.assign({chunkSize:16384,windowBits:0,to:""},e||{});var i=this.options;i.raw&&i.windowBits>=0&&i.windowBits<16&&(i.windowBits=-i.windowBits,0===i.windowBits&&(i.windowBits=-15)),!(i.windowBits>=0&&i.windowBits<16)||e&&e.windowBits||(i.windowBits+=32),i.windowBits>15&&i.windowBits<48&&0==(15&i.windowBits)&&(i.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var r=t.inflateInit2(this.strm,i.windowBits);if(r!==a.Z_OK)throw new Error(s[r]);if(this.header=new o,t.inflateGetHeader(this.strm,this.header),i.dictionary&&("string"==typeof i.dictionary?i.dictionary=f.string2buf(i.dictionary):"[object ArrayBuffer]"===u.call(i.dictionary)&&(i.dictionary=new Uint8Array(i.dictionary)),i.raw&&(r=t.inflateSetDictionary(this.strm,i.dictionary))!==a.Z_OK))throw new Error(s[r])}function h(e,i){var r=new c(i);if(r.push(e,!0),r.err)throw r.msg||s[r.err];return r.result}c.prototype.push=function(e,i){var r,s,l,o,c,h=this.strm,d=this.options.chunkSize,b=this.options.dictionary,k=!1;if(this.ended)return!1;s=i===~~i?i:!0===i?a.Z_FINISH:a.Z_NO_FLUSH,"string"==typeof e?h.input=f.binstring2buf(e):"[object ArrayBuffer]"===u.call(e)?h.input=new Uint8Array(e):h.input=e,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new n.Buf8(d),h.next_out=0,h.avail_out=d),(r=t.inflate(h,a.Z_NO_FLUSH))===a.Z_NEED_DICT&&b&&(r=t.inflateSetDictionary(this.strm,b)),r===a.Z_BUF_ERROR&&!0===k&&(r=a.Z_OK,k=!1),r!==a.Z_STREAM_END&&r!==a.Z_OK)return this.onEnd(r),this.ended=!0,!1;h.next_out&&(0!==h.avail_out&&r!==a.Z_STREAM_END&&(0!==h.avail_in||s!==a.Z_FINISH&&s!==a.Z_SYNC_FLUSH)||("string"===this.options.to?(l=f.utf8border(h.output,h.next_out),o=h.next_out-l,c=f.buf2string(h.output,l),h.next_out=o,h.avail_out=d-o,o&&n.arraySet(h.output,h.output,l,o,0),this.onData(c)):this.onData(n.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(k=!0)}while((h.avail_in>0||0===h.avail_out)&&r!==a.Z_STREAM_END);return r===a.Z_STREAM_END&&(s=a.Z_FINISH),s===a.Z_FINISH?(r=t.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===a.Z_OK):s!==a.Z_SYNC_FLUSH||(this.onEnd(a.Z_OK),h.avail_out=0,!0)},c.prototype.onData=function(e){this.chunks.push(e)},c.prototype.onEnd=function(e){e===a.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},i.Inflate=c,i.inflate=h,i.inflateRaw=function(e,i){return(i=i||{}).raw=!0,h(e,i)},i.ungzip=h},function(e,i,r){"use strict";var t=r(0),n=r(6),f=r(7),a=r(18),s=r(19),l=0,o=1,u=2,c=4,h=5,d=6,b=0,k=1,w=2,_=-2,m=-3,v=-4,p=-5,g=8,y=1,M=2,E=3,A=4,S=5,T=6,C=7,R=8,L=9,P=10,x=11,O=12,B=13,I=14,D=15,N=16,F=17,U=18,j=19,H=20,z=21,Y=22,q=23,X=24,V=25,G=26,K=27,W=28,Z=29,J=30,Q=31,$=32,ee=852,ie=592,re=15;function te(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function ne(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new t.Buf16(320),this.work=new t.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function fe(e){var i;return e&&e.state?(i=e.state,e.total_in=e.total_out=i.total=0,e.msg="",i.wrap&&(e.adler=1&i.wrap),i.mode=y,i.last=0,i.havedict=0,i.dmax=32768,i.head=null,i.hold=0,i.bits=0,i.lencode=i.lendyn=new t.Buf32(ee),i.distcode=i.distdyn=new t.Buf32(ie),i.sane=1,i.back=-1,b):_}function ae(e){var i;return e&&e.state?((i=e.state).wsize=0,i.whave=0,i.wnext=0,fe(e)):_}function se(e,i){var r,t;return e&&e.state?(t=e.state,i<0?(r=0,i=-i):(r=1+(i>>4),i<48&&(i&=15)),i&&(i<8||i>15)?_:(null!==t.window&&t.wbits!==i&&(t.window=null),t.wrap=r,t.wbits=i,ae(e))):_}function le(e,i){var r,t;return e?(t=new ne,e.state=t,t.window=null,(r=se(e,i))!==b&&(e.state=null),r):_}var oe,ue,ce=!0;function he(e){if(ce){var i;for(oe=new t.Buf32(512),ue=new t.Buf32(32),i=0;i<144;)e.lens[i++]=8;for(;i<256;)e.lens[i++]=9;for(;i<280;)e.lens[i++]=7;for(;i<288;)e.lens[i++]=8;for(s(o,e.lens,0,288,oe,0,e.work,{bits:9}),i=0;i<32;)e.lens[i++]=5;s(u,e.lens,0,32,ue,0,e.work,{bits:5}),ce=!1}e.lencode=oe,e.lenbits=9,e.distcode=ue,e.distbits=5}function de(e,i,r,n){var f,a=e.state;return null===a.window&&(a.wsize=1<=a.wsize?(t.arraySet(a.window,i,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):((f=a.wsize-a.wnext)>n&&(f=n),t.arraySet(a.window,i,r-n,f,a.wnext),(n-=f)?(t.arraySet(a.window,i,r-n,n,0),a.wnext=n,a.whave=a.wsize):(a.wnext+=f,a.wnext===a.wsize&&(a.wnext=0),a.whave>>8&255,r.check=f(r.check,Te,2,0),se=0,le=0,r.mode=M;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&se)<<8)+(se>>8))%31){e.msg="incorrect header check",r.mode=J;break}if((15&se)!==g){e.msg="unknown compression method",r.mode=J;break}if(le-=4,ye=8+(15&(se>>>=4)),0===r.wbits)r.wbits=ye;else if(ye>r.wbits){e.msg="invalid window size",r.mode=J;break}r.dmax=1<>8&1),512&r.flags&&(Te[0]=255&se,Te[1]=se>>>8&255,r.check=f(r.check,Te,2,0)),se=0,le=0,r.mode=E;case E:for(;le<32;){if(0===fe)break e;fe--,se+=ee[re++]<>>8&255,Te[2]=se>>>16&255,Te[3]=se>>>24&255,r.check=f(r.check,Te,4,0)),se=0,le=0,r.mode=A;case A:for(;le<16;){if(0===fe)break e;fe--,se+=ee[re++]<>8),512&r.flags&&(Te[0]=255&se,Te[1]=se>>>8&255,r.check=f(r.check,Te,2,0)),se=0,le=0,r.mode=S;case S:if(1024&r.flags){for(;le<16;){if(0===fe)break e;fe--,se+=ee[re++]<>>8&255,r.check=f(r.check,Te,2,0)),se=0,le=0}else r.head&&(r.head.extra=null);r.mode=T;case T:if(1024&r.flags&&((ce=r.length)>fe&&(ce=fe),ce&&(r.head&&(ye=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),t.arraySet(r.head.extra,ee,re,ce,ye)),512&r.flags&&(r.check=f(r.check,ee,ce,re)),fe-=ce,re+=ce,r.length-=ce),r.length))break e;r.length=0,r.mode=C;case C:if(2048&r.flags){if(0===fe)break e;ce=0;do{ye=ee[re+ce++],r.head&&ye&&r.length<65536&&(r.head.name+=String.fromCharCode(ye))}while(ye&&ce>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=O;break;case P:for(;le<32;){if(0===fe)break e;fe--,se+=ee[re++]<>>=7&le,le-=7&le,r.mode=K;break}for(;le<3;){if(0===fe)break e;fe--,se+=ee[re++]<>>=1)){case 0:r.mode=I;break;case 1:if(he(r),r.mode=H,i===d){se>>>=2,le-=2;break e}break;case 2:r.mode=F;break;case 3:e.msg="invalid block type",r.mode=J}se>>>=2,le-=2;break;case I:for(se>>>=7&le,le-=7≤le<32;){if(0===fe)break e;fe--,se+=ee[re++]<>>16^65535)){e.msg="invalid stored block lengths",r.mode=J;break}if(r.length=65535&se,se=0,le=0,r.mode=D,i===d)break e;case D:r.mode=N;case N:if(ce=r.length){if(ce>fe&&(ce=fe),ce>ae&&(ce=ae),0===ce)break e;t.arraySet(ie,ee,re,ce,ne),fe-=ce,re+=ce,ae-=ce,ne+=ce,r.length-=ce;break}r.mode=O;break;case F:for(;le<14;){if(0===fe)break e;fe--,se+=ee[re++]<>>=5,le-=5,r.ndist=1+(31&se),se>>>=5,le-=5,r.ncode=4+(15&se),se>>>=4,le-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=J;break}r.have=0,r.mode=U;case U:for(;r.have>>=3,le-=3}for(;r.have<19;)r.lens[Ce[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,Ee={bits:r.lenbits},Me=s(l,r.lens,0,19,r.lencode,0,r.work,Ee),r.lenbits=Ee.bits,Me){e.msg="invalid code lengths set",r.mode=J;break}r.have=0,r.mode=j;case j:for(;r.have>>16&255,me=65535&Se,!((we=Se>>>24)<=le);){if(0===fe)break e;fe--,se+=ee[re++]<>>=we,le-=we,r.lens[r.have++]=me;else{if(16===me){for(Ae=we+2;le>>=we,le-=we,0===r.have){e.msg="invalid bit length repeat",r.mode=J;break}ye=r.lens[r.have-1],ce=3+(3&se),se>>>=2,le-=2}else if(17===me){for(Ae=we+3;le>>=we)),se>>>=3,le-=3}else{for(Ae=we+7;le>>=we)),se>>>=7,le-=7}if(r.have+ce>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=J;break}for(;ce--;)r.lens[r.have++]=ye}}if(r.mode===J)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=J;break}if(r.lenbits=9,Ee={bits:r.lenbits},Me=s(o,r.lens,0,r.nlen,r.lencode,0,r.work,Ee),r.lenbits=Ee.bits,Me){e.msg="invalid literal/lengths set",r.mode=J;break}if(r.distbits=6,r.distcode=r.distdyn,Ee={bits:r.distbits},Me=s(u,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,Ee),r.distbits=Ee.bits,Me){e.msg="invalid distances set",r.mode=J;break}if(r.mode=H,i===d)break e;case H:r.mode=z;case z:if(fe>=6&&ae>=258){e.next_out=ne,e.avail_out=ae,e.next_in=re,e.avail_in=fe,r.hold=se,r.bits=le,a(e,ue),ne=e.next_out,ie=e.output,ae=e.avail_out,re=e.next_in,ee=e.input,fe=e.avail_in,se=r.hold,le=r.bits,r.mode===O&&(r.back=-1);break}for(r.back=0;_e=(Se=r.lencode[se&(1<>>16&255,me=65535&Se,!((we=Se>>>24)<=le);){if(0===fe)break e;fe--,se+=ee[re++]<>ve)])>>>16&255,me=65535&Se,!(ve+(we=Se>>>24)<=le);){if(0===fe)break e;fe--,se+=ee[re++]<>>=ve,le-=ve,r.back+=ve}if(se>>>=we,le-=we,r.back+=we,r.length=me,0===_e){r.mode=G;break}if(32&_e){r.back=-1,r.mode=O;break}if(64&_e){e.msg="invalid literal/length code",r.mode=J;break}r.extra=15&_e,r.mode=Y;case Y:if(r.extra){for(Ae=r.extra;le>>=r.extra,le-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=q;case q:for(;_e=(Se=r.distcode[se&(1<>>16&255,me=65535&Se,!((we=Se>>>24)<=le);){if(0===fe)break e;fe--,se+=ee[re++]<>ve)])>>>16&255,me=65535&Se,!(ve+(we=Se>>>24)<=le);){if(0===fe)break e;fe--,se+=ee[re++]<>>=ve,le-=ve,r.back+=ve}if(se>>>=we,le-=we,r.back+=we,64&_e){e.msg="invalid distance code",r.mode=J;break}r.offset=me,r.extra=15&_e,r.mode=X;case X:if(r.extra){for(Ae=r.extra;le>>=r.extra,le-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=J;break}r.mode=V;case V:if(0===ae)break e;if(ce=ue-ae,r.offset>ce){if((ce=r.offset-ce)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=J;break}ce>r.wnext?(ce-=r.wnext,be=r.wsize-ce):be=r.wnext-ce,ce>r.length&&(ce=r.length),ke=r.window}else ke=ie,be=ne-r.offset,ce=r.length;ce>ae&&(ce=ae),ae-=ce,r.length-=ce;do{ie[ne++]=ke[be++]}while(--ce);0===r.length&&(r.mode=z);break;case G:if(0===ae)break e;ie[ne++]=r.length,ae--,r.mode=z;break;case K:if(r.wrap){for(;le<32;){if(0===fe)break e;fe--,se|=ee[re++]<>>=p=v>>>24,b-=p,0===(p=v>>>16&255))S[f++]=65535&v;else{if(!(16&p)){if(0==(64&p)){v=k[(65535&v)+(d&(1<>>=p,b-=p),b<15&&(d+=A[t++]<>>=p=v>>>24,b-=p,!(16&(p=v>>>16&255))){if(0==(64&p)){v=w[(65535&v)+(d&(1<l){e.msg="invalid distance too far back",r.mode=30;break e}if(d>>>=p,b-=p,y>(p=f-a)){if((p=y-p)>u&&r.sane){e.msg="invalid distance too far back",r.mode=30;break e}if(M=0,E=h,0===c){if(M+=o-p,p2;)S[f++]=E[M++],S[f++]=E[M++],S[f++]=E[M++],g-=3;g&&(S[f++]=E[M++],g>1&&(S[f++]=E[M++]))}else{M=f-y;do{S[f++]=S[M++],S[f++]=S[M++],S[f++]=S[M++],g-=3}while(g>2);g&&(S[f++]=S[M++],g>1&&(S[f++]=S[M++]))}break}}break}}while(t>3,d&=(1<<(b-=g<<3))-1,e.next_in=t,e.next_out=f,e.avail_in=t=1&&0===I[S];S--);if(T>S&&(T=S),0===S)return o[u++]=20971520,o[u++]=20971520,h.bits=1,0;for(A=1;A0&&(0===e||1!==S))return-1;for(D[1]=0,M=1;M<15;M++)D[M+1]=D[M]+I[M];for(E=0;E852||2===e&&P>592)return 1;for(;;){v=M-R,c[E]m?(p=N[F+c[E]],g=O[B+c[E]]):(p=96,g=0),d=1<>R)+(b-=d)]=v<<24|p<<16|g|0}while(0!==b);for(d=1<>=1;if(0!==d?(x&=d-1,x+=d):x=0,E++,0==--I[M]){if(M===S)break;M=i[r+c[E]]}if(M>T&&(x&w)!==k){for(0===R&&(R=T),_+=A,L=1<<(C=M-R);C+R852||2===e&&P>592)return 1;o[k=x&w]=T<<24|C<<16|_-u|0}}return 0!==x&&(o[_+x]=M-R<<24|64<<16|0),h.bits=T,0}},function(e,i,r){"use strict";e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},function(e,i,r){"use strict";r.r(i);var t,n={},f=!1;function a(e){if(n[e.taskType])return console.log(\'attempt to register duplicate task handler "\',e.taskType,\'"\'),!1;n[e.taskType]=e,f&&e.initialize(t.taskConfiguration)}self.onmessage=function(e){if("initialize"!==e.data.taskType){if("loadWebWorkerTask"===e.data.taskType)return i=e.data,t=i.config,void self.importScripts(i.sourcePath);var i;if(n[e.data.taskType])try{n[e.data.taskType].handler(e.data,(function(i,r){self.postMessage({taskType:e.data.taskType,status:"success",result:i,workerIndex:e.data.workerIndex},r)}))}catch(i){console.log("task ".concat(e.data.taskType," failed - ").concat(i.message)),self.postMessage({taskType:e.data.taskType,status:"failed",result:i.message,workerIndex:e.data.workerIndex})}else console.log("no task handler for ",e.data.taskType),console.log(n),self.postMessage({taskType:e.data.taskType,status:"failed - no task handler registered",workerIndex:e.data.workerIndex})}else!function(e){if(!f){if(t=e.config,self.registerTaskHandler=a,e.config.webWorkerTaskPaths)for(var i=0;i1&&(e.photometricInterpretation="RGB"),e}function d(e){if(!e.usePDFJS&&void 0===o.a)throw new Error("OpenJPEG decoder not loaded");if(!(s||(s=o()())&&s._jp2_decode))throw new Error("OpenJPEG failed to initialize")}var b,k=function(e,i,r){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return d(r),t.usePDFJS||r.usePDFJS?function(e,i){var r=new c.a;r.parse(i);var t=r.tiles.length;if(1!==t)throw new Error("JPEG2000 decoder returned a tileCount of ".concat(t,", when 1 is expected"));return e.columns=r.width,e.rows=r.height,e.pixelData=r.tiles[0].items,e}(e,i):h(e,i)},w=r(4),_=r.n(w);function m(){if(void 0===_.a)throw new Error("No JPEG-LS decoder loaded");if(!(b||(b=_()())&&b._jpegls_decode))throw new Error("JPEG-LS failed to initialize")}var v=function(e,i){m();var r=function(e,i){var r=b._malloc(e.length);b.writeArrayToMemory(e,r);var t=b._malloc(4),n=b._malloc(4),f=b._malloc(4),a=b._malloc(4),s=b._malloc(4),l=b._malloc(4),o=b._malloc(4),u=b._malloc(4),c=b._malloc(4),h={result:b.ccall("jpegls_decode","number",["number","number","number","number","number","number","number","number","number","number","number"],[r,e.length,t,n,f,a,s,l,u,o,c]),width:b.getValue(f,"i32"),height:b.getValue(a,"i32"),bitsPerSample:b.getValue(s,"i32"),stride:b.getValue(l,"i32"),components:b.getValue(u,"i32"),allowedLossyError:b.getValue(o,"i32"),interleaveMode:b.getValue(c,"i32"),pixelData:void 0},d=b.getValue(t,"*");return h.bitsPerSample<=8?(h.pixelData=new Uint8Array(h.width*h.height*h.components),h.pixelData.set(new Uint8Array(b.HEAP8.buffer,d,h.pixelData.length))):i?(h.pixelData=new Int16Array(h.width*h.height*h.components),h.pixelData.set(new Int16Array(b.HEAP16.buffer,d,h.pixelData.length))):(h.pixelData=new Uint16Array(h.width*h.height*h.components),h.pixelData.set(new Uint16Array(b.HEAP16.buffer,d,h.pixelData.length))),b._free(r),b._free(d),b._free(t),b._free(n),b._free(f),b._free(a),b._free(s),b._free(l),b._free(u),b._free(c),h}(i,1===e.pixelRepresentation);if(0!==r.result&&6!==r.result)throw new Error("JPEG-LS decoder failed to decode frame (error code ".concat(r.result,")"));return e.columns=r.width,e.rows=r.height,e.pixelData=r.pixelData,e};var p=function(e){for(var i,r=e[0],t=e[0],n=e.length,f=1;f>8&255}else 8===e.bitsAllocated&&(e.pixelData=i);var a;return e};var E=function(e,i){if(8===e.bitsAllocated)return e.planarConfiguration?function(e,i){for(var r=i,t=e.rows*e.columns,n=new ArrayBuffer(t*e.samplesPerPixel),f=new DataView(r.buffer,r.byteOffset),a=new Int8Array(r.buffer,r.byteOffset),s=new Int8Array(n),l=0,o=f.getInt32(0,!0),u=0;u=0&&b<=127)for(var k=0;k=-127)for(var w=a[c++],_=0;_<1-b&&l=0&&b<=127)for(var k=0;k=-127)for(var w=a[c++],_=0;_<1-b&&l=0&&b<=127)for(var k=0;k=-127)for(var w=a[h++],_=0;_<1-b&&u>s;var o=(new Date).getTime();return e.decodeTimeInMS=o-f,e};function O(e){e.decodeTask.initializeCodecsOnStartup&&(d(e.decodeTask),m(e.decodeTask))}var B={taskType:"decodeTask",handler:function(e,i){O(P);var r=P&&P.decodeTask&&P.decodeTask.strict,t=e.data.imageFrame,n=new Uint8Array(e.data.pixelData);if(x(t,e.data.transferSyntax,n,P.decodeTask,e.data.options),!t.pixelData)throw new Error("decodeTask: imageFrame.pixelData is undefined after decoding");!function(e){var i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=p(e.pixelData),t=!(g(e.smallestPixelValue)&&g(e.largestPixelValue));!0!==i||t?(e.smallestPixelValue=r.min,e.largestPixelValue=r.max):(e.smallestPixelValue!==r.min&&console.warn("Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably."),e.largestPixelValue!==r.max&&console.warn("Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably."))}(t,r),t.pixelData=t.pixelData.buffer,i(t,[t.pixelData])},initialize:function(e){P=e,O(e)}};r(12);r.d(i,"registerTaskHandler",(function(){return a})),r.d(i,"version",(function(){return"3.0.6"})),a(B);var I={registerTaskHandler:a,version:"3.0.6"};i.default=I}]);\n//# sourceMappingURL=434dd146697bf197b774.worker.js.map',null)}},function(e,i,r){"use strict";var f=window.URL||window.webkitURL;e.exports=function(e,i){try{try{var r;try{(r=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder)).append(e),r=r.getBlob()}catch(i){r=new Blob([e])}return new Worker(f.createObjectURL(r))}catch(i){return new Worker("data:application/javascript,"+encodeURIComponent(e))}}catch(e){if(!i)throw Error("Inline worker is not supported");return new Worker(i)}}},function(e,i){var r={Unkown:0,Grayscale:1,AdobeRGB:2,RGB:3,CYMK:4},f=function(){"use strict";var e=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),i=4017,f=799,n=3406,t=2276,a=1567,s=3784,l=5793,o=2896;function u(){}function c(e,i){for(var r,f,n=0,t=[],a=16;a>0&&!e[a-1];)a--;t.push({children:[],index:0});var s,l=t[0];for(r=0;r0;)l=t.pop();for(l.index++,t.push(l);t.length<=r;)t.push(s={children:[],index:0}),l.children[l.index]=s.children,l=s;n++}r+10)return b>>--_&1;if(255==(b=i[r++])){var e=i[r++];if(e)throw"unexpected marker: "+(b<<8|e).toString(16)}return _=7,b>>>7}function w(e){for(var i,r=e;null!==(i=k());){if("number"==typeof(r=r[i]))return r;if("object"!=typeof r)throw"invalid huffman sequence"}return null}function m(e){for(var i=0;e>0;){var r=k();if(null===r)return;i=i<<1|r,e--}return i}function v(e){var i=m(e);return i>=1<0)p--;else for(var f=a,n=s;f<=n;){var t=w(i.huffmanTableAC),l=15&t,u=t>>4;if(0!==l){var c=e[f+=u];i.blockData[r+c]=v(l)*(1<>4,0===c)t<15?(p=m(t)+(1<>4;if(0!==s){var o=e[t+=l];i.blockData[r+o]=v(s),t++}else{if(l<15)break;t+=16}}};var O,x,L,B,z=0;for(x=1==I?n[0].blocksPerLine*n[0].blocksPerColumn:u*f.mcusPerColumn,t||(t=x);z=65488&&O<=65495))break;r+=2}return r-d}function b(e,r,u){var c,h,d,b,_,k,w,m,v,p,g=e.quantizationTable;for(p=0;p<64;p++)u[p]=e.blockData[r+p]*g[p];for(p=0;p<8;++p){var y=8*p;0!==u[1+y]||0!==u[2+y]||0!==u[3+y]||0!==u[4+y]||0!==u[5+y]||0!==u[6+y]||0!==u[7+y]?(c=l*u[0+y]+128>>8,h=l*u[4+y]+128>>8,d=u[2+y],b=u[6+y],_=o*(u[1+y]-u[7+y])+128>>8,m=o*(u[1+y]+u[7+y])+128>>8,k=u[3+y]<<4,w=u[5+y]<<4,v=c-h+1>>1,c=c+h+1>>1,h=v,v=d*s+b*a+128>>8,d=d*a-b*s+128>>8,b=v,v=_-w+1>>1,_=_+w+1>>1,w=v,v=m+k+1>>1,k=m-k+1>>1,m=v,v=c-b+1>>1,c=c+b+1>>1,b=v,v=h-d+1>>1,h=h+d+1>>1,d=v,v=_*t+m*n+2048>>12,_=_*n-m*t+2048>>12,m=v,v=k*f+w*i+2048>>12,k=k*i-w*f+2048>>12,w=v,u[0+y]=c+m,u[7+y]=c-m,u[1+y]=h+w,u[6+y]=h-w,u[2+y]=d+k,u[5+y]=d-k,u[3+y]=b+_,u[4+y]=b-_):(v=l*u[0+y]+512>>10,u[0+y]=v,u[1+y]=v,u[2+y]=v,u[3+y]=v,u[4+y]=v,u[5+y]=v,u[6+y]=v,u[7+y]=v)}for(p=0;p<8;++p){var M=p;0!==u[8+M]||0!==u[16+M]||0!==u[24+M]||0!==u[32+M]||0!==u[40+M]||0!==u[48+M]||0!==u[56+M]?(c=l*u[0+M]+2048>>12,h=l*u[32+M]+2048>>12,d=u[16+M],b=u[48+M],_=o*(u[8+M]-u[56+M])+2048>>12,m=o*(u[8+M]+u[56+M])+2048>>12,k=u[24+M],w=u[40+M],v=c-h+1>>1,c=c+h+1>>1,h=v,v=d*s+b*a+2048>>12,d=d*a-b*s+2048>>12,b=v,v=_-w+1>>1,_=_+w+1>>1,w=v,v=m+k+1>>1,k=m-k+1>>1,m=v,v=c-b+1>>1,c=c+b+1>>1,b=v,v=h-d+1>>1,h=h+d+1>>1,d=v,v=_*t+m*n+2048>>12,_=_*n-m*t+2048>>12,m=v,v=k*f+w*i+2048>>12,k=k*i-w*f+2048>>12,w=v,u[0+M]=c+m,u[56+M]=c-m,u[8+M]=h+w,u[48+M]=h-w,u[16+M]=d+k,u[40+M]=d-k,u[24+M]=b+_,u[32+M]=b-_):(v=l*u[p+0]+8192>>14,u[0+M]=v,u[8+M]=v,u[16+M]=v,u[24+M]=v,u[32+M]=v,u[40+M]=v,u[48+M]=v,u[56+M]=v)}for(p=0;p<64;++p){var A=r+p,E=u[p];E=E<=-2056/e.bitConversion?0:E>=2024/e.bitConversion?255/e.bitConversion:E+2056/e.bitConversion>>4,e.blockData[A]=E}}function _(e,i){for(var r=i.blocksPerLine,f=i.blocksPerColumn,n=new Int32Array(64),t=0;t=255?255:0|e}return u.prototype={load:function(e){var i=function(e){this.parse(e),this.onload&&this.onload()}.bind(this);if(e.indexOf("data:")>-1){for(var r=e.indexOf("base64,")+7,f=atob(e.substring(r)),n=new Uint8Array(f.length),t=f.length-1;t>=0;t--)n[t]=f.charCodeAt(t);i(f)}else{var a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="arraybuffer",a.onload=function(){var e=new Uint8Array(a.response);i(e)}.bind(this),a.send(null)}},parse:function(i){function f(){var e=i[l]<<8|i[l+1];return l+=2,e}function n(){var e=f(),r=i.subarray(l,l+e-2);return l+=r.length,r}function t(e){for(var i=Math.ceil(e.samplesPerLine/8/e.maxH),r=Math.ceil(e.scanLines/8/e.maxV),f=0;f>4==0)for(m=0;m<64;m++){M[e[m]]=i[l++]}else{if(y>>4!=1)throw"DQT: invalid table spec";for(m=0;m<64;m++){M[e[m]]=f()}}h[15&y]=M}break;case 65472:case 65473:case 65474:if(a)throw"Only single frame JPEGs supported";f(),(a={}).extended=65473===w,a.progressive=65474===w,a.precision=i[l++],a.scanLines=f(),a.samplesPerLine=f(),a.components=[],a.componentIds={};var A,E=i[l++],S=0,T=0;for(q=0;q>4,C=15&i[l+1];S>4==0?k:b)[15&O]=c(x,B)}break;case 65501:f(),s=f();break;case 65498:f();var z=i[l++],D=[];for(q=0;q>4],$.huffmanTableAC=b[15&F],D.push($)}var H=i[l++],U=i[l++],j=i[l++],Y=d(i,l,a,D,s,H,U,j>>4,15&j);l+=Y;break;case 65535:255!==i[l]&&l--;break;default:if(255==i[l-3]&&i[l-2]>=192&&i[l-2]<=254){l-=3;break}throw"unknown JPEG marker "+w.toString(16)}w=f()}switch(this.width=a.samplesPerLine,this.height=a.scanLines,this.jfif=o,this.adobe=u,this.components=[],a.components.length){case 1:this.colorspace=r.Grayscale;break;case 3:this.adobe?this.colorspace=r.AdobeRGB:this.colorspace=r.RGB;break;case 4:this.colorspace=r.CYMK;break;default:this.colorspace=r.Unknown}for(var q=0;q1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),void 0!==module&&(module.exports=Module),process.on("uncaughtException",(function(e){if(!(e instanceof ExitStatus))throw e})),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available (jsc?)"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var i=read(e,"binary");return assert("object"==typeof i),i},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments);else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var i=new XMLHttpRequest;return i.open("GET",e,!1),i.send(null),i.responseText},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.log(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(e){dump(e)}:function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),void 0===Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}function globalEval(e){eval.call(null,e)}for(var key in!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[],moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);var Runtime={setTempRet0:function(e){tempRet0=e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var i=parseInt(e.substr(1));return assert(i%8==0),i/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,i){return"double"===i||"i64"===i?7&e&&(assert(4==(7&e)),e+=4):assert(0==(3&e)),e},getAlignSize:function(e,i,r){return r||"i64"!=e&&"double"!=e?e?Math.min(i||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(i,8):8},dynCall:function(e,i,r){return r&&r.length?(r.splice||(r=Array.prototype.slice.call(r)),r.splice(0,0,i),Module["dynCall_"+e].apply(null,r)):Module["dynCall_"+e].call(null,i)},functionPointers:[],addFunction:function(e){for(var i=0;i=TOTAL_MEMORY&&!enlargeMemory())return DYNAMICTOP=i,0;return i},alignMemory:function(e,i){return e=Math.ceil(e/(i||16))*(i||16)},makeBigInt:function(e,i,r){return r?+(e>>>0)+4294967296*+(i>>>0):+(e>>>0)+4294967296*+(0|i)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var __THREW__=0,ABORT=!1,EXITSTATUS=0,undef=0,tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat,tempI64,tempI64b,tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(e,i){e||abort("Assertion failed: "+i)}var globalScope=this,cwrap,ccall;function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,i,r,f){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":HEAP8[e>>0]=i;break;case"i16":HEAP16[e>>1]=i;break;case"i32":HEAP32[e>>2]=i;break;case"i64":tempI64=[i>>>0,(tempDouble=i,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=i;break;case"double":HEAPF64[e>>3]=i;break;default:abort("invalid type for setValue: "+r)}}function getValue(e,i,r){switch("*"===(i=i||"i8").charAt(i.length-1)&&(i="i32"),i){case"i1":case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+i)}return null}!function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var i=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,i),i},stringToC:function(e){var i=0;return null!=e&&0!==e&&writeStringToMemory(e,i=Runtime.stackAlloc(1+(e.length<<2))),i}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,i,r,f,n){var t=getCFunc(e),a=[],s=0;if(f)for(var l=0;l>2]=0;for(l=a+t;f>0]=0;return a}if("i8"===s)return e.subarray||e.slice?HEAPU8.set(e,a):HEAPU8.set(new Uint8Array(e),a),a;for(var o,u,c,h=0;h>0],(0!=r||i)&&(n++,!i||n!=i););i||(i=n);var t="";if(f<128){for(var a;i>0;)a=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(i,1024))),t=t?t+a:a,e+=1024,i-=1024;return t}return Module.UTF8ToString(e)}function AsciiToString(e){for(var i="";;){var r=HEAP8[e++>>0];if(!r)return i;i+=String.fromCharCode(r)}}function stringToAscii(e,i){return writeAsciiToMemory(e,i,!1)}function UTF8ArrayToString(e,i){for(var r,f,n,t,a,s="";;){if(!(r=e[i++]))return s;if(128&r)if(f=63&e[i++],192!=(224&r))if(n=63&e[i++],224==(240&r)?r=(15&r)<<12|f<<6|n:(t=63&e[i++],240==(248&r)?r=(7&r)<<18|f<<12|n<<6|t:(a=63&e[i++],r=248==(252&r)?(3&r)<<24|f<<18|n<<12|t<<6|a:(1&r)<<30|f<<24|n<<18|t<<12|a<<6|63&e[i++])),r<65536)s+=String.fromCharCode(r);else{var l=r-65536;s+=String.fromCharCode(55296|l>>10,56320|1023&l)}else s+=String.fromCharCode((31&r)<<6|f);else s+=String.fromCharCode(r)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,i,r,f){if(!(f>0))return 0;for(var n=r,t=r+f-1,a=0;a=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=t)break;i[r++]=s}else if(s<=2047){if(r+1>=t)break;i[r++]=192|s>>6,i[r++]=128|63&s}else if(s<=65535){if(r+2>=t)break;i[r++]=224|s>>12,i[r++]=128|s>>6&63,i[r++]=128|63&s}else if(s<=2097151){if(r+3>=t)break;i[r++]=240|s>>18,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}else if(s<=67108863){if(r+4>=t)break;i[r++]=248|s>>24,i[r++]=128|s>>18&63,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}else{if(r+5>=t)break;i[r++]=252|s>>30,i[r++]=128|s>>24&63,i[r++]=128|s>>18&63,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}}return i[r]=0,r-n}function stringToUTF8(e,i,r){return stringToUTF8Array(e,HEAPU8,i,r)}function lengthBytesUTF8(e){for(var i=0,r=0;r=55296&&f<=57343&&(f=65536+((1023&f)<<10)|1023&e.charCodeAt(++r)),f<=127?++i:i+=f<=2047?2:f<=65535?3:f<=2097151?4:f<=67108863?5:6}return i}function UTF16ToString(e){for(var i=0,r="";;){var f=HEAP16[e+2*i>>1];if(0==f)return r;++i,r+=String.fromCharCode(f)}}function stringToUTF16(e,i,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var f=i,n=(r-=2)<2*e.length?r/2:e.length,t=0;t>1]=a,i+=2}return HEAP16[i>>1]=0,i-f}function lengthBytesUTF16(e){return 2*e.length}function UTF32ToString(e){for(var i=0,r="";;){var f=HEAP32[e+4*i>>2];if(0==f)return r;if(++i,f>=65536){var n=f-65536;r+=String.fromCharCode(55296|n>>10,56320|1023&n)}else r+=String.fromCharCode(f)}}function stringToUTF32(e,i,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var f=i,n=f+r-4,t=0;t=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++t);if(HEAP32[i>>2]=a,(i+=4)+4>n)break}return HEAP32[i>>2]=0,i-f}function lengthBytesUTF32(e){for(var i=0,r=0;r=55296&&f<=57343&&++r,i+=4}return i}function demangle(e){var i=!!Module.___cxa_demangle;if(i)try{var r=_malloc(e.length);writeStringToMemory(e.substr(1),r);var f=_malloc(4),n=Module.___cxa_demangle(r,0,0,f);if(0===getValue(f,"i32")&&n)return Pointer_stringify(n)}catch(e){}finally{r&&_free(r),f&&_free(f),n&&_free(n)}var t=3,a={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},s=[],l=!0;var o=e;try{if("Object._main"==e||"_main"==e)return"main()";if("number"==typeof e&&(e=Pointer_stringify(e)),"_"!==e[0])return e;if("_"!==e[1])return e;if("Z"!==e[2])return e;switch(e[3]){case"n":return"operator new()";case"d":return"operator delete()"}o=function i(r,f,n){f=f||1/0;var o,u="",c=[];if("N"===e[t]){if(o=function(){"K"===e[++t]&&t++;for(var i=[];"E"!==e[t];)if("S"!==e[t])if("C"!==e[t]){var r=parseInt(e.substr(t)),f=r.toString().length;if(!r||!f){t--;break}var n=e.substr(t+f,r);i.push(n),s.push(n),t+=f+r}else i.push(i[i.length-1]),t+=2;else{t++;var a=e.indexOf("_",t),l=e.substring(t,a)||0;i.push(s[l]||"?"),t=a+1}return t++,i}().join("::"),0===--f)return r?[o]:o}else if(("K"===e[t]||l&&"L"===e[t])&&t++,_=parseInt(e.substr(t))){var h=_.toString().length;o=e.substr(t+h,_),t+=h+_}if(l=!1,"I"===e[t]){t++;var d=i(!0);u+=i(!0,1,!0)[0]+" "+o+"<"+d.join(", ")+">"}else u=o;e:for(;t0;){var b=e[t++];if(b in a)c.push(a[b]);else switch(b){case"P":c.push(i(!0,1,!0)[0]+"*");break;case"R":c.push(i(!0,1,!0)[0]+"&");break;case"L":t++;var _=e.indexOf("E",t)-t;c.push(e.substr(t,_)),t+=_+2;break;case"A":_=parseInt(e.substr(t));if(t+=_.toString().length,"_"!==e[t])throw"?";t++,c.push(i(!0,1,!0)[0]+" ["+_+"]");break;case"E":break e;default:u+="?"+b;break e}}return n||1!==c.length||"void"!==c[0]||(c=[]),r?(u&&c.push(u+"?"),c):u+"("+c.join(", ")+")"}()}catch(e){o+="?"}return o.indexOf("?")>=0&&!i&&Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),o}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,(function(e){var i=demangle(e);return e===i?e:e+" ["+i+"]"}))}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(i){e=i}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE,Module.allocate=allocate,Module.getMemory=getMemory,Module.Pointer_stringify=Pointer_stringify,Module.AsciiToString=AsciiToString,Module.stringToAscii=stringToAscii,Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.UTF16ToString=UTF16ToString,Module.stringToUTF16=stringToUTF16,Module.lengthBytesUTF16=lengthBytesUTF16,Module.UTF32ToString=UTF32ToString,Module.stringToUTF32=stringToUTF32,Module.lengthBytesUTF32=lengthBytesUTF32,Module.stackTrace=stackTrace;var PAGE_SIZE=4096,HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function alignMemoryPage(e){return e%4096>0&&(e+=4096-e%4096),e}var STATIC_BASE=0,STATICTOP=0,staticSealed=!1,STACK_BASE=0,STACKTOP=0,STACK_MAX=0,DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}for(var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||4e8,totalMemory=65536,buffer;totalMemory0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?Runtime.dynCall("v",r):Runtime.dynCall("vi",r,[i.arg]):r(void 0===i.arg?null:i.arg)}else i()}}totalMemory!==TOTAL_MEMORY&&(TOTAL_MEMORY=totalMemory),assert("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support"),buffer=new ArrayBuffer(TOTAL_MEMORY),HEAP8=new Int8Array(buffer),HEAP16=new Int16Array(buffer),HEAP32=new Int32Array(buffer),HEAPU8=new Uint8Array(buffer),HEAPU16=new Uint16Array(buffer),HEAPU32=new Uint32Array(buffer),HEAPF32=new Float32Array(buffer),HEAPF64=new Float64Array(buffer),HEAP32[0]=255,assert(255===HEAPU8[0]&&0===HEAPU8[3],"Typed arrays 2 must be run on a little-endian system"),Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,i,r){var f=r>0?r:lengthBytesUTF8(e)+1,n=new Array(f),t=stringToUTF8Array(e,n,0,n.length);return i&&(n.length=t),n}function intArrayToString(e){for(var i=[],r=0;r255&&(f&=255),i.push(String.fromCharCode(f))}return i.join("")}function writeStringToMemory(e,i,r){for(var f=intArrayFromString(e,r),n=0;n>0]=t,n+=1}}function writeArrayToMemory(e,i){for(var r=0;r>0]=e[r]}function writeAsciiToMemory(e,i,r){for(var f=0;f>0]=e.charCodeAt(f);r||(HEAP8[i>>0]=0)}function unSign(e,i,r){return e>=0?e:i<=32?2*Math.abs(1<=f&&(i<=32||e>f)&&(e=-2*f+e),e}Module.addOnPreRun=addOnPreRun,Module.addOnInit=addOnInit,Module.addOnPreMain=addOnPreMain,Module.addOnExit=addOnExit,Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,i){var r=65535&e,f=65535&i;return r*f+((e>>>16)*f+r*(i>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var i=0;i<32;i++)if(e&1<<31-i)return i;return 32}),Math.clz32=Math.clz32;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_min=Math.min,Math_clz32=Math.clz32,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var i=dependenciesFulfilled;dependenciesFulfilled=null,i()}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var memoryInitializer=null,ASM_CONSTS=[];STATIC_BASE=8,STATICTOP=STATIC_BASE+59744,__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_jpegls_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}}),allocate([0,0,0,0,0,0,0,0,84,144,0,0,31,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,237,191,0,0,48,0,0,0,0,0,0,0,44,144,0,0,41,192,0,0,84,144,0,0,55,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,115,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,192,0,0,152,3,0,0,0,0,0,0,84,144,0,0,241,192,0,0,216,3,0,0,0,0,0,0,84,144,0,0,55,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,95,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,135,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,216,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,241,193,0,0,48,0,0,0,0,0,0,0,44,144,0,0,13,194,0,0,84,144,0,0,80,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,44,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,139,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,179,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,219,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,3,195,0,0,48,0,0,0,0,0,0,0,84,144,0,0,103,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,157,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,211,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,8,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,71,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,138,196,0,0,160,1,0,0,0,0,0,0,44,144,0,0,120,196,0,0,84,144,0,0,187,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,246,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,49,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,103,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,157,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,210,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,17,198,0,0,160,1,0,0,0,0,0,0,84,144,0,0,86,198,0,0,72,3,0,0,0,0,0,0,84,144,0,0,162,198,0,0,56,2,0,0,0,0,0,0,44,144,0,0,182,198,0,0,84,144,0,0,196,198,0,0,56,2,0,0,0,0,0,0,84,144,0,0,112,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,125,199,0,0,84,144,0,0,138,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,156,199,0,0,84,144,0,0,169,199,0,0,96,2,0,0,0,0,0,0,84,144,0,0,181,199,0,0,120,2,0,0,0,0,0,0,84,144,0,0,214,199,0,0,144,2,0,0,0,0,0,0,84,144,0,0,28,200,0,0,144,2,0,0,0,0,0,0,84,144,0,0,248,199,0,0,176,2,0,0,0,0,0,0,84,144,0,0,62,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,99,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,182,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,245,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,13,222,0,0,152,3,0,0,0,0,0,0,84,144,0,0,38,222,0,0,152,3,0,0,0,0,0,0,44,144,0,0,62,222,0,0,84,144,0,0,87,222,0,0,104,2,0,0,0,0,0,0,44,144,0,0,110,222,0,0,84,144,0,0,135,222,0,0,72,3,0,0,0,0,0,0,84,144,0,0,161,222,0,0,56,3,0,0,0,0,0,0,44,144,0,0,187,222,0,0,84,144,0,0,205,222,0,0,112,3,0,0,0,0,0,0,84,144,0,0,247,222,0,0,112,3,0,0,0,0,0,0,44,144,0,0,33,223,0,0,44,144,0,0,82,223,0,0,124,144,0,0,131,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,178,223,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,124,144,0,0,225,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,16,224,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,84,144,0,0,63,224,0,0,80,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,144,0,0,187,224,0,0,48,3,0,0,0,0,0,0,124,144,0,0,209,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,124,144,0,0,227,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,5,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,40,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,75,225,0,0,144,4,0,0,0,0,0,0,84,144,0,0,109,225,0,0,144,4,0,0,0,0,0,0,124,144,0,0,144,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,178,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,200,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,220,225,0,0,32,4,0,0,0,0,0,0,124,144,0,0,240,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,84,144,0,0,2,226,0,0,32,4,0,0,0,0,0,0,84,144,0,0,23,226,0,0,32,4,0,0,0,0,0,0,124,144,0,0,44,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,80,10,0,0,0,0,0,0,124,144,0,0,112,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,104,10,0,0,0,0,0,0,124,144,0,0,180,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,128,10,0,0,0,0,0,0,124,144,0,0,248,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,152,10,0,0,0,0,0,0,124,144,0,0,60,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,184,10,0,0,0,8,0,0,124,144,0,0,129,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,192,10,0,0,0,8,0,0,124,144,0,0,198,227,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,11,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,80,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,108,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,136,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,164,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,192,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,216,10,0,0,0,0,0,0,124,144,0,0,6,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,224,10,0,0,0,0,0,0,124,144,0,0,76,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,232,10,0,0,0,0,0,0,124,144,0,0,146,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,240,10,0,0,0,0,0,0,124,144,0,0,216,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,124,144,0,0,237,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,144,0,0,73,233,0,0,44,144,0,0,50,233,0,0,124,144,0,0,28,233,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,237,232,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,215,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,124,144,0,0,168,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,44,144,0,0,149,232,0,0,44,144,0,0,115,232,0,0,44,144,0,0,81,232,0,0,44,144,0,0,60,232,0,0,44,144,0,0,39,232,0,0,44,144,0,0,14,232,0,0,44,144,0,0,245,231,0,0,44,144,0,0,220,231,0,0,44,144,0,0,195,231,0,0,44,144,0,0,171,231,0,0,44,144,0,0,190,232,0,0,44,144,0,0,3,233],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE),allocate([156,143,0,0,0,0,0,0,8,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,248,1,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,1,0,0,5,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,7,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,200,1,0,0,9,0,0,0,10,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,184,1,0,0,11,0,0,0,12,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,168,1,0,0,13,0,0,0,14,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,144,1,0,0,15,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,128,1,0,0,17,0,0,0,18,0,0,0,9,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,112,1,0,0,19,0,0,0,20,0,0,0,10,0,0,0,2,0,0,0,10,0,0,0,0,0,0,0,96,1,0,0,21,0,0,0,22,0,0,0,11,0,0,0,3,0,0,0,11,0,0,0,0,0,0,0,80,1,0,0,23,0,0,0,24,0,0,0,12,0,0,0,4,0,0,0,12,0,0,0,0,0,0,0,64,1,0,0,25,0,0,0,26,0,0,0,13,0,0,0,5,0,0,0,13,0,0,0,0,0,0,0,240,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,6,0,0,0,14,0,0,0,0,0,0,0,224,0,0,0,29,0,0,0,30,0,0,0,15,0,0,0,7,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,31,0,0,0,32,0,0,0,16,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,200,0,0,0,33,0,0,0,34,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,184,0,0,0,33,0,0,0,35,0,0,0,3,0,0,0,4,0,0,0,56,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,200,255,255,255,200,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,56,0,0,0,0,0,0,0,104,0,0,0,40,0,0,0,41,0,0,0,200,255,255,255,200,255,255,255,104,0,0,0,42,0,0,0,43,0,0,0,0,0,0,0,88,0,0,0,44,0,0,0,45,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,17,0,0,0,3,0,0,0,18,0,0,0,104,141,0,0,64,141,0,0,84,141,0,0,124,141,0,0,0,0,0,0,32,0,0,0,46,0,0,0,47,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,56,0,0,0,48,0,0,0,49,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,72,0,0,0,50,0,0,0,51,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,120,0,0,0,52,0,0,0,53,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,136,0,0,0,54,0,0,0,55,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,152,0,0,0,56,0,0,0,57,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,168,0,0,0,58,0,0,0,59,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,216,0,0,0,60,0,0,0,61,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,62,0,0,0,63,0,0,0,20,0,0,0,21,0,0,0,0,0,0,0,16,1,0,0,64,0,0,0,65,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,32,1,0,0,66,0,0,0,67,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,48,1,0,0,68,0,0,0,69,0,0,0,26,0,0,0,27,0,0,0,0,0,0,0,160,1,0,0,70,0,0,0,71,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,24,2,0,0,72,0,0,0,73,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,40,2,0,0,74,0,0,0,75,0,0,0,18,0,0,0,0,0,0,0,64,2,0,0,76,0,0,0,77,0,0,0,19,0,0,0,2,0,0,0,0,0,0,0,80,2,0,0,78,0,0,0,79,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,104,2,0,0,80,0,0,0,81,0,0,0,7,0,0,0,0,0,0,0,128,2,0,0,82,0,0,0,83,0,0,0,8,0,0,0,0,0,0,0,160,2,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,2,0,0,0,9,0,0,0,28,0,0,0,0,0,0,0,208,2,0,0,84,0,0,0,88,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,3,0,0,0,10,0,0,0,29,0,0,0,0,0,0,0,224,2,0,0,84,0,0,0,89,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,4,0,0,0,11,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,1,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,88,146,0,0,200,146,0,0,56,147,0,0,56,147,0,0,120,187,0,0,168,155,0,0,168,149,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,9,0,0,0,159,219,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,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,9,0,0,0,151,215,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,9,0,0,0,143,211,0,0,0,4,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,10,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+35640),allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+39844),allocate([240,2,0,0,90,0,0,0,91,0,0,0,20,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,14,0,0,0,20,0,0,0,0,0,0,0,0,3,0,0,90,0,0,0,92,0,0,0,21,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,16,0,0,0,21,0,0,0,15,0,0,0,22,0,0,0,0,0,0,0,16,3,0,0,93,0,0,0,94,0,0,0,22,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,32,3,0,0,93,0,0,0,95,0,0,0,23,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,19,0,0,0,20,0,0,0,25,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,56,3,0,0,96,0,0,0,97,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,3,0,0,93,0,0,0,98,0,0,0,17,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,160,3,0,0,90,0,0,0,99,0,0,0,24,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,15,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,168,3,0,0,100,0,0,0,101,0,0,0,248,255,255,255,248,255,255,255,168,3,0,0,102,0,0,0,103,0,0,0,8,0,0,0,0,0,0,0,192,3,0,0,104,0,0,0,105,0,0,0,248,255,255,255,248,255,255,255,192,3,0,0,106,0,0,0,107,0,0,0,4,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,252,255,255,255,252,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,4,0,0,0,0,0,0,0,240,3,0,0,108,0,0,0,109,0,0,0,252,255,255,255,252,255,255,255,240,3,0,0,110,0,0,0,111,0,0,0,0,0,0,0,96,3,0,0,112,0,0,0,113,0,0,0,7,0,0,0,0,0,0,0,112,3,0,0,114,0,0,0,115,0,0,0,0,0,0,0,8,4,0,0,72,0,0,0,116,0,0,0,21,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,117,0,0,0,118,0,0,0,119,0,0,0,1,0,0,0,33,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,5,0,0,120,0,0,0,121,0,0,0,119,0,0,0,2,0,0,0,34,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,5,0,0,122,0,0,0,123,0,0,0,119,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,5,0,0,124,0,0,0,125,0,0,0,119,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,5,0,0,126,0,0,0,127,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,5,0,0,128,0,0,0,129,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,26,0,0,0,3,0,0,0,4,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,5,0,0,130,0,0,0,131,0,0,0,119,0,0,0,22,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,248,255,255,255,224,5,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,0,0,132,0,0,0,133,0,0,0,119,0,0,0,30,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,2,0,0,0,248,255,255,255,8,6,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,6,0,0,134,0,0,0,135,0,0,0,119,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,6,0,0,136,0,0,0,137,0,0,0,119,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,6,0,0,138,0,0,0,139,0,0,0,119,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,40,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,6,0,0,140,0,0,0,141,0,0,0,119,0,0,0,41,0,0,0,42,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,43,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,6,0,0,142,0,0,0,143,0,0,0,119,0,0,0,44,0,0,0,45,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,46,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,6,0,0,144,0,0,0,145,0,0,0,119,0,0,0,47,0,0,0,48,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,49,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,6,0,0,146,0,0,0,147,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,0,0,148,0,0,0,149,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,7,0,0,150,0,0,0,151,0,0,0,119,0,0,0,1,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,7,0,0,152,0,0,0,153,0,0,0,119,0,0,0,2,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,0,0,154,0,0,0,155,0,0,0,119,0,0,0,19,0,0,0,7,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,7,0,0,156,0,0,0,157,0,0,0,119,0,0,0,20,0,0,0,8,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,4,0,0,158,0,0,0,159,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,5,0,0,160,0,0,0,161,0,0,0,119,0,0,0,27,0,0,0,21,0,0,0,28,0,0,0,22,0,0,0,29,0,0,0,9,0,0,0,23,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,4,0,0,162,0,0,0,163,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,12,0,0,0,50,0,0,0,51,0,0,0,13,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,5,0,0,164,0,0,0,165,0,0,0,119,0,0,0,53,0,0,0,54,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,80,5,0,0,166,0,0,0,167,0,0,0,119,0,0,0,55,0,0,0,56,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,0,0,0,0,32,4,0,0,168,0,0,0,169,0,0,0,119,0,0,0,0,0,0,0,48,4,0,0,168,0,0,0,170,0,0,0,119,0,0,0,24,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,30,0,0,0,25,0,0,0,31,0,0,0,26,0,0,0,32,0,0,0,13,0,0,0,27,0,0,0,14,0,0,0,0,0,0,0,80,4,0,0,168,0,0,0,171,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,15,0,0,0,57,0,0,0,58,0,0,0,16,0,0,0,59,0,0,0,0,0,0,0,112,4,0,0,168,0,0,0,172,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,17,0,0,0,60,0,0,0,61,0,0,0,18,0,0,0,62,0,0,0,0,0,0,0,144,4,0,0,168,0,0,0,173,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,176,4,0,0,168,0,0,0,174,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,192,4,0,0,168,0,0,0,175,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,32,2,32,2,32,2,32,2,32,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,96,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,213,8,213,8,213,8,213,8,213,8,213,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,4,192,4,192,4,192,4,192,4,192,4,192,8,214,8,214,8,214,8,214,8,214,8,214,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,4,192,4,192,4,192,4,192,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,119,83,116,114,101,97,109,32,111,114,32,114,97,119,68,97,116,97,32,110,101,101,100,115,32,116,111,32,114,101,102,101,114,101,110,99,101,32,116,111,32,115,111,109,101,116,104,105,110,103,0,119,105,100,116,104,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,104,101,105,103,104,116,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,98,105,116,115,112,101,114,115,97,109,112,108,101,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,50,44,32,49,54,93,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,110,101,101,100,115,32,116,111,32,98,101,32,115,101,116,32,116,111,32,97,32,118,97,108,117,101,32,111,102,32,123,78,111,110,101,44,32,83,97,109,112,108,101,44,32,76,105,110,101,125,0,99,111,109,112,111,110,101,110,116,115,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,50,53,53,93,0,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,119,105,116,104,32,116,104,101,32,111,116,104,101,114,32,112,97,114,97,109,101,116,101,114,115,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,110,111,116,32,98,101,32,115,101,116,32,116,111,32,83,97,109,112,108,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,52,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,32,111,110,108,121,32,98,101,32,115,101,116,32,116,111,32,78,111,110,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,49,0,67,111,108,111,114,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,0,78,111,32,109,111,114,101,32,98,121,116,101,115,32,97,118,97,105,108,97,98,108,101,32,105,110,32,105,110,112,117,116,32,98,117,102,102,101,114,44,32,115,116,105,108,108,32,110,101,101,100,101,100,105,110,103,32,0,65,110,32,111,100,100,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,40,0,41,32,99,97,110,110,111,116,32,98,101,32,115,119,97,112,112,101,100,46,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,69,0,49,49,80,114,111,99,101,115,115,76,105,110,101,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,105,110,103,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,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,49,49,57,98,97,115,105,99,95,111,115,116,114,105,110,103,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,116,69,69,0,50,50,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,83,116,114,101,97,109,0,50,53,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,67,111,109,112,111,110,101,110,116,0,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,104,69,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,67,104,97,114,76,83,32,101,114,114,111,114,0,99,104,97,114,108,115,0,49,53,99,104,97,114,108,115,95,99,97,116,101,103,111,114,121,0,112,97,114,97,109,115,46,88,116,104,117,109,98,110,97,105,108,32,105,115,32,62,32,48,32,98,117,116,32,112,97,114,97,109,115,46,116,104,117,109,98,110,97,105,108,32,61,61,32,110,117,108,108,95,112,116,114,0,49,55,74,112,101,103,77,97,114,107,101,114,83,101,103,109,101,110,116,0,49,49,74,112,101,103,83,101,103,109,101,110,116,0,50,48,74,112,101,103,73,109,97,103,101,68,97,116,97,83,101,103,109,101,110,116,0,69,120,112,101,99,116,101,100,32,74,80,69,71,32,77,97,114,107,101,114,32,115,116,97,114,116,32,98,121,116,101,32,48,120,70,70,32,98,117,116,32,116,104,101,32,98,121,116,101,32,118,97,108,117,101,32,119,97,115,32,48,120,0,74,80,69,71,32,101,110,99,111,100,105,110,103,32,119,105,116,104,32,109,97,114,107,101,114,32,0,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,0,85,110,107,110,111,119,110,32,74,80,69,71,32,109,97,114,107,101,114,32,0,32,101,110,99,111,117,110,116,101,114,101,100,46,0,109,114,102,120,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,83,116,57,116,121,112,101,95,105,110,102,111,0,83,116,56,98,97,100,95,99,97,115,116,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,101,120,99,101,112,116,105,111,110,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+42396),allocate([32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,80,79,83,73,88],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+52636),allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,58,32,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,105,111,115,116,114,101,97,109,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,37,112,0,67,0,37,0,0,0,0,0,108,0,108,108,0,0,76,0,37,112,0,0,0,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,37,72,58,37,77,37,72,58,37,77,58,37,83,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,48,49,50,51,52,53,54,55,56,57,0,37,76,102,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,0,37,46,48,76,102,0,116,114,117,101,0,102,97,108,115,101,0,83,117,110,100,97,121,0,77,111,110,100,97,121,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,84,104,117,114,115,100,97,121,0,70,114,105,100,97,121,0,83,97,116,117,114,100,97,121,0,83,117,110,0,77,111,110,0,84,117,101,0,87,101,100,0,84,104,117,0,70,114,105,0,83,97,116,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,77,97,114,99,104,0,65,112,114,105,108,0,77,97,121,0,74,117,110,101,0,74,117,108,121,0,65,117,103,117,115,116,0,83,101,112,116,101,109,98,101,114,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,68,101,99,101,109,98,101,114,0,74,97,110,0,70,101,98,0,77,97,114,0,65,112,114,0,74,117,110,0,74,117,108,0,65,117,103,0,83,101,112,0,79,99,116,0,78,111,118,0,68,101,99,0,65,77,0,80,77,0,37,109,47,37,100,47,37,121,0,37,72,58,37,77,58,37,83,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,37,73,58,37,77,58,37,83,32,37,112,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+56215);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3],HEAP8[tempDoublePtr+4]=HEAP8[e+4],HEAP8[tempDoublePtr+5]=HEAP8[e+5],HEAP8[tempDoublePtr+6]=HEAP8[e+6],HEAP8[tempDoublePtr+7]=HEAP8[e+7]}function _atexit(e,i){__ATEXIT__.unshift({func:e,arg:i})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function ___assert_fail(e,i,r,f){throw ABORT=!0,"Assertion failed: "+Pointer_stringify(e)+", at: "+[i?Pointer_stringify(i):"unknown filename",r,f?Pointer_stringify(f):"unknown function"]+" at "+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}assert(tempDoublePtr%8==0),Module._i64Subtract=_i64Subtract;var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(e){if(!e||EXCEPTIONS.infos[e])return e;for(var i in EXCEPTIONS.infos){if(EXCEPTIONS.infos[i].adjusted===e)return i}return e},addRef:function(e){e&&EXCEPTIONS.infos[e].refcount++},decRef:function(e){if(e){var i=EXCEPTIONS.infos[e];assert(i.refcount>0),i.refcount--,0===i.refcount&&(i.destructor&&Runtime.dynCall("vi",i.destructor,[e]),delete EXCEPTIONS.infos[e],___cxa_free_exception(e))}},clearRef:function(e){e&&(EXCEPTIONS.infos[e].refcount=0)}};function ___resumeException(e){throw EXCEPTIONS.last||(EXCEPTIONS.last=e),EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(e)),e}function ___cxa_find_matching_catch(){var e=EXCEPTIONS.last;if(!e)return 0|(asm.setTempRet0(0),0);var i=EXCEPTIONS.infos[e],r=i.type;if(!r)return 0|(asm.setTempRet0(0),e);var f=Array.prototype.slice.call(arguments);Module.___cxa_is_pointer_type(r);___cxa_find_matching_catch.buffer||(___cxa_find_matching_catch.buffer=_malloc(4)),HEAP32[___cxa_find_matching_catch.buffer>>2]=e,e=___cxa_find_matching_catch.buffer;for(var n=0;n>2],i.adjusted=e,0|(asm.setTempRet0(f[n]),e);return e=HEAP32[e>>2],0|(asm.setTempRet0(r),e)}function ___cxa_throw(e,i,r){throw EXCEPTIONS.infos[e]={ptr:e,adjusted:e,type:i,destructor:r,refcount:0},EXCEPTIONS.last=e,"uncaught_exception"in __ZSt18uncaught_exceptionv?__ZSt18uncaught_exceptionv.uncaught_exception++:__ZSt18uncaught_exceptionv.uncaught_exception=1,e}Module._memset=_memset;var _BDtoILow=!0,_emscripten_resume=!0;function ___gxx_personality_v0(){}var _emscripten_landingpad=!0;function __isLeapYear(e){return e%4==0&&(e%100!=0||e%400==0)}function __arraySum(e,i){for(var r=0,f=0;f<=i;r+=e[f++]);return r}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31],__MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(e,i){for(var r=new Date(e.getTime());i>0;){var f=__isLeapYear(r.getFullYear()),n=r.getMonth(),t=(f?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[n];if(!(i>t-r.getDate()))return r.setDate(r.getDate()+i),r;i-=t-r.getDate()+1,r.setDate(1),n<11?r.setMonth(n+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r}function _strftime(e,i,r,f){var n=HEAP32[f+40>>2],t={tm_sec:HEAP32[f>>2],tm_min:HEAP32[f+4>>2],tm_hour:HEAP32[f+8>>2],tm_mday:HEAP32[f+12>>2],tm_mon:HEAP32[f+16>>2],tm_year:HEAP32[f+20>>2],tm_wday:HEAP32[f+24>>2],tm_yday:HEAP32[f+28>>2],tm_isdst:HEAP32[f+32>>2],tm_gmtoff:HEAP32[f+36>>2],tm_zone:n?Pointer_stringify(n):""},a=Pointer_stringify(r),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var l in s)a=a.replace(new RegExp(l,"g"),s[l]);var o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],u=["January","February","March","April","May","June","July","August","September","October","November","December"];function c(e,i,r){for(var f="number"==typeof e?e.toString():e||"";f.length0?1:0}var f;return 0===(f=r(e.getFullYear()-i.getFullYear()))&&0===(f=r(e.getMonth()-i.getMonth()))&&(f=r(e.getDate()-i.getDate())),f}function b(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function _(e){var i=__addDays(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(i.getFullYear(),0,4),f=new Date(i.getFullYear()+1,0,4),n=b(r),t=b(f);return d(n,i)<=0?d(t,i)<=0?i.getFullYear()+1:i.getFullYear():i.getFullYear()-1}var k={"%a":function(e){return o[e.tm_wday].substring(0,3)},"%A":function(e){return o[e.tm_wday]},"%b":function(e){return u[e.tm_mon].substring(0,3)},"%B":function(e){return u[e.tm_mon]},"%C":function(e){return h((e.tm_year+1900)/100|0,2)},"%d":function(e){return h(e.tm_mday,2)},"%e":function(e){return c(e.tm_mday,2," ")},"%g":function(e){return _(e).toString().substring(2)},"%G":function(e){return _(e)},"%H":function(e){return h(e.tm_hour,2)},"%I":function(e){return h(e.tm_hour<13?e.tm_hour:e.tm_hour-12,2)},"%j":function(e){return h(e.tm_mday+__arraySum(__isLeapYear(e.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,e.tm_mon-1),3)},"%m":function(e){return h(e.tm_mon+1,2)},"%M":function(e){return h(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>0&&e.tm_hour<13?"AM":"PM"},"%S":function(e){return h(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return new Date(e.tm_year+1900,e.tm_mon+1,e.tm_mday,0,0,0,0).getDay()||7},"%U":function(e){var i=new Date(e.tm_year+1900,0,1),r=0===i.getDay()?i:__addDays(i,7-i.getDay()),f=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(d(r,f)<0){var n=__arraySum(__isLeapYear(f.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,f.getMonth()-1)-31,t=31-r.getDate()+n+f.getDate();return h(Math.ceil(t/7),2)}return 0===d(r,i)?"01":"00"},"%V":function(e){var i,r=new Date(e.tm_year+1900,0,4),f=new Date(e.tm_year+1901,0,4),n=b(r),t=b(f),a=__addDays(new Date(e.tm_year+1900,0,1),e.tm_yday);return d(a,n)<0?"53":d(t,a)<=0?"01":(i=n.getFullYear()=0;return i=(i=Math.abs(i)/60)/60*100+i%60,(r?"+":"-")+String("0000"+i).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var l in k)a.indexOf(l)>=0&&(a=a.replace(new RegExp(l,"g"),k[l](t)));var w=intArrayFromString(a,!1);return w.length>i?0:(writeArrayToMemory(w,e),w.length-1)}function _strftime_l(e,i,r,f){return _strftime(e,i,r,f)}function _abort(){Module.abort()}function _free(){}function ___cxa_free_exception(e){try{return _free(e)}catch(e){}}function ___cxa_end_catch(){if(___cxa_end_catch.rethrown)___cxa_end_catch.rethrown=!1;else{asm.setThrew(0);var e=EXCEPTIONS.caught.pop();e&&(EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(e)),EXCEPTIONS.last=0)}}function _pthread_once(e,i){_pthread_once.seen||(_pthread_once.seen={}),e in _pthread_once.seen||(Runtime.dynCall("v",i),_pthread_once.seen[e]=1)}function ___lock(){}function ___unlock(){}Module._free=_free;var PTHREAD_SPECIFIC={};function _pthread_getspecific(e){return PTHREAD_SPECIFIC[e]||0}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}var _fabs=Math_abs,PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(e,i){return 0==e?ERRNO_CODES.EINVAL:(HEAP32[e>>2]=PTHREAD_SPECIFIC_NEXT_KEY,PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0,PTHREAD_SPECIFIC_NEXT_KEY++,0)}var PATH=void 0;function _emscripten_set_main_loop_timing(e,i){if(Browser.mainLoop.timingMode=e,Browser.mainLoop.timingValue=i,!Browser.mainLoop.func)return 1;if(0==e)Browser.mainLoop.scheduler=function(){setTimeout(Browser.mainLoop.runner,i)},Browser.mainLoop.method="timeout";else if(1==e)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(2==e){if(!window.setImmediate){var r=[],f="__emcc";window.addEventListener("message",(function(e){e.source===window&&e.data===f&&(e.stopPropagation(),r.shift()())}),!0),window.setImmediate=function(e){r.push(e),window.postMessage(f,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(e,i,r,f,n){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=e,Browser.mainLoop.arg=f;var t=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var i=Date.now(),r=Browser.mainLoop.queue.shift();if(r.func(r.arg),Browser.mainLoop.remainingBlockers){var n=Browser.mainLoop.remainingBlockers,a=n%1==0?n-1:Math.floor(n);r.counted?Browser.mainLoop.remainingBlockers=a:(a+=.5,Browser.mainLoop.remainingBlockers=(8*n+a)/9)}return console.log('main loop blocker "'+r.name+'" took '+(Date.now()-i)+" ms"),Browser.mainLoop.updateStatus(),void setTimeout(Browser.mainLoop.runner,0)}t1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0?Browser.mainLoop.scheduler():("timeout"===Browser.mainLoop.method&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter((function(){void 0!==f?Runtime.dynCall("vi",e,[f]):Runtime.dynCall("v",e)})),t0?_emscripten_set_main_loop_timing(0,1e3/i):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var e=Browser.mainLoop.timingMode,i=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(e,i),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var e=Module.statusMessage||"Please wait...",i=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;i?i=6;){var a=f>>n-6&63;n-=6,r+=i[a]}return 2==n?(r+=i[(3&f)<<4],r+="=="):4==n&&(r+=i[(15&f)<<2],r+="="),r}(e),t(o))},o.src=l,Browser.safeSetTimeout((function(){t(o)}),1e4)}};Module.preloadPlugins.push(i);var r=Module.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||function(){},r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},r.exitPointerLock=r.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),Module.elementPointerLock&&r.addEventListener("click",(function(e){!Browser.pointerLock&&r.requestPointerLock&&(r.requestPointerLock(),e.preventDefault())}),!1))}function f(){Browser.pointerLock=document.pointerLockElement===r||document.mozPointerLockElement===r||document.webkitPointerLockElement===r||document.msPointerLockElement===r}},createContext:function(e,i,r,f){if(i&&Module.ctx&&e==Module.canvas)return Module.ctx;var n,t;if(i){var a={antialias:!1,alpha:!1};if(f)for(var s in f)a[s]=f[s];(t=GL.createContext(e,a))&&(n=GL.getContext(t).GLctx),e.style.backgroundColor="black"}else n=e.getContext("2d");return n?(r&&(i||assert("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=n,i&&GL.makeContextCurrent(t),Module.useWebGL=i,Browser.moduleContextCreatedCallbacks.forEach((function(e){e()})),Browser.init()),n):null},destroyContext:function(e,i,r){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(e,i,r){Browser.lockPointer=e,Browser.resizeCanvas=i,Browser.vrDevice=r,void 0===Browser.lockPointer&&(Browser.lockPointer=!0),void 0===Browser.resizeCanvas&&(Browser.resizeCanvas=!1),void 0===Browser.vrDevice&&(Browser.vrDevice=null);var f=Module.canvas;function n(){Browser.isFullScreen=!1;var e=f.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e?(f.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},f.cancelFullScreen=f.cancelFullScreen.bind(document),Browser.lockPointer&&f.requestPointerLock(),Browser.isFullScreen=!0,Browser.resizeCanvas&&Browser.setFullScreenCanvasSize()):(e.parentNode.insertBefore(f,e),e.parentNode.removeChild(e),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullScreen),Browser.updateCanvasDimensions(f)}Browser.fullScreenHandlersInstalled||(Browser.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var t=document.createElement("div");f.parentNode.insertBefore(t,f),t.appendChild(f),t.requestFullScreen=t.requestFullScreen||t.mozRequestFullScreen||t.msRequestFullscreen||(t.webkitRequestFullScreen?function(){t.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?t.requestFullScreen({vrDisplay:r}):t.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(e){var i=Date.now();if(0===Browser.nextRAF)Browser.nextRAF=i+1e3/60;else for(;i+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-i,0);setTimeout(e,r)},requestAnimationFrame:function(e){"undefined"==typeof window?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var e=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],e.forEach((function(e){e()}))}},safeRequestAnimationFrame:function(e){return Browser.requestAnimationFrame((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}))},safeSetTimeout:function(e,i){return Module.noExitRuntime=!0,setTimeout((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}),i)},safeSetInterval:function(e,i){return Module.noExitRuntime=!0,setInterval((function(){ABORT||Browser.allowAsyncCallbacks&&e()}),i)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var i=0;switch(e.type){case"DOMMouseScroll":i=e.detail;break;case"mousewheel":i=e.wheelDelta;break;case"wheel":i=e.deltaY;break;default:throw"unrecognized mouse wheel event: "+e.type}return i},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Browser.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),"undefined"!=typeof SDL?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var i=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,f=Module.canvas.height,n=void 0!==window.scrollX?window.scrollX:window.pageXOffset,t=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var a=e.touch;if(void 0===a)return;var s=a.pageX-(n+i.left),l=a.pageY-(t+i.top),o={x:s*=r/i.width,y:l*=f/i.height};if("touchstart"===e.type)Browser.lastTouches[a.identifier]=o,Browser.touches[a.identifier]=o;else if("touchend"===e.type||"touchmove"===e.type){var u=Browser.touches[a.identifier];u||(u=o),Browser.lastTouches[a.identifier]=u,Browser.touches[a.identifier]=o}return}var c=e.pageX-(n+i.left),h=e.pageY-(t+i.top);c*=r/i.width,h*=f/i.height,Browser.mouseMovementX=c-Browser.mouseX,Browser.mouseMovementY=h-Browser.mouseY,Browser.mouseX=c,Browser.mouseY=h}},xhrLoad:function(e,i,r){var f=new XMLHttpRequest;f.open("GET",e,!0),f.responseType="arraybuffer",f.onload=function(){200==f.status||0==f.status&&f.response?i(f.response):r()},f.onerror=r,f.send(null)},asyncLoad:function(e,i,r,f){Browser.xhrLoad(e,(function(r){assert(r,'Loading data file "'+e+'" failed (no arrayBuffer).'),i(new Uint8Array(r)),f||removeRunDependency("al "+e)}),(function(i){if(!r)throw'Loading data file "'+e+'" failed.';r()})),f||addRunDependency("al "+e)},resizeListeners:[],updateResizeListeners:function(){var e=Module.canvas;Browser.resizeListeners.forEach((function(i){i(e.width,e.height)}))},setCanvasSize:function(e,i,r){var f=Module.canvas;Browser.updateCanvasDimensions(f,e,i),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e|=8388608,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e&=-8388609,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},updateCanvasDimensions:function(e,i,r){i&&r?(e.widthNative=i,e.heightNative=r):(i=e.widthNative,r=e.heightNative);var f=i,n=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(f/n>2]},getStr:function(){return Pointer_stringify(SYSCALLS.get())},get64:function(){var e=SYSCALLS.get(),i=SYSCALLS.get();return assert(e>=0?0===i:-1===i),e},getZero:function(){assert(0===SYSCALLS.get())}};function ___syscall54(e,i){SYSCALLS.varargs=i;try{return 0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___cxa_pure_virtual(){throw ABORT=!0,"Pure virtual function called!"}Module._i64Add=_i64Add,Module._bitshift64Lshr=_bitshift64Lshr;var _BDtoIHigh=!0;function _pthread_cleanup_push(e,i){__ATEXIT__.push((function(){Runtime.dynCall("vi",e,[i])})),_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(e){return HEAP8[e>>0]?0:(HEAP8[e>>0]=1,1)}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!"),__ATEXIT__.pop(),_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_guard_release(){}function ___cxa_begin_catch(e){return __ZSt18uncaught_exceptionv.uncaught_exception--,EXCEPTIONS.caught.push(e),EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(e)),e}function _llvm_eh_typeid_for(e){return e}function _emscripten_memcpy_big(e,i,r){return HEAPU8.set(HEAPU8.subarray(i,i+r),e),e}function ___syscall6(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function _pthread_mutex_lock(){}Module._memcpy=_memcpy;var _emscripten_postinvoke=!0;function _sbrk(e){var i=_sbrk;i.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),i.called=!0,assert(Runtime.dynamicAlloc),i.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var r=DYNAMICTOP;if(0!=e&&!i.alloc(e))return-1>>>0;return r}function ___cxa_guard_abort(){}Module._bitshift64Shl=_bitshift64Shl,Module._memmove=_memmove;var _emscripten_preinvoke=!0,_BItoD=!0;function _pthread_cond_wait(){return 0}function ___cxa_rethrow(){___cxa_end_catch.rethrown=!0;var e=EXCEPTIONS.caught.pop();throw EXCEPTIONS.last=e,e}function _pthread_mutex_unlock(){}function _time(e){var i=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=i),i}function _pthread_self(){return 0}function ___syscall140(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),f=SYSCALLS.get(),n=SYSCALLS.get(),t=SYSCALLS.get(),a=SYSCALLS.get(),s=n;return assert(0===f),FS.llseek(r,s,a),HEAP32[t>>2]=r.position,r.getdents&&0===s&&0===a&&(r.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,i){SYSCALLS.varargs=i;try{SYSCALLS.get();var r=SYSCALLS.get(),f=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffer=[]);for(var t=___syscall146.buffer,a=0;a>2],l=HEAP32[r+(8*a+4)>>2],o=0;o>0]=f[e>>0];f[d+1>>0]=f[e+1>>0];f[d+2>>0]=f[e+2>>0];f[d+3>>0]=f[e+3>>0]}function xi(e){e=e|0;f[d>>0]=f[e>>0];f[d+1>>0]=f[e+1>>0];f[d+2>>0]=f[e+2>>0];f[d+3>>0]=f[e+3>>0];f[d+4>>0]=f[e+4>>0];f[d+5>>0]=f[e+5>>0];f[d+6>>0]=f[e+6>>0];f[d+7>>0]=f[e+7>>0]}function Li(e){e=e|0;O=e}function Bi(){return O|0}function zi(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0;y=c;c=c+128|0;b=y+44|0;m=y+8|0;u=y+4|0;d=y;_=r+4|0;k=r+8|0;w=0;Ce(35,t[r>>2]|0,t[_>>2]|0,t[k>>2]|0,n|0);h=w;w=0;if(!(h&1)){l=b;s=l+84|0;do{t[l>>2]=t[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(s|0));n=b+12|0;if((t[n>>2]|0)==0?(o=re(((t[b+8>>2]|0)+7|0)/8|0,t[b>>2]|0)|0,t[n>>2]=o,(t[b+24>>2]|0)!=0):0)t[n>>2]=re(t[b+16>>2]|0,o)|0;w=0;ue(176,m|0);h=w;w=0;if(!(h&1)){n=b+56|0;do{if(t[n>>2]|0){w=0;n=de(66,n|0)|0;h=w;w=0;if(!(h&1)){t[u>>2]=n;s=m+28|0;l=t[s>>2]|0;if(l>>>0<(t[m+32>>2]|0)>>>0){t[l>>2]=n;t[s>>2]=l+4;t[u>>2]=0;v=19;break}w=0;ce(57,m+24|0,u|0);h=w;w=0;if(h&1){s=je(824,0)|0;n=O;l=t[u>>2]|0;t[u>>2]=0;if(!l)break;tM[t[(t[l>>2]|0)+4>>2]&255](l);break}else{n=t[u>>2]|0;t[u>>2]=0;if(!n){v=19;break}tM[t[(t[n>>2]|0)+4>>2]&255](n);v=19;break}}else v=15}else v=19}while(0);e:do{if((v|0)==19){l=b+4|0;o=b+8|0;u=b+16|0;w=0;n=Ae(14,t[b>>2]|0,t[l>>2]|0,t[o>>2]|0,t[u>>2]|0)|0;h=w;w=0;if(!(h&1)){t[d>>2]=n;h=m+28|0;s=t[h>>2]|0;do{if(s>>>0>=(t[m+32>>2]|0)>>>0){w=0;ce(57,m+24|0,d|0);s=w;w=0;if(s&1){s=je(824,0)|0;n=O;l=t[d>>2]|0;t[d>>2]=0;if(!l)break e;tM[t[(t[l>>2]|0)+4>>2]&255](l);break e}else{n=t[d>>2]|0;t[d>>2]=0;if(!n)break;tM[t[(t[n>>2]|0)+4>>2]&255](n);break}}else{t[s>>2]=n;t[h>>2]=s+4;t[d>>2]=0}}while(0);n=t[b+28>>2]|0;if((n|0)!=0?(w=0,ce(58,m|0,n|0),v=w,w=0,v&1):0){v=15;break}i:do{if(!(t[b+24>>2]|0)){n=re(t[l>>2]|0,t[b>>2]|0)|0;n=re(n,((t[o>>2]|0)+7|0)/8|0)|0;if((t[u>>2]|0)>0){l=0;while(1){w=0;Ee(4,m|0,r|0,b|0);v=w;w=0;if(v&1)break;s=t[_>>2]|0;if(s){t[_>>2]=s+n;t[k>>2]=(t[k>>2]|0)-n}l=l+1|0;if((l|0)>=(t[u>>2]|0))break i}s=je(824,0)|0;n=O;v=16;break e}}else{w=0;Ee(4,m|0,r|0,b|0);v=w;w=0;if(v&1){v=15;break e}}}while(0);w=0;pe(33,m|0,e|0)|0;v=w;w=0;if(!(v&1)){t[i>>2]=t[m+16>>2];if(a)f[a>>0]=0;l=m+24|0;n=t[l>>2]|0;if(n){s=t[h>>2]|0;if((s|0)!=(n|0)){do{a=s+-4|0;t[h>>2]=a;s=t[a>>2]|0;t[a>>2]=0;if(s)tM[t[(t[s>>2]|0)+4>>2]&255](s);s=t[h>>2]|0}while((s|0)!=(n|0));n=t[l>>2]|0}Bp(n)}a=0;c=y;return a|0}else v=15}else v=15}}while(0);if((v|0)==15){s=je(824,0)|0;n=O;v=16}h=m+24|0;l=t[h>>2]|0;if(l){u=m+28|0;o=t[u>>2]|0;if((o|0)!=(l|0)){do{m=o+-4|0;t[u>>2]=m;o=t[m>>2]|0;t[m>>2]=0;if(o)tM[t[(t[o>>2]|0)+4>>2]&255](o);o=t[u>>2]|0}while((o|0)!=(l|0));l=t[h>>2]|0}Bp(l)}}else v=5}else v=5;if((v|0)==5){s=je(824,0)|0;n=O}m=(n|0)==(Ge(824)|0);o=We(s|0)|0;n=(a|0)==0;if(!m){if(!n)f[a>>0]=0;Je();a=14;c=y;return a|0}l=o+12|0;do{if(!n){n=t[l>>2]|0;w=0;s=Me(1)|0;m=w;w=0;if(!(m&1))if((n|0)==(s|0)){$y(a,lM[t[(t[o>>2]|0)+8>>2]&127](o)|0)|0;v=60;break}else{f[a>>0]=0;v=60;break}}else v=60}while(0);if((v|0)==60?(p=t[l>>2]|0,w=0,g=Me(1)|0,a=w,w=0,!(a&1)):0){a=(p|0)==(g|0)?t[o+8>>2]|0:13;Je();c=y;return a|0}n=je()|0;w=0;Se(3);y=w;w=0;if(y&1){y=je(0)|0;Ni(y)}else Qe(n|0);return 0}function Di(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0;u=c;c=c+112|0;a=u+96|0;o=u+84|0;h=u+72|0;d=u+60|0;b=u+48|0;_=u+36|0;k=u+24|0;m=u+12|0;v=u;l=(i|0)==0;if((e|0)==0&l){n=Ue(16)|0;w=0;Ee(5,a|0,48504,52);v=w;w=0;if(!(v&1)){w=0;i=Me(1)|0;v=w;w=0;if(!(v&1)?(w=0,Ce(36,n|0,1,i|0,a|0),v=w,w=0,!(v&1)):0){w=0;Ee(6,n|0,824,96);w=0;e=0}else e=1;i=je()|0;xh(a);if(!e){v=i;Qe(v|0)}}else i=je()|0;He(n|0);v=i;Qe(v|0)}s=t[f>>2]|0;if((s+-1|0)>>>0>65534){n=Ue(16)|0;w=0;Ee(5,o|0,48557,41);v=w;w=0;if(!(v&1)){w=0;i=Me(1)|0;v=w;w=0;if(!(v&1)?(w=0,Ce(36,n|0,1,i|0,o|0),v=w,w=0,!(v&1)):0){w=0;Ee(6,n|0,824,96);w=0;e=0}else e=1;i=je()|0;xh(o);if(!e){v=i;Qe(v|0)}}else i=je()|0;He(n|0);v=i;Qe(v|0)}a=t[f+4>>2]|0;if((a+-1|0)>>>0>65534){n=Ue(16)|0;w=0;Ee(5,h|0,48599,42);v=w;w=0;if(!(v&1)){w=0;i=Me(1)|0;v=w;w=0;if(!(v&1)?(w=0,Ce(36,n|0,1,i|0,h|0),v=w,w=0,!(v&1)):0){w=0;Ee(6,n|0,824,96);w=0;e=0}else e=1;i=je()|0;xh(h);if(!e){v=i;Qe(v|0)}}else i=je()|0;He(n|0);v=i;Qe(v|0)}n=t[f+8>>2]|0;if((n+-2|0)>>>0>14){n=Ue(16)|0;w=0;Ee(5,d|0,48642,46);v=w;w=0;if(!(v&1)){w=0;i=Me(1)|0;v=w;w=0;if(!(v&1)?(w=0,Ce(36,n|0,1,i|0,d|0),v=w,w=0,!(v&1)):0){w=0;Ee(6,n|0,824,96);w=0;e=0}else e=1;i=je()|0;xh(d);if(!e){v=i;Qe(v|0)}}else i=je()|0;He(n|0);v=i;Qe(v|0)}e=t[f+24>>2]|0;if(e>>>0>=3){n=Ue(16)|0;w=0;Ee(5,b|0,48689,65);v=w;w=0;if(!(v&1)){w=0;i=Me(1)|0;v=w;w=0;if(!(v&1)?(w=0,Ce(36,n|0,1,i|0,b|0),v=w,w=0,!(v&1)):0){w=0;Ee(6,n|0,824,96);w=0;e=0}else e=1;i=je()|0;xh(b);if(!e){v=i;Qe(v|0)}}else i=je()|0;He(n|0);v=i;Qe(v|0)}i=t[f+16>>2]|0;if((i+-1|0)>>>0>254){n=Ue(16)|0;w=0;Ee(5,_|0,48755,44);v=w;w=0;if(!(v&1)){w=0;i=Me(1)|0;v=w;w=0;if(!(v&1)?(w=0,Ce(36,n|0,1,i|0,_|0),v=w,w=0,!(v&1)):0){w=0;Ee(6,n|0,824,96);w=0;e=0}else e=1;i=je()|0;xh(_);if(!e){v=i;Qe(v|0)}}else i=je()|0;He(n|0);v=i;Qe(v|0)}if(!l?(_=re(a,s)|0,(re(re(_,(n|0)>8?2:1)|0,i)|0)>>>0>r>>>0):0){n=Ue(16)|0;w=0;Ee(5,k|0,48800,58);v=w;w=0;if(!(v&1)){w=0;i=Me(1)|0;v=w;w=0;if(!(v&1)?(w=0,Ce(36,n|0,1,i|0,k|0),v=w,w=0,!(v&1)):0){w=0;Ee(6,n|0,824,96);w=0;e=0}else e=1;i=je()|0;xh(k);if(!e){v=i;Qe(v|0)}}else i=je()|0;He(n|0);v=i;Qe(v|0)}switch(i|0){case 4:{if((e|0)!=2){c=u;return}n=Ue(16)|0;w=0;Ee(5,m|0,48859,73);v=w;w=0;if(!(v&1)){w=0;i=Me(1)|0;v=w;w=0;if(!(v&1)?(w=0,Ce(36,n|0,1,i|0,m|0),v=w,w=0,!(v&1)):0){w=0;Ee(6,n|0,824,96);w=0;e=0}else e=1;i=je()|0;xh(m);if(!e){v=i;Qe(v|0)}}else i=je()|0;He(n|0);v=i;Qe(v|0)}case 3:{c=u;return}default:{if(!e){c=u;return}n=Ue(16)|0;w=0;Ee(5,v|0,48933,73);m=w;w=0;if(!(m&1)){w=0;i=Me(1)|0;m=w;w=0;if(!(m&1)?(w=0,Ce(36,n|0,1,i|0,v|0),m=w,w=0,!(m&1)):0){w=0;Ee(6,n|0,824,96);w=0;e=0}else e=1;i=je()|0;xh(v);if(!e){v=i;Qe(v|0)}}else i=je()|0;He(n|0);v=i;Qe(v|0)}}}function Ni(e){e=e|0;We(e|0)|0;jp()}function Fi(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0;d=c;c=c+128|0;s=d+116|0;l=d;w=0;t[s>>2]=t[i>>2];t[s+4>>2]=t[i+4>>2];t[s+8>>2]=t[i+8>>2];ce(59,l|0,s|0);a=w;w=0;if(!(a&1)){if(r){a=l+16|0;i=a+84|0;do{t[a>>2]=t[r>>2];a=a+4|0;r=r+4|0}while((a|0)<(i|0))}w=0;t[s>>2]=t[e>>2];t[s+4>>2]=t[e+4>>2];t[s+8>>2]=t[e+8>>2];ce(60,l|0,s|0);l=w;w=0;if(!(l&1)){if(n)f[n>>0]=0;h=0;c=d;return h|0}}e=je(824,0)|0;l=O;l=(l|0)==(Ge(824)|0);e=We(e|0)|0;i=(n|0)==0;if(!l){if(!i)f[n>>0]=0;Je();h=14;c=d;return h|0}a=e+12|0;do{if(!i){i=t[a>>2]|0;w=0;r=Me(1)|0;l=w;w=0;if(!(l&1))if((i|0)==(r|0)){$y(n,lM[t[(t[e>>2]|0)+8>>2]&127](e)|0)|0;h=10;break}else{f[n>>0]=0;h=10;break}}else h=10}while(0);if((h|0)==10?(o=t[a>>2]|0,w=0,u=Me(1)|0,h=w,w=0,!(h&1)):0){h=(o|0)==(u|0)?t[e+8>>2]|0:13;Je();c=d;return h|0}i=je()|0;w=0;Se(3);d=w;w=0;if(d&1){d=je(0)|0;Ni(d)}else Qe(i|0);return 0}function Hi(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0;u=c;c=c+128|0;a=u+116|0;n=u;w=0;t[a>>2]=t[e>>2];t[a+4>>2]=t[e+4>>2];t[a+8>>2]=t[e+8>>2];ce(59,n|0,a|0);a=w;w=0;if((!(a&1)?(w=0,ue(177,n|0),a=w,w=0,!(a&1)):0)?(w=0,ce(61,n|0,1),a=w,w=0,!(a&1)):0){e=n+16|0;n=i+84|0;do{t[i>>2]=t[e>>2];i=i+4|0;e=e+4|0}while((i|0)<(n|0));if(r)f[r>>0]=0;r=0;c=u;return r|0}a=je(824,0)|0;i=O;i=(i|0)==(Ge(824)|0);a=We(a|0)|0;e=(r|0)==0;if(!i){if(!e)f[r>>0]=0;Je();r=14;c=u;return r|0}i=a+12|0;do{if(!e){e=t[i>>2]|0;w=0;n=Me(1)|0;h=w;w=0;if(!(h&1))if((e|0)==(n|0)){$y(r,lM[t[(t[a>>2]|0)+8>>2]&127](a)|0)|0;o=13;break}else{f[r>>0]=0;o=13;break}}else o=13}while(0);if((o|0)==13?(s=t[i>>2]|0,w=0,l=Me(1)|0,h=w,w=0,!(h&1)):0){h=(s|0)==(l|0)?t[a+8>>2]|0:13;Je();c=u;return h|0}e=je()|0;w=0;Se(3);h=w;w=0;if(h&1){h=je(0)|0;Ni(h)}else Qe(e|0);return 0}function Ui(e,i,r,f,n,a,s){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0;d=c;c=c+48|0;o=d+36|0;l=d+24|0;u=d+12|0;h=d;if(!((e|0)!=0&(r|0)!=0&(f|0)!=0&(a|0)!=0)){n=1;c=d;return n|0}t[u>>2]=0;t[u+4>>2]=e;t[u+8>>2]=i;t[h>>2]=0;t[h+4>>2]=f;t[h+8>>2]=n;t[l>>2]=t[u>>2];t[l+4>>2]=t[u+4>>2];t[l+8>>2]=t[u+8>>2];t[o>>2]=t[h>>2];t[o+4>>2]=t[h+4>>2];t[o+8>>2]=t[h+8>>2];n=zi(l,r,o,a,s)|0;c=d;return n|0}function ji(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0;n=c;c=c+32|0;a=n+12|0;s=n;l=s;t[l>>2]=0;t[l+4>>2]=0;t[s+4>>2]=e;t[s+8>>2]=i;t[a>>2]=t[s>>2];t[a+4>>2]=t[s+4>>2];t[a+8>>2]=t[s+8>>2];r=Hi(a,r,f)|0;c=n;return r|0}function Yi(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+48|0;l=s+36|0;o=s+24|0;h=s+12|0;u=s;t[h>>2]=0;t[h+4>>2]=e;t[h+8>>2]=i;t[u>>2]=0;t[u+4>>2]=r;t[u+8>>2]=f;t[o>>2]=t[h>>2];t[o+4>>2]=t[h+4>>2];t[o+8>>2]=t[h+8>>2];t[l>>2]=t[u>>2];t[l+4>>2]=t[u+4>>2];t[l+8>>2]=t[u+8>>2];f=Fi(o,l,n,a)|0;c=s;return f|0}function qi(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0;u=e+4|0;r=t[e>>2]|0;n=((t[u>>2]|0)-r>>2)+1|0;if(n>>>0>1073741823){Op(e);r=t[e>>2]|0}c=e+8|0;f=(t[c>>2]|0)-r|0;if(f>>2>>>0<536870911){f=f>>1;f=f>>>0>>0?n:f;r=(t[u>>2]|0)-r>>2;if(!f){a=0;s=0}else l=6}else{f=1073741823;r=(t[u>>2]|0)-r>>2;l=6}if((l|0)==6){a=f;s=Lp(f<<2)|0}n=s+(r<<2)|0;f=n;o=s+(a<<2)|0;l=t[i>>2]|0;t[i>>2]=0;t[n>>2]=l;l=s+(r+1<<2)|0;s=t[e>>2]|0;r=t[u>>2]|0;if((r|0)==(s|0)){n=e;a=u}else{do{r=r+-4|0;i=t[r>>2]|0;t[r>>2]=0;t[n+-4>>2]=i;n=f+-4|0;f=n}while((r|0)!=(s|0));r=f;n=e;a=u;f=r;s=t[e>>2]|0;r=t[u>>2]|0}t[n>>2]=f;t[a>>2]=l;t[c>>2]=o;n=s;if((r|0)!=(n|0))do{r=r+-4|0;f=t[r>>2]|0;t[r>>2]=0;if(f)tM[t[(t[f>>2]|0)+4>>2]&255](f)}while((r|0)!=(n|0));if(!s)return;Bp(s);return}function $i(){if(f[8]|0)return 35648;if(!(ze(8)|0))return 35648;di(72,35648,k|0)|0;qe(8);return 35648}function Vi(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0;d=c;c=c+32|0;u=d;op(u,(1<>2]|0;h=s+1|0;r=h<<1;t[e>>2]=0;l=e+4|0;t[l>>2]=0;t[e+8>>2]=0;e:do{if(h){if(!((s|0)<-1?(w=0,ue(178,e|0),o=w,w=0,o&1):0))n=4;if((n|0)==4?(w=0,a=de(67,r|0)|0,o=w,w=0,!(o&1)):0){t[l>>2]=a;t[e>>2]=a;t[e+8>>2]=a+r;i=a;while(1){f[i>>0]=0;i=(t[l>>2]|0)+1|0;t[l>>2]=i;r=r+-1|0;if(!r)break e}}r=je()|0;i=t[e>>2]|0;if(!i)Qe(r|0);if((t[l>>2]|0)!=(i|0))t[l>>2]=i;Bp(i);Qe(r|0)}}while(0);i=~s;if((s|0)<(i|0)){c=d;return}l=u+12|0;o=u+8|0;s=u+4|0;a=i;do{i=t[l>>2]|0;if((a|0)>(0-i|0)){r=t[o>>2]|0;if((a|0)>(0-r|0)){n=t[s>>2]|0;if((a|0)>(0-n|0))if((a|0)>=0)if((a|0)>0)if((n|0)<=(a|0))if((r|0)>(a|0))i=2;else i=(i|0)>(a|0)?3:4;else i=1;else i=0;else i=-1;else i=-2}else i=-3}else i=-4;f[(t[e>>2]|0)+(a+h)>>0]=i;a=a+1|0}while((a|0)<(h|0));c=d;return}function Xi(e,i,r){e=e|0;i=i|0;r=r|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0;_=t[r+16>>2]|0;switch(_|0){case 64:case 0:{w=0;e=pe(34,e|0,i|0)|0;i=w;w=0;if(i&1)k=16;else a=e;break}default:{s=(1<>2])+-1|0;b=t[i+20>>2]|0;d=b<<1;d=((d+s|0)/(d|1|0)|0)+1|0;e=0;while(1)if((1<>2]|0;w=0;a=de(67,4624)|0;h=w;w=0;if(h&1)k=16;else{l=((o|0)<8?8:o)+o<<1;u=a+4|0;c=i;h=u+84|0;do{t[u>>2]=t[c>>2];u=u+4|0;c=c+4|0}while((u|0)<(h|0));u=a+88|0;h=u+40|0;do{t[u>>2]=0;u=u+4|0}while((u|0)<(h|0));t[a>>2]=35660;t[a+128>>2]=s;t[a+132>>2]=d;t[a+136>>2]=b;t[a+140>>2]=e;t[a+144>>2]=o;t[a+148>>2]=l;t[a+152>>2]=_;e=a+156|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[a+172>>2]=t[i>>2];t[a+176>>2]=0;t[a+180>>2]=0;t[a+184>>2]=0;e=a+4568|0;s=a+188|0;do{t[s>>2]=0;t[s+4>>2]=0;n[s+8>>1]=0;n[s+10>>1]=1;s=s+12|0}while((s|0)!=(e|0));t[e>>2]=0;t[e+4>>2]=0;n[e+8>>1]=0;f[e+10>>0]=0;i=a+4580|0;t[i>>2]=0;t[i+4>>2]=0;n[i+8>>1]=0;f[i+10>>0]=0;i=a+4592|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;f[i+28>>0]=0;if(!(t[a+28>>2]|0))t[a+20>>2]=1}}}if((k|0)==16){k=je()|0;Qe(k|0)}if(!a)return a|0;w=0;ce(t[(t[a>>2]|0)+12>>2]|0,a|0,r|0);k=w;w=0;if(!(k&1))return a|0;e=je()|0;if(!a){k=e;Qe(k|0)}tM[t[(t[a>>2]|0)+4>>2]&255](a);k=e;Qe(k|0);return 0}function Gi(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;r=(t[i+24>>2]|0)==2;if(r?(t[i+16>>2]|0)!=3:0){i=0;return i|0}d=t[i+20>>2]|0;e=t[i+8>>2]|0;e:do{if(!d){if(r){if((e|0)!=8)break;a=Lp(4600)|0;o=a+4|0;u=i;c=o+84|0;do{t[o>>2]=t[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));o=a+88|0;c=o+40|0;do{t[o>>2]=0;o=o+4|0}while((o|0)<(c|0));t[a>>2]=35688;e=a+132|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[a+148>>2]=t[i>>2];t[a+152>>2]=0;t[a+156>>2]=0;t[a+160>>2]=0;e=a+4544|0;r=a+164|0;do{t[r>>2]=0;t[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));t[e>>2]=0;t[e+4>>2]=0;n[e+8>>1]=0;f[e+10>>0]=0;i=a+4556|0;t[i>>2]=0;t[i+4>>2]=0;n[i+8>>1]=0;f[i+10>>0]=0;i=a+4568|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;f[i+28>>0]=0;if(!(t[a+28>>2]|0))t[a+20>>2]=1;i=a;return i|0}switch(e|0){case 8:{a=Lp(4600)|0;o=a+4|0;u=i;c=o+84|0;do{t[o>>2]=t[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));o=a+88|0;c=o+40|0;do{t[o>>2]=0;o=o+4|0}while((o|0)<(c|0));t[a>>2]=35716;e=a+132|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[a+148>>2]=t[i>>2];t[a+152>>2]=0;t[a+156>>2]=0;t[a+160>>2]=0;e=a+4544|0;r=a+164|0;do{t[r>>2]=0;t[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));t[e>>2]=0;t[e+4>>2]=0;n[e+8>>1]=0;f[e+10>>0]=0;i=a+4556|0;t[i>>2]=0;t[i+4>>2]=0;n[i+8>>1]=0;f[i+10>>0]=0;i=a+4568|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;f[i+28>>0]=0;if(!(t[a+28>>2]|0))t[a+20>>2]=1;i=a;return i|0}case 12:{a=Lp(4600)|0;o=a+4|0;u=i;c=o+84|0;do{t[o>>2]=t[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));o=a+88|0;c=o+40|0;do{t[o>>2]=0;o=o+4|0}while((o|0)<(c|0));t[a>>2]=35744;e=a+132|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[a+148>>2]=t[i>>2];t[a+152>>2]=0;t[a+156>>2]=0;t[a+160>>2]=0;e=a+4544|0;r=a+164|0;do{t[r>>2]=0;t[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));t[e>>2]=0;t[e+4>>2]=0;n[e+8>>1]=0;f[e+10>>0]=0;i=a+4556|0;t[i>>2]=0;t[i+4>>2]=0;n[i+8>>1]=0;f[i+10>>0]=0;i=a+4568|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;f[i+28>>0]=0;if(!(t[a+28>>2]|0))t[a+20>>2]=1;i=a;return i|0}case 16:{a=Lp(4600)|0;o=a+4|0;u=i;c=o+84|0;do{t[o>>2]=t[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));o=a+88|0;c=o+40|0;do{t[o>>2]=0;o=o+4|0}while((o|0)<(c|0));t[a>>2]=35772;e=a+132|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[a+148>>2]=t[i>>2];t[a+152>>2]=0;t[a+156>>2]=0;t[a+160>>2]=0;e=a+4544|0;r=a+164|0;do{t[r>>2]=0;t[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));t[e>>2]=0;t[e+4>>2]=0;n[e+8>>1]=0;f[e+10>>0]=0;i=a+4556|0;t[i>>2]=0;t[i+4>>2]=0;n[i+8>>1]=0;f[i+10>>0]=0;i=a+4568|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;f[i+28>>0]=0;if(!(t[a+28>>2]|0))t[a+20>>2]=1;i=a;return i|0}default:break e}}}while(0);h=(1<>2]=t[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));o=s+88|0;c=o+40|0;do{t[o>>2]=0;o=o+4|0}while((o|0)<(c|0));t[s>>2]=35800;t[s+128>>2]=h;t[s+132>>2]=l;t[s+136>>2]=d;t[s+140>>2]=e;t[s+144>>2]=r;t[s+148>>2]=a;t[s+152>>2]=64;e=s+156|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[s+172>>2]=t[i>>2];t[s+176>>2]=0;t[s+180>>2]=0;t[s+184>>2]=0;e=s+4568|0;r=s+188|0;do{t[r>>2]=0;t[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));t[e>>2]=0;t[e+4>>2]=0;n[e+8>>1]=0;f[e+10>>0]=0;i=s+4580|0;t[i>>2]=0;t[i+4>>2]=0;n[i+8>>1]=0;f[i+10>>0]=0;i=s+4592|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;f[i+28>>0]=0;if(!(t[s+28>>2]|0))t[s+20>>2]=1;i=s;return i|0}else{e=0;while(1)if((1<>2]=t[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));o=s+88|0;c=o+40|0;do{t[o>>2]=0;o=o+4|0}while((o|0)<(c|0));t[s>>2]=35660;t[s+128>>2]=h;t[s+132>>2]=l;t[s+136>>2]=d;t[s+140>>2]=e;t[s+144>>2]=r;t[s+148>>2]=a;t[s+152>>2]=64;e=s+156|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[s+172>>2]=t[i>>2];t[s+176>>2]=0;t[s+180>>2]=0;t[s+184>>2]=0;e=s+4568|0;r=s+188|0;do{t[r>>2]=0;t[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));t[e>>2]=0;t[e+4>>2]=0;n[e+8>>1]=0;f[e+10>>0]=0;i=s+4580|0;t[i>>2]=0;t[i+4>>2]=0;n[i+8>>1]=0;f[i+10>>0]=0;i=s+4592|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;f[i+28>>0]=0;if(!(t[s+28>>2]|0))t[s+20>>2]=1;i=s;return i|0}}if((e|0)>=17){i=0;return i|0}l=d<<1;l=((l+h|0)/(l|1|0)|0)+1|0;if(r){e=0;while(1)if((1<>2]=t[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));o=s+88|0;c=o+40|0;do{t[o>>2]=0;o=o+4|0}while((o|0)<(c|0));t[s>>2]=35828;t[s+128>>2]=h;t[s+132>>2]=l;t[s+136>>2]=d;t[s+140>>2]=e;t[s+144>>2]=r;t[s+148>>2]=a;t[s+152>>2]=64;e=s+156|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[s+172>>2]=t[i>>2];t[s+176>>2]=0;t[s+180>>2]=0;t[s+184>>2]=0;e=s+4568|0;r=s+188|0;do{t[r>>2]=0;t[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));t[e>>2]=0;t[e+4>>2]=0;n[e+8>>1]=0;f[e+10>>0]=0;i=s+4580|0;t[i>>2]=0;t[i+4>>2]=0;n[i+8>>1]=0;f[i+10>>0]=0;i=s+4592|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;f[i+28>>0]=0;if(!(t[s+28>>2]|0))t[s+20>>2]=1;i=s;return i|0}else{e=0;while(1)if((1<>2]=t[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));o=s+88|0;c=o+40|0;do{t[o>>2]=0;o=o+4|0}while((o|0)<(c|0));t[s>>2]=35856;t[s+128>>2]=h;t[s+132>>2]=l;t[s+136>>2]=d;t[s+140>>2]=e;t[s+144>>2]=r;t[s+148>>2]=a;t[s+152>>2]=64;e=s+156|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[s+172>>2]=t[i>>2];t[s+176>>2]=0;t[s+180>>2]=0;t[s+184>>2]=0;e=s+4568|0;r=s+188|0;do{t[r>>2]=0;t[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));t[e>>2]=0;t[e+4>>2]=0;n[e+8>>1]=0;f[e+10>>0]=0;i=s+4580|0;t[i>>2]=0;t[i+4>>2]=0;n[i+8>>1]=0;f[i+10>>0]=0;i=s+4592|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;f[i+28>>0]=0;if(!(t[s+28>>2]|0))t[s+20>>2]=1;i=s;return i|0}return 0}function Ki(e,i,r){e=e|0;i=i|0;r=r|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0;_=t[r+16>>2]|0;switch(_|0){case 64:case 0:{w=0;e=pe(35,e|0,i|0)|0;i=w;w=0;if(i&1)k=16;else a=e;break}default:{s=(1<>2])+-1|0;b=t[i+20>>2]|0;d=b<<1;d=((d+s|0)/(d|1|0)|0)+1|0;e=0;while(1)if((1<>2]|0;w=0;a=de(67,4632)|0;h=w;w=0;if(h&1)k=16;else{l=((o|0)<8?8:o)+o<<1;t[a+4>>2]=0;u=a+8|0;c=i;h=u+84|0;do{t[u>>2]=t[c>>2];u=u+4|0;c=c+4|0}while((u|0)<(h|0));t[a+92>>2]=0;t[a+96>>2]=0;t[a+100>>2]=32;t[a+104>>2]=0;t[a+108>>2]=0;f[a+112>>0]=0;h=a+116|0;t[h>>2]=0;t[h+4>>2]=0;t[h+8>>2]=0;t[h+12>>2]=0;t[h+16>>2]=0;t[a>>2]=35884;t[a+136>>2]=s;t[a+140>>2]=d;t[a+144>>2]=b;t[a+148>>2]=e;t[a+152>>2]=o;t[a+156>>2]=l;t[a+160>>2]=_;e=a+164|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[a+180>>2]=t[i>>2];t[a+184>>2]=0;t[a+188>>2]=0;t[a+192>>2]=0;e=a+4576|0;s=a+196|0;do{t[s>>2]=0;t[s+4>>2]=0;n[s+8>>1]=0;n[s+10>>1]=1;s=s+12|0}while((s|0)!=(e|0));t[e>>2]=0;t[e+4>>2]=0;n[e+8>>1]=0;f[e+10>>0]=0;i=a+4588|0;t[i>>2]=0;t[i+4>>2]=0;n[i+8>>1]=0;f[i+10>>0]=0;i=a+4600|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;f[i+28>>0]=0;if(!(t[a+32>>2]|0))t[a+24>>2]=1}}}if((k|0)==16){k=je()|0;Qe(k|0)}if(!a)return a|0;w=0;ce(t[(t[a>>2]|0)+8>>2]|0,a|0,r|0);k=w;w=0;if(!(k&1))return a|0;e=je()|0;if(!a){k=e;Qe(k|0)}tM[t[(t[a>>2]|0)+4>>2]&255](a);k=e;Qe(k|0);return 0}function Wi(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;r=(t[i+24>>2]|0)==2;if(r?(t[i+16>>2]|0)!=3:0){i=0;return i|0}d=t[i+20>>2]|0;e=t[i+8>>2]|0;e:do{if(!d){if(r){if((e|0)!=8)break;a=Lp(4608)|0;t[a+4>>2]=0;o=a+8|0;u=i;c=o+84|0;do{t[o>>2]=t[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));t[a+92>>2]=0;t[a+96>>2]=0;t[a+100>>2]=32;t[a+104>>2]=0;t[a+108>>2]=0;f[a+112>>0]=0;e=a+116|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[e+16>>2]=0;t[a>>2]=35912;e=a+140|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[a+156>>2]=t[i>>2];t[a+160>>2]=0;t[a+164>>2]=0;t[a+168>>2]=0;e=a+4552|0;r=a+172|0;do{t[r>>2]=0;t[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));t[e>>2]=0;t[e+4>>2]=0;n[e+8>>1]=0;f[e+10>>0]=0;i=a+4564|0;t[i>>2]=0;t[i+4>>2]=0;n[i+8>>1]=0;f[i+10>>0]=0;i=a+4576|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;f[i+28>>0]=0;if(!(t[a+32>>2]|0))t[a+24>>2]=1;i=a;return i|0}switch(e|0){case 8:{a=Lp(4608)|0;t[a+4>>2]=0;o=a+8|0;u=i;c=o+84|0;do{t[o>>2]=t[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));t[a+92>>2]=0;t[a+96>>2]=0;t[a+100>>2]=32;t[a+104>>2]=0;t[a+108>>2]=0;f[a+112>>0]=0;e=a+116|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[e+16>>2]=0;t[a>>2]=35940;e=a+140|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[a+156>>2]=t[i>>2];t[a+160>>2]=0;t[a+164>>2]=0;t[a+168>>2]=0;e=a+4552|0;r=a+172|0;do{t[r>>2]=0;t[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));t[e>>2]=0;t[e+4>>2]=0;n[e+8>>1]=0;f[e+10>>0]=0;i=a+4564|0;t[i>>2]=0;t[i+4>>2]=0;n[i+8>>1]=0;f[i+10>>0]=0;i=a+4576|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;f[i+28>>0]=0;if(!(t[a+32>>2]|0))t[a+24>>2]=1;i=a;return i|0}case 12:{a=Lp(4608)|0;t[a+4>>2]=0;o=a+8|0;u=i;c=o+84|0;do{t[o>>2]=t[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));t[a+92>>2]=0;t[a+96>>2]=0;t[a+100>>2]=32;t[a+104>>2]=0;t[a+108>>2]=0;f[a+112>>0]=0;e=a+116|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[e+16>>2]=0;t[a>>2]=35968;e=a+140|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[a+156>>2]=t[i>>2];t[a+160>>2]=0;t[a+164>>2]=0;t[a+168>>2]=0;e=a+4552|0;r=a+172|0;do{t[r>>2]=0;t[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));t[e>>2]=0;t[e+4>>2]=0;n[e+8>>1]=0;f[e+10>>0]=0;i=a+4564|0;t[i>>2]=0;t[i+4>>2]=0;n[i+8>>1]=0;f[i+10>>0]=0;i=a+4576|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;f[i+28>>0]=0;if(!(t[a+32>>2]|0))t[a+24>>2]=1;i=a;return i|0}case 16:{a=Lp(4608)|0;t[a+4>>2]=0;o=a+8|0;u=i;c=o+84|0;do{t[o>>2]=t[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));t[a+92>>2]=0;t[a+96>>2]=0;t[a+100>>2]=32;t[a+104>>2]=0;t[a+108>>2]=0;f[a+112>>0]=0;e=a+116|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[e+16>>2]=0;t[a>>2]=35996;e=a+140|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[a+156>>2]=t[i>>2];t[a+160>>2]=0;t[a+164>>2]=0;t[a+168>>2]=0;e=a+4552|0;r=a+172|0;do{t[r>>2]=0;t[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));t[e>>2]=0;t[e+4>>2]=0;n[e+8>>1]=0;f[e+10>>0]=0;i=a+4564|0;t[i>>2]=0;t[i+4>>2]=0;n[i+8>>1]=0;f[i+10>>0]=0;i=a+4576|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;f[i+28>>0]=0;if(!(t[a+32>>2]|0))t[a+24>>2]=1;i=a;return i|0}default:break e}}}while(0);h=(1<>2]=0;o=s+8|0;u=i;c=o+84|0;do{t[o>>2]=t[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));t[s+92>>2]=0;t[s+96>>2]=0;t[s+100>>2]=32;t[s+104>>2]=0;t[s+108>>2]=0;f[s+112>>0]=0;c=s+116|0;t[c>>2]=0;t[c+4>>2]=0;t[c+8>>2]=0;t[c+12>>2]=0;t[c+16>>2]=0;t[s>>2]=36024;t[s+136>>2]=h;t[s+140>>2]=l;t[s+144>>2]=d;t[s+148>>2]=e;t[s+152>>2]=r;t[s+156>>2]=a;t[s+160>>2]=64;e=s+164|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[s+180>>2]=t[i>>2];t[s+184>>2]=0;t[s+188>>2]=0;t[s+192>>2]=0;e=s+4576|0;r=s+196|0;do{t[r>>2]=0;t[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));t[e>>2]=0;t[e+4>>2]=0;n[e+8>>1]=0;f[e+10>>0]=0;i=s+4588|0;t[i>>2]=0;t[i+4>>2]=0;n[i+8>>1]=0;f[i+10>>0]=0;i=s+4600|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;f[i+28>>0]=0;if(!(t[s+32>>2]|0))t[s+24>>2]=1;i=s;return i|0}else{e=0;while(1)if((1<>2]=0;o=s+8|0;u=i;c=o+84|0;do{t[o>>2]=t[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));t[s+92>>2]=0;t[s+96>>2]=0;t[s+100>>2]=32;t[s+104>>2]=0;t[s+108>>2]=0;f[s+112>>0]=0;c=s+116|0;t[c>>2]=0;t[c+4>>2]=0;t[c+8>>2]=0;t[c+12>>2]=0;t[c+16>>2]=0;t[s>>2]=35884;t[s+136>>2]=h;t[s+140>>2]=l;t[s+144>>2]=d;t[s+148>>2]=e;t[s+152>>2]=r;t[s+156>>2]=a;t[s+160>>2]=64;e=s+164|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[s+180>>2]=t[i>>2];t[s+184>>2]=0;t[s+188>>2]=0;t[s+192>>2]=0;e=s+4576|0;r=s+196|0;do{t[r>>2]=0;t[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));t[e>>2]=0;t[e+4>>2]=0;n[e+8>>1]=0;f[e+10>>0]=0;i=s+4588|0;t[i>>2]=0;t[i+4>>2]=0;n[i+8>>1]=0;f[i+10>>0]=0;i=s+4600|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;f[i+28>>0]=0;if(!(t[s+32>>2]|0))t[s+24>>2]=1;i=s;return i|0}}if((e|0)>=17){i=0;return i|0}l=d<<1;l=((l+h|0)/(l|1|0)|0)+1|0;if(r){e=0;while(1)if((1<>2]=0;o=s+8|0;u=i;c=o+84|0;do{t[o>>2]=t[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));t[s+92>>2]=0;t[s+96>>2]=0;t[s+100>>2]=32;t[s+104>>2]=0;t[s+108>>2]=0;f[s+112>>0]=0;c=s+116|0;t[c>>2]=0;t[c+4>>2]=0;t[c+8>>2]=0;t[c+12>>2]=0;t[c+16>>2]=0;t[s>>2]=36052;t[s+136>>2]=h;t[s+140>>2]=l;t[s+144>>2]=d;t[s+148>>2]=e;t[s+152>>2]=r;t[s+156>>2]=a;t[s+160>>2]=64;e=s+164|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[s+180>>2]=t[i>>2];t[s+184>>2]=0;t[s+188>>2]=0;t[s+192>>2]=0;e=s+4576|0;r=s+196|0;do{t[r>>2]=0;t[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));t[e>>2]=0;t[e+4>>2]=0;n[e+8>>1]=0;f[e+10>>0]=0;i=s+4588|0;t[i>>2]=0;t[i+4>>2]=0;n[i+8>>1]=0;f[i+10>>0]=0;i=s+4600|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;f[i+28>>0]=0;if(!(t[s+32>>2]|0))t[s+24>>2]=1;i=s;return i|0}else{e=0;while(1)if((1<>2]=0;o=s+8|0;u=i;c=o+84|0;do{t[o>>2]=t[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0));t[s+92>>2]=0;t[s+96>>2]=0;t[s+100>>2]=32;t[s+104>>2]=0;t[s+108>>2]=0;f[s+112>>0]=0;c=s+116|0;t[c>>2]=0;t[c+4>>2]=0;t[c+8>>2]=0;t[c+12>>2]=0;t[c+16>>2]=0;t[s>>2]=36080;t[s+136>>2]=h;t[s+140>>2]=l;t[s+144>>2]=d;t[s+148>>2]=e;t[s+152>>2]=r;t[s+156>>2]=a;t[s+160>>2]=64;e=s+164|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[s+180>>2]=t[i>>2];t[s+184>>2]=0;t[s+188>>2]=0;t[s+192>>2]=0;e=s+4576|0;r=s+196|0;do{t[r>>2]=0;t[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));t[e>>2]=0;t[e+4>>2]=0;n[e+8>>1]=0;f[e+10>>0]=0;i=s+4588|0;t[i>>2]=0;t[i+4>>2]=0;n[i+8>>1]=0;f[i+10>>0]=0;i=s+4600|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[i+16>>2]=0;t[i+20>>2]=0;t[i+24>>2]=0;f[i+28>>0]=0;if(!(t[s+32>>2]|0))t[s+24>>2]=1;i=s;return i|0}return 0}function Zi(){var e=0,i=0,r=0,f=0,n=0,a=0,s=0;e=2832;do{t[e>>2]=0;t[e+4>>2]=0;e=e+8|0}while((e|0)!=4880);ym(2832,0,2048)|0;e=0;do{s=2832+(e+128<<3)|0;t[s>>2]=0;t[s+4>>2]=1;e=e+1|0}while((e|0)!=128);e=3088;t[e>>2]=1;t[e+4>>2]=3;e=3096;t[e>>2]=1;t[e+4>>2]=3;e=3104;t[e>>2]=1;t[e+4>>2]=3;e=3112;t[e>>2]=1;t[e+4>>2]=3;e=3120;t[e>>2]=1;t[e+4>>2]=3;e=3128;t[e>>2]=1;t[e+4>>2]=3;e=3136;t[e>>2]=1;t[e+4>>2]=3;e=3144;t[e>>2]=1;t[e+4>>2]=3;e=3152;t[e>>2]=1;t[e+4>>2]=3;e=3160;t[e>>2]=1;t[e+4>>2]=3;e=3168;t[e>>2]=1;t[e+4>>2]=3;e=3176;t[e>>2]=1;t[e+4>>2]=3;e=3184;t[e>>2]=1;t[e+4>>2]=3;e=3192;t[e>>2]=1;t[e+4>>2]=3;e=3200;t[e>>2]=1;t[e+4>>2]=3;e=3208;t[e>>2]=1;t[e+4>>2]=3;e=3216;t[e>>2]=1;t[e+4>>2]=3;e=3224;t[e>>2]=1;t[e+4>>2]=3;e=3232;t[e>>2]=1;t[e+4>>2]=3;e=3240;t[e>>2]=1;t[e+4>>2]=3;e=3248;t[e>>2]=1;t[e+4>>2]=3;e=3256;t[e>>2]=1;t[e+4>>2]=3;e=3264;t[e>>2]=1;t[e+4>>2]=3;e=3272;t[e>>2]=1;t[e+4>>2]=3;e=3280;t[e>>2]=1;t[e+4>>2]=3;e=3288;t[e>>2]=1;t[e+4>>2]=3;e=3296;t[e>>2]=1;t[e+4>>2]=3;e=3304;t[e>>2]=1;t[e+4>>2]=3;e=3312;t[e>>2]=1;t[e+4>>2]=3;e=3320;t[e>>2]=1;t[e+4>>2]=3;e=3328;t[e>>2]=1;t[e+4>>2]=3;e=3336;t[e>>2]=1;t[e+4>>2]=3;e=2896;t[e>>2]=2;t[e+4>>2]=5;e=2904;t[e>>2]=2;t[e+4>>2]=5;e=2912;t[e>>2]=2;t[e+4>>2]=5;e=2920;t[e>>2]=2;t[e+4>>2]=5;e=2928;t[e>>2]=2;t[e+4>>2]=5;e=2936;t[e>>2]=2;t[e+4>>2]=5;e=2944;t[e>>2]=2;t[e+4>>2]=5;e=2952;t[e>>2]=2;t[e+4>>2]=5;e=2848;t[e>>2]=3;t[e+4>>2]=7;e=2856;t[e>>2]=3;t[e+4>>2]=7;e=0;do{s=2832+(e+64<<3)|0;t[s>>2]=-1;t[s+4>>2]=2;e=e+1|0}while((e|0)!=64);e=2960;t[e>>2]=-2;t[e+4>>2]=4;e=2968;t[e>>2]=-2;t[e+4>>2]=4;e=2976;t[e>>2]=-2;t[e+4>>2]=4;e=2984;t[e>>2]=-2;t[e+4>>2]=4;e=2992;t[e>>2]=-2;t[e+4>>2]=4;e=3e3;t[e>>2]=-2;t[e+4>>2]=4;e=3008;t[e>>2]=-2;t[e+4>>2]=4;e=3016;t[e>>2]=-2;t[e+4>>2]=4;e=3024;t[e>>2]=-2;t[e+4>>2]=4;e=3032;t[e>>2]=-2;t[e+4>>2]=4;e=3040;t[e>>2]=-2;t[e+4>>2]=4;e=3048;t[e>>2]=-2;t[e+4>>2]=4;e=3056;t[e>>2]=-2;t[e+4>>2]=4;e=3064;t[e>>2]=-2;t[e+4>>2]=4;e=3072;t[e>>2]=-2;t[e+4>>2]=4;e=3080;t[e>>2]=-2;t[e+4>>2]=4;e=2864;t[e>>2]=-3;t[e+4>>2]=6;e=2872;t[e>>2]=-3;t[e+4>>2]=6;e=2880;t[e>>2]=-3;t[e+4>>2]=6;e=2888;t[e>>2]=-3;t[e+4>>2]=6;e=2840;t[e>>2]=-4;t[e+4>>2]=8;e=4880;do{t[e>>2]=0;t[e+4>>2]=0;e=e+8|0}while((e|0)!=6928);ym(4880,0,2048)|0;r=2;e=0;n=0;a=0;while(1){r=r<<16>>16;i=8-r|0;f=1<>2]=n;t[s+4>>2]=r;i=i+1|0}while((i|0)<(f|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==7){i=2;n=1;a=-1;s=-1;break}else{r=(e>>1)+2|0;n=i>>16}}while(1){r=i<<16>>16;e=8-r|0;f=1<>2]=a;t[n+4>>2]=r;i=i+1|0}while((i|0)<(f|0))}e=(s<<16)+-65536|0;n=e>>31^e>>15;i=(n>>1)+2|0;if((i|0)>8){e=6928;break}else{a=e>>16;s=s+-1|0}}do{t[e>>2]=0;t[e+4>>2]=0;e=e+8|0}while((e|0)!=8976);ym(6928,0,2048)|0;n=3;e=0;f=0;a=0;while(1){i=8-n|0;r=1<>2]=f;t[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==12){n=3;i=1;f=-1;a=-1;break}else{n=(e>>2)+3|0;f=i>>16}}while(1){e=8-n|0;r=1<>2]=f;t[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(a<<16)+-65536|0;i=e>>31^e>>15;n=(i>>2)+3|0;if((n|0)>8){e=8976;break}else{f=e>>16;a=a+-1|0}}do{t[e>>2]=0;t[e+4>>2]=0;e=e+8|0}while((e|0)!=11024);ym(8976,0,2048)|0;n=4;e=0;f=0;a=0;while(1){i=8-n|0;r=1<>2]=f;t[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==20){n=4;i=1;f=-1;a=-1;break}else{n=(e>>3)+4|0;f=i>>16}}while(1){e=8-n|0;r=1<>2]=f;t[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(a<<16)+-65536|0;i=e>>31^e>>15;n=(i>>3)+4|0;if((n|0)>8){e=11024;break}else{f=e>>16;a=a+-1|0}}do{t[e>>2]=0;t[e+4>>2]=0;e=e+8|0}while((e|0)!=13072);ym(11024,0,2048)|0;n=5;e=0;f=0;a=0;while(1){i=8-n|0;r=1<>2]=f;t[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==32){n=5;i=1;f=-1;a=-1;break}else{n=(e>>4)+5|0;f=i>>16}}while(1){e=8-n|0;r=1<>2]=f;t[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(a<<16)+-65536|0;i=e>>31^e>>15;n=(i>>4)+5|0;if((n|0)>8){e=13072;break}else{f=e>>16;a=a+-1|0}}do{t[e>>2]=0;t[e+4>>2]=0;e=e+8|0}while((e|0)!=15120);ym(13072,0,2048)|0;n=6;e=0;f=0;a=0;while(1){i=8-n|0;r=1<>2]=f;t[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==48){n=6;i=1;f=-1;a=-1;break}else{n=(e>>5)+6|0;f=i>>16}}while(1){e=8-n|0;r=1<>2]=f;t[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(a<<16)+-65536|0;i=e>>31^e>>15;n=(i>>5)+6|0;if((n|0)>8){e=15120;break}else{f=e>>16;a=a+-1|0}}do{t[e>>2]=0;t[e+4>>2]=0;e=e+8|0}while((e|0)!=17168);ym(15120,0,2048)|0;n=7;e=0;f=0;a=0;while(1){i=8-n|0;r=1<>2]=f;t[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==64){n=7;i=1;f=-1;a=-1;break}else{n=(e>>6)+7|0;f=i>>16}}while(1){e=8-n|0;r=1<>2]=f;t[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(a<<16)+-65536|0;i=e>>31^e>>15;n=(i>>6)+7|0;if((n|0)>8){e=17168;break}else{f=e>>16;a=a+-1|0}}do{t[e>>2]=0;t[e+4>>2]=0;e=e+8|0}while((e|0)!=19216);ym(17168,0,2048)|0;n=8;e=0;f=0;a=0;while(1){i=8-n|0;r=1<>2]=f;t[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==64){a=8;f=1;n=-1;s=-1;break}else{n=(e>>7)+8|0;f=i>>16}}while(1){e=8-a|0;r=1<>2]=n;t[f+4>>2]=a;i=i+1|0}while((i|0)<(r|0))}i=(s<<16)+-65536|0;f=i>>31^i>>15;e=f>>7;if((e|0)>0){e=19216;break}else{a=e+8|0;n=i>>16;s=s+-1|0}}do{t[e>>2]=0;t[e+4>>2]=0;e=e+8|0}while((e|0)!=21264);ym(19216,0,2048)|0;e=21264;do{t[e>>2]=0;t[e+4>>2]=0;e=e+8|0}while((e|0)!=23312);ym(21264,0,2048)|0;e=23312;do{t[e>>2]=0;t[e+4>>2]=0;e=e+8|0}while((e|0)!=25360);ym(23312,0,2048)|0;e=25360;do{t[e>>2]=0;t[e+4>>2]=0;e=e+8|0}while((e|0)!=27408);ym(25360,0,2048)|0;e=27408;do{t[e>>2]=0;t[e+4>>2]=0;e=e+8|0}while((e|0)!=29456);ym(27408,0,2048)|0;e=29456;do{t[e>>2]=0;t[e+4>>2]=0;e=e+8|0}while((e|0)!=31504);ym(29456,0,2048)|0;e=31504;do{t[e>>2]=0;t[e+4>>2]=0;e=e+8|0}while((e|0)!=33552);ym(31504,0,2048)|0;e=33552;do{t[e>>2]=0;t[e+4>>2]=0;e=e+8|0}while((e|0)!=35600);ym(33552,0,2048)|0;Vi(35600,8);di(179,35600,k|0)|0;Vi(35612,10);di(179,35612,k|0)|0;Vi(35624,12);di(179,35624,k|0)|0;Vi(35636,16);di(179,35636,k|0)|0;return}function Ji(e){e=e|0;var i=0;i=t[e>>2]|0;if(!i)return;e=e+4|0;if((t[e>>2]|0)!=(i|0))t[e>>2]=i;Bp(i);return}function Qi(e){e=e|0;var i=0,r=0;t[e>>2]=36080;i=t[e+4616>>2]|0;if(i){r=e+4620|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36612;i=t[e+120>>2]|0;if(i){r=e+124|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+92|0;i=t[r>>2]|0;t[r>>2]=0;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=t[e>>2]|0;t[e>>2]=0;if(!i)return;tM[t[(t[i>>2]|0)+4>>2]&255](i);return}function er(e){e=e|0;var i=0,r=0;t[e>>2]=36080;i=t[e+4616>>2]|0;if(i){r=e+4620|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36612;i=t[e+120>>2]|0;if(i){r=e+124|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+92|0;i=t[r>>2]|0;t[r>>2]=0;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=t[r>>2]|0;t[r>>2]=0;if(!i){Bp(e);return}tM[t[(t[i>>2]|0)+4>>2]&255](i);Bp(e);return}function ir(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,h=0;o=c;c=c+32|0;h=o;op(h,t[e+136>>2]|0,t[e+144>>2]|0);u=t[i+4>>2]|0;l=t[i+8>>2]|0;l=(l|0)==0?t[h+8>>2]|0:l;s=t[i+12>>2]|0;s=(s|0)==0?t[h+12>>2]|0:s;r=t[i+16>>2]|0;a=t[h+16>>2]|0;t[e+184>>2]=(u|0)==0?t[h+4>>2]|0:u;t[e+188>>2]=l;t[e+192>>2]=s;jf(e);s=e+140|0;i=(t[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{t[e+196+(l*12|0)>>2]=i;t[e+196+(l*12|0)+4>>2]=0;n[e+196+(l*12|0)+8>>1]=0;n[e+196+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365);u=(t[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;h=((r|0)==0?a:r)&255;t[e+4576>>2]=u;t[e+4580>>2]=0;f[e+4584>>0]=h;f[e+4585>>0]=1;f[e+4586>>0]=0;t[e+4588>>2]=u;t[e+4592>>2]=1;f[e+4596>>0]=h;f[e+4597>>0]=1;f[e+4598>>0]=0;t[e+4600>>2]=0;c=o;return}function rr(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+16|0;h=b;u=e+92|0;o=t[i>>2]|0;t[i>>2]=0;i=t[u>>2]|0;t[u>>2]=o;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);t[h>>2]=0;t[h+4>>2]=a;u=r+8|0;t[h+8>>2]=t[u>>2];if(a){i=Lp(4624)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{t[s>>2]=t[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));s=i+88|0;o=s+40|0;do{t[s>>2]=0;s=s+4|0}while((s|0)<(o|0));t[i>>2]=35856;t[i+128>>2]=t[e+136>>2];t[i+132>>2]=t[e+140>>2];t[i+136>>2]=t[e+144>>2];t[i+140>>2]=t[e+148>>2];t[i+144>>2]=t[e+152>>2];t[i+148>>2]=t[e+156>>2];t[i+152>>2]=t[e+160>>2];s=i+156|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[i+172>>2]=t[a>>2];t[i+176>>2]=0;t[i+180>>2]=0;t[i+184>>2]=0;s=i+4568|0;a=i+188|0;do{t[a>>2]=0;t[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0));l=e+4|0;t[s>>2]=0;t[s+4>>2]=0;n[s+8>>1]=0;f[s+10>>0]=0;o=i+4580|0;t[o>>2]=0;t[o+4>>2]=0;n[o+8>>1]=0;f[o+10>>0]=0;o=i+4592|0;t[o>>2]=0;t[o+4>>2]=0;t[o+8>>2]=0;t[o+12>>2]=0;t[o+16>>2]=0;t[o+20>>2]=0;t[o+24>>2]=0;f[o+28>>0]=0;if(!(t[i+28>>2]|0))t[i+20>>2]=1;a=t[l>>2]|0;t[l>>2]=i;if(a){tM[t[(t[a>>2]|0)+4>>2]&255](a);i=t[l>>2]|0}Cf(i,h)}h=e+100|0;t[h>>2]=32;t[e+96>>2]=0;i=t[r>>2]|0;if(!i){t[e+108>>2]=t[r+4>>2];t[e+104>>2]=t[u>>2];If(e);d=e+116|0;d=t[d>>2]|0;e=t[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}t[e+132>>2]=i;s=e+120|0;u=e+124|0;a=t[u>>2]|0;i=t[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(d=i+4e3|0,(a|0)!=(d|0)):0){t[u>>2]=d;a=d}}else{Pf(s,4e3-o|0);i=t[s>>2]|0;l=i;a=t[u>>2]|0}t[e+108>>2]=l;t[e+104>>2]=a-i;If(e);d=e+116|0;d=t[d>>2]|0;e=t[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}function fr(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;y=c;c=c+352|0;M=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;_=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((t[e+32>>2]|0)!=0?(t[e+24>>2]|0)!=1:0){m=e+8|0;p=e+36|0;l=t[p>>2]|0;if(!l){e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[r>>0]|0;Ce(37,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}e=t[e+16>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[n>>0]|0;Ce(38,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[a>>0]|0;Ce(39,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[s>>0]|0;Ce(40,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=A+56|0;a=A+4|0;t[A>>2]=36160;t[l>>2]=36180;w=0;ce(62,A+56|0,a|0);y=w;w=0;if(y&1){E=je()|0;nd(l);Qe(E|0)}t[A+128>>2]=0;t[A+132>>2]=-1;t[A>>2]=36200;t[A+56>>2]=36220;w=0;ue(180,a|0);y=w;w=0;do{if(y&1)e=je()|0;else{t[a>>2]=36236;s=A+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[A+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);y=w;w=0;if(y&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,A|0,49007,21)|0;M=w;w=0;do{if((!(M&1)?(w=0,d=pe(36,e|0,t[p>>2]|0)|0,M=w,w=0,!(M&1)):0)?(w=0,_e(28,d|0,50997,18)|0,M=w,w=0,!(M&1)):0){n=Ue(16)|0;w=0;ce(64,_|0,a|0);M=w;w=0;if(!(M&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,_|0);M=w;w=0;if(M&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(_);if(!r)break}else e=je()|0;He(n|0)}else E=34}while(0);if((E|0)==34)e=je()|0;t[A>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}if((e|0)<=8){e=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,e|0,8,35648);E=w;w=0;if(!(E&1))bi(e|0,824,96);E=je()|0;He(e|0);Qe(E|0)}r=16-e|0;switch(l|0){case 1:{e=Lp(60)|0;t[o>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[o>>2];t[M+4>>2]=t[o+4>>2];Ce(41,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(60)|0;t[u>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[u>>2];t[M+4>>2]=t[u+4>>2];Ce(42,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(60)|0;t[h>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[h>>2];t[M+4>>2]=t[h+4>>2];Ce(43,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=g+56|0;a=g+4|0;t[g>>2]=36160;t[l>>2]=36180;w=0;ce(62,g+56|0,a|0);A=w;w=0;if(A&1){E=je()|0;nd(l);Qe(E|0)}t[g+128>>2]=0;t[g+132>>2]=-1;t[g>>2]=36200;t[g+56>>2]=36220;w=0;ue(180,a|0);A=w;w=0;do{if(A&1)e=je()|0;else{t[a>>2]=36236;s=g+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[g+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);A=w;w=0;if(A&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,g|0,49007,21)|0;A=w;w=0;do{if((!(A&1)?(w=0,b=pe(36,e|0,t[p>>2]|0)|0,A=w,w=0,!(A&1)):0)?(w=0,_e(28,b|0,50997,18)|0,A=w,w=0,!(A&1)):0){n=Ue(16)|0;w=0;ce(64,v|0,a|0);A=w;w=0;if(!(A&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,v|0);A=w;w=0;if(A&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(v);if(!r)break}else e=je()|0;He(n|0)}else E=64}while(0);if((E|0)==64)e=je()|0;t[g>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}}r=t[i+4>>2]|0;n=Lp(16)|0;e=t[e+20>>2]|0;if(!r){E=t[i>>2]|0;t[n>>2]=36132;t[n+4>>2]=E;t[n+8>>2]=2;t[n+12>>2]=e;E=n;c=y;return E|0}else{t[n>>2]=36108;t[n+4>>2]=r;t[n+8>>2]=2;t[n+12>>2]=e;E=n;c=y;return E|0}return 0}function nr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;t[e>>2]=36460;t[e+4>>2]=r;d=e+8|0;s=t[r>>2]|0;c=r+16|0;n=t[c>>2]|0;l=re(n,s)|0;t[d>>2]=0;b=e+12|0;t[b>>2]=0;t[e+16>>2]=0;do{if(l){if(!((l|0)<0?(w=0,ue(178,d|0),s=w,w=0,s&1):0))h=4;if((h|0)==4?(o=l<<1,w=0,u=de(67,o|0)|0,s=w,w=0,!(s&1)):0){t[d>>2]=u;s=u+(l<<1)|0;t[e+16>>2]=s;ym(u|0,0,o|0)|0;t[b>>2]=s;s=t[r>>2]|0;n=t[c>>2]|0;break}l=je()|0;a=t[d>>2]|0;n=a;if(a){s=t[b>>2]|0;if((s|0)!=(a|0))t[b>>2]=s+(~((s+-2-n|0)>>>1)<<1);Bp(a)}b=l;Qe(b|0)}}while(0);l=e+20|0;n=re(s<<1,n)|0;t[l>>2]=0;o=e+24|0;t[o>>2]=0;t[e+28>>2]=0;if(!n){b=e+36|0;t[b>>2]=t[i>>2];t[b+4>>2]=t[i+4>>2];t[b+8>>2]=t[i+8>>2];return}if(!((n|0)<0?(w=0,ue(178,l|0),r=w,w=0,r&1):0))h=13;if((h|0)==13?(w=0,a=de(67,n|0)|0,h=w,w=0,!(h&1)):0){t[o>>2]=a;t[l>>2]=a;t[e+28>>2]=a+n;do{f[a>>0]=0;a=(t[o>>2]|0)+1|0;t[o>>2]=a;n=n+-1|0}while((n|0)!=0);b=e+36|0;t[b>>2]=t[i>>2];t[b+4>>2]=t[i+4>>2];t[b+8>>2]=t[i+8>>2];return}s=je()|0;a=t[l>>2]|0;if(a){if((t[o>>2]|0)!=(a|0))t[o>>2]=a;Bp(a)}a=t[d>>2]|0;if(!a){b=s;Qe(b|0)}n=t[b>>2]|0;if((n|0)!=(a|0))t[b>>2]=n+(~((n+-2-a|0)>>>1)<<1);Bp(a);b=s;Qe(b|0)}function tr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;t[e>>2]=36436;t[e+4>>2]=r;d=e+8|0;s=t[r>>2]|0;c=r+16|0;n=t[c>>2]|0;l=re(n,s)|0;t[d>>2]=0;b=e+12|0;t[b>>2]=0;t[e+16>>2]=0;do{if(l){if(!((l|0)<0?(w=0,ue(178,d|0),s=w,w=0,s&1):0))h=4;if((h|0)==4?(o=l<<1,w=0,u=de(67,o|0)|0,s=w,w=0,!(s&1)):0){t[d>>2]=u;s=u+(l<<1)|0;t[e+16>>2]=s;ym(u|0,0,o|0)|0;t[b>>2]=s;s=t[r>>2]|0;n=t[c>>2]|0;break}l=je()|0;a=t[d>>2]|0;n=a;if(a){s=t[b>>2]|0;if((s|0)!=(a|0))t[b>>2]=s+(~((s+-2-n|0)>>>1)<<1);Bp(a)}b=l;Qe(b|0)}}while(0);l=e+20|0;n=re(s<<1,n)|0;t[l>>2]=0;o=e+24|0;t[o>>2]=0;t[e+28>>2]=0;if(!n){b=e+36|0;t[b>>2]=t[i>>2];t[b+4>>2]=t[i+4>>2];t[b+8>>2]=t[i+8>>2];return}if(!((n|0)<0?(w=0,ue(178,l|0),r=w,w=0,r&1):0))h=13;if((h|0)==13?(w=0,a=de(67,n|0)|0,h=w,w=0,!(h&1)):0){t[o>>2]=a;t[l>>2]=a;t[e+28>>2]=a+n;do{f[a>>0]=0;a=(t[o>>2]|0)+1|0;t[o>>2]=a;n=n+-1|0}while((n|0)!=0);b=e+36|0;t[b>>2]=t[i>>2];t[b+4>>2]=t[i+4>>2];t[b+8>>2]=t[i+8>>2];return}s=je()|0;a=t[l>>2]|0;if(a){if((t[o>>2]|0)!=(a|0))t[o>>2]=a;Bp(a)}a=t[d>>2]|0;if(!a){b=s;Qe(b|0)}n=t[b>>2]|0;if((n|0)!=(a|0))t[b>>2]=n+(~((n+-2-a|0)>>>1)<<1);Bp(a);b=s;Qe(b|0)}function ar(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;t[e>>2]=36412;t[e+4>>2]=r;d=e+8|0;s=t[r>>2]|0;c=r+16|0;n=t[c>>2]|0;l=re(n,s)|0;t[d>>2]=0;b=e+12|0;t[b>>2]=0;t[e+16>>2]=0;do{if(l){if(!((l|0)<0?(w=0,ue(178,d|0),s=w,w=0,s&1):0))h=4;if((h|0)==4?(o=l<<1,w=0,u=de(67,o|0)|0,s=w,w=0,!(s&1)):0){t[d>>2]=u;s=u+(l<<1)|0;t[e+16>>2]=s;ym(u|0,0,o|0)|0;t[b>>2]=s;s=t[r>>2]|0;n=t[c>>2]|0;break}l=je()|0;a=t[d>>2]|0;n=a;if(a){s=t[b>>2]|0;if((s|0)!=(a|0))t[b>>2]=s+(~((s+-2-n|0)>>>1)<<1);Bp(a)}b=l;Qe(b|0)}}while(0);l=e+20|0;n=re(s<<1,n)|0;t[l>>2]=0;o=e+24|0;t[o>>2]=0;t[e+28>>2]=0;if(!n){b=e+36|0;t[b>>2]=t[i>>2];t[b+4>>2]=t[i+4>>2];t[b+8>>2]=t[i+8>>2];return}if(!((n|0)<0?(w=0,ue(178,l|0),r=w,w=0,r&1):0))h=13;if((h|0)==13?(w=0,a=de(67,n|0)|0,h=w,w=0,!(h&1)):0){t[o>>2]=a;t[l>>2]=a;t[e+28>>2]=a+n;do{f[a>>0]=0;a=(t[o>>2]|0)+1|0;t[o>>2]=a;n=n+-1|0}while((n|0)!=0);b=e+36|0;t[b>>2]=t[i>>2];t[b+4>>2]=t[i+4>>2];t[b+8>>2]=t[i+8>>2];return}s=je()|0;a=t[l>>2]|0;if(a){if((t[o>>2]|0)!=(a|0))t[o>>2]=a;Bp(a)}a=t[d>>2]|0;if(!a){b=s;Qe(b|0)}n=t[b>>2]|0;if((n|0)!=(a|0))t[b>>2]=n+(~((n+-2-a|0)>>>1)<<1);Bp(a);b=s;Qe(b|0)}function sr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;t[e>>2]=36388;t[e+4>>2]=r;d=e+8|0;s=t[r>>2]|0;c=r+16|0;n=t[c>>2]|0;l=re(n,s)|0;t[d>>2]=0;b=e+12|0;t[b>>2]=0;t[e+16>>2]=0;do{if(l){if(!((l|0)<0?(w=0,ue(178,d|0),s=w,w=0,s&1):0))h=4;if((h|0)==4?(o=l<<1,w=0,u=de(67,o|0)|0,s=w,w=0,!(s&1)):0){t[d>>2]=u;s=u+(l<<1)|0;t[e+16>>2]=s;ym(u|0,0,o|0)|0;t[b>>2]=s;s=t[r>>2]|0;n=t[c>>2]|0;break}l=je()|0;a=t[d>>2]|0;n=a;if(a){s=t[b>>2]|0;if((s|0)!=(a|0))t[b>>2]=s+(~((s+-2-n|0)>>>1)<<1);Bp(a)}b=l;Qe(b|0)}}while(0);l=e+20|0;n=re(s<<1,n)|0;t[l>>2]=0;o=e+24|0;t[o>>2]=0;t[e+28>>2]=0;if(!n){b=e+36|0;t[b>>2]=t[i>>2];t[b+4>>2]=t[i+4>>2];t[b+8>>2]=t[i+8>>2];return}if(!((n|0)<0?(w=0,ue(178,l|0),r=w,w=0,r&1):0))h=13;if((h|0)==13?(w=0,a=de(67,n|0)|0,h=w,w=0,!(h&1)):0){t[o>>2]=a;t[l>>2]=a;t[e+28>>2]=a+n;do{f[a>>0]=0;a=(t[o>>2]|0)+1|0;t[o>>2]=a;n=n+-1|0}while((n|0)!=0);b=e+36|0;t[b>>2]=t[i>>2];t[b+4>>2]=t[i+4>>2];t[b+8>>2]=t[i+8>>2];return}s=je()|0;a=t[l>>2]|0;if(a){if((t[o>>2]|0)!=(a|0))t[o>>2]=a;Bp(a)}a=t[d>>2]|0;if(!a){b=s;Qe(b|0)}n=t[b>>2]|0;if((n|0)!=(a|0))t[b>>2]=n+(~((n+-2-a|0)>>>1)<<1);Bp(a);b=s;Qe(b|0)}function lr(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0;l=e+32|0;Lh(l,i)|0;s=e+44|0;t[s>>2]=0;o=e+48|0;a=t[o>>2]|0;if(a&8){i=f[l>>0]|0;if(!(i&1)){i=((i&255)>>>1)+(l+1)|0;t[s>>2]=i;r=l+1|0;n=l+1|0}else{i=(t[e+40>>2]|0)+(t[e+36>>2]|0)|0;t[s>>2]=i;n=t[e+40>>2]|0;r=n}t[e+8>>2]=r;t[e+12>>2]=n;t[e+16>>2]=i}if(!(a&16))return;i=f[l>>0]|0;if(!(i&1)){a=(i&255)>>>1;t[s>>2]=l+1+a;i=10;s=a}else{a=t[e+36>>2]|0;t[s>>2]=(t[e+40>>2]|0)+a;i=(t[l>>2]&-2)+-1|0;s=a}Dh(l,i,0);i=f[l>>0]|0;if(!(i&1)){a=l+1|0;n=(i&255)>>>1;r=l+1|0}else{r=t[e+40>>2]|0;a=r;n=t[e+36>>2]|0}i=e+24|0;t[i>>2]=r;t[e+20>>2]=r;t[e+28>>2]=a+n;if(!(t[o>>2]&3))return;t[i>>2]=r+s;return}function or(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0;_=c;c=c+32|0;l=_+16|0;b=_+8|0;o=_;w=0;ce(65,b|0,e|0);h=w;w=0;e:do{if(h&1){r=je(0)|0;n=e;a=e}else{do{if(f[b>>0]|0){n=t[(t[e>>2]|0)+-12>>2]|0;t[o>>2]=t[e+(n+24)>>2];u=e+n|0;h=t[e+(n+4)>>2]|0;a=i+r|0;n=e+(n+76)|0;r=t[n>>2]|0;do{if((r|0)==-1){w=0;r=de(68,u|0)|0;k=w;w=0;if(k&1)d=13;else{t[l>>2]=r;w=0;r=pe(37,l|0,44220)|0;k=w;w=0;if(!(k&1)?(w=0,s=pe(t[(t[r>>2]|0)+28>>2]|0,r|0,32)|0,k=w,w=0,!(k&1)):0){Lu(l);r=s<<24>>24;t[n>>2]=r;d=9;break}r=je(0)|0;Lu(l)}}else d=9}while(0);if((d|0)==9){w=0;t[l>>2]=t[o>>2];r=he(39,l|0,i|0,((h&176|0)==32?a:i)|0,a|0,u|0,r&255|0)|0;k=w;w=0;if(!(k&1)){if(r)break;k=t[(t[e>>2]|0)+-12>>2]|0;w=0;ce(66,e+k|0,t[e+(k+16)>>2]|5|0);k=w;w=0;if(!(k&1))break;else d=13}else d=13}if((d|0)==13)r=je(0)|0;nb(b);n=e;a=e;break e}}while(0);nb(b);c=_;return e|0}}while(0);We(r|0)|0;w=0;ue(181,n+(t[(t[a>>2]|0)+-12>>2]|0)|0);k=w;w=0;if(!(k&1)){Je();c=_;return e|0}r=je()|0;w=0;Se(3);k=w;w=0;if(k&1){k=je(0)|0;Ni(k)}else Qe(r|0);return 0}function ur(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0;r=t[i+48>>2]|0;if(r&16){r=i+44|0;n=t[r>>2]|0;a=t[i+24>>2]|0;if(n>>>0>>0)t[r>>2]=a;else a=n;n=t[i+20>>2]|0;s=a-n|0;if(s>>>0>4294967279)Ip(e);if(s>>>0<11){f[e>>0]=s<<1;r=e+1|0}else{i=s+16&-16;r=Lp(i)|0;t[e+8>>2]=r;t[e>>2]=i|1;t[e+4>>2]=s}if((n|0)!=(a|0)){i=r;while(1){f[i>>0]=f[n>>0]|0;n=n+1|0;if((n|0)==(a|0))break;else i=i+1|0}r=r+s|0}f[r>>0]=0;return}if(!(r&8)){t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;return}n=t[i+8>>2]|0;i=t[i+16>>2]|0;s=i-n|0;if(s>>>0>4294967279)Ip(e);if(s>>>0<11){f[e>>0]=s<<1;r=e+1|0}else{a=s+16&-16;r=Lp(a)|0;t[e+8>>2]=r;t[e>>2]=a|1;t[e+4>>2]=s}if((n|0)!=(i|0)){a=r;while(1){f[a>>0]=f[n>>0]|0;n=n+1|0;if((n|0)==(i|0))break;else a=a+1|0}r=r+s|0}f[r>>0]=0;return}function cr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0;t[e>>2]=36364;t[e+4>>2]=r;b=e+8|0;l=t[r>>2]|0;h=r+16|0;s=t[h>>2]|0;c=re(s,l)|0;t[b>>2]=0;_=e+12|0;t[_>>2]=0;t[e+16>>2]=0;do{if(c){if(!((c|0)<0?(w=0,ue(178,b|0),l=w,w=0,l&1):0))d=4;if((d|0)==4?(o=c<<1,w=0,u=de(67,o|0)|0,l=w,w=0,!(l&1)):0){t[b>>2]=u;l=u+(c<<1)|0;t[e+16>>2]=l;ym(u|0,0,o|0)|0;t[_>>2]=l;l=t[r>>2]|0;s=t[h>>2]|0;break}o=je()|0;a=t[b>>2]|0;s=a;if(a){l=t[_>>2]|0;if((l|0)!=(a|0))t[_>>2]=l+(~((l+-2-s|0)>>>1)<<1);Bp(a)}_=o;Qe(_|0)}}while(0);o=e+20|0;s=re(l<<1,s)|0;t[o>>2]=0;u=e+24|0;t[u>>2]=0;t[e+28>>2]=0;if(!s){_=e+32|0;b=n;b=t[b>>2]|0;n=n+4|0;n=t[n>>2]|0;d=_;t[d>>2]=b;_=_+4|0;t[_>>2]=n;_=e+40|0;t[_>>2]=b;_=e+48|0;t[_>>2]=t[i>>2];t[_+4>>2]=t[i+4>>2];t[_+8>>2]=t[i+8>>2];return}if(!((s|0)<0?(w=0,ue(178,o|0),h=w,w=0,h&1):0))d=13;if((d|0)==13?(w=0,a=de(67,s|0)|0,d=w,w=0,!(d&1)):0){t[u>>2]=a;t[o>>2]=a;t[e+28>>2]=a+s;do{f[a>>0]=0;a=(t[u>>2]|0)+1|0;t[u>>2]=a;s=s+-1|0}while((s|0)!=0);_=e+32|0;b=n;b=t[b>>2]|0;n=n+4|0;n=t[n>>2]|0;d=_;t[d>>2]=b;_=_+4|0;t[_>>2]=n;_=e+40|0;t[_>>2]=b;_=e+48|0;t[_>>2]=t[i>>2];t[_+4>>2]=t[i+4>>2];t[_+8>>2]=t[i+8>>2];return}l=je()|0;a=t[o>>2]|0;if(a){if((t[u>>2]|0)!=(a|0))t[u>>2]=a;Bp(a)}a=t[b>>2]|0;if(!a){_=l;Qe(_|0)}s=t[_>>2]|0;if((s|0)!=(a|0))t[_>>2]=s+(~((s+-2-a|0)>>>1)<<1);Bp(a);_=l;Qe(_|0)}function hr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0;t[e>>2]=36340;t[e+4>>2]=r;b=e+8|0;l=t[r>>2]|0;h=r+16|0;s=t[h>>2]|0;c=re(s,l)|0;t[b>>2]=0;_=e+12|0;t[_>>2]=0;t[e+16>>2]=0;do{if(c){if(!((c|0)<0?(w=0,ue(178,b|0),l=w,w=0,l&1):0))d=4;if((d|0)==4?(o=c<<1,w=0,u=de(67,o|0)|0,l=w,w=0,!(l&1)):0){t[b>>2]=u;l=u+(c<<1)|0;t[e+16>>2]=l;ym(u|0,0,o|0)|0;t[_>>2]=l;l=t[r>>2]|0;s=t[h>>2]|0;break}o=je()|0;a=t[b>>2]|0;s=a;if(a){l=t[_>>2]|0;if((l|0)!=(a|0))t[_>>2]=l+(~((l+-2-s|0)>>>1)<<1);Bp(a)}_=o;Qe(_|0)}}while(0);o=e+20|0;s=re(l<<1,s)|0;t[o>>2]=0;u=e+24|0;t[u>>2]=0;t[e+28>>2]=0;if(!s){_=e+32|0;b=n;b=t[b>>2]|0;n=n+4|0;n=t[n>>2]|0;d=_;t[d>>2]=b;_=_+4|0;t[_>>2]=n;_=e+40|0;t[_>>2]=b;_=e+48|0;t[_>>2]=t[i>>2];t[_+4>>2]=t[i+4>>2];t[_+8>>2]=t[i+8>>2];return}if(!((s|0)<0?(w=0,ue(178,o|0),h=w,w=0,h&1):0))d=13;if((d|0)==13?(w=0,a=de(67,s|0)|0,d=w,w=0,!(d&1)):0){t[u>>2]=a;t[o>>2]=a;t[e+28>>2]=a+s;do{f[a>>0]=0;a=(t[u>>2]|0)+1|0;t[u>>2]=a;s=s+-1|0}while((s|0)!=0);_=e+32|0;b=n;b=t[b>>2]|0;n=n+4|0;n=t[n>>2]|0;d=_;t[d>>2]=b;_=_+4|0;t[_>>2]=n;_=e+40|0;t[_>>2]=b;_=e+48|0;t[_>>2]=t[i>>2];t[_+4>>2]=t[i+4>>2];t[_+8>>2]=t[i+8>>2];return}l=je()|0;a=t[o>>2]|0;if(a){if((t[u>>2]|0)!=(a|0))t[u>>2]=a;Bp(a)}a=t[b>>2]|0;if(!a){_=l;Qe(_|0)}s=t[_>>2]|0;if((s|0)!=(a|0))t[_>>2]=s+(~((s+-2-a|0)>>>1)<<1);Bp(a);_=l;Qe(_|0)}function dr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0;t[e>>2]=36316;t[e+4>>2]=r;b=e+8|0;l=t[r>>2]|0;h=r+16|0;s=t[h>>2]|0;c=re(s,l)|0;t[b>>2]=0;_=e+12|0;t[_>>2]=0;t[e+16>>2]=0;do{if(c){if(!((c|0)<0?(w=0,ue(178,b|0),l=w,w=0,l&1):0))d=4;if((d|0)==4?(o=c<<1,w=0,u=de(67,o|0)|0,l=w,w=0,!(l&1)):0){t[b>>2]=u;l=u+(c<<1)|0;t[e+16>>2]=l;ym(u|0,0,o|0)|0;t[_>>2]=l;l=t[r>>2]|0;s=t[h>>2]|0;break}o=je()|0;a=t[b>>2]|0;s=a;if(a){l=t[_>>2]|0;if((l|0)!=(a|0))t[_>>2]=l+(~((l+-2-s|0)>>>1)<<1);Bp(a)}_=o;Qe(_|0)}}while(0);o=e+20|0;s=re(l<<1,s)|0;t[o>>2]=0;u=e+24|0;t[u>>2]=0;t[e+28>>2]=0;if(!s){_=e+32|0;b=n;b=t[b>>2]|0;n=n+4|0;n=t[n>>2]|0;d=_;t[d>>2]=b;_=_+4|0;t[_>>2]=n;_=e+40|0;t[_>>2]=b;_=e+48|0;t[_>>2]=t[i>>2];t[_+4>>2]=t[i+4>>2];t[_+8>>2]=t[i+8>>2];return}if(!((s|0)<0?(w=0,ue(178,o|0),h=w,w=0,h&1):0))d=13;if((d|0)==13?(w=0,a=de(67,s|0)|0,d=w,w=0,!(d&1)):0){t[u>>2]=a;t[o>>2]=a;t[e+28>>2]=a+s;do{f[a>>0]=0;a=(t[u>>2]|0)+1|0;t[u>>2]=a;s=s+-1|0}while((s|0)!=0);_=e+32|0;b=n;b=t[b>>2]|0;n=n+4|0;n=t[n>>2]|0;d=_;t[d>>2]=b;_=_+4|0;t[_>>2]=n;_=e+40|0;t[_>>2]=b;_=e+48|0;t[_>>2]=t[i>>2];t[_+4>>2]=t[i+4>>2];t[_+8>>2]=t[i+8>>2];return}l=je()|0;a=t[o>>2]|0;if(a){if((t[u>>2]|0)!=(a|0))t[u>>2]=a;Bp(a)}a=t[b>>2]|0;if(!a){_=l;Qe(_|0)}s=t[_>>2]|0;if((s|0)!=(a|0))t[_>>2]=s+(~((s+-2-a|0)>>>1)<<1);Bp(a);_=l;Qe(_|0)}function br(e){e=e|0;var i=0,r=0,f=0;t[e>>2]=36316;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}f=t[e+8>>2]|0;if(!f)return;i=e+12|0;r=t[i>>2]|0;if((r|0)!=(f|0))t[i>>2]=r+(~((r+-2-f|0)>>>1)<<1);Bp(f);return}function _r(e){e=e|0;var i=0,r=0,f=0;t[e>>2]=36316;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}f=t[e+8>>2]|0;if(!f){Bp(e);return}i=e+12|0;r=t[i>>2]|0;if((r|0)!=(f|0))t[i>>2]=r+(~((r+-2-f|0)>>>1)<<1);Bp(f);Bp(e);return}function kr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+48|0;if(!(t[a>>2]|0)){o=e+52|0;gr(e,i,t[o>>2]|0,r,n);t[o>>2]=(t[o>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,t[(t[u>>2]|0)+16>>2]|0)|0;o=e+20|0;gr(e,i,t[o>>2]|0,r,n);i=t[u>>2]|0;if((t[i+28>>2]|0)==536870912)pr(t[o>>2]|0,re(s,t[i+16>>2]|0)|0);u=t[a>>2]|0;if((uM[t[(t[u>>2]|0)+48>>2]&63](u,t[o>>2]|0,l)|0)==(l|0))return;i=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,i|0,3,35648);u=w;w=0;if(u&1){u=je()|0;He(i|0);Qe(u|0)}else bi(i|0,824,96)}function wr(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=t[e+48>>2]|0;if(!n){n=e+52|0;mr(e,t[n>>2]|0,i,r,f);t[n>>2]=(t[n>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}else{vr(e,n,i,r,f);return}}function mr(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,_=0;h=e+4|0;o=t[h>>2]|0;do{if(!(f[o+32>>0]|0))d=i;else{u=e+8|0;Em(t[u>>2]|0,i|0,a*6|0)|0;o=t[h>>2]|0;c=t[o+16>>2]|0;if((a|0)<=0){d=t[u>>2]|0;break}i=t[u>>2]|0;o=i;u=0;while(1){d=o+4|0;b=n[o>>1]|0;n[o>>1]=n[d>>1]|0;n[d>>1]=b;u=u+1|0;if((u|0)==(a|0))break;else o=o+(c<<1)|0}d=i;o=t[h>>2]|0}}while(0);switch(t[o+16>>2]|0){case 3:if((t[o+24>>2]|0)==2){if((a|0)<=0)return;o=e+32|0;i=0;do{b=t[o>>2]|0;h=s[d+(i*6|0)+2>>1]<>1]<>1]<>1]=(h+49152+((e+l|0)>>>2)&65535)>>>b;n[r+(i*6|0)+2>>1]=e>>>b;n[r+(i*6|0)+4>>1]=l>>>b;i=i+1|0}while((i|0)!=(a|0));return}else{u=(l|0)<(a|0)?l:a;if((u|0)<=0)return;c=l<<1;o=t[e+32>>2]|0;i=0;do{a=s[d+(i*6|0)+2>>1]<>1]<>1]<>1]=(a+49152+((e+b|0)>>>2)&65535)>>>o;n[r+(i+l<<1)>>1]=e>>>o;n[r+(i+c<<1)>>1]=b>>>o;i=i+1|0}while((i|0)!=(u|0));return}case 4:{if((t[o+24>>2]|0)!=1)return;u=(l|0)<(a|0)?l:a;if((u|0)<=0)return;c=l<<1;h=l*3|0;o=t[e+32>>2]|0;i=0;do{b=n[d+(i<<3)+6>>1]|0;_=s[d+(i<<3)+2>>1]<>1]<>1]<>1]=(_+49152+((a+e|0)>>>2)&65535)>>>o;n[r+(i+l<<1)>>1]=a>>>o;n[r+(i+c<<1)>>1]=e>>>o;n[r+(i+h<<1)>>1]=b;i=i+1|0}while((i|0)!=(u|0));return}default:return}}function vr(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0;b=c;c=c+176|0;_=b+152|0;v=b+16|0;m=b;u=e+4|0;s=t[u>>2]|0;d=n<<1;l=re(d,t[s+16>>2]|0)|0;do{if(l){o=e+20|0;while(1){s=uM[t[(t[i>>2]|0)+32>>2]&63](i,t[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){h=26;break}else l=l-s|0}if((h|0)==26){s=t[u>>2]|0;break}h=v+56|0;u=v+4|0;t[v>>2]=36160;t[h>>2]=36180;w=0;ce(62,v+56|0,u|0);b=w;w=0;if(b&1){v=je()|0;nd(h);Qe(v|0)}t[v+128>>2]=0;t[v+132>>2]=-1;t[v>>2]=36200;t[v+56>>2]=36220;w=0;ue(180,u|0);b=w;w=0;do{if(b&1)s=je()|0;else{t[u>>2]=36236;i=v+36|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[v+52>>2]=16;t[_>>2]=0;t[_+4>>2]=0;t[_+8>>2]=0;w=0;ce(63,u|0,_|0);b=w;w=0;if(b&1){s=je()|0;xh(_);xh(i);cd(u);break}xh(_);w=0;s=_e(28,v|0,49029,57)|0;_=w;w=0;if(!(_&1)?(w=0,pe(36,s|0,0)|0,_=w,w=0,!(_&1)):0){o=Ue(16)|0;w=0;ce(64,m|0,u|0);_=w;w=0;if(!(_&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,o|0,3,35648,m|0);_=w;w=0;if(_&1)l=1;else{w=0;Ee(6,o|0,824,96);w=0;l=0}s=je()|0;xh(m);if(!l){m=s;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}}else s=je()|0;He(o|0);m=s;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}m=je()|0;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}}while(0);v=s;nd(h);Qe(v|0)}}while(0);l=e+20|0;if((t[s+28>>2]|0)!=536870912){v=t[l>>2]|0;mr(e,v,r,n,a);c=b;return}pr(t[l>>2]|0,re(d,t[s+16>>2]|0)|0);v=t[l>>2]|0;mr(e,v,r,n,a);c=b;return}function pr(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0;a=c;c=c+176|0;r=a+152|0;u=a+16|0;l=a;if(!(i&1)){r=(i|0)/4|0;if((i|0)>3){n=0;do{u=e+(n<<2)|0;o=t[u>>2]|0;t[u>>2]=o>>>8&16711935|o<<8&-16711936;n=n+1|0}while((n|0)<(r|0))}if(!(i&3)){c=a;return}l=e+(i+-2)|0;u=e+(i+-1)|0;o=f[l>>0]|0;f[l>>0]=f[u>>0]|0;f[u>>0]=o;c=a;return}o=u+56|0;s=u+4|0;t[u>>2]=36160;t[o>>2]=36180;w=0;ce(62,u+56|0,s|0);a=w;w=0;if(a&1){u=je()|0;nd(o);Qe(u|0)}t[u+128>>2]=0;t[u+132>>2]=-1;t[u>>2]=36200;t[u+56>>2]=36220;w=0;ue(180,s|0);a=w;w=0;do{if(a&1)r=je()|0;else{t[s>>2]=36236;a=u+36|0;t[a>>2]=0;t[a+4>>2]=0;t[a+8>>2]=0;t[a+12>>2]=0;t[u+52>>2]=16;t[r>>2]=0;t[r+4>>2]=0;t[r+8>>2]=0;w=0;ce(63,s|0,r|0);e=w;w=0;if(e&1){u=je()|0;xh(r);xh(a);cd(s);r=u;break}xh(r);w=0;r=_e(28,u|0,49087,24)|0;e=w;w=0;if((!(e&1)?(w=0,n=pe(36,r|0,i|0)|0,i=w,w=0,!(i&1)):0)?(w=0,_e(28,n|0,49112,20)|0,i=w,w=0,!(i&1)):0){e=Ue(16)|0;w=0;ce(64,l|0,s|0);i=w;w=0;if(!(i&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,e|0,1,35648,l|0);i=w;w=0;if(i&1)n=1;else{w=0;Ee(6,e|0,824,96);w=0;n=0}r=je()|0;xh(l);if(!n){l=r;t[u>>2]=36200;t[o>>2]=36220;t[s>>2]=36236;xh(a);cd(s);nd(o);Qe(l|0)}}else r=je()|0;He(e|0);l=r;t[u>>2]=36200;t[o>>2]=36220;t[s>>2]=36236;xh(a);cd(s);nd(o);Qe(l|0)}l=je()|0;t[u>>2]=36200;t[o>>2]=36220;t[s>>2]=36236;xh(a);cd(s);nd(o);Qe(l|0)}}while(0);u=r;nd(o);Qe(u|0)}function gr(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0;d=e+4|0;o=t[d>>2]|0;e:do{switch(t[o+16>>2]|0){case 3:{if((t[o+24>>2]|0)==2){if((a|0)<=0)break e;o=e+40|0;e=0;do{l=t[o>>2]|0;c=s[i+(e*6|0)+2>>1]<>1]<>1]<>2)+16384|0;n[r+(e*6|0)>>1]=(u+32768+h&65535)>>>l;n[r+(e*6|0)+2>>1]=(h&65535)>>>l;n[r+(e*6|0)+4>>1]=(c+32768+h&65535)>>>l;e=e+1|0}while((e|0)!=(a|0))}else{u=(a|0)<(l|0)?a:l;if((u|0)<=0)break e;c=l<<1;o=e+40|0;e=0;do{h=t[o>>2]|0;_=s[i+(e+l<<1)>>1]<>1]<>1]<>2)+16384|0;n[r+(e*6|0)>>1]=(k+32768+b&65535)>>>h;n[r+(e*6|0)+2>>1]=(b&65535)>>>h;n[r+(e*6|0)+4>>1]=(_+32768+b&65535)>>>h;e=e+1|0}while((e|0)!=(u|0))}break}case 4:{if((t[o+24>>2]|0)==1?(h=(a|0)<(l|0)?a:l,(h|0)>0):0){c=l<<1;o=e+40|0;e=l*3|0;u=0;do{k=t[o>>2]|0;_=s[i+(u+l<<1)>>1]<>1]<>1]<>2)+16384|0;w=n[i+(u+e<<1)>>1]|0;v=Sm((b&65535)>>>k&65535|0,0,16)|0;_=(_+32768+b&65535)>>>k|O;w=Sm(w&65535|0,0,48)|0;w=v|(m+32768+b&65535)>>>k&65535|w;_=_&65535|O;k=r+(u<<3)|0;b=k;n[b>>1]=w;n[b+2>>1]=w>>>16;k=k+4|0;n[k>>1]=_;n[k+2>>1]=_>>>16;u=u+1|0}while((u|0)!=(h|0))}break}default:{}}}while(0);o=t[d>>2]|0;if(!(f[o+32>>0]|0))return;u=t[o+16>>2]|0;if((a|0)<=0)return;o=r;e=0;while(1){v=o+4|0;m=n[o>>1]|0;n[o>>1]=n[v>>1]|0;n[v>>1]=m;e=e+1|0;if((e|0)==(a|0))break;else o=o+(u<<1)|0}return}function yr(e){e=e|0;var i=0,r=0,f=0;t[e>>2]=36340;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}f=t[e+8>>2]|0;if(!f)return;i=e+12|0;r=t[i>>2]|0;if((r|0)!=(f|0))t[i>>2]=r+(~((r+-2-f|0)>>>1)<<1);Bp(f);return}function Mr(e){e=e|0;var i=0,r=0,f=0;t[e>>2]=36340;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}f=t[e+8>>2]|0;if(!f){Bp(e);return}i=e+12|0;r=t[i>>2]|0;if((r|0)!=(f|0))t[i>>2]=r+(~((r+-2-f|0)>>>1)<<1);Bp(f);Bp(e);return}function Ar(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+48|0;if(!(t[a>>2]|0)){o=e+52|0;Rr(e,i,t[o>>2]|0,r,n);t[o>>2]=(t[o>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,t[(t[u>>2]|0)+16>>2]|0)|0;o=e+20|0;Rr(e,i,t[o>>2]|0,r,n);i=t[u>>2]|0;if((t[i+28>>2]|0)==536870912)pr(t[o>>2]|0,re(s,t[i+16>>2]|0)|0);u=t[a>>2]|0;if((uM[t[(t[u>>2]|0)+48>>2]&63](u,t[o>>2]|0,l)|0)==(l|0))return;i=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,i|0,3,35648);u=w;w=0;if(u&1){u=je()|0;He(i|0);Qe(u|0)}else bi(i|0,824,96)}function Er(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=t[e+48>>2]|0;if(!n){n=e+52|0;Sr(e,t[n>>2]|0,i,r,f);t[n>>2]=(t[n>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}else{Tr(e,n,i,r,f);return}}function Sr(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,_=0;h=e+4|0;o=t[h>>2]|0;do{if(!(f[o+32>>0]|0))d=i;else{u=e+8|0;Em(t[u>>2]|0,i|0,a*6|0)|0;o=t[h>>2]|0;c=t[o+16>>2]|0;if((a|0)<=0){d=t[u>>2]|0;break}i=t[u>>2]|0;o=i;u=0;while(1){d=o+4|0;b=n[o>>1]|0;n[o>>1]=n[d>>1]|0;n[d>>1]=b;u=u+1|0;if((u|0)==(a|0))break;else o=o+(c<<1)|0}d=i;o=t[h>>2]|0}}while(0);switch(t[o+16>>2]|0){case 3:if((t[o+24>>2]|0)==2){if((a|0)<=0)return;o=e+32|0;i=0;do{l=t[o>>2]|0;h=s[d+(i*6|0)>>1]<>1]<>1]<>>1)&65535)>>>l&65535;n[r+(i*6|0)>>1]=(h+32768-e&65535)>>>l;n[r+(i*6|0)+2>>1]=(e&65535)>>>l;n[r+(i*6|0)+4>>1]=b;i=i+1|0}while((i|0)!=(a|0));return}else{u=(l|0)<(a|0)?l:a;if((u|0)<=0)return;c=l<<1;o=t[e+32>>2]|0;i=0;do{a=s[d+(i*6|0)>>1]<>1]<>1]<>>1)&65535)>>>o&65535;n[r+(i<<1)>>1]=(a+32768-e&65535)>>>o;n[r+(i+l<<1)>>1]=(e&65535)>>>o;n[r+(i+c<<1)>>1]=b;i=i+1|0}while((i|0)!=(u|0));return}case 4:{if((t[o+24>>2]|0)!=1)return;u=(l|0)<(a|0)?l:a;if((u|0)<=0)return;c=l<<1;h=l*3|0;o=t[e+32>>2]|0;i=0;do{b=n[d+(i<<3)+6>>1]|0;_=s[d+(i<<3)>>1]<>1]<>1]<>>1)&65535)>>>o&65535;n[r+(i<<1)>>1]=(_+32768-a&65535)>>>o;n[r+(i+l<<1)>>1]=(a&65535)>>>o;n[r+(i+c<<1)>>1]=e;n[r+(i+h<<1)>>1]=b;i=i+1|0}while((i|0)!=(u|0));return}default:return}}function Tr(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0;b=c;c=c+176|0;_=b+152|0;v=b+16|0;m=b;u=e+4|0;s=t[u>>2]|0;d=n<<1;l=re(d,t[s+16>>2]|0)|0;do{if(l){o=e+20|0;while(1){s=uM[t[(t[i>>2]|0)+32>>2]&63](i,t[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){h=26;break}else l=l-s|0}if((h|0)==26){s=t[u>>2]|0;break}h=v+56|0;u=v+4|0;t[v>>2]=36160;t[h>>2]=36180;w=0;ce(62,v+56|0,u|0);b=w;w=0;if(b&1){v=je()|0;nd(h);Qe(v|0)}t[v+128>>2]=0;t[v+132>>2]=-1;t[v>>2]=36200;t[v+56>>2]=36220;w=0;ue(180,u|0);b=w;w=0;do{if(b&1)s=je()|0;else{t[u>>2]=36236;i=v+36|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[v+52>>2]=16;t[_>>2]=0;t[_+4>>2]=0;t[_+8>>2]=0;w=0;ce(63,u|0,_|0);b=w;w=0;if(b&1){s=je()|0;xh(_);xh(i);cd(u);break}xh(_);w=0;s=_e(28,v|0,49029,57)|0;_=w;w=0;if(!(_&1)?(w=0,pe(36,s|0,0)|0,_=w,w=0,!(_&1)):0){o=Ue(16)|0;w=0;ce(64,m|0,u|0);_=w;w=0;if(!(_&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,o|0,3,35648,m|0);_=w;w=0;if(_&1)l=1;else{w=0;Ee(6,o|0,824,96);w=0;l=0}s=je()|0;xh(m);if(!l){m=s;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}}else s=je()|0;He(o|0);m=s;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}m=je()|0;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}}while(0);v=s;nd(h);Qe(v|0)}}while(0);l=e+20|0;if((t[s+28>>2]|0)!=536870912){v=t[l>>2]|0;Sr(e,v,r,n,a);c=b;return}pr(t[l>>2]|0,re(d,t[s+16>>2]|0)|0);v=t[l>>2]|0;Sr(e,v,r,n,a);c=b;return}function Rr(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0;d=e+4|0;o=t[d>>2]|0;e:do{switch(t[o+16>>2]|0){case 3:{if((t[o+24>>2]|0)==2){if((a|0)<=0)break e;o=e+40|0;e=0;do{h=t[o>>2]|0;c=s[i+(e*6|0)+2>>1]<>1]<>1]<>>1)&65535)>>>h&65535;n[r+(e*6|0)>>1]=u>>>h;n[r+(e*6|0)+2>>1]=c>>>h;n[r+(e*6|0)+4>>1]=l;e=e+1|0}while((e|0)!=(a|0))}else{u=(a|0)<(l|0)?a:l;if((u|0)<=0)break e;c=l<<1;o=e+40|0;e=0;do{b=t[o>>2]|0;_=s[i+(e+l<<1)>>1]<>1]<>1]<>>1)&65535)>>>b&65535;n[r+(e*6|0)>>1]=k>>>b;n[r+(e*6|0)+2>>1]=_>>>b;n[r+(e*6|0)+4>>1]=h;e=e+1|0}while((e|0)!=(u|0))}break}case 4:{if((t[o+24>>2]|0)==1?(h=(a|0)<(l|0)?a:l,(h|0)>0):0){c=l<<1;o=e+40|0;e=l*3|0;u=0;do{b=t[o>>2]|0;k=s[i+(u+l<<1)>>1]<>1]<>1]<>>1)&65535)>>>b;w=n[i+(u+e<<1)>>1]|0;k=Sm(k>>>b&65535|0,0,16)|0;_=O|_;w=Sm(w&65535|0,0,48)|0;w=m>>>b&65535|k|w;_=_&65535|O;k=r+(u<<3)|0;b=k;n[b>>1]=w;n[b+2>>1]=w>>>16;k=k+4|0;n[k>>1]=_;n[k+2>>1]=_>>>16;u=u+1|0}while((u|0)!=(h|0))}break}default:{}}}while(0);o=t[d>>2]|0;if(!(f[o+32>>0]|0))return;u=t[o+16>>2]|0;if((a|0)<=0)return;o=r;e=0;while(1){m=o+4|0;w=n[o>>1]|0;n[o>>1]=n[m>>1]|0;n[m>>1]=w;e=e+1|0;if((e|0)==(a|0))break;else o=o+(u<<1)|0}return}function Cr(e){e=e|0;var i=0,r=0,f=0;t[e>>2]=36364;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}f=t[e+8>>2]|0;if(!f)return;i=e+12|0;r=t[i>>2]|0;if((r|0)!=(f|0))t[i>>2]=r+(~((r+-2-f|0)>>>1)<<1);Bp(f);return}function Pr(e){e=e|0;var i=0,r=0,f=0;t[e>>2]=36364;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}f=t[e+8>>2]|0;if(!f){Bp(e);return}i=e+12|0;r=t[i>>2]|0;if((r|0)!=(f|0))t[i>>2]=r+(~((r+-2-f|0)>>>1)<<1);Bp(f);Bp(e);return}function Ir(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+48|0;if(!(t[a>>2]|0)){o=e+52|0;Br(e,i,t[o>>2]|0,r,n);t[o>>2]=(t[o>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,t[(t[u>>2]|0)+16>>2]|0)|0;o=e+20|0;Br(e,i,t[o>>2]|0,r,n);i=t[u>>2]|0;if((t[i+28>>2]|0)==536870912)pr(t[o>>2]|0,re(s,t[i+16>>2]|0)|0);u=t[a>>2]|0;if((uM[t[(t[u>>2]|0)+48>>2]&63](u,t[o>>2]|0,l)|0)==(l|0))return;i=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,i|0,3,35648);u=w;w=0;if(u&1){u=je()|0;He(i|0);Qe(u|0)}else bi(i|0,824,96)}function Or(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=t[e+48>>2]|0;if(!n){n=e+52|0;xr(e,t[n>>2]|0,i,r,f);t[n>>2]=(t[n>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}else{Lr(e,n,i,r,f);return}}function xr(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0;h=e+4|0;o=t[h>>2]|0;do{if(!(f[o+32>>0]|0))d=i;else{u=e+8|0;Em(t[u>>2]|0,i|0,a*6|0)|0;o=t[h>>2]|0;c=t[o+16>>2]|0;if((a|0)<=0){d=t[u>>2]|0;break}i=t[u>>2]|0;o=i;u=0;while(1){d=o+4|0;b=n[o>>1]|0;n[o>>1]=n[d>>1]|0;n[d>>1]=b;u=u+1|0;if((u|0)==(a|0))break;else o=o+(c<<1)|0}d=i;o=t[h>>2]|0}}while(0);switch(t[o+16>>2]|0){case 3:if((t[o+24>>2]|0)==2){if((a|0)<=0)return;o=e+32|0;i=0;do{l=t[o>>2]|0;e=s[d+(i*6|0)+2>>1]<>1]<>>l&65535;n[r+(i*6|0)>>1]=((s[d+(i*6|0)>>1]<>>l;n[r+(i*6|0)+2>>1]=(e&65535)>>>l;n[r+(i*6|0)+4>>1]=b;i=i+1|0}while((i|0)!=(a|0));return}else{u=(l|0)<(a|0)?l:a;if((u|0)<=0)return;c=l<<1;o=t[e+32>>2]|0;i=0;do{e=s[d+(i*6|0)+2>>1]<>1]<>>o&65535;n[r+(i<<1)>>1]=((s[d+(i*6|0)>>1]<>>o;n[r+(i+l<<1)>>1]=(e&65535)>>>o;n[r+(i+c<<1)>>1]=b;i=i+1|0}while((i|0)!=(u|0));return}case 4:{if((t[o+24>>2]|0)!=1)return;c=(l|0)<(a|0)?l:a;if((c|0)<=0)return;h=l<<1;u=l*3|0;o=t[e+32>>2]|0;i=0;do{b=n[d+(i<<3)+6>>1]|0;a=s[d+(i<<3)+2>>1]<>1]<>>o&65535;n[r+(i<<1)>>1]=((s[d+(i<<3)>>1]<>>o;n[r+(i+l<<1)>>1]=(a&65535)>>>o;n[r+(i+h<<1)>>1]=e;n[r+(i+u<<1)>>1]=b;i=i+1|0}while((i|0)!=(c|0));return}default:return}}function Lr(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0;b=c;c=c+176|0;_=b+152|0;v=b+16|0;m=b;u=e+4|0;s=t[u>>2]|0;d=n<<1;l=re(d,t[s+16>>2]|0)|0;do{if(l){o=e+20|0;while(1){s=uM[t[(t[i>>2]|0)+32>>2]&63](i,t[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){h=26;break}else l=l-s|0}if((h|0)==26){s=t[u>>2]|0;break}h=v+56|0;u=v+4|0;t[v>>2]=36160;t[h>>2]=36180;w=0;ce(62,v+56|0,u|0);b=w;w=0;if(b&1){v=je()|0;nd(h);Qe(v|0)}t[v+128>>2]=0;t[v+132>>2]=-1;t[v>>2]=36200;t[v+56>>2]=36220;w=0;ue(180,u|0);b=w;w=0;do{if(b&1)s=je()|0;else{t[u>>2]=36236;i=v+36|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[v+52>>2]=16;t[_>>2]=0;t[_+4>>2]=0;t[_+8>>2]=0;w=0;ce(63,u|0,_|0);b=w;w=0;if(b&1){s=je()|0;xh(_);xh(i);cd(u);break}xh(_);w=0;s=_e(28,v|0,49029,57)|0;_=w;w=0;if(!(_&1)?(w=0,pe(36,s|0,0)|0,_=w,w=0,!(_&1)):0){o=Ue(16)|0;w=0;ce(64,m|0,u|0);_=w;w=0;if(!(_&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,o|0,3,35648,m|0);_=w;w=0;if(_&1)l=1;else{w=0;Ee(6,o|0,824,96);w=0;l=0}s=je()|0;xh(m);if(!l){m=s;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}}else s=je()|0;He(o|0);m=s;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}m=je()|0;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}}while(0);v=s;nd(h);Qe(v|0)}}while(0);l=e+20|0;if((t[s+28>>2]|0)!=536870912){v=t[l>>2]|0;xr(e,v,r,n,a);c=b;return}pr(t[l>>2]|0,re(d,t[s+16>>2]|0)|0);v=t[l>>2]|0;xr(e,v,r,n,a);c=b;return}function Br(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0;d=e+4|0;o=t[d>>2]|0;e:do{switch(t[o+16>>2]|0){case 3:{if((t[o+24>>2]|0)==2){if((a|0)<=0)break e;o=e+40|0;e=0;do{h=t[o>>2]|0;c=s[i+(e*6|0)+2>>1]<>1]<>>h&65535;n[r+(e*6|0)>>1]=((s[i+(e*6|0)>>1]<>>h;n[r+(e*6|0)+2>>1]=(c&65535)>>>h;n[r+(e*6|0)+4>>1]=l;e=e+1|0}while((e|0)!=(a|0))}else{u=(a|0)<(l|0)?a:l;if((u|0)<=0)break e;c=l<<1;o=e+40|0;e=0;do{b=t[o>>2]|0;_=s[i+(e+l<<1)>>1]<>1]<>>b&65535;n[r+(e*6|0)>>1]=((s[i+(e<<1)>>1]<>>b;n[r+(e*6|0)+2>>1]=(_&65535)>>>b;n[r+(e*6|0)+4>>1]=h;e=e+1|0}while((e|0)!=(u|0))}break}case 4:{if((t[o+24>>2]|0)==1?(h=(a|0)<(l|0)?a:l,(h|0)>0):0){c=l<<1;o=e+40|0;e=l*3|0;u=0;do{k=t[o>>2]|0;m=s[i+(u+l<<1)>>1]<>1]<>>k;b=(m+32768+(s[i+(u+c<<1)>>1]<>>k;w=n[i+(u+e<<1)>>1]|0;k=Sm((m&65535)>>>k&65535|0,0,16)|0;b=b|O;w=Sm(w&65535|0,0,48)|0;w=k|_&65535|w;b=b&65535|O;_=r+(u<<3)|0;k=_;n[k>>1]=w;n[k+2>>1]=w>>>16;_=_+4|0;n[_>>1]=b;n[_+2>>1]=b>>>16;u=u+1|0}while((u|0)!=(h|0))}break}default:{}}}while(0);o=t[d>>2]|0;if(!(f[o+32>>0]|0))return;u=t[o+16>>2]|0;if((a|0)<=0)return;o=r;e=0;while(1){m=o+4|0;w=n[o>>1]|0;n[o>>1]=n[m>>1]|0;n[m>>1]=w;e=e+1|0;if((e|0)==(a|0))break;else o=o+(u<<1)|0}return}function zr(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0;b=c;c=c+16|0;h=b;d=t[e>>2]|0;if(!d){e=0;c=b;return e|0}_=i;o=n-_|0;u=a+12|0;l=t[u>>2]|0;o=(l|0)>(o|0)?l-o|0:0;l=r;a=l-_|0;if((a|0)>0?(uM[t[(t[d>>2]|0)+48>>2]&63](d,i,a)|0)!=(a|0):0){t[e>>2]=0;_=0;c=b;return _|0}do{if((o|0)>0){Oh(h,o,s);w=0;a=_e(t[(t[d>>2]|0)+48>>2]|0,d|0,((f[h>>0]&1)==0?h+1|0:t[h+8>>2]|0)|0,o|0)|0;_=w;w=0;if(_&1){_=je()|0;xh(h);Qe(_|0)}if((a|0)==(o|0)){xh(h);break}t[e>>2]=0;xh(h);_=0;c=b;return _|0}}while(0);n=n-l|0;if((n|0)>0?(uM[t[(t[d>>2]|0)+48>>2]&63](d,r,n)|0)!=(n|0):0){t[e>>2]=0;_=0;c=b;return _|0}t[u>>2]=0;_=d;c=b;return _|0}function Dr(e){e=e|0;t[e>>2]=36236;xh(e+32|0);cd(e);return}function Nr(e){e=e|0;t[e>>2]=36236;xh(e+32|0);cd(e);Bp(e);return}function Fr(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0;l=i+44|0;o=t[l>>2]|0;c=i+24|0;h=t[c>>2]|0;if(o>>>0>>0){t[l>>2]=h;o=h}u=o;l=s&24;if(!l){i=e;t[i>>2]=0;t[i+4>>2]=0;i=e+8|0;t[i>>2]=-1;t[i+4>>2]=-1;return}if((a|0)==1&(l|0)==24){i=e;t[i>>2]=0;t[i+4>>2]=0;i=e+8|0;t[i>>2]=-1;t[i+4>>2]=-1;return}e:do{switch(a|0){case 0:{l=0;a=0;break}case 1:if(!(s&8)){a=h-(t[i+20>>2]|0)|0;l=a;a=((a|0)<0)<<31>>31;break e}else{a=(t[i+12>>2]|0)-(t[i+8>>2]|0)|0;l=a;a=((a|0)<0)<<31>>31;break e}case 2:{l=i+32|0;if(!(f[l>>0]&1))l=l+1|0;else l=t[i+40>>2]|0;a=o-l|0;l=a;a=((a|0)<0)<<31>>31;break}default:{i=e;t[i>>2]=0;t[i+4>>2]=0;i=e+8|0;t[i>>2]=-1;t[i+4>>2]=-1;return}}}while(0);a=Mm(l|0,a|0,r|0,n|0)|0;r=O;if((r|0)>=0){l=i+32|0;if(!(f[l>>0]&1))l=l+1|0;else l=t[i+40>>2]|0;n=o-l|0;o=((n|0)<0)<<31>>31;if(!((o|0)<(r|0)|(o|0)==(r|0)&n>>>0>>0)){l=s&8;if(!((a|0)==0&(r|0)==0)){if((l|0)!=0?(t[i+12>>2]|0)==0:0){i=e;t[i>>2]=0;t[i+4>>2]=0;i=e+8|0;t[i>>2]=-1;t[i+4>>2]=-1;return}if((s&16|0)!=0&(h|0)==0){i=e;t[i>>2]=0;t[i+4>>2]=0;i=e+8|0;t[i>>2]=-1;t[i+4>>2]=-1;return}}if(l){t[i+12>>2]=(t[i+8>>2]|0)+a;t[i+16>>2]=u}if(s&16)t[c>>2]=(t[i+20>>2]|0)+a;i=e;t[i>>2]=0;t[i+4>>2]=0;i=e+8|0;t[i>>2]=a;t[i+4>>2]=r;return}}i=e;t[i>>2]=0;t[i+4>>2]=0;i=e+8|0;t[i>>2]=-1;t[i+4>>2]=-1;return}function Hr(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;r=r+8|0;hM[t[(t[i>>2]|0)+16>>2]&15](e,i,t[r>>2]|0,t[r+4>>2]|0,0,f);return}function Ur(e){e=e|0;var i=0,r=0,f=0,n=0;i=e+44|0;r=t[i>>2]|0;f=t[e+24>>2]|0;if(r>>>0>>0){t[i>>2]=f;r=f}if(!(t[e+48>>2]&8)){e=-1;return e|0}n=e+16|0;i=t[n>>2]|0;f=e+12|0;if(i>>>0>>0){f=t[f>>2]|0;t[n>>2]=r;i=r}else f=t[f>>2]|0;if(f>>>0>=i>>>0){e=-1;return e|0}e=a[f>>0]|0;return e|0}function jr(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0;n=e+44|0;r=t[n>>2]|0;a=t[e+24>>2]|0;if(r>>>0>>0){t[n>>2]=a;r=a}o=e+8|0;n=t[o>>2]|0;u=e+12|0;s=t[u>>2]|0;l=n;if(n>>>0>=s>>>0){e=-1;return e|0}if((i|0)==-1){t[o>>2]=n;t[u>>2]=s+-1;t[e+16>>2]=r;e=0;return e|0}if(!(t[e+48>>2]&16)){a=i&255;n=s+-1|0;if(a<<24>>24!=(f[n>>0]|0)){e=-1;return e|0}}else{a=i&255;n=s+-1|0}t[o>>2]=l;t[u>>2]=n;t[e+16>>2]=r;f[n>>0]=a;e=i;return e|0}function Yr(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0;v=c;c=c+16|0;d=v;if((i|0)==-1){e=0;c=v;return e|0}b=e+12|0;_=e+8|0;k=(t[b>>2]|0)-(t[_>>2]|0)|0;m=e+24|0;r=t[m>>2]|0;h=e+28|0;n=t[h>>2]|0;do{if((r|0)==(n|0)){o=e+48|0;if(!(t[o>>2]&16)){e=-1;c=v;return e|0}u=e+20|0;l=t[u>>2]|0;a=r-l|0;s=e+44|0;l=(t[s>>2]|0)-l|0;n=e+32|0;w=0;ce(67,n|0,0);r=w;w=0;if(!(r&1)){if(!(f[n>>0]&1))r=10;else r=(t[n>>2]&-2)+-1|0;w=0;Ee(8,n|0,r|0,0);r=w;w=0;if(!(r&1)){r=f[n>>0]|0;if(!(r&1)){n=n+1|0;r=(r&255)>>>1}else{n=t[e+40>>2]|0;r=t[e+36>>2]|0}p=n+r|0;t[u>>2]=n;t[h>>2]=p;u=n+a|0;t[m>>2]=u;r=n+l|0;t[s>>2]=r;n=p;break}}p=je(0)|0;We(p|0)|0;Je();p=-1;c=v;return p|0}else{p=e+44|0;o=e+48|0;s=p;u=r;r=t[p>>2]|0}}while(0);l=u+1|0;t[d>>2]=l;a=t[(l>>>0>>0?s:d)>>2]|0;t[s>>2]=a;if(t[o>>2]&8){r=e+32|0;if(!(f[r>>0]&1))r=r+1|0;else r=t[e+40>>2]|0;t[_>>2]=r;t[b>>2]=r+k;t[e+16>>2]=a}if((u|0)==(n|0)){p=_M[t[(t[e>>2]|0)+52>>2]&63](e,i&255)|0;c=v;return p|0}else{t[m>>2]=l;f[u>>0]=i;p=i&255;c=v;return p|0}return 0}function qr(e){e=e|0;var i=0,r=0;t[e>>2]=36200;i=e+56|0;t[i>>2]=36220;r=e+4|0;t[r>>2]=36236;xh(e+36|0);cd(r);nd(i);return}function $r(e){e=e|0;var i=0,r=0;t[e>>2]=36200;i=e+56|0;t[i>>2]=36220;r=e+4|0;t[r>>2]=36236;xh(e+36|0);cd(r);nd(i);Bp(e);return}function Vr(e){e=e|0;var i=0,r=0,f=0,n=0;n=t[(t[e>>2]|0)+-12>>2]|0;i=e+n|0;t[i>>2]=36200;r=e+(n+56)|0;t[r>>2]=36220;f=e+(n+4)|0;t[f>>2]=36236;xh(e+(n+36)|0);cd(f);nd(r);Bp(i);return}function Xr(e){e=e|0;var i=0,r=0,f=0;t[e>>2]=36388;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}f=t[e+8>>2]|0;if(!f)return;i=e+12|0;r=t[i>>2]|0;if((r|0)!=(f|0))t[i>>2]=r+(~((r+-2-f|0)>>>1)<<1);Bp(f);return}function Gr(e){e=e|0;var i=0,r=0,f=0;t[e>>2]=36388;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}f=t[e+8>>2]|0;if(!f){Bp(e);return}i=e+12|0;r=t[i>>2]|0;if((r|0)!=(f|0))t[i>>2]=r+(~((r+-2-f|0)>>>1)<<1);Bp(f);Bp(e);return}function Kr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+36|0;if(!(t[a>>2]|0)){o=e+40|0;Qr(e,i,t[o>>2]|0,r,n);t[o>>2]=(t[o>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,t[(t[u>>2]|0)+16>>2]|0)|0;o=e+20|0;Qr(e,i,t[o>>2]|0,r,n);i=t[u>>2]|0;if((t[i+28>>2]|0)==536870912)pr(t[o>>2]|0,re(s,t[i+16>>2]|0)|0);u=t[a>>2]|0;if((uM[t[(t[u>>2]|0)+48>>2]&63](u,t[o>>2]|0,l)|0)==(l|0))return;i=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,i|0,3,35648);u=w;w=0;if(u&1){u=je()|0;He(i|0);Qe(u|0)}else bi(i|0,824,96)}function Wr(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=t[e+36>>2]|0;if(!n){n=e+40|0;Zr(e,t[n>>2]|0,i,r,f);t[n>>2]=(t[n>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}else{Jr(e,n,i,r,f);return}}function Zr(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0;c=e+4|0;o=t[c>>2]|0;do{if(!(f[o+32>>0]|0))h=i;else{e=e+8|0;Em(t[e>>2]|0,i|0,a*6|0)|0;o=t[c>>2]|0;u=t[o+16>>2]|0;if((a|0)<=0){h=t[e>>2]|0;break}e=t[e>>2]|0;o=e;i=0;while(1){h=o+4|0;d=n[o>>1]|0;n[o>>1]=n[h>>1]|0;n[h>>1]=d;i=i+1|0;if((i|0)==(a|0))break;else o=o+(u<<1)|0}h=e;o=t[c>>2]|0}}while(0);switch(t[o+16>>2]|0){case 3:{if((t[o+24>>2]|0)==2){if((a|0)>0)o=0;else return;do{c=s[h+(o*6|0)+2>>1]|0;l=32768-c+(s[h+(o*6|0)+4>>1]|0)|0;d=(s[h+(o*6|0)>>1]|0)-c+32768|0;n[r+(o*6|0)>>1]=c+49152+(((l&65535)+(d&65535)|0)>>>2);n[r+(o*6|0)+2>>1]=l;n[r+(o*6|0)+4>>1]=d;o=o+1|0}while((o|0)!=(a|0));return}o=(l|0)<(a|0)?l:a;if((o|0)<=0)return;e=l<<1;i=0;do{c=s[h+(i*6|0)+2>>1]|0;a=32768-c+(s[h+(i*6|0)+4>>1]|0)|0;d=(s[h+(i*6|0)>>1]|0)-c+32768|0;n[r+(i<<1)>>1]=c+49152+(((a&65535)+(d&65535)|0)>>>2);n[r+(i+l<<1)>>1]=a;n[r+(i+e<<1)>>1]=d;i=i+1|0}while((i|0)!=(o|0));return}case 4:{if((t[o+24>>2]|0)!=1)return;o=(l|0)<(a|0)?l:a;if((o|0)<=0)return;e=l<<1;i=l*3|0;u=0;do{d=n[h+(u<<3)+6>>1]|0;b=s[h+(u<<3)+2>>1]|0;c=32768-b+(s[h+(u<<3)+4>>1]|0)|0;a=(s[h+(u<<3)>>1]|0)-b+32768|0;n[r+(u<<1)>>1]=b+49152+(((c&65535)+(a&65535)|0)>>>2);n[r+(u+l<<1)>>1]=c;n[r+(u+e<<1)>>1]=a;n[r+(u+i<<1)>>1]=d;u=u+1|0}while((u|0)!=(o|0));return}default:return}}function Jr(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0;b=c;c=c+176|0;_=b+152|0;v=b+16|0;m=b;u=e+4|0;s=t[u>>2]|0;d=n<<1;l=re(d,t[s+16>>2]|0)|0;do{if(l){o=e+20|0;while(1){s=uM[t[(t[i>>2]|0)+32>>2]&63](i,t[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){h=26;break}else l=l-s|0}if((h|0)==26){s=t[u>>2]|0;break}h=v+56|0;u=v+4|0;t[v>>2]=36160;t[h>>2]=36180;w=0;ce(62,v+56|0,u|0);b=w;w=0;if(b&1){v=je()|0;nd(h);Qe(v|0)}t[v+128>>2]=0;t[v+132>>2]=-1;t[v>>2]=36200;t[v+56>>2]=36220;w=0;ue(180,u|0);b=w;w=0;do{if(b&1)s=je()|0;else{t[u>>2]=36236;i=v+36|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[v+52>>2]=16;t[_>>2]=0;t[_+4>>2]=0;t[_+8>>2]=0;w=0;ce(63,u|0,_|0);b=w;w=0;if(b&1){s=je()|0;xh(_);xh(i);cd(u);break}xh(_);w=0;s=_e(28,v|0,49029,57)|0;_=w;w=0;if(!(_&1)?(w=0,pe(36,s|0,0)|0,_=w,w=0,!(_&1)):0){o=Ue(16)|0;w=0;ce(64,m|0,u|0);_=w;w=0;if(!(_&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,o|0,3,35648,m|0);_=w;w=0;if(_&1)l=1;else{w=0;Ee(6,o|0,824,96);w=0;l=0}s=je()|0;xh(m);if(!l){m=s;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}}else s=je()|0;He(o|0);m=s;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}m=je()|0;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}}while(0);v=s;nd(h);Qe(v|0)}}while(0);l=e+20|0;if((t[s+28>>2]|0)!=536870912){v=t[l>>2]|0;Zr(e,v,r,n,a);c=b;return}pr(t[l>>2]|0,re(d,t[s+16>>2]|0)|0);v=t[l>>2]|0;Zr(e,v,r,n,a);c=b;return}function Qr(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0;h=e+4|0;e=t[h>>2]|0;e:do{switch(t[e+16>>2]|0){case 3:{if((t[e+24>>2]|0)==2){if((a|0)>0)e=0;else break e;while(1){c=s[i+(e*6|0)+2>>1]|0;u=s[i+(e*6|0)+4>>1]|0;l=(s[i+(e*6|0)>>1]|0)-((u+c|0)>>>2)+16384|0;n[r+(e*6|0)>>1]=u+32768+l;n[r+(e*6|0)+2>>1]=l;n[r+(e*6|0)+4>>1]=c+32768+l;e=e+1|0;if((e|0)==(a|0))break e}}e=(a|0)<(l|0)?a:l;if((e|0)>0){o=l<<1;u=0;do{d=s[i+(u+l<<1)>>1]|0;b=s[i+(u+o<<1)>>1]|0;c=(s[i+(u<<1)>>1]|0)-((b+d|0)>>>2)+16384|0;n[r+(u*6|0)>>1]=b+32768+c;n[r+(u*6|0)+2>>1]=c;n[r+(u*6|0)+4>>1]=d+32768+c;u=u+1|0}while((u|0)!=(e|0))}break}case 4:{if((t[e+24>>2]|0)==1?(c=(a|0)<(l|0)?a:l,(c|0)>0):0){e=l<<1;o=l*3|0;u=0;do{d=s[i+(u+l<<1)>>1]|0;_=s[i+(u+e<<1)>>1]|0;b=(s[i+(u<<1)>>1]|0)-((_+d|0)>>>2)+16384|0;k=n[i+(u+o<<1)>>1]|0;w=Sm(b&65535|0,0,16)|0;d=d+32768+b|O;k=Sm(k&65535|0,0,48)|0;k=w|_+32768+b&65535|k;d=d&65535|O;b=r+(u<<3)|0;_=b;n[_>>1]=k;n[_+2>>1]=k>>>16;b=b+4|0;n[b>>1]=d;n[b+2>>1]=d>>>16;u=u+1|0}while((u|0)!=(c|0))}break}default:{}}}while(0);e=t[h>>2]|0;if(!(f[e+32>>0]|0))return;u=t[e+16>>2]|0;if((a|0)<=0)return;e=r;o=0;while(1){w=e+4|0;k=n[e>>1]|0;n[e>>1]=n[w>>1]|0;n[w>>1]=k;o=o+1|0;if((o|0)==(a|0))break;else e=e+(u<<1)|0}return}function ef(e){e=e|0;var i=0,r=0,f=0;t[e>>2]=36412;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}f=t[e+8>>2]|0;if(!f)return;i=e+12|0;r=t[i>>2]|0;if((r|0)!=(f|0))t[i>>2]=r+(~((r+-2-f|0)>>>1)<<1);Bp(f);return}function rf(e){e=e|0;var i=0,r=0,f=0;t[e>>2]=36412;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}f=t[e+8>>2]|0;if(!f){Bp(e);return}i=e+12|0;r=t[i>>2]|0;if((r|0)!=(f|0))t[i>>2]=r+(~((r+-2-f|0)>>>1)<<1);Bp(f);Bp(e);return}function ff(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+36|0;if(!(t[a>>2]|0)){o=e+40|0;sf(e,i,t[o>>2]|0,r,n);t[o>>2]=(t[o>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,t[(t[u>>2]|0)+16>>2]|0)|0;o=e+20|0;sf(e,i,t[o>>2]|0,r,n);i=t[u>>2]|0;if((t[i+28>>2]|0)==536870912)pr(t[o>>2]|0,re(s,t[i+16>>2]|0)|0);u=t[a>>2]|0;if((uM[t[(t[u>>2]|0)+48>>2]&63](u,t[o>>2]|0,l)|0)==(l|0))return;i=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,i|0,3,35648);u=w;w=0;if(u&1){u=je()|0;He(i|0);Qe(u|0)}else bi(i|0,824,96)}function nf(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=t[e+36>>2]|0;if(!n){n=e+40|0;tf(e,t[n>>2]|0,i,r,f);t[n>>2]=(t[n>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}else{af(e,n,i,r,f);return}}function tf(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,_=0;c=e+4|0;o=t[c>>2]|0;do{if(!(f[o+32>>0]|0))h=i;else{e=e+8|0;Em(t[e>>2]|0,i|0,a*6|0)|0;o=t[c>>2]|0;u=t[o+16>>2]|0;if((a|0)<=0){h=t[e>>2]|0;break}e=t[e>>2]|0;o=e;i=0;while(1){h=o+4|0;d=n[o>>1]|0;n[o>>1]=n[h>>1]|0;n[h>>1]=d;i=i+1|0;if((i|0)==(a|0))break;else o=o+(u<<1)|0}h=e;o=t[c>>2]|0}}while(0);switch(t[o+16>>2]|0){case 3:{if((t[o+24>>2]|0)==2){if((a|0)>0)o=0;else return;do{u=s[h+(o*6|0)>>1]|0;l=n[h+(o*6|0)+2>>1]|0;c=l&65535;d=(s[h+(o*6|0)+4>>1]|0)+32768-((c+u|0)>>>1)&65535;n[r+(o*6|0)>>1]=u+32768-c;n[r+(o*6|0)+2>>1]=l;n[r+(o*6|0)+4>>1]=d;o=o+1|0}while((o|0)!=(a|0));return}o=(l|0)<(a|0)?l:a;if((o|0)<=0)return;e=l<<1;i=0;do{a=n[h+(i*6|0)+2>>1]|0;u=s[h+(i*6|0)>>1]|0;c=a&65535;d=(s[h+(i*6|0)+4>>1]|0)+32768-((c+u|0)>>>1)&65535;n[r+(i<<1)>>1]=u+32768-c;n[r+(i+l<<1)>>1]=a;n[r+(i+e<<1)>>1]=d;i=i+1|0}while((i|0)!=(o|0));return}case 4:{if((t[o+24>>2]|0)!=1)return;o=(l|0)<(a|0)?l:a;if((o|0)<=0)return;e=l<<1;i=l*3|0;u=0;do{c=n[h+(u<<3)+2>>1]|0;d=n[h+(u<<3)+6>>1]|0;_=s[h+(u<<3)>>1]|0;b=c&65535;a=(s[h+(u<<3)+4>>1]|0)+32768-((b+_|0)>>>1)&65535;n[r+(u<<1)>>1]=_+32768-b;n[r+(u+l<<1)>>1]=c;n[r+(u+e<<1)>>1]=a;n[r+(u+i<<1)>>1]=d;u=u+1|0}while((u|0)!=(o|0));return}default:return}}function af(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0;b=c;c=c+176|0;_=b+152|0;v=b+16|0;m=b;u=e+4|0;s=t[u>>2]|0;d=n<<1;l=re(d,t[s+16>>2]|0)|0;do{if(l){o=e+20|0;while(1){s=uM[t[(t[i>>2]|0)+32>>2]&63](i,t[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){h=26;break}else l=l-s|0}if((h|0)==26){s=t[u>>2]|0;break}h=v+56|0;u=v+4|0;t[v>>2]=36160;t[h>>2]=36180;w=0;ce(62,v+56|0,u|0);b=w;w=0;if(b&1){v=je()|0;nd(h);Qe(v|0)}t[v+128>>2]=0;t[v+132>>2]=-1;t[v>>2]=36200;t[v+56>>2]=36220;w=0;ue(180,u|0);b=w;w=0;do{if(b&1)s=je()|0;else{t[u>>2]=36236;i=v+36|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[v+52>>2]=16;t[_>>2]=0;t[_+4>>2]=0;t[_+8>>2]=0;w=0;ce(63,u|0,_|0);b=w;w=0;if(b&1){s=je()|0;xh(_);xh(i);cd(u);break}xh(_);w=0;s=_e(28,v|0,49029,57)|0;_=w;w=0;if(!(_&1)?(w=0,pe(36,s|0,0)|0,_=w,w=0,!(_&1)):0){o=Ue(16)|0;w=0;ce(64,m|0,u|0);_=w;w=0;if(!(_&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,o|0,3,35648,m|0);_=w;w=0;if(_&1)l=1;else{w=0;Ee(6,o|0,824,96);w=0;l=0}s=je()|0;xh(m);if(!l){m=s;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}}else s=je()|0;He(o|0);m=s;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}m=je()|0;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}}while(0);v=s;nd(h);Qe(v|0)}}while(0);l=e+20|0;if((t[s+28>>2]|0)!=536870912){v=t[l>>2]|0;tf(e,v,r,n,a);c=b;return}pr(t[l>>2]|0,re(d,t[s+16>>2]|0)|0);v=t[l>>2]|0;tf(e,v,r,n,a);c=b;return}function sf(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0;h=e+4|0;e=t[h>>2]|0;e:do{switch(t[e+16>>2]|0){case 3:{if((t[e+24>>2]|0)==2){if((a|0)>0)e=0;else break e;while(1){c=n[i+(e*6|0)+2>>1]|0;l=c&65535;u=(s[i+(e*6|0)>>1]|0)+32768+l|0;l=(s[i+(e*6|0)+4>>1]|0)+32768+(((u&65535)+l|0)>>>1)&65535;n[r+(e*6|0)>>1]=u;n[r+(e*6|0)+2>>1]=c;n[r+(e*6|0)+4>>1]=l;e=e+1|0;if((e|0)==(a|0))break e}}e=(a|0)<(l|0)?a:l;if((e|0)>0){o=l<<1;u=0;do{d=n[i+(u+l<<1)>>1]|0;c=d&65535;b=(s[i+(u<<1)>>1]|0)+32768+c|0;c=(s[i+(u+o<<1)>>1]|0)+32768+(((b&65535)+c|0)>>>1)&65535;n[r+(u*6|0)>>1]=b;n[r+(u*6|0)+2>>1]=d;n[r+(u*6|0)+4>>1]=c;u=u+1|0}while((u|0)!=(e|0))}break}case 4:{if((t[e+24>>2]|0)==1?(c=(a|0)<(l|0)?a:l,(c|0)>0):0){e=l<<1;o=l*3|0;u=0;do{b=n[i+(u+l<<1)>>1]|0;d=b&65535;_=(s[i+(u<<1)>>1]|0)+32768+d&65535;d=(s[i+(u+e<<1)>>1]|0)+32768+((_+d|0)>>>1)|0;k=n[i+(u+o<<1)>>1]|0;b=Sm(b&65535|0,0,16)|0;d=O|d;k=Sm(k&65535|0,0,48)|0;k=_|b|k;d=d&65535|O;b=r+(u<<3)|0;_=b;n[_>>1]=k;n[_+2>>1]=k>>>16;b=b+4|0;n[b>>1]=d;n[b+2>>1]=d>>>16;u=u+1|0}while((u|0)!=(c|0))}break}default:{}}}while(0);e=t[h>>2]|0;if(!(f[e+32>>0]|0))return;u=t[e+16>>2]|0;if((a|0)<=0)return;e=r;o=0;while(1){k=e+4|0;_=n[e>>1]|0;n[e>>1]=n[k>>1]|0;n[k>>1]=_;o=o+1|0;if((o|0)==(a|0))break;else e=e+(u<<1)|0}return}function lf(e){e=e|0;var i=0,r=0,f=0;t[e>>2]=36436;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}f=t[e+8>>2]|0;if(!f)return;i=e+12|0;r=t[i>>2]|0;if((r|0)!=(f|0))t[i>>2]=r+(~((r+-2-f|0)>>>1)<<1);Bp(f);return}function of(e){e=e|0;var i=0,r=0,f=0;t[e>>2]=36436;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}f=t[e+8>>2]|0;if(!f){Bp(e);return}i=e+12|0;r=t[i>>2]|0;if((r|0)!=(f|0))t[i>>2]=r+(~((r+-2-f|0)>>>1)<<1);Bp(f);Bp(e);return}function uf(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+36|0;if(!(t[a>>2]|0)){o=e+40|0;bf(e,i,t[o>>2]|0,r,n);t[o>>2]=(t[o>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,t[(t[u>>2]|0)+16>>2]|0)|0;o=e+20|0;bf(e,i,t[o>>2]|0,r,n);i=t[u>>2]|0;if((t[i+28>>2]|0)==536870912)pr(t[o>>2]|0,re(s,t[i+16>>2]|0)|0);u=t[a>>2]|0;if((uM[t[(t[u>>2]|0)+48>>2]&63](u,t[o>>2]|0,l)|0)==(l|0))return;i=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,i|0,3,35648);u=w;w=0;if(u&1){u=je()|0;He(i|0);Qe(u|0)}else bi(i|0,824,96)}function cf(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=t[e+36>>2]|0;if(!n){n=e+40|0;hf(e,t[n>>2]|0,i,r,f);t[n>>2]=(t[n>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}else{df(e,n,i,r,f);return}}function hf(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0;c=e+4|0;o=t[c>>2]|0;do{if(!(f[o+32>>0]|0))h=i;else{e=e+8|0;Em(t[e>>2]|0,i|0,a*6|0)|0;o=t[c>>2]|0;u=t[o+16>>2]|0;if((a|0)<=0){h=t[e>>2]|0;break}e=t[e>>2]|0;o=e;i=0;while(1){h=o+4|0;d=n[o>>1]|0;n[o>>1]=n[h>>1]|0;n[h>>1]=d;i=i+1|0;if((i|0)==(a|0))break;else o=o+(u<<1)|0}h=e;o=t[c>>2]|0}}while(0);switch(t[o+16>>2]|0){case 3:{if((t[o+24>>2]|0)==2){if((a|0)>0)o=0;else return;do{l=n[h+(o*6|0)+2>>1]|0;c=l&65535;d=32768-c+(s[h+(o*6|0)+4>>1]|0)&65535;n[r+(o*6|0)>>1]=(s[h+(o*6|0)>>1]|0)+32768-c;n[r+(o*6|0)+2>>1]=l;n[r+(o*6|0)+4>>1]=d;o=o+1|0}while((o|0)!=(a|0));return}o=(l|0)<(a|0)?l:a;if((o|0)<=0)return;e=l<<1;i=0;do{a=n[h+(i*6|0)+2>>1]|0;c=a&65535;d=32768-c+(s[h+(i*6|0)+4>>1]|0)&65535;n[r+(i<<1)>>1]=(s[h+(i*6|0)>>1]|0)+32768-c;n[r+(i+l<<1)>>1]=a;n[r+(i+e<<1)>>1]=d;i=i+1|0}while((i|0)!=(o|0));return}case 4:{if((t[o+24>>2]|0)!=1)return;o=(l|0)<(a|0)?l:a;if((o|0)<=0)return;e=l<<1;i=l*3|0;u=0;do{c=n[h+(u<<3)+2>>1]|0;d=n[h+(u<<3)+6>>1]|0;b=c&65535;a=32768-b+(s[h+(u<<3)+4>>1]|0)&65535;n[r+(u<<1)>>1]=(s[h+(u<<3)>>1]|0)+32768-b;n[r+(u+l<<1)>>1]=c;n[r+(u+e<<1)>>1]=a;n[r+(u+i<<1)>>1]=d;u=u+1|0}while((u|0)!=(o|0));return}default:return}}function df(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0;b=c;c=c+176|0;_=b+152|0;v=b+16|0;m=b;u=e+4|0;s=t[u>>2]|0;d=n<<1;l=re(d,t[s+16>>2]|0)|0;do{if(l){o=e+20|0;while(1){s=uM[t[(t[i>>2]|0)+32>>2]&63](i,t[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){h=26;break}else l=l-s|0}if((h|0)==26){s=t[u>>2]|0;break}h=v+56|0;u=v+4|0;t[v>>2]=36160;t[h>>2]=36180;w=0;ce(62,v+56|0,u|0);b=w;w=0;if(b&1){v=je()|0;nd(h);Qe(v|0)}t[v+128>>2]=0;t[v+132>>2]=-1;t[v>>2]=36200;t[v+56>>2]=36220;w=0;ue(180,u|0);b=w;w=0;do{if(b&1)s=je()|0;else{t[u>>2]=36236;i=v+36|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[v+52>>2]=16;t[_>>2]=0;t[_+4>>2]=0;t[_+8>>2]=0;w=0;ce(63,u|0,_|0);b=w;w=0;if(b&1){s=je()|0;xh(_);xh(i);cd(u);break}xh(_);w=0;s=_e(28,v|0,49029,57)|0;_=w;w=0;if(!(_&1)?(w=0,pe(36,s|0,0)|0,_=w,w=0,!(_&1)):0){o=Ue(16)|0;w=0;ce(64,m|0,u|0);_=w;w=0;if(!(_&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,o|0,3,35648,m|0);_=w;w=0;if(_&1)l=1;else{w=0;Ee(6,o|0,824,96);w=0;l=0}s=je()|0;xh(m);if(!l){m=s;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}}else s=je()|0;He(o|0);m=s;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}m=je()|0;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}}while(0);v=s;nd(h);Qe(v|0)}}while(0);l=e+20|0;if((t[s+28>>2]|0)!=536870912){v=t[l>>2]|0;hf(e,v,r,n,a);c=b;return}pr(t[l>>2]|0,re(d,t[s+16>>2]|0)|0);v=t[l>>2]|0;hf(e,v,r,n,a);c=b;return}function bf(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0;h=e+4|0;e=t[h>>2]|0;e:do{switch(t[e+16>>2]|0){case 3:{if((t[e+24>>2]|0)==2){if((a|0)>0)e=0;else break e;while(1){c=n[i+(e*6|0)+2>>1]|0;u=c&65535;l=u+32768+(s[i+(e*6|0)+4>>1]|0)&65535;n[r+(e*6|0)>>1]=(s[i+(e*6|0)>>1]|0)+32768+u;n[r+(e*6|0)+2>>1]=c;n[r+(e*6|0)+4>>1]=l;e=e+1|0;if((e|0)==(a|0))break e}}e=(a|0)<(l|0)?a:l;if((e|0)>0){o=l<<1;u=0;do{d=n[i+(u+l<<1)>>1]|0;b=d&65535;c=b+32768+(s[i+(u+o<<1)>>1]|0)&65535;n[r+(u*6|0)>>1]=(s[i+(u<<1)>>1]|0)+32768+b;n[r+(u*6|0)+2>>1]=d;n[r+(u*6|0)+4>>1]=c;u=u+1|0}while((u|0)!=(e|0))}break}case 4:{if((t[e+24>>2]|0)==1?(c=(a|0)<(l|0)?a:l,(c|0)>0):0){e=l<<1;o=l*3|0;u=0;do{b=n[i+(u+l<<1)>>1]|0;d=b&65535;_=(s[i+(u<<1)>>1]|0)+32768+d|0;d=d+32768+(s[i+(u+e<<1)>>1]|0)|0;k=n[i+(u+o<<1)>>1]|0;b=Sm(b&65535|0,0,16)|0;d=O|d;k=Sm(k&65535|0,0,48)|0;k=_&65535|b|k;d=d&65535|O;b=r+(u<<3)|0;_=b;n[_>>1]=k;n[_+2>>1]=k>>>16;b=b+4|0;n[b>>1]=d;n[b+2>>1]=d>>>16;u=u+1|0}while((u|0)!=(c|0))}break}default:{}}}while(0);e=t[h>>2]|0;if(!(f[e+32>>0]|0))return;u=t[e+16>>2]|0;if((a|0)<=0)return;e=r;o=0;while(1){k=e+4|0;_=n[e>>1]|0;n[e>>1]=n[k>>1]|0;n[k>>1]=_;o=o+1|0;if((o|0)==(a|0))break;else e=e+(u<<1)|0}return}function _f(e){e=e|0;var i=0,r=0,f=0;t[e>>2]=36460;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}f=t[e+8>>2]|0;if(!f)return;i=e+12|0;r=t[i>>2]|0;if((r|0)!=(f|0))t[i>>2]=r+(~((r+-2-f|0)>>>1)<<1);Bp(f);return}function kf(e){e=e|0;var i=0,r=0,f=0;t[e>>2]=36460;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}f=t[e+8>>2]|0;if(!f){Bp(e);return}i=e+12|0;r=t[i>>2]|0;if((r|0)!=(f|0))t[i>>2]=r+(~((r+-2-f|0)>>>1)<<1);Bp(f);Bp(e);return}function wf(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+36|0;if(!(t[a>>2]|0)){o=e+40|0;gf(e,i,t[o>>2]|0,r,n);t[o>>2]=(t[o>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,t[(t[u>>2]|0)+16>>2]|0)|0;o=e+20|0;gf(e,i,t[o>>2]|0,r,n);i=t[u>>2]|0;if((t[i+28>>2]|0)==536870912)pr(t[o>>2]|0,re(s,t[i+16>>2]|0)|0);u=t[a>>2]|0;if((uM[t[(t[u>>2]|0)+48>>2]&63](u,t[o>>2]|0,l)|0)==(l|0))return;i=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,i|0,3,35648);u=w;w=0;if(u&1){u=je()|0;He(i|0);Qe(u|0)}else bi(i|0,824,96)}function mf(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=t[e+36>>2]|0;if(!n){n=e+40|0;vf(e,t[n>>2]|0,i,r,f);t[n>>2]=(t[n>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}else{pf(e,n,i,r,f);return}}function vf(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0;u=e+4|0;l=t[u>>2]|0;do{if(!(f[l+32>>0]|0))c=i;else{e=e+8|0;Em(t[e>>2]|0,i|0,a*6|0)|0;l=t[u>>2]|0;o=t[l+16>>2]|0;if((a|0)<=0){c=t[e>>2]|0;break}e=t[e>>2]|0;l=e;i=0;while(1){c=l+4|0;h=n[l>>1]|0;n[l>>1]=n[c>>1]|0;n[c>>1]=h;i=i+1|0;if((i|0)==(a|0))break;else l=l+(o<<1)|0}c=e;l=t[u>>2]|0}}while(0);switch(t[l+16>>2]|0){case 3:{if((t[l+24>>2]|0)==2){if((a|0)>0)l=0;else return;do{s=n[c+(l*6|0)+2>>1]|0;h=n[c+(l*6|0)+4>>1]|0;n[r+(l*6|0)>>1]=n[c+(l*6|0)>>1]|0;n[r+(l*6|0)+2>>1]=s;n[r+(l*6|0)+4>>1]=h;l=l+1|0}while((l|0)!=(a|0));return}l=(s|0)<(a|0)?s:a;if((l|0)<=0)return;e=s<<1;i=0;do{a=n[c+(i*6|0)+2>>1]|0;h=n[c+(i*6|0)+4>>1]|0;n[r+(i<<1)>>1]=n[c+(i*6|0)>>1]|0;n[r+(i+s<<1)>>1]=a;n[r+(i+e<<1)>>1]=h;i=i+1|0}while((i|0)!=(l|0));return}case 4:{if((t[l+24>>2]|0)!=1)return;l=(s|0)<(a|0)?s:a;if((l|0)<=0)return;e=s<<1;i=s*3|0;o=0;do{u=n[c+(o<<3)+2>>1]|0;a=n[c+(o<<3)+4>>1]|0;h=n[c+(o<<3)+6>>1]|0;n[r+(o<<1)>>1]=n[c+(o<<3)>>1]|0;n[r+(o+s<<1)>>1]=u;n[r+(o+e<<1)>>1]=a;n[r+(o+i<<1)>>1]=h;o=o+1|0}while((o|0)!=(l|0));return}default:return}}function pf(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0;b=c;c=c+176|0;_=b+152|0;v=b+16|0;m=b;u=e+4|0;s=t[u>>2]|0;d=n<<1;l=re(d,t[s+16>>2]|0)|0;do{if(l){o=e+20|0;while(1){s=uM[t[(t[i>>2]|0)+32>>2]&63](i,t[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){h=26;break}else l=l-s|0}if((h|0)==26){s=t[u>>2]|0;break}h=v+56|0;u=v+4|0;t[v>>2]=36160;t[h>>2]=36180;w=0;ce(62,v+56|0,u|0);b=w;w=0;if(b&1){v=je()|0;nd(h);Qe(v|0)}t[v+128>>2]=0;t[v+132>>2]=-1;t[v>>2]=36200;t[v+56>>2]=36220;w=0;ue(180,u|0);b=w;w=0;do{if(b&1)s=je()|0;else{t[u>>2]=36236;i=v+36|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[v+52>>2]=16;t[_>>2]=0;t[_+4>>2]=0;t[_+8>>2]=0;w=0;ce(63,u|0,_|0);b=w;w=0;if(b&1){s=je()|0;xh(_);xh(i);cd(u);break}xh(_);w=0;s=_e(28,v|0,49029,57)|0;_=w;w=0;if(!(_&1)?(w=0,pe(36,s|0,0)|0,_=w,w=0,!(_&1)):0){o=Ue(16)|0;w=0;ce(64,m|0,u|0);_=w;w=0;if(!(_&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,o|0,3,35648,m|0);_=w;w=0;if(_&1)l=1;else{w=0;Ee(6,o|0,824,96);w=0;l=0}s=je()|0;xh(m);if(!l){m=s;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}}else s=je()|0;He(o|0);m=s;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}m=je()|0;t[v>>2]=36200;t[h>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(h);Qe(m|0)}}while(0);v=s;nd(h);Qe(v|0)}}while(0);l=e+20|0;if((t[s+28>>2]|0)!=536870912){v=t[l>>2]|0;vf(e,v,r,n,a);c=b;return}pr(t[l>>2]|0,re(d,t[s+16>>2]|0)|0);v=t[l>>2]|0;vf(e,v,r,n,a);c=b;return}function gf(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0;h=e+4|0;e=t[h>>2]|0;e:do{switch(t[e+16>>2]|0){case 3:{if((t[e+24>>2]|0)==2){if((a|0)>0)e=0;else break e;while(1){c=n[i+(e*6|0)+2>>1]|0;l=n[i+(e*6|0)+4>>1]|0;n[r+(e*6|0)>>1]=n[i+(e*6|0)>>1]|0;n[r+(e*6|0)+2>>1]=c;n[r+(e*6|0)+4>>1]=l;e=e+1|0;if((e|0)==(a|0))break e}}e=(a|0)<(l|0)?a:l;if((e|0)>0){o=l<<1;u=0;do{d=n[i+(u+l<<1)>>1]|0;c=n[i+(u+o<<1)>>1]|0;n[r+(u*6|0)>>1]=n[i+(u<<1)>>1]|0;n[r+(u*6|0)+2>>1]=d;n[r+(u*6|0)+4>>1]=c;u=u+1|0}while((u|0)!=(e|0))}break}case 4:{if((t[e+24>>2]|0)==1?(c=(a|0)<(l|0)?a:l,(c|0)>0):0){e=l<<1;o=l*3|0;u=0;do{d=n[i+(u<<1)>>1]|0;k=n[i+(u+o<<1)>>1]|0;b=s[i+(u+e<<1)>>1]|0;_=Sm(s[i+(u+l<<1)>>1]|0,0,16)|0;b=O|b;k=Sm(k&65535|0,0,48)|0;k=_|d&65535|k;b=b&65535|O;d=r+(u<<3)|0;_=d;n[_>>1]=k;n[_+2>>1]=k>>>16;d=d+4|0;n[d>>1]=b;n[d+2>>1]=b>>>16;u=u+1|0}while((u|0)!=(c|0))}break}default:{}}}while(0);e=t[h>>2]|0;if(!(f[e+32>>0]|0))return;u=t[e+16>>2]|0;if((a|0)<=0)return;e=r;o=0;while(1){k=e+4|0;_=n[e>>1]|0;n[e>>1]=n[k>>1]|0;n[k>>1]=_;o=o+1|0;if((o|0)==(a|0))break;else e=e+(u<<1)|0}return}function yf(e){e=e|0;return}function Mf(e){e=e|0;Bp(e);return}function Af(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;r=re(t[e+8>>2]|0,r)|0;e=t[e+4>>2]|0;if((uM[t[(t[e>>2]|0)+48>>2]&63](e,i,r)|0)==(r|0))return;n=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,n|0,3,35648);e=w;w=0;if(e&1){e=je()|0;He(n|0);Qe(e|0)}else bi(n|0,824,96)}function Ef(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0;d=c;c=c+16|0;h=d;u=e+8|0;a=t[u>>2]|0;n=re(a,r)|0;do{if(n){l=e+4|0;s=n;while(1){a=t[l>>2]|0;a=uM[t[(t[a>>2]|0)+32>>2]&63](a,i,s)|0;if(!a)break;n=s-a|0;if((s|0)==(a|0)){o=11;break}else s=n}if((o|0)==11){a=t[u>>2]|0;s=n;break}n=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,n|0,3,35648);e=w;w=0;if(e&1){e=je()|0;He(n|0);Qe(e|0)}else bi(n|0,824,96)}else s=0}while(0);if((a|0)==2){pr(i,r<<1);a=t[u>>2]|0}n=t[e+12>>2]|0;if((n|0)<=(re(a,r)|0)){c=d;return}e=t[e+4>>2]|0;hM[t[(t[e>>2]|0)+16>>2]&15](h,e,n-s|0,0,1,24);c=d;return}function Sf(e){e=e|0;Bp(e);return}function Tf(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;f=e+4|0;Em(t[f>>2]|0,i|0,re(t[e+8>>2]|0,r)|0)|0;t[f>>2]=(t[f>>2]|0)+(t[e+12>>2]|0);return}function Rf(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;f=e+4|0;Em(i|0,t[f>>2]|0,re(t[e+8>>2]|0,r)|0)|0;t[f>>2]=(t[f>>2]|0)+(t[e+12>>2]|0);return}function Cf(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0;t[e+112>>2]=0;t[e+108>>2]=0;c=t[i>>2]|0;a=c;do{if(c){l=e+92|0;c=e+96|0;o=t[c>>2]|0;u=t[l>>2]|0;r=u;n=o-r|0;if(n>>>0>=4e4)if(n>>>0>4e4?(s=u+4e4|0,(o|0)!=(s|0)):0){t[c>>2]=s;s=r}else s=r;else{Pf(l,4e4-n|0);s=t[l>>2]|0;a=t[i>>2]|0}r=e+116|0;t[r>>2]=s;o=e+124|0;t[o>>2]=s;u=e+104|0;t[u>>2]=a;n=a;if(a){if((t[n+12>>2]|0)==(t[n+16>>2]|0)){i=(lM[t[(t[a>>2]|0)+36>>2]&127](n)|0)==-1;n=t[o>>2]|0;if(i)break;a=t[r>>2]|0}else{n=s;a=s}l=n-a|0;if(l>>>0<=64){s=e+92|0;if((n|0)==(a|0))n=a;else{n=a;a=0;do{f[(t[s>>2]|0)+a>>0]=f[n+a>>0]|0;a=a+1|0;n=t[r>>2]|0}while(a>>>0>>0);a=t[o>>2]|0}s=t[s>>2]|0;i=s;h=i-n|0;t[r>>2]=s;n=a+h|0;t[o>>2]=n;s=e+120|0;t[s>>2]=(t[s>>2]|0)+h;u=t[u>>2]|0;n=uM[t[(t[u>>2]|0)+32>>2]&63](u,n,(t[c>>2]|0)-(i+l)|0)|0;n=(t[o>>2]|0)+n|0;t[o>>2]=n}}else n=s}else{t[e+104>>2]=0;n=t[i+4>>2]|0;r=e+116|0;t[r>>2]=n;n=n+(t[i+8>>2]|0)|0;t[e+124>>2]=n}}while(0);r=t[r>>2]|0;if(r>>>0>=n>>>0){c=r;h=e+120|0;t[h>>2]=c;Uf(e);return}while(1){if((f[r>>0]|0)==-1){n=20;break}r=r+1|0;if(r>>>0>=n>>>0){n=20;break}}if((n|0)==20){h=e+120|0;t[h>>2]=r;Uf(e);return}}function Pf(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0;u=e+8|0;a=t[u>>2]|0;c=e+4|0;r=t[c>>2]|0;n=r;if((a-n|0)>>>0>=i>>>0){do{f[r>>0]=0;r=(t[c>>2]|0)+1|0;t[c>>2]=r;i=i+-1|0}while((i|0)!=0);return}r=t[e>>2]|0;s=n-r+i|0;if((s|0)<0){Op(e);a=t[u>>2]|0;r=t[e>>2]|0}n=a-r|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?s:n;r=(t[c>>2]|0)-r|0;if(!n){a=0;l=0;s=r}else o=8}else{n=2147483647;r=(t[c>>2]|0)-r|0;o=8}if((o|0)==8){a=n;l=Lp(n)|0;s=r}r=l+s|0;a=l+a|0;n=r;do{f[n>>0]=0;n=r+1|0;r=n;i=i+-1|0}while((i|0)!=0);i=t[e>>2]|0;n=(t[c>>2]|0)-i|0;o=l+(s-n)|0;Em(o|0,i|0,n|0)|0;t[e>>2]=o;t[c>>2]=r;t[u>>2]=a;if(!i)return;Bp(i);return}function If(e){e=e|0;var i=0,r=0,f=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0;g=c;c=c+32|0;M=g+12|0;p=g;k=e+180|0;m=(t[k>>2]|0)+4|0;if((t[e+32>>2]|0)==1)v=t[e+24>>2]|0;else v=1;i=re(v<<1,m)|0;t[M>>2]=0;A=M+4|0;t[A>>2]=0;t[M+8>>2]=0;do{if(i){if(!((i|0)<0?(w=0,ue(178,M|0),y=w,w=0,y&1):0))l=6;if((l|0)==6?(r=i<<1,w=0,f=de(67,r|0)|0,y=w,w=0,!(y&1)):0){t[M>>2]=f;y=f+(i<<1)|0;t[M+8>>2]=y;ym(f|0,0,r|0)|0;t[A>>2]=y;break}f=je()|0;i=t[M>>2]|0;if(!i)Qe(f|0);r=t[A>>2]|0;if((r|0)!=(i|0))t[A>>2]=r+(~((r+-2-i|0)>>>1)<<1);Bp(i);Qe(f|0)}}while(0);t[p>>2]=0;y=p+4|0;t[y>>2]=0;t[p+8>>2]=0;do{if(!v)l=18;else{if(!(v>>>0>1073741823?(w=0,ue(178,p|0),_=w,w=0,_&1):0))l=16;if((l|0)==16?(a=v<<2,w=0,s=de(67,a|0)|0,_=w,w=0,!(_&1)):0){t[p>>2]=s;l=s+(v<<2)|0;t[p+8>>2]=l;ym(s|0,0,a|0)|0;t[y>>2]=l;l=18;break}f=je()|0;i=t[p>>2]|0;r=i;if(i){a=t[y>>2]|0;if((a|0)!=(i|0))t[y>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}}while(0);if((l|0)==18){s=e+12|0;e:do{if((t[s>>2]|0)>0){l=e+4604|0;o=(re(v,m)|0)+1|0;u=e+4608|0;h=e+92|0;d=(v|0)>0;b=e+4600|0;_=0;i:while(1){r=t[M>>2]|0;i=r+2|0;t[l>>2]=i;r=r+(o<<1)|0;t[u>>2]=r;if(!(_&1))i=r;else{t[l>>2]=r;t[u>>2]=i}a=t[h>>2]|0;w=0;Ce(t[(t[a>>2]|0)+12>>2]|0,a|0,i|0,t[k>>2]|0,m|0);a=w;w=0;if(a&1){l=28;break}if(d){i=t[l>>2]|0;r=t[u>>2]|0;f=t[p>>2]|0;a=0;do{t[b>>2]=t[f+(a<<2)>>2];f=t[k>>2]|0;n[i+(f<<1)>>1]=n[i+(f+-1<<1)>>1]|0;n[r+-2>>1]=n[i>>1]|0;w=0;ce(68,e|0,0);f=w;w=0;if(f&1){l=27;break i}f=t[p>>2]|0;t[f+(a<<2)>>2]=t[b>>2];i=(t[l>>2]|0)+(m<<1)|0;t[l>>2]=i;r=(t[u>>2]|0)+(m<<1)|0;t[u>>2]=r;a=a+1|0}while((a|0)<(v|0))}_=_+1|0;if((_|0)>=(t[s>>2]|0)){l=40;break e}}if((l|0)==27){f=je()|0;break}else if((l|0)==28){f=je()|0;break}}else l=40}while(0);do{if((l|0)==40){w=0;ue(182,e|0);e=w;w=0;if(e&1){f=je()|0;break}i=t[p>>2]|0;r=i;if(i){f=t[y>>2]|0;if((f|0)!=(i|0))t[y>>2]=f+(~((f+-4-r|0)>>>2)<<2);Bp(i)}i=t[M>>2]|0;if(!i){c=g;return}r=t[A>>2]|0;if((r|0)!=(i|0))t[A>>2]=r+(~((r+-2-i|0)>>>1)<<1);Bp(i);c=g;return}}while(0);i=t[p>>2]|0;r=i;if(i){a=t[y>>2]|0;if((a|0)!=(i|0))t[y>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}i=t[M>>2]|0;if(!i)Qe(f|0);r=t[A>>2]|0;if((r|0)!=(i|0))t[A>>2]=r+(~((r+-2-i|0)>>>1)<<1);Bp(i);Qe(f|0)}function Of(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0;_=e+4604|0;i=t[_>>2]|0;m=e+180|0;if((t[m>>2]|0)<=0)return;k=e+4608|0;w=e+4612|0;l=i;o=s[i+-2>>1]|0;i=s[i>>1]|0;b=0;while(1){d=t[k>>2]|0;h=s[d+(b+-1<<1)>>1]|0;a=b+1|0;r=s[l+(a<<1)>>1]|0;c=t[w>>2]|0;u=i-o|0;l=o-h|0;c=((((f[c+(r-i)>>0]|0)*9|0)+(f[c+u>>0]|0)|0)*9|0)+(f[c+l>>0]|0)|0;if(!c){a=(Df(e,b,0)|0)+b|0;r=t[_>>2]|0;i=s[r+(a+-1<<1)>>1]|0;r=s[r+(a<<1)>>1]|0}else{o=i-h>>31;if((o^l|0)<0)l=i;else l=h+((o^u|0)<0?0:u)|0;d=zf(e,c,s[d+(b<<1)>>1]|0,l,0)|0;n[(t[k>>2]|0)+(b<<1)>>1]=d}if((a|0)>=(t[m>>2]|0))break;l=t[_>>2]|0;o=i;i=r;b=a}return}function xf(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0;a=e+104|0;if((t[a>>2]|0)>>>0<4)Lf(e);s=e+100|0;l=e+112|0;o=e+96|0;u=e+108|0;c=e+116|0;i=t[s>>2]|0;n=0;do{r=f[l>>0]|0;if((i|0)>31)break;i=t[o>>2]|0;if(!(r<<24>>24)){f[t[u>>2]>>0]=i>>>24;t[o>>2]=t[o>>2]<<8;i=(t[s>>2]|0)+8|0}else{f[t[u>>2]>>0]=i>>>25;t[o>>2]=t[o>>2]<<7;i=(t[s>>2]|0)+7|0}t[s>>2]=i;h=t[u>>2]|0;r=(f[h>>0]|0)==-1&1;f[l>>0]=r;t[u>>2]=h+1;t[a>>2]=(t[a>>2]|0)+-1;t[c>>2]=(t[c>>2]|0)+1;n=n+1|0}while((n|0)<4);if(!(r<<24>>24))Bf(e,0,(i|0)%8|0);else Bf(e,0,(i+-1|0)%8|0);if((t[a>>2]|0)>>>0<4)Lf(e);i=t[s>>2]|0;r=0;do{if((i|0)>31)break;i=t[o>>2]|0;if(!(f[l>>0]|0)){f[t[u>>2]>>0]=i>>>24;t[o>>2]=t[o>>2]<<8;i=(t[s>>2]|0)+8|0}else{f[t[u>>2]>>0]=i>>>25;t[o>>2]=t[o>>2]<<7;i=(t[s>>2]|0)+7|0}t[s>>2]=i;h=t[u>>2]|0;f[l>>0]=(f[h>>0]|0)==-1&1;t[u>>2]=h+1;t[a>>2]=(t[a>>2]|0)+-1;t[c>>2]=(t[c>>2]|0)+1;r=r+1|0}while((r|0)<4);if(!(t[e+132>>2]|0))return;Lf(e);return}function Lf(e){e=e|0;var i=0,r=0,n=0,a=0,s=0;i=t[e+132>>2]|0;if(!i){i=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,i|0,4,35648);e=w;w=0;if(!(e&1))bi(i|0,824,96);e=je()|0;He(i|0);Qe(e|0)}r=e+108|0;n=e+120|0;s=t[n>>2]|0;a=(t[r>>2]|0)-s|0;if((uM[t[(t[i>>2]|0)+48>>2]&63](i,s,a)|0)==(a|0)){s=t[n>>2]|0;t[r>>2]=s;t[e+104>>2]=(t[e+124>>2]|0)-s;return}i=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,i|0,4,35648);s=w;w=0;if(!(s&1))bi(i|0,824,96);s=je()|0;He(i|0);Qe(s|0)}function Bf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;c=e+100|0;r=(t[c>>2]|0)-r|0;t[c>>2]=r;if((r|0)>-1){h=e+96|0;t[h>>2]=t[h>>2]|i<>2]=t[h>>2]|i>>0-r;u=e+104|0;if((t[u>>2]|0)>>>0<4){Lf(e);r=t[c>>2]|0}s=e+112|0;l=e+108|0;o=e+116|0;n=0;while(1){if((r|0)>31)break;r=t[h>>2]|0;if(!(f[s>>0]|0)){f[t[l>>2]>>0]=r>>>24;t[h>>2]=t[h>>2]<<8;r=(t[c>>2]|0)+8|0}else{f[t[l>>2]>>0]=r>>>25;t[h>>2]=t[h>>2]<<7;r=(t[c>>2]|0)+7|0}t[c>>2]=r;d=t[l>>2]|0;f[s>>0]=(f[d>>0]|0)==-1&1;t[l>>2]=d+1;t[u>>2]=(t[u>>2]|0)+-1;t[o>>2]=(t[o>>2]|0)+1;n=n+1|0;if((n|0)>=4){a=11;break}}e:do{if((a|0)==11)if((r|0)<0){t[h>>2]=t[h>>2]|i>>0-r;if((t[u>>2]|0)>>>0<4){Lf(e);r=t[c>>2]|0;n=0}else n=0;do{if((r|0)>31)break e;r=t[h>>2]|0;if(!(f[s>>0]|0)){f[t[l>>2]>>0]=r>>>24;t[h>>2]=t[h>>2]<<8;r=(t[c>>2]|0)+8|0}else{f[t[l>>2]>>0]=r>>>25;t[h>>2]=t[h>>2]<<7;r=(t[c>>2]|0)+7|0}t[c>>2]=r;d=t[l>>2]|0;f[s>>0]=(f[d>>0]|0)==-1&1;t[l>>2]=d+1;t[u>>2]=(t[u>>2]|0)+-1;t[o>>2]=(t[o>>2]|0)+1;n=n+1|0}while((n|0)<4)}}while(0);t[h>>2]=t[h>>2]|i<>31;s=(w^i)-w|0;_=e+196+(s*12|0)+10|0;l=n[_>>1]|0;b=e+196+(s*12|0)|0;a=t[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){i=5;while(1)if((l<>1]^w)-w+f|0;k=e+136|0;f=t[k>>2]|0;if((a&f|0)==(a|0))c=a;else c=f&~(a>>31);a=(r-c^w)-w|0;u=e+144|0;f=t[u>>2]|0;if((a|0)>0)a=(a+f|0)/(f<<1|1|0)|0;else a=(a-f|0)/(f<<1|1|0)|0;d=e+140|0;o=t[d>>2]|0;r=((a|0)<0?o:0)+a|0;o=r-((r|0)<((o+1|0)/2|0|0)?0:o)|0;s=e+196+(s*12|0)+4|0;if(!(f|i))a=(t[s>>2]<<1)+-1+l>>31;else a=0;f=a^o;Hf(e,i,f>>30^f<<1,t[e+156>>2]|0);f=t[e+160>>2]|0;i=(t[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;a=(t[s>>2]|0)+(re(t[u>>2]<<1|1,o)|0)|0;r=n[_>>1]|0;if((r|0)==(f|0)){i=i>>1;a=a>>1;r=f>>1}t[b>>2]=i;f=r+1|0;n[_>>1]=f;i=f+a|0;if((i|0)>=1){if((a|0)>0){a=a-f|0;_=n[h>>1]|0;n[h>>1]=(_<<16>>16<127&1)+(_&65535);a=(a|0)>0?0:a}}else{a=n[h>>1]|0;n[h>>1]=(a&65535)-(a<<16>>16>-128&1);a=(i|0)>(~r|0)?i:0-r|0}t[s>>2]=a;f=t[u>>2]|0;r=f<<1|1;i=(re(r,(o^w)-w|0)|0)+c|0;if((i|0)>=(0-f|0)){a=t[k>>2]|0;if((a+f|0)<(i|0))i=i-(re(t[d>>2]|0,r)|0)|0}else{i=(re(t[d>>2]|0,r)|0)+i|0;a=t[k>>2]|0}if((i&a|0)==(i|0)){w=i;w=w&65535;return w|0}w=a&~(i>>31);w=w&65535;return w|0}function Df(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0;c=(t[e+180>>2]|0)-i|0;h=t[e+4608>>2]|0;d=t[e+4604>>2]|0;a=n[h+(i+-1<<1)>>1]|0;u=a&65535;r=t[e+144>>2]|0;l=0;while(1){f=h+(l+i<<1)|0;o=(s[f>>1]|0)-u|0;if((((o|0)>-1?o:0-o|0)|0)>(r|0))break;n[f>>1]=a;l=l+1|0;if((l|0)==(c|0)){l=c;break}}a=(l|0)==(c|0);o=e+4600|0;f=t[36476+(t[o>>2]<<2)>>2]|0;if((1<(l|0))r=l;else{r=l;do{Bf(e,1,1);f=t[o>>2]|0;r=r-(1<>2])|0;f=(f|0)>30?31:f+1|0;t[o>>2]=f;f=t[36476+(f<<2)>>2]|0}while((r|0)>=(1<>1]=Nf(e,s[i>>1]|0,u,s[d+(c<<1)>>1]|0)|0;e=t[o>>2]|0;t[o>>2]=(e|0)<1?0:e+-1|0;e=l+1|0;return e|0}if(!r){e=c;return e|0}Bf(e,1,1);e=c;return e|0}function Nf(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0;l=r-f|0;o=e+136|0;s=e+144|0;n=t[s>>2]|0;if((((l|0)>-1?l:0-l|0)|0)>(n|0)){a=f-r>>31|1;i=re(a,i-f|0)|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=t[l>>2]|0;r=((i|0)<0?n:0)+i|0;n=r-((r|0)<((n+1|0)/2|0|0)?0:n)|0;Ff(e,e+4576|0,n);n=re(n,a)|0;a=t[s>>2]|0;s=a<<1|1;n=(re(n,s)|0)+f|0;if((n|0)>=(0-a|0)){i=t[o>>2]|0;if((i+a|0)<(n|0))n=n-(re(t[l>>2]|0,s)|0)|0}else{n=(re(t[l>>2]|0,s)|0)+n|0;i=t[o>>2]|0}if((n&i|0)==(n|0)){o=n;o=o&65535;return o|0}o=i&~(n>>31);o=o&65535;return o|0}else{i=i-r|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=t[l>>2]|0;a=((i|0)<0?n:0)+i|0;n=a-((a|0)<((n+1|0)/2|0|0)?0:n)|0;Ff(e,e+4588|0,n);a=t[s>>2]|0;s=a<<1|1;n=(re(s,n)|0)+r|0;if((n|0)>=(0-a|0)){i=t[o>>2]|0;if((i+a|0)<(n|0))n=n-(re(t[l>>2]|0,s)|0)|0}else{n=(re(t[l>>2]|0,s)|0)+n|0;i=t[o>>2]|0}if((n&i|0)==(n|0)){o=n;o=o&65535;return o|0}o=i&~(n>>31);o=o&65535;return o|0}return 0}function Ff(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i+9|0;o=a[d>>0]|0;h=i+4|0;c=t[h>>2]|0;s=(re(o>>>1,c)|0)+(t[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0));s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0>>0:0)n=1;else u=5;do{if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}}while(0);n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;Hf(e,s,n,(t[e+156>>2]|0)+-1-(t[36476+(t[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;f[e>>0]=(a[e>>0]|0)+1}n=(n+1-(t[h>>2]|0)>>1)+(t[i>>2]|0)|0;t[i>>2]=n;s=f[d>>0]|0;if(s<<24>>24!=(f[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;f[d>>0]=i;return}t[i>>2]=n>>1;e=(s&255)>>>1;f[d>>0]=e;i=i+10|0;f[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;f[d>>0]=i;return}function Hf(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0;n=r>>i;a=e+148|0;s=f-(t[a>>2]|0)|0;if((n|0)<(s+-1|0)){if((n|0)>30){f=(n|0)/2|0;Bf(e,0,f);n=n-f|0}Bf(e,1,n+1|0);Bf(e,(1<31){Bf(e,0,31);Bf(e,1,f+-31-(t[a>>2]|0)|0)}else Bf(e,1,s);i=t[a>>2]|0;Bf(e,(1<>2]|0;c=e+120|0;if(i>>>0<((t[c>>2]|0)+-3|0)>>>0){c=e+112|0;o=t[c>>2]|0;e=e+108|0;t[e>>2]=(a[i+1>>0]<<16|a[i>>0]<<24|a[i+2>>0]<<8|a[i+3>>0])>>>o|t[e>>2];e=32-o>>3;t[u>>2]=i+e;t[c>>2]=(e<<3)+o;return}o=e+104|0;r=t[o>>2]|0;do{if(r){if((t[r+12>>2]|0)==(t[r+16>>2]|0)){if((lM[t[(t[r>>2]|0)+36>>2]&127](r)|0)==-1)break;i=t[u>>2]|0}s=e+124|0;r=t[s>>2]|0;l=r-i|0;if(l>>>0<=64){n=e+92|0;if((r|0)==(i|0))r=i;else{r=0;do{f[(t[n>>2]|0)+r>>0]=f[i+r>>0]|0;r=r+1|0;i=t[u>>2]|0}while(r>>>0>>0);r=i;i=t[s>>2]|0}d=t[n>>2]|0;n=d;h=n-r|0;t[u>>2]=d;r=i+h|0;t[s>>2]=r;t[c>>2]=(t[c>>2]|0)+h;o=t[o>>2]|0;o=uM[t[(t[o>>2]|0)+32>>2]&63](o,r,(t[e+96>>2]|0)-(n+l)|0)|0;t[s>>2]=(t[s>>2]|0)+o}}}while(0);o=e+112|0;l=e+108|0;e=t[e+124>>2]|0;s=e+-1|0;i=t[u>>2]|0;while(1){if(i>>>0>=e>>>0){r=14;break}n=f[i>>0]|0;r=n&255;n=n<<24>>24==-1;if(n){if((i|0)==(s|0)){r=25;break}i=i+1|0;if((f[i>>0]|0)<0){r=25;break}}else i=i+1|0;d=t[o>>2]|0;t[l>>2]=r<<24-d|t[l>>2];t[u>>2]=i;d=d+(n?7:8)|0;t[o>>2]=d;if((d|0)>=24){r=33;break}}if((r|0)==14){if((t[o>>2]|0)>=1)return;i=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,i|0,5,35648);d=w;w=0;if(!(d&1))bi(i|0,824,96);d=je()|0;He(i|0);Qe(d|0)}else if((r|0)==25){if((t[o>>2]|0)>=1)return;i=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,i|0,5,35648);d=w;w=0;if(!(d&1))bi(i|0,824,96);d=je()|0;He(i|0);Qe(d|0)}else if((r|0)==33){e:do{if(i>>>0>>0)do{if((f[i>>0]|0)==-1)break e;i=i+1|0}while(i>>>0>>0)}while(0);t[c>>2]=i;return}}function jf(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0;_=c;c=c+32|0;n=_;b=e+144|0;e:do{if(!(t[b>>2]|0)){r=t[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<>2])+-1|0)?(op(n,r,0),(t[n+4>>2]|0)==(t[e+184>>2]|0)):0)?(t[n+8>>2]|0)==(t[e+188>>2]|0):0)?(t[n+12>>2]|0)==(t[e+192>>2]|0):0)switch(t[i>>2]|0){case 8:{b=t[8900]|0;t[e+4612>>2]=b+(((t[8901]|0)-b|0)>>>1);c=_;return}case 10:{b=t[8903]|0;t[e+4612>>2]=b+(((t[8904]|0)-b|0)>>>1);c=_;return}case 12:{b=t[8906]|0;t[e+4612>>2]=b+(((t[8907]|0)-b|0)>>>1);c=_;return}case 16:{b=t[8909]|0;t[e+4612>>2]=b+(((t[8910]|0)-b|0)>>>1);c=_;return}default:break e}}else i=e+152|0}while(0);d=1<>2];r=e+4616|0;n=d<<1;a=e+4620|0;s=t[a>>2]|0;i=t[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0>>0?(o=i+n|0,(s|0)!=(o|0)):0)t[a>>2]=o}else{Yf(r,n-l|0);i=t[r>>2]|0}h=e+4612|0;t[h>>2]=i+d;i=0-d|0;if((d|0)<=(i|0)){c=_;return}o=e+192|0;u=e+188|0;l=e+184|0;s=i;do{i=t[o>>2]|0;if((s|0)>(0-i|0)){r=t[u>>2]|0;if((s|0)>(0-r|0)){n=t[l>>2]|0;if((s|0)>(0-n|0)){a=t[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;f[(t[h>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(d|0));c=_;return}function Yf(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0;u=e+8|0;a=t[u>>2]|0;c=e+4|0;r=t[c>>2]|0;n=r;if((a-n|0)>>>0>=i>>>0){do{f[r>>0]=0;r=(t[c>>2]|0)+1|0;t[c>>2]=r;i=i+-1|0}while((i|0)!=0);return}r=t[e>>2]|0;s=n-r+i|0;if((s|0)<0){Op(e);a=t[u>>2]|0;r=t[e>>2]|0}n=a-r|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?s:n;r=(t[c>>2]|0)-r|0;if(!n){a=0;l=0;s=r}else o=8}else{n=2147483647;r=(t[c>>2]|0)-r|0;o=8}if((o|0)==8){a=n;l=Lp(n)|0;s=r}r=l+s|0;a=l+a|0;n=r;do{f[n>>0]=0;n=r+1|0;r=n;i=i+-1|0}while((i|0)!=0);i=t[e>>2]|0;n=(t[c>>2]|0)-i|0;o=l+(s-n)|0;Em(o|0,i|0,n|0)|0;t[e>>2]=o;t[c>>2]=r;t[u>>2]=a;if(!i)return;Bp(i);return}function qf(e){e=e|0;var i=0,r=0;t[e>>2]=36612;i=t[e+120>>2]|0;if(i){r=e+124|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+92|0;i=t[r>>2]|0;t[r>>2]=0;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=t[e>>2]|0;t[e>>2]=0;if(!i)return;tM[t[(t[i>>2]|0)+4>>2]&255](i);return}function $f(e){e=e|0;var i=0,r=0;t[e>>2]=36612;i=t[e+120>>2]|0;if(i){r=e+124|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+92|0;i=t[r>>2]|0;t[r>>2]=0;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=t[r>>2]|0;t[r>>2]=0;if(!i){Bp(e);return}tM[t[(t[i>>2]|0)+4>>2]&255](i);Bp(e);return}function Vf(e){e=e|0;var i=0,r=0;t[e>>2]=36052;i=t[e+4616>>2]|0;if(i){r=e+4620|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36612;i=t[e+120>>2]|0;if(i){r=e+124|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+92|0;i=t[r>>2]|0;t[r>>2]=0;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=t[e>>2]|0;t[e>>2]=0;if(!i)return;tM[t[(t[i>>2]|0)+4>>2]&255](i);return}function Xf(e){e=e|0;var i=0,r=0;t[e>>2]=36052;i=t[e+4616>>2]|0;if(i){r=e+4620|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36612;i=t[e+120>>2]|0;if(i){r=e+124|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+92|0;i=t[r>>2]|0;t[r>>2]=0;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=t[r>>2]|0;t[r>>2]=0;if(!i){Bp(e);return}tM[t[(t[i>>2]|0)+4>>2]&255](i);Bp(e);return}function Gf(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,h=0;o=c;c=c+32|0;h=o;op(h,t[e+136>>2]|0,t[e+144>>2]|0);u=t[i+4>>2]|0;l=t[i+8>>2]|0;l=(l|0)==0?t[h+8>>2]|0:l;s=t[i+12>>2]|0;s=(s|0)==0?t[h+12>>2]|0:s;r=t[i+16>>2]|0;a=t[h+16>>2]|0;t[e+184>>2]=(u|0)==0?t[h+4>>2]|0:u;t[e+188>>2]=l;t[e+192>>2]=s;tn(e);s=e+140|0;i=(t[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{t[e+196+(l*12|0)>>2]=i;t[e+196+(l*12|0)+4>>2]=0;n[e+196+(l*12|0)+8>>1]=0;n[e+196+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365);u=(t[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;h=((r|0)==0?a:r)&255;t[e+4576>>2]=u;t[e+4580>>2]=0;f[e+4584>>0]=h;f[e+4585>>0]=1;f[e+4586>>0]=0;t[e+4588>>2]=u;t[e+4592>>2]=1;f[e+4596>>0]=h;f[e+4597>>0]=1;f[e+4598>>0]=0;t[e+4600>>2]=0;c=o;return}function Kf(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+16|0;h=b;u=e+92|0;o=t[i>>2]|0;t[i>>2]=0;i=t[u>>2]|0;t[u>>2]=o;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);t[h>>2]=0;t[h+4>>2]=a;u=r+8|0;t[h+8>>2]=t[u>>2];if(a){i=Lp(4624)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{t[s>>2]=t[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));s=i+88|0;o=s+40|0;do{t[s>>2]=0;s=s+4|0}while((s|0)<(o|0));t[i>>2]=35828;t[i+128>>2]=t[e+136>>2];t[i+132>>2]=t[e+140>>2];t[i+136>>2]=t[e+144>>2];t[i+140>>2]=t[e+148>>2];t[i+144>>2]=t[e+152>>2];t[i+148>>2]=t[e+156>>2];t[i+152>>2]=t[e+160>>2];s=i+156|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[i+172>>2]=t[a>>2];t[i+176>>2]=0;t[i+180>>2]=0;t[i+184>>2]=0;s=i+4568|0;a=i+188|0;do{t[a>>2]=0;t[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0));l=e+4|0;t[s>>2]=0;t[s+4>>2]=0;n[s+8>>1]=0;f[s+10>>0]=0;o=i+4580|0;t[o>>2]=0;t[o+4>>2]=0;n[o+8>>1]=0;f[o+10>>0]=0;o=i+4592|0;t[o>>2]=0;t[o+4>>2]=0;t[o+8>>2]=0;t[o+12>>2]=0;t[o+16>>2]=0;t[o+20>>2]=0;t[o+24>>2]=0;f[o+28>>0]=0;if(!(t[i+28>>2]|0))t[i+20>>2]=1;a=t[l>>2]|0;t[l>>2]=i;if(a){tM[t[(t[a>>2]|0)+4>>2]&255](a);i=t[l>>2]|0}Cf(i,h)}h=e+100|0;t[h>>2]=32;t[e+96>>2]=0;i=t[r>>2]|0;if(!i){t[e+108>>2]=t[r+4>>2];t[e+104>>2]=t[u>>2];Zf(e);d=e+116|0;d=t[d>>2]|0;e=t[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}t[e+132>>2]=i;s=e+120|0;u=e+124|0;a=t[u>>2]|0;i=t[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(d=i+4e3|0,(a|0)!=(d|0)):0){t[u>>2]=d;a=d}}else{Pf(s,4e3-o|0);i=t[s>>2]|0;l=i;a=t[u>>2]|0}t[e+108>>2]=l;t[e+104>>2]=a-i;Zf(e);d=e+116|0;d=t[d>>2]|0;e=t[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}function Wf(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;y=c;c=c+352|0;M=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;_=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((t[e+32>>2]|0)!=0?(t[e+24>>2]|0)!=1:0){m=e+8|0;p=e+36|0;l=t[p>>2]|0;if(!l){e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[r>>0]|0;Ce(37,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}e=t[e+16>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[n>>0]|0;Ce(38,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[a>>0]|0;Ce(39,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[s>>0]|0;Ce(40,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=A+56|0;a=A+4|0;t[A>>2]=36160;t[l>>2]=36180;w=0;ce(62,A+56|0,a|0);y=w;w=0;if(y&1){E=je()|0;nd(l);Qe(E|0)}t[A+128>>2]=0;t[A+132>>2]=-1;t[A>>2]=36200;t[A+56>>2]=36220;w=0;ue(180,a|0);y=w;w=0;do{if(y&1)e=je()|0;else{t[a>>2]=36236;s=A+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[A+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);y=w;w=0;if(y&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,A|0,49007,21)|0;M=w;w=0;do{if((!(M&1)?(w=0,d=pe(36,e|0,t[p>>2]|0)|0,M=w,w=0,!(M&1)):0)?(w=0,_e(28,d|0,50997,18)|0,M=w,w=0,!(M&1)):0){n=Ue(16)|0;w=0;ce(64,_|0,a|0);M=w;w=0;if(!(M&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,_|0);M=w;w=0;if(M&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(_);if(!r)break}else e=je()|0;He(n|0)}else E=34}while(0);if((E|0)==34)e=je()|0;t[A>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}if((e|0)<=8){e=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,e|0,8,35648);E=w;w=0;if(!(E&1))bi(e|0,824,96);E=je()|0;He(e|0);Qe(E|0)}r=16-e|0;switch(l|0){case 1:{e=Lp(60)|0;t[o>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[o>>2];t[M+4>>2]=t[o+4>>2];Ce(41,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(60)|0;t[u>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[u>>2];t[M+4>>2]=t[u+4>>2];Ce(42,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(60)|0;t[h>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[h>>2];t[M+4>>2]=t[h+4>>2];Ce(43,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=g+56|0;a=g+4|0;t[g>>2]=36160;t[l>>2]=36180;w=0;ce(62,g+56|0,a|0);A=w;w=0;if(A&1){E=je()|0;nd(l);Qe(E|0)}t[g+128>>2]=0;t[g+132>>2]=-1;t[g>>2]=36200;t[g+56>>2]=36220;w=0;ue(180,a|0);A=w;w=0;do{if(A&1)e=je()|0;else{t[a>>2]=36236;s=g+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[g+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);A=w;w=0;if(A&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,g|0,49007,21)|0;A=w;w=0;do{if((!(A&1)?(w=0,b=pe(36,e|0,t[p>>2]|0)|0,A=w,w=0,!(A&1)):0)?(w=0,_e(28,b|0,50997,18)|0,A=w,w=0,!(A&1)):0){n=Ue(16)|0;w=0;ce(64,v|0,a|0);A=w;w=0;if(!(A&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,v|0);A=w;w=0;if(A&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(v);if(!r)break}else e=je()|0;He(n|0)}else E=64}while(0);if((E|0)==64)e=je()|0;t[g>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}}r=t[i+4>>2]|0;n=Lp(16)|0;e=t[e+20>>2]|0;if(!r){E=t[i>>2]|0;t[n>>2]=36132;t[n+4>>2]=E;t[n+8>>2]=6;t[n+12>>2]=e;E=n;c=y;return E|0}else{t[n>>2]=36108;t[n+4>>2]=r;t[n+8>>2]=6;t[n+12>>2]=e;E=n;c=y;return E|0}return 0}function Zf(e){e=e|0;var i=0,r=0,f=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0;p=c;c=c+32|0;y=p+12|0;v=p;_=e+180|0;k=(t[_>>2]|0)+4|0;if((t[e+32>>2]|0)==1)m=t[e+24>>2]|0;else m=1;i=re(m<<1,k)|0;t[y>>2]=0;M=y+4|0;t[M>>2]=0;t[y+8>>2]=0;do{if(i){if(!(i>>>0>715827882?(w=0,ue(178,y|0),g=w,w=0,g&1):0))l=6;if((l|0)==6?(w=0,r=de(67,i*6|0)|0,g=w,w=0,!(g&1)):0){t[M>>2]=r;t[y>>2]=r;f=r+(i*6|0)|0;t[y+8>>2]=f;while(1){n[r>>1]=0;n[r+2>>1]=0;n[r+4>>1]=0;i=i+-1|0;if(!i)break;else r=r+6|0}t[M>>2]=f;break}f=je()|0;i=t[y>>2]|0;if(!i)Qe(f|0);r=t[M>>2]|0;if((r|0)!=(i|0))t[M>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);Bp(i);Qe(f|0)}}while(0);t[v>>2]=0;g=v+4|0;t[g>>2]=0;t[v+8>>2]=0;do{if(!m)l=20;else{if(!(m>>>0>1073741823?(w=0,ue(178,v|0),b=w,w=0,b&1):0))l=18;if((l|0)==18?(a=m<<2,w=0,s=de(67,a|0)|0,b=w,w=0,!(b&1)):0){t[v>>2]=s;l=s+(m<<2)|0;t[v+8>>2]=l;ym(s|0,0,a|0)|0;t[g>>2]=l;l=20;break}f=je()|0;i=t[v>>2]|0;r=i;if(i){a=t[g>>2]|0;if((a|0)!=(i|0))t[g>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}}while(0);if((l|0)==20){a=e+12|0;e:do{if((t[a>>2]|0)>0){s=e+4604|0;l=(re(m,k)|0)+1|0;o=e+4608|0;u=e+92|0;h=(m|0)>0;d=e+4600|0;b=0;i:while(1){r=t[y>>2]|0;i=r+6|0;t[s>>2]=i;r=r+(l*6|0)|0;t[o>>2]=r;if(!(b&1))i=r;else{t[s>>2]=r;t[o>>2]=i}f=t[u>>2]|0;w=0;Ce(t[(t[f>>2]|0)+12>>2]|0,f|0,i|0,t[_>>2]|0,k|0);f=w;w=0;if(f&1){l=30;break}if(h){i=t[v>>2]|0;r=t[s>>2]|0;f=0;do{t[d>>2]=t[i+(f<<2)>>2];A=t[_>>2]|0;i=r+(A*6|0)|0;r=r+((A+-1|0)*6|0)|0;n[i>>1]=n[r>>1]|0;n[i+2>>1]=n[r+2>>1]|0;n[i+4>>1]=n[r+4>>1]|0;r=(t[o>>2]|0)+-6|0;i=t[s>>2]|0;n[r>>1]=n[i>>1]|0;n[r+2>>1]=n[i+2>>1]|0;n[r+4>>1]=n[i+4>>1]|0;w=0;ce(69,e|0,0);r=w;w=0;if(r&1){l=29;break i}i=t[v>>2]|0;t[i+(f<<2)>>2]=t[d>>2];r=(t[s>>2]|0)+(k*6|0)|0;t[s>>2]=r;t[o>>2]=(t[o>>2]|0)+(k*6|0);f=f+1|0}while((f|0)<(m|0))}b=b+1|0;if((b|0)>=(t[a>>2]|0)){l=42;break e}}if((l|0)==29){f=je()|0;break}else if((l|0)==30){f=je()|0;break}}else l=42}while(0);do{if((l|0)==42){w=0;ue(182,e|0);A=w;w=0;if(A&1){f=je()|0;break}i=t[v>>2]|0;r=i;if(i){f=t[g>>2]|0;if((f|0)!=(i|0))t[g>>2]=f+(~((f+-4-r|0)>>>2)<<2);Bp(i)}i=t[y>>2]|0;if(!i){c=p;return}r=t[M>>2]|0;if((r|0)!=(i|0))t[M>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);Bp(i);c=p;return}}while(0);i=t[v>>2]|0;r=i;if(i){a=t[g>>2]|0;if((a|0)!=(i|0))t[g>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}i=t[y>>2]|0;if(!i)Qe(f|0);r=t[M>>2]|0;if((r|0)!=(i|0))t[M>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);Bp(i);Qe(f|0)}function Jf(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0;T=e+180|0;if((t[T>>2]|0)<=0)return;R=e+4608|0;C=e+4604|0;P=e+4612|0;S=0;while(1){M=S+-1|0;o=t[R>>2]|0;u=t[C>>2]|0;i=S+1|0;l=s[u+(S*6|0)>>1]|0;E=t[P>>2]|0;c=s[u+(M*6|0)>>1]|0;h=l-c|0;d=s[o+(M*6|0)>>1]|0;b=c-d|0;_=((((f[E+((s[u+(i*6|0)>>1]|0)-l)>>0]|0)*9|0)+(f[E+h>>0]|0)|0)*9|0)+(f[E+b>>0]|0)|0;a=s[u+(S*6|0)+2>>1]|0;k=s[u+(M*6|0)+2>>1]|0;w=a-k|0;m=s[o+(M*6|0)+2>>1]|0;v=k-m|0;p=((((f[E+((s[u+(i*6|0)+2>>1]|0)-a)>>0]|0)*9|0)+(f[E+w>>0]|0)|0)*9|0)+(f[E+v>>0]|0)|0;r=s[u+(S*6|0)+4>>1]|0;g=s[u+(M*6|0)+4>>1]|0;y=r-g|0;M=s[o+(M*6|0)+4>>1]|0;A=g-M|0;E=((((f[E+((s[u+(i*6|0)+4>>1]|0)-r)>>0]|0)*9|0)+(f[E+y>>0]|0)|0)*9|0)+(f[E+A>>0]|0)|0;if(!(p|_|E))i=(Qf(e,S,0)|0)+S|0;else{u=s[o+(S*6|0)>>1]|0;o=l-d>>31;if((o^b|0)>=0)if((o^h|0)<0)l=d;else l=d-c+l|0;u=en(e,_,u,l,0)|0;o=s[(t[R>>2]|0)+(S*6|0)+2>>1]|0;l=a-m>>31;if((l^v|0)>=0)if((l^w|0)<0)a=m;else a=m-k+a|0;l=en(e,p,o,a,0)|0;o=s[(t[R>>2]|0)+(S*6|0)+4>>1]|0;a=r-M>>31;if((a^A|0)>=0)if((a^y|0)<0)r=M;else r=M-g+r|0;A=en(e,E,o,r,0)|0;E=t[R>>2]|0;n[E+(S*6|0)>>1]=u;n[E+(S*6|0)+2>>1]=l;n[E+(S*6|0)+4>>1]=A}if((i|0)<(t[T>>2]|0))S=i;else break}return}function Qf(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0;T=c;c=c+48|0;w=T+30|0;k=T+24|0;_=T+18|0;m=T+12|0;M=T+6|0;A=T;E=(t[e+180>>2]|0)-i|0;S=t[e+4608>>2]|0;v=t[e+4604>>2]|0;y=i+-1|0;p=n[S+(y*6|0)>>1]|0;g=n[S+(y*6|0)+2>>1]|0;y=n[S+(y*6|0)+4>>1]|0;r=p&65535;f=e+144|0;a=g&65535;l=y&65535;b=0;while(1){h=b+i|0;o=S+(h*6|0)|0;u=S+(h*6|0)+2|0;h=S+(h*6|0)+4|0;R=(s[o>>1]|0)-r|0;d=t[f>>2]|0;if((((R|0)>-1?R:0-R|0)|0)>(d|0))break;R=(s[u>>1]|0)-a|0;if((((R|0)>-1?R:0-R|0)|0)>(d|0))break;R=(s[h>>1]|0)-l|0;if((((R|0)>-1?R:0-R|0)|0)>(d|0))break;n[o>>1]=p;n[u>>1]=g;n[h>>1]=y;b=b+1|0;if((b|0)==(E|0)){b=E;break}}a=(b|0)==(E|0);l=e+4600|0;f=t[36476+(t[l>>2]<<2)>>2]|0;if((1<(b|0))r=b;else{r=b;do{Bf(e,1,1);f=t[l>>2]|0;r=r-(1<>2])|0;f=(f|0)>30?31:f+1|0;t[l>>2]=f;f=t[36476+(f<<2)>>2]|0}while((r|0)>=(1<>1]=n[R>>1]|0;n[M+2>>1]=n[R+2>>1]|0;n[M+4>>1]=n[R+4>>1]|0;n[A>>1]=p;n[A+2>>1]=g;n[A+4>>1]=y;i=v+(i*6|0)|0;n[_>>1]=n[M>>1]|0;n[_+2>>1]=n[M+2>>1]|0;n[_+4>>1]=n[M+4>>1]|0;n[k>>1]=n[A>>1]|0;n[k+2>>1]=n[A+2>>1]|0;n[k+4>>1]=n[A+4>>1]|0;n[w>>1]=n[i>>1]|0;n[w+2>>1]=n[i+2>>1]|0;n[w+4>>1]=n[i+4>>1]|0;fn(m,e,_,k,w);n[R>>1]=n[m>>1]|0;n[R+2>>1]=n[m+2>>1]|0;n[R+4>>1]=n[m+4>>1]|0;R=t[l>>2]|0;t[l>>2]=(R|0)<1?0:R+-1|0;R=b+1|0;c=T;return R|0}if(!r){R=E;c=T;return R|0}Bf(e,1,1);R=E;c=T;return R|0}function en(e,i,r,f,a){e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0;w=i>>31;s=(w^i)-w|0;_=e+196+(s*12|0)+10|0;l=n[_>>1]|0;b=e+196+(s*12|0)|0;a=t[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){i=5;while(1)if((l<>1]^w)-w+f|0;k=e+136|0;f=t[k>>2]|0;if((a&f|0)==(a|0))c=a;else c=f&~(a>>31);a=(r-c^w)-w|0;u=e+144|0;f=t[u>>2]|0;if((a|0)>0)a=(a+f|0)/(f<<1|1|0)|0;else a=(a-f|0)/(f<<1|1|0)|0;d=e+140|0;o=t[d>>2]|0;r=((a|0)<0?o:0)+a|0;o=r-((r|0)<((o+1|0)/2|0|0)?0:o)|0;s=e+196+(s*12|0)+4|0;if(!(f|i))a=(t[s>>2]<<1)+-1+l>>31;else a=0;f=a^o;rn(e,i,f>>30^f<<1,t[e+156>>2]|0);f=t[e+160>>2]|0;i=(t[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;a=(t[s>>2]|0)+(re(t[u>>2]<<1|1,o)|0)|0;r=n[_>>1]|0;if((r|0)==(f|0)){i=i>>1;a=a>>1;r=f>>1}t[b>>2]=i;f=r+1|0;n[_>>1]=f;i=f+a|0;if((i|0)>=1){if((a|0)>0){a=a-f|0;_=n[h>>1]|0;n[h>>1]=(_<<16>>16<127&1)+(_&65535);a=(a|0)>0?0:a}}else{a=n[h>>1]|0;n[h>>1]=(a&65535)-(a<<16>>16>-128&1);a=(i|0)>(~r|0)?i:0-r|0}t[s>>2]=a;f=t[u>>2]|0;r=f<<1|1;i=(re(r,(o^w)-w|0)|0)+c|0;if((i|0)>=(0-f|0)){a=t[k>>2]|0;if((a+f|0)<(i|0))i=i-(re(t[d>>2]|0,r)|0)|0}else{i=(re(t[d>>2]|0,r)|0)+i|0;a=t[k>>2]|0}if((i&a|0)==(i|0)){w=i;w=w&65535;return w|0}w=a&~(i>>31);w=w&65535;return w|0}function rn(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0;n=r>>i;a=e+148|0;s=f-(t[a>>2]|0)|0;if((n|0)<(s+-1|0)){if((n|0)>30){f=(n|0)/2|0;Bf(e,0,f);n=n-f|0}Bf(e,1,n+1|0);Bf(e,(1<31){Bf(e,0,31);Bf(e,1,f+-31-(t[a>>2]|0)|0)}else Bf(e,1,s);i=t[a>>2]|0;Bf(e,(1<>1]|0;_=b-(s[f>>1]|0)>>31|1;l=re(_,(s[r>>1]|0)-b|0)|0;h=i+144|0;o=t[h>>2]|0;if((l|0)>0)l=(l+o|0)/(o<<1|1|0)|0;else l=(l-o|0)/(o<<1|1|0)|0;y=i+140|0;c=t[y>>2]|0;u=((l|0)<0?c:0)+l|0;c=u-((u|0)<((c+1|0)/2|0|0)?0:c)|0;u=i+4576|0;nn(i,u,c);v=s[a+2>>1]|0;p=v-(s[f+2>>1]|0)>>31|1;l=re(p,(s[r+2>>1]|0)-v|0)|0;o=t[h>>2]|0;if((l|0)>0)l=(l+o|0)/(o<<1|1|0)|0;else l=(l-o|0)/(o<<1|1|0)|0;k=t[y>>2]|0;g=((l|0)<0?k:0)+l|0;k=g-((g|0)<((k+1|0)/2|0|0)?0:k)|0;nn(i,u,k);g=s[a+4>>1]|0;m=g-(s[f+4>>1]|0)>>31|1;l=re(m,(s[r+4>>1]|0)-g|0)|0;o=t[h>>2]|0;if((l|0)>0)l=(l+o|0)/(o<<1|1|0)|0;else l=(l-o|0)/(o<<1|1|0)|0;d=t[y>>2]|0;l=((l|0)<0?d:0)+l|0;d=l-((l|0)<((d+1|0)/2|0|0)?0:d)|0;nn(i,u,d);u=t[h>>2]|0;h=u<<1|1;l=(re(re(h,c)|0,_)|0)+b|0;r=0-u|0;if((l|0)>=(r|0)){o=t[w>>2]|0;if((o+u|0)<(l|0)){l=l-(re(t[y>>2]|0,h)|0)|0;f=o}else f=o}else{l=(re(t[y>>2]|0,h)|0)+l|0;f=t[w>>2]|0}if((l&f|0)!=(l|0))l=f&~(l>>31);a=l&65535;l=(re(re(h,k)|0,p)|0)+v|0;if((l|0)>=(r|0)){if((f+u|0)<(l|0))l=l-(re(t[y>>2]|0,h)|0)|0}else l=(re(t[y>>2]|0,h)|0)+l|0;if((l&f|0)!=(l|0))l=f&~(l>>31);o=l&65535;l=(re(re(h,d)|0,m)|0)+g|0;if((l|0)>=(r|0)){if((f+u|0)<(l|0))l=l-(re(t[y>>2]|0,h)|0)|0}else l=(re(t[y>>2]|0,h)|0)+l|0;if((l&f|0)==(l|0)){y=l;y=y&65535;n[e>>1]=a;g=e+2|0;n[g>>1]=o;e=e+4|0;n[e>>1]=y;return}y=f&~(l>>31);y=y&65535;n[e>>1]=a;g=e+2|0;n[g>>1]=o;e=e+4|0;n[e>>1]=y;return}function nn(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i+9|0;o=a[d>>0]|0;h=i+4|0;c=t[h>>2]|0;s=(re(o>>>1,c)|0)+(t[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0));s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0>>0:0)n=1;else u=5;do{if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}}while(0);n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;rn(e,s,n,(t[e+156>>2]|0)+-1-(t[36476+(t[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;f[e>>0]=(a[e>>0]|0)+1}n=(n+1-(t[h>>2]|0)>>1)+(t[i>>2]|0)|0;t[i>>2]=n;s=f[d>>0]|0;if(s<<24>>24!=(f[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;f[d>>0]=i;return}t[i>>2]=n>>1;e=(s&255)>>>1;f[d>>0]=e;i=i+10|0;f[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;f[d>>0]=i;return}function tn(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0;_=c;c=c+32|0;n=_;b=e+144|0;e:do{if(!(t[b>>2]|0)){r=t[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<>2])+-1|0)?(op(n,r,0),(t[n+4>>2]|0)==(t[e+184>>2]|0)):0)?(t[n+8>>2]|0)==(t[e+188>>2]|0):0)?(t[n+12>>2]|0)==(t[e+192>>2]|0):0)switch(t[i>>2]|0){case 8:{b=t[8900]|0;t[e+4612>>2]=b+(((t[8901]|0)-b|0)>>>1);c=_;return}case 10:{b=t[8903]|0;t[e+4612>>2]=b+(((t[8904]|0)-b|0)>>>1);c=_;return}case 12:{b=t[8906]|0;t[e+4612>>2]=b+(((t[8907]|0)-b|0)>>>1);c=_;return}case 16:{b=t[8909]|0;t[e+4612>>2]=b+(((t[8910]|0)-b|0)>>>1);c=_;return}default:break e}}else i=e+152|0}while(0);d=1<>2];r=e+4616|0;n=d<<1;a=e+4620|0;s=t[a>>2]|0;i=t[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0>>0?(o=i+n|0,(s|0)!=(o|0)):0)t[a>>2]=o}else{Yf(r,n-l|0);i=t[r>>2]|0}h=e+4612|0;t[h>>2]=i+d;i=0-d|0;if((d|0)<=(i|0)){c=_;return}o=e+192|0;u=e+188|0;l=e+184|0;s=i;do{i=t[o>>2]|0;if((s|0)>(0-i|0)){r=t[u>>2]|0;if((s|0)>(0-r|0)){n=t[l>>2]|0;if((s|0)>(0-n|0)){a=t[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;f[(t[h>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(d|0));c=_;return}function an(e){e=e|0;var i=0,r=0;t[e>>2]=36024;i=t[e+4616>>2]|0;if(i){r=e+4620|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36612;i=t[e+120>>2]|0;if(i){r=e+124|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+92|0;i=t[r>>2]|0;t[r>>2]=0;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=t[e>>2]|0;t[e>>2]=0;if(!i)return;tM[t[(t[i>>2]|0)+4>>2]&255](i);return}function sn(e){e=e|0;var i=0,r=0;t[e>>2]=36024;i=t[e+4616>>2]|0;if(i){r=e+4620|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36612;i=t[e+120>>2]|0;if(i){r=e+124|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+92|0;i=t[r>>2]|0;t[r>>2]=0;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=t[r>>2]|0;t[r>>2]=0;if(!i){Bp(e);return}tM[t[(t[i>>2]|0)+4>>2]&255](i);Bp(e);return}function ln(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,h=0;o=c;c=c+32|0;h=o;op(h,t[e+136>>2]|0,t[e+144>>2]|0);u=t[i+4>>2]|0;l=t[i+8>>2]|0;l=(l|0)==0?t[h+8>>2]|0:l;s=t[i+12>>2]|0;s=(s|0)==0?t[h+12>>2]|0:s;r=t[i+16>>2]|0;a=t[h+16>>2]|0;t[e+184>>2]=(u|0)==0?t[h+4>>2]|0:u;t[e+188>>2]=l;t[e+192>>2]=s;Wn(e);s=e+140|0;i=(t[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{t[e+196+(l*12|0)>>2]=i;t[e+196+(l*12|0)+4>>2]=0;n[e+196+(l*12|0)+8>>1]=0;n[e+196+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365);u=(t[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;h=((r|0)==0?a:r)&255;t[e+4576>>2]=u;t[e+4580>>2]=0;f[e+4584>>0]=h;f[e+4585>>0]=1;f[e+4586>>0]=0;t[e+4588>>2]=u;t[e+4592>>2]=1;f[e+4596>>0]=h;f[e+4597>>0]=1;f[e+4598>>0]=0;t[e+4600>>2]=0;c=o;return}function on(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+16|0;h=b;u=e+92|0;o=t[i>>2]|0;t[i>>2]=0;i=t[u>>2]|0;t[u>>2]=o;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);t[h>>2]=0;t[h+4>>2]=a;u=r+8|0;t[h+8>>2]=t[u>>2];if(a){i=Lp(4624)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{t[s>>2]=t[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));s=i+88|0;o=s+40|0;do{t[s>>2]=0;s=s+4|0}while((s|0)<(o|0));t[i>>2]=35800;t[i+128>>2]=t[e+136>>2];t[i+132>>2]=t[e+140>>2];t[i+136>>2]=t[e+144>>2];t[i+140>>2]=t[e+148>>2];t[i+144>>2]=t[e+152>>2];t[i+148>>2]=t[e+156>>2];t[i+152>>2]=t[e+160>>2];s=i+156|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[i+172>>2]=t[a>>2];t[i+176>>2]=0;t[i+180>>2]=0;t[i+184>>2]=0;s=i+4568|0;a=i+188|0;do{t[a>>2]=0;t[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0));l=e+4|0;t[s>>2]=0;t[s+4>>2]=0;n[s+8>>1]=0;f[s+10>>0]=0;o=i+4580|0;t[o>>2]=0;t[o+4>>2]=0;n[o+8>>1]=0;f[o+10>>0]=0;o=i+4592|0;t[o>>2]=0;t[o+4>>2]=0;t[o+8>>2]=0;t[o+12>>2]=0;t[o+16>>2]=0;t[o+20>>2]=0;t[o+24>>2]=0;f[o+28>>0]=0;if(!(t[i+28>>2]|0))t[i+20>>2]=1;a=t[l>>2]|0;t[l>>2]=i;if(a){tM[t[(t[a>>2]|0)+4>>2]&255](a);i=t[l>>2]|0}Cf(i,h)}h=e+100|0;t[h>>2]=32;t[e+96>>2]=0;i=t[r>>2]|0;if(!i){t[e+108>>2]=t[r+4>>2];t[e+104>>2]=t[u>>2];Yn(e);d=e+116|0;d=t[d>>2]|0;e=t[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}t[e+132>>2]=i;s=e+120|0;u=e+124|0;a=t[u>>2]|0;i=t[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(d=i+4e3|0,(a|0)!=(d|0)):0){t[u>>2]=d;a=d}}else{Pf(s,4e3-o|0);i=t[s>>2]|0;l=i;a=t[u>>2]|0}t[e+108>>2]=l;t[e+104>>2]=a-i;Yn(e);d=e+116|0;d=t[d>>2]|0;e=t[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}function un(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;y=c;c=c+352|0;M=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;_=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((t[e+32>>2]|0)!=0?(t[e+24>>2]|0)!=1:0){m=e+8|0;p=e+36|0;l=t[p>>2]|0;if(!l){e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[r>>0]|0;Ce(44,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}e=t[e+16>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[n>>0]|0;Ce(45,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[a>>0]|0;Ce(46,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[s>>0]|0;Ce(47,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=A+56|0;a=A+4|0;t[A>>2]=36160;t[l>>2]=36180;w=0;ce(62,A+56|0,a|0);y=w;w=0;if(y&1){E=je()|0;nd(l);Qe(E|0)}t[A+128>>2]=0;t[A+132>>2]=-1;t[A>>2]=36200;t[A+56>>2]=36220;w=0;ue(180,a|0);y=w;w=0;do{if(y&1)e=je()|0;else{t[a>>2]=36236;s=A+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[A+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);y=w;w=0;if(y&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,A|0,49007,21)|0;M=w;w=0;do{if((!(M&1)?(w=0,d=pe(36,e|0,t[p>>2]|0)|0,M=w,w=0,!(M&1)):0)?(w=0,_e(28,d|0,50997,18)|0,M=w,w=0,!(M&1)):0){n=Ue(16)|0;w=0;ce(64,_|0,a|0);M=w;w=0;if(!(M&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,_|0);M=w;w=0;if(M&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(_);if(!r)break}else e=je()|0;He(n|0)}else E=34}while(0);if((E|0)==34)e=je()|0;t[A>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}if((e|0)<=8){e=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,e|0,8,35648);E=w;w=0;if(!(E&1))bi(e|0,824,96);E=je()|0;He(e|0);Qe(E|0)}r=16-e|0;switch(l|0){case 1:{e=Lp(60)|0;t[o>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[o>>2];t[M+4>>2]=t[o+4>>2];Ce(41,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(60)|0;t[u>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[u>>2];t[M+4>>2]=t[u+4>>2];Ce(42,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(60)|0;t[h>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[h>>2];t[M+4>>2]=t[h+4>>2];Ce(43,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=g+56|0;a=g+4|0;t[g>>2]=36160;t[l>>2]=36180;w=0;ce(62,g+56|0,a|0);A=w;w=0;if(A&1){E=je()|0;nd(l);Qe(E|0)}t[g+128>>2]=0;t[g+132>>2]=-1;t[g>>2]=36200;t[g+56>>2]=36220;w=0;ue(180,a|0);A=w;w=0;do{if(A&1)e=je()|0;else{t[a>>2]=36236;s=g+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[g+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);A=w;w=0;if(A&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,g|0,49007,21)|0;A=w;w=0;do{if((!(A&1)?(w=0,b=pe(36,e|0,t[p>>2]|0)|0,A=w,w=0,!(A&1)):0)?(w=0,_e(28,b|0,50997,18)|0,A=w,w=0,!(A&1)):0){n=Ue(16)|0;w=0;ce(64,v|0,a|0);A=w;w=0;if(!(A&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,v|0);A=w;w=0;if(A&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(v);if(!r)break}else e=je()|0;He(n|0)}else E=64}while(0);if((E|0)==64)e=je()|0;t[g>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}}r=t[i+4>>2]|0;n=Lp(16)|0;e=t[e+20>>2]|0;if(!r){E=t[i>>2]|0;t[n>>2]=36132;t[n+4>>2]=E;t[n+8>>2]=3;t[n+12>>2]=e;E=n;c=y;return E|0}else{t[n>>2]=36108;t[n+4>>2]=r;t[n+8>>2]=3;t[n+12>>2]=e;E=n;c=y;return E|0}return 0}function cn(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;t[e>>2]=36712;t[e+4>>2]=r;h=e+8|0;n=t[r>>2]|0;u=r+16|0;l=t[u>>2]|0;s=re(l,n)|0;t[h>>2]=0;d=e+12|0;t[d>>2]=0;t[e+16>>2]=0;do{if(!s)s=l;else{if(!((s|0)<0?(w=0,ue(178,h|0),l=w,w=0,l&1):0))c=4;if((c|0)==4?(w=0,o=de(67,s|0)|0,l=w,w=0,!(l&1)):0){t[d>>2]=o;t[h>>2]=o;t[e+16>>2]=o+s;n=o;do{f[n>>0]=0;n=(t[d>>2]|0)+1|0;t[d>>2]=n;s=s+-1|0}while((s|0)!=0);s=t[u>>2]|0;n=t[r>>2]|0;break}n=je()|0;a=t[h>>2]|0;if(a){if((t[d>>2]|0)!=(a|0))t[d>>2]=a;Bp(a)}d=n;Qe(d|0)}}while(0);l=e+20|0;n=re(s,n)|0;t[l>>2]=0;s=e+24|0;t[s>>2]=0;t[e+28>>2]=0;if(!n){d=e+36|0;t[d>>2]=t[i>>2];t[d+4>>2]=t[i+4>>2];t[d+8>>2]=t[i+8>>2];return}if(!((n|0)<0?(w=0,ue(178,l|0),r=w,w=0,r&1):0))c=15;if((c|0)==15?(w=0,a=de(67,n|0)|0,c=w,w=0,!(c&1)):0){t[s>>2]=a;t[l>>2]=a;t[e+28>>2]=a+n;do{f[a>>0]=0;a=(t[s>>2]|0)+1|0;t[s>>2]=a;n=n+-1|0}while((n|0)!=0);d=e+36|0;t[d>>2]=t[i>>2];t[d+4>>2]=t[i+4>>2];t[d+8>>2]=t[i+8>>2];return}n=je()|0;a=t[l>>2]|0;if(a){if((t[s>>2]|0)!=(a|0))t[s>>2]=a;Bp(a)}a=t[h>>2]|0;if(!a){d=n;Qe(d|0)}if((t[d>>2]|0)!=(a|0))t[d>>2]=a;Bp(a);d=n;Qe(d|0)}function hn(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;t[e>>2]=36688;t[e+4>>2]=r;h=e+8|0;n=t[r>>2]|0;u=r+16|0;l=t[u>>2]|0;s=re(l,n)|0;t[h>>2]=0;d=e+12|0;t[d>>2]=0;t[e+16>>2]=0;do{if(!s)s=l;else{if(!((s|0)<0?(w=0,ue(178,h|0),l=w,w=0,l&1):0))c=4;if((c|0)==4?(w=0,o=de(67,s|0)|0,l=w,w=0,!(l&1)):0){t[d>>2]=o;t[h>>2]=o;t[e+16>>2]=o+s;n=o;do{f[n>>0]=0;n=(t[d>>2]|0)+1|0;t[d>>2]=n;s=s+-1|0}while((s|0)!=0);s=t[u>>2]|0;n=t[r>>2]|0;break}n=je()|0;a=t[h>>2]|0;if(a){if((t[d>>2]|0)!=(a|0))t[d>>2]=a;Bp(a)}d=n;Qe(d|0)}}while(0);l=e+20|0;n=re(s,n)|0;t[l>>2]=0;s=e+24|0;t[s>>2]=0;t[e+28>>2]=0;if(!n){d=e+36|0;t[d>>2]=t[i>>2];t[d+4>>2]=t[i+4>>2];t[d+8>>2]=t[i+8>>2];return}if(!((n|0)<0?(w=0,ue(178,l|0),r=w,w=0,r&1):0))c=15;if((c|0)==15?(w=0,a=de(67,n|0)|0,c=w,w=0,!(c&1)):0){t[s>>2]=a;t[l>>2]=a;t[e+28>>2]=a+n;do{f[a>>0]=0;a=(t[s>>2]|0)+1|0;t[s>>2]=a;n=n+-1|0}while((n|0)!=0);d=e+36|0;t[d>>2]=t[i>>2];t[d+4>>2]=t[i+4>>2];t[d+8>>2]=t[i+8>>2];return}n=je()|0;a=t[l>>2]|0;if(a){if((t[s>>2]|0)!=(a|0))t[s>>2]=a;Bp(a)}a=t[h>>2]|0;if(!a){d=n;Qe(d|0)}if((t[d>>2]|0)!=(a|0))t[d>>2]=a;Bp(a);d=n;Qe(d|0)}function dn(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;t[e>>2]=36664;t[e+4>>2]=r;h=e+8|0;n=t[r>>2]|0;u=r+16|0;l=t[u>>2]|0;s=re(l,n)|0;t[h>>2]=0;d=e+12|0;t[d>>2]=0;t[e+16>>2]=0;do{if(!s)s=l;else{if(!((s|0)<0?(w=0,ue(178,h|0),l=w,w=0,l&1):0))c=4;if((c|0)==4?(w=0,o=de(67,s|0)|0,l=w,w=0,!(l&1)):0){t[d>>2]=o;t[h>>2]=o;t[e+16>>2]=o+s;n=o;do{f[n>>0]=0;n=(t[d>>2]|0)+1|0;t[d>>2]=n;s=s+-1|0}while((s|0)!=0);s=t[u>>2]|0;n=t[r>>2]|0;break}n=je()|0;a=t[h>>2]|0;if(a){if((t[d>>2]|0)!=(a|0))t[d>>2]=a;Bp(a)}d=n;Qe(d|0)}}while(0);l=e+20|0;n=re(s,n)|0;t[l>>2]=0;s=e+24|0;t[s>>2]=0;t[e+28>>2]=0;if(!n){d=e+36|0;t[d>>2]=t[i>>2];t[d+4>>2]=t[i+4>>2];t[d+8>>2]=t[i+8>>2];return}if(!((n|0)<0?(w=0,ue(178,l|0),r=w,w=0,r&1):0))c=15;if((c|0)==15?(w=0,a=de(67,n|0)|0,c=w,w=0,!(c&1)):0){t[s>>2]=a;t[l>>2]=a;t[e+28>>2]=a+n;do{f[a>>0]=0;a=(t[s>>2]|0)+1|0;t[s>>2]=a;n=n+-1|0}while((n|0)!=0);d=e+36|0;t[d>>2]=t[i>>2];t[d+4>>2]=t[i+4>>2];t[d+8>>2]=t[i+8>>2];return}n=je()|0;a=t[l>>2]|0;if(a){if((t[s>>2]|0)!=(a|0))t[s>>2]=a;Bp(a)}a=t[h>>2]|0;if(!a){d=n;Qe(d|0)}if((t[d>>2]|0)!=(a|0))t[d>>2]=a;Bp(a);d=n;Qe(d|0)}function bn(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;t[e>>2]=36640;t[e+4>>2]=r;h=e+8|0;n=t[r>>2]|0;u=r+16|0;l=t[u>>2]|0;s=re(l,n)|0;t[h>>2]=0;d=e+12|0;t[d>>2]=0;t[e+16>>2]=0;do{if(!s)s=l;else{if(!((s|0)<0?(w=0,ue(178,h|0),l=w,w=0,l&1):0))c=4;if((c|0)==4?(w=0,o=de(67,s|0)|0,l=w,w=0,!(l&1)):0){t[d>>2]=o;t[h>>2]=o;t[e+16>>2]=o+s;n=o;do{f[n>>0]=0;n=(t[d>>2]|0)+1|0;t[d>>2]=n;s=s+-1|0}while((s|0)!=0);s=t[u>>2]|0;n=t[r>>2]|0;break}n=je()|0;a=t[h>>2]|0;if(a){if((t[d>>2]|0)!=(a|0))t[d>>2]=a;Bp(a)}d=n;Qe(d|0)}}while(0);l=e+20|0;n=re(s,n)|0;t[l>>2]=0;s=e+24|0;t[s>>2]=0;t[e+28>>2]=0;if(!n){d=e+36|0;t[d>>2]=t[i>>2];t[d+4>>2]=t[i+4>>2];t[d+8>>2]=t[i+8>>2];return}if(!((n|0)<0?(w=0,ue(178,l|0),r=w,w=0,r&1):0))c=15;if((c|0)==15?(w=0,a=de(67,n|0)|0,c=w,w=0,!(c&1)):0){t[s>>2]=a;t[l>>2]=a;t[e+28>>2]=a+n;do{f[a>>0]=0;a=(t[s>>2]|0)+1|0;t[s>>2]=a;n=n+-1|0}while((n|0)!=0);d=e+36|0;t[d>>2]=t[i>>2];t[d+4>>2]=t[i+4>>2];t[d+8>>2]=t[i+8>>2];return}n=je()|0;a=t[l>>2]|0;if(a){if((t[s>>2]|0)!=(a|0))t[s>>2]=a;Bp(a)}a=t[h>>2]|0;if(!a){d=n;Qe(d|0)}if((t[d>>2]|0)!=(a|0))t[d>>2]=a;Bp(a);d=n;Qe(d|0)}function _n(e){e=e|0;var i=0,r=0;t[e>>2]=36640;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=t[e+8>>2]|0;if(!r)return;i=e+12|0;if((t[i>>2]|0)!=(r|0))t[i>>2]=r;Bp(r);return}function kn(e){e=e|0;var i=0,r=0;t[e>>2]=36640;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}i=t[e+8>>2]|0;if(!i){Bp(e);return}r=e+12|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i);Bp(e);return}function wn(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0;a=e+36|0;if(!(t[a>>2]|0)){a=e+40|0;gn(e,i,t[a>>2]|0,r,n);t[a>>2]=(t[a>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}s=re(t[(t[e+4>>2]|0)+16>>2]|0,r)|0;l=e+20|0;gn(e,i,t[l>>2]|0,r,n);e=t[a>>2]|0;if((uM[t[(t[e>>2]|0)+48>>2]&63](e,t[l>>2]|0,s)|0)==(s|0))return;a=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,a|0,3,35648);l=w;w=0;if(l&1){l=je()|0;He(a|0);Qe(l|0)}else bi(a|0,824,96)}function mn(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=t[e+36>>2]|0;if(!n){n=e+40|0;vn(e,t[n>>2]|0,i,r,f);t[n>>2]=(t[n>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}else{pn(e,n,i,r,f);return}}function vn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0;u=e+4|0;l=t[u>>2]|0;if(!(f[l+32>>0]|0))u=i;else{o=e+8|0;Em(t[o>>2]|0,i|0,n*3|0)|0;l=t[u>>2]|0;i=t[l+16>>2]|0;if((n|0)>0){l=t[o>>2]|0;e=0;while(1){c=l+2|0;h=f[l>>0]|0;f[l>>0]=f[c>>0]|0;f[c>>0]=h;e=e+1|0;if((e|0)==(n|0))break;else l=l+i|0}l=t[u>>2]|0}u=t[o>>2]|0}switch(t[l+16>>2]|0){case 3:{if((t[l+24>>2]|0)==2){if((n|0)>0)l=0;else return;do{o=a[u+(l*3|0)+1>>0]|0;s=128-o+(a[u+(l*3|0)+2>>0]|0)|0;c=(a[u+(l*3|0)>>0]|0)-o+128|0;h=r+(l*3|0)|0;f[h>>0]=o+192+(((s&255)+(c&255)|0)>>>2);f[h+1>>0]=s;f[h+2>>0]=c;l=l+1|0}while((l|0)!=(n|0));return}l=(s|0)<(n|0)?s:n;if((l|0)<=0)return;e=s<<1;i=0;do{n=a[u+(i*3|0)+1>>0]|0;c=128-n+(a[u+(i*3|0)+2>>0]|0)|0;h=(a[u+(i*3|0)>>0]|0)-n+128|0;f[r+i>>0]=n+192+(((c&255)+(h&255)|0)>>>2);f[r+(i+s)>>0]=c;f[r+(i+e)>>0]=h;i=i+1|0}while((i|0)!=(l|0));return}case 4:{if((t[l+24>>2]|0)!=1)return;l=(s|0)<(n|0)?s:n;if((l|0)<=0)return;e=s<<1;i=s*3|0;o=0;do{h=f[u+(o<<2)+3>>0]|0;d=a[u+(o<<2)+1>>0]|0;n=128-d+(a[u+(o<<2)+2>>0]|0)|0;c=(a[u+(o<<2)>>0]|0)-d+128|0;f[r+o>>0]=d+192+(((n&255)+(c&255)|0)>>>2);f[r+(o+s)>>0]=n;f[r+(o+e)>>0]=c;f[r+(o+i)>>0]=h;o=o+1|0}while((o|0)!=(l|0));return}default:return}}function pn(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0;d=c;c=c+176|0;b=d+152|0;m=d+16|0;_=d;l=re(t[(t[e+4>>2]|0)+16>>2]|0,n)|0;u=e+20|0;s=t[u>>2]|0;if(!l){m=s;vn(e,m,r,n,a);c=d;return}while(1){o=uM[t[(t[i>>2]|0)+32>>2]&63](i,s,l)|0;if(!o)break;s=t[u>>2]|0;if((l|0)==(o|0)){h=26;break}else l=l-o|0}if((h|0)==26){vn(e,s,r,n,a);c=d;return}r=m+56|0;u=m+4|0;t[m>>2]=36160;t[r>>2]=36180;w=0;ce(62,m+56|0,u|0);d=w;w=0;if(d&1){m=je()|0;nd(r);Qe(m|0)}t[m+128>>2]=0;t[m+132>>2]=-1;t[m>>2]=36200;t[m+56>>2]=36220;w=0;ue(180,u|0);d=w;w=0;do{if(d&1)s=je()|0;else{t[u>>2]=36236;i=m+36|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[m+52>>2]=16;t[b>>2]=0;t[b+4>>2]=0;t[b+8>>2]=0;w=0;ce(63,u|0,b|0);d=w;w=0;if(d&1){s=je()|0;xh(b);xh(i);cd(u);break}xh(b);w=0;s=_e(28,m|0,49029,57)|0;b=w;w=0;if(!(b&1)?(w=0,pe(36,s|0,0)|0,b=w,w=0,!(b&1)):0){o=Ue(16)|0;w=0;ce(64,_|0,u|0);b=w;w=0;if(!(b&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,o|0,3,35648,_|0);b=w;w=0;if(b&1)l=1;else{w=0;Ee(6,o|0,824,96);w=0;l=0}s=je()|0;xh(_);if(!l){_=s;t[m>>2]=36200;t[r>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(r);Qe(_|0)}}else s=je()|0;He(o|0);_=s;t[m>>2]=36200;t[r>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(r);Qe(_|0)}_=je()|0;t[m>>2]=36200;t[r>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(r);Qe(_|0)}}while(0);m=s;nd(r);Qe(m|0)}function gn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0;c=e+4|0;e=t[c>>2]|0;e:do{switch(t[e+16>>2]|0){case 3:{if((t[e+24>>2]|0)==2){if((n|0)>0)e=0;else break e;while(1){o=a[i+(e*3|0)+1>>0]|0;l=a[i+(e*3|0)+2>>0]|0;u=(a[i+(e*3|0)>>0]|0)-((l+o|0)>>>2)+64|0;s=r+(e*3|0)|0;f[s>>0]=l+128+u;f[s+1>>0]=u;f[s+2>>0]=o+128+u;e=e+1|0;if((e|0)==(n|0))break e}}e=(n|0)<(s|0)?n:s;if((e|0)>0){l=s<<1;o=0;do{d=a[i+(o+s)>>0]|0;b=a[i+(o+l)>>0]|0;h=(a[i+o>>0]|0)-((b+d|0)>>>2)+64|0;u=r+(o*3|0)|0;f[u>>0]=b+128+h;f[u+1>>0]=h;f[u+2>>0]=d+128+h;o=o+1|0}while((o|0)!=(e|0))}break}case 4:{if((t[e+24>>2]|0)==1?(u=(n|0)<(s|0)?n:s,(u|0)>0):0){e=s<<1;l=s*3|0;o=0;do{h=a[i+(o+s)>>0]|0;_=a[i+(o+e)>>0]|0;d=(a[i+o>>0]|0)-((_+h|0)>>>2)+64|0;b=r+(o<<2)|0;d=d<<8&65280|a[i+(o+l)>>0]<<24|_+128+d&255|h+128+d<<16&16711680;f[b>>0]=d;f[b+1>>0]=d>>8;f[b+2>>0]=d>>16;f[b+3>>0]=d>>24;o=o+1|0}while((o|0)!=(u|0))}break}default:{}}}while(0);e=t[c>>2]|0;if(!(f[e+32>>0]|0))return;o=t[e+16>>2]|0;if((n|0)>0){e=r;l=0}else return;while(1){_=e+2|0;b=f[e>>0]|0;f[e>>0]=f[_>>0]|0;f[_>>0]=b;l=l+1|0;if((l|0)==(n|0))break;else e=e+o|0}return}function yn(e){e=e|0;var i=0,r=0;t[e>>2]=36664;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=t[e+8>>2]|0;if(!r)return;i=e+12|0;if((t[i>>2]|0)!=(r|0))t[i>>2]=r;Bp(r);return}function Mn(e){e=e|0;var i=0,r=0;t[e>>2]=36664;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}i=t[e+8>>2]|0;if(!i){Bp(e);return}r=e+12|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i);Bp(e);return}function An(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0;a=e+36|0;if(!(t[a>>2]|0)){a=e+40|0;Rn(e,i,t[a>>2]|0,r,n);t[a>>2]=(t[a>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}s=re(t[(t[e+4>>2]|0)+16>>2]|0,r)|0;l=e+20|0;Rn(e,i,t[l>>2]|0,r,n);e=t[a>>2]|0;if((uM[t[(t[e>>2]|0)+48>>2]&63](e,t[l>>2]|0,s)|0)==(s|0))return;a=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,a|0,3,35648);l=w;w=0;if(l&1){l=je()|0;He(a|0);Qe(l|0)}else bi(a|0,824,96)}function En(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=t[e+36>>2]|0;if(!n){n=e+40|0;Sn(e,t[n>>2]|0,i,r,f);t[n>>2]=(t[n>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}else{Tn(e,n,i,r,f);return}}function Sn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0;u=e+4|0;l=t[u>>2]|0;if(!(f[l+32>>0]|0))u=i;else{o=e+8|0;Em(t[o>>2]|0,i|0,n*3|0)|0;l=t[u>>2]|0;i=t[l+16>>2]|0;if((n|0)>0){l=t[o>>2]|0;e=0;while(1){c=l+2|0;h=f[l>>0]|0;f[l>>0]=f[c>>0]|0;f[c>>0]=h;e=e+1|0;if((e|0)==(n|0))break;else l=l+i|0}l=t[u>>2]|0}u=t[o>>2]|0}switch(t[l+16>>2]|0){case 3:{if((t[l+24>>2]|0)==2){if((n|0)>0)l=0;else return;do{i=a[u+(l*3|0)>>0]|0;s=f[u+(l*3|0)+1>>0]|0;o=s&255;c=(a[u+(l*3|0)+2>>0]|0)+128-((o+i|0)>>>1)&255;h=r+(l*3|0)|0;f[h>>0]=i+128-o;f[h+1>>0]=s;f[h+2>>0]=c;l=l+1|0}while((l|0)!=(n|0));return}l=(s|0)<(n|0)?s:n;if((l|0)<=0)return;e=s<<1;i=0;do{c=f[u+(i*3|0)+1>>0]|0;o=a[u+(i*3|0)>>0]|0;n=c&255;h=(a[u+(i*3|0)+2>>0]|0)+128-((n+o|0)>>>1)&255;f[r+i>>0]=o+128-n;f[r+(i+s)>>0]=c;f[r+(i+e)>>0]=h;i=i+1|0}while((i|0)!=(l|0));return}case 4:{if((t[l+24>>2]|0)!=1)return;l=(s|0)<(n|0)?s:n;if((l|0)<=0)return;e=s<<1;i=s*3|0;o=0;do{n=f[u+(o<<2)+1>>0]|0;h=f[u+(o<<2)+3>>0]|0;b=a[u+(o<<2)>>0]|0;d=n&255;c=(a[u+(o<<2)+2>>0]|0)+128-((d+b|0)>>>1)&255;f[r+o>>0]=b+128-d;f[r+(o+s)>>0]=n;f[r+(o+e)>>0]=c;f[r+(o+i)>>0]=h;o=o+1|0}while((o|0)!=(l|0));return}default:return}}function Tn(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0;d=c;c=c+176|0;b=d+152|0;m=d+16|0;_=d;l=re(t[(t[e+4>>2]|0)+16>>2]|0,n)|0;u=e+20|0;s=t[u>>2]|0;if(!l){m=s;Sn(e,m,r,n,a);c=d;return}while(1){o=uM[t[(t[i>>2]|0)+32>>2]&63](i,s,l)|0;if(!o)break;s=t[u>>2]|0;if((l|0)==(o|0)){h=26;break}else l=l-o|0}if((h|0)==26){Sn(e,s,r,n,a);c=d;return}r=m+56|0;u=m+4|0;t[m>>2]=36160;t[r>>2]=36180;w=0;ce(62,m+56|0,u|0);d=w;w=0;if(d&1){m=je()|0;nd(r);Qe(m|0)}t[m+128>>2]=0;t[m+132>>2]=-1;t[m>>2]=36200;t[m+56>>2]=36220;w=0;ue(180,u|0);d=w;w=0;do{if(d&1)s=je()|0;else{t[u>>2]=36236;i=m+36|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[m+52>>2]=16;t[b>>2]=0;t[b+4>>2]=0;t[b+8>>2]=0;w=0;ce(63,u|0,b|0);d=w;w=0;if(d&1){s=je()|0;xh(b);xh(i);cd(u);break}xh(b);w=0;s=_e(28,m|0,49029,57)|0;b=w;w=0;if(!(b&1)?(w=0,pe(36,s|0,0)|0,b=w,w=0,!(b&1)):0){o=Ue(16)|0;w=0;ce(64,_|0,u|0);b=w;w=0;if(!(b&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,o|0,3,35648,_|0);b=w;w=0;if(b&1)l=1;else{w=0;Ee(6,o|0,824,96);w=0;l=0}s=je()|0;xh(_);if(!l){_=s;t[m>>2]=36200;t[r>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(r);Qe(_|0)}}else s=je()|0;He(o|0);_=s;t[m>>2]=36200;t[r>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(r);Qe(_|0)}_=je()|0;t[m>>2]=36200;t[r>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(r);Qe(_|0)}}while(0);m=s;nd(r);Qe(m|0)}function Rn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0;c=e+4|0;e=t[c>>2]|0;e:do{switch(t[e+16>>2]|0){case 3:{if((t[e+24>>2]|0)==2){if((n|0)>0)e=0;else break e;while(1){o=f[i+(e*3|0)+1>>0]|0;u=o&255;l=(a[i+(e*3|0)>>0]|0)+128+u|0;u=(a[i+(e*3|0)+2>>0]|0)+128+(((l&255)+u|0)>>>1)&255;s=r+(e*3|0)|0;f[s>>0]=l;f[s+1>>0]=o;f[s+2>>0]=u;e=e+1|0;if((e|0)==(n|0))break e}}e=(n|0)<(s|0)?n:s;if((e|0)>0){l=s<<1;o=0;do{d=f[i+(o+s)>>0]|0;h=d&255;b=(a[i+o>>0]|0)+128+h|0;h=(a[i+(o+l)>>0]|0)+128+(((b&255)+h|0)>>>1)&255;u=r+(o*3|0)|0;f[u>>0]=b;f[u+1>>0]=d;f[u+2>>0]=h;o=o+1|0}while((o|0)!=(e|0))}break}case 4:{if((t[e+24>>2]|0)==1?(u=(n|0)<(s|0)?n:s,(u|0)>0):0){e=s<<1;l=s*3|0;o=0;do{d=a[i+(o+s)>>0]|0;h=(a[i+o>>0]|0)+128+d&255;b=r+(o<<2)|0;d=h|d<<8|a[i+(o+l)>>0]<<24|(a[i+(o+e)>>0]|0)+128+((h+d|0)>>>1)<<16&16711680;f[b>>0]=d;f[b+1>>0]=d>>8;f[b+2>>0]=d>>16;f[b+3>>0]=d>>24;o=o+1|0}while((o|0)!=(u|0))}break}default:{}}}while(0);e=t[c>>2]|0;if(!(f[e+32>>0]|0))return;o=t[e+16>>2]|0;if((n|0)>0){e=r;l=0}else return;while(1){b=e+2|0;d=f[e>>0]|0;f[e>>0]=f[b>>0]|0;f[b>>0]=d;l=l+1|0;if((l|0)==(n|0))break;else e=e+o|0}return}function Cn(e){e=e|0;var i=0,r=0;t[e>>2]=36688;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=t[e+8>>2]|0;if(!r)return;i=e+12|0;if((t[i>>2]|0)!=(r|0))t[i>>2]=r;Bp(r);return}function Pn(e){e=e|0;var i=0,r=0;t[e>>2]=36688;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}i=t[e+8>>2]|0;if(!i){Bp(e);return}r=e+12|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i);Bp(e);return}function In(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0;a=e+36|0;if(!(t[a>>2]|0)){a=e+40|0;Bn(e,i,t[a>>2]|0,r,n);t[a>>2]=(t[a>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}s=re(t[(t[e+4>>2]|0)+16>>2]|0,r)|0;l=e+20|0;Bn(e,i,t[l>>2]|0,r,n);e=t[a>>2]|0;if((uM[t[(t[e>>2]|0)+48>>2]&63](e,t[l>>2]|0,s)|0)==(s|0))return;a=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,a|0,3,35648);l=w;w=0;if(l&1){l=je()|0;He(a|0);Qe(l|0)}else bi(a|0,824,96)}function On(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=t[e+36>>2]|0;if(!n){n=e+40|0;xn(e,t[n>>2]|0,i,r,f);t[n>>2]=(t[n>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}else{Ln(e,n,i,r,f);return}}function xn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0;u=e+4|0;l=t[u>>2]|0;if(!(f[l+32>>0]|0))u=i;else{o=e+8|0;Em(t[o>>2]|0,i|0,n*3|0)|0;l=t[u>>2]|0;i=t[l+16>>2]|0;if((n|0)>0){l=t[o>>2]|0;e=0;while(1){c=l+2|0;h=f[l>>0]|0;f[l>>0]=f[c>>0]|0;f[c>>0]=h;e=e+1|0;if((e|0)==(n|0))break;else l=l+i|0}l=t[u>>2]|0}u=t[o>>2]|0}switch(t[l+16>>2]|0){case 3:{if((t[l+24>>2]|0)==2){if((n|0)>0)l=0;else return;do{s=f[u+(l*3|0)+1>>0]|0;o=s&255;c=128-o+(a[u+(l*3|0)+2>>0]|0)&255;h=r+(l*3|0)|0;f[h>>0]=(a[u+(l*3|0)>>0]|0)+128-o;f[h+1>>0]=s;f[h+2>>0]=c;l=l+1|0}while((l|0)!=(n|0));return}l=(s|0)<(n|0)?s:n;if((l|0)<=0)return;e=s<<1;i=0;do{c=f[u+(i*3|0)+1>>0]|0;n=c&255;h=128-n+(a[u+(i*3|0)+2>>0]|0)&255;f[r+i>>0]=(a[u+(i*3|0)>>0]|0)+128-n;f[r+(i+s)>>0]=c;f[r+(i+e)>>0]=h;i=i+1|0}while((i|0)!=(l|0));return}case 4:{if((t[l+24>>2]|0)!=1)return;l=(s|0)<(n|0)?s:n;if((l|0)<=0)return;e=s<<1;i=s*3|0;o=0;do{n=f[u+(o<<2)+1>>0]|0;h=f[u+(o<<2)+3>>0]|0;d=n&255;c=128-d+(a[u+(o<<2)+2>>0]|0)&255;f[r+o>>0]=(a[u+(o<<2)>>0]|0)+128-d;f[r+(o+s)>>0]=n;f[r+(o+e)>>0]=c;f[r+(o+i)>>0]=h;o=o+1|0}while((o|0)!=(l|0));return}default:return}}function Ln(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0;d=c;c=c+176|0;b=d+152|0;m=d+16|0;_=d;l=re(t[(t[e+4>>2]|0)+16>>2]|0,n)|0;u=e+20|0;s=t[u>>2]|0;if(!l){m=s;xn(e,m,r,n,a);c=d;return}while(1){o=uM[t[(t[i>>2]|0)+32>>2]&63](i,s,l)|0;if(!o)break;s=t[u>>2]|0;if((l|0)==(o|0)){h=26;break}else l=l-o|0}if((h|0)==26){xn(e,s,r,n,a);c=d;return}r=m+56|0;u=m+4|0;t[m>>2]=36160;t[r>>2]=36180;w=0;ce(62,m+56|0,u|0);d=w;w=0;if(d&1){m=je()|0;nd(r);Qe(m|0)}t[m+128>>2]=0;t[m+132>>2]=-1;t[m>>2]=36200;t[m+56>>2]=36220;w=0;ue(180,u|0);d=w;w=0;do{if(d&1)s=je()|0;else{t[u>>2]=36236;i=m+36|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[m+52>>2]=16;t[b>>2]=0;t[b+4>>2]=0;t[b+8>>2]=0;w=0;ce(63,u|0,b|0);d=w;w=0;if(d&1){s=je()|0;xh(b);xh(i);cd(u);break}xh(b);w=0;s=_e(28,m|0,49029,57)|0;b=w;w=0;if(!(b&1)?(w=0,pe(36,s|0,0)|0,b=w,w=0,!(b&1)):0){o=Ue(16)|0;w=0;ce(64,_|0,u|0);b=w;w=0;if(!(b&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,o|0,3,35648,_|0);b=w;w=0;if(b&1)l=1;else{w=0;Ee(6,o|0,824,96);w=0;l=0}s=je()|0;xh(_);if(!l){_=s;t[m>>2]=36200;t[r>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(r);Qe(_|0)}}else s=je()|0;He(o|0);_=s;t[m>>2]=36200;t[r>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(r);Qe(_|0)}_=je()|0;t[m>>2]=36200;t[r>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(r);Qe(_|0)}}while(0);m=s;nd(r);Qe(m|0)}function Bn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0;c=e+4|0;e=t[c>>2]|0;e:do{switch(t[e+16>>2]|0){case 3:{if((t[e+24>>2]|0)==2){if((n|0)>0)e=0;else break e;while(1){o=f[i+(e*3|0)+1>>0]|0;l=o&255;u=l+128+(a[i+(e*3|0)+2>>0]|0)&255;s=r+(e*3|0)|0;f[s>>0]=(a[i+(e*3|0)>>0]|0)+128+l;f[s+1>>0]=o;f[s+2>>0]=u;e=e+1|0;if((e|0)==(n|0))break e}}e=(n|0)<(s|0)?n:s;if((e|0)>0){l=s<<1;o=0;do{d=f[i+(o+s)>>0]|0;b=d&255;h=b+128+(a[i+(o+l)>>0]|0)&255;u=r+(o*3|0)|0;f[u>>0]=(a[i+o>>0]|0)+128+b;f[u+1>>0]=d;f[u+2>>0]=h;o=o+1|0}while((o|0)!=(e|0))}break}case 4:{if((t[e+24>>2]|0)==1?(u=(n|0)<(s|0)?n:s,(u|0)>0):0){e=s<<1;l=s*3|0;o=0;do{d=a[i+(o+s)>>0]|0;b=r+(o<<2)|0;d=(a[i+o>>0]|0)+128+d&255|d<<8|a[i+(o+l)>>0]<<24|d+128+(a[i+(o+e)>>0]|0)<<16&16711680;f[b>>0]=d;f[b+1>>0]=d>>8;f[b+2>>0]=d>>16;f[b+3>>0]=d>>24;o=o+1|0}while((o|0)!=(u|0))}break}default:{}}}while(0);e=t[c>>2]|0;if(!(f[e+32>>0]|0))return;o=t[e+16>>2]|0;if((n|0)>0){e=r;l=0}else return;while(1){b=e+2|0;d=f[e>>0]|0;f[e>>0]=f[b>>0]|0;f[b>>0]=d;l=l+1|0;if((l|0)==(n|0))break;else e=e+o|0}return}function zn(e){e=e|0;var i=0,r=0;t[e>>2]=36712;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=t[e+8>>2]|0;if(!r)return;i=e+12|0;if((t[i>>2]|0)!=(r|0))t[i>>2]=r;Bp(r);return}function Dn(e){e=e|0;var i=0,r=0;t[e>>2]=36712;i=t[e+20>>2]|0;if(i){r=e+24|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}i=t[e+8>>2]|0;if(!i){Bp(e);return}r=e+12|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i);Bp(e);return}function Nn(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0;a=e+36|0;if(!(t[a>>2]|0)){a=e+40|0;jn(e,i,t[a>>2]|0,r,n);t[a>>2]=(t[a>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}s=re(t[(t[e+4>>2]|0)+16>>2]|0,r)|0;l=e+20|0;jn(e,i,t[l>>2]|0,r,n);e=t[a>>2]|0;if((uM[t[(t[e>>2]|0)+48>>2]&63](e,t[l>>2]|0,s)|0)==(s|0))return;a=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,a|0,3,35648);l=w;w=0;if(l&1){l=je()|0;He(a|0);Qe(l|0)}else bi(a|0,824,96)}function Fn(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=t[e+36>>2]|0;if(!n){n=e+40|0;Hn(e,t[n>>2]|0,i,r,f);t[n>>2]=(t[n>>2]|0)+(t[(t[e+4>>2]|0)+12>>2]|0);return}else{Un(e,n,i,r,f);return}}function Hn(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,c=0;o=e+4|0;s=t[o>>2]|0;if(!(f[s+32>>0]|0))o=i;else{l=e+8|0;Em(t[l>>2]|0,i|0,n*3|0)|0;s=t[o>>2]|0;i=t[s+16>>2]|0;if((n|0)>0){s=t[l>>2]|0;e=0;while(1){u=s+2|0;c=f[s>>0]|0;f[s>>0]=f[u>>0]|0;f[u>>0]=c;e=e+1|0;if((e|0)==(n|0))break;else s=s+i|0}s=t[o>>2]|0}o=t[l>>2]|0}switch(t[s+16>>2]|0){case 3:{if((t[s+24>>2]|0)==2){if((n|0)>0)s=0;else return;do{a=f[o+(s*3|0)+1>>0]|0;u=f[o+(s*3|0)+2>>0]|0;c=r+(s*3|0)|0;f[c>>0]=f[o+(s*3|0)>>0]|0;f[c+1>>0]=a;f[c+2>>0]=u;s=s+1|0}while((s|0)!=(n|0));return}s=(a|0)<(n|0)?a:n;if((s|0)<=0)return;e=a<<1;i=0;do{u=f[o+(i*3|0)+1>>0]|0;c=f[o+(i*3|0)+2>>0]|0;f[r+i>>0]=f[o+(i*3|0)>>0]|0;f[r+(i+a)>>0]=u;f[r+(i+e)>>0]=c;i=i+1|0}while((i|0)!=(s|0));return}case 4:{if((t[s+24>>2]|0)!=1)return;s=(a|0)<(n|0)?a:n;if((s|0)<=0)return;e=a<<1;i=a*3|0;l=0;do{n=f[o+(l<<2)+1>>0]|0;u=f[o+(l<<2)+2>>0]|0;c=f[o+(l<<2)+3>>0]|0;f[r+l>>0]=f[o+(l<<2)>>0]|0;f[r+(l+a)>>0]=n;f[r+(l+e)>>0]=u;f[r+(l+i)>>0]=c;l=l+1|0}while((l|0)!=(s|0));return}default:return}}function Un(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0;d=c;c=c+176|0;b=d+152|0;m=d+16|0;_=d;l=re(t[(t[e+4>>2]|0)+16>>2]|0,n)|0;u=e+20|0;s=t[u>>2]|0;if(!l){m=s;Hn(e,m,r,n,a);c=d;return}while(1){o=uM[t[(t[i>>2]|0)+32>>2]&63](i,s,l)|0;if(!o)break;s=t[u>>2]|0;if((l|0)==(o|0)){h=26;break}else l=l-o|0}if((h|0)==26){Hn(e,s,r,n,a);c=d;return}r=m+56|0;u=m+4|0;t[m>>2]=36160;t[r>>2]=36180;w=0;ce(62,m+56|0,u|0);d=w;w=0;if(d&1){m=je()|0;nd(r);Qe(m|0)}t[m+128>>2]=0;t[m+132>>2]=-1;t[m>>2]=36200;t[m+56>>2]=36220;w=0;ue(180,u|0);d=w;w=0;do{if(d&1)s=je()|0;else{t[u>>2]=36236;i=m+36|0;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;t[i+12>>2]=0;t[m+52>>2]=16;t[b>>2]=0;t[b+4>>2]=0;t[b+8>>2]=0;w=0;ce(63,u|0,b|0);d=w;w=0;if(d&1){s=je()|0;xh(b);xh(i);cd(u);break}xh(b);w=0;s=_e(28,m|0,49029,57)|0;b=w;w=0;if(!(b&1)?(w=0,pe(36,s|0,0)|0,b=w,w=0,!(b&1)):0){o=Ue(16)|0;w=0;ce(64,_|0,u|0);b=w;w=0;if(!(b&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,o|0,3,35648,_|0);b=w;w=0;if(b&1)l=1;else{w=0;Ee(6,o|0,824,96);w=0;l=0}s=je()|0;xh(_);if(!l){_=s;t[m>>2]=36200;t[r>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(r);Qe(_|0)}}else s=je()|0;He(o|0);_=s;t[m>>2]=36200;t[r>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(r);Qe(_|0)}_=je()|0;t[m>>2]=36200;t[r>>2]=36220;t[u>>2]=36236;xh(i);cd(u);nd(r);Qe(_|0)}}while(0);m=s;nd(r);Qe(m|0)}function jn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0;c=e+4|0;e=t[c>>2]|0;e:do{switch(t[e+16>>2]|0){case 3:{if((t[e+24>>2]|0)==2){if((n|0)>0)e=0;else break e;while(1){o=f[i+(e*3|0)+1>>0]|0;u=f[i+(e*3|0)+2>>0]|0;s=r+(e*3|0)|0;f[s>>0]=f[i+(e*3|0)>>0]|0;f[s+1>>0]=o;f[s+2>>0]=u;e=e+1|0;if((e|0)==(n|0))break e}}e=(n|0)<(s|0)?n:s;if((e|0)>0){l=s<<1;o=0;do{d=f[i+(o+s)>>0]|0;h=f[i+(o+l)>>0]|0;u=r+(o*3|0)|0;f[u>>0]=f[i+o>>0]|0;f[u+1>>0]=d;f[u+2>>0]=h;o=o+1|0}while((o|0)!=(e|0))}break}case 4:{if((t[e+24>>2]|0)==1?(u=(n|0)<(s|0)?n:s,(u|0)>0):0){e=s<<1;l=s*3|0;o=0;do{d=r+(o<<2)|0;h=a[i+(o+s)>>0]<<8|a[i+o>>0]|a[i+(o+e)>>0]<<16|a[i+(o+l)>>0]<<24;f[d>>0]=h;f[d+1>>0]=h>>8;f[d+2>>0]=h>>16;f[d+3>>0]=h>>24;o=o+1|0}while((o|0)!=(u|0))}break}default:{}}}while(0);e=t[c>>2]|0;if(!(f[e+32>>0]|0))return;o=t[e+16>>2]|0;if((n|0)>0){e=r;l=0}else return;while(1){d=e+2|0;h=f[e>>0]|0;f[e>>0]=f[d>>0]|0;f[d>>0]=h;l=l+1|0;if((l|0)==(n|0))break;else e=e+o|0}return}function Yn(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0;p=c;c=c+32|0;y=p+12|0;v=p;_=e+180|0;k=(t[_>>2]|0)+4|0;if((t[e+32>>2]|0)==1)m=t[e+24>>2]|0;else m=1;i=re(m<<1,k)|0;t[y>>2]=0;M=y+4|0;t[M>>2]=0;t[y+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(w=0,ue(178,y|0),g=w,w=0,g&1):0))s=6;if((s|0)==6?(w=0,r=de(67,i*3|0)|0,g=w,w=0,!(g&1)):0){t[M>>2]=r;t[y>>2]=r;t[y+8>>2]=r+(i*3|0);while(1){f[r>>0]=0;f[r+1>>0]=0;f[r+2>>0]=0;r=(t[M>>2]|0)+3|0;t[M>>2]=r;i=i+-1|0;if(!i)break e}}n=je()|0;i=t[y>>2]|0;if(!i)Qe(n|0);r=t[M>>2]|0;if((r|0)!=(i|0))t[M>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Bp(i);Qe(n|0)}}while(0);t[v>>2]=0;g=v+4|0;t[g>>2]=0;t[v+8>>2]=0;do{if(!m)s=19;else{if(!(m>>>0>1073741823?(w=0,ue(178,v|0),b=w,w=0,b&1):0))s=17;if((s|0)==17?(n=m<<2,w=0,a=de(67,n|0)|0,b=w,w=0,!(b&1)):0){t[v>>2]=a;s=a+(m<<2)|0;t[v+8>>2]=s;ym(a|0,0,n|0)|0;t[g>>2]=s;s=19;break}n=je()|0;i=t[v>>2]|0;r=i;if(i){a=t[g>>2]|0;if((a|0)!=(i|0))t[g>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}}while(0);if((s|0)==19){a=e+12|0;e:do{if((t[a>>2]|0)>0){s=e+4604|0;l=(re(m,k)|0)+1|0;o=e+4608|0;u=e+92|0;h=(m|0)>0;d=e+4600|0;b=0;i:while(1){n=t[y>>2]|0;i=n+3|0;t[s>>2]=i;r=n+(l*3|0)|0;t[o>>2]=r;if(!(b&1))i=l;else{t[s>>2]=r;t[o>>2]=i;i=1}r=t[u>>2]|0;w=0;Ce(t[(t[r>>2]|0)+12>>2]|0,r|0,n+(i*3|0)|0,t[_>>2]|0,k|0);n=w;w=0;if(n&1){s=29;break}if(h){i=t[v>>2]|0;r=t[s>>2]|0;n=0;do{t[d>>2]=t[i+(n<<2)>>2];A=t[_>>2]|0;i=r+(A*3|0)|0;r=r+((A+-1|0)*3|0)|0;f[i>>0]=f[r>>0]|0;f[i+1>>0]=f[r+1>>0]|0;f[i+2>>0]=f[r+2>>0]|0;i=t[s>>2]|0;r=(t[o>>2]|0)+-3|0;f[r>>0]=f[i>>0]|0;f[r+1>>0]=f[i+1>>0]|0;f[r+2>>0]=f[i+2>>0]|0;w=0;ce(70,e|0,0);r=w;w=0;if(r&1){s=28;break i}i=t[v>>2]|0;t[i+(n<<2)>>2]=t[d>>2];r=(t[s>>2]|0)+(k*3|0)|0;t[s>>2]=r;t[o>>2]=(t[o>>2]|0)+(k*3|0);n=n+1|0}while((n|0)<(m|0))}b=b+1|0;if((b|0)>=(t[a>>2]|0)){s=41;break e}}if((s|0)==28){n=je()|0;break}else if((s|0)==29){n=je()|0;break}}else s=41}while(0);do{if((s|0)==41){w=0;ue(182,e|0);A=w;w=0;if(A&1){n=je()|0;break}i=t[v>>2]|0;r=i;if(i){n=t[g>>2]|0;if((n|0)!=(i|0))t[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);Bp(i)}i=t[y>>2]|0;if(!i){c=p;return}r=t[M>>2]|0;if((r|0)!=(i|0))t[M>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Bp(i);c=p;return}}while(0);i=t[v>>2]|0;r=i;if(i){a=t[g>>2]|0;if((a|0)!=(i|0))t[g>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}i=t[y>>2]|0;if(!i)Qe(n|0);r=t[M>>2]|0;if((r|0)!=(i|0))t[M>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Bp(i);Qe(n|0)}function qn(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0;S=e+180|0;if((t[S>>2]|0)<=0)return;T=e+4608|0;R=e+4604|0;C=e+4612|0;E=0;while(1){y=E+-1|0;l=t[T>>2]|0;o=t[R>>2]|0;i=E+1|0;s=a[o+(E*3|0)>>0]|0;A=t[C>>2]|0;u=a[o+(y*3|0)>>0]|0;c=s-u|0;h=a[l+(y*3|0)>>0]|0;d=u-h|0;b=((((f[A+((a[o+(i*3|0)>>0]|0)-s)>>0]|0)*9|0)+(f[A+c>>0]|0)|0)*9|0)+(f[A+d>>0]|0)|0;n=a[o+(E*3|0)+1>>0]|0;_=a[o+(y*3|0)+1>>0]|0;k=n-_|0;w=a[l+(y*3|0)+1>>0]|0;m=_-w|0;v=((((f[A+((a[o+(i*3|0)+1>>0]|0)-n)>>0]|0)*9|0)+(f[A+k>>0]|0)|0)*9|0)+(f[A+m>>0]|0)|0;r=a[o+(E*3|0)+2>>0]|0;p=a[o+(y*3|0)+2>>0]|0;g=r-p|0;y=a[l+(y*3|0)+2>>0]|0;M=p-y|0;A=((((f[A+((a[o+(i*3|0)+2>>0]|0)-r)>>0]|0)*9|0)+(f[A+g>>0]|0)|0)*9|0)+(f[A+M>>0]|0)|0;if(!(v|b|A))i=($n(e,E,0)|0)+E|0;else{o=a[l+(E*3|0)>>0]|0;l=s-h>>31;if((l^d|0)>=0)if((l^c|0)<0)s=h;else s=h-u+s|0;o=Vn(e,b,o,s,0)|0;l=a[(t[T>>2]|0)+(E*3|0)+1>>0]|0;s=n-w>>31;if((s^m|0)>=0)if((s^k|0)<0)n=w;else n=w-_+n|0;s=Vn(e,v,l,n,0)|0;l=a[(t[T>>2]|0)+(E*3|0)+2>>0]|0;n=r-y>>31;if((n^M|0)>=0)if((n^g|0)<0)r=y;else r=y-p+r|0;A=Vn(e,A,l,r,0)|0;E=(t[T>>2]|0)+(E*3|0)|0;f[E>>0]=o;f[E+1>>0]=s;f[E+2>>0]=A}if((i|0)<(t[S>>2]|0))E=i;else break}return}function $n(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0;T=c;c=c+32|0;S=T+15|0;k=T+12|0;_=T+9|0;w=T+6|0;y=T+3|0;M=T;A=(t[e+180>>2]|0)-i|0;E=t[e+4608>>2]|0;m=t[e+4604>>2]|0;g=E+((i+-1|0)*3|0)|0;v=f[g>>0]|0;p=f[g+1>>0]|0;g=f[g+2>>0]|0;r=v&255;n=e+144|0;s=p&255;l=g&255;b=0;while(1){o=E+((b+i|0)*3|0)|0;u=o+1|0;h=o+2|0;R=(a[o>>0]|0)-r|0;d=t[n>>2]|0;if((((R|0)>-1?R:0-R|0)|0)>(d|0))break;R=(a[u>>0]|0)-s|0;if((((R|0)>-1?R:0-R|0)|0)>(d|0))break;R=(a[h>>0]|0)-l|0;if((((R|0)>-1?R:0-R|0)|0)>(d|0))break;f[o>>0]=v;f[u>>0]=p;f[h>>0]=g;b=b+1|0;if((b|0)==(A|0)){b=A;break}}s=(b|0)==(A|0);l=e+4600|0;n=t[36476+(t[l>>2]<<2)>>2]|0;if((1<(b|0))r=b;else{r=b;do{Bf(e,1,1);n=t[l>>2]|0;r=r-(1<>2])|0;n=(n|0)>30?31:n+1|0;t[l>>2]=n;n=t[36476+(n<<2)>>2]|0}while((r|0)>=(1<>0]=f[R>>0]|0;f[y+1>>0]=f[R+1>>0]|0;f[y+2>>0]=f[R+2>>0]|0;f[M>>0]=v;f[M+1>>0]=p;f[M+2>>0]=g;i=m+(i*3|0)|0;f[_>>0]=f[y>>0]|0;f[_+1>>0]=f[y+1>>0]|0;f[_+2>>0]=f[y+2>>0]|0;f[k>>0]=f[M>>0]|0;f[k+1>>0]=f[M+1>>0]|0;f[k+2>>0]=f[M+2>>0]|0;f[S>>0]=f[i>>0]|0;f[S+1>>0]=f[i+1>>0]|0;f[S+2>>0]=f[i+2>>0]|0;Gn(w,e,_,k,S);f[R>>0]=f[w>>0]|0;f[R+1>>0]=f[w+1>>0]|0;f[R+2>>0]=f[w+2>>0]|0;R=t[l>>2]|0;t[l>>2]=(R|0)<1?0:R+-1|0;R=b+1|0;c=T;return R|0}if(!r){R=A;c=T;return R|0}Bf(e,1,1);R=A;c=T;return R|0}function Vn(e,i,r,f,a){e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0;w=i>>31;s=(w^i)-w|0;_=e+196+(s*12|0)+10|0;l=n[_>>1]|0;b=e+196+(s*12|0)|0;a=t[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){i=5;while(1)if((l<>1]^w)-w+f|0;k=e+136|0;f=t[k>>2]|0;if((a&f|0)==(a|0))c=a;else c=f&~(a>>31);a=(r-c^w)-w|0;u=e+144|0;f=t[u>>2]|0;if((a|0)>0)a=(a+f|0)/(f<<1|1|0)|0;else a=(a-f|0)/(f<<1|1|0)|0;d=e+140|0;o=t[d>>2]|0;r=((a|0)<0?o:0)+a|0;o=r-((r|0)<((o+1|0)/2|0|0)?0:o)|0;s=e+196+(s*12|0)+4|0;if(!(f|i))a=(t[s>>2]<<1)+-1+l>>31;else a=0;f=a^o;Xn(e,i,f>>30^f<<1,t[e+156>>2]|0);f=t[e+160>>2]|0;i=(t[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;a=(t[s>>2]|0)+(re(t[u>>2]<<1|1,o)|0)|0;r=n[_>>1]|0;if((r|0)==(f|0)){i=i>>1;a=a>>1;r=f>>1}t[b>>2]=i;f=r+1|0;n[_>>1]=f;i=f+a|0;if((i|0)>=1){if((a|0)>0){a=a-f|0;_=n[h>>1]|0;n[h>>1]=(_<<16>>16<127&1)+(_&65535);a=(a|0)>0?0:a}}else{a=n[h>>1]|0;n[h>>1]=(a&65535)-(a<<16>>16>-128&1);a=(i|0)>(~r|0)?i:0-r|0}t[s>>2]=a;f=t[u>>2]|0;r=f<<1|1;i=(re(r,(o^w)-w|0)|0)+c|0;if((i|0)>=(0-f|0)){a=t[k>>2]|0;if((a+f|0)<(i|0))i=i-(re(t[d>>2]|0,r)|0)|0}else{i=(re(t[d>>2]|0,r)|0)+i|0;a=t[k>>2]|0}if((i&a|0)==(i|0)){w=i;w=w&255;return w|0}w=a&~(i>>31);w=w&255;return w|0}function Xn(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0;n=r>>i;a=e+148|0;s=f-(t[a>>2]|0)|0;if((n|0)<(s+-1|0)){if((n|0)>30){f=(n|0)/2|0;Bf(e,0,f);n=n-f|0}Bf(e,1,n+1|0);Bf(e,(1<31){Bf(e,0,31);Bf(e,1,f+-31-(t[a>>2]|0)|0)}else Bf(e,1,s);i=t[a>>2]|0;Bf(e,(1<>0]|0;_=b-(a[n>>0]|0)>>31|1;l=re(_,(a[r>>0]|0)-b|0)|0;h=i+144|0;o=t[h>>2]|0;if((l|0)>0)l=(l+o|0)/(o<<1|1|0)|0;else l=(l-o|0)/(o<<1|1|0)|0;y=i+140|0;c=t[y>>2]|0;u=((l|0)<0?c:0)+l|0;c=u-((u|0)<((c+1|0)/2|0|0)?0:c)|0;u=i+4576|0;Kn(i,u,c);v=a[s+1>>0]|0;p=v-(a[n+1>>0]|0)>>31|1;l=re(p,(a[r+1>>0]|0)-v|0)|0;o=t[h>>2]|0;if((l|0)>0)l=(l+o|0)/(o<<1|1|0)|0;else l=(l-o|0)/(o<<1|1|0)|0;k=t[y>>2]|0;g=((l|0)<0?k:0)+l|0;k=g-((g|0)<((k+1|0)/2|0|0)?0:k)|0;Kn(i,u,k);g=a[s+2>>0]|0;m=g-(a[n+2>>0]|0)>>31|1;l=re(m,(a[r+2>>0]|0)-g|0)|0;o=t[h>>2]|0;if((l|0)>0)l=(l+o|0)/(o<<1|1|0)|0;else l=(l-o|0)/(o<<1|1|0)|0;d=t[y>>2]|0;l=((l|0)<0?d:0)+l|0;d=l-((l|0)<((d+1|0)/2|0|0)?0:d)|0;Kn(i,u,d);u=t[h>>2]|0;h=u<<1|1;l=(re(re(h,c)|0,_)|0)+b|0;r=0-u|0;if((l|0)>=(r|0)){o=t[w>>2]|0;if((o+u|0)<(l|0)){l=l-(re(t[y>>2]|0,h)|0)|0;n=o}else n=o}else{l=(re(t[y>>2]|0,h)|0)+l|0;n=t[w>>2]|0}if((l&n|0)!=(l|0))l=n&~(l>>31);s=l&255;l=(re(re(h,k)|0,p)|0)+v|0;if((l|0)>=(r|0)){if((n+u|0)<(l|0))l=l-(re(t[y>>2]|0,h)|0)|0}else l=(re(t[y>>2]|0,h)|0)+l|0;if((l&n|0)!=(l|0))l=n&~(l>>31);o=l&255;l=(re(re(h,d)|0,m)|0)+g|0;if((l|0)>=(r|0)){if((n+u|0)<(l|0))l=l-(re(t[y>>2]|0,h)|0)|0}else l=(re(t[y>>2]|0,h)|0)+l|0;if((l&n|0)==(l|0)){y=l;y=y&255;f[e>>0]=s;g=e+1|0;f[g>>0]=o;e=e+2|0;f[e>>0]=y;return}y=n&~(l>>31);y=y&255;f[e>>0]=s;g=e+1|0;f[g>>0]=o;e=e+2|0;f[e>>0]=y;return}function Kn(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i+9|0;o=a[d>>0]|0;h=i+4|0;c=t[h>>2]|0;s=(re(o>>>1,c)|0)+(t[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0));s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0>>0:0)n=1;else u=5;do{if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}}while(0);n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;Xn(e,s,n,(t[e+156>>2]|0)+-1-(t[36476+(t[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;f[e>>0]=(a[e>>0]|0)+1}n=(n+1-(t[h>>2]|0)>>1)+(t[i>>2]|0)|0;t[i>>2]=n;s=f[d>>0]|0;if(s<<24>>24!=(f[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;f[d>>0]=i;return}t[i>>2]=n>>1;e=(s&255)>>>1;f[d>>0]=e;i=i+10|0;f[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;f[d>>0]=i;return}function Wn(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0;_=c;c=c+32|0;n=_;b=e+144|0;e:do{if(!(t[b>>2]|0)){r=t[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<>2])+-1|0)?(op(n,r,0),(t[n+4>>2]|0)==(t[e+184>>2]|0)):0)?(t[n+8>>2]|0)==(t[e+188>>2]|0):0)?(t[n+12>>2]|0)==(t[e+192>>2]|0):0)switch(t[i>>2]|0){case 8:{b=t[8900]|0;t[e+4612>>2]=b+(((t[8901]|0)-b|0)>>>1);c=_;return}case 10:{b=t[8903]|0;t[e+4612>>2]=b+(((t[8904]|0)-b|0)>>>1);c=_;return}case 12:{b=t[8906]|0;t[e+4612>>2]=b+(((t[8907]|0)-b|0)>>>1);c=_;return}case 16:{b=t[8909]|0;t[e+4612>>2]=b+(((t[8910]|0)-b|0)>>>1);c=_;return}default:break e}}else i=e+152|0}while(0);d=1<>2];r=e+4616|0;n=d<<1;a=e+4620|0;s=t[a>>2]|0;i=t[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0>>0?(o=i+n|0,(s|0)!=(o|0)):0)t[a>>2]=o}else{Yf(r,n-l|0);i=t[r>>2]|0}h=e+4612|0;t[h>>2]=i+d;i=0-d|0;if((d|0)<=(i|0)){c=_;return}o=e+192|0;u=e+188|0;l=e+184|0;s=i;do{i=t[o>>2]|0;if((s|0)>(0-i|0)){r=t[u>>2]|0;if((s|0)>(0-r|0)){n=t[l>>2]|0;if((s|0)>(0-n|0)){a=t[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;f[(t[h>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(d|0));c=_;return}function Zn(e){e=e|0;var i=0,r=0;t[e>>2]=35996;i=t[e+4592>>2]|0;if(i){r=e+4596|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36612;i=t[e+120>>2]|0;if(i){r=e+124|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+92|0;i=t[r>>2]|0;t[r>>2]=0;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=t[e>>2]|0;t[e>>2]=0;if(!i)return;tM[t[(t[i>>2]|0)+4>>2]&255](i);return}function Jn(e){e=e|0;var i=0,r=0;t[e>>2]=35996;i=t[e+4592>>2]|0;if(i){r=e+4596|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36612;i=t[e+120>>2]|0;if(i){r=e+124|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+92|0;i=t[r>>2]|0;t[r>>2]=0;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=t[r>>2]|0;t[r>>2]=0;if(!i){Bp(e);return}tM[t[(t[i>>2]|0)+4>>2]&255](i);Bp(e);return}function Qn(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;op(u,65535,0);o=t[i+4>>2]|0;l=t[i+8>>2]|0;l=(l|0)==0?t[u+8>>2]|0:l;a=t[i+12>>2]|0;a=(a|0)==0?t[u+12>>2]|0:a;i=t[i+16>>2]|0;r=t[u+16>>2]|0;t[e+160>>2]=(o|0)==0?t[u+4>>2]|0:o;t[e+164>>2]=l;t[e+168>>2]=a;lt(e);a=0;do{t[e+172+(a*12|0)>>2]=1024;t[e+172+(a*12|0)+4>>2]=0;n[e+172+(a*12|0)+8>>1]=0;n[e+172+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365);u=((i|0)==0?r:i)&255;t[e+4552>>2]=1024;t[e+4556>>2]=0;f[e+4560>>0]=u;f[e+4561>>0]=1;f[e+4562>>0]=0;t[e+4564>>2]=1024;t[e+4568>>2]=1;f[e+4572>>0]=u;f[e+4573>>0]=1;f[e+4574>>0]=0;t[e+4576>>2]=0;c=s;return}function et(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+16|0;h=b;u=e+92|0;o=t[i>>2]|0;t[i>>2]=0;i=t[u>>2]|0;t[u>>2]=o;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);t[h>>2]=0;t[h+4>>2]=a;u=r+8|0;t[h+8>>2]=t[u>>2];if(a){i=Lp(4600)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{t[s>>2]=t[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));s=i+88|0;o=s+40|0;do{t[s>>2]=0;s=s+4|0}while((s|0)<(o|0));t[i>>2]=35772;s=i+132|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[i+148>>2]=t[a>>2];t[i+152>>2]=0;t[i+156>>2]=0;t[i+160>>2]=0;s=i+4544|0;a=i+164|0;do{t[a>>2]=0;t[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0));l=e+4|0;t[s>>2]=0;t[s+4>>2]=0;n[s+8>>1]=0;f[s+10>>0]=0;o=i+4556|0;t[o>>2]=0;t[o+4>>2]=0;n[o+8>>1]=0;f[o+10>>0]=0;o=i+4568|0;t[o>>2]=0;t[o+4>>2]=0;t[o+8>>2]=0;t[o+12>>2]=0;t[o+16>>2]=0;t[o+20>>2]=0;t[o+24>>2]=0;f[o+28>>0]=0;if(!(t[i+28>>2]|0))t[i+20>>2]=1;a=t[l>>2]|0;t[l>>2]=i;if(a){tM[t[(t[a>>2]|0)+4>>2]&255](a);i=t[l>>2]|0}Cf(i,h)}h=e+100|0;t[h>>2]=32;t[e+96>>2]=0;i=t[r>>2]|0;if(!i){t[e+108>>2]=t[r+4>>2];t[e+104>>2]=t[u>>2];rt(e);d=e+116|0;d=t[d>>2]|0;e=t[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}t[e+132>>2]=i;s=e+120|0;u=e+124|0;a=t[u>>2]|0;i=t[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(d=i+4e3|0,(a|0)!=(d|0)):0){t[u>>2]=d;a=d}}else{Pf(s,4e3-o|0);i=t[s>>2]|0;l=i;a=t[u>>2]|0}t[e+108>>2]=l;t[e+104>>2]=a-i;rt(e);d=e+116|0;d=t[d>>2]|0;e=t[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}function it(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;y=c;c=c+352|0;M=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;_=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((t[e+32>>2]|0)!=0?(t[e+24>>2]|0)!=1:0){m=e+8|0;p=e+36|0;l=t[p>>2]|0;if(!l){e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[r>>0]|0;Ce(37,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}e=t[e+16>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[n>>0]|0;Ce(38,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[a>>0]|0;Ce(39,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[s>>0]|0;Ce(40,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=A+56|0;a=A+4|0;t[A>>2]=36160;t[l>>2]=36180;w=0;ce(62,A+56|0,a|0);y=w;w=0;if(y&1){E=je()|0;nd(l);Qe(E|0)}t[A+128>>2]=0;t[A+132>>2]=-1;t[A>>2]=36200;t[A+56>>2]=36220;w=0;ue(180,a|0);y=w;w=0;do{if(y&1)e=je()|0;else{t[a>>2]=36236;s=A+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[A+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);y=w;w=0;if(y&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,A|0,49007,21)|0;M=w;w=0;do{if((!(M&1)?(w=0,d=pe(36,e|0,t[p>>2]|0)|0,M=w,w=0,!(M&1)):0)?(w=0,_e(28,d|0,50997,18)|0,M=w,w=0,!(M&1)):0){n=Ue(16)|0;w=0;ce(64,_|0,a|0);M=w;w=0;if(!(M&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,_|0);M=w;w=0;if(M&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(_);if(!r)break}else e=je()|0;He(n|0)}else E=34}while(0);if((E|0)==34)e=je()|0;t[A>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}if((e|0)<=8){e=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,e|0,8,35648);E=w;w=0;if(!(E&1))bi(e|0,824,96);E=je()|0;He(e|0);Qe(E|0)}r=16-e|0;switch(l|0){case 1:{e=Lp(60)|0;t[o>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[o>>2];t[M+4>>2]=t[o+4>>2];Ce(41,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(60)|0;t[u>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[u>>2];t[M+4>>2]=t[u+4>>2];Ce(42,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(60)|0;t[h>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[h>>2];t[M+4>>2]=t[h+4>>2];Ce(43,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=g+56|0;a=g+4|0;t[g>>2]=36160;t[l>>2]=36180;w=0;ce(62,g+56|0,a|0);A=w;w=0;if(A&1){E=je()|0;nd(l);Qe(E|0)}t[g+128>>2]=0;t[g+132>>2]=-1;t[g>>2]=36200;t[g+56>>2]=36220;w=0;ue(180,a|0);A=w;w=0;do{if(A&1)e=je()|0;else{t[a>>2]=36236;s=g+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[g+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);A=w;w=0;if(A&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,g|0,49007,21)|0;A=w;w=0;do{if((!(A&1)?(w=0,b=pe(36,e|0,t[p>>2]|0)|0,A=w,w=0,!(A&1)):0)?(w=0,_e(28,b|0,50997,18)|0,A=w,w=0,!(A&1)):0){n=Ue(16)|0;w=0;ce(64,v|0,a|0);A=w;w=0;if(!(A&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,v|0);A=w;w=0;if(A&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(v);if(!r)break}else e=je()|0;He(n|0)}else E=64}while(0);if((E|0)==64)e=je()|0;t[g>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}}r=t[i+4>>2]|0;n=Lp(16)|0;e=t[e+20>>2]|0;if(!r){E=t[i>>2]|0;t[n>>2]=36132;t[n+4>>2]=E;t[n+8>>2]=2;t[n+12>>2]=e;E=n;c=y;return E|0}else{t[n>>2]=36108;t[n+4>>2]=r;t[n+8>>2]=2;t[n+12>>2]=e;E=n;c=y;return E|0}return 0}function rt(e){e=e|0;var i=0,r=0,f=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0;g=c;c=c+32|0;M=g+12|0;p=g;k=e+156|0;m=(t[k>>2]|0)+4|0;if((t[e+32>>2]|0)==1)v=t[e+24>>2]|0;else v=1;i=re(v<<1,m)|0;t[M>>2]=0;A=M+4|0;t[A>>2]=0;t[M+8>>2]=0;do{if(i){if(!((i|0)<0?(w=0,ue(178,M|0),y=w,w=0,y&1):0))l=6;if((l|0)==6?(r=i<<1,w=0,f=de(67,r|0)|0,y=w,w=0,!(y&1)):0){t[M>>2]=f;y=f+(i<<1)|0;t[M+8>>2]=y;ym(f|0,0,r|0)|0;t[A>>2]=y;break}f=je()|0;i=t[M>>2]|0;if(!i)Qe(f|0);r=t[A>>2]|0;if((r|0)!=(i|0))t[A>>2]=r+(~((r+-2-i|0)>>>1)<<1);Bp(i);Qe(f|0)}}while(0);t[p>>2]=0;y=p+4|0;t[y>>2]=0;t[p+8>>2]=0;do{if(!v)l=18;else{if(!(v>>>0>1073741823?(w=0,ue(178,p|0),_=w,w=0,_&1):0))l=16;if((l|0)==16?(a=v<<2,w=0,s=de(67,a|0)|0,_=w,w=0,!(_&1)):0){t[p>>2]=s;l=s+(v<<2)|0;t[p+8>>2]=l;ym(s|0,0,a|0)|0;t[y>>2]=l;l=18;break}f=je()|0;i=t[p>>2]|0;r=i;if(i){a=t[y>>2]|0;if((a|0)!=(i|0))t[y>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}}while(0);if((l|0)==18){s=e+12|0;e:do{if((t[s>>2]|0)>0){l=e+4580|0;o=(re(v,m)|0)+1|0;u=e+4584|0;h=e+92|0;d=(v|0)>0;b=e+4576|0;_=0;i:while(1){r=t[M>>2]|0;i=r+2|0;t[l>>2]=i;r=r+(o<<1)|0;t[u>>2]=r;if(!(_&1))i=r;else{t[l>>2]=r;t[u>>2]=i}a=t[h>>2]|0;w=0;Ce(t[(t[a>>2]|0)+12>>2]|0,a|0,i|0,t[k>>2]|0,m|0);a=w;w=0;if(a&1){l=28;break}if(d){i=t[l>>2]|0;r=t[u>>2]|0;f=t[p>>2]|0;a=0;do{t[b>>2]=t[f+(a<<2)>>2];f=t[k>>2]|0;n[i+(f<<1)>>1]=n[i+(f+-1<<1)>>1]|0;n[r+-2>>1]=n[i>>1]|0;w=0;ce(71,e|0,0);f=w;w=0;if(f&1){l=27;break i}f=t[p>>2]|0;t[f+(a<<2)>>2]=t[b>>2];i=(t[l>>2]|0)+(m<<1)|0;t[l>>2]=i;r=(t[u>>2]|0)+(m<<1)|0;t[u>>2]=r;a=a+1|0}while((a|0)<(v|0))}_=_+1|0;if((_|0)>=(t[s>>2]|0)){l=40;break e}}if((l|0)==27){f=je()|0;break}else if((l|0)==28){f=je()|0;break}}else l=40}while(0);do{if((l|0)==40){w=0;ue(182,e|0);e=w;w=0;if(e&1){f=je()|0;break}i=t[p>>2]|0;r=i;if(i){f=t[y>>2]|0;if((f|0)!=(i|0))t[y>>2]=f+(~((f+-4-r|0)>>>2)<<2);Bp(i)}i=t[M>>2]|0;if(!i){c=g;return}r=t[A>>2]|0;if((r|0)!=(i|0))t[A>>2]=r+(~((r+-2-i|0)>>>1)<<1);Bp(i);c=g;return}}while(0);i=t[p>>2]|0;r=i;if(i){a=t[y>>2]|0;if((a|0)!=(i|0))t[y>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}i=t[M>>2]|0;if(!i)Qe(f|0);r=t[A>>2]|0;if((r|0)!=(i|0))t[A>>2]=r+(~((r+-2-i|0)>>>1)<<1);Bp(i);Qe(f|0)}function ft(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0;_=e+4580|0;i=t[_>>2]|0;m=e+156|0;if((t[m>>2]|0)<=0)return;k=e+4584|0;w=e+4588|0;l=i;o=s[i+-2>>1]|0;i=s[i>>1]|0;b=0;while(1){d=t[k>>2]|0;h=s[d+(b+-1<<1)>>1]|0;a=b+1|0;r=s[l+(a<<1)>>1]|0;c=t[w>>2]|0;u=i-o|0;l=o-h|0;c=((((f[c+(r-i)>>0]|0)*9|0)+(f[c+u>>0]|0)|0)*9|0)+(f[c+l>>0]|0)|0;if(!c){a=(tt(e,b,0)|0)+b|0;r=t[_>>2]|0;i=s[r+(a+-1<<1)>>1]|0;r=s[r+(a<<1)>>1]|0}else{o=i-h>>31;if((o^l|0)<0)l=i;else l=h+((o^u|0)<0?0:u)|0;d=nt(e,c,s[d+(b<<1)>>1]|0,l,0)|0;n[(t[k>>2]|0)+(b<<1)>>1]=d}if((a|0)>=(t[m>>2]|0))break;l=t[_>>2]|0;o=i;i=r;b=a}return}function nt(e,i,r,f,a){e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0;k=i>>31;u=(k^i)-k|0;_=e+172+(u*12|0)+10|0;l=n[_>>1]|0;b=e+172+(u*12|0)|0;a=t[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){s=5;while(1)if((l<>1]^k)-k+f|0;if((a&65535|0)==(a|0))h=a;else h=a>>31&65535^65535;o=(r-h^k)-k<<16;c=o>>16;if(!s)a=(t[e+172+(u*12|0)+4>>2]<<1)+-1+l>>31;else a=0;f=a^c;f=f>>30^f<<1;a=f>>s;if((a|0)<47){if((a|0)>30){l=(a|0)/2|0;Bf(e,0,l);a=a-l|0}Bf(e,1,a+1|0);Bf(e,f&(1<>1]|0;a=l<<16>>16==64;s=a&1;r=(t[f>>2]|0)+c>>s;l=a?32:l<<16>>16;t[b>>2]=(t[b>>2]|0)+((o|0)>-65536?c:0-c|0)>>s;s=l+1|0;n[_>>1]=s;a=s+r|0;if((a|0)<1){_=n[d>>1]|0;n[d>>1]=(_&65535)-(_<<16>>16>-128&1);_=(a|0)>(~l|0)?a:0-l|0;t[f>>2]=_;k=c^k;i=i>>>31;i=h+i|0;i=i+k|0;i=i&65535;return i|0}if((r|0)<=0){_=r;t[f>>2]=_;k=c^k;i=i>>>31;i=h+i|0;i=i+k|0;i=i&65535;return i|0}_=r-s|0;b=n[d>>1]|0;n[d>>1]=(b<<16>>16<127&1)+(b&65535);_=(_|0)>0?0:_;t[f>>2]=_;k=c^k;i=i>>>31;i=h+i|0;i=i+k|0;i=i&65535;return i|0}function tt(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0;o=(t[e+156>>2]|0)-i|0;u=t[e+4584>>2]|0;h=t[e+4580>>2]|0;a=n[u+(i+-1<<1)>>1]|0;f=0;while(1){r=u+(f+i<<1)|0;if((n[r>>1]|0)!=a<<16>>16){d=f;break}n[r>>1]=a;f=f+1|0;if((f|0)==(o|0)){d=o;break}}l=a&65535;a=(d|0)==(o|0);c=e+4576|0;f=t[36476+(t[c>>2]<<2)>>2]|0;if((1<(d|0))r=d;else{r=d;do{Bf(e,1,1);f=t[c>>2]|0;r=r-(1<>2])|0;f=(f|0)>30?31:f+1|0;t[c>>2]=f;f=t[36476+(f<<2)>>2]|0}while((r|0)>=(1<>1]|0;r=s[h+(r<<1)>>1]|0;h=l-r|0;if((((h|0)>-1?h:0-h|0)|0)<1){r=f-l<<16>>16;at(e,e+4564|0,r);r=r+l|0}else{h=r-l>>31|1;i=(re(f-r<<16,h)|0)>>16;at(e,e+4552|0,i);r=(re(i,h)|0)+r|0}n[a>>1]=r;e=t[c>>2]|0;t[c>>2]=(e|0)<1?0:e+-1|0;e=d+1|0;return e|0}function at(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i+9|0;o=a[d>>0]|0;h=i+4|0;c=t[h>>2]|0;s=(re(o>>>1,c)|0)+(t[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0));s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0>>0:0)n=1;else u=5;do{if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}}while(0);n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;st(e,s,n,63-(t[36476+(t[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;f[e>>0]=(a[e>>0]|0)+1}n=(n+1-(t[h>>2]|0)>>1)+(t[i>>2]|0)|0;t[i>>2]=n;s=f[d>>0]|0;if(s<<24>>24!=(f[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;f[d>>0]=i;return}t[i>>2]=n>>1;e=(s&255)>>>1;f[d>>0]=e;i=i+10|0;f[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;f[d>>0]=i;return}function st(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,t=0;n=r>>i;t=f+-16|0;if((n|0)<(f+-17|0)){if((n|0)>30){f=(n|0)/2|0;Bf(e,0,f);n=n-f|0}Bf(e,1,n+1|0);Bf(e,(1<31){Bf(e,0,31);Bf(e,1,f+-47|0)}else Bf(e,1,t);Bf(e,r+65535&65535,16);return}function lt(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;o=h;op(o,65535,0);u=e+160|0;if(((t[o+4>>2]|0)==(t[u>>2]|0)?(t[o+8>>2]|0)==(t[e+164>>2]|0):0)?(t[o+12>>2]|0)==(t[e+168>>2]|0):0){u=t[8909]|0;t[e+4588>>2]=u+(((t[8910]|0)-u|0)>>>1);c=h;return}r=e+4592|0;n=e+4596|0;a=t[n>>2]|0;i=t[r>>2]|0;s=a-i|0;if(s>>>0>=131072){if(s>>>0>131072?(l=i+131072|0,(a|0)!=(l|0)):0)t[n>>2]=l}else{Yf(r,131072-s|0);i=t[r>>2]|0}o=e+4588|0;t[o>>2]=i+65536;l=e+168|0;a=e+164|0;s=-65536;while(1){i=t[l>>2]|0;if((s|0)>(0-i|0)){r=t[a>>2]|0;if((s|0)>(0-r|0)){n=t[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){f[(t[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;f[(t[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==65536)break}c=h;return}function ot(e){e=e|0;var i=0,r=0;t[e>>2]=35968;i=t[e+4592>>2]|0;if(i){r=e+4596|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36612;i=t[e+120>>2]|0;if(i){r=e+124|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+92|0;i=t[r>>2]|0;t[r>>2]=0;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=t[e>>2]|0;t[e>>2]=0;if(!i)return;tM[t[(t[i>>2]|0)+4>>2]&255](i);return}function ut(e){e=e|0;var i=0,r=0;t[e>>2]=35968;i=t[e+4592>>2]|0;if(i){r=e+4596|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36612;i=t[e+120>>2]|0;if(i){r=e+124|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+92|0;i=t[r>>2]|0;t[r>>2]=0;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=t[r>>2]|0;t[r>>2]=0;if(!i){Bp(e);return}tM[t[(t[i>>2]|0)+4>>2]&255](i);Bp(e);return}function ct(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;op(u,4095,0);o=t[i+4>>2]|0;l=t[i+8>>2]|0;l=(l|0)==0?t[u+8>>2]|0:l;a=t[i+12>>2]|0;a=(a|0)==0?t[u+12>>2]|0:a;i=t[i+16>>2]|0;r=t[u+16>>2]|0;t[e+160>>2]=(o|0)==0?t[u+4>>2]|0:o;t[e+164>>2]=l;t[e+168>>2]=a;pt(e);a=0;do{t[e+172+(a*12|0)>>2]=64;t[e+172+(a*12|0)+4>>2]=0;n[e+172+(a*12|0)+8>>1]=0;n[e+172+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365);u=((i|0)==0?r:i)&255;t[e+4552>>2]=64;t[e+4556>>2]=0;f[e+4560>>0]=u;f[e+4561>>0]=1;f[e+4562>>0]=0;t[e+4564>>2]=64;t[e+4568>>2]=1;f[e+4572>>0]=u;f[e+4573>>0]=1;f[e+4574>>0]=0;t[e+4576>>2]=0;c=s;return}function ht(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+16|0;h=b;u=e+92|0;o=t[i>>2]|0;t[i>>2]=0;i=t[u>>2]|0;t[u>>2]=o;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);t[h>>2]=0;t[h+4>>2]=a;u=r+8|0;t[h+8>>2]=t[u>>2];if(a){i=Lp(4600)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{t[s>>2]=t[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));s=i+88|0;o=s+40|0;do{t[s>>2]=0;s=s+4|0}while((s|0)<(o|0));t[i>>2]=35744;s=i+132|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[i+148>>2]=t[a>>2];t[i+152>>2]=0;t[i+156>>2]=0;t[i+160>>2]=0;s=i+4544|0;a=i+164|0;do{t[a>>2]=0;t[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0));l=e+4|0;t[s>>2]=0;t[s+4>>2]=0;n[s+8>>1]=0;f[s+10>>0]=0;o=i+4556|0;t[o>>2]=0;t[o+4>>2]=0;n[o+8>>1]=0;f[o+10>>0]=0;o=i+4568|0;t[o>>2]=0;t[o+4>>2]=0;t[o+8>>2]=0;t[o+12>>2]=0;t[o+16>>2]=0;t[o+20>>2]=0;t[o+24>>2]=0;f[o+28>>0]=0;if(!(t[i+28>>2]|0))t[i+20>>2]=1;a=t[l>>2]|0;t[l>>2]=i;if(a){tM[t[(t[a>>2]|0)+4>>2]&255](a);i=t[l>>2]|0}Cf(i,h)}h=e+100|0;t[h>>2]=32;t[e+96>>2]=0;i=t[r>>2]|0;if(!i){t[e+108>>2]=t[r+4>>2];t[e+104>>2]=t[u>>2];bt(e);d=e+116|0;d=t[d>>2]|0;e=t[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}t[e+132>>2]=i;s=e+120|0;u=e+124|0;a=t[u>>2]|0;i=t[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(d=i+4e3|0,(a|0)!=(d|0)):0){t[u>>2]=d;a=d}}else{Pf(s,4e3-o|0);i=t[s>>2]|0;l=i;a=t[u>>2]|0}t[e+108>>2]=l;t[e+104>>2]=a-i;bt(e);d=e+116|0;d=t[d>>2]|0;e=t[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}function dt(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;y=c;c=c+352|0;M=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;_=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((t[e+32>>2]|0)!=0?(t[e+24>>2]|0)!=1:0){m=e+8|0;p=e+36|0;l=t[p>>2]|0;if(!l){e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[r>>0]|0;Ce(37,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}e=t[e+16>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[n>>0]|0;Ce(38,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[a>>0]|0;Ce(39,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[s>>0]|0;Ce(40,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=A+56|0;a=A+4|0;t[A>>2]=36160;t[l>>2]=36180;w=0;ce(62,A+56|0,a|0);y=w;w=0;if(y&1){E=je()|0;nd(l);Qe(E|0)}t[A+128>>2]=0;t[A+132>>2]=-1;t[A>>2]=36200;t[A+56>>2]=36220;w=0;ue(180,a|0);y=w;w=0;do{if(y&1)e=je()|0;else{t[a>>2]=36236;s=A+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[A+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);y=w;w=0;if(y&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,A|0,49007,21)|0;M=w;w=0;do{if((!(M&1)?(w=0,d=pe(36,e|0,t[p>>2]|0)|0,M=w,w=0,!(M&1)):0)?(w=0,_e(28,d|0,50997,18)|0,M=w,w=0,!(M&1)):0){n=Ue(16)|0;w=0;ce(64,_|0,a|0);M=w;w=0;if(!(M&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,_|0);M=w;w=0;if(M&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(_);if(!r)break}else e=je()|0;He(n|0)}else E=34}while(0);if((E|0)==34)e=je()|0;t[A>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}if((e|0)<=8){e=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,e|0,8,35648);E=w;w=0;if(!(E&1))bi(e|0,824,96);E=je()|0;He(e|0);Qe(E|0)}r=16-e|0;switch(l|0){case 1:{e=Lp(60)|0;t[o>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[o>>2];t[M+4>>2]=t[o+4>>2];Ce(41,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(60)|0;t[u>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[u>>2];t[M+4>>2]=t[u+4>>2];Ce(42,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(60)|0;t[h>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[h>>2];t[M+4>>2]=t[h+4>>2];Ce(43,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=g+56|0;a=g+4|0;t[g>>2]=36160;t[l>>2]=36180;w=0;ce(62,g+56|0,a|0);A=w;w=0;if(A&1){E=je()|0;nd(l);Qe(E|0)}t[g+128>>2]=0;t[g+132>>2]=-1;t[g>>2]=36200;t[g+56>>2]=36220;w=0;ue(180,a|0);A=w;w=0;do{if(A&1)e=je()|0;else{t[a>>2]=36236;s=g+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[g+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);A=w;w=0;if(A&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,g|0,49007,21)|0;A=w;w=0;do{if((!(A&1)?(w=0,b=pe(36,e|0,t[p>>2]|0)|0,A=w,w=0,!(A&1)):0)?(w=0,_e(28,b|0,50997,18)|0,A=w,w=0,!(A&1)):0){n=Ue(16)|0;w=0;ce(64,v|0,a|0);A=w;w=0;if(!(A&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,v|0);A=w;w=0;if(A&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(v);if(!r)break}else e=je()|0;He(n|0)}else E=64}while(0);if((E|0)==64)e=je()|0;t[g>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}}r=t[i+4>>2]|0;n=Lp(16)|0;e=t[e+20>>2]|0;if(!r){E=t[i>>2]|0;t[n>>2]=36132;t[n+4>>2]=E;t[n+8>>2]=2;t[n+12>>2]=e;E=n;c=y;return E|0}else{t[n>>2]=36108;t[n+4>>2]=r;t[n+8>>2]=2;t[n+12>>2]=e;E=n;c=y;return E|0}return 0}function bt(e){e=e|0;var i=0,r=0,f=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0;g=c;c=c+32|0;M=g+12|0;p=g;k=e+156|0;m=(t[k>>2]|0)+4|0;if((t[e+32>>2]|0)==1)v=t[e+24>>2]|0;else v=1;i=re(v<<1,m)|0;t[M>>2]=0;A=M+4|0;t[A>>2]=0;t[M+8>>2]=0;do{if(i){if(!((i|0)<0?(w=0,ue(178,M|0),y=w,w=0,y&1):0))l=6;if((l|0)==6?(r=i<<1,w=0,f=de(67,r|0)|0,y=w,w=0,!(y&1)):0){t[M>>2]=f;y=f+(i<<1)|0;t[M+8>>2]=y;ym(f|0,0,r|0)|0;t[A>>2]=y;break}f=je()|0;i=t[M>>2]|0;if(!i)Qe(f|0);r=t[A>>2]|0;if((r|0)!=(i|0))t[A>>2]=r+(~((r+-2-i|0)>>>1)<<1);Bp(i);Qe(f|0)}}while(0);t[p>>2]=0;y=p+4|0;t[y>>2]=0;t[p+8>>2]=0;do{if(!v)l=18;else{if(!(v>>>0>1073741823?(w=0,ue(178,p|0),_=w,w=0,_&1):0))l=16;if((l|0)==16?(a=v<<2,w=0,s=de(67,a|0)|0,_=w,w=0,!(_&1)):0){t[p>>2]=s;l=s+(v<<2)|0;t[p+8>>2]=l;ym(s|0,0,a|0)|0;t[y>>2]=l;l=18;break}f=je()|0;i=t[p>>2]|0;r=i;if(i){a=t[y>>2]|0;if((a|0)!=(i|0))t[y>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}}while(0);if((l|0)==18){s=e+12|0;e:do{if((t[s>>2]|0)>0){l=e+4580|0;o=(re(v,m)|0)+1|0;u=e+4584|0;h=e+92|0;d=(v|0)>0;b=e+4576|0;_=0;i:while(1){r=t[M>>2]|0;i=r+2|0;t[l>>2]=i;r=r+(o<<1)|0;t[u>>2]=r;if(!(_&1))i=r;else{t[l>>2]=r;t[u>>2]=i}a=t[h>>2]|0;w=0;Ce(t[(t[a>>2]|0)+12>>2]|0,a|0,i|0,t[k>>2]|0,m|0);a=w;w=0;if(a&1){l=28;break}if(d){i=t[l>>2]|0;r=t[u>>2]|0;f=t[p>>2]|0;a=0;do{t[b>>2]=t[f+(a<<2)>>2];f=t[k>>2]|0;n[i+(f<<1)>>1]=n[i+(f+-1<<1)>>1]|0;n[r+-2>>1]=n[i>>1]|0;w=0;ce(72,e|0,0);f=w;w=0;if(f&1){l=27;break i}f=t[p>>2]|0;t[f+(a<<2)>>2]=t[b>>2];i=(t[l>>2]|0)+(m<<1)|0;t[l>>2]=i;r=(t[u>>2]|0)+(m<<1)|0;t[u>>2]=r;a=a+1|0}while((a|0)<(v|0))}_=_+1|0;if((_|0)>=(t[s>>2]|0)){l=40;break e}}if((l|0)==27){f=je()|0;break}else if((l|0)==28){f=je()|0;break}}else l=40}while(0);do{if((l|0)==40){w=0;ue(182,e|0);e=w;w=0;if(e&1){f=je()|0;break}i=t[p>>2]|0;r=i;if(i){f=t[y>>2]|0;if((f|0)!=(i|0))t[y>>2]=f+(~((f+-4-r|0)>>>2)<<2);Bp(i)}i=t[M>>2]|0;if(!i){c=g;return}r=t[A>>2]|0;if((r|0)!=(i|0))t[A>>2]=r+(~((r+-2-i|0)>>>1)<<1);Bp(i);c=g;return}}while(0);i=t[p>>2]|0;r=i;if(i){a=t[y>>2]|0;if((a|0)!=(i|0))t[y>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}i=t[M>>2]|0;if(!i)Qe(f|0);r=t[A>>2]|0;if((r|0)!=(i|0))t[A>>2]=r+(~((r+-2-i|0)>>>1)<<1);Bp(i);Qe(f|0)}function _t(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0;_=e+4580|0;i=t[_>>2]|0;m=e+156|0;if((t[m>>2]|0)<=0)return;k=e+4584|0;w=e+4588|0;l=i;o=s[i+-2>>1]|0;i=s[i>>1]|0;b=0;while(1){d=t[k>>2]|0;h=s[d+(b+-1<<1)>>1]|0;a=b+1|0;r=s[l+(a<<1)>>1]|0;c=t[w>>2]|0;u=i-o|0;l=o-h|0;c=((((f[c+(r-i)>>0]|0)*9|0)+(f[c+u>>0]|0)|0)*9|0)+(f[c+l>>0]|0)|0;if(!c){a=(wt(e,b,0)|0)+b|0;r=t[_>>2]|0;i=s[r+(a+-1<<1)>>1]|0;r=s[r+(a<<1)>>1]|0}else{o=i-h>>31;if((o^l|0)<0)l=i;else l=h+((o^u|0)<0?0:u)|0;d=kt(e,c,s[d+(b<<1)>>1]|0,l,0)|0;n[(t[k>>2]|0)+(b<<1)>>1]=d}if((a|0)>=(t[m>>2]|0))break;l=t[_>>2]|0;o=i;i=r;b=a}return}function kt(e,i,r,f,a){e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0;k=i>>31;u=(k^i)-k|0;_=e+172+(u*12|0)+10|0;l=n[_>>1]|0;b=e+172+(u*12|0)|0;a=t[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){s=5;while(1)if((l<>1]^k)-k+f|0;if((a&4095|0)==(a|0))h=a;else h=a>>31&4095^4095;o=(r-h^k)-k<<20;c=o>>20;if(!s)a=(t[e+172+(u*12|0)+4>>2]<<1)+-1+l>>31;else a=0;f=a^c;f=f>>30^f<<1;a=f>>s;if((a|0)<35){if((a|0)>30){l=(a|0)/2|0;Bf(e,0,l);a=a-l|0}Bf(e,1,a+1|0);Bf(e,f&(1<>1]|0;a=l<<16>>16==64;s=a&1;r=(t[f>>2]|0)+c>>s;l=a?32:l<<16>>16;t[b>>2]=(t[b>>2]|0)+((o|0)>-1048576?c:0-c|0)>>s;s=l+1|0;n[_>>1]=s;a=s+r|0;if((a|0)<1){_=n[d>>1]|0;n[d>>1]=(_&65535)-(_<<16>>16>-128&1);_=(a|0)>(~l|0)?a:0-l|0;t[f>>2]=_;k=c^k;i=i>>>31;i=h+i|0;i=i+k|0;i=i&4095;i=i&65535;return i|0}if((r|0)<=0){_=r;t[f>>2]=_;k=c^k;i=i>>>31;i=h+i|0;i=i+k|0;i=i&4095;i=i&65535;return i|0}_=r-s|0;b=n[d>>1]|0;n[d>>1]=(b<<16>>16<127&1)+(b&65535);_=(_|0)>0?0:_;t[f>>2]=_;k=c^k;i=i>>>31;i=h+i|0;i=i+k|0;i=i&4095;i=i&65535;return i|0}function wt(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0;o=(t[e+156>>2]|0)-i|0;u=t[e+4584>>2]|0;h=t[e+4580>>2]|0;a=n[u+(i+-1<<1)>>1]|0;f=0;while(1){r=u+(f+i<<1)|0;if((n[r>>1]|0)!=a<<16>>16){d=f;break}n[r>>1]=a;f=f+1|0;if((f|0)==(o|0)){d=o;break}}l=a&65535;a=(d|0)==(o|0);c=e+4576|0;f=t[36476+(t[c>>2]<<2)>>2]|0;if((1<(d|0))r=d;else{r=d;do{Bf(e,1,1);f=t[c>>2]|0;r=r-(1<>2])|0;f=(f|0)>30?31:f+1|0;t[c>>2]=f;f=t[36476+(f<<2)>>2]|0}while((r|0)>=(1<>1]|0;r=s[h+(r<<1)>>1]|0;h=l-r|0;if((((h|0)>-1?h:0-h|0)|0)<1){r=f-l<<20>>20;mt(e,e+4564|0,r);r=r+l|0}else{h=r-l>>31|1;i=(re(f-r<<20,h)|0)>>20;mt(e,e+4552|0,i);r=(re(i,h)|0)+r|0}n[a>>1]=r&4095;e=t[c>>2]|0;t[c>>2]=(e|0)<1?0:e+-1|0;e=d+1|0;return e|0}function mt(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i+9|0;o=a[d>>0]|0;h=i+4|0;c=t[h>>2]|0;s=(re(o>>>1,c)|0)+(t[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0));s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0>>0:0)n=1;else u=5;do{if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}}while(0);n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;vt(e,s,n,47-(t[36476+(t[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;f[e>>0]=(a[e>>0]|0)+1}n=(n+1-(t[h>>2]|0)>>1)+(t[i>>2]|0)|0;t[i>>2]=n;s=f[d>>0]|0;if(s<<24>>24!=(f[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;f[d>>0]=i;return}t[i>>2]=n>>1;e=(s&255)>>>1;f[d>>0]=e;i=i+10|0;f[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;f[d>>0]=i;return}function vt(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,t=0;n=r>>i;t=f+-12|0;if((n|0)<(f+-13|0)){if((n|0)>30){f=(n|0)/2|0;Bf(e,0,f);n=n-f|0}Bf(e,1,n+1|0);Bf(e,(1<31){Bf(e,0,31);Bf(e,1,f+-43|0)}else Bf(e,1,t);Bf(e,r+4095&4095,12);return}function pt(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;o=h;op(o,4095,0);u=e+160|0;if(((t[o+4>>2]|0)==(t[u>>2]|0)?(t[o+8>>2]|0)==(t[e+164>>2]|0):0)?(t[o+12>>2]|0)==(t[e+168>>2]|0):0){u=t[8906]|0;t[e+4588>>2]=u+(((t[8907]|0)-u|0)>>>1);c=h;return}r=e+4592|0;n=e+4596|0;a=t[n>>2]|0;i=t[r>>2]|0;s=a-i|0;if(s>>>0>=8192){if(s>>>0>8192?(l=i+8192|0,(a|0)!=(l|0)):0)t[n>>2]=l}else{Yf(r,8192-s|0);i=t[r>>2]|0}o=e+4588|0;t[o>>2]=i+4096;l=e+168|0;a=e+164|0;s=-4096;while(1){i=t[l>>2]|0;if((s|0)>(0-i|0)){r=t[a>>2]|0;if((s|0)>(0-r|0)){n=t[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){f[(t[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;f[(t[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==4096)break}c=h;return}function gt(e){e=e|0;var i=0,r=0;t[e>>2]=35940;i=t[e+4592>>2]|0;if(i){r=e+4596|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36612;i=t[e+120>>2]|0;if(i){r=e+124|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+92|0;i=t[r>>2]|0;t[r>>2]=0;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=t[e>>2]|0;t[e>>2]=0;if(!i)return;tM[t[(t[i>>2]|0)+4>>2]&255](i);return}function yt(e){e=e|0;var i=0,r=0;t[e>>2]=35940;i=t[e+4592>>2]|0;if(i){r=e+4596|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36612;i=t[e+120>>2]|0;if(i){r=e+124|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+92|0;i=t[r>>2]|0;t[r>>2]=0;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=t[r>>2]|0;t[r>>2]=0;if(!i){Bp(e);return}tM[t[(t[i>>2]|0)+4>>2]&255](i);Bp(e);return}function Mt(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;op(u,255,0);o=t[i+4>>2]|0;l=t[i+8>>2]|0;l=(l|0)==0?t[u+8>>2]|0:l;a=t[i+12>>2]|0;a=(a|0)==0?t[u+12>>2]|0:a;i=t[i+16>>2]|0;r=t[u+16>>2]|0;t[e+160>>2]=(o|0)==0?t[u+4>>2]|0:o;t[e+164>>2]=l;t[e+168>>2]=a;Ot(e);a=0;do{t[e+172+(a*12|0)>>2]=4;t[e+172+(a*12|0)+4>>2]=0;n[e+172+(a*12|0)+8>>1]=0;n[e+172+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365);u=((i|0)==0?r:i)&255;t[e+4552>>2]=4;t[e+4556>>2]=0;f[e+4560>>0]=u;f[e+4561>>0]=1;f[e+4562>>0]=0;t[e+4564>>2]=4;t[e+4568>>2]=1;f[e+4572>>0]=u;f[e+4573>>0]=1;f[e+4574>>0]=0;t[e+4576>>2]=0;c=s;return}function At(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+16|0;h=b;u=e+92|0;o=t[i>>2]|0;t[i>>2]=0;i=t[u>>2]|0;t[u>>2]=o;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);t[h>>2]=0;t[h+4>>2]=a;u=r+8|0;t[h+8>>2]=t[u>>2];if(a){i=Lp(4600)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{t[s>>2]=t[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));s=i+88|0;o=s+40|0;do{t[s>>2]=0;s=s+4|0}while((s|0)<(o|0));t[i>>2]=35716;s=i+132|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[i+148>>2]=t[a>>2];t[i+152>>2]=0;t[i+156>>2]=0;t[i+160>>2]=0;s=i+4544|0;a=i+164|0;do{t[a>>2]=0;t[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0));l=e+4|0;t[s>>2]=0;t[s+4>>2]=0;n[s+8>>1]=0;f[s+10>>0]=0;o=i+4556|0;t[o>>2]=0;t[o+4>>2]=0;n[o+8>>1]=0;f[o+10>>0]=0;o=i+4568|0;t[o>>2]=0;t[o+4>>2]=0;t[o+8>>2]=0;t[o+12>>2]=0;t[o+16>>2]=0;t[o+20>>2]=0;t[o+24>>2]=0;f[o+28>>0]=0;if(!(t[i+28>>2]|0))t[i+20>>2]=1;a=t[l>>2]|0;t[l>>2]=i;if(a){tM[t[(t[a>>2]|0)+4>>2]&255](a);i=t[l>>2]|0}Cf(i,h)}h=e+100|0;t[h>>2]=32;t[e+96>>2]=0;i=t[r>>2]|0;if(!i){t[e+108>>2]=t[r+4>>2];t[e+104>>2]=t[u>>2];St(e);d=e+116|0;d=t[d>>2]|0;e=t[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}t[e+132>>2]=i;s=e+120|0;u=e+124|0;a=t[u>>2]|0;i=t[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(d=i+4e3|0,(a|0)!=(d|0)):0){t[u>>2]=d;a=d}}else{Pf(s,4e3-o|0);i=t[s>>2]|0;l=i;a=t[u>>2]|0}t[e+108>>2]=l;t[e+104>>2]=a-i;St(e);d=e+116|0;d=t[d>>2]|0;e=t[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}function Et(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;y=c;c=c+352|0;M=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;_=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((t[e+32>>2]|0)!=0?(t[e+24>>2]|0)!=1:0){m=e+8|0;p=e+36|0;l=t[p>>2]|0;if(!l){e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[r>>0]|0;Ce(44,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}e=t[e+16>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[n>>0]|0;Ce(45,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[a>>0]|0;Ce(46,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[s>>0]|0;Ce(47,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=A+56|0;a=A+4|0;t[A>>2]=36160;t[l>>2]=36180;w=0;ce(62,A+56|0,a|0);y=w;w=0;if(y&1){E=je()|0;nd(l);Qe(E|0)}t[A+128>>2]=0;t[A+132>>2]=-1;t[A>>2]=36200;t[A+56>>2]=36220;w=0;ue(180,a|0);y=w;w=0;do{if(y&1)e=je()|0;else{t[a>>2]=36236;s=A+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[A+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);y=w;w=0;if(y&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,A|0,49007,21)|0;M=w;w=0;do{if((!(M&1)?(w=0,d=pe(36,e|0,t[p>>2]|0)|0,M=w,w=0,!(M&1)):0)?(w=0,_e(28,d|0,50997,18)|0,M=w,w=0,!(M&1)):0){n=Ue(16)|0;w=0;ce(64,_|0,a|0);M=w;w=0;if(!(M&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,_|0);M=w;w=0;if(M&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(_);if(!r)break}else e=je()|0;He(n|0)}else E=34}while(0);if((E|0)==34)e=je()|0;t[A>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}if((e|0)<=8){e=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,e|0,8,35648);E=w;w=0;if(!(E&1))bi(e|0,824,96);E=je()|0;He(e|0);Qe(E|0)}r=16-e|0;switch(l|0){case 1:{e=Lp(60)|0;t[o>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[o>>2];t[M+4>>2]=t[o+4>>2];Ce(41,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(60)|0;t[u>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[u>>2];t[M+4>>2]=t[u+4>>2];Ce(42,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(60)|0;t[h>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[h>>2];t[M+4>>2]=t[h+4>>2];Ce(43,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=g+56|0;a=g+4|0;t[g>>2]=36160;t[l>>2]=36180;w=0;ce(62,g+56|0,a|0);A=w;w=0;if(A&1){E=je()|0;nd(l);Qe(E|0)}t[g+128>>2]=0;t[g+132>>2]=-1;t[g>>2]=36200;t[g+56>>2]=36220;w=0;ue(180,a|0);A=w;w=0;do{if(A&1)e=je()|0;else{t[a>>2]=36236;s=g+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[g+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);A=w;w=0;if(A&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,g|0,49007,21)|0;A=w;w=0;do{if((!(A&1)?(w=0,b=pe(36,e|0,t[p>>2]|0)|0,A=w,w=0,!(A&1)):0)?(w=0,_e(28,b|0,50997,18)|0,A=w,w=0,!(A&1)):0){n=Ue(16)|0;w=0;ce(64,v|0,a|0);A=w;w=0;if(!(A&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,v|0);A=w;w=0;if(A&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(v);if(!r)break}else e=je()|0;He(n|0)}else E=64}while(0);if((E|0)==64)e=je()|0;t[g>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}}r=t[i+4>>2]|0;n=Lp(16)|0;e=t[e+20>>2]|0;if(!r){E=t[i>>2]|0;t[n>>2]=36132;t[n+4>>2]=E;t[n+8>>2]=1;t[n+12>>2]=e;E=n;c=y;return E|0}else{t[n>>2]=36108;t[n+4>>2]=r;t[n+8>>2]=1;t[n+12>>2]=e;E=n;c=y;return E|0}return 0}function St(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0;p=c;c=c+32|0;y=p+12|0;v=p;_=e+156|0;k=(t[_>>2]|0)+4|0;if((t[e+32>>2]|0)==1)m=t[e+24>>2]|0;else m=1;i=re(m<<1,k)|0;t[y>>2]=0;M=y+4|0;t[M>>2]=0;t[y+8>>2]=0;e:do{if(i){if(!((i|0)<0?(w=0,ue(178,y|0),g=w,w=0,g&1):0))s=6;if((s|0)==6?(w=0,r=de(67,i|0)|0,g=w,w=0,!(g&1)):0){t[M>>2]=r;t[y>>2]=r;t[y+8>>2]=r+i;while(1){f[r>>0]=0;r=(t[M>>2]|0)+1|0;t[M>>2]=r;i=i+-1|0;if(!i)break e}}r=je()|0;i=t[y>>2]|0;if(!i)Qe(r|0);if((t[M>>2]|0)!=(i|0))t[M>>2]=i;Bp(i);Qe(r|0)}}while(0);t[v>>2]=0;g=v+4|0;t[g>>2]=0;t[v+8>>2]=0;do{if(!m)s=19;else{if(!(m>>>0>1073741823?(w=0,ue(178,v|0),b=w,w=0,b&1):0))s=17;if((s|0)==17?(n=m<<2,w=0,a=de(67,n|0)|0,b=w,w=0,!(b&1)):0){t[v>>2]=a;s=a+(m<<2)|0;t[v+8>>2]=s;ym(a|0,0,n|0)|0;t[g>>2]=s;s=19;break}r=je()|0;i=t[v>>2]|0;n=i;if(i){a=t[g>>2]|0;if((a|0)!=(i|0))t[g>>2]=a+(~((a+-4-n|0)>>>2)<<2);Bp(i)}}}while(0);if((s|0)==19){a=e+12|0;e:do{if((t[a>>2]|0)>0){s=e+4580|0;l=(re(m,k)|0)+1|0;o=e+4584|0;u=e+92|0;h=(m|0)>0;d=e+4576|0;b=0;i:while(1){r=t[y>>2]|0;i=r+1|0;t[s>>2]=i;r=r+l|0;t[o>>2]=r;if(!(b&1))i=r;else{t[s>>2]=r;t[o>>2]=i}n=t[u>>2]|0;w=0;Ce(t[(t[n>>2]|0)+12>>2]|0,n|0,i|0,t[_>>2]|0,k|0);n=w;w=0;if(n&1){s=29;break}if(h){i=t[s>>2]|0;r=t[v>>2]|0;n=0;do{t[d>>2]=t[r+(n<<2)>>2];r=t[_>>2]|0;f[i+r>>0]=f[i+(r+-1)>>0]|0;f[(t[o>>2]|0)+-1>>0]=f[t[s>>2]>>0]|0;w=0;ce(73,e|0,0);r=w;w=0;if(r&1){s=28;break i}r=t[v>>2]|0;t[r+(n<<2)>>2]=t[d>>2];i=(t[s>>2]|0)+k|0;t[s>>2]=i;t[o>>2]=(t[o>>2]|0)+k;n=n+1|0}while((n|0)<(m|0))}b=b+1|0;if((b|0)>=(t[a>>2]|0)){s=41;break e}}if((s|0)==28){r=je()|0;break}else if((s|0)==29){r=je()|0;break}}else s=41}while(0);do{if((s|0)==41){w=0;ue(182,e|0);e=w;w=0;if(e&1){r=je()|0;break}i=t[v>>2]|0;r=i;if(i){n=t[g>>2]|0;if((n|0)!=(i|0))t[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);Bp(i)}i=t[y>>2]|0;if(!i){c=p;return}if((t[M>>2]|0)!=(i|0))t[M>>2]=i;Bp(i);c=p;return}}while(0);i=t[v>>2]|0;n=i;if(i){a=t[g>>2]|0;if((a|0)!=(i|0))t[g>>2]=a+(~((a+-4-n|0)>>>2)<<2);Bp(i)}}i=t[y>>2]|0;if(!i)Qe(r|0);if((t[M>>2]|0)!=(i|0))t[M>>2]=i;Bp(i);Qe(r|0)}function Tt(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0;b=e+4580|0;i=t[b>>2]|0;w=e+156|0;if((t[w>>2]|0)<=0)return;_=e+4584|0;k=e+4588|0;s=i;l=a[i+-1>>0]|0;i=a[i>>0]|0;d=0;while(1){h=t[_>>2]|0;c=a[h+(d+-1)>>0]|0;n=d+1|0;r=a[s+n>>0]|0;u=t[k>>2]|0;o=i-l|0;s=l-c|0;u=((((f[u+(r-i)>>0]|0)*9|0)+(f[u+o>>0]|0)|0)*9|0)+(f[u+s>>0]|0)|0;if(!u){n=(Ct(e,d,0)|0)+d|0;r=t[b>>2]|0;i=a[r+(n+-1)>>0]|0;r=a[r+n>>0]|0}else{l=i-c>>31;if((l^s|0)<0)s=i;else s=c+((l^o|0)<0?0:o)|0;h=Rt(e,u,a[h+d>>0]|0,s,0)|0;f[(t[_>>2]|0)+d>>0]=h}if((n|0)>=(t[w>>2]|0))break;s=t[b>>2]|0;l=i;i=r;d=n}return}function Rt(e,i,r,f,a){e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0;k=i>>31;u=(k^i)-k|0;_=e+172+(u*12|0)+10|0;l=n[_>>1]|0;b=e+172+(u*12|0)|0;a=t[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){s=5;while(1)if((l<>1]^k)-k+f|0;if((a&255|0)==(a|0))h=a;else h=a>>31&255^255;o=(r-h^k)-k<<24;c=o>>24;if(!s)a=(t[e+172+(u*12|0)+4>>2]<<1)+-1+l>>31;else a=0;a=a^c;a=a>>30^a<<1;f=a>>s;if((f|0)<23){Bf(e,1,f+1|0);Bf(e,a&(1<>1]|0;a=l<<16>>16==64;s=a&1;r=(t[f>>2]|0)+c>>s;l=a?32:l<<16>>16;t[b>>2]=(t[b>>2]|0)+((o|0)>-16777216?c:0-c|0)>>s;s=l+1|0;n[_>>1]=s;a=s+r|0;if((a|0)<1){_=n[d>>1]|0;n[d>>1]=(_&65535)-(_<<16>>16>-128&1);_=(a|0)>(~l|0)?a:0-l|0;t[f>>2]=_;k=c^k;i=i>>>31;i=h+i|0;i=i+k|0;i=i&255;return i|0}if((r|0)<=0){_=r;t[f>>2]=_;k=c^k;i=i>>>31;i=h+i|0;i=i+k|0;i=i&255;return i|0}_=r-s|0;b=n[d>>1]|0;n[d>>1]=(b<<16>>16<127&1)+(b&65535);_=(_|0)>0?0:_;t[f>>2]=_;k=c^k;i=i>>>31;i=h+i|0;i=i+k|0;i=i&255;return i|0}function Ct(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;o=(t[e+156>>2]|0)-i|0;u=t[e+4584>>2]|0;h=t[e+4580>>2]|0;s=f[u+(i+-1)>>0]|0;n=0;while(1){r=u+(n+i)|0;if((f[r>>0]|0)!=s<<24>>24){d=n;break}f[r>>0]=s;n=n+1|0;if((n|0)==(o|0)){d=o;break}}l=s&255;s=(d|0)==(o|0);c=e+4576|0;n=t[36476+(t[c>>2]<<2)>>2]|0;if((1<(d|0))r=d;else{r=d;do{Bf(e,1,1);n=t[c>>2]|0;r=r-(1<>2])|0;n=(n|0)>30?31:n+1|0;t[c>>2]=n;n=t[36476+(n<<2)>>2]|0}while((r|0)>=(1<>0]|0;r=a[h+r>>0]|0;h=l-r|0;if((((h|0)>-1?h:0-h|0)|0)<1){r=n-l<<24>>24;Pt(e,e+4564|0,r);r=r+l|0}else{h=r-l>>31|1;i=(re(n-r<<24,h)|0)>>24;Pt(e,e+4552|0,i);r=(re(i,h)|0)+r|0}f[s>>0]=r;e=t[c>>2]|0;t[c>>2]=(e|0)<1?0:e+-1|0;e=d+1|0;return e|0}function Pt(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i+9|0;o=a[d>>0]|0;h=i+4|0;c=t[h>>2]|0;s=(re(o>>>1,c)|0)+(t[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0));s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0>>0:0)n=1;else u=5;do{if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}}while(0);n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;It(e,s,n,31-(t[36476+(t[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;f[e>>0]=(a[e>>0]|0)+1}n=(n+1-(t[h>>2]|0)>>1)+(t[i>>2]|0)|0;t[i>>2]=n;s=f[d>>0]|0;if(s<<24>>24!=(f[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;f[d>>0]=i;return}t[i>>2]=n>>1;e=(s&255)>>>1;f[d>>0]=e;i=i+10|0;f[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;f[d>>0]=i;return}function It(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,t=0;n=r>>i;t=f+-8|0;if((n|0)<(f+-9|0)){if((n|0)>30){f=(n|0)/2|0;Bf(e,0,f);n=n-f|0}Bf(e,1,n+1|0);Bf(e,(1<31){Bf(e,0,31);Bf(e,1,f+-39|0)}else Bf(e,1,t);Bf(e,r+255&255,8);return}function Ot(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;o=h;op(o,255,0);u=e+160|0;if(((t[o+4>>2]|0)==(t[u>>2]|0)?(t[o+8>>2]|0)==(t[e+164>>2]|0):0)?(t[o+12>>2]|0)==(t[e+168>>2]|0):0){u=t[8900]|0;t[e+4588>>2]=u+(((t[8901]|0)-u|0)>>>1);c=h;return}r=e+4592|0;n=e+4596|0;a=t[n>>2]|0;i=t[r>>2]|0;s=a-i|0;if(s>>>0>=512){if(s>>>0>512?(l=i+512|0,(a|0)!=(l|0)):0)t[n>>2]=l}else{Yf(r,512-s|0);i=t[r>>2]|0}o=e+4588|0;t[o>>2]=i+256;l=e+168|0;a=e+164|0;s=-256;while(1){i=t[l>>2]|0;if((s|0)>(0-i|0)){r=t[a>>2]|0;if((s|0)>(0-r|0)){n=t[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){f[(t[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;f[(t[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==256)break}c=h;return}function xt(e){e=e|0;var i=0,r=0;t[e>>2]=35912;i=t[e+4592>>2]|0;if(i){r=e+4596|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36612;i=t[e+120>>2]|0;if(i){r=e+124|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+92|0;i=t[r>>2]|0;t[r>>2]=0;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=t[e>>2]|0;t[e>>2]=0;if(!i)return;tM[t[(t[i>>2]|0)+4>>2]&255](i);return}function Lt(e){e=e|0;var i=0,r=0;t[e>>2]=35912;i=t[e+4592>>2]|0;if(i){r=e+4596|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36612;i=t[e+120>>2]|0;if(i){r=e+124|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+92|0;i=t[r>>2]|0;t[r>>2]=0;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=t[r>>2]|0;t[r>>2]=0;if(!i){Bp(e);return}tM[t[(t[i>>2]|0)+4>>2]&255](i);Bp(e);return}function Bt(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;op(u,255,0);o=t[i+4>>2]|0;l=t[i+8>>2]|0;l=(l|0)==0?t[u+8>>2]|0:l;a=t[i+12>>2]|0;a=(a|0)==0?t[u+12>>2]|0:a;i=t[i+16>>2]|0;r=t[u+16>>2]|0;t[e+160>>2]=(o|0)==0?t[u+4>>2]|0:o;t[e+164>>2]=l;t[e+168>>2]=a;qt(e);a=0;do{t[e+172+(a*12|0)>>2]=4;t[e+172+(a*12|0)+4>>2]=0;n[e+172+(a*12|0)+8>>1]=0;n[e+172+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365);u=((i|0)==0?r:i)&255;t[e+4552>>2]=4;t[e+4556>>2]=0;f[e+4560>>0]=u;f[e+4561>>0]=1;f[e+4562>>0]=0;t[e+4564>>2]=4;t[e+4568>>2]=1;f[e+4572>>0]=u;f[e+4573>>0]=1;f[e+4574>>0]=0;t[e+4576>>2]=0;c=s;return}function zt(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+16|0;h=b;u=e+92|0;o=t[i>>2]|0;t[i>>2]=0;i=t[u>>2]|0;t[u>>2]=o;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);t[h>>2]=0;t[h+4>>2]=a;u=r+8|0;t[h+8>>2]=t[u>>2];if(a){i=Lp(4600)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{t[s>>2]=t[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));s=i+88|0;o=s+40|0;do{t[s>>2]=0;s=s+4|0}while((s|0)<(o|0));t[i>>2]=35688;s=i+132|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[i+148>>2]=t[a>>2];t[i+152>>2]=0;t[i+156>>2]=0;t[i+160>>2]=0;s=i+4544|0;a=i+164|0;do{t[a>>2]=0;t[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0));l=e+4|0;t[s>>2]=0;t[s+4>>2]=0;n[s+8>>1]=0;f[s+10>>0]=0;o=i+4556|0;t[o>>2]=0;t[o+4>>2]=0;n[o+8>>1]=0;f[o+10>>0]=0;o=i+4568|0;t[o>>2]=0;t[o+4>>2]=0;t[o+8>>2]=0;t[o+12>>2]=0;t[o+16>>2]=0;t[o+20>>2]=0;t[o+24>>2]=0;f[o+28>>0]=0;if(!(t[i+28>>2]|0))t[i+20>>2]=1;a=t[l>>2]|0;t[l>>2]=i;if(a){tM[t[(t[a>>2]|0)+4>>2]&255](a);i=t[l>>2]|0}Cf(i,h)}h=e+100|0;t[h>>2]=32;t[e+96>>2]=0;i=t[r>>2]|0;if(!i){t[e+108>>2]=t[r+4>>2];t[e+104>>2]=t[u>>2];Nt(e);d=e+116|0;d=t[d>>2]|0;e=t[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}t[e+132>>2]=i;s=e+120|0;u=e+124|0;a=t[u>>2]|0;i=t[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(d=i+4e3|0,(a|0)!=(d|0)):0){t[u>>2]=d;a=d}}else{Pf(s,4e3-o|0);i=t[s>>2]|0;l=i;a=t[u>>2]|0}t[e+108>>2]=l;t[e+104>>2]=a-i;Nt(e);d=e+116|0;d=t[d>>2]|0;e=t[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}function Dt(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;y=c;c=c+352|0;M=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;_=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((t[e+32>>2]|0)!=0?(t[e+24>>2]|0)!=1:0){m=e+8|0;p=e+36|0;l=t[p>>2]|0;if(!l){e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[r>>0]|0;Ce(44,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}e=t[e+16>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[n>>0]|0;Ce(45,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[a>>0]|0;Ce(46,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[s>>0]|0;Ce(47,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=A+56|0;a=A+4|0;t[A>>2]=36160;t[l>>2]=36180;w=0;ce(62,A+56|0,a|0);y=w;w=0;if(y&1){E=je()|0;nd(l);Qe(E|0)}t[A+128>>2]=0;t[A+132>>2]=-1;t[A>>2]=36200;t[A+56>>2]=36220;w=0;ue(180,a|0);y=w;w=0;do{if(y&1)e=je()|0;else{t[a>>2]=36236;s=A+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[A+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);y=w;w=0;if(y&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,A|0,49007,21)|0;M=w;w=0;do{if((!(M&1)?(w=0,d=pe(36,e|0,t[p>>2]|0)|0,M=w,w=0,!(M&1)):0)?(w=0,_e(28,d|0,50997,18)|0,M=w,w=0,!(M&1)):0){n=Ue(16)|0;w=0;ce(64,_|0,a|0);M=w;w=0;if(!(M&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,_|0);M=w;w=0;if(M&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(_);if(!r)break}else e=je()|0;He(n|0)}else E=34}while(0);if((E|0)==34)e=je()|0;t[A>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}if((e|0)<=8){e=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,e|0,8,35648);E=w;w=0;if(!(E&1))bi(e|0,824,96);E=je()|0;He(e|0);Qe(E|0)}r=16-e|0;switch(l|0){case 1:{e=Lp(60)|0;t[o>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[o>>2];t[M+4>>2]=t[o+4>>2];Ce(41,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(60)|0;t[u>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[u>>2];t[M+4>>2]=t[u+4>>2];Ce(42,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(60)|0;t[h>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[h>>2];t[M+4>>2]=t[h+4>>2];Ce(43,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=g+56|0;a=g+4|0;t[g>>2]=36160;t[l>>2]=36180;w=0;ce(62,g+56|0,a|0);A=w;w=0;if(A&1){E=je()|0;nd(l);Qe(E|0)}t[g+128>>2]=0;t[g+132>>2]=-1;t[g>>2]=36200;t[g+56>>2]=36220;w=0;ue(180,a|0);A=w;w=0;do{if(A&1)e=je()|0;else{t[a>>2]=36236;s=g+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[g+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);A=w;w=0;if(A&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,g|0,49007,21)|0;A=w;w=0;do{if((!(A&1)?(w=0,b=pe(36,e|0,t[p>>2]|0)|0,A=w,w=0,!(A&1)):0)?(w=0,_e(28,b|0,50997,18)|0,A=w,w=0,!(A&1)):0){n=Ue(16)|0;w=0;ce(64,v|0,a|0);A=w;w=0;if(!(A&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,v|0);A=w;w=0;if(A&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(v);if(!r)break}else e=je()|0;He(n|0)}else E=64}while(0);if((E|0)==64)e=je()|0;t[g>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}}r=t[i+4>>2]|0;n=Lp(16)|0;e=t[e+20>>2]|0;if(!r){E=t[i>>2]|0;t[n>>2]=36132;t[n+4>>2]=E;t[n+8>>2]=3;t[n+12>>2]=e;E=n;c=y;return E|0}else{t[n>>2]=36108;t[n+4>>2]=r;t[n+8>>2]=3;t[n+12>>2]=e;E=n;c=y;return E|0}return 0}function Nt(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0;p=c;c=c+32|0;y=p+12|0;v=p;_=e+156|0;k=(t[_>>2]|0)+4|0;if((t[e+32>>2]|0)==1)m=t[e+24>>2]|0;else m=1;i=re(m<<1,k)|0;t[y>>2]=0;M=y+4|0;t[M>>2]=0;t[y+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(w=0,ue(178,y|0),g=w,w=0,g&1):0))s=6;if((s|0)==6?(w=0,r=de(67,i*3|0)|0,g=w,w=0,!(g&1)):0){t[M>>2]=r;t[y>>2]=r;t[y+8>>2]=r+(i*3|0);while(1){f[r>>0]=0;f[r+1>>0]=0;f[r+2>>0]=0;r=(t[M>>2]|0)+3|0;t[M>>2]=r;i=i+-1|0;if(!i)break e}}n=je()|0;i=t[y>>2]|0;if(!i)Qe(n|0);r=t[M>>2]|0;if((r|0)!=(i|0))t[M>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Bp(i);Qe(n|0)}}while(0);t[v>>2]=0;g=v+4|0;t[g>>2]=0;t[v+8>>2]=0;do{if(!m)s=19;else{if(!(m>>>0>1073741823?(w=0,ue(178,v|0),b=w,w=0,b&1):0))s=17;if((s|0)==17?(n=m<<2,w=0,a=de(67,n|0)|0,b=w,w=0,!(b&1)):0){t[v>>2]=a;s=a+(m<<2)|0;t[v+8>>2]=s;ym(a|0,0,n|0)|0;t[g>>2]=s;s=19;break}n=je()|0;i=t[v>>2]|0;r=i;if(i){a=t[g>>2]|0;if((a|0)!=(i|0))t[g>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}}while(0);if((s|0)==19){a=e+12|0;e:do{if((t[a>>2]|0)>0){s=e+4580|0;l=(re(m,k)|0)+1|0;o=e+4584|0;u=e+92|0;h=(m|0)>0;d=e+4576|0;b=0;i:while(1){n=t[y>>2]|0;i=n+3|0;t[s>>2]=i;r=n+(l*3|0)|0;t[o>>2]=r;if(!(b&1))i=l;else{t[s>>2]=r;t[o>>2]=i;i=1}r=t[u>>2]|0;w=0;Ce(t[(t[r>>2]|0)+12>>2]|0,r|0,n+(i*3|0)|0,t[_>>2]|0,k|0);n=w;w=0;if(n&1){s=29;break}if(h){i=t[v>>2]|0;r=t[s>>2]|0;n=0;do{t[d>>2]=t[i+(n<<2)>>2];A=t[_>>2]|0;i=r+(A*3|0)|0;r=r+((A+-1|0)*3|0)|0;f[i>>0]=f[r>>0]|0;f[i+1>>0]=f[r+1>>0]|0;f[i+2>>0]=f[r+2>>0]|0;i=t[s>>2]|0;r=(t[o>>2]|0)+-3|0;f[r>>0]=f[i>>0]|0;f[r+1>>0]=f[i+1>>0]|0;f[r+2>>0]=f[i+2>>0]|0;w=0;ce(74,e|0,0);r=w;w=0;if(r&1){s=28;break i}i=t[v>>2]|0;t[i+(n<<2)>>2]=t[d>>2];r=(t[s>>2]|0)+(k*3|0)|0;t[s>>2]=r;t[o>>2]=(t[o>>2]|0)+(k*3|0);n=n+1|0}while((n|0)<(m|0))}b=b+1|0;if((b|0)>=(t[a>>2]|0)){s=41;break e}}if((s|0)==28){n=je()|0;break}else if((s|0)==29){n=je()|0;break}}else s=41}while(0);do{if((s|0)==41){w=0;ue(182,e|0);A=w;w=0;if(A&1){n=je()|0;break}i=t[v>>2]|0;r=i;if(i){n=t[g>>2]|0;if((n|0)!=(i|0))t[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);Bp(i)}i=t[y>>2]|0;if(!i){c=p;return}r=t[M>>2]|0;if((r|0)!=(i|0))t[M>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Bp(i);c=p;return}}while(0);i=t[v>>2]|0;r=i;if(i){a=t[g>>2]|0;if((a|0)!=(i|0))t[g>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}i=t[y>>2]|0;if(!i)Qe(n|0);r=t[M>>2]|0;if((r|0)!=(i|0))t[M>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Bp(i);Qe(n|0)}function Ft(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0;S=e+156|0;if((t[S>>2]|0)<=0)return;T=e+4584|0;R=e+4580|0;C=e+4588|0;E=0;while(1){y=E+-1|0;l=t[T>>2]|0;o=t[R>>2]|0;i=E+1|0;s=a[o+(E*3|0)>>0]|0;A=t[C>>2]|0;u=a[o+(y*3|0)>>0]|0;c=s-u|0;h=a[l+(y*3|0)>>0]|0;d=u-h|0;b=((((f[A+((a[o+(i*3|0)>>0]|0)-s)>>0]|0)*9|0)+(f[A+c>>0]|0)|0)*9|0)+(f[A+d>>0]|0)|0;n=a[o+(E*3|0)+1>>0]|0;_=a[o+(y*3|0)+1>>0]|0;k=n-_|0;w=a[l+(y*3|0)+1>>0]|0;m=_-w|0;v=((((f[A+((a[o+(i*3|0)+1>>0]|0)-n)>>0]|0)*9|0)+(f[A+k>>0]|0)|0)*9|0)+(f[A+m>>0]|0)|0;r=a[o+(E*3|0)+2>>0]|0;p=a[o+(y*3|0)+2>>0]|0;g=r-p|0;y=a[l+(y*3|0)+2>>0]|0;M=p-y|0;A=((((f[A+((a[o+(i*3|0)+2>>0]|0)-r)>>0]|0)*9|0)+(f[A+g>>0]|0)|0)*9|0)+(f[A+M>>0]|0)|0;if(!(v|b|A))i=(Ht(e,E,0)|0)+E|0;else{o=a[l+(E*3|0)>>0]|0;l=s-h>>31;if((l^d|0)>=0)if((l^c|0)<0)s=h;else s=h-u+s|0;o=Ut(e,b,o,s,0)|0;l=a[(t[T>>2]|0)+(E*3|0)+1>>0]|0;s=n-w>>31;if((s^m|0)>=0)if((s^k|0)<0)n=w;else n=w-_+n|0;s=Ut(e,v,l,n,0)|0;l=a[(t[T>>2]|0)+(E*3|0)+2>>0]|0;n=r-y>>31;if((n^M|0)>=0)if((n^g|0)<0)r=y;else r=y-p+r|0;A=Ut(e,A,l,r,0)|0;E=(t[T>>2]|0)+(E*3|0)|0;f[E>>0]=o;f[E+1>>0]=s;f[E+2>>0]=A}if((i|0)<(t[S>>2]|0))E=i;else break}return}function Ht(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0;h=(t[e+156>>2]|0)-i|0;d=t[e+4584>>2]|0;b=t[e+4580>>2]|0;c=d+((i+-1|0)*3|0)|0;_=f[c>>0]|0;u=f[c+1>>0]|0;c=f[c+2>>0]|0;l=0;while(1){r=d+((l+i|0)*3|0)|0;n=r+1|0;s=r+2|0;if(!(((f[r>>0]|0)==_<<24>>24?(f[n>>0]|0)==u<<24>>24:0)&(f[s>>0]|0)==c<<24>>24))break;f[r>>0]=_;f[n>>0]=u;f[s>>0]=c;l=l+1|0;if((l|0)==(h|0)){l=h;break}}s=(l|0)==(h|0);o=e+4576|0;n=t[36476+(t[o>>2]<<2)>>2]|0;if((1<(l|0))r=l;else{r=l;do{Bf(e,1,1);n=t[o>>2]|0;r=r-(1<>2])|0;n=(n|0)>30?31:n+1|0;t[o>>2]=n;n=t[36476+(n<<2)>>2]|0}while((r|0)>=(1<>0]|0;i=h+2|0;r=f[i>>0]|0;b=b+(k*3|0)|0;k=f[b+1>>0]|0;v=f[b+2>>0]|0;b=a[b>>0]|0;s=b-(_&255)>>31|1;n=(re((a[h>>0]|0)-b<<24,s)|0)>>24;m=e+4552|0;jt(e,m,n);_=k&255;k=_-(u&255)>>31|1;w=(re((w&255)-_<<24,k)|0)>>24;jt(e,m,w);u=v&255;c=u-(c&255)>>31|1;r=(re((r&255)-u<<24,c)|0)>>24;jt(e,m,r);_=(re(w,k)|0)+_&255;e=(re(r,c)|0)+u&255;f[h>>0]=(re(n,s)|0)+b;f[d>>0]=_;f[i>>0]=e;e=t[o>>2]|0;t[o>>2]=(e|0)<1?0:e+-1|0;e=l+1|0;return e|0}if(!r){v=h;return v|0}Bf(e,1,1);v=h;return v|0}function Ut(e,i,r,f,a){e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0;k=i>>31;u=(k^i)-k|0;_=e+172+(u*12|0)+10|0;l=n[_>>1]|0;b=e+172+(u*12|0)|0;a=t[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){s=5;while(1)if((l<>1]^k)-k+f|0;if((a&255|0)==(a|0))h=a;else h=a>>31&255^255;o=(r-h^k)-k<<24;c=o>>24;if(!s)a=(t[e+172+(u*12|0)+4>>2]<<1)+-1+l>>31;else a=0;a=a^c;a=a>>30^a<<1;f=a>>s;if((f|0)<23){Bf(e,1,f+1|0);Bf(e,a&(1<>1]|0;a=l<<16>>16==64;s=a&1;r=(t[f>>2]|0)+c>>s;l=a?32:l<<16>>16;t[b>>2]=(t[b>>2]|0)+((o|0)>-16777216?c:0-c|0)>>s;s=l+1|0;n[_>>1]=s;a=s+r|0;if((a|0)<1){_=n[d>>1]|0;n[d>>1]=(_&65535)-(_<<16>>16>-128&1);_=(a|0)>(~l|0)?a:0-l|0;t[f>>2]=_;k=c^k;i=i>>>31;i=h+i|0;i=i+k|0;i=i&255;return i|0}if((r|0)<=0){_=r;t[f>>2]=_;k=c^k;i=i>>>31;i=h+i|0;i=i+k|0;i=i&255;return i|0}_=r-s|0;b=n[d>>1]|0;n[d>>1]=(b<<16>>16<127&1)+(b&65535);_=(_|0)>0?0:_;t[f>>2]=_;k=c^k;i=i>>>31;i=h+i|0;i=i+k|0;i=i&255;return i|0}function jt(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i+9|0;o=a[d>>0]|0;h=i+4|0;c=t[h>>2]|0;s=(re(o>>>1,c)|0)+(t[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0));s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0>>0:0)n=1;else u=5;do{if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}}while(0);n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;Yt(e,s,n,31-(t[36476+(t[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;f[e>>0]=(a[e>>0]|0)+1}n=(n+1-(t[h>>2]|0)>>1)+(t[i>>2]|0)|0;t[i>>2]=n;s=f[d>>0]|0;if(s<<24>>24!=(f[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;f[d>>0]=i;return}t[i>>2]=n>>1;e=(s&255)>>>1;f[d>>0]=e;i=i+10|0;f[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;f[d>>0]=i;return}function Yt(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,t=0;n=r>>i;t=f+-8|0;if((n|0)<(f+-9|0)){if((n|0)>30){f=(n|0)/2|0;Bf(e,0,f);n=n-f|0}Bf(e,1,n+1|0);Bf(e,(1<31){Bf(e,0,31);Bf(e,1,f+-39|0)}else Bf(e,1,t);Bf(e,r+255&255,8);return}function qt(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;o=h;op(o,255,0);u=e+160|0;if(((t[o+4>>2]|0)==(t[u>>2]|0)?(t[o+8>>2]|0)==(t[e+164>>2]|0):0)?(t[o+12>>2]|0)==(t[e+168>>2]|0):0){u=t[8900]|0;t[e+4588>>2]=u+(((t[8901]|0)-u|0)>>>1);c=h;return}r=e+4592|0;n=e+4596|0;a=t[n>>2]|0;i=t[r>>2]|0;s=a-i|0;if(s>>>0>=512){if(s>>>0>512?(l=i+512|0,(a|0)!=(l|0)):0)t[n>>2]=l}else{Yf(r,512-s|0);i=t[r>>2]|0}o=e+4588|0;t[o>>2]=i+256;l=e+168|0;a=e+164|0;s=-256;while(1){i=t[l>>2]|0;if((s|0)>(0-i|0)){r=t[a>>2]|0;if((s|0)>(0-r|0)){n=t[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){f[(t[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;f[(t[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==256)break}c=h;return}function $t(e){e=e|0;var i=0,r=0;t[e>>2]=35884;i=t[e+4616>>2]|0;if(i){r=e+4620|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36612;i=t[e+120>>2]|0;if(i){r=e+124|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+92|0;i=t[r>>2]|0;t[r>>2]=0;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=t[e>>2]|0;t[e>>2]=0;if(!i)return;tM[t[(t[i>>2]|0)+4>>2]&255](i);return}function Vt(e){e=e|0;var i=0,r=0;t[e>>2]=35884;i=t[e+4616>>2]|0;if(i){r=e+4620|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36612;i=t[e+120>>2]|0;if(i){r=e+124|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+92|0;i=t[r>>2]|0;t[r>>2]=0;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=t[r>>2]|0;t[r>>2]=0;if(!i){Bp(e);return}tM[t[(t[i>>2]|0)+4>>2]&255](i);Bp(e);return}function Xt(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,h=0;o=c;c=c+32|0;h=o;op(h,t[e+136>>2]|0,t[e+144>>2]|0);u=t[i+4>>2]|0;l=t[i+8>>2]|0;l=(l|0)==0?t[h+8>>2]|0:l;s=t[i+12>>2]|0;s=(s|0)==0?t[h+12>>2]|0:s;r=t[i+16>>2]|0;a=t[h+16>>2]|0;t[e+184>>2]=(u|0)==0?t[h+4>>2]|0:u;t[e+188>>2]=l;t[e+192>>2]=s;fa(e);s=e+140|0;i=(t[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{t[e+196+(l*12|0)>>2]=i;t[e+196+(l*12|0)+4>>2]=0;n[e+196+(l*12|0)+8>>1]=0;n[e+196+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365);u=(t[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;h=((r|0)==0?a:r)&255;t[e+4576>>2]=u;t[e+4580>>2]=0;f[e+4584>>0]=h;f[e+4585>>0]=1;f[e+4586>>0]=0;t[e+4588>>2]=u;t[e+4592>>2]=1;f[e+4596>>0]=h;f[e+4597>>0]=1;f[e+4598>>0]=0;t[e+4600>>2]=0;c=o;return}function Gt(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+16|0;h=b;u=e+92|0;o=t[i>>2]|0;t[i>>2]=0;i=t[u>>2]|0;t[u>>2]=o;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);t[h>>2]=0;t[h+4>>2]=a;u=r+8|0;t[h+8>>2]=t[u>>2];if(a){i=Lp(4624)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{t[s>>2]=t[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));s=i+88|0;o=s+40|0;do{t[s>>2]=0;s=s+4|0}while((s|0)<(o|0));t[i>>2]=35660;t[i+128>>2]=t[e+136>>2];t[i+132>>2]=t[e+140>>2];t[i+136>>2]=t[e+144>>2];t[i+140>>2]=t[e+148>>2];t[i+144>>2]=t[e+152>>2];t[i+148>>2]=t[e+156>>2];t[i+152>>2]=t[e+160>>2];s=i+156|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[i+172>>2]=t[a>>2];t[i+176>>2]=0;t[i+180>>2]=0;t[i+184>>2]=0;s=i+4568|0;a=i+188|0;do{t[a>>2]=0;t[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0));l=e+4|0;t[s>>2]=0;t[s+4>>2]=0;n[s+8>>1]=0;f[s+10>>0]=0;o=i+4580|0;t[o>>2]=0;t[o+4>>2]=0;n[o+8>>1]=0;f[o+10>>0]=0;o=i+4592|0;t[o>>2]=0;t[o+4>>2]=0;t[o+8>>2]=0;t[o+12>>2]=0;t[o+16>>2]=0;t[o+20>>2]=0;t[o+24>>2]=0;f[o+28>>0]=0;if(!(t[i+28>>2]|0))t[i+20>>2]=1;a=t[l>>2]|0;t[l>>2]=i;if(a){tM[t[(t[a>>2]|0)+4>>2]&255](a);i=t[l>>2]|0}Cf(i,h)}h=e+100|0;t[h>>2]=32;t[e+96>>2]=0;i=t[r>>2]|0;if(!i){t[e+108>>2]=t[r+4>>2];t[e+104>>2]=t[u>>2];Wt(e);d=e+116|0;d=t[d>>2]|0;e=t[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}t[e+132>>2]=i;s=e+120|0;u=e+124|0;a=t[u>>2]|0;i=t[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(d=i+4e3|0,(a|0)!=(d|0)):0){t[u>>2]=d;a=d}}else{Pf(s,4e3-o|0);i=t[s>>2]|0;l=i;a=t[u>>2]|0}t[e+108>>2]=l;t[e+104>>2]=a-i;Wt(e);d=e+116|0;d=t[d>>2]|0;e=t[h>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=d-e|0;c=b;return e|0}function Kt(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;y=c;c=c+352|0;M=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;_=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((t[e+32>>2]|0)!=0?(t[e+24>>2]|0)!=1:0){m=e+8|0;p=e+36|0;l=t[p>>2]|0;if(!l){e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[r>>0]|0;Ce(44,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}e=t[e+16>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[n>>0]|0;Ce(45,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[a>>0]|0;Ce(46,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[s>>0]|0;Ce(47,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=A+56|0;a=A+4|0;t[A>>2]=36160;t[l>>2]=36180;w=0;ce(62,A+56|0,a|0);y=w;w=0;if(y&1){E=je()|0;nd(l);Qe(E|0)}t[A+128>>2]=0;t[A+132>>2]=-1;t[A>>2]=36200;t[A+56>>2]=36220;w=0;ue(180,a|0);y=w;w=0;do{if(y&1)e=je()|0;else{t[a>>2]=36236;s=A+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[A+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);y=w;w=0;if(y&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,A|0,49007,21)|0;M=w;w=0;do{if((!(M&1)?(w=0,d=pe(36,e|0,t[p>>2]|0)|0,M=w,w=0,!(M&1)):0)?(w=0,_e(28,d|0,50997,18)|0,M=w,w=0,!(M&1)):0){n=Ue(16)|0;w=0;ce(64,_|0,a|0);M=w;w=0;if(!(M&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,_|0);M=w;w=0;if(M&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(_);if(!r)break}else e=je()|0;He(n|0)}else E=34}while(0);if((E|0)==34)e=je()|0;t[A>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}if((e|0)<=8){e=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,e|0,8,35648);E=w;w=0;if(!(E&1))bi(e|0,824,96);E=je()|0;He(e|0);Qe(E|0)}r=16-e|0;switch(l|0){case 1:{e=Lp(60)|0;t[o>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[o>>2];t[M+4>>2]=t[o+4>>2];Ce(41,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(60)|0;t[u>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[u>>2];t[M+4>>2]=t[u+4>>2];Ce(42,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(60)|0;t[h>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[h>>2];t[M+4>>2]=t[h+4>>2];Ce(43,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=g+56|0;a=g+4|0;t[g>>2]=36160;t[l>>2]=36180;w=0;ce(62,g+56|0,a|0);A=w;w=0;if(A&1){E=je()|0;nd(l);Qe(E|0)}t[g+128>>2]=0;t[g+132>>2]=-1;t[g>>2]=36200;t[g+56>>2]=36220;w=0;ue(180,a|0);A=w;w=0;do{if(A&1)e=je()|0;else{t[a>>2]=36236;s=g+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[g+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);A=w;w=0;if(A&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,g|0,49007,21)|0;A=w;w=0;do{if((!(A&1)?(w=0,b=pe(36,e|0,t[p>>2]|0)|0,A=w,w=0,!(A&1)):0)?(w=0,_e(28,b|0,50997,18)|0,A=w,w=0,!(A&1)):0){n=Ue(16)|0;w=0;ce(64,v|0,a|0);A=w;w=0;if(!(A&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,v|0);A=w;w=0;if(A&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(v);if(!r)break}else e=je()|0;He(n|0)}else E=64}while(0);if((E|0)==64)e=je()|0;t[g>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}}r=t[i+4>>2]|0;n=Lp(16)|0;e=t[e+20>>2]|0;if(!r){E=t[i>>2]|0;t[n>>2]=36132;t[n+4>>2]=E;t[n+8>>2]=1;t[n+12>>2]=e;E=n;c=y;return E|0}else{t[n>>2]=36108;t[n+4>>2]=r;t[n+8>>2]=1;t[n+12>>2]=e;E=n;c=y;return E|0}return 0}function Wt(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0;p=c;c=c+32|0;y=p+12|0;v=p;k=e+180|0;m=(t[k>>2]|0)+4|0;if((t[e+32>>2]|0)==1)b=t[e+24>>2]|0;else b=1;i=re(b<<1,m)|0;t[y>>2]=0;M=y+4|0;t[M>>2]=0;t[y+8>>2]=0;e:do{if(i){if(!((i|0)<0?(w=0,ue(178,y|0),g=w,w=0,g&1):0))_=6;if((_|0)==6?(w=0,r=de(67,i|0)|0,g=w,w=0,!(g&1)):0){t[M>>2]=r;t[y>>2]=r;t[y+8>>2]=r+i;while(1){f[r>>0]=0;r=(t[M>>2]|0)+1|0;t[M>>2]=r;i=i+-1|0;if(!i)break e}}r=je()|0;i=t[y>>2]|0;if(!i)Qe(r|0);if((t[M>>2]|0)!=(i|0))t[M>>2]=i;Bp(i);Qe(r|0)}}while(0);t[v>>2]=0;g=v+4|0;t[g>>2]=0;t[v+8>>2]=0;do{if(!b)_=19;else{if(!(b>>>0>1073741823?(w=0,ue(178,v|0),d=w,w=0,d&1):0))_=17;if((_|0)==17?(n=b<<2,w=0,a=de(67,n|0)|0,d=w,w=0,!(d&1)):0){t[v>>2]=a;_=a+(b<<2)|0;t[v+8>>2]=_;ym(a|0,0,n|0)|0;t[g>>2]=_;_=19;break}r=je()|0;i=t[v>>2]|0;n=i;if(i){a=t[g>>2]|0;if((a|0)!=(i|0))t[g>>2]=a+(~((a+-4-n|0)>>>2)<<2);Bp(i)}}}while(0);if((_|0)==19){l=e+12|0;e:do{if((t[l>>2]|0)>0){o=e+4604|0;u=(re(b,m)|0)+1|0;h=e+4608|0;d=e+92|0;s=e+4600|0;if((b|0)>0)a=0;else{n=0;while(1){r=t[y>>2]|0;i=r+1|0;t[o>>2]=i;r=r+u|0;t[h>>2]=r;if(!(n&1))i=r;else{t[o>>2]=r;t[h>>2]=i}b=t[d>>2]|0;w=0;Ce(t[(t[b>>2]|0)+12>>2]|0,b|0,i|0,t[k>>2]|0,m|0);b=w;w=0;if(b&1)break;n=n+1|0;if((n|0)>=(t[l>>2]|0)){_=45;break e}}r=je()|0;break}i:while(1){r=t[y>>2]|0;i=r+1|0;t[o>>2]=i;r=r+u|0;t[h>>2]=r;if(!(a&1))i=r;else{t[o>>2]=r;t[h>>2]=i}_=t[d>>2]|0;w=0;Ce(t[(t[_>>2]|0)+12>>2]|0,_|0,i|0,t[k>>2]|0,m|0);_=w;w=0;if(_&1){_=28;break}i=t[v>>2]|0;r=t[o>>2]|0;n=0;do{t[s>>2]=t[i+(n<<2)>>2];_=t[k>>2]|0;f[r+_>>0]=f[r+(_+-1)>>0]|0;f[(t[h>>2]|0)+-1>>0]=f[t[o>>2]>>0]|0;w=0;ce(75,e|0,0);_=w;w=0;if(_&1){_=36;break i}i=t[v>>2]|0;t[i+(n<<2)>>2]=t[s>>2];r=(t[o>>2]|0)+m|0;t[o>>2]=r;t[h>>2]=(t[h>>2]|0)+m;n=n+1|0}while((n|0)<(b|0));a=a+1|0;if((a|0)>=(t[l>>2]|0)){_=45;break e}}if((_|0)==28){r=je()|0;break}else if((_|0)==36){r=je()|0;break}}else _=45}while(0);do{if((_|0)==45){w=0;ue(182,e|0);e=w;w=0;if(e&1){r=je()|0;break}i=t[v>>2]|0;r=i;if(i){n=t[g>>2]|0;if((n|0)!=(i|0))t[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);Bp(i)}i=t[y>>2]|0;if(!i){c=p;return}if((t[M>>2]|0)!=(i|0))t[M>>2]=i;Bp(i);c=p;return}}while(0);i=t[v>>2]|0;n=i;if(i){a=t[g>>2]|0;if((a|0)!=(i|0))t[g>>2]=a+(~((a+-4-n|0)>>>2)<<2);Bp(i)}}i=t[y>>2]|0;if(!i)Qe(r|0);if((t[M>>2]|0)!=(i|0))t[M>>2]=i;Bp(i);Qe(r|0)}function Zt(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0;b=e+4604|0;i=t[b>>2]|0;w=e+180|0;if((t[w>>2]|0)<=0)return;_=e+4608|0;k=e+4612|0;s=i;l=a[i+-1>>0]|0;i=a[i>>0]|0;d=0;while(1){h=t[_>>2]|0;c=a[h+(d+-1)>>0]|0;n=d+1|0;r=a[s+n>>0]|0;u=t[k>>2]|0;o=i-l|0;s=l-c|0;u=((((f[u+(r-i)>>0]|0)*9|0)+(f[u+o>>0]|0)|0)*9|0)+(f[u+s>>0]|0)|0;if(!u){n=(Qt(e,d,0)|0)+d|0;r=t[b>>2]|0;i=a[r+(n+-1)>>0]|0;r=a[r+n>>0]|0}else{l=i-c>>31;if((l^s|0)<0)s=i;else s=c+((l^o|0)<0?0:o)|0;h=Jt(e,u,a[h+d>>0]|0,s,0)|0;f[(t[_>>2]|0)+d>>0]=h}if((n|0)>=(t[w>>2]|0))break;s=t[b>>2]|0;l=i;i=r;d=n}return}function Jt(e,i,r,f,a){e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0;w=i>>31;s=(w^i)-w|0;_=e+196+(s*12|0)+10|0;l=n[_>>1]|0;b=e+196+(s*12|0)|0;a=t[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){i=5;while(1)if((l<>1]^w)-w+f|0;k=e+136|0;f=t[k>>2]|0;if((a&f|0)==(a|0))c=a;else c=f&~(a>>31);a=(r-c^w)-w|0;u=e+144|0;f=t[u>>2]|0;if((a|0)>0)a=(a+f|0)/(f<<1|1|0)|0;else a=(a-f|0)/(f<<1|1|0)|0;d=e+140|0;o=t[d>>2]|0;r=((a|0)<0?o:0)+a|0;o=r-((r|0)<((o+1|0)/2|0|0)?0:o)|0;s=e+196+(s*12|0)+4|0;if(!(f|i))a=(t[s>>2]<<1)+-1+l>>31;else a=0;f=a^o;ra(e,i,f>>30^f<<1,t[e+156>>2]|0);f=t[e+160>>2]|0;i=(t[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;a=(t[s>>2]|0)+(re(t[u>>2]<<1|1,o)|0)|0;r=n[_>>1]|0;if((r|0)==(f|0)){i=i>>1;a=a>>1;r=f>>1}t[b>>2]=i;f=r+1|0;n[_>>1]=f;i=f+a|0;if((i|0)>=1){if((a|0)>0){a=a-f|0;_=n[h>>1]|0;n[h>>1]=(_<<16>>16<127&1)+(_&65535);a=(a|0)>0?0:a}}else{a=n[h>>1]|0;n[h>>1]=(a&65535)-(a<<16>>16>-128&1);a=(i|0)>(~r|0)?i:0-r|0}t[s>>2]=a;f=t[u>>2]|0;r=f<<1|1;i=(re(r,(o^w)-w|0)|0)+c|0;if((i|0)>=(0-f|0)){a=t[k>>2]|0;if((a+f|0)<(i|0))i=i-(re(t[d>>2]|0,r)|0)|0}else{i=(re(t[d>>2]|0,r)|0)+i|0;a=t[k>>2]|0}if((i&a|0)==(i|0)){w=i;w=w&255;return w|0}w=a&~(i>>31);w=w&255;return w|0}function Qt(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;c=(t[e+180>>2]|0)-i|0;h=t[e+4608>>2]|0;d=t[e+4604>>2]|0;s=f[h+(i+-1)>>0]|0;u=s&255;r=e+144|0;l=0;while(1){n=h+(l+i)|0;o=(a[n>>0]|0)-u|0;if((((o|0)>-1?o:0-o|0)|0)>(t[r>>2]|0))break;f[n>>0]=s;l=l+1|0;if((l|0)==(c|0)){l=c;break}}s=(l|0)==(c|0);o=e+4600|0;n=t[36476+(t[o>>2]<<2)>>2]|0;if((1<(l|0))r=l;else{r=l;do{Bf(e,1,1);n=t[o>>2]|0;r=r-(1<>2])|0;n=(n|0)>30?31:n+1|0;t[o>>2]=n;n=t[36476+(n<<2)>>2]|0}while((r|0)>=(1<>0]=ea(e,a[i>>0]|0,u,a[d+c>>0]|0)|0;e=t[o>>2]|0;t[o>>2]=(e|0)<1?0:e+-1|0;e=l+1|0;return e|0}if(!r){e=c;return e|0}Bf(e,1,1);e=c;return e|0}function ea(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0;l=r-f|0;o=e+136|0;s=e+144|0;n=t[s>>2]|0;if((((l|0)>-1?l:0-l|0)|0)>(n|0)){a=f-r>>31|1;i=re(a,i-f|0)|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=t[l>>2]|0;r=((i|0)<0?n:0)+i|0;n=r-((r|0)<((n+1|0)/2|0|0)?0:n)|0;ia(e,e+4576|0,n);n=re(n,a)|0;a=t[s>>2]|0;s=a<<1|1;n=(re(n,s)|0)+f|0;if((n|0)>=(0-a|0)){i=t[o>>2]|0;if((i+a|0)<(n|0))n=n-(re(t[l>>2]|0,s)|0)|0}else{n=(re(t[l>>2]|0,s)|0)+n|0;i=t[o>>2]|0}if((n&i|0)==(n|0)){o=n;o=o&255;return o|0}o=i&~(n>>31);o=o&255;return o|0}else{i=i-r|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=t[l>>2]|0;a=((i|0)<0?n:0)+i|0;n=a-((a|0)<((n+1|0)/2|0|0)?0:n)|0;ia(e,e+4588|0,n);a=t[s>>2]|0;s=a<<1|1;n=(re(s,n)|0)+r|0;if((n|0)>=(0-a|0)){i=t[o>>2]|0;if((i+a|0)<(n|0))n=n-(re(t[l>>2]|0,s)|0)|0}else{n=(re(t[l>>2]|0,s)|0)+n|0;i=t[o>>2]|0}if((n&i|0)==(n|0)){o=n;o=o&255;return o|0}o=i&~(n>>31);o=o&255;return o|0}return 0}function ia(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i+9|0;o=a[d>>0]|0;h=i+4|0;c=t[h>>2]|0;s=(re(o>>>1,c)|0)+(t[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0));s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0>>0:0)n=1;else u=5;do{if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}}while(0);n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;ra(e,s,n,(t[e+156>>2]|0)+-1-(t[36476+(t[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;f[e>>0]=(a[e>>0]|0)+1}n=(n+1-(t[h>>2]|0)>>1)+(t[i>>2]|0)|0;t[i>>2]=n;s=f[d>>0]|0;if(s<<24>>24!=(f[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;f[d>>0]=i;return}t[i>>2]=n>>1;e=(s&255)>>>1;f[d>>0]=e;i=i+10|0;f[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;f[d>>0]=i;return}function ra(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0;n=r>>i;a=e+148|0;s=f-(t[a>>2]|0)|0;if((n|0)<(s+-1|0)){if((n|0)>30){f=(n|0)/2|0;Bf(e,0,f);n=n-f|0}Bf(e,1,n+1|0);Bf(e,(1<31){Bf(e,0,31);Bf(e,1,f+-31-(t[a>>2]|0)|0)}else Bf(e,1,s);i=t[a>>2]|0;Bf(e,(1<>2]|0)){r=t[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<>2])+-1|0)?(op(n,r,0),(t[n+4>>2]|0)==(t[e+184>>2]|0)):0)?(t[n+8>>2]|0)==(t[e+188>>2]|0):0)?(t[n+12>>2]|0)==(t[e+192>>2]|0):0)switch(t[i>>2]|0){case 8:{b=t[8900]|0;t[e+4612>>2]=b+(((t[8901]|0)-b|0)>>>1);c=_;return}case 10:{b=t[8903]|0;t[e+4612>>2]=b+(((t[8904]|0)-b|0)>>>1);c=_;return}case 12:{b=t[8906]|0;t[e+4612>>2]=b+(((t[8907]|0)-b|0)>>>1);c=_;return}case 16:{b=t[8909]|0;t[e+4612>>2]=b+(((t[8910]|0)-b|0)>>>1);c=_;return}default:break e}}else i=e+152|0}while(0);d=1<>2];r=e+4616|0;n=d<<1;a=e+4620|0;s=t[a>>2]|0;i=t[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0>>0?(o=i+n|0,(s|0)!=(o|0)):0)t[a>>2]=o}else{Yf(r,n-l|0);i=t[r>>2]|0}h=e+4612|0;t[h>>2]=i+d;i=0-d|0;if((d|0)<=(i|0)){c=_;return}o=e+192|0;u=e+188|0;l=e+184|0;s=i;do{i=t[o>>2]|0;if((s|0)>(0-i|0)){r=t[u>>2]|0;if((s|0)>(0-r|0)){n=t[l>>2]|0;if((s|0)>(0-n|0)){a=t[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;f[(t[h>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(d|0));c=_;return}function na(e){e=e|0;var i=0,r=0;t[e>>2]=35856;i=t[e+4608>>2]|0;if(i){r=e+4612|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36736;i=t[e+92>>2]|0;if(i){r=e+96|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}e=e+88|0;i=t[e>>2]|0;t[e>>2]=0;if(!i)return;tM[t[(t[i>>2]|0)+4>>2]&255](i);return}function ta(e){e=e|0;var i=0,r=0;t[e>>2]=35856;i=t[e+4608>>2]|0;if(i){r=e+4612|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36736;i=t[e+92>>2]|0;if(i){r=e+96|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+88|0;i=t[r>>2]|0;t[r>>2]=0;if(!i){Bp(e);return}tM[t[(t[i>>2]|0)+4>>2]&255](i);Bp(e);return}function aa(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;y=c;c=c+352|0;M=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;_=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((t[e+28>>2]|0)!=0?(t[e+20>>2]|0)!=1:0){m=e+4|0;p=e+32|0;l=t[p>>2]|0;if(!l){e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[r>>0]|0;Ce(37,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}e=t[e+12>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[n>>0]|0;Ce(38,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[a>>0]|0;Ce(39,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[s>>0]|0;Ce(40,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=A+56|0;a=A+4|0;t[A>>2]=36160;t[l>>2]=36180;w=0;ce(62,A+56|0,a|0);y=w;w=0;if(y&1){E=je()|0;nd(l);Qe(E|0)}t[A+128>>2]=0;t[A+132>>2]=-1;t[A>>2]=36200;t[A+56>>2]=36220;w=0;ue(180,a|0);y=w;w=0;do{if(y&1)e=je()|0;else{t[a>>2]=36236;s=A+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[A+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);y=w;w=0;if(y&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,A|0,49007,21)|0;M=w;w=0;do{if((!(M&1)?(w=0,d=pe(36,e|0,t[p>>2]|0)|0,M=w,w=0,!(M&1)):0)?(w=0,_e(28,d|0,50997,18)|0,M=w,w=0,!(M&1)):0){n=Ue(16)|0;w=0;ce(64,_|0,a|0);M=w;w=0;if(!(M&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,_|0);M=w;w=0;if(M&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(_);if(!r)break}else e=je()|0;He(n|0)}else E=34}while(0);if((E|0)==34)e=je()|0;t[A>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}if((e|0)<=8){e=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,e|0,8,35648);E=w;w=0;if(!(E&1))bi(e|0,824,96);E=je()|0;He(e|0);Qe(E|0)}r=16-e|0;switch(l|0){case 1:{e=Lp(60)|0;t[o>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[o>>2];t[M+4>>2]=t[o+4>>2];Ce(41,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(60)|0;t[u>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[u>>2];t[M+4>>2]=t[u+4>>2];Ce(42,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(60)|0;t[h>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[h>>2];t[M+4>>2]=t[h+4>>2];Ce(43,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=g+56|0;a=g+4|0;t[g>>2]=36160;t[l>>2]=36180;w=0;ce(62,g+56|0,a|0);A=w;w=0;if(A&1){E=je()|0;nd(l);Qe(E|0)}t[g+128>>2]=0;t[g+132>>2]=-1;t[g>>2]=36200;t[g+56>>2]=36220;w=0;ue(180,a|0);A=w;w=0;do{if(A&1)e=je()|0;else{t[a>>2]=36236;s=g+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[g+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);A=w;w=0;if(A&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,g|0,49007,21)|0;A=w;w=0;do{if((!(A&1)?(w=0,b=pe(36,e|0,t[p>>2]|0)|0,A=w,w=0,!(A&1)):0)?(w=0,_e(28,b|0,50997,18)|0,A=w,w=0,!(A&1)):0){n=Ue(16)|0;w=0;ce(64,v|0,a|0);A=w;w=0;if(!(A&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,v|0);A=w;w=0;if(A&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(v);if(!r)break}else e=je()|0;He(n|0)}else E=64}while(0);if((E|0)==64)e=je()|0;t[g>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}}r=t[i+4>>2]|0;n=Lp(16)|0;e=t[e+16>>2]|0;if(!r){E=t[i>>2]|0;t[n>>2]=36132;t[n+4>>2]=E;t[n+8>>2]=2;t[n+12>>2]=e;E=n;c=y;return E|0}else{t[n>>2]=36108;t[n+4>>2]=r;t[n+8>>2]=2;t[n+12>>2]=e;E=n;c=y;return E|0}return 0}function sa(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,h=0;o=c;c=c+32|0;h=o;op(h,t[e+128>>2]|0,t[e+136>>2]|0);u=t[i+4>>2]|0;l=t[i+8>>2]|0;l=(l|0)==0?t[h+8>>2]|0:l;s=t[i+12>>2]|0;s=(s|0)==0?t[h+12>>2]|0:s;r=t[i+16>>2]|0;a=t[h+16>>2]|0;t[e+176>>2]=(u|0)==0?t[h+4>>2]|0:u;t[e+180>>2]=l;t[e+184>>2]=s;ma(e);s=e+132|0;i=(t[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{t[e+188+(l*12|0)>>2]=i;t[e+188+(l*12|0)+4>>2]=0;n[e+188+(l*12|0)+8>>1]=0;n[e+188+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365);u=(t[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;h=((r|0)==0?a:r)&255;t[e+4568>>2]=u;t[e+4572>>2]=0;f[e+4576>>0]=h;f[e+4577>>0]=1;f[e+4578>>0]=0;t[e+4580>>2]=u;t[e+4584>>2]=1;f[e+4588>>0]=h;f[e+4589>>0]=1;f[e+4590>>0]=0;t[e+4592>>2]=0;c=o;return}function la(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=t[i>>2]|0;t[i>>2]=0;i=t[l>>2]|0;t[l>>2]=s;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=t[l>>2]|0;f[e+4620>>0]=a&1;i=e+156|0;t[i>>2]=t[r>>2];t[i+4>>2]=t[r+4>>2];t[i+8>>2]=t[r+8>>2];t[i+12>>2]=t[r+12>>2];Cf(e,n);oa(e);i=t[e+116>>2]|0;e=t[e+112>>2]|0;while(1){a=i+-1|0;r=(f[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=t[l>>2]|0;if(!a)return;t[l>>2]=a+i;n=n+8|0;t[n>>2]=(t[n>>2]|0)-i;return}function oa(e){e=e|0;var i=0,r=0,f=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0;S=c;c=c+32|0;R=S+12|0;E=S;y=e+172|0;M=(t[y>>2]|0)+4|0;if((t[e+28>>2]|0)==1)A=t[e+20>>2]|0;else A=1;i=re(A<<1,M)|0;t[R>>2]=0;C=R+4|0;t[C>>2]=0;t[R+8>>2]=0;do{if(i){if(!((i|0)<0?(w=0,ue(178,R|0),T=w,w=0,T&1):0))l=6;if((l|0)==6?(r=i<<1,w=0,f=de(67,r|0)|0,T=w,w=0,!(T&1)):0){t[R>>2]=f;T=f+(i<<1)|0;t[R+8>>2]=T;ym(f|0,0,r|0)|0;t[C>>2]=T;break}f=je()|0;i=t[R>>2]|0;if(!i)Qe(f|0);r=t[C>>2]|0;if((r|0)!=(i|0))t[C>>2]=r+(~((r+-2-i|0)>>>1)<<1);Bp(i);Qe(f|0)}}while(0);t[E>>2]=0;T=E+4|0;t[T>>2]=0;t[E+8>>2]=0;do{if(!A)l=18;else{if(!(A>>>0>1073741823?(w=0,ue(178,E|0),g=w,w=0,g&1):0))l=16;if((l|0)==16?(a=A<<2,w=0,s=de(67,a|0)|0,g=w,w=0,!(g&1)):0){t[E>>2]=s;l=s+(A<<2)|0;t[E+8>>2]=l;ym(s|0,0,a|0)|0;t[T>>2]=l;l=18;break}f=je()|0;i=t[E>>2]|0;r=i;if(i){a=t[T>>2]|0;if((a|0)!=(i|0))t[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}}while(0);if((l|0)==18){s=e+8|0;e:do{if((t[s>>2]|0)>0){l=e+4596|0;o=re(A,M)|0;u=o+1|0;h=e+4600|0;d=(A|0)>0;b=e+160|0;_=e+168|0;k=e+164|0;m=e+156|0;v=e+88|0;p=e+4592|0;g=0;i:while(1){f=t[R>>2]|0;r=f+2|0;t[l>>2]=r;f=f+(u<<1)|0;t[h>>2]=f;if(!(g&1))i=f;else{t[l>>2]=f;t[h>>2]=r;i=r;r=f}if(d){a=t[E>>2]|0;f=0;do{t[p>>2]=t[a+(f<<2)>>2];a=t[y>>2]|0;n[r+(a<<1)>>1]=n[r+(a+-1<<1)>>1]|0;n[i+-2>>1]=n[r>>1]|0;w=0;ce(76,e|0,0);a=w;w=0;if(a&1){l=29;break i}a=t[E>>2]|0;t[a+(f<<2)>>2]=t[p>>2];r=(t[l>>2]|0)+(M<<1)|0;t[l>>2]=r;i=(t[h>>2]|0)+(M<<1)|0;t[h>>2]=i;f=f+1|0}while((f|0)<(A|0))}a=t[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((t[_>>2]|0)+a|0):0)?(a=t[v>>2]|0,w=0,Ce(t[(t[a>>2]|0)+8>>2]|0,a|0,i+((t[m>>2]|0)-o<<1)|0,t[k>>2]|0,M|0),a=w,w=0,a&1):0){l=30;break}g=g+1|0;if((g|0)>=(t[s>>2]|0)){l=42;break e}}if((l|0)==29){f=je()|0;break}else if((l|0)==30){f=je()|0;break}}else l=42}while(0);do{if((l|0)==42){w=0;ue(183,e|0);e=w;w=0;if(e&1){f=je()|0;break}i=t[E>>2]|0;r=i;if(i){f=t[T>>2]|0;if((f|0)!=(i|0))t[T>>2]=f+(~((f+-4-r|0)>>>2)<<2);Bp(i)}i=t[R>>2]|0;if(!i){c=S;return}r=t[C>>2]|0;if((r|0)!=(i|0))t[C>>2]=r+(~((r+-2-i|0)>>>1)<<1);Bp(i);c=S;return}}while(0);i=t[E>>2]|0;r=i;if(i){a=t[T>>2]|0;if((a|0)!=(i|0))t[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}i=t[R>>2]|0;if(!i)Qe(f|0);r=t[C>>2]|0;if((r|0)!=(i|0))t[C>>2]=r+(~((r+-2-i|0)>>>1)<<1);Bp(i);Qe(f|0)}function ua(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0;k=e+4596|0;r=t[k>>2]|0;p=e+172|0;i=t[p>>2]|0;if((i|0)<=0)return;w=e+4600|0;m=e+4604|0;v=e+4592|0;c=r;o=s[r+-2>>1]|0;r=s[r>>1]|0;_=0;while(1){d=t[w>>2]|0;u=n[d+(_+-1<<1)>>1]|0;b=u&65535;l=_+1|0;a=s[c+(l<<1)>>1]|0;h=t[m>>2]|0;c=r-o|0;o=o-b|0;h=((((f[h+(a-r)>>0]|0)*9|0)+(f[h+c>>0]|0)|0)*9|0)+(f[h+o>>0]|0)|0;d=d+(_<<1)|0;if(!h){i=da(e,u,d,i-_|0)|0;r=i+_|0;if((r|0)!=(t[p>>2]|0)){b=ba(e,b,s[(t[k>>2]|0)+(r<<1)>>1]|0)|0;n[(t[w>>2]|0)+(r<<1)>>1]=b;b=t[v>>2]|0;t[v>>2]=(b|0)<1?0:b+-1|0;i=i+1|0}l=i+_|0;a=t[k>>2]|0;r=s[a+(l+-1<<1)>>1]|0;a=s[a+(l<<1)>>1]|0}else{i=r-b>>31;if((i^o|0)<0)i=r;else i=b+((i^c|0)<0?0:c)|0;b=ha(e,h,s[d>>1]|0,i,0)|0;n[(t[w>>2]|0)+(_<<1)>>1]=b}i=t[p>>2]|0;if((i|0)<=(l|0))break;c=t[k>>2]|0;o=r;r=a;_=l}return}function ca(e){e=e|0;var i=0,r=0,n=0,a=0;n=e+116|0;r=t[n>>2]|0;if((f[r>>0]|0)!=-1){a=e+112|0;i=t[a>>2]|0;if((i|0)<1){Uf(e);i=t[a>>2]|0;r=t[n>>2]|0}e=e+108|0;n=t[e>>2]|0;t[a>>2]=i+-1;i=n<<1;t[e>>2]=i;if((f[r>>0]|0)!=-1){i=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,i|0,6,35648);e=w;w=0;if(!(e&1))bi(i|0,824,96);e=je()|0;He(i|0);Qe(e|0)}}else i=t[e+108>>2]|0;if(!i)return;i=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,i|0,6,35648);e=w;w=0;if(!(e&1))bi(i|0,824,96);e=je()|0;He(i|0);Qe(e|0)}function ha(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,m=0,v=0;v=i>>31;c=(v^i)-v|0;_=e+188+(c*12|0)+10|0;r=n[_>>1]|0;b=e+188+(c*12|0)|0;s=t[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){i=5;while(1)if((r<>1]^v)-v+a|0;m=e+128|0;s=t[m>>2]|0;if((r&s|0)==(r|0))h=r;else h=s&~(r>>31);r=e+112|0;if((t[r>>2]|0)<8)Uf(e);s=e+108|0;a=t[s>>2]|0;l=a>>>24;o=t[2832+(i<<11)+(l<<3)+4>>2]|0;if(!o){u=t[e+148>>2]|0;s=t[e+140>>2]|0;r=ka(e)|0;if((r|0)<(u+-1-s|0)){if(i)r=(wa(e,i)|0)+(r<>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,r|0,5,35648);e=w;w=0;if(e&1){e=je()|0;He(r|0);Qe(e|0)}else bi(r|0,824,96)}}else{t[r>>2]=(t[r>>2]|0)-o;t[s>>2]=a<>2]|0}u=e+136|0;a=t[u>>2]|0;if(!i){if(!a)s=(t[e+188+(c*12|0)+4>>2]<<1)+-1+(n[_>>1]|0)>>31;else s=0;o=s^r}else o=r;i=t[e+152>>2]|0;s=(t[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;l=e+188+(c*12|0)+4|0;r=(t[l>>2]|0)+(re(a<<1|1,o)|0)|0;a=n[_>>1]|0;if((a|0)==(i|0)){s=s>>1;r=r>>1;a=i>>1}t[b>>2]=s;i=a+1|0;n[_>>1]=i;s=i+r|0;if((s|0)>=1){if((r|0)>0){r=r-i|0;_=n[d>>1]|0;n[d>>1]=(_<<16>>16<127&1)+(_&65535);r=(r|0)>0?0:r}}else{r=n[d>>1]|0;n[d>>1]=(r&65535)-(r<<16>>16>-128&1);r=(s|0)>(~a|0)?s:0-a|0}t[l>>2]=r;i=t[u>>2]|0;a=i<<1|1;s=(re(a,(o^v)-v|0)|0)+h|0;if((s|0)>=(0-i|0)){r=t[m>>2]|0;if((r+i|0)<(s|0))s=s-(re(t[e+132>>2]|0,a)|0)|0}else{s=(re(t[e+132>>2]|0,a)|0)+s|0;r=t[m>>2]|0}if((s&r|0)==(s|0)){e=s;e=e&65535;return e|0}e=r&~(s>>31);e=e&65535;return e|0}function da(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0;u=e+112|0;c=e+108|0;h=e+4592|0;s=t[u>>2]|0;l=0;while(1){if((s|0)<1){Uf(e);s=t[u>>2]|0}o=t[c>>2]|0;s=s+-1|0;t[u>>2]=s;t[c>>2]=o<<1;if((o|0)>=0){d=8;break}o=t[h>>2]|0;b=1<>2];_=a-l|0;_=(b|0)<(_|0)?b:_;l=_+l|0;if((_|0)==(b|0))t[h>>2]=(o|0)>30?31:o+1|0;if((l|0)==(a|0)){s=a;break}}if((d|0)==8)if((l|0)!=(a|0)){s=t[h>>2]|0;if((s+-4|0)>>>0<28)s=wa(e,t[36476+(s<<2)>>2]|0)|0;else s=0;s=s+l|0;if((s|0)>(a|0)){s=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,s|0,5,35648);_=w;w=0;if(_&1){_=je()|0;He(s|0);Qe(_|0)}else bi(s|0,824,96)}}else s=a;if((s|0)>0)l=0;else return s|0;do{n[r+(l<<1)>>1]=i;l=l+1|0}while((l|0)!=(s|0));return s|0}function ba(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0;a=i-r|0;s=e+128|0;f=e+136|0;if((((a|0)>-1?a:0-a|0)|0)>(t[f>>2]|0)){i=re(_a(e,e+4568|0)|0,r-i>>31|1)|0;n=t[f>>2]|0;a=n<<1|1;i=(re(i,a)|0)+r|0;if((i|0)>=(0-n|0)){f=t[s>>2]|0;if((f+n|0)<(i|0))i=i-(re(t[e+132>>2]|0,a)|0)|0}else{i=(re(t[e+132>>2]|0,a)|0)+i|0;f=t[s>>2]|0}if((i&f|0)==(i|0)){e=i;e=e&65535;return e|0}e=f&~(i>>31);e=e&65535;return e|0}else{r=_a(e,e+4580|0)|0;a=t[f>>2]|0;n=a<<1|1;i=(re(n,r)|0)+i|0;if((i|0)>=(0-a|0)){f=t[s>>2]|0;if((f+a|0)<(i|0))i=i-(re(t[e+132>>2]|0,n)|0)|0}else{i=(re(t[e+132>>2]|0,n)|0)+i|0;f=t[s>>2]|0}if((i&f|0)==(i|0)){e=i;e=e&65535;return e|0}e=f&~(i>>31);e=e&65535;return e|0}return 0}function _a(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0;h=i+9|0;r=a[h>>0]|0;l=i+4|0;s=(re(r>>>1,t[l>>2]|0)|0)+(t[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;o=t[e+148>>2]|0;u=t[36476+(t[e+4592>>2]<<2)>>2]|0;r=t[e+140>>2]|0;s=ka(e)|0;do{if((s|0)<(o+-2-u-r|0))if(!n){n=t[l>>2]|0;e=n+s|0;r=e&1;e=(r+e|0)/2|0;c=8;break}else{u=(wa(e,n)|0)+(s<>2]|0;s=u+n|0;o=s&1;r=o;l=1;s=(o+s|0)/2|0;break}else{s=(wa(e,r)|0)+1|0;o=t[l>>2]|0;e=s+o|0;r=e&1;e=(r+e|0)/2|0;if(!n){n=o;c=8}else{u=s;l=1;s=e;n=o}}}while(0);if((c|0)==8){u=s;l=a[i+10>>0]<<1>>>0>=(a[h>>0]|0)>>>0;s=e}s=(r|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;f[c>>0]=(a[c>>0]|0)+1}r=(u+1-n>>1)+(t[i>>2]|0)|0;t[i>>2]=r;n=f[h>>0]|0;if(n<<24>>24!=(f[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;f[h>>0]=i;return s|0}t[i>>2]=r>>1;c=(n&255)>>>1;f[h>>0]=c;i=i+10|0;f[i>>0]=(a[i>>0]|0)>>>1;i=c;i=i&255;i=i+1|0;i=i&255;f[h>>0]=i;return s|0}function ka(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0;a=e+112|0;if((t[a>>2]|0)<16)Uf(e);s=e+108|0;r=t[s>>2]|0;if((r|0)>=0)if(!(r&1073741824))if(!(r&536870912))if(!(r&268435456))if(!(r&134217728))if(!(r&67108864))if(!(r&33554432))if(!(r&16777216))if(!(r&8388608))if(!(r&4194304))if(!(r&2097152))if(!(r&1048576))if(!(r&524288))if(!(r&262144))if(!(r&131072)){n=r>>>12&16;i=n+-1|0;if(!n){i=(t[a>>2]|0)+-15|0;t[a>>2]=i;f=r<<15;t[s>>2]=f;r=i;i=15;while(1){if((r|0)<1){Uf(e);n=t[s>>2]|0;r=t[a>>2]|0}else n=f;r=r+-1|0;t[a>>2]=r;f=n<<1;t[s>>2]=f;if((n|0)<0)break;else i=i+1|0}return i|0}}else i=14;else i=13;else i=12;else i=11;else i=10;else i=9;else i=8;else i=7;else i=6;else i=5;else i=4;else i=3;else i=2;else i=1;else i=0;e=i+1|0;t[a>>2]=(t[a>>2]|0)-e;t[s>>2]=r<>2]|0;if((r|0)<(i|0)){Uf(e);r=t[n>>2]|0;if((r|0)<(i|0)){r=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,r|0,5,35648);e=w;w=0;if(e&1){e=je()|0;He(r|0);Qe(e|0)}else bi(r|0,824,96)}}a=e+108|0;e=t[a>>2]|0;t[n>>2]=r-i;t[a>>2]=e<>>(32-i|0)|0}function ma(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0;_=c;c=c+32|0;n=_;b=e+136|0;e:do{if(!(t[b>>2]|0)){r=t[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<>2])+-1|0)?(op(n,r,0),(t[n+4>>2]|0)==(t[e+176>>2]|0)):0)?(t[n+8>>2]|0)==(t[e+180>>2]|0):0)?(t[n+12>>2]|0)==(t[e+184>>2]|0):0)switch(t[i>>2]|0){case 8:{b=t[8900]|0;t[e+4604>>2]=b+(((t[8901]|0)-b|0)>>>1);c=_;return}case 10:{b=t[8903]|0;t[e+4604>>2]=b+(((t[8904]|0)-b|0)>>>1);c=_;return}case 12:{b=t[8906]|0;t[e+4604>>2]=b+(((t[8907]|0)-b|0)>>>1);c=_;return}case 16:{b=t[8909]|0;t[e+4604>>2]=b+(((t[8910]|0)-b|0)>>>1);c=_;return}default:break e}}else i=e+144|0}while(0);d=1<>2];r=e+4608|0;n=d<<1;a=e+4612|0;s=t[a>>2]|0;i=t[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0>>0?(o=i+n|0,(s|0)!=(o|0)):0)t[a>>2]=o}else{Yf(r,n-l|0);i=t[r>>2]|0}h=e+4604|0;t[h>>2]=i+d;i=0-d|0;if((d|0)<=(i|0)){c=_;return}o=e+184|0;u=e+180|0;l=e+176|0;s=i;do{i=t[o>>2]|0;if((s|0)>(0-i|0)){r=t[u>>2]|0;if((s|0)>(0-r|0)){n=t[l>>2]|0;if((s|0)>(0-n|0)){a=t[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;f[(t[h>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(d|0));c=_;return}function va(e){e=e|0;var i=0,r=0;t[e>>2]=36736;i=t[e+92>>2]|0;if(i){r=e+96|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}e=e+88|0;i=t[e>>2]|0;t[e>>2]=0;if(!i)return;tM[t[(t[i>>2]|0)+4>>2]&255](i);return}function pa(e){e=e|0;var i=0,r=0;t[e>>2]=36736;i=t[e+92>>2]|0;if(i){r=e+96|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+88|0;i=t[r>>2]|0;t[r>>2]=0;if(!i){Bp(e);return}tM[t[(t[i>>2]|0)+4>>2]&255](i);Bp(e);return}function ga(e){e=e|0;var i=0,r=0;t[e>>2]=35828;i=t[e+4608>>2]|0;if(i){r=e+4612|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36736;i=t[e+92>>2]|0;if(i){r=e+96|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}e=e+88|0;i=t[e>>2]|0;t[e>>2]=0;if(!i)return;tM[t[(t[i>>2]|0)+4>>2]&255](i);return}function ya(e){e=e|0;var i=0,r=0;t[e>>2]=35828;i=t[e+4608>>2]|0;if(i){r=e+4612|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36736;i=t[e+92>>2]|0;if(i){r=e+96|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+88|0;i=t[r>>2]|0;t[r>>2]=0;if(!i){Bp(e);return}tM[t[(t[i>>2]|0)+4>>2]&255](i);Bp(e);return}function Ma(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;y=c;c=c+352|0;M=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;_=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((t[e+28>>2]|0)!=0?(t[e+20>>2]|0)!=1:0){m=e+4|0;p=e+32|0;l=t[p>>2]|0;if(!l){e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[r>>0]|0;Ce(37,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}e=t[e+12>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[n>>0]|0;Ce(38,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[a>>0]|0;Ce(39,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[s>>0]|0;Ce(40,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=A+56|0;a=A+4|0;t[A>>2]=36160;t[l>>2]=36180;w=0;ce(62,A+56|0,a|0);y=w;w=0;if(y&1){E=je()|0;nd(l);Qe(E|0)}t[A+128>>2]=0;t[A+132>>2]=-1;t[A>>2]=36200;t[A+56>>2]=36220;w=0;ue(180,a|0);y=w;w=0;do{if(y&1)e=je()|0;else{t[a>>2]=36236;s=A+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[A+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);y=w;w=0;if(y&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,A|0,49007,21)|0;M=w;w=0;do{if((!(M&1)?(w=0,d=pe(36,e|0,t[p>>2]|0)|0,M=w,w=0,!(M&1)):0)?(w=0,_e(28,d|0,50997,18)|0,M=w,w=0,!(M&1)):0){n=Ue(16)|0;w=0;ce(64,_|0,a|0);M=w;w=0;if(!(M&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,_|0);M=w;w=0;if(M&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(_);if(!r)break}else e=je()|0;He(n|0)}else E=34}while(0);if((E|0)==34)e=je()|0;t[A>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}if((e|0)<=8){e=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,e|0,8,35648);E=w;w=0;if(!(E&1))bi(e|0,824,96);E=je()|0;He(e|0);Qe(E|0)}r=16-e|0;switch(l|0){case 1:{e=Lp(60)|0;t[o>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[o>>2];t[M+4>>2]=t[o+4>>2];Ce(41,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(60)|0;t[u>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[u>>2];t[M+4>>2]=t[u+4>>2];Ce(42,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(60)|0;t[h>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[h>>2];t[M+4>>2]=t[h+4>>2];Ce(43,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=g+56|0;a=g+4|0;t[g>>2]=36160;t[l>>2]=36180;w=0;ce(62,g+56|0,a|0);A=w;w=0;if(A&1){E=je()|0;nd(l);Qe(E|0)}t[g+128>>2]=0;t[g+132>>2]=-1;t[g>>2]=36200;t[g+56>>2]=36220;w=0;ue(180,a|0);A=w;w=0;do{if(A&1)e=je()|0;else{t[a>>2]=36236;s=g+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[g+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);A=w;w=0;if(A&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,g|0,49007,21)|0;A=w;w=0;do{if((!(A&1)?(w=0,b=pe(36,e|0,t[p>>2]|0)|0,A=w,w=0,!(A&1)):0)?(w=0,_e(28,b|0,50997,18)|0,A=w,w=0,!(A&1)):0){n=Ue(16)|0;w=0;ce(64,v|0,a|0);A=w;w=0;if(!(A&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,v|0);A=w;w=0;if(A&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(v);if(!r)break}else e=je()|0;He(n|0)}else E=64}while(0);if((E|0)==64)e=je()|0;t[g>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}}r=t[i+4>>2]|0;n=Lp(16)|0;e=t[e+16>>2]|0;if(!r){E=t[i>>2]|0;t[n>>2]=36132;t[n+4>>2]=E;t[n+8>>2]=6;t[n+12>>2]=e;E=n;c=y;return E|0}else{t[n>>2]=36108;t[n+4>>2]=r;t[n+8>>2]=6;t[n+12>>2]=e;E=n;c=y;return E|0}return 0}function Aa(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,h=0;o=c;c=c+32|0;h=o;op(h,t[e+128>>2]|0,t[e+136>>2]|0);u=t[i+4>>2]|0;l=t[i+8>>2]|0;l=(l|0)==0?t[h+8>>2]|0:l;s=t[i+12>>2]|0;s=(s|0)==0?t[h+12>>2]|0:s;r=t[i+16>>2]|0;a=t[h+16>>2]|0;t[e+176>>2]=(u|0)==0?t[h+4>>2]|0:u;t[e+180>>2]=l;t[e+184>>2]=s;Oa(e);s=e+132|0;i=(t[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{t[e+188+(l*12|0)>>2]=i;t[e+188+(l*12|0)+4>>2]=0;n[e+188+(l*12|0)+8>>1]=0;n[e+188+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365);u=(t[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;h=((r|0)==0?a:r)&255;t[e+4568>>2]=u;t[e+4572>>2]=0;f[e+4576>>0]=h;f[e+4577>>0]=1;f[e+4578>>0]=0;t[e+4580>>2]=u;t[e+4584>>2]=1;f[e+4588>>0]=h;f[e+4589>>0]=1;f[e+4590>>0]=0;t[e+4592>>2]=0;c=o;return}function Ea(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=t[i>>2]|0;t[i>>2]=0;i=t[l>>2]|0;t[l>>2]=s;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=t[l>>2]|0;f[e+4620>>0]=a&1;i=e+156|0;t[i>>2]=t[r>>2];t[i+4>>2]=t[r+4>>2];t[i+8>>2]=t[r+8>>2];t[i+12>>2]=t[r+12>>2];Cf(e,n);Sa(e);i=t[e+116>>2]|0;e=t[e+112>>2]|0;while(1){a=i+-1|0;r=(f[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=t[l>>2]|0;if(!a)return;t[l>>2]=a+i;n=n+8|0;t[n>>2]=(t[n>>2]|0)-i;return}function Sa(e){e=e|0;var i=0,r=0,f=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0;S=c;c=c+32|0;R=S+12|0;E=S;y=e+172|0;M=(t[y>>2]|0)+4|0;if((t[e+28>>2]|0)==1)A=t[e+20>>2]|0;else A=1;i=re(A<<1,M)|0;t[R>>2]=0;C=R+4|0;t[C>>2]=0;t[R+8>>2]=0;do{if(i){if(!(i>>>0>715827882?(w=0,ue(178,R|0),T=w,w=0,T&1):0))l=6;if((l|0)==6?(w=0,r=de(67,i*6|0)|0,T=w,w=0,!(T&1)):0){t[C>>2]=r;t[R>>2]=r;f=r+(i*6|0)|0;t[R+8>>2]=f;while(1){n[r>>1]=0;n[r+2>>1]=0;n[r+4>>1]=0;i=i+-1|0;if(!i)break;else r=r+6|0}t[C>>2]=f;break}f=je()|0;i=t[R>>2]|0;if(!i)Qe(f|0);r=t[C>>2]|0;if((r|0)!=(i|0))t[C>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);Bp(i);Qe(f|0)}}while(0);t[E>>2]=0;T=E+4|0;t[T>>2]=0;t[E+8>>2]=0;do{if(!A)l=20;else{if(!(A>>>0>1073741823?(w=0,ue(178,E|0),g=w,w=0,g&1):0))l=18;if((l|0)==18?(a=A<<2,w=0,s=de(67,a|0)|0,g=w,w=0,!(g&1)):0){t[E>>2]=s;l=s+(A<<2)|0;t[E+8>>2]=l;ym(s|0,0,a|0)|0;t[T>>2]=l;l=20;break}f=je()|0;i=t[E>>2]|0;r=i;if(i){a=t[T>>2]|0;if((a|0)!=(i|0))t[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}}while(0);if((l|0)==20){s=e+8|0;e:do{if((t[s>>2]|0)>0){l=e+4596|0;o=re(A,M)|0;u=o+1|0;h=e+4600|0;d=(A|0)>0;b=e+160|0;_=e+168|0;k=e+164|0;m=e+156|0;v=e+88|0;p=e+4592|0;g=0;i:while(1){f=t[R>>2]|0;r=f+6|0;t[l>>2]=r;f=f+(u*6|0)|0;t[h>>2]=f;if(!(g&1))i=f;else{t[l>>2]=f;t[h>>2]=r;i=r;r=f}if(d){a=t[E>>2]|0;f=0;do{t[p>>2]=t[a+(f<<2)>>2];i=t[y>>2]|0;a=r+(i*6|0)|0;r=r+((i+-1|0)*6|0)|0;n[a>>1]=n[r>>1]|0;n[a+2>>1]=n[r+2>>1]|0;n[a+4>>1]=n[r+4>>1]|0;a=(t[h>>2]|0)+-6|0;r=t[l>>2]|0;n[a>>1]=n[r>>1]|0;n[a+2>>1]=n[r+2>>1]|0;n[a+4>>1]=n[r+4>>1]|0;w=0;ce(77,e|0,0);a=w;w=0;if(a&1){l=31;break i}a=t[E>>2]|0;t[a+(f<<2)>>2]=t[p>>2];r=(t[l>>2]|0)+(M*6|0)|0;t[l>>2]=r;i=(t[h>>2]|0)+(M*6|0)|0;t[h>>2]=i;f=f+1|0}while((f|0)<(A|0))}a=t[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((t[_>>2]|0)+a|0):0)?(a=t[v>>2]|0,w=0,Ce(t[(t[a>>2]|0)+8>>2]|0,a|0,i+(((t[m>>2]|0)-o|0)*6|0)|0,t[k>>2]|0,M|0),a=w,w=0,a&1):0){l=32;break}g=g+1|0;if((g|0)>=(t[s>>2]|0)){l=44;break e}}if((l|0)==31){f=je()|0;break}else if((l|0)==32){f=je()|0;break}}else l=44}while(0);do{if((l|0)==44){w=0;ue(183,e|0);e=w;w=0;if(e&1){f=je()|0;break}i=t[E>>2]|0;r=i;if(i){f=t[T>>2]|0;if((f|0)!=(i|0))t[T>>2]=f+(~((f+-4-r|0)>>>2)<<2);Bp(i)}i=t[R>>2]|0;if(!i){c=S;return}r=t[C>>2]|0;if((r|0)!=(i|0))t[C>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);Bp(i);c=S;return}}while(0);i=t[E>>2]|0;r=i;if(i){a=t[T>>2]|0;if((a|0)!=(i|0))t[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}i=t[R>>2]|0;if(!i)Qe(f|0);r=t[C>>2]|0;if((r|0)!=(i|0))t[C>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);Bp(i);Qe(f|0)}function Ta(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0;F=c;c=c+32|0;C=F+24|0;N=F+18|0;D=F+12|0;P=F+6|0;I=F;O=e+172|0;i=t[O>>2]|0;if((i|0)<=0){c=F;return}x=e+4600|0;L=e+4596|0;B=e+4604|0;z=e+4592|0;R=0;while(1){a=R+-1|0;l=t[x>>2]|0;H=t[L>>2]|0;r=R+1|0;o=s[H+(R*6|0)>>1]|0;T=t[B>>2]|0;u=s[H+(a*6|0)>>1]|0;h=o-u|0;d=s[l+(a*6|0)>>1]|0;b=u-d|0;_=((((f[T+((s[H+(r*6|0)>>1]|0)-o)>>0]|0)*9|0)+(f[T+h>>0]|0)|0)*9|0)+(f[T+b>>0]|0)|0;k=s[H+(R*6|0)+2>>1]|0;w=s[H+(a*6|0)+2>>1]|0;m=k-w|0;v=s[l+(a*6|0)+2>>1]|0;p=w-v|0;g=((((f[T+((s[H+(r*6|0)+2>>1]|0)-k)>>0]|0)*9|0)+(f[T+m>>0]|0)|0)*9|0)+(f[T+p>>0]|0)|0;y=s[H+(R*6|0)+4>>1]|0;M=s[H+(a*6|0)+4>>1]|0;A=y-M|0;E=s[l+(a*6|0)+4>>1]|0;S=M-E|0;T=((((f[T+((s[H+(r*6|0)+4>>1]|0)-y)>>0]|0)*9|0)+(f[T+A>>0]|0)|0)*9|0)+(f[T+S>>0]|0)|0;if(!(g|_|T)){r=l+(a*6|0)|0;n[D>>1]=n[r>>1]|0;n[D+2>>1]=n[r+2>>1]|0;n[D+4>>1]=n[r+4>>1]|0;n[C>>1]=n[r>>1]|0;n[C+2>>1]=n[r+2>>1]|0;n[C+4>>1]=n[r+4>>1]|0;i=Ra(e,C,l+(R*6|0)|0,i-R|0)|0;r=i+R|0;if((r|0)!=(t[O>>2]|0)){H=(t[L>>2]|0)+(r*6|0)|0;n[I>>1]=n[H>>1]|0;n[I+2>>1]=n[H+2>>1]|0;n[I+4>>1]=n[H+4>>1]|0;H=(t[x>>2]|0)+(r*6|0)|0;n[N>>1]=n[D>>1]|0;n[N+2>>1]=n[D+2>>1]|0;n[N+4>>1]=n[D+4>>1]|0;n[C>>1]=n[I>>1]|0;n[C+2>>1]=n[I+2>>1]|0;n[C+4>>1]=n[I+4>>1]|0;Ca(P,e,N,C);n[H>>1]=n[P>>1]|0;n[H+2>>1]=n[P+2>>1]|0;n[H+4>>1]=n[P+4>>1]|0;H=t[z>>2]|0;t[z>>2]=(H|0)<1?0:H+-1|0;i=i+1|0}r=i+R|0}else{a=s[l+(R*6|0)>>1]|0;i=o-d>>31;if((i^b|0)>=0)if((i^h|0)<0)i=d;else i=d-u+o|0;else i=o;o=Pa(e,_,a,i,0)|0;a=s[(t[x>>2]|0)+(R*6|0)+2>>1]|0;i=k-v>>31;if((i^p|0)>=0)if((i^m|0)<0)i=v;else i=v-w+k|0;else i=k;a=Pa(e,g,a,i,0)|0;l=s[(t[x>>2]|0)+(R*6|0)+4>>1]|0;i=y-E>>31;if((i^S|0)>=0)if((i^A|0)<0)i=E;else i=E-M+y|0;else i=y;T=Pa(e,T,l,i,0)|0;H=t[x>>2]|0;n[H+(R*6|0)>>1]=o;n[H+(R*6|0)+2>>1]=a;n[H+(R*6|0)+4>>1]=T}i=t[O>>2]|0;if((r|0)>=(i|0))break;else R=r}c=F;return}function Ra(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0;u=e+112|0;c=e+108|0;h=e+4592|0;s=t[u>>2]|0;l=0;while(1){if((s|0)<1){Uf(e);s=t[u>>2]|0}o=t[c>>2]|0;s=s+-1|0;t[u>>2]=s;t[c>>2]=o<<1;if((o|0)>=0){d=8;break}o=t[h>>2]|0;b=1<>2];_=a-l|0;_=(b|0)<(_|0)?b:_;l=_+l|0;if((_|0)==(b|0))t[h>>2]=(o|0)>30?31:o+1|0;if((l|0)==(a|0)){s=a;break}}if((d|0)==8)if((l|0)!=(a|0)){s=t[h>>2]|0;if((s+-4|0)>>>0<28)s=wa(e,t[36476+(s<<2)>>2]|0)|0;else s=0;s=s+l|0;if((s|0)>(a|0)){s=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,s|0,5,35648);_=w;w=0;if(_&1){_=je()|0;He(s|0);Qe(_|0)}else bi(s|0,824,96)}}else s=a;if((s|0)<=0)return s|0;l=0;do{_=r+(l*6|0)|0;n[_>>1]=n[i>>1]|0;n[_+2>>1]=n[i+2>>1]|0;n[_+4>>1]=n[i+4>>1]|0;l=l+1|0}while((l|0)!=(s|0));return s|0}function Ca(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;c=i+4568|0;b=Ia(i,c)|0;o=Ia(i,c)|0;c=Ia(i,c)|0;l=i+128|0;a=s[f>>1]|0;h=t[i+136>>2]|0;d=h<<1|1;a=(re(re(d,b)|0,a-(s[r>>1]|0)>>31|1)|0)+a|0;b=0-h|0;if((a|0)>=(b|0)){l=t[l>>2]|0;if((l+h|0)<(a|0))a=a-(re(t[i+132>>2]|0,d)|0)|0}else{a=(re(t[i+132>>2]|0,d)|0)+a|0;l=t[l>>2]|0}if((a&l|0)!=(a|0))a=l&~(a>>31);u=a&65535;a=s[f+2>>1]|0;a=(re(re(d,o)|0,a-(s[r+2>>1]|0)>>31|1)|0)+a|0;if((a|0)>=(b|0)){if((l+h|0)<(a|0))a=a-(re(t[i+132>>2]|0,d)|0)|0}else a=(re(t[i+132>>2]|0,d)|0)+a|0;if((a&l|0)!=(a|0))a=l&~(a>>31);o=a&65535;a=s[f+4>>1]|0;a=(re(re(d,c)|0,a-(s[r+4>>1]|0)>>31|1)|0)+a|0;if((a|0)>=(b|0)){if((l+h|0)<(a|0))a=a-(re(t[i+132>>2]|0,d)|0)|0}else a=(re(t[i+132>>2]|0,d)|0)+a|0;if((a&l|0)==(a|0)){i=a;i=i&65535;n[e>>1]=u;b=e+2|0;n[b>>1]=o;e=e+4|0;n[e>>1]=i;return}i=l&~(a>>31);i=i&65535;n[e>>1]=u;b=e+2|0;n[b>>1]=o;e=e+4|0;n[e>>1]=i;return}function Pa(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,m=0,v=0;v=i>>31;c=(v^i)-v|0;_=e+188+(c*12|0)+10|0;r=n[_>>1]|0;b=e+188+(c*12|0)|0;s=t[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){i=5;while(1)if((r<>1]^v)-v+a|0;m=e+128|0;s=t[m>>2]|0;if((r&s|0)==(r|0))h=r;else h=s&~(r>>31);r=e+112|0;if((t[r>>2]|0)<8)Uf(e);s=e+108|0;a=t[s>>2]|0;l=a>>>24;o=t[2832+(i<<11)+(l<<3)+4>>2]|0;if(!o){u=t[e+148>>2]|0;s=t[e+140>>2]|0;r=ka(e)|0;if((r|0)<(u+-1-s|0)){if(i)r=(wa(e,i)|0)+(r<>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,r|0,5,35648);e=w;w=0;if(e&1){e=je()|0;He(r|0);Qe(e|0)}else bi(r|0,824,96)}}else{t[r>>2]=(t[r>>2]|0)-o;t[s>>2]=a<>2]|0}u=e+136|0;a=t[u>>2]|0;if(!i){if(!a)s=(t[e+188+(c*12|0)+4>>2]<<1)+-1+(n[_>>1]|0)>>31;else s=0;o=s^r}else o=r;i=t[e+152>>2]|0;s=(t[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;l=e+188+(c*12|0)+4|0;r=(t[l>>2]|0)+(re(a<<1|1,o)|0)|0;a=n[_>>1]|0;if((a|0)==(i|0)){s=s>>1;r=r>>1;a=i>>1}t[b>>2]=s;i=a+1|0;n[_>>1]=i;s=i+r|0;if((s|0)>=1){if((r|0)>0){r=r-i|0;_=n[d>>1]|0;n[d>>1]=(_<<16>>16<127&1)+(_&65535);r=(r|0)>0?0:r}}else{r=n[d>>1]|0;n[d>>1]=(r&65535)-(r<<16>>16>-128&1);r=(s|0)>(~a|0)?s:0-a|0}t[l>>2]=r;i=t[u>>2]|0;a=i<<1|1;s=(re(a,(o^v)-v|0)|0)+h|0;if((s|0)>=(0-i|0)){r=t[m>>2]|0;if((r+i|0)<(s|0))s=s-(re(t[e+132>>2]|0,a)|0)|0}else{s=(re(t[e+132>>2]|0,a)|0)+s|0;r=t[m>>2]|0}if((s&r|0)==(s|0)){e=s;e=e&65535;return e|0}e=r&~(s>>31);e=e&65535;return e|0}function Ia(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0;h=i+9|0;r=a[h>>0]|0;l=i+4|0;s=(re(r>>>1,t[l>>2]|0)|0)+(t[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;o=t[e+148>>2]|0;u=t[36476+(t[e+4592>>2]<<2)>>2]|0;r=t[e+140>>2]|0;s=ka(e)|0;do{if((s|0)<(o+-2-u-r|0))if(!n){n=t[l>>2]|0;e=n+s|0;r=e&1;e=(r+e|0)/2|0;c=8;break}else{u=(wa(e,n)|0)+(s<>2]|0;s=u+n|0;o=s&1;r=o;l=1;s=(o+s|0)/2|0;break}else{s=(wa(e,r)|0)+1|0;o=t[l>>2]|0;e=s+o|0;r=e&1;e=(r+e|0)/2|0;if(!n){n=o;c=8}else{u=s;l=1;s=e;n=o}}}while(0);if((c|0)==8){u=s;l=a[i+10>>0]<<1>>>0>=(a[h>>0]|0)>>>0;s=e}s=(r|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;f[c>>0]=(a[c>>0]|0)+1}r=(u+1-n>>1)+(t[i>>2]|0)|0;t[i>>2]=r;n=f[h>>0]|0;if(n<<24>>24!=(f[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;f[h>>0]=i;return s|0}t[i>>2]=r>>1;c=(n&255)>>>1;f[h>>0]=c;i=i+10|0;f[i>>0]=(a[i>>0]|0)>>>1;i=c;i=i&255;i=i+1|0;i=i&255;f[h>>0]=i;return s|0}function Oa(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0;_=c;c=c+32|0;n=_;b=e+136|0;e:do{if(!(t[b>>2]|0)){r=t[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<>2])+-1|0)?(op(n,r,0),(t[n+4>>2]|0)==(t[e+176>>2]|0)):0)?(t[n+8>>2]|0)==(t[e+180>>2]|0):0)?(t[n+12>>2]|0)==(t[e+184>>2]|0):0)switch(t[i>>2]|0){case 8:{b=t[8900]|0;t[e+4604>>2]=b+(((t[8901]|0)-b|0)>>>1);c=_;return}case 10:{b=t[8903]|0;t[e+4604>>2]=b+(((t[8904]|0)-b|0)>>>1);c=_;return}case 12:{b=t[8906]|0;t[e+4604>>2]=b+(((t[8907]|0)-b|0)>>>1);c=_;return}case 16:{b=t[8909]|0;t[e+4604>>2]=b+(((t[8910]|0)-b|0)>>>1);c=_;return}default:break e}}else i=e+144|0}while(0);d=1<>2];r=e+4608|0;n=d<<1;a=e+4612|0;s=t[a>>2]|0;i=t[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0>>0?(o=i+n|0,(s|0)!=(o|0)):0)t[a>>2]=o}else{Yf(r,n-l|0);i=t[r>>2]|0}h=e+4604|0;t[h>>2]=i+d;i=0-d|0;if((d|0)<=(i|0)){c=_;return}o=e+184|0;u=e+180|0;l=e+176|0;s=i;do{i=t[o>>2]|0;if((s|0)>(0-i|0)){r=t[u>>2]|0;if((s|0)>(0-r|0)){n=t[l>>2]|0;if((s|0)>(0-n|0)){a=t[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;f[(t[h>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(d|0));c=_;return}function xa(e){e=e|0;var i=0,r=0;t[e>>2]=35800;i=t[e+4608>>2]|0;if(i){r=e+4612|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36736;i=t[e+92>>2]|0;if(i){r=e+96|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}e=e+88|0;i=t[e>>2]|0;t[e>>2]=0;if(!i)return;tM[t[(t[i>>2]|0)+4>>2]&255](i);return}function La(e){e=e|0;var i=0,r=0;t[e>>2]=35800;i=t[e+4608>>2]|0;if(i){r=e+4612|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36736;i=t[e+92>>2]|0;if(i){r=e+96|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+88|0;i=t[r>>2]|0;t[r>>2]=0;if(!i){Bp(e);return}tM[t[(t[i>>2]|0)+4>>2]&255](i);Bp(e);return}function Ba(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;y=c;c=c+352|0;M=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;_=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((t[e+28>>2]|0)!=0?(t[e+20>>2]|0)!=1:0){m=e+4|0;p=e+32|0;l=t[p>>2]|0;if(!l){e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[r>>0]|0;Ce(44,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}e=t[e+12>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[n>>0]|0;Ce(45,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[a>>0]|0;Ce(46,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[s>>0]|0;Ce(47,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=A+56|0;a=A+4|0;t[A>>2]=36160;t[l>>2]=36180;w=0;ce(62,A+56|0,a|0);y=w;w=0;if(y&1){E=je()|0;nd(l);Qe(E|0)}t[A+128>>2]=0;t[A+132>>2]=-1;t[A>>2]=36200;t[A+56>>2]=36220;w=0;ue(180,a|0);y=w;w=0;do{if(y&1)e=je()|0;else{t[a>>2]=36236;s=A+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[A+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);y=w;w=0;if(y&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,A|0,49007,21)|0;M=w;w=0;do{if((!(M&1)?(w=0,d=pe(36,e|0,t[p>>2]|0)|0,M=w,w=0,!(M&1)):0)?(w=0,_e(28,d|0,50997,18)|0,M=w,w=0,!(M&1)):0){n=Ue(16)|0;w=0;ce(64,_|0,a|0);M=w;w=0;if(!(M&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,_|0);M=w;w=0;if(M&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(_);if(!r)break}else e=je()|0;He(n|0)}else E=34}while(0);if((E|0)==34)e=je()|0;t[A>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}if((e|0)<=8){e=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,e|0,8,35648);E=w;w=0;if(!(E&1))bi(e|0,824,96);E=je()|0;He(e|0);Qe(E|0)}r=16-e|0;switch(l|0){case 1:{e=Lp(60)|0;t[o>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[o>>2];t[M+4>>2]=t[o+4>>2];Ce(41,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(60)|0;t[u>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[u>>2];t[M+4>>2]=t[u+4>>2];Ce(42,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(60)|0;t[h>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[h>>2];t[M+4>>2]=t[h+4>>2];Ce(43,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=g+56|0;a=g+4|0;t[g>>2]=36160;t[l>>2]=36180;w=0;ce(62,g+56|0,a|0);A=w;w=0;if(A&1){E=je()|0;nd(l);Qe(E|0)}t[g+128>>2]=0;t[g+132>>2]=-1;t[g>>2]=36200;t[g+56>>2]=36220;w=0;ue(180,a|0);A=w;w=0;do{if(A&1)e=je()|0;else{t[a>>2]=36236;s=g+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[g+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);A=w;w=0;if(A&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,g|0,49007,21)|0;A=w;w=0;do{if((!(A&1)?(w=0,b=pe(36,e|0,t[p>>2]|0)|0,A=w,w=0,!(A&1)):0)?(w=0,_e(28,b|0,50997,18)|0,A=w,w=0,!(A&1)):0){n=Ue(16)|0;w=0;ce(64,v|0,a|0);A=w;w=0;if(!(A&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,v|0);A=w;w=0;if(A&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(v);if(!r)break}else e=je()|0;He(n|0)}else E=64}while(0);if((E|0)==64)e=je()|0;t[g>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}}r=t[i+4>>2]|0;n=Lp(16)|0;e=t[e+16>>2]|0;if(!r){E=t[i>>2]|0;t[n>>2]=36132;t[n+4>>2]=E;t[n+8>>2]=3;t[n+12>>2]=e;E=n;c=y;return E|0}else{t[n>>2]=36108;t[n+4>>2]=r;t[n+8>>2]=3;t[n+12>>2]=e;E=n;c=y;return E|0}return 0}function za(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,h=0;o=c;c=c+32|0;h=o;op(h,t[e+128>>2]|0,t[e+136>>2]|0);u=t[i+4>>2]|0;l=t[i+8>>2]|0;l=(l|0)==0?t[h+8>>2]|0:l;s=t[i+12>>2]|0;s=(s|0)==0?t[h+12>>2]|0:s;r=t[i+16>>2]|0;a=t[h+16>>2]|0;t[e+176>>2]=(u|0)==0?t[h+4>>2]|0:u;t[e+180>>2]=l;t[e+184>>2]=s;qa(e);s=e+132|0;i=(t[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{t[e+188+(l*12|0)>>2]=i;t[e+188+(l*12|0)+4>>2]=0;n[e+188+(l*12|0)+8>>1]=0;n[e+188+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365);u=(t[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;h=((r|0)==0?a:r)&255;t[e+4568>>2]=u;t[e+4572>>2]=0;f[e+4576>>0]=h;f[e+4577>>0]=1;f[e+4578>>0]=0;t[e+4580>>2]=u;t[e+4584>>2]=1;f[e+4588>>0]=h;f[e+4589>>0]=1;f[e+4590>>0]=0;t[e+4592>>2]=0;c=o;return}function Da(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=t[i>>2]|0;t[i>>2]=0;i=t[l>>2]|0;t[l>>2]=s;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=t[l>>2]|0;f[e+4620>>0]=a&1;i=e+156|0;t[i>>2]=t[r>>2];t[i+4>>2]=t[r+4>>2];t[i+8>>2]=t[r+8>>2];t[i+12>>2]=t[r+12>>2];Cf(e,n);Na(e);i=t[e+116>>2]|0;e=t[e+112>>2]|0;while(1){a=i+-1|0;r=(f[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=t[l>>2]|0;if(!a)return;t[l>>2]=a+i;n=n+8|0;t[n>>2]=(t[n>>2]|0)-i;return}function Na(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0;S=c;c=c+32|0;R=S+12|0;E=S;y=e+172|0;M=(t[y>>2]|0)+4|0;if((t[e+28>>2]|0)==1)A=t[e+20>>2]|0;else A=1;i=re(A<<1,M)|0;t[R>>2]=0;C=R+4|0;t[C>>2]=0;t[R+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(w=0,ue(178,R|0),T=w,w=0,T&1):0))s=6;if((s|0)==6?(w=0,r=de(67,i*3|0)|0,T=w,w=0,!(T&1)):0){t[C>>2]=r;t[R>>2]=r;t[R+8>>2]=r+(i*3|0);while(1){f[r>>0]=0;f[r+1>>0]=0;f[r+2>>0]=0;r=(t[C>>2]|0)+3|0;t[C>>2]=r;i=i+-1|0;if(!i)break e}}n=je()|0;i=t[R>>2]|0;if(!i)Qe(n|0);r=t[C>>2]|0;if((r|0)!=(i|0))t[C>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Bp(i);Qe(n|0)}}while(0);t[E>>2]=0;T=E+4|0;t[T>>2]=0;t[E+8>>2]=0;do{if(!A)s=19;else{if(!(A>>>0>1073741823?(w=0,ue(178,E|0),g=w,w=0,g&1):0))s=17;if((s|0)==17?(n=A<<2,w=0,a=de(67,n|0)|0,g=w,w=0,!(g&1)):0){t[E>>2]=a;s=a+(A<<2)|0;t[E+8>>2]=s;ym(a|0,0,n|0)|0;t[T>>2]=s;s=19;break}n=je()|0;i=t[E>>2]|0;r=i;if(i){a=t[T>>2]|0;if((a|0)!=(i|0))t[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}}while(0);if((s|0)==19){s=e+8|0;e:do{if((t[s>>2]|0)>0){l=e+4596|0;o=re(A,M)|0;u=o+1|0;h=e+4600|0;d=(A|0)>0;b=e+160|0;_=e+168|0;k=e+164|0;m=e+156|0;v=e+88|0;p=e+4592|0;g=0;i:while(1){n=t[R>>2]|0;r=n+3|0;t[l>>2]=r;n=n+(u*3|0)|0;t[h>>2]=n;if(!(g&1))i=n;else{t[l>>2]=n;t[h>>2]=r;i=r;r=n}if(d){a=t[E>>2]|0;n=0;do{t[p>>2]=t[a+(n<<2)>>2];i=t[y>>2]|0;a=r+(i*3|0)|0;r=r+((i+-1|0)*3|0)|0;f[a>>0]=f[r>>0]|0;f[a+1>>0]=f[r+1>>0]|0;f[a+2>>0]=f[r+2>>0]|0;r=t[l>>2]|0;a=(t[h>>2]|0)+-3|0;f[a>>0]=f[r>>0]|0;f[a+1>>0]=f[r+1>>0]|0;f[a+2>>0]=f[r+2>>0]|0;w=0;ce(78,e|0,0);a=w;w=0;if(a&1){s=30;break i}a=t[E>>2]|0;t[a+(n<<2)>>2]=t[p>>2];r=(t[l>>2]|0)+(M*3|0)|0;t[l>>2]=r;i=(t[h>>2]|0)+(M*3|0)|0;t[h>>2]=i;n=n+1|0}while((n|0)<(A|0))}a=t[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((t[_>>2]|0)+a|0):0)?(a=t[v>>2]|0,w=0,Ce(t[(t[a>>2]|0)+8>>2]|0,a|0,i+(((t[m>>2]|0)-o|0)*3|0)|0,t[k>>2]|0,M|0),a=w,w=0,a&1):0){s=31;break}g=g+1|0;if((g|0)>=(t[s>>2]|0)){s=43;break e}}if((s|0)==30){n=je()|0;break}else if((s|0)==31){n=je()|0;break}}else s=43}while(0);do{if((s|0)==43){w=0;ue(183,e|0);e=w;w=0;if(e&1){n=je()|0;break}i=t[E>>2]|0;r=i;if(i){n=t[T>>2]|0;if((n|0)!=(i|0))t[T>>2]=n+(~((n+-4-r|0)>>>2)<<2);Bp(i)}i=t[R>>2]|0;if(!i){c=S;return}r=t[C>>2]|0;if((r|0)!=(i|0))t[C>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Bp(i);c=S;return}}while(0);i=t[E>>2]|0;r=i;if(i){a=t[T>>2]|0;if((a|0)!=(i|0))t[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}i=t[R>>2]|0;if(!i)Qe(n|0);r=t[C>>2]|0;if((r|0)!=(i|0))t[C>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Bp(i);Qe(n|0)}function Fa(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0;N=c;c=c+16|0;R=N+12|0;D=N+9|0;z=N+6|0;C=N+3|0;P=N;I=e+172|0;i=t[I>>2]|0;if((i|0)<=0){c=N;return}O=e+4600|0;x=e+4596|0;L=e+4604|0;B=e+4592|0;T=0;while(1){A=T+-1|0;n=t[O>>2]|0;s=n+(A*3|0)|0;F=t[x>>2]|0;r=T+1|0;l=a[F+(T*3|0)>>0]|0;S=t[L>>2]|0;o=a[F+(A*3|0)>>0]|0;u=l-o|0;h=a[s>>0]|0;d=o-h|0;b=((((f[S+((a[F+(r*3|0)>>0]|0)-l)>>0]|0)*9|0)+(f[S+u>>0]|0)|0)*9|0)+(f[S+d>>0]|0)|0;_=a[F+(T*3|0)+1>>0]|0;k=a[F+(A*3|0)+1>>0]|0;w=_-k|0;m=a[n+(A*3|0)+1>>0]|0;v=k-m|0;p=((((f[S+((a[F+(r*3|0)+1>>0]|0)-_)>>0]|0)*9|0)+(f[S+w>>0]|0)|0)*9|0)+(f[S+v>>0]|0)|0;g=a[F+(T*3|0)+2>>0]|0;y=a[F+(A*3|0)+2>>0]|0;M=g-y|0;A=a[n+(A*3|0)+2>>0]|0;E=y-A|0;S=((((f[S+((a[F+(r*3|0)+2>>0]|0)-g)>>0]|0)*9|0)+(f[S+M>>0]|0)|0)*9|0)+(f[S+E>>0]|0)|0;if(!(p|b|S)){f[z>>0]=f[s>>0]|0;f[z+1>>0]=f[s+1>>0]|0;f[z+2>>0]=f[s+2>>0]|0;f[R>>0]=f[s>>0]|0;f[R+1>>0]=f[s+1>>0]|0;f[R+2>>0]=f[s+2>>0]|0;i=Ha(e,R,n+(T*3|0)|0,i-T|0)|0;r=i+T|0;if((r|0)!=(t[I>>2]|0)){F=(t[x>>2]|0)+(r*3|0)|0;f[P>>0]=f[F>>0]|0;f[P+1>>0]=f[F+1>>0]|0;f[P+2>>0]=f[F+2>>0]|0;F=t[O>>2]|0;f[D>>0]=f[z>>0]|0;f[D+1>>0]=f[z+1>>0]|0;f[D+2>>0]=f[z+2>>0]|0;f[R>>0]=f[P>>0]|0;f[R+1>>0]=f[P+1>>0]|0;f[R+2>>0]=f[P+2>>0]|0;Ua(C,e,D,R);F=F+(r*3|0)|0;f[F>>0]=f[C>>0]|0;f[F+1>>0]=f[C+1>>0]|0;f[F+2>>0]=f[C+2>>0]|0;F=t[B>>2]|0;t[B>>2]=(F|0)<1?0:F+-1|0;i=i+1|0}r=i+T|0}else{n=a[n+(T*3|0)>>0]|0;i=l-h>>31;if((i^d|0)>=0)if((i^u|0)<0)i=h;else i=h-o+l|0;else i=l;l=ja(e,b,n,i,0)|0;n=a[(t[O>>2]|0)+(T*3|0)+1>>0]|0;i=_-m>>31;if((i^v|0)>=0)if((i^w|0)<0)i=m;else i=m-k+_|0;else i=_;n=ja(e,p,n,i,0)|0;s=a[(t[O>>2]|0)+(T*3|0)+2>>0]|0;i=g-A>>31;if((i^E|0)>=0)if((i^M|0)<0)i=A;else i=A-y+g|0;else i=g;S=ja(e,S,s,i,0)|0;F=(t[O>>2]|0)+(T*3|0)|0;f[F>>0]=l;f[F+1>>0]=n;f[F+2>>0]=S}i=t[I>>2]|0;if((r|0)>=(i|0))break;else T=r}c=N;return}function Ha(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;o=e+112|0;u=e+108|0;c=e+4592|0;a=t[o>>2]|0;s=0;while(1){if((a|0)<1){Uf(e);a=t[o>>2]|0}l=t[u>>2]|0;a=a+-1|0;t[o>>2]=a;t[u>>2]=l<<1;if((l|0)>=0){h=8;break}l=t[c>>2]|0;d=1<>2];b=n-s|0;b=(d|0)<(b|0)?d:b;s=b+s|0;if((b|0)==(d|0))t[c>>2]=(l|0)>30?31:l+1|0;if((s|0)==(n|0)){a=n;break}}if((h|0)==8)if((s|0)!=(n|0)){a=t[c>>2]|0;if((a+-4|0)>>>0<28)a=wa(e,t[36476+(a<<2)>>2]|0)|0;else a=0;a=a+s|0;if((a|0)>(n|0)){a=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,a|0,5,35648);b=w;w=0;if(b&1){b=je()|0;He(a|0);Qe(b|0)}else bi(a|0,824,96)}}else a=n;if((a|0)<=0)return a|0;s=0;do{b=r+(s*3|0)|0;f[b>>0]=f[i>>0]|0;f[b+1>>0]=f[i+1>>0]|0;f[b+2>>0]=f[i+2>>0]|0;s=s+1|0}while((s|0)!=(a|0));return a|0}function Ua(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;c=i+4568|0;b=Ya(i,c)|0;o=Ya(i,c)|0;c=Ya(i,c)|0;l=i+128|0;s=a[n>>0]|0;h=t[i+136>>2]|0;d=h<<1|1;s=(re(re(d,b)|0,s-(a[r>>0]|0)>>31|1)|0)+s|0;b=0-h|0;if((s|0)>=(b|0)){l=t[l>>2]|0;if((l+h|0)<(s|0))s=s-(re(t[i+132>>2]|0,d)|0)|0}else{s=(re(t[i+132>>2]|0,d)|0)+s|0;l=t[l>>2]|0}if((s&l|0)!=(s|0))s=l&~(s>>31);u=s&255;s=a[n+1>>0]|0;s=(re(re(d,o)|0,s-(a[r+1>>0]|0)>>31|1)|0)+s|0;if((s|0)>=(b|0)){if((l+h|0)<(s|0))s=s-(re(t[i+132>>2]|0,d)|0)|0}else s=(re(t[i+132>>2]|0,d)|0)+s|0;if((s&l|0)!=(s|0))s=l&~(s>>31);o=s&255;s=a[n+2>>0]|0;s=(re(re(d,c)|0,s-(a[r+2>>0]|0)>>31|1)|0)+s|0;if((s|0)>=(b|0)){if((l+h|0)<(s|0))s=s-(re(t[i+132>>2]|0,d)|0)|0}else s=(re(t[i+132>>2]|0,d)|0)+s|0;if((s&l|0)==(s|0)){i=s;i=i&255;f[e>>0]=u;b=e+1|0;f[b>>0]=o;e=e+2|0;f[e>>0]=i;return}i=l&~(s>>31);i=i&255;f[e>>0]=u;b=e+1|0;f[b>>0]=o;e=e+2|0;f[e>>0]=i;return}function ja(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,m=0,v=0;v=i>>31;c=(v^i)-v|0;_=e+188+(c*12|0)+10|0;r=n[_>>1]|0;b=e+188+(c*12|0)|0;s=t[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){i=5;while(1)if((r<>1]^v)-v+a|0;m=e+128|0;s=t[m>>2]|0;if((r&s|0)==(r|0))h=r;else h=s&~(r>>31);r=e+112|0;if((t[r>>2]|0)<8)Uf(e);s=e+108|0;a=t[s>>2]|0;l=a>>>24;o=t[2832+(i<<11)+(l<<3)+4>>2]|0;if(!o){u=t[e+148>>2]|0;s=t[e+140>>2]|0;r=ka(e)|0;if((r|0)<(u+-1-s|0)){if(i)r=(wa(e,i)|0)+(r<>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,r|0,5,35648);e=w;w=0;if(e&1){e=je()|0;He(r|0);Qe(e|0)}else bi(r|0,824,96)}}else{t[r>>2]=(t[r>>2]|0)-o;t[s>>2]=a<>2]|0}u=e+136|0;a=t[u>>2]|0;if(!i){if(!a)s=(t[e+188+(c*12|0)+4>>2]<<1)+-1+(n[_>>1]|0)>>31;else s=0;o=s^r}else o=r;i=t[e+152>>2]|0;s=(t[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;l=e+188+(c*12|0)+4|0;r=(t[l>>2]|0)+(re(a<<1|1,o)|0)|0;a=n[_>>1]|0;if((a|0)==(i|0)){s=s>>1;r=r>>1;a=i>>1}t[b>>2]=s;i=a+1|0;n[_>>1]=i;s=i+r|0;if((s|0)>=1){if((r|0)>0){r=r-i|0;_=n[d>>1]|0;n[d>>1]=(_<<16>>16<127&1)+(_&65535);r=(r|0)>0?0:r}}else{r=n[d>>1]|0;n[d>>1]=(r&65535)-(r<<16>>16>-128&1);r=(s|0)>(~a|0)?s:0-a|0}t[l>>2]=r;i=t[u>>2]|0;a=i<<1|1;s=(re(a,(o^v)-v|0)|0)+h|0;if((s|0)>=(0-i|0)){r=t[m>>2]|0;if((r+i|0)<(s|0))s=s-(re(t[e+132>>2]|0,a)|0)|0}else{s=(re(t[e+132>>2]|0,a)|0)+s|0;r=t[m>>2]|0}if((s&r|0)==(s|0)){e=s;e=e&255;return e|0}e=r&~(s>>31);e=e&255;return e|0}function Ya(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0;h=i+9|0;r=a[h>>0]|0;l=i+4|0;s=(re(r>>>1,t[l>>2]|0)|0)+(t[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;o=t[e+148>>2]|0;u=t[36476+(t[e+4592>>2]<<2)>>2]|0;r=t[e+140>>2]|0;s=ka(e)|0;do{if((s|0)<(o+-2-u-r|0))if(!n){n=t[l>>2]|0;e=n+s|0;r=e&1;e=(r+e|0)/2|0;c=8;break}else{u=(wa(e,n)|0)+(s<>2]|0;s=u+n|0;o=s&1;r=o;l=1;s=(o+s|0)/2|0;break}else{s=(wa(e,r)|0)+1|0;o=t[l>>2]|0;e=s+o|0;r=e&1;e=(r+e|0)/2|0;if(!n){n=o;c=8}else{u=s;l=1;s=e;n=o}}}while(0);if((c|0)==8){u=s;l=a[i+10>>0]<<1>>>0>=(a[h>>0]|0)>>>0;s=e}s=(r|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;f[c>>0]=(a[c>>0]|0)+1}r=(u+1-n>>1)+(t[i>>2]|0)|0;t[i>>2]=r;n=f[h>>0]|0;if(n<<24>>24!=(f[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;f[h>>0]=i;return s|0}t[i>>2]=r>>1;c=(n&255)>>>1;f[h>>0]=c;i=i+10|0;f[i>>0]=(a[i>>0]|0)>>>1;i=c;i=i&255;i=i+1|0;i=i&255;f[h>>0]=i;return s|0}function qa(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0;_=c;c=c+32|0;n=_;b=e+136|0;e:do{if(!(t[b>>2]|0)){r=t[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<>2])+-1|0)?(op(n,r,0),(t[n+4>>2]|0)==(t[e+176>>2]|0)):0)?(t[n+8>>2]|0)==(t[e+180>>2]|0):0)?(t[n+12>>2]|0)==(t[e+184>>2]|0):0)switch(t[i>>2]|0){case 8:{b=t[8900]|0;t[e+4604>>2]=b+(((t[8901]|0)-b|0)>>>1);c=_;return}case 10:{b=t[8903]|0;t[e+4604>>2]=b+(((t[8904]|0)-b|0)>>>1);c=_;return}case 12:{b=t[8906]|0;t[e+4604>>2]=b+(((t[8907]|0)-b|0)>>>1);c=_;return}case 16:{b=t[8909]|0;t[e+4604>>2]=b+(((t[8910]|0)-b|0)>>>1);c=_;return}default:break e}}else i=e+144|0}while(0);d=1<>2];r=e+4608|0;n=d<<1;a=e+4612|0;s=t[a>>2]|0;i=t[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0>>0?(o=i+n|0,(s|0)!=(o|0)):0)t[a>>2]=o}else{Yf(r,n-l|0);i=t[r>>2]|0}h=e+4604|0;t[h>>2]=i+d;i=0-d|0;if((d|0)<=(i|0)){c=_;return}o=e+184|0;u=e+180|0;l=e+176|0;s=i;do{i=t[o>>2]|0;if((s|0)>(0-i|0)){r=t[u>>2]|0;if((s|0)>(0-r|0)){n=t[l>>2]|0;if((s|0)>(0-n|0)){a=t[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;f[(t[h>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(d|0));c=_;return}function $a(e){e=e|0;var i=0,r=0;t[e>>2]=35772;i=t[e+4584>>2]|0;if(i){r=e+4588|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36736;i=t[e+92>>2]|0;if(i){r=e+96|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}e=e+88|0;i=t[e>>2]|0;t[e>>2]=0;if(!i)return;tM[t[(t[i>>2]|0)+4>>2]&255](i);return}function Va(e){e=e|0;var i=0,r=0;t[e>>2]=35772;i=t[e+4584>>2]|0;if(i){r=e+4588|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36736;i=t[e+92>>2]|0;if(i){r=e+96|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+88|0;i=t[r>>2]|0;t[r>>2]=0;if(!i){Bp(e);return}tM[t[(t[i>>2]|0)+4>>2]&255](i);Bp(e);return}function Xa(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;y=c;c=c+352|0;M=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;_=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((t[e+28>>2]|0)!=0?(t[e+20>>2]|0)!=1:0){m=e+4|0;p=e+32|0;l=t[p>>2]|0;if(!l){e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[r>>0]|0;Ce(37,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}e=t[e+12>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[n>>0]|0;Ce(38,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[a>>0]|0;Ce(39,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[s>>0]|0;Ce(40,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=A+56|0;a=A+4|0;t[A>>2]=36160;t[l>>2]=36180;w=0;ce(62,A+56|0,a|0);y=w;w=0;if(y&1){E=je()|0;nd(l);Qe(E|0)}t[A+128>>2]=0;t[A+132>>2]=-1;t[A>>2]=36200;t[A+56>>2]=36220;w=0;ue(180,a|0);y=w;w=0;do{if(y&1)e=je()|0;else{t[a>>2]=36236;s=A+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[A+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);y=w;w=0;if(y&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,A|0,49007,21)|0;M=w;w=0;do{if((!(M&1)?(w=0,d=pe(36,e|0,t[p>>2]|0)|0,M=w,w=0,!(M&1)):0)?(w=0,_e(28,d|0,50997,18)|0,M=w,w=0,!(M&1)):0){n=Ue(16)|0;w=0;ce(64,_|0,a|0);M=w;w=0;if(!(M&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,_|0);M=w;w=0;if(M&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(_);if(!r)break}else e=je()|0;He(n|0)}else E=34}while(0);if((E|0)==34)e=je()|0;t[A>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}if((e|0)<=8){e=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,e|0,8,35648);E=w;w=0;if(!(E&1))bi(e|0,824,96);E=je()|0;He(e|0);Qe(E|0)}r=16-e|0;switch(l|0){case 1:{e=Lp(60)|0;t[o>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[o>>2];t[M+4>>2]=t[o+4>>2];Ce(41,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(60)|0;t[u>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[u>>2];t[M+4>>2]=t[u+4>>2];Ce(42,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(60)|0;t[h>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[h>>2];t[M+4>>2]=t[h+4>>2];Ce(43,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=g+56|0;a=g+4|0;t[g>>2]=36160;t[l>>2]=36180;w=0;ce(62,g+56|0,a|0);A=w;w=0;if(A&1){E=je()|0;nd(l);Qe(E|0)}t[g+128>>2]=0;t[g+132>>2]=-1;t[g>>2]=36200;t[g+56>>2]=36220;w=0;ue(180,a|0);A=w;w=0;do{if(A&1)e=je()|0;else{t[a>>2]=36236;s=g+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[g+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);A=w;w=0;if(A&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,g|0,49007,21)|0;A=w;w=0;do{if((!(A&1)?(w=0,b=pe(36,e|0,t[p>>2]|0)|0,A=w,w=0,!(A&1)):0)?(w=0,_e(28,b|0,50997,18)|0,A=w,w=0,!(A&1)):0){n=Ue(16)|0;w=0;ce(64,v|0,a|0);A=w;w=0;if(!(A&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,v|0);A=w;w=0;if(A&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(v);if(!r)break}else e=je()|0;He(n|0)}else E=64}while(0);if((E|0)==64)e=je()|0;t[g>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}}r=t[i+4>>2]|0;n=Lp(16)|0;e=t[e+16>>2]|0;if(!r){E=t[i>>2]|0;t[n>>2]=36132;t[n+4>>2]=E;t[n+8>>2]=2;t[n+12>>2]=e;E=n;c=y;return E|0}else{t[n>>2]=36108;t[n+4>>2]=r;t[n+8>>2]=2;t[n+12>>2]=e;E=n;c=y;return E|0}return 0}function Ga(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;op(u,65535,0);o=t[i+4>>2]|0;l=t[i+8>>2]|0;l=(l|0)==0?t[u+8>>2]|0:l;a=t[i+12>>2]|0;a=(a|0)==0?t[u+12>>2]|0:a;i=t[i+16>>2]|0;r=t[u+16>>2]|0;t[e+152>>2]=(o|0)==0?t[u+4>>2]|0:o;t[e+156>>2]=l;t[e+160>>2]=a;rs(e);a=0;do{t[e+164+(a*12|0)>>2]=1024;t[e+164+(a*12|0)+4>>2]=0;n[e+164+(a*12|0)+8>>1]=0;n[e+164+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365);u=((i|0)==0?r:i)&255;t[e+4544>>2]=1024;t[e+4548>>2]=0;f[e+4552>>0]=u;f[e+4553>>0]=1;f[e+4554>>0]=0;t[e+4556>>2]=1024;t[e+4560>>2]=1;f[e+4564>>0]=u;f[e+4565>>0]=1;f[e+4566>>0]=0;t[e+4568>>2]=0;c=s;return}function Ka(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=t[i>>2]|0;t[i>>2]=0;i=t[l>>2]|0;t[l>>2]=s;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=t[l>>2]|0;f[e+4596>>0]=a&1;i=e+132|0;t[i>>2]=t[r>>2];t[i+4>>2]=t[r+4>>2];t[i+8>>2]=t[r+8>>2];t[i+12>>2]=t[r+12>>2];Cf(e,n);Wa(e);i=t[e+116>>2]|0;e=t[e+112>>2]|0;while(1){a=i+-1|0;r=(f[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=t[l>>2]|0;if(!a)return;t[l>>2]=a+i;n=n+8|0;t[n>>2]=(t[n>>2]|0)-i;return}function Wa(e){e=e|0;var i=0,r=0,f=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0;S=c;c=c+32|0;R=S+12|0;E=S;y=e+148|0;M=(t[y>>2]|0)+4|0;if((t[e+28>>2]|0)==1)A=t[e+20>>2]|0;else A=1;i=re(A<<1,M)|0;t[R>>2]=0;C=R+4|0;t[C>>2]=0;t[R+8>>2]=0;do{if(i){if(!((i|0)<0?(w=0,ue(178,R|0),T=w,w=0,T&1):0))l=6;if((l|0)==6?(r=i<<1,w=0,f=de(67,r|0)|0,T=w,w=0,!(T&1)):0){t[R>>2]=f;T=f+(i<<1)|0;t[R+8>>2]=T;ym(f|0,0,r|0)|0;t[C>>2]=T;break}f=je()|0;i=t[R>>2]|0;if(!i)Qe(f|0);r=t[C>>2]|0;if((r|0)!=(i|0))t[C>>2]=r+(~((r+-2-i|0)>>>1)<<1);Bp(i);Qe(f|0)}}while(0);t[E>>2]=0;T=E+4|0;t[T>>2]=0;t[E+8>>2]=0;do{if(!A)l=18;else{if(!(A>>>0>1073741823?(w=0,ue(178,E|0),g=w,w=0,g&1):0))l=16;if((l|0)==16?(a=A<<2,w=0,s=de(67,a|0)|0,g=w,w=0,!(g&1)):0){t[E>>2]=s;l=s+(A<<2)|0;t[E+8>>2]=l;ym(s|0,0,a|0)|0;t[T>>2]=l;l=18;break}f=je()|0;i=t[E>>2]|0;r=i;if(i){a=t[T>>2]|0;if((a|0)!=(i|0))t[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}}while(0);if((l|0)==18){s=e+8|0;e:do{if((t[s>>2]|0)>0){l=e+4572|0;o=re(A,M)|0;u=o+1|0;h=e+4576|0;d=(A|0)>0;b=e+136|0;_=e+144|0;k=e+140|0;m=e+132|0;v=e+88|0;p=e+4568|0;g=0;i:while(1){f=t[R>>2]|0;r=f+2|0;t[l>>2]=r;f=f+(u<<1)|0;t[h>>2]=f;if(!(g&1))i=f;else{t[l>>2]=f;t[h>>2]=r;i=r;r=f}if(d){a=t[E>>2]|0;f=0;do{t[p>>2]=t[a+(f<<2)>>2];a=t[y>>2]|0;n[r+(a<<1)>>1]=n[r+(a+-1<<1)>>1]|0;n[i+-2>>1]=n[r>>1]|0;w=0;ce(79,e|0,0);a=w;w=0;if(a&1){l=29;break i}a=t[E>>2]|0;t[a+(f<<2)>>2]=t[p>>2];r=(t[l>>2]|0)+(M<<1)|0;t[l>>2]=r;i=(t[h>>2]|0)+(M<<1)|0;t[h>>2]=i;f=f+1|0}while((f|0)<(A|0))}a=t[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((t[_>>2]|0)+a|0):0)?(a=t[v>>2]|0,w=0,Ce(t[(t[a>>2]|0)+8>>2]|0,a|0,i+((t[m>>2]|0)-o<<1)|0,t[k>>2]|0,M|0),a=w,w=0,a&1):0){l=30;break}g=g+1|0;if((g|0)>=(t[s>>2]|0)){l=42;break e}}if((l|0)==29){f=je()|0;break}else if((l|0)==30){f=je()|0;break}}else l=42}while(0);do{if((l|0)==42){w=0;ue(183,e|0);e=w;w=0;if(e&1){f=je()|0;break}i=t[E>>2]|0;r=i;if(i){f=t[T>>2]|0;if((f|0)!=(i|0))t[T>>2]=f+(~((f+-4-r|0)>>>2)<<2);Bp(i)}i=t[R>>2]|0;if(!i){c=S;return}r=t[C>>2]|0;if((r|0)!=(i|0))t[C>>2]=r+(~((r+-2-i|0)>>>1)<<1);Bp(i);c=S;return}}while(0);i=t[E>>2]|0;r=i;if(i){a=t[T>>2]|0;if((a|0)!=(i|0))t[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}i=t[R>>2]|0;if(!i)Qe(f|0);r=t[C>>2]|0;if((r|0)!=(i|0))t[C>>2]=r+(~((r+-2-i|0)>>>1)<<1);Bp(i);Qe(f|0)}function Za(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0;_=e+4572|0;i=t[_>>2]|0;m=e+148|0;if((t[m>>2]|0)<=0)return;k=e+4576|0;w=e+4580|0;l=i;o=s[i+-2>>1]|0;i=s[i>>1]|0;b=0;while(1){d=t[k>>2]|0;h=s[d+(b+-1<<1)>>1]|0;a=b+1|0;r=s[l+(a<<1)>>1]|0;c=t[w>>2]|0;u=i-o|0;l=o-h|0;c=((((f[c+(r-i)>>0]|0)*9|0)+(f[c+u>>0]|0)|0)*9|0)+(f[c+l>>0]|0)|0;if(!c){a=(Qa(e,b,0)|0)+b|0;r=t[_>>2]|0;i=s[r+(a+-1<<1)>>1]|0;r=s[r+(a<<1)>>1]|0}else{o=i-h>>31;if((o^l|0)<0)l=i;else l=h+((o^u|0)<0?0:u)|0;d=Ja(e,c,s[d+(b<<1)>>1]|0,l,0)|0;n[(t[k>>2]|0)+(b<<1)>>1]=d}if((a|0)>=(t[m>>2]|0))break;l=t[_>>2]|0;o=i;i=r;b=a}return}function Ja(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,m=0;m=i>>31;h=(m^i)-m|0;_=e+164+(h*12|0)+10|0;r=n[_>>1]|0;b=e+164+(h*12|0)|0;s=t[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){l=5;while(1)if((r<>1]^m)-m+a|0;if((r&65535|0)!=(r|0))r=r>>31&65535^65535;s=e+112|0;if((t[s>>2]|0)<8)Uf(e);a=e+108|0;o=t[a>>2]|0;u=o>>>24;c=t[2832+(l<<11)+(u<<3)+4>>2]|0;if(!c){s=ka(e)|0;if((s|0)<47){if(l)s=(wa(e,l)|0)+(s<>31^s>>1;if((((s|0)>-1?s:0-s|0)|0)>65535){r=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,r|0,5,35648);i=w;w=0;if(i&1){i=je()|0;He(r|0);Qe(i|0)}else bi(r|0,824,96)}}else{t[s>>2]=(t[s>>2]|0)-c;t[a>>2]=o<>2]|0}c=e+164+(h*12|0)+4|0;a=t[c>>2]|0;if(!l){e=n[_>>1]|0;l=e;s=(a<<1)+-1+(e<<16>>16)>>31^s}else l=n[_>>1]|0;o=l<<16>>16==64;e=o&1;u=a+s>>e;o=o?32:l<<16>>16;t[b>>2]=((s|0)>-1?s:0-s|0)+(t[b>>2]|0)>>e;a=o+1|0;n[_>>1]=a;l=a+u|0;if((l|0)<1){_=n[d>>1]|0;n[d>>1]=(_&65535)-(_<<16>>16>-128&1);_=(l|0)>(~o|0)?l:0-o|0;t[c>>2]=_;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&65535;return i|0}if((u|0)<=0){_=u;t[c>>2]=_;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&65535;return i|0}_=u-a|0;b=n[d>>1]|0;n[d>>1]=(b<<16>>16<127&1)+(b&65535);_=(_|0)>0?0:_;t[c>>2]=_;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&65535;return i|0}function Qa(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,o=0;l=e+4576|0;a=t[l>>2]|0;r=n[a+(i+-1<<1)>>1]|0;o=e+148|0;a=es(e,r,a+(i<<1)|0,(t[o>>2]|0)-i|0)|0;f=a+i|0;if((f|0)==(t[o>>2]|0)){o=a;return o|0}r=r&65535;i=s[(t[e+4572>>2]|0)+(f<<1)>>1]|0;o=r-i|0;if((((o|0)>-1?o:0-o|0)|0)<1)r=(is(e,e+4556|0)|0)+r|0;else r=(re(is(e,e+4544|0)|0,i-r>>31|1)|0)+i|0;n[(t[l>>2]|0)+(f<<1)>>1]=r;o=e+4568|0;e=t[o>>2]|0;t[o>>2]=(e|0)<1?0:e+-1|0;o=a+1|0;return o|0}function es(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0;u=e+112|0;c=e+108|0;h=e+4568|0;s=t[u>>2]|0;l=0;while(1){if((s|0)<1){Uf(e);s=t[u>>2]|0}o=t[c>>2]|0;s=s+-1|0;t[u>>2]=s;t[c>>2]=o<<1;if((o|0)>=0){d=8;break}o=t[h>>2]|0;b=1<>2];_=a-l|0;_=(b|0)<(_|0)?b:_;l=_+l|0;if((_|0)==(b|0))t[h>>2]=(o|0)>30?31:o+1|0;if((l|0)==(a|0)){s=a;break}}if((d|0)==8)if((l|0)!=(a|0)){s=t[h>>2]|0;if((s+-4|0)>>>0<28)s=wa(e,t[36476+(s<<2)>>2]|0)|0;else s=0;s=s+l|0;if((s|0)>(a|0)){s=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,s|0,5,35648);_=w;w=0;if(_&1){_=je()|0;He(s|0);Qe(_|0)}else bi(s|0,824,96)}}else s=a;if((s|0)>0)l=0;else return s|0;do{n[r+(l<<1)>>1]=i;l=l+1|0}while((l|0)!=(s|0));return s|0}function is(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0;u=i+9|0;r=a[u>>0]|0;l=i+4|0;s=(re(r>>>1,t[l>>2]|0)|0)+(t[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;s=t[36476+(t[e+4568>>2]<<2)>>2]|0;r=ka(e)|0;do{if((r|0)<(46-s|0))if(!n){e=t[l>>2]|0;s=e+r|0;n=s&1;s=(n+s|0)/2|0;o=8;break}else{r=(wa(e,n)|0)+(r<>2]|0;s=r+e|0;c=s&1;n=c;l=1;s=(c+s|0)/2|0;break}else{r=(wa(e,16)|0)+1|0;e=t[l>>2]|0;s=r+e|0;l=s&1;s=(l+s|0)/2|0;if(!n){n=l;o=8}else{n=l;l=1}}}while(0);if((o|0)==8)l=a[i+10>>0]<<1>>>0>=(a[u>>0]|0)>>>0;s=(n|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;f[c>>0]=(a[c>>0]|0)+1}r=(r+1-e>>1)+(t[i>>2]|0)|0;t[i>>2]=r;n=f[u>>0]|0;if(n<<24>>24!=(f[i+8>>0]|0)){c=n;c=c&255;c=c+1|0;c=c&255;f[u>>0]=c;return s|0}t[i>>2]=r>>1;c=(n&255)>>>1;f[u>>0]=c;i=i+10|0;f[i>>0]=(a[i>>0]|0)>>>1;c=c&255;c=c+1|0;c=c&255;f[u>>0]=c;return s|0}function rs(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;o=h;op(o,65535,0);u=e+152|0;if(((t[o+4>>2]|0)==(t[u>>2]|0)?(t[o+8>>2]|0)==(t[e+156>>2]|0):0)?(t[o+12>>2]|0)==(t[e+160>>2]|0):0){u=t[8909]|0;t[e+4580>>2]=u+(((t[8910]|0)-u|0)>>>1);c=h;return}r=e+4584|0;n=e+4588|0;a=t[n>>2]|0;i=t[r>>2]|0;s=a-i|0;if(s>>>0>=131072){if(s>>>0>131072?(l=i+131072|0,(a|0)!=(l|0)):0)t[n>>2]=l}else{Yf(r,131072-s|0);i=t[r>>2]|0}o=e+4580|0;t[o>>2]=i+65536;l=e+160|0;a=e+156|0;s=-65536;while(1){i=t[l>>2]|0;if((s|0)>(0-i|0)){r=t[a>>2]|0;if((s|0)>(0-r|0)){n=t[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){f[(t[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;f[(t[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==65536)break}c=h;return}function fs(e){e=e|0;var i=0,r=0;t[e>>2]=35744;i=t[e+4584>>2]|0;if(i){r=e+4588|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36736;i=t[e+92>>2]|0;if(i){r=e+96|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}e=e+88|0;i=t[e>>2]|0;t[e>>2]=0;if(!i)return;tM[t[(t[i>>2]|0)+4>>2]&255](i);return}function ns(e){e=e|0;var i=0,r=0;t[e>>2]=35744;i=t[e+4584>>2]|0;if(i){r=e+4588|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36736;i=t[e+92>>2]|0;if(i){r=e+96|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+88|0;i=t[r>>2]|0;t[r>>2]=0;if(!i){Bp(e);return}tM[t[(t[i>>2]|0)+4>>2]&255](i);Bp(e);return}function ts(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;y=c;c=c+352|0;M=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;_=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((t[e+28>>2]|0)!=0?(t[e+20>>2]|0)!=1:0){m=e+4|0;p=e+32|0;l=t[p>>2]|0;if(!l){e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[r>>0]|0;Ce(37,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}e=t[e+12>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[n>>0]|0;Ce(38,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[a>>0]|0;Ce(39,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[s>>0]|0;Ce(40,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=A+56|0;a=A+4|0;t[A>>2]=36160;t[l>>2]=36180;w=0;ce(62,A+56|0,a|0);y=w;w=0;if(y&1){E=je()|0;nd(l);Qe(E|0)}t[A+128>>2]=0;t[A+132>>2]=-1;t[A>>2]=36200;t[A+56>>2]=36220;w=0;ue(180,a|0);y=w;w=0;do{if(y&1)e=je()|0;else{t[a>>2]=36236;s=A+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[A+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);y=w;w=0;if(y&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,A|0,49007,21)|0;M=w;w=0;do{if((!(M&1)?(w=0,d=pe(36,e|0,t[p>>2]|0)|0,M=w,w=0,!(M&1)):0)?(w=0,_e(28,d|0,50997,18)|0,M=w,w=0,!(M&1)):0){n=Ue(16)|0;w=0;ce(64,_|0,a|0);M=w;w=0;if(!(M&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,_|0);M=w;w=0;if(M&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(_);if(!r)break}else e=je()|0;He(n|0)}else E=34}while(0);if((E|0)==34)e=je()|0;t[A>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}if((e|0)<=8){e=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,e|0,8,35648);E=w;w=0;if(!(E&1))bi(e|0,824,96);E=je()|0;He(e|0);Qe(E|0)}r=16-e|0;switch(l|0){case 1:{e=Lp(60)|0;t[o>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[o>>2];t[M+4>>2]=t[o+4>>2];Ce(41,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(60)|0;t[u>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[u>>2];t[M+4>>2]=t[u+4>>2];Ce(42,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(60)|0;t[h>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[h>>2];t[M+4>>2]=t[h+4>>2];Ce(43,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=g+56|0;a=g+4|0;t[g>>2]=36160;t[l>>2]=36180;w=0;ce(62,g+56|0,a|0);A=w;w=0;if(A&1){E=je()|0;nd(l);Qe(E|0)}t[g+128>>2]=0;t[g+132>>2]=-1;t[g>>2]=36200;t[g+56>>2]=36220;w=0;ue(180,a|0);A=w;w=0;do{if(A&1)e=je()|0;else{t[a>>2]=36236;s=g+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[g+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);A=w;w=0;if(A&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,g|0,49007,21)|0;A=w;w=0;do{if((!(A&1)?(w=0,b=pe(36,e|0,t[p>>2]|0)|0,A=w,w=0,!(A&1)):0)?(w=0,_e(28,b|0,50997,18)|0,A=w,w=0,!(A&1)):0){n=Ue(16)|0;w=0;ce(64,v|0,a|0);A=w;w=0;if(!(A&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,v|0);A=w;w=0;if(A&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(v);if(!r)break}else e=je()|0;He(n|0)}else E=64}while(0);if((E|0)==64)e=je()|0;t[g>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}}r=t[i+4>>2]|0;n=Lp(16)|0;e=t[e+16>>2]|0;if(!r){E=t[i>>2]|0;t[n>>2]=36132;t[n+4>>2]=E;t[n+8>>2]=2;t[n+12>>2]=e;E=n;c=y;return E|0}else{t[n>>2]=36108;t[n+4>>2]=r;t[n+8>>2]=2;t[n+12>>2]=e;E=n;c=y;return E|0}return 0}function as(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;op(u,4095,0);o=t[i+4>>2]|0;l=t[i+8>>2]|0;l=(l|0)==0?t[u+8>>2]|0:l;a=t[i+12>>2]|0;a=(a|0)==0?t[u+12>>2]|0:a;i=t[i+16>>2]|0;r=t[u+16>>2]|0;t[e+152>>2]=(o|0)==0?t[u+4>>2]|0:o;t[e+156>>2]=l;t[e+160>>2]=a;bs(e);a=0;do{t[e+164+(a*12|0)>>2]=64;t[e+164+(a*12|0)+4>>2]=0;n[e+164+(a*12|0)+8>>1]=0;n[e+164+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365);u=((i|0)==0?r:i)&255;t[e+4544>>2]=64;t[e+4548>>2]=0;f[e+4552>>0]=u;f[e+4553>>0]=1;f[e+4554>>0]=0;t[e+4556>>2]=64;t[e+4560>>2]=1;f[e+4564>>0]=u;f[e+4565>>0]=1;f[e+4566>>0]=0;t[e+4568>>2]=0;c=s;return}function ss(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=t[i>>2]|0;t[i>>2]=0;i=t[l>>2]|0;t[l>>2]=s;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=t[l>>2]|0;f[e+4596>>0]=a&1;i=e+132|0;t[i>>2]=t[r>>2];t[i+4>>2]=t[r+4>>2];t[i+8>>2]=t[r+8>>2];t[i+12>>2]=t[r+12>>2];Cf(e,n);ls(e);i=t[e+116>>2]|0;e=t[e+112>>2]|0;while(1){a=i+-1|0;r=(f[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=t[l>>2]|0;if(!a)return;t[l>>2]=a+i;n=n+8|0;t[n>>2]=(t[n>>2]|0)-i;return}function ls(e){e=e|0;var i=0,r=0,f=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0;S=c;c=c+32|0;R=S+12|0;E=S;y=e+148|0;M=(t[y>>2]|0)+4|0;if((t[e+28>>2]|0)==1)A=t[e+20>>2]|0;else A=1;i=re(A<<1,M)|0;t[R>>2]=0;C=R+4|0;t[C>>2]=0;t[R+8>>2]=0;do{if(i){if(!((i|0)<0?(w=0,ue(178,R|0),T=w,w=0,T&1):0))l=6;if((l|0)==6?(r=i<<1,w=0,f=de(67,r|0)|0,T=w,w=0,!(T&1)):0){t[R>>2]=f;T=f+(i<<1)|0;t[R+8>>2]=T;ym(f|0,0,r|0)|0;t[C>>2]=T;break}f=je()|0;i=t[R>>2]|0;if(!i)Qe(f|0);r=t[C>>2]|0;if((r|0)!=(i|0))t[C>>2]=r+(~((r+-2-i|0)>>>1)<<1);Bp(i);Qe(f|0)}}while(0);t[E>>2]=0;T=E+4|0;t[T>>2]=0;t[E+8>>2]=0;do{if(!A)l=18;else{if(!(A>>>0>1073741823?(w=0,ue(178,E|0),g=w,w=0,g&1):0))l=16;if((l|0)==16?(a=A<<2,w=0,s=de(67,a|0)|0,g=w,w=0,!(g&1)):0){t[E>>2]=s;l=s+(A<<2)|0;t[E+8>>2]=l;ym(s|0,0,a|0)|0;t[T>>2]=l;l=18;break}f=je()|0;i=t[E>>2]|0;r=i;if(i){a=t[T>>2]|0;if((a|0)!=(i|0))t[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}}while(0);if((l|0)==18){s=e+8|0;e:do{if((t[s>>2]|0)>0){l=e+4572|0;o=re(A,M)|0;u=o+1|0;h=e+4576|0;d=(A|0)>0;b=e+136|0;_=e+144|0;k=e+140|0;m=e+132|0;v=e+88|0;p=e+4568|0;g=0;i:while(1){f=t[R>>2]|0;r=f+2|0;t[l>>2]=r;f=f+(u<<1)|0;t[h>>2]=f;if(!(g&1))i=f;else{t[l>>2]=f;t[h>>2]=r;i=r;r=f}if(d){a=t[E>>2]|0;f=0;do{t[p>>2]=t[a+(f<<2)>>2];a=t[y>>2]|0;n[r+(a<<1)>>1]=n[r+(a+-1<<1)>>1]|0;n[i+-2>>1]=n[r>>1]|0;w=0;ce(80,e|0,0);a=w;w=0;if(a&1){l=29;break i}a=t[E>>2]|0;t[a+(f<<2)>>2]=t[p>>2];r=(t[l>>2]|0)+(M<<1)|0;t[l>>2]=r;i=(t[h>>2]|0)+(M<<1)|0;t[h>>2]=i;f=f+1|0}while((f|0)<(A|0))}a=t[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((t[_>>2]|0)+a|0):0)?(a=t[v>>2]|0,w=0,Ce(t[(t[a>>2]|0)+8>>2]|0,a|0,i+((t[m>>2]|0)-o<<1)|0,t[k>>2]|0,M|0),a=w,w=0,a&1):0){l=30;break}g=g+1|0;if((g|0)>=(t[s>>2]|0)){l=42;break e}}if((l|0)==29){f=je()|0;break}else if((l|0)==30){f=je()|0;break}}else l=42}while(0);do{if((l|0)==42){w=0;ue(183,e|0);e=w;w=0;if(e&1){f=je()|0;break}i=t[E>>2]|0;r=i;if(i){f=t[T>>2]|0;if((f|0)!=(i|0))t[T>>2]=f+(~((f+-4-r|0)>>>2)<<2);Bp(i)}i=t[R>>2]|0;if(!i){c=S;return}r=t[C>>2]|0;if((r|0)!=(i|0))t[C>>2]=r+(~((r+-2-i|0)>>>1)<<1);Bp(i);c=S;return}}while(0);i=t[E>>2]|0;r=i;if(i){a=t[T>>2]|0;if((a|0)!=(i|0))t[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}i=t[R>>2]|0;if(!i)Qe(f|0);r=t[C>>2]|0;if((r|0)!=(i|0))t[C>>2]=r+(~((r+-2-i|0)>>>1)<<1);Bp(i);Qe(f|0)}function os(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0;_=e+4572|0;i=t[_>>2]|0;m=e+148|0;if((t[m>>2]|0)<=0)return;k=e+4576|0;w=e+4580|0;l=i;o=s[i+-2>>1]|0;i=s[i>>1]|0;b=0;while(1){d=t[k>>2]|0;h=s[d+(b+-1<<1)>>1]|0;a=b+1|0;r=s[l+(a<<1)>>1]|0;c=t[w>>2]|0;u=i-o|0;l=o-h|0;c=((((f[c+(r-i)>>0]|0)*9|0)+(f[c+u>>0]|0)|0)*9|0)+(f[c+l>>0]|0)|0;if(!c){a=(cs(e,b,0)|0)+b|0;r=t[_>>2]|0;i=s[r+(a+-1<<1)>>1]|0;r=s[r+(a<<1)>>1]|0}else{o=i-h>>31;if((o^l|0)<0)l=i;else l=h+((o^u|0)<0?0:u)|0;d=us(e,c,s[d+(b<<1)>>1]|0,l,0)|0;n[(t[k>>2]|0)+(b<<1)>>1]=d}if((a|0)>=(t[m>>2]|0))break;l=t[_>>2]|0;o=i;i=r;b=a}return}function us(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,m=0;m=i>>31;h=(m^i)-m|0;_=e+164+(h*12|0)+10|0;r=n[_>>1]|0;b=e+164+(h*12|0)|0;s=t[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){l=5;while(1)if((r<>1]^m)-m+a|0;if((r&4095|0)!=(r|0))r=r>>31&4095^4095;s=e+112|0;if((t[s>>2]|0)<8)Uf(e);a=e+108|0;o=t[a>>2]|0;u=o>>>24;c=t[2832+(l<<11)+(u<<3)+4>>2]|0;if(!c){s=ka(e)|0;if((s|0)<35){if(l)s=(wa(e,l)|0)+(s<>31^s>>1;if((((s|0)>-1?s:0-s|0)|0)>65535){r=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,r|0,5,35648);i=w;w=0;if(i&1){i=je()|0;He(r|0);Qe(i|0)}else bi(r|0,824,96)}}else{t[s>>2]=(t[s>>2]|0)-c;t[a>>2]=o<>2]|0}c=e+164+(h*12|0)+4|0;a=t[c>>2]|0;if(!l){e=n[_>>1]|0;l=e;s=(a<<1)+-1+(e<<16>>16)>>31^s}else l=n[_>>1]|0;o=l<<16>>16==64;e=o&1;u=a+s>>e;o=o?32:l<<16>>16;t[b>>2]=((s|0)>-1?s:0-s|0)+(t[b>>2]|0)>>e;a=o+1|0;n[_>>1]=a;l=a+u|0;if((l|0)<1){_=n[d>>1]|0;n[d>>1]=(_&65535)-(_<<16>>16>-128&1);_=(l|0)>(~o|0)?l:0-o|0;t[c>>2]=_;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&4095;i=i&65535;return i|0}if((u|0)<=0){_=u;t[c>>2]=_;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&4095;i=i&65535;return i|0}_=u-a|0;b=n[d>>1]|0;n[d>>1]=(b<<16>>16<127&1)+(b&65535);_=(_|0)>0?0:_;t[c>>2]=_;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&4095;i=i&65535;return i|0}function cs(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,a=0,l=0,o=0;l=e+4576|0;a=t[l>>2]|0;r=n[a+(i+-1<<1)>>1]|0;o=e+148|0;a=hs(e,r,a+(i<<1)|0,(t[o>>2]|0)-i|0)|0;f=a+i|0;if((f|0)==(t[o>>2]|0)){o=a;return o|0}r=r&65535;i=s[(t[e+4572>>2]|0)+(f<<1)>>1]|0;o=r-i|0;if((((o|0)>-1?o:0-o|0)|0)<1)r=(ds(e,e+4556|0)|0)+r|0;else r=(re(ds(e,e+4544|0)|0,i-r>>31|1)|0)+i|0;n[(t[l>>2]|0)+(f<<1)>>1]=r&4095;o=e+4568|0;e=t[o>>2]|0;t[o>>2]=(e|0)<1?0:e+-1|0;o=a+1|0;return o|0}function hs(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0;u=e+112|0;c=e+108|0;h=e+4568|0;s=t[u>>2]|0;l=0;while(1){if((s|0)<1){Uf(e);s=t[u>>2]|0}o=t[c>>2]|0;s=s+-1|0;t[u>>2]=s;t[c>>2]=o<<1;if((o|0)>=0){d=8;break}o=t[h>>2]|0;b=1<>2];_=a-l|0;_=(b|0)<(_|0)?b:_;l=_+l|0;if((_|0)==(b|0))t[h>>2]=(o|0)>30?31:o+1|0;if((l|0)==(a|0)){s=a;break}}if((d|0)==8)if((l|0)!=(a|0)){s=t[h>>2]|0;if((s+-4|0)>>>0<28)s=wa(e,t[36476+(s<<2)>>2]|0)|0;else s=0;s=s+l|0;if((s|0)>(a|0)){s=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,s|0,5,35648);_=w;w=0;if(_&1){_=je()|0;He(s|0);Qe(_|0)}else bi(s|0,824,96)}}else s=a;if((s|0)>0)l=0;else return s|0;do{n[r+(l<<1)>>1]=i;l=l+1|0}while((l|0)!=(s|0));return s|0}function ds(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0;u=i+9|0;r=a[u>>0]|0;l=i+4|0;s=(re(r>>>1,t[l>>2]|0)|0)+(t[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;s=t[36476+(t[e+4568>>2]<<2)>>2]|0;r=ka(e)|0;do{if((r|0)<(34-s|0))if(!n){e=t[l>>2]|0;s=e+r|0;n=s&1;s=(n+s|0)/2|0;o=8;break}else{r=(wa(e,n)|0)+(r<>2]|0;s=r+e|0;c=s&1;n=c;l=1;s=(c+s|0)/2|0;break}else{r=(wa(e,12)|0)+1|0;e=t[l>>2]|0;s=r+e|0;l=s&1;s=(l+s|0)/2|0;if(!n){n=l;o=8}else{n=l;l=1}}}while(0);if((o|0)==8)l=a[i+10>>0]<<1>>>0>=(a[u>>0]|0)>>>0;s=(n|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;f[c>>0]=(a[c>>0]|0)+1}r=(r+1-e>>1)+(t[i>>2]|0)|0;t[i>>2]=r;n=f[u>>0]|0;if(n<<24>>24!=(f[i+8>>0]|0)){c=n;c=c&255;c=c+1|0;c=c&255;f[u>>0]=c;return s|0}t[i>>2]=r>>1;c=(n&255)>>>1;f[u>>0]=c;i=i+10|0;f[i>>0]=(a[i>>0]|0)>>>1;c=c&255;c=c+1|0;c=c&255;f[u>>0]=c;return s|0}function bs(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;o=h;op(o,4095,0);u=e+152|0;if(((t[o+4>>2]|0)==(t[u>>2]|0)?(t[o+8>>2]|0)==(t[e+156>>2]|0):0)?(t[o+12>>2]|0)==(t[e+160>>2]|0):0){u=t[8906]|0;t[e+4580>>2]=u+(((t[8907]|0)-u|0)>>>1);c=h;return}r=e+4584|0;n=e+4588|0;a=t[n>>2]|0;i=t[r>>2]|0;s=a-i|0;if(s>>>0>=8192){if(s>>>0>8192?(l=i+8192|0,(a|0)!=(l|0)):0)t[n>>2]=l}else{Yf(r,8192-s|0);i=t[r>>2]|0}o=e+4580|0;t[o>>2]=i+4096;l=e+160|0;a=e+156|0;s=-4096;while(1){i=t[l>>2]|0;if((s|0)>(0-i|0)){r=t[a>>2]|0;if((s|0)>(0-r|0)){n=t[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){f[(t[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;f[(t[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==4096)break}c=h;return}function _s(e){e=e|0;var i=0,r=0;t[e>>2]=35716;i=t[e+4584>>2]|0;if(i){r=e+4588|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36736;i=t[e+92>>2]|0;if(i){r=e+96|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}e=e+88|0;i=t[e>>2]|0;t[e>>2]=0;if(!i)return;tM[t[(t[i>>2]|0)+4>>2]&255](i);return}function ks(e){e=e|0;var i=0,r=0;t[e>>2]=35716;i=t[e+4584>>2]|0;if(i){r=e+4588|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36736;i=t[e+92>>2]|0;if(i){r=e+96|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+88|0;i=t[r>>2]|0;t[r>>2]=0;if(!i){Bp(e);return}tM[t[(t[i>>2]|0)+4>>2]&255](i);Bp(e);return}function ws(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;y=c;c=c+352|0;M=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;_=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((t[e+28>>2]|0)!=0?(t[e+20>>2]|0)!=1:0){m=e+4|0;p=e+32|0;l=t[p>>2]|0;if(!l){e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[r>>0]|0;Ce(44,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}e=t[e+12>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[n>>0]|0;Ce(45,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[a>>0]|0;Ce(46,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[s>>0]|0;Ce(47,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=A+56|0;a=A+4|0;t[A>>2]=36160;t[l>>2]=36180;w=0;ce(62,A+56|0,a|0);y=w;w=0;if(y&1){E=je()|0;nd(l);Qe(E|0)}t[A+128>>2]=0;t[A+132>>2]=-1;t[A>>2]=36200;t[A+56>>2]=36220;w=0;ue(180,a|0);y=w;w=0;do{if(y&1)e=je()|0;else{t[a>>2]=36236;s=A+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[A+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);y=w;w=0;if(y&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,A|0,49007,21)|0;M=w;w=0;do{if((!(M&1)?(w=0,d=pe(36,e|0,t[p>>2]|0)|0,M=w,w=0,!(M&1)):0)?(w=0,_e(28,d|0,50997,18)|0,M=w,w=0,!(M&1)):0){n=Ue(16)|0;w=0;ce(64,_|0,a|0);M=w;w=0;if(!(M&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,_|0);M=w;w=0;if(M&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(_);if(!r)break}else e=je()|0;He(n|0)}else E=34}while(0);if((E|0)==34)e=je()|0;t[A>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}if((e|0)<=8){e=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,e|0,8,35648);E=w;w=0;if(!(E&1))bi(e|0,824,96);E=je()|0;He(e|0);Qe(E|0)}r=16-e|0;switch(l|0){case 1:{e=Lp(60)|0;t[o>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[o>>2];t[M+4>>2]=t[o+4>>2];Ce(41,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(60)|0;t[u>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[u>>2];t[M+4>>2]=t[u+4>>2];Ce(42,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(60)|0;t[h>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[h>>2];t[M+4>>2]=t[h+4>>2];Ce(43,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=g+56|0;a=g+4|0;t[g>>2]=36160;t[l>>2]=36180;w=0;ce(62,g+56|0,a|0);A=w;w=0;if(A&1){E=je()|0;nd(l);Qe(E|0)}t[g+128>>2]=0;t[g+132>>2]=-1;t[g>>2]=36200;t[g+56>>2]=36220;w=0;ue(180,a|0);A=w;w=0;do{if(A&1)e=je()|0;else{t[a>>2]=36236;s=g+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[g+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);A=w;w=0;if(A&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,g|0,49007,21)|0;A=w;w=0;do{if((!(A&1)?(w=0,b=pe(36,e|0,t[p>>2]|0)|0,A=w,w=0,!(A&1)):0)?(w=0,_e(28,b|0,50997,18)|0,A=w,w=0,!(A&1)):0){n=Ue(16)|0;w=0;ce(64,v|0,a|0);A=w;w=0;if(!(A&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,v|0);A=w;w=0;if(A&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(v);if(!r)break}else e=je()|0;He(n|0)}else E=64}while(0);if((E|0)==64)e=je()|0;t[g>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}}r=t[i+4>>2]|0;n=Lp(16)|0;e=t[e+16>>2]|0;if(!r){E=t[i>>2]|0;t[n>>2]=36132;t[n+4>>2]=E;t[n+8>>2]=1;t[n+12>>2]=e;E=n;c=y;return E|0}else{t[n>>2]=36108;t[n+4>>2]=r;t[n+8>>2]=1;t[n+12>>2]=e;E=n;c=y;return E|0}return 0}function ms(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;op(u,255,0);o=t[i+4>>2]|0;l=t[i+8>>2]|0;l=(l|0)==0?t[u+8>>2]|0:l;a=t[i+12>>2]|0;a=(a|0)==0?t[u+12>>2]|0:a;i=t[i+16>>2]|0;r=t[u+16>>2]|0;t[e+152>>2]=(o|0)==0?t[u+4>>2]|0:o;t[e+156>>2]=l;t[e+160>>2]=a;Ss(e);a=0;do{t[e+164+(a*12|0)>>2]=4;t[e+164+(a*12|0)+4>>2]=0;n[e+164+(a*12|0)+8>>1]=0;n[e+164+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365);u=((i|0)==0?r:i)&255;t[e+4544>>2]=4;t[e+4548>>2]=0;f[e+4552>>0]=u;f[e+4553>>0]=1;f[e+4554>>0]=0;t[e+4556>>2]=4;t[e+4560>>2]=1;f[e+4564>>0]=u;f[e+4565>>0]=1;f[e+4566>>0]=0;t[e+4568>>2]=0;c=s;return}function vs(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=t[i>>2]|0;t[i>>2]=0;i=t[l>>2]|0;t[l>>2]=s;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=t[l>>2]|0;f[e+4596>>0]=a&1;i=e+132|0;t[i>>2]=t[r>>2];t[i+4>>2]=t[r+4>>2];t[i+8>>2]=t[r+8>>2];t[i+12>>2]=t[r+12>>2];Cf(e,n);ps(e);i=t[e+116>>2]|0;e=t[e+112>>2]|0;while(1){a=i+-1|0;r=(f[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=t[l>>2]|0;if(!a)return;t[l>>2]=a+i;n=n+8|0;t[n>>2]=(t[n>>2]|0)-i;return}function ps(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0;S=c;c=c+32|0;R=S+12|0;E=S;y=e+148|0;M=(t[y>>2]|0)+4|0;if((t[e+28>>2]|0)==1)A=t[e+20>>2]|0;else A=1;i=re(A<<1,M)|0;t[R>>2]=0;C=R+4|0;t[C>>2]=0;t[R+8>>2]=0;e:do{if(i){if(!((i|0)<0?(w=0,ue(178,R|0),T=w,w=0,T&1):0))s=6;if((s|0)==6?(w=0,r=de(67,i|0)|0,T=w,w=0,!(T&1)):0){t[C>>2]=r;t[R>>2]=r;t[R+8>>2]=r+i;while(1){f[r>>0]=0;r=(t[C>>2]|0)+1|0;t[C>>2]=r;i=i+-1|0;if(!i)break e}}r=je()|0;i=t[R>>2]|0;if(!i)Qe(r|0);if((t[C>>2]|0)!=(i|0))t[C>>2]=i;Bp(i);Qe(r|0)}}while(0);t[E>>2]=0;T=E+4|0;t[T>>2]=0;t[E+8>>2]=0;do{if(!A)s=19;else{if(!(A>>>0>1073741823?(w=0,ue(178,E|0),g=w,w=0,g&1):0))s=17;if((s|0)==17?(n=A<<2,w=0,a=de(67,n|0)|0,g=w,w=0,!(g&1)):0){t[E>>2]=a;s=a+(A<<2)|0;t[E+8>>2]=s;ym(a|0,0,n|0)|0;t[T>>2]=s;s=19;break}r=je()|0;i=t[E>>2]|0;n=i;if(i){a=t[T>>2]|0;if((a|0)!=(i|0))t[T>>2]=a+(~((a+-4-n|0)>>>2)<<2);Bp(i)}}}while(0);if((s|0)==19){s=e+8|0;e:do{if((t[s>>2]|0)>0){l=e+4572|0;o=re(A,M)|0;u=o+1|0;h=e+4576|0;d=(A|0)>0;b=e+136|0;_=e+144|0;k=e+140|0;m=e+132|0;v=e+88|0;p=e+4568|0;g=0;i:while(1){n=t[R>>2]|0;r=n+1|0;t[l>>2]=r;n=n+u|0;t[h>>2]=n;if(!(g&1))i=n;else{t[l>>2]=n;t[h>>2]=r;i=r;r=n}if(d){a=t[E>>2]|0;n=0;do{t[p>>2]=t[a+(n<<2)>>2];a=t[y>>2]|0;f[r+a>>0]=f[r+(a+-1)>>0]|0;f[(t[h>>2]|0)+-1>>0]=f[t[l>>2]>>0]|0;w=0;ce(81,e|0,0);a=w;w=0;if(a&1){s=30;break i}a=t[E>>2]|0;t[a+(n<<2)>>2]=t[p>>2];r=(t[l>>2]|0)+M|0;t[l>>2]=r;i=(t[h>>2]|0)+M|0;t[h>>2]=i;n=n+1|0}while((n|0)<(A|0))}a=t[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((t[_>>2]|0)+a|0):0)?(a=t[v>>2]|0,w=0,Ce(t[(t[a>>2]|0)+8>>2]|0,a|0,i+((t[m>>2]|0)-o)|0,t[k>>2]|0,M|0),a=w,w=0,a&1):0){s=31;break}g=g+1|0;if((g|0)>=(t[s>>2]|0)){s=43;break e}}if((s|0)==30){r=je()|0;break}else if((s|0)==31){r=je()|0;break}}else s=43}while(0);do{if((s|0)==43){w=0;ue(183,e|0);e=w;w=0;if(e&1){r=je()|0;break}i=t[E>>2]|0;r=i;if(i){n=t[T>>2]|0;if((n|0)!=(i|0))t[T>>2]=n+(~((n+-4-r|0)>>>2)<<2);Bp(i)}i=t[R>>2]|0;if(!i){c=S;return}if((t[C>>2]|0)!=(i|0))t[C>>2]=i;Bp(i);c=S;return}}while(0);i=t[E>>2]|0;n=i;if(i){a=t[T>>2]|0;if((a|0)!=(i|0))t[T>>2]=a+(~((a+-4-n|0)>>>2)<<2);Bp(i)}}i=t[R>>2]|0;if(!i)Qe(r|0);if((t[C>>2]|0)!=(i|0))t[C>>2]=i;Bp(i);Qe(r|0)}function gs(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0;b=e+4572|0;i=t[b>>2]|0;w=e+148|0;if((t[w>>2]|0)<=0)return;_=e+4576|0;k=e+4580|0;s=i;l=a[i+-1>>0]|0;i=a[i>>0]|0;d=0;while(1){h=t[_>>2]|0;c=a[h+(d+-1)>>0]|0;n=d+1|0;r=a[s+n>>0]|0;u=t[k>>2]|0;o=i-l|0;s=l-c|0;u=((((f[u+(r-i)>>0]|0)*9|0)+(f[u+o>>0]|0)|0)*9|0)+(f[u+s>>0]|0)|0;if(!u){n=(Ms(e,d,0)|0)+d|0;r=t[b>>2]|0;i=a[r+(n+-1)>>0]|0;r=a[r+n>>0]|0}else{l=i-c>>31;if((l^s|0)<0)s=i;else s=c+((l^o|0)<0?0:o)|0;h=ys(e,u,a[h+d>>0]|0,s,0)|0;f[(t[_>>2]|0)+d>>0]=h}if((n|0)>=(t[w>>2]|0))break;s=t[b>>2]|0;l=i;i=r;d=n}return}function ys(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,m=0;m=i>>31;h=(m^i)-m|0;_=e+164+(h*12|0)+10|0;r=n[_>>1]|0;b=e+164+(h*12|0)|0;s=t[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){l=5;while(1)if((r<>1]^m)-m+a|0;if((r&255|0)!=(r|0))r=r>>31&255^255;s=e+112|0;if((t[s>>2]|0)<8)Uf(e);a=e+108|0;o=t[a>>2]|0;u=o>>>24;c=t[2832+(l<<11)+(u<<3)+4>>2]|0;if(!c){s=ka(e)|0;if((s|0)<23){if(l)s=(wa(e,l)|0)+(s<>31^s>>1;if((((s|0)>-1?s:0-s|0)|0)>65535){r=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,r|0,5,35648);i=w;w=0;if(i&1){i=je()|0;He(r|0);Qe(i|0)}else bi(r|0,824,96)}}else{t[s>>2]=(t[s>>2]|0)-c;t[a>>2]=o<>2]|0}c=e+164+(h*12|0)+4|0;a=t[c>>2]|0;if(!l){e=n[_>>1]|0;l=e;s=(a<<1)+-1+(e<<16>>16)>>31^s}else l=n[_>>1]|0;o=l<<16>>16==64;e=o&1;u=a+s>>e;o=o?32:l<<16>>16;t[b>>2]=((s|0)>-1?s:0-s|0)+(t[b>>2]|0)>>e;a=o+1|0;n[_>>1]=a;l=a+u|0;if((l|0)<1){_=n[d>>1]|0;n[d>>1]=(_&65535)-(_<<16>>16>-128&1);_=(l|0)>(~o|0)?l:0-o|0;t[c>>2]=_;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&255;return i|0}if((u|0)<=0){_=u;t[c>>2]=_;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&255;return i|0}_=u-a|0;b=n[d>>1]|0;n[d>>1]=(b<<16>>16<127&1)+(b&65535);_=(_|0)>0?0:_;t[c>>2]=_;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&255;return i|0}function Ms(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0;l=e+4576|0;s=t[l>>2]|0;r=f[s+(i+-1)>>0]|0;o=e+148|0;s=As(e,r,s+i|0,(t[o>>2]|0)-i|0)|0;n=s+i|0;if((n|0)==(t[o>>2]|0)){o=s;return o|0}r=r&255;i=a[(t[e+4572>>2]|0)+n>>0]|0;o=r-i|0;if((((o|0)>-1?o:0-o|0)|0)<1)r=(Es(e,e+4556|0)|0)+r|0;else r=(re(Es(e,e+4544|0)|0,i-r>>31|1)|0)+i|0;f[(t[l>>2]|0)+n>>0]=r;o=e+4568|0;e=t[o>>2]|0;t[o>>2]=(e|0)<1?0:e+-1|0;o=s+1|0;return o|0}function As(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;o=e+112|0;u=e+108|0;c=e+4568|0;a=t[o>>2]|0;s=0;while(1){if((a|0)<1){Uf(e);a=t[o>>2]|0}l=t[u>>2]|0;a=a+-1|0;t[o>>2]=a;t[u>>2]=l<<1;if((l|0)>=0){h=8;break}l=t[c>>2]|0;d=1<>2];b=n-s|0;b=(d|0)<(b|0)?d:b;s=b+s|0;if((b|0)==(d|0))t[c>>2]=(l|0)>30?31:l+1|0;if((s|0)==(n|0)){a=n;break}}if((h|0)==8)if((s|0)!=(n|0)){a=t[c>>2]|0;if((a+-4|0)>>>0<28)a=wa(e,t[36476+(a<<2)>>2]|0)|0;else a=0;a=a+s|0;if((a|0)>(n|0)){a=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,a|0,5,35648);b=w;w=0;if(b&1){b=je()|0;He(a|0);Qe(b|0)}else bi(a|0,824,96)}}else a=n;if((a|0)<=0)return a|0;ym(r|0,i|0,a|0)|0;return a|0}function Es(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0;u=i+9|0;r=a[u>>0]|0;l=i+4|0;s=(re(r>>>1,t[l>>2]|0)|0)+(t[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;s=t[36476+(t[e+4568>>2]<<2)>>2]|0;r=ka(e)|0;do{if((r|0)<(22-s|0))if(!n){e=t[l>>2]|0;s=e+r|0;n=s&1;s=(n+s|0)/2|0;o=8;break}else{r=(wa(e,n)|0)+(r<>2]|0;s=r+e|0;c=s&1;n=c;l=1;s=(c+s|0)/2|0;break}else{r=(wa(e,8)|0)+1|0;e=t[l>>2]|0;s=r+e|0;l=s&1;s=(l+s|0)/2|0;if(!n){n=l;o=8}else{n=l;l=1}}}while(0);if((o|0)==8)l=a[i+10>>0]<<1>>>0>=(a[u>>0]|0)>>>0;s=(n|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;f[c>>0]=(a[c>>0]|0)+1}r=(r+1-e>>1)+(t[i>>2]|0)|0;t[i>>2]=r;n=f[u>>0]|0;if(n<<24>>24!=(f[i+8>>0]|0)){c=n;c=c&255;c=c+1|0;c=c&255;f[u>>0]=c;return s|0}t[i>>2]=r>>1;c=(n&255)>>>1;f[u>>0]=c;i=i+10|0;f[i>>0]=(a[i>>0]|0)>>>1;c=c&255;c=c+1|0;c=c&255;f[u>>0]=c;return s|0}function Ss(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;o=h;op(o,255,0);u=e+152|0;if(((t[o+4>>2]|0)==(t[u>>2]|0)?(t[o+8>>2]|0)==(t[e+156>>2]|0):0)?(t[o+12>>2]|0)==(t[e+160>>2]|0):0){u=t[8900]|0;t[e+4580>>2]=u+(((t[8901]|0)-u|0)>>>1);c=h;return}r=e+4584|0;n=e+4588|0;a=t[n>>2]|0;i=t[r>>2]|0;s=a-i|0;if(s>>>0>=512){if(s>>>0>512?(l=i+512|0,(a|0)!=(l|0)):0)t[n>>2]=l}else{Yf(r,512-s|0);i=t[r>>2]|0}o=e+4580|0;t[o>>2]=i+256;l=e+160|0;a=e+156|0;s=-256;while(1){i=t[l>>2]|0;if((s|0)>(0-i|0)){r=t[a>>2]|0;if((s|0)>(0-r|0)){n=t[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){f[(t[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;f[(t[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==256)break}c=h;return}function Ts(e){e=e|0;var i=0,r=0;t[e>>2]=35688;i=t[e+4584>>2]|0;if(i){r=e+4588|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36736;i=t[e+92>>2]|0;if(i){r=e+96|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}e=e+88|0;i=t[e>>2]|0;t[e>>2]=0;if(!i)return;tM[t[(t[i>>2]|0)+4>>2]&255](i);return}function Rs(e){e=e|0;var i=0,r=0;t[e>>2]=35688;i=t[e+4584>>2]|0;if(i){r=e+4588|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36736;i=t[e+92>>2]|0;if(i){r=e+96|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+88|0;i=t[r>>2]|0;t[r>>2]=0;if(!i){Bp(e);return}tM[t[(t[i>>2]|0)+4>>2]&255](i);Bp(e);return}function Cs(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;y=c;c=c+352|0;M=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;_=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((t[e+28>>2]|0)!=0?(t[e+20>>2]|0)!=1:0){m=e+4|0;p=e+32|0;l=t[p>>2]|0;if(!l){e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[r>>0]|0;Ce(44,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}e=t[e+12>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[n>>0]|0;Ce(45,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[a>>0]|0;Ce(46,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[s>>0]|0;Ce(47,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=A+56|0;a=A+4|0;t[A>>2]=36160;t[l>>2]=36180;w=0;ce(62,A+56|0,a|0);y=w;w=0;if(y&1){E=je()|0;nd(l);Qe(E|0)}t[A+128>>2]=0;t[A+132>>2]=-1;t[A>>2]=36200;t[A+56>>2]=36220;w=0;ue(180,a|0);y=w;w=0;do{if(y&1)e=je()|0;else{t[a>>2]=36236;s=A+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[A+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);y=w;w=0;if(y&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,A|0,49007,21)|0;M=w;w=0;do{if((!(M&1)?(w=0,d=pe(36,e|0,t[p>>2]|0)|0,M=w,w=0,!(M&1)):0)?(w=0,_e(28,d|0,50997,18)|0,M=w,w=0,!(M&1)):0){n=Ue(16)|0;w=0;ce(64,_|0,a|0);M=w;w=0;if(!(M&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,_|0);M=w;w=0;if(M&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(_);if(!r)break}else e=je()|0;He(n|0)}else E=34}while(0);if((E|0)==34)e=je()|0;t[A>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}if((e|0)<=8){e=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,e|0,8,35648);E=w;w=0;if(!(E&1))bi(e|0,824,96);E=je()|0;He(e|0);Qe(E|0)}r=16-e|0;switch(l|0){case 1:{e=Lp(60)|0;t[o>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[o>>2];t[M+4>>2]=t[o+4>>2];Ce(41,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(60)|0;t[u>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[u>>2];t[M+4>>2]=t[u+4>>2];Ce(42,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(60)|0;t[h>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[h>>2];t[M+4>>2]=t[h+4>>2];Ce(43,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=g+56|0;a=g+4|0;t[g>>2]=36160;t[l>>2]=36180;w=0;ce(62,g+56|0,a|0);A=w;w=0;if(A&1){E=je()|0;nd(l);Qe(E|0)}t[g+128>>2]=0;t[g+132>>2]=-1;t[g>>2]=36200;t[g+56>>2]=36220;w=0;ue(180,a|0);A=w;w=0;do{if(A&1)e=je()|0;else{t[a>>2]=36236;s=g+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[g+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);A=w;w=0;if(A&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,g|0,49007,21)|0;A=w;w=0;do{if((!(A&1)?(w=0,b=pe(36,e|0,t[p>>2]|0)|0,A=w,w=0,!(A&1)):0)?(w=0,_e(28,b|0,50997,18)|0,A=w,w=0,!(A&1)):0){n=Ue(16)|0;w=0;ce(64,v|0,a|0);A=w;w=0;if(!(A&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,v|0);A=w;w=0;if(A&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(v);if(!r)break}else e=je()|0;He(n|0)}else E=64}while(0);if((E|0)==64)e=je()|0;t[g>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}}r=t[i+4>>2]|0;n=Lp(16)|0;e=t[e+16>>2]|0;if(!r){E=t[i>>2]|0;t[n>>2]=36132;t[n+4>>2]=E;t[n+8>>2]=3;t[n+12>>2]=e;E=n;c=y;return E|0}else{t[n>>2]=36108;t[n+4>>2]=r;t[n+8>>2]=3;t[n+12>>2]=e;E=n;c=y;return E|0}return 0}function Ps(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;op(u,255,0);o=t[i+4>>2]|0;l=t[i+8>>2]|0;l=(l|0)==0?t[u+8>>2]|0:l;a=t[i+12>>2]|0;a=(a|0)==0?t[u+12>>2]|0:a;i=t[i+16>>2]|0;r=t[u+16>>2]|0;t[e+152>>2]=(o|0)==0?t[u+4>>2]|0:o;t[e+156>>2]=l;t[e+160>>2]=a;zv(e);a=0;do{t[e+164+(a*12|0)>>2]=4;t[e+164+(a*12|0)+4>>2]=0;n[e+164+(a*12|0)+8>>1]=0;n[e+164+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365);u=((i|0)==0?r:i)&255;t[e+4544>>2]=4;t[e+4548>>2]=0;f[e+4552>>0]=u;f[e+4553>>0]=1;f[e+4554>>0]=0;t[e+4556>>2]=4;t[e+4560>>2]=1;f[e+4564>>0]=u;f[e+4565>>0]=1;f[e+4566>>0]=0;t[e+4568>>2]=0;c=s;return}function Is(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=t[i>>2]|0;t[i>>2]=0;i=t[l>>2]|0;t[l>>2]=s;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=t[l>>2]|0;f[e+4596>>0]=a&1;i=e+132|0;t[i>>2]=t[r>>2];t[i+4>>2]=t[r+4>>2];t[i+8>>2]=t[r+8>>2];t[i+12>>2]=t[r+12>>2];Cf(e,n);Os(e);i=t[e+116>>2]|0;e=t[e+112>>2]|0;while(1){a=i+-1|0;r=(f[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=t[l>>2]|0;if(!a)return;t[l>>2]=a+i;n=n+8|0;t[n>>2]=(t[n>>2]|0)-i;return}function Os(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0;S=c;c=c+32|0;R=S+12|0;E=S;y=e+148|0;M=(t[y>>2]|0)+4|0;if((t[e+28>>2]|0)==1)A=t[e+20>>2]|0;else A=1;i=re(A<<1,M)|0;t[R>>2]=0;C=R+4|0;t[C>>2]=0;t[R+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(w=0,ue(178,R|0),T=w,w=0,T&1):0))s=6;if((s|0)==6?(w=0,r=de(67,i*3|0)|0,T=w,w=0,!(T&1)):0){t[C>>2]=r;t[R>>2]=r;t[R+8>>2]=r+(i*3|0);while(1){f[r>>0]=0;f[r+1>>0]=0;f[r+2>>0]=0;r=(t[C>>2]|0)+3|0;t[C>>2]=r;i=i+-1|0;if(!i)break e}}n=je()|0;i=t[R>>2]|0;if(!i)Qe(n|0);r=t[C>>2]|0;if((r|0)!=(i|0))t[C>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Bp(i);Qe(n|0)}}while(0);t[E>>2]=0;T=E+4|0;t[T>>2]=0;t[E+8>>2]=0;do{if(!A)s=19;else{if(!(A>>>0>1073741823?(w=0,ue(178,E|0),g=w,w=0,g&1):0))s=17;if((s|0)==17?(n=A<<2,w=0,a=de(67,n|0)|0,g=w,w=0,!(g&1)):0){t[E>>2]=a;s=a+(A<<2)|0;t[E+8>>2]=s;ym(a|0,0,n|0)|0;t[T>>2]=s;s=19;break}n=je()|0;i=t[E>>2]|0;r=i;if(i){a=t[T>>2]|0;if((a|0)!=(i|0))t[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}}while(0);if((s|0)==19){s=e+8|0;e:do{if((t[s>>2]|0)>0){l=e+4572|0;o=re(A,M)|0;u=o+1|0;h=e+4576|0;d=(A|0)>0;b=e+136|0;_=e+144|0;k=e+140|0;m=e+132|0;v=e+88|0;p=e+4568|0;g=0;i:while(1){n=t[R>>2]|0;r=n+3|0;t[l>>2]=r;n=n+(u*3|0)|0;t[h>>2]=n;if(!(g&1))i=n;else{t[l>>2]=n;t[h>>2]=r;i=r;r=n}if(d){a=t[E>>2]|0;n=0;do{t[p>>2]=t[a+(n<<2)>>2];i=t[y>>2]|0;a=r+(i*3|0)|0;r=r+((i+-1|0)*3|0)|0;f[a>>0]=f[r>>0]|0;f[a+1>>0]=f[r+1>>0]|0;f[a+2>>0]=f[r+2>>0]|0;r=t[l>>2]|0;a=(t[h>>2]|0)+-3|0;f[a>>0]=f[r>>0]|0;f[a+1>>0]=f[r+1>>0]|0;f[a+2>>0]=f[r+2>>0]|0;w=0;ce(82,e|0,0);a=w;w=0;if(a&1){s=30;break i}a=t[E>>2]|0;t[a+(n<<2)>>2]=t[p>>2];r=(t[l>>2]|0)+(M*3|0)|0;t[l>>2]=r;i=(t[h>>2]|0)+(M*3|0)|0;t[h>>2]=i;n=n+1|0}while((n|0)<(A|0))}a=t[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((t[_>>2]|0)+a|0):0)?(a=t[v>>2]|0,w=0,Ce(t[(t[a>>2]|0)+8>>2]|0,a|0,i+(((t[m>>2]|0)-o|0)*3|0)|0,t[k>>2]|0,M|0),a=w,w=0,a&1):0){s=31;break}g=g+1|0;if((g|0)>=(t[s>>2]|0)){s=43;break e}}if((s|0)==30){n=je()|0;break}else if((s|0)==31){n=je()|0;break}}else s=43}while(0);do{if((s|0)==43){w=0;ue(183,e|0);e=w;w=0;if(e&1){n=je()|0;break}i=t[E>>2]|0;r=i;if(i){n=t[T>>2]|0;if((n|0)!=(i|0))t[T>>2]=n+(~((n+-4-r|0)>>>2)<<2);Bp(i)}i=t[R>>2]|0;if(!i){c=S;return}r=t[C>>2]|0;if((r|0)!=(i|0))t[C>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Bp(i);c=S;return}}while(0);i=t[E>>2]|0;r=i;if(i){a=t[T>>2]|0;if((a|0)!=(i|0))t[T>>2]=a+(~((a+-4-r|0)>>>2)<<2);Bp(i)}}i=t[R>>2]|0;if(!i)Qe(n|0);r=t[C>>2]|0;if((r|0)!=(i|0))t[C>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Bp(i);Qe(n|0)}function xs(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0;S=e+148|0;if((t[S>>2]|0)<=0)return;T=e+4576|0;R=e+4572|0;C=e+4580|0;E=0;while(1){y=E+-1|0;l=t[T>>2]|0;o=t[R>>2]|0;i=E+1|0;s=a[o+(E*3|0)>>0]|0;A=t[C>>2]|0;u=a[o+(y*3|0)>>0]|0;c=s-u|0;h=a[l+(y*3|0)>>0]|0;d=u-h|0;b=((((f[A+((a[o+(i*3|0)>>0]|0)-s)>>0]|0)*9|0)+(f[A+c>>0]|0)|0)*9|0)+(f[A+d>>0]|0)|0;n=a[o+(E*3|0)+1>>0]|0;_=a[o+(y*3|0)+1>>0]|0;k=n-_|0;w=a[l+(y*3|0)+1>>0]|0;m=_-w|0;v=((((f[A+((a[o+(i*3|0)+1>>0]|0)-n)>>0]|0)*9|0)+(f[A+k>>0]|0)|0)*9|0)+(f[A+m>>0]|0)|0;r=a[o+(E*3|0)+2>>0]|0;p=a[o+(y*3|0)+2>>0]|0;g=r-p|0;y=a[l+(y*3|0)+2>>0]|0;M=p-y|0;A=((((f[A+((a[o+(i*3|0)+2>>0]|0)-r)>>0]|0)*9|0)+(f[A+g>>0]|0)|0)*9|0)+(f[A+M>>0]|0)|0;if(!(v|b|A))i=(Ls(e,E,0)|0)+E|0;else{o=a[l+(E*3|0)>>0]|0;l=s-h>>31;if((l^d|0)>=0)if((l^c|0)<0)s=h;else s=h-u+s|0;o=Bs(e,b,o,s,0)|0;l=a[(t[T>>2]|0)+(E*3|0)+1>>0]|0;s=n-w>>31;if((s^m|0)>=0)if((s^k|0)<0)n=w;else n=w-_+n|0;s=Bs(e,v,l,n,0)|0;l=a[(t[T>>2]|0)+(E*3|0)+2>>0]|0;n=r-y>>31;if((n^M|0)>=0)if((n^g|0)<0)r=y;else r=y-p+r|0;A=Bs(e,A,l,r,0)|0;E=(t[T>>2]|0)+(E*3|0)|0;f[E>>0]=o;f[E+1>>0]=s;f[E+2>>0]=A}if((i|0)<(t[S>>2]|0))E=i;else break}return}function Ls(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0;u=c;c=c+16|0;d=u+3|0;b=u;s=e+4576|0;r=t[s>>2]|0;n=r+((i+-1|0)*3|0)|0;l=f[n>>0]|0;o=f[n+1>>0]|0;n=f[n+2>>0]|0;f[b>>0]=l;f[b+1>>0]=o;f[b+2>>0]=n;h=e+148|0;a=(t[h>>2]|0)-i|0;f[d>>0]=f[b>>0]|0;f[d+1>>0]=f[b+1>>0]|0;f[d+2>>0]=f[b+2>>0]|0;a=zs(e,d,r+(i*3|0)|0,a)|0;r=a+i|0;if((r|0)==(t[h>>2]|0)){b=a;c=u;return b|0}d=(t[e+4572>>2]|0)+(r*3|0)|0;i=f[d>>0]|0;h=f[d+1>>0]|0;d=f[d+2>>0]|0;b=t[s>>2]|0;_=e+4544|0;s=Ds(e,_)|0;k=Ds(e,_)|0;i=i&255;h=h&255;h=(re(h-(o&255)>>31|1,k)|0)+h&255;d=d&255;d=(re(d-(n&255)>>31|1,Ds(e,_)|0)|0)+d&255;b=b+(r*3|0)|0;f[b>>0]=(re(i-(l&255)>>31|1,s)|0)+i;f[b+1>>0]=h;f[b+2>>0]=d;b=e+4568|0;d=t[b>>2]|0;t[b>>2]=(d|0)<1?0:d+-1|0;b=a+1|0;c=u;return b|0}function Bs(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,m=0;m=i>>31;h=(m^i)-m|0;_=e+164+(h*12|0)+10|0;r=n[_>>1]|0;b=e+164+(h*12|0)|0;s=t[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){l=5;while(1)if((r<>1]^m)-m+a|0;if((r&255|0)!=(r|0))r=r>>31&255^255;s=e+112|0;if((t[s>>2]|0)<8)Uf(e);a=e+108|0;o=t[a>>2]|0;u=o>>>24;c=t[2832+(l<<11)+(u<<3)+4>>2]|0;if(!c){s=ka(e)|0;if((s|0)<23){if(l)s=(wa(e,l)|0)+(s<>31^s>>1;if((((s|0)>-1?s:0-s|0)|0)>65535){r=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,r|0,5,35648);i=w;w=0;if(i&1){i=je()|0;He(r|0);Qe(i|0)}else bi(r|0,824,96)}}else{t[s>>2]=(t[s>>2]|0)-c;t[a>>2]=o<>2]|0}c=e+164+(h*12|0)+4|0;a=t[c>>2]|0;if(!l){e=n[_>>1]|0;l=e;s=(a<<1)+-1+(e<<16>>16)>>31^s}else l=n[_>>1]|0;o=l<<16>>16==64;e=o&1;u=a+s>>e;o=o?32:l<<16>>16;t[b>>2]=((s|0)>-1?s:0-s|0)+(t[b>>2]|0)>>e;a=o+1|0;n[_>>1]=a;l=a+u|0;if((l|0)<1){_=n[d>>1]|0;n[d>>1]=(_&65535)-(_<<16>>16>-128&1);_=(l|0)>(~o|0)?l:0-o|0;t[c>>2]=_;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&255;return i|0}if((u|0)<=0){_=u;t[c>>2]=_;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&255;return i|0}_=u-a|0;b=n[d>>1]|0;n[d>>1]=(b<<16>>16<127&1)+(b&65535);_=(_|0)>0?0:_;t[c>>2]=_;m=s^m;i=i>>>31;i=r+i|0;i=i+m|0;i=i&255;return i|0}function zs(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;o=e+112|0;u=e+108|0;c=e+4568|0;a=t[o>>2]|0;s=0;while(1){if((a|0)<1){Uf(e);a=t[o>>2]|0}l=t[u>>2]|0;a=a+-1|0;t[o>>2]=a;t[u>>2]=l<<1;if((l|0)>=0){h=8;break}l=t[c>>2]|0;d=1<>2];b=n-s|0;b=(d|0)<(b|0)?d:b;s=b+s|0;if((b|0)==(d|0))t[c>>2]=(l|0)>30?31:l+1|0;if((s|0)==(n|0)){a=n;break}}if((h|0)==8)if((s|0)!=(n|0)){a=t[c>>2]|0;if((a+-4|0)>>>0<28)a=wa(e,t[36476+(a<<2)>>2]|0)|0;else a=0;a=a+s|0;if((a|0)>(n|0)){a=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,a|0,5,35648);b=w;w=0;if(b&1){b=je()|0;He(a|0);Qe(b|0)}else bi(a|0,824,96)}}else a=n;if((a|0)<=0)return a|0;s=0;do{b=r+(s*3|0)|0;f[b>>0]=f[i>>0]|0;f[b+1>>0]=f[i+1>>0]|0;f[b+2>>0]=f[i+2>>0]|0;s=s+1|0}while((s|0)!=(a|0));return a|0}function Ds(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0;u=i+9|0;r=a[u>>0]|0;l=i+4|0;s=(re(r>>>1,t[l>>2]|0)|0)+(t[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;s=t[36476+(t[e+4568>>2]<<2)>>2]|0;r=ka(e)|0;do{if((r|0)<(22-s|0))if(!n){e=t[l>>2]|0;s=e+r|0;n=s&1;s=(n+s|0)/2|0;o=8;break}else{r=(wa(e,n)|0)+(r<>2]|0;s=r+e|0;c=s&1;n=c;l=1;s=(c+s|0)/2|0;break}else{r=(wa(e,8)|0)+1|0;e=t[l>>2]|0;s=r+e|0;l=s&1;s=(l+s|0)/2|0;if(!n){n=l;o=8}else{n=l;l=1}}}while(0);if((o|0)==8)l=a[i+10>>0]<<1>>>0>=(a[u>>0]|0)>>>0;s=(n|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;f[c>>0]=(a[c>>0]|0)+1}r=(r+1-e>>1)+(t[i>>2]|0)|0;t[i>>2]=r;n=f[u>>0]|0;if(n<<24>>24!=(f[i+8>>0]|0)){c=n;c=c&255;c=c+1|0;c=c&255;f[u>>0]=c;return s|0}t[i>>2]=r>>1;c=(n&255)>>>1;f[u>>0]=c;i=i+10|0;f[i>>0]=(a[i>>0]|0)>>>1;c=c&255;c=c+1|0;c=c&255;f[u>>0]=c;return s|0}function Ns(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0;d=c;c=c+128|0;s=d;_=d+116|0;k=d+104|0;o=d+20|0;h=d+16|0;u=d+12|0;b=d+8|0;l=d+4|0;f[_>>0]=f[58887]|0;f[_+1>>0]=f[58888]|0;f[_+2>>0]=f[58889]|0;f[_+3>>0]=f[58890]|0;f[_+4>>0]=f[58891]|0;f[_+5>>0]=f[58892]|0;w_(_+1|0,58893,0,t[r+4>>2]|0);e=Vb()|0;t[s>>2]=a;a=k+(nw(k,12,e,_,s)|0)|0;_=m_(k,a,r)|0;e=sd(r)|0;t[b>>2]=e;w=0;me(3,k|0,_|0,a|0,o|0,h|0,u|0,b|0);a=w;w=0;if(a&1){k=je()|0;bh(e)|0;Qe(k|0)}else{bh(e)|0;t[l>>2]=t[i>>2];_=t[h>>2]|0;k=t[u>>2]|0;t[s>>2]=t[l>>2];k=aw(s,o,_,k,r,n)|0;c=d;return k|0}return 0}function Fs(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0;d=c;c=c+240|0;s=d+8|0;e=d;_=d+204|0;o=d+32|0;h=d+28|0;u=d+24|0;b=d+20|0;l=d+16|0;k=e;t[k>>2]=37;t[k+4>>2]=0;w_(e+1|0,58895,0,t[r+4>>2]|0);k=Vb()|0;m=s;t[m>>2]=n;t[m+4>>2]=a;a=_+(nw(_,23,k,e,s)|0)|0;n=m_(_,a,r)|0;e=sd(r)|0;t[b>>2]=e;w=0;me(3,_|0,n|0,a|0,o|0,h|0,u|0,b|0);a=w;w=0;if(a&1){m=je()|0;bh(e)|0;Qe(m|0)}else{bh(e)|0;t[l>>2]=t[i>>2];k=t[h>>2]|0;m=t[u>>2]|0;t[s>>2]=t[l>>2];m=aw(s,o,k,m,r,f)|0;c=d;return m|0}return 0}function Hs(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=+n;var a=0,s=0,l=0,o=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0;E=c;c=c+352|0;p=E+312|0;_=E+48|0;b=E+32|0;o=E+24|0;a=E+8|0;d=E;m=E+316|0;v=E+80|0;l=E+84|0;A=E+76|0;M=E+72|0;g=E+68|0;y=E+64|0;h=d;t[h>>2]=37;t[h+4>>2]=0;h=A_(d+1|0,58898,t[r+4>>2]|0)|0;t[v>>2]=m;e=Vb()|0;if(h){t[a>>2]=t[r+8>>2];u[a+8>>3]=n;a=nw(m,30,e,d,a)|0}else{u[o>>3]=n;a=nw(m,30,e,d,o)|0}e:do{if((a|0)>29){w=0;e=Me(3)|0;a=w;w=0;a=a&1;if(h){if(!a?(w=0,t[b>>2]=t[r+8>>2],u[b+8>>3]=n,s=Ae(17,v|0,e|0,d|0,b|0)|0,k=w,w=0,!(k&1)):0)S=12}else if(!a?(w=0,t[_>>2]=t[r+8>>2],u[_+8>>3]=n,k=Ae(17,v|0,e|0,d|0,_|0)|0,_=w,w=0,!(_&1)):0){s=k;S=12}do{if((S|0)==12){e=t[v>>2]|0;if(!e){w=0;Se(6);k=w;w=0;if(k&1)break;a=t[v>>2]|0}else a=e;e=a;d=a;S=16;break e}}while(0);e=je()|0}else{e=t[v>>2]|0;d=0;s=a;S=16}}while(0);if((S|0)==16){o=e+s|0;h=m_(e,o,r)|0;do{if((e|0)==(m|0)){e=m;a=0;S=22}else{s=Pc(s<<3)|0;if(!s){w=0;Se(6);S=w;w=0;if(S&1){a=0;S=20;break}e=t[v>>2]|0}a=s;l=s;S=22}}while(0);do{if((S|0)==22){w=0;s=de(68,r|0)|0;v=w;w=0;if(!(v&1)){t[g>>2]=s;w=0;me(4,e|0,h|0,o|0,l|0,A|0,M|0,g|0);g=w;w=0;if(g&1){e=je()|0;bh(s)|0;break}bh(s)|0;t[y>>2]=t[i>>2];S=t[A>>2]|0;e=t[M>>2]|0;w=0;t[p>>2]=t[y>>2];e=he(40,p|0,l|0,S|0,e|0,r|0,f|0)|0;S=w;w=0;if(!(S&1)){t[i>>2]=e;if(a)Ic(a);if(d)Ic(d);c=E;return e|0}else S=20}else S=20}}while(0);if((S|0)==20)e=je()|0;if(a)Ic(a);if(d)Ic(d)}Qe(e|0);return 0}function Us(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0;A=c;c=c+16|0;E=A;M=zu(l,44212)|0;g=zu(l,44368)|0;aM[t[(t[g>>2]|0)+20>>2]&127](E,g);t[s>>2]=n;l=f[e>>0]|0;switch(l<<24>>24){case 43:case 45:{w=0;l=pe(t[(t[M>>2]|0)+44>>2]|0,M|0,l|0)|0;y=w;w=0;if(y&1)p=8;else{h=t[s>>2]|0;t[s>>2]=h+4;t[h>>2]=l;h=e+1|0;p=10}break}default:{h=e;p=10}}e:do{if((p|0)==10){y=r;i:do{if((y-h|0)>1?(f[h>>0]|0)==48:0){o=h+1|0;switch(f[o>>0]|0){case 88:case 120:break;default:{p=11;break i}}w=0;l=pe(t[(t[M>>2]|0)+44>>2]|0,M|0,48)|0;v=w;w=0;if(v&1){p=8;break e}v=t[s>>2]|0;t[s>>2]=v+4;t[v>>2]=l;h=h+2|0;w=0;l=pe(t[(t[M>>2]|0)+44>>2]|0,M|0,f[o>>0]|0)|0;v=w;w=0;if(v&1){p=8;break e}v=t[s>>2]|0;t[s>>2]=v+4;t[v>>2]=l;if(h>>>0>>0){l=h;while(1){o=f[l>>0]|0;w=0;u=Me(3)|0;v=w;w=0;if(v&1)break;w=0;o=pe(39,o<<24>>24|0,u|0)|0;v=w;w=0;if(v&1)break;if(!o){v=h;break i}l=l+1|0;if(l>>>0>=r>>>0){v=h;break i}}l=je()|0;break e}else{v=h;l=h}}else p=11}while(0);i:do{if((p|0)==11)if(h>>>0>>0){l=h;while(1){o=f[l>>0]|0;w=0;u=Me(3)|0;v=w;w=0;if(v&1)break;w=0;o=pe(40,o<<24>>24|0,u|0)|0;v=w;w=0;if(v&1)break;if(!o){v=h;break i}l=l+1|0;if(l>>>0>=r>>>0){v=h;break i}}l=je()|0;break e}else{v=h;l=h}}while(0);k=f[E>>0]|0;m=E+4|0;if(((k&1)==0?(k&255)>>>1:t[m>>2]|0)|0){if((v|0)!=(l|0)?(d=l+-1|0,v>>>0>>0):0){u=v;o=d;do{k=f[u>>0]|0;f[u>>0]=f[o>>0]|0;f[o>>0]=k;u=u+1|0;o=o+-1|0}while(u>>>0>>0)}w=0;d=de(t[(t[g>>2]|0)+16>>2]|0,g|0)|0;k=w;w=0;if(k&1){p=8;break}b=E+8|0;_=E+1|0;i:do{if(v>>>0>>0){o=0;u=0;k=v;while(1){h=f[((f[E>>0]&1)==0?_:t[b>>2]|0)+u>>0]|0;if(h<<24>>24>0&(o|0)==(h<<24>>24|0)){o=t[s>>2]|0;t[s>>2]=o+4;t[o>>2]=d;o=f[E>>0]|0;h=0;u=(u>>>0<(((o&1)==0?(o&255)>>>1:t[m>>2]|0)+-1|0)>>>0&1)+u|0}else h=o;w=0;o=pe(t[(t[M>>2]|0)+44>>2]|0,M|0,f[k>>0]|0)|0;S=w;w=0;if(S&1)break;S=t[s>>2]|0;t[s>>2]=S+4;t[S>>2]=o;k=k+1|0;if(k>>>0>=l>>>0)break i;else o=h+1|0}l=je()|0;break e}}while(0);o=n+(v-e<<2)|0;h=t[s>>2]|0;if((o|0)!=(h|0)){u=h+-4|0;if(o>>>0>>0){do{S=t[o>>2]|0;t[o>>2]=t[u>>2];t[u>>2]=S;o=o+4|0;u=u+-4|0}while(o>>>0>>0);d=M;o=h}else{d=M;o=h}}else d=M}else{w=0;Ae(t[(t[M>>2]|0)+48>>2]|0,M|0,v|0,l|0,t[s>>2]|0)|0;S=w;w=0;if(S&1){p=8;break}o=(t[s>>2]|0)+(l-v<<2)|0;t[s>>2]=o;d=M}i:do{if(l>>>0>>0){while(1){o=f[l>>0]|0;if(o<<24>>24==46){u=l;break}w=0;u=pe(t[(t[d>>2]|0)+44>>2]|0,M|0,o|0)|0;S=w;w=0;if(S&1){p=4;break}S=t[s>>2]|0;o=S+4|0;t[s>>2]=o;t[S>>2]=u;l=l+1|0;if(l>>>0>=r>>>0)break i}if((p|0)==4){l=je()|0;break e}w=0;l=de(t[(t[g>>2]|0)+12>>2]|0,g|0)|0;S=w;w=0;if(S&1){p=8;break e}S=t[s>>2]|0;o=S+4|0;t[s>>2]=o;t[S>>2]=l;l=u+1|0}}while(0);w=0;Ae(t[(t[M>>2]|0)+48>>2]|0,M|0,l|0,r|0,o|0)|0;S=w;w=0;if(S&1)p=8;else{S=(t[s>>2]|0)+(y-l<<2)|0;t[s>>2]=S;t[a>>2]=(i|0)==(r|0)?S:n+(i-e<<2)|0;xh(E);c=A;return}}}while(0);if((p|0)==8)l=je()|0;xh(E);Qe(l|0)}function js(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=+n;var a=0,s=0,l=0,o=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0;E=c;c=c+352|0;p=E+304|0;_=E+48|0;b=E+32|0;o=E+24|0;a=E+8|0;d=E;m=E+308|0;v=E+72|0;l=E+76|0;A=E+68|0;M=E+64|0;g=E+60|0;y=E+56|0;h=d;t[h>>2]=37;t[h+4>>2]=0;h=A_(d+1|0,58899,t[r+4>>2]|0)|0;t[v>>2]=m;e=Vb()|0;if(h){t[a>>2]=t[r+8>>2];u[a+8>>3]=n;a=nw(m,30,e,d,a)|0}else{u[o>>3]=n;a=nw(m,30,e,d,o)|0}e:do{if((a|0)>29){w=0;e=Me(3)|0;a=w;w=0;a=a&1;if(h){if(!a?(w=0,t[b>>2]=t[r+8>>2],u[b+8>>3]=n,s=Ae(17,v|0,e|0,d|0,b|0)|0,k=w,w=0,!(k&1)):0)S=12}else if(!a?(w=0,u[_>>3]=n,k=Ae(17,v|0,e|0,d|0,_|0)|0,_=w,w=0,!(_&1)):0){s=k;S=12}do{if((S|0)==12){e=t[v>>2]|0;if(!e){w=0;Se(6);k=w;w=0;if(k&1)break;a=t[v>>2]|0}else a=e;e=a;d=a;S=16;break e}}while(0);e=je()|0}else{e=t[v>>2]|0;d=0;s=a;S=16}}while(0);if((S|0)==16){o=e+s|0;h=m_(e,o,r)|0;do{if((e|0)==(m|0)){e=m;a=0;S=22}else{s=Pc(s<<3)|0;if(!s){w=0;Se(6);S=w;w=0;if(S&1){a=0;S=20;break}e=t[v>>2]|0}a=s;l=s;S=22}}while(0);do{if((S|0)==22){w=0;s=de(68,r|0)|0;v=w;w=0;if(!(v&1)){t[g>>2]=s;w=0;me(4,e|0,h|0,o|0,l|0,A|0,M|0,g|0);g=w;w=0;if(g&1){e=je()|0;bh(s)|0;break}bh(s)|0;t[y>>2]=t[i>>2];S=t[A>>2]|0;e=t[M>>2]|0;w=0;t[p>>2]=t[y>>2];e=he(40,p|0,l|0,S|0,e|0,r|0,f|0)|0;S=w;w=0;if(!(S&1)){t[i>>2]=e;if(a)Ic(a);if(d)Ic(d);c=E;return e|0}else S=20}else S=20}}while(0);if((S|0)==20)e=je()|0;if(a)Ic(a);if(d)Ic(d)}Qe(e|0);return 0}function Ys(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0;_=c;c=c+192|0;u=_;e=_+180|0;d=_+160|0;b=_+12|0;o=_+8|0;h=_+4|0;f[e>>0]=f[58901]|0;f[e+1>>0]=f[58902]|0;f[e+2>>0]=f[58903]|0;f[e+3>>0]=f[58904]|0;f[e+4>>0]=f[58905]|0;f[e+5>>0]=f[58906]|0;s=Vb()|0;t[u>>2]=a;e=nw(d,20,s,e,u)|0;a=d+e|0;s=m_(d,a,r)|0;l=sd(r)|0;t[o>>2]=l;w=0;o=pe(37,o|0,44212)|0;k=w;w=0;if(k&1){k=je()|0;bh(l)|0;Qe(k|0)}else{bh(l)|0;vM[t[(t[o>>2]|0)+48>>2]&31](o,d,a,b)|0;k=b+(e<<2)|0;t[h>>2]=t[i>>2];t[u>>2]=t[h>>2];k=aw(u,b,(s|0)==(a|0)?k:b+(s-d<<2)|0,k,r,n)|0;c=_;return k|0}return 0}function qs(e,i,r,s,l,o,u,h){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;var d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0;R=c;c=c+32|0;y=R+16|0;g=R+12|0;E=R+8|0;M=R+4|0;A=R;d=sd(s)|0;t[E>>2]=d;w=0;E=pe(37,E|0,44220)|0;p=w;w=0;if(p&1){R=je()|0;bh(d)|0;Qe(R|0)}bh(d)|0;t[l>>2]=0;p=E+8|0;d=t[i>>2]|0;e:do{if((u|0)!=(h|0)){i:while(1){b=d;if(d){if((t[d+12>>2]|0)==(t[d+16>>2]|0)?(lM[t[(t[d>>2]|0)+36>>2]&127](d)|0)==-1:0){t[i>>2]=0;d=0;b=0}}else d=0;m=(d|0)==0;k=t[r>>2]|0;_=k;do{if(k){if((t[k+12>>2]|0)==(t[k+16>>2]|0)?(lM[t[(t[k>>2]|0)+36>>2]&127](k)|0)==-1:0){t[r>>2]=0;_=0;T=12;break}if(!m){T=13;break i}}else T=12}while(0);if((T|0)==12){T=0;if(m){T=13;break}else k=0}r:do{if((uM[t[(t[E>>2]|0)+36>>2]&63](E,f[u>>0]|0,0)|0)<<24>>24==37){k=u+1|0;if((k|0)==(h|0)){T=17;break i}v=uM[t[(t[E>>2]|0)+36>>2]&63](E,f[k>>0]|0,0)|0;switch(v<<24>>24){case 48:case 69:{m=u+2|0;if((m|0)==(h|0)){T=20;break i}u=k;k=uM[t[(t[E>>2]|0)+36>>2]&63](E,f[m>>0]|0,0)|0;d=v;break}default:{k=v;d=0}}v=t[(t[e>>2]|0)+36>>2]|0;t[M>>2]=b;t[A>>2]=_;t[g>>2]=t[M>>2];t[y>>2]=t[A>>2];t[i>>2]=yM[v&15](e,g,y,s,l,o,k,d)|0;u=u+2|0}else{b=f[u>>0]|0;if(b<<24>>24>-1?(S=t[p>>2]|0,(n[S+(b<<24>>24<<1)>>1]&8192)!=0):0){do{u=u+1|0;if((u|0)==(h|0)){u=h;break}b=f[u>>0]|0;if(b<<24>>24<=-1)break}while((n[S+(b<<24>>24<<1)>>1]&8192)!=0);b=k;while(1){if(d){if((t[d+12>>2]|0)==(t[d+16>>2]|0)?(lM[t[(t[d>>2]|0)+36>>2]&127](d)|0)==-1:0){t[i>>2]=0;d=0}}else d=0;_=(d|0)==0;do{if(k){if((t[k+12>>2]|0)!=(t[k+16>>2]|0))if(_){v=b;break}else break r;if((lM[t[(t[k>>2]|0)+36>>2]&127](k)|0)!=-1)if(_^(b|0)==0){v=b;k=b;break}else break r;else{t[r>>2]=0;b=0;T=39;break}}else T=39}while(0);if((T|0)==39){T=0;if(_)break r;else{v=b;k=0}}_=d+12|0;b=t[_>>2]|0;m=d+16|0;if((b|0)==(t[m>>2]|0))b=lM[t[(t[d>>2]|0)+36>>2]&127](d)|0;else b=a[b>>0]|0;if((b&255)<<24>>24<=-1)break r;if(!(n[(t[p>>2]|0)+(b<<24>>24<<1)>>1]&8192))break r;b=t[_>>2]|0;if((b|0)==(t[m>>2]|0)){lM[t[(t[d>>2]|0)+40>>2]&127](d)|0;b=v;continue}else{t[_>>2]=b+1;b=v;continue}}}_=d+12|0;b=t[_>>2]|0;k=d+16|0;if((b|0)==(t[k>>2]|0))b=lM[t[(t[d>>2]|0)+36>>2]&127](d)|0;else b=a[b>>0]|0;v=_M[t[(t[E>>2]|0)+12>>2]&63](E,b&255)|0;if(v<<24>>24!=(_M[t[(t[E>>2]|0)+12>>2]&63](E,f[u>>0]|0)|0)<<24>>24){T=57;break i}b=t[_>>2]|0;if((b|0)==(t[k>>2]|0))lM[t[(t[d>>2]|0)+40>>2]&127](d)|0;else t[_>>2]=b+1;u=u+1|0}}while(0);d=t[i>>2]|0;if(!((u|0)!=(h|0)&(t[l>>2]|0)==0))break e}if((T|0)==13){t[l>>2]=4;break}else if((T|0)==17){t[l>>2]=4;break}else if((T|0)==20){t[l>>2]=4;break}else if((T|0)==57){t[l>>2]=4;d=t[i>>2]|0;break}}}while(0);if(d){if((t[d+12>>2]|0)==(t[d+16>>2]|0)?(lM[t[(t[d>>2]|0)+36>>2]&127](d)|0)==-1:0){t[i>>2]=0;d=0}}else d=0;u=(d|0)==0;b=t[r>>2]|0;do{if(b){if((t[b+12>>2]|0)==(t[b+16>>2]|0)?(lM[t[(t[b>>2]|0)+36>>2]&127](b)|0)==-1:0){t[r>>2]=0;T=67;break}if(!u)T=68}else T=67}while(0);if((T|0)==67?u:0)T=68;if((T|0)==68)t[l>>2]=t[l>>2]|2;c=R;return d|0}function $s(e){e=e|0;return}function Vs(e){e=e|0;Bp(e);return}function Xs(e){e=e|0;return 2}function Gs(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=qs(e,o,l,f,n,a,58907,58915)|0;c=s;return e|0}function Ks(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0;l=c;c=c+16|0;o=l+12|0;u=l+8|0;d=l+4|0;h=l;b=e+8|0;b=lM[t[(t[b>>2]|0)+20>>2]&127](b)|0;t[d>>2]=t[i>>2];t[h>>2]=t[r>>2];r=f[b>>0]|0;_=(r&1)==0;i=_?b+1|0:t[b+8>>2]|0;r=i+(_?(r&255)>>>1:t[b+4>>2]|0)|0;t[u>>2]=t[d>>2];t[o>>2]=t[h>>2];e=qs(e,u,o,n,a,s,i,r)|0;c=l;return e|0}function Ws(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;l=u+8|0;s=u+4|0;o=u;f=sd(f)|0;t[s>>2]=f;w=0;s=pe(37,s|0,44220)|0;h=w;w=0;if(h&1){h=je()|0;bh(f)|0;Qe(h|0)}else{bh(f)|0;t[o>>2]=t[r>>2];t[l>>2]=t[o>>2];Zs(e,a+24|0,i,l,n,s);c=u;return t[i>>2]|0}return 0}function Zs(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0;s=c;c=c+16|0;l=s+4|0;o=s;e=e+8|0;e=lM[t[t[e>>2]>>2]&127](e)|0;t[o>>2]=t[f>>2];t[l>>2]=t[o>>2];r=(Dk(r,l,e,e+168|0,a,n,0)|0)-e|0;if((r|0)<168)t[i>>2]=((r|0)/12|0|0)%7|0;c=s;return}function Js(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;l=u+8|0;s=u+4|0;o=u;f=sd(f)|0;t[s>>2]=f;w=0;s=pe(37,s|0,44220)|0;h=w;w=0;if(h&1){h=je()|0;bh(f)|0;Qe(h|0)}else{bh(f)|0;t[o>>2]=t[r>>2];t[l>>2]=t[o>>2];Qs(e,a+16|0,i,l,n,s);c=u;return t[i>>2]|0}return 0}function Qs(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0;s=c;c=c+16|0;l=s+4|0;o=s;e=e+8|0;e=lM[t[(t[e>>2]|0)+4>>2]&127](e)|0;t[o>>2]=t[f>>2];t[l>>2]=t[o>>2];r=(Dk(r,l,e,e+288|0,a,n,0)|0)-e|0;if((r|0)<288)t[i>>2]=((r|0)/12|0|0)%12|0;c=s;return}function el(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;l=u+8|0;s=u+4|0;o=u;f=sd(f)|0;t[s>>2]=f;w=0;s=pe(37,s|0,44220)|0;h=w;w=0;if(h&1){h=je()|0;bh(f)|0;Qe(h|0)}else{bh(f)|0;t[o>>2]=t[r>>2];t[l>>2]=t[o>>2];il(e,a+20|0,i,l,n,s);c=u;return t[i>>2]|0}return 0}function il(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=sw(r,e,n,a,4)|0;if(!(t[n>>2]&4)){if((e|0)<69)e=e+2e3|0;else e=(e+-69|0)>>>0<31?e+1900|0:e;t[i>>2]=e+-1900}c=s;return}function rl(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,U=0,j=0,Y=0,q=0,$=0,V=0,X=0,G=0;V=c;c=c+144|0;u=V+132|0;o=V+116|0;F=V+128|0;M=V+124|0;L=V+120|0;H=V+112|0;U=V+108|0;j=V+104|0;Y=V+100|0;q=V+96|0;$=V+92|0;h=V+88|0;d=V+84|0;b=V+80|0;_=V+76|0;k=V+72|0;m=V+68|0;v=V+64|0;p=V+60|0;g=V+56|0;y=V+52|0;A=V+48|0;E=V+44|0;S=V+40|0;T=V+36|0;R=V+32|0;C=V+28|0;P=V+24|0;I=V+20|0;O=V+16|0;x=V+12|0;B=V+8|0;z=V+4|0;D=V;t[a>>2]=0;N=sd(n)|0;t[F>>2]=N;w=0;F=pe(37,F|0,44220)|0;G=w;w=0;if(G&1){G=je()|0;bh(N)|0;Qe(G|0)}bh(N)|0;do{switch(l<<24>>24|0){case 65:case 97:{t[M>>2]=t[r>>2];t[u>>2]=t[M>>2];Zs(e,s+24|0,i,u,a,F);X=28;break}case 104:case 66:case 98:{t[L>>2]=t[r>>2];t[u>>2]=t[L>>2];Qs(e,s+16|0,i,u,a,F);X=28;break}case 99:{X=e+8|0;X=lM[t[(t[X>>2]|0)+12>>2]&127](X)|0;t[H>>2]=t[i>>2];t[U>>2]=t[r>>2];l=f[X>>0]|0;r=(l&1)==0;G=r?X+1|0:t[X+8>>2]|0;X=G+(r?(l&255)>>>1:t[X+4>>2]|0)|0;t[o>>2]=t[H>>2];t[u>>2]=t[U>>2];t[i>>2]=qs(e,o,u,n,a,s,G,X)|0;X=28;break}case 101:case 100:{t[j>>2]=t[r>>2];t[u>>2]=t[j>>2];fl(e,s+12|0,i,u,a,F);X=28;break}case 68:{t[Y>>2]=t[i>>2];t[q>>2]=t[r>>2];t[o>>2]=t[Y>>2];t[u>>2]=t[q>>2];t[i>>2]=qs(e,o,u,n,a,s,58915,58923)|0;X=28;break}case 70:{t[$>>2]=t[i>>2];t[h>>2]=t[r>>2];t[o>>2]=t[$>>2];t[u>>2]=t[h>>2];t[i>>2]=qs(e,o,u,n,a,s,58923,58931)|0;X=28;break}case 72:{t[d>>2]=t[r>>2];t[u>>2]=t[d>>2];nl(e,s+8|0,i,u,a,F);X=28;break}case 73:{t[b>>2]=t[r>>2];t[u>>2]=t[b>>2];tl(e,s+8|0,i,u,a,F);X=28;break}case 106:{t[_>>2]=t[r>>2];t[u>>2]=t[_>>2];al(e,s+28|0,i,u,a,F);X=28;break}case 109:{t[k>>2]=t[r>>2];t[u>>2]=t[k>>2];sl(e,s+16|0,i,u,a,F);X=28;break}case 77:{t[m>>2]=t[r>>2];t[u>>2]=t[m>>2];ll(e,s+4|0,i,u,a,F);X=28;break}case 116:case 110:{t[v>>2]=t[r>>2];t[u>>2]=t[v>>2];ol(e,i,u,a,F);X=28;break}case 112:{t[p>>2]=t[r>>2];t[u>>2]=t[p>>2];ul(e,s+8|0,i,u,a,F);X=28;break}case 114:{t[g>>2]=t[i>>2];t[y>>2]=t[r>>2];t[o>>2]=t[g>>2];t[u>>2]=t[y>>2];t[i>>2]=qs(e,o,u,n,a,s,58931,58942)|0;X=28;break}case 82:{t[A>>2]=t[i>>2];t[E>>2]=t[r>>2];t[o>>2]=t[A>>2];t[u>>2]=t[E>>2];t[i>>2]=qs(e,o,u,n,a,s,58942,58947)|0;X=28;break}case 83:{t[S>>2]=t[r>>2];t[u>>2]=t[S>>2];cl(e,s,i,u,a,F);X=28;break}case 84:{t[T>>2]=t[i>>2];t[R>>2]=t[r>>2];t[o>>2]=t[T>>2];t[u>>2]=t[R>>2];t[i>>2]=qs(e,o,u,n,a,s,58947,58955)|0;X=28;break}case 119:{t[C>>2]=t[r>>2];t[u>>2]=t[C>>2];hl(e,s+24|0,i,u,a,F);X=28;break}case 120:{G=t[(t[e>>2]|0)+20>>2]|0;t[P>>2]=t[i>>2];t[I>>2]=t[r>>2];t[o>>2]=t[P>>2];t[u>>2]=t[I>>2];o=sM[G&63](e,o,u,n,a,s)|0;break}case 88:{X=e+8|0;X=lM[t[(t[X>>2]|0)+24>>2]&127](X)|0;t[O>>2]=t[i>>2];t[x>>2]=t[r>>2];l=f[X>>0]|0;r=(l&1)==0;G=r?X+1|0:t[X+8>>2]|0;X=G+(r?(l&255)>>>1:t[X+4>>2]|0)|0;t[o>>2]=t[O>>2];t[u>>2]=t[x>>2];t[i>>2]=qs(e,o,u,n,a,s,G,X)|0;X=28;break}case 121:{t[B>>2]=t[r>>2];t[u>>2]=t[B>>2];il(e,s+20|0,i,u,a,F);X=28;break}case 89:{t[z>>2]=t[r>>2];t[u>>2]=t[z>>2];dl(e,s+20|0,i,u,a,F);X=28;break}case 37:{t[D>>2]=t[r>>2];t[u>>2]=t[D>>2];bl(e,i,u,a,F);X=28;break}default:{t[a>>2]=t[a>>2]|4;X=28}}}while(0);if((X|0)==28)o=t[i>>2]|0;c=V;return o|0}function fl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=sw(r,e,n,a,2)|0;r=t[n>>2]|0;if((e+-1|0)>>>0<31&(r&4|0)==0)t[i>>2]=e;else t[n>>2]=r|4;c=s;return}function nl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=sw(r,e,n,a,2)|0;r=t[n>>2]|0;if((e|0)<24&(r&4|0)==0)t[i>>2]=e;else t[n>>2]=r|4;c=s;return}function tl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=sw(r,e,n,a,2)|0;r=t[n>>2]|0;if((e+-1|0)>>>0<12&(r&4|0)==0)t[i>>2]=e;else t[n>>2]=r|4;c=s;return}function al(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=sw(r,e,n,a,3)|0;r=t[n>>2]|0;if((e|0)<366&(r&4|0)==0)t[i>>2]=e;else t[n>>2]=r|4;c=s;return}function sl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=sw(r,e,n,a,2)|0;r=t[n>>2]|0;if((e|0)<13&(r&4|0)==0)t[i>>2]=e+-1;else t[n>>2]=r|4;c=s;return}function ll(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=sw(r,e,n,a,2)|0;r=t[n>>2]|0;if((e|0)<60&(r&4|0)==0)t[i>>2]=e;else t[n>>2]=r|4;c=s;return}function ol(e,i,r,f,s){e=e|0;i=i|0;r=r|0;f=f|0;s=s|0;var l=0,o=0,u=0;o=s+8|0;e:while(1){s=t[i>>2]|0;do{if(s){if((t[s+12>>2]|0)==(t[s+16>>2]|0))if((lM[t[(t[s>>2]|0)+36>>2]&127](s)|0)==-1){t[i>>2]=0;s=0;break}else{s=t[i>>2]|0;break}}else s=0}while(0);s=(s|0)==0;e=t[r>>2]|0;do{if(e){if((t[e+12>>2]|0)!=(t[e+16>>2]|0))if(s)break;else break e;if((lM[t[(t[e>>2]|0)+36>>2]&127](e)|0)!=-1)if(s)break;else break e;else{t[r>>2]=0;u=12;break}}else u=12}while(0);if((u|0)==12){u=0;if(s){e=0;break}else e=0}s=t[i>>2]|0;l=t[s+12>>2]|0;if((l|0)==(t[s+16>>2]|0))s=lM[t[(t[s>>2]|0)+36>>2]&127](s)|0;else s=a[l>>0]|0;if((s&255)<<24>>24<=-1)break;if(!(n[(t[o>>2]|0)+(s<<24>>24<<1)>>1]&8192))break;s=t[i>>2]|0;e=s+12|0;l=t[e>>2]|0;if((l|0)==(t[s+16>>2]|0)){lM[t[(t[s>>2]|0)+40>>2]&127](s)|0;continue}else{t[e>>2]=l+1;continue}}s=t[i>>2]|0;do{if(s){if((t[s+12>>2]|0)==(t[s+16>>2]|0))if((lM[t[(t[s>>2]|0)+36>>2]&127](s)|0)==-1){t[i>>2]=0;s=0;break}else{s=t[i>>2]|0;break}}else s=0}while(0);s=(s|0)==0;do{if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)?(lM[t[(t[e>>2]|0)+36>>2]&127](e)|0)==-1:0){t[r>>2]=0;u=32;break}if(!s)u=33}else u=32}while(0);if((u|0)==32?s:0)u=33;if((u|0)==33)t[f>>2]=t[f>>2]|2;return}function ul(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0;d=c;c=c+16|0;o=d+4|0;u=d;h=e+8|0;h=lM[t[(t[h>>2]|0)+8>>2]&127](h)|0;e=f[h>>0]|0;if(!(e&1))l=(e&255)>>>1;else l=t[h+4>>2]|0;e=f[h+12>>0]|0;if(!(e&1))e=(e&255)>>>1;else e=t[h+16>>2]|0;do{if((l|0)!=(0-e|0)){t[u>>2]=t[n>>2];t[o>>2]=t[u>>2];e=Dk(r,o,h,h+24|0,s,a,0)|0;l=t[i>>2]|0;if((e|0)==(h|0)&(l|0)==12){t[i>>2]=0;break}if((l|0)<12&(e-h|0)==12)t[i>>2]=l+12}else t[a>>2]=t[a>>2]|4}while(0);c=d;return}function cl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=sw(r,e,n,a,2)|0;r=t[n>>2]|0;if((e|0)<61&(r&4|0)==0)t[i>>2]=e;else t[n>>2]=r|4;c=s;return}function hl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=sw(r,e,n,a,1)|0;r=t[n>>2]|0;if((e|0)<7&(r&4|0)==0)t[i>>2]=e;else t[n>>2]=r|4;c=s;return}function dl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=sw(r,e,n,a,4)|0;if(!(t[n>>2]&4))t[i>>2]=e+-1900;c=s;return}function bl(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var s=0,l=0,o=0;e=t[i>>2]|0;do{if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0))if((lM[t[(t[e>>2]|0)+36>>2]&127](e)|0)==-1){t[i>>2]=0;e=0;break}else{e=t[i>>2]|0;break}}else e=0}while(0);s=(e|0)==0;e=t[r>>2]|0;do{if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)?(lM[t[(t[e>>2]|0)+36>>2]&127](e)|0)==-1:0){t[r>>2]=0;o=11;break}if(s){l=e;o=13}else o=12}else o=11}while(0);if((o|0)==11)if(s)o=12;else{l=0;o=13}e:do{if((o|0)==12)t[f>>2]=t[f>>2]|6;else if((o|0)==13){e=t[i>>2]|0;s=t[e+12>>2]|0;if((s|0)==(t[e+16>>2]|0))e=lM[t[(t[e>>2]|0)+36>>2]&127](e)|0;else e=a[s>>0]|0;if((uM[t[(t[n>>2]|0)+36>>2]&63](n,e&255,0)|0)<<24>>24!=37){t[f>>2]=t[f>>2]|4;break}e=t[i>>2]|0;s=e+12|0;n=t[s>>2]|0;if((n|0)==(t[e+16>>2]|0)){lM[t[(t[e>>2]|0)+40>>2]&127](e)|0;e=t[i>>2]|0;if(!e)e=0;else o=21}else{t[s>>2]=n+1;o=21}do{if((o|0)==21)if((t[e+12>>2]|0)==(t[e+16>>2]|0))if((lM[t[(t[e>>2]|0)+36>>2]&127](e)|0)==-1){t[i>>2]=0;e=0;break}else{e=t[i>>2]|0;break}}while(0);e=(e|0)==0;do{if(l){if((t[l+12>>2]|0)==(t[l+16>>2]|0)?(lM[t[(t[l>>2]|0)+36>>2]&127](l)|0)==-1:0){t[r>>2]=0;o=30;break}if(e)break e}else o=30}while(0);if((o|0)==30?!e:0)break;t[f>>2]=t[f>>2]|2}}while(0);return}function _l(e,i,r,f,n,a,s,l){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0;M=c;c=c+32|0;m=M+16|0;k=M+12|0;g=M+8|0;v=M+4|0;p=M;o=sd(f)|0;t[g>>2]=o;w=0;g=pe(37,g|0,44212)|0;_=w;w=0;if(_&1){M=je()|0;bh(o)|0;Qe(M|0)}bh(o)|0;t[n>>2]=0;o=t[i>>2]|0;e:do{if((s|0)!=(l|0)){i:while(1){h=o;if(o){u=t[o+12>>2]|0;if((u|0)==(t[o+16>>2]|0))u=lM[t[(t[o>>2]|0)+36>>2]&127](o)|0;else u=t[u>>2]|0;if((u|0)==-1){t[i>>2]=0;o=0;b=1;_=0}else{b=0;_=h}}else{o=0;b=1;_=h}d=t[r>>2]|0;u=d;do{if(d){h=t[d+12>>2]|0;if((h|0)==(t[d+16>>2]|0))h=lM[t[(t[d>>2]|0)+36>>2]&127](d)|0;else h=t[h>>2]|0;if((h|0)!=-1)if(b)break;else{y=17;break i}else{t[r>>2]=0;u=0;y=15;break}}else y=15}while(0);if((y|0)==15){y=0;if(b){y=17;break}else d=0}r:do{if((uM[t[(t[g>>2]|0)+52>>2]&63](g,t[s>>2]|0,0)|0)<<24>>24==37){h=s+4|0;if((h|0)==(l|0)){y=21;break i}b=uM[t[(t[g>>2]|0)+52>>2]&63](g,t[h>>2]|0,0)|0;switch(b<<24>>24){case 48:case 69:{d=s+8|0;if((d|0)==(l|0)){y=24;break i}s=h;h=uM[t[(t[g>>2]|0)+52>>2]&63](g,t[d>>2]|0,0)|0;o=b;break}default:{h=b;o=0}}b=t[(t[e>>2]|0)+36>>2]|0;t[v>>2]=_;t[p>>2]=u;t[k>>2]=t[v>>2];t[m>>2]=t[p>>2];t[i>>2]=yM[b&15](e,k,m,f,n,a,h,o)|0;s=s+8|0}else{if(!(uM[t[(t[g>>2]|0)+12>>2]&63](g,8192,t[s>>2]|0)|0)){h=o+12|0;u=t[h>>2]|0;d=o+16|0;if((u|0)==(t[d>>2]|0))u=lM[t[(t[o>>2]|0)+36>>2]&127](o)|0;else u=t[u>>2]|0;_=_M[t[(t[g>>2]|0)+28>>2]&63](g,u)|0;if((_|0)!=(_M[t[(t[g>>2]|0)+28>>2]&63](g,t[s>>2]|0)|0)){y=61;break i}u=t[h>>2]|0;if((u|0)==(t[d>>2]|0))lM[t[(t[o>>2]|0)+40>>2]&127](o)|0;else t[h>>2]=u+4;s=s+4|0;break}do{s=s+4|0;if((s|0)==(l|0)){s=l;break}}while(uM[t[(t[g>>2]|0)+12>>2]&63](g,8192,t[s>>2]|0)|0);u=d;b=d;while(1){if(o){h=t[o+12>>2]|0;if((h|0)==(t[o+16>>2]|0))h=lM[t[(t[o>>2]|0)+36>>2]&127](o)|0;else h=t[h>>2]|0;if((h|0)==-1){t[i>>2]=0;d=1;o=0}else d=0}else{d=1;o=0}do{if(b){h=t[b+12>>2]|0;if((h|0)==(t[b+16>>2]|0))h=lM[t[(t[b>>2]|0)+36>>2]&127](b)|0;else h=t[h>>2]|0;if((h|0)!=-1)if(d^(u|0)==0){_=u;b=u;break}else break r;else{t[r>>2]=0;u=0;y=44;break}}else y=44}while(0);if((y|0)==44){y=0;if(d)break r;else{_=u;b=0}}h=o+12|0;u=t[h>>2]|0;d=o+16|0;if((u|0)==(t[d>>2]|0))u=lM[t[(t[o>>2]|0)+36>>2]&127](o)|0;else u=t[u>>2]|0;if(!(uM[t[(t[g>>2]|0)+12>>2]&63](g,8192,u)|0))break r;u=t[h>>2]|0;if((u|0)==(t[d>>2]|0)){lM[t[(t[o>>2]|0)+40>>2]&127](o)|0;u=_;continue}else{t[h>>2]=u+4;u=_;continue}}}}while(0);o=t[i>>2]|0;if(!((s|0)!=(l|0)&(t[n>>2]|0)==0))break e}if((y|0)==17){t[n>>2]=4;break}else if((y|0)==21){t[n>>2]=4;break}else if((y|0)==24){t[n>>2]=4;break}else if((y|0)==61){t[n>>2]=4;o=t[i>>2]|0;break}}}while(0);if(o){s=t[o+12>>2]|0;if((s|0)==(t[o+16>>2]|0))s=lM[t[(t[o>>2]|0)+36>>2]&127](o)|0;else s=t[s>>2]|0;if((s|0)==-1){t[i>>2]=0;o=0;h=1}else h=0}else{o=0;h=1}s=t[r>>2]|0;do{if(s){u=t[s+12>>2]|0;if((u|0)==(t[s+16>>2]|0))s=lM[t[(t[s>>2]|0)+36>>2]&127](s)|0;else s=t[u>>2]|0;if((s|0)!=-1)if(h)break;else{y=76;break}else{t[r>>2]=0;y=74;break}}else y=74}while(0);if((y|0)==74?h:0)y=76;if((y|0)==76)t[n>>2]=t[n>>2]|2;c=M;return o|0}function kl(e){e=e|0;return}function wl(e){e=e|0;Bp(e);return}function ml(e){e=e|0;return 2}function vl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=_l(e,o,l,f,n,a,44788,44820)|0;c=s;return e|0}function pl(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0;l=c;c=c+16|0;o=l+12|0;u=l+8|0;d=l+4|0;h=l;k=e+8|0;k=lM[t[(t[k>>2]|0)+20>>2]&127](k)|0;t[d>>2]=t[i>>2];t[h>>2]=t[r>>2];b=f[k>>0]|0;_=(b&1)==0;r=k+4|0;i=_?r:t[k+8>>2]|0;r=i+((_?(b&255)>>>1:t[r>>2]|0)<<2)|0;t[u>>2]=t[d>>2];t[o>>2]=t[h>>2];e=_l(e,u,o,n,a,s,i,r)|0;c=l;return e|0}function gl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;l=u+8|0;s=u+4|0;o=u;f=sd(f)|0;t[s>>2]=f;w=0;s=pe(37,s|0,44212)|0;h=w;w=0;if(h&1){h=je()|0;bh(f)|0;Qe(h|0)}else{bh(f)|0;t[o>>2]=t[r>>2];t[l>>2]=t[o>>2];yl(e,a+24|0,i,l,n,s);c=u;return t[i>>2]|0}return 0}function yl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0;s=c;c=c+16|0;l=s+4|0;o=s;e=e+8|0;e=lM[t[t[e>>2]>>2]&127](e)|0;t[o>>2]=t[f>>2];t[l>>2]=t[o>>2];r=(Gk(r,l,e,e+168|0,a,n,0)|0)-e|0;if((r|0)<168)t[i>>2]=((r|0)/12|0|0)%7|0;c=s;return}function Ml(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;l=u+8|0;s=u+4|0;o=u;f=sd(f)|0;t[s>>2]=f;w=0;s=pe(37,s|0,44212)|0;h=w;w=0;if(h&1){h=je()|0;bh(f)|0;Qe(h|0)}else{bh(f)|0;t[o>>2]=t[r>>2];t[l>>2]=t[o>>2];Al(e,a+16|0,i,l,n,s);c=u;return t[i>>2]|0}return 0}function Al(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0;s=c;c=c+16|0;l=s+4|0;o=s;e=e+8|0;e=lM[t[(t[e>>2]|0)+4>>2]&127](e)|0;t[o>>2]=t[f>>2];t[l>>2]=t[o>>2];r=(Gk(r,l,e,e+288|0,a,n,0)|0)-e|0;if((r|0)<288)t[i>>2]=((r|0)/12|0|0)%12|0;c=s;return}function El(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;l=u+8|0;s=u+4|0;o=u;f=sd(f)|0;t[s>>2]=f;w=0;s=pe(37,s|0,44212)|0;h=w;w=0;if(h&1){h=je()|0;bh(f)|0;Qe(h|0)}else{bh(f)|0;t[o>>2]=t[r>>2];t[l>>2]=t[o>>2];Sl(e,a+20|0,i,l,n,s);c=u;return t[i>>2]|0}return 0}function Sl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=lw(r,e,n,a,4)|0;if(!(t[n>>2]&4)){if((e|0)<69)e=e+2e3|0;else e=(e+-69|0)>>>0<31?e+1900|0:e;t[i>>2]=e+-1900}c=s;return}function Tl(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,U=0,j=0,Y=0,q=0,$=0,V=0,X=0,G=0;V=c;c=c+144|0;u=V+132|0;o=V+116|0;F=V+128|0;M=V+124|0;L=V+120|0;H=V+112|0;U=V+108|0;j=V+104|0;Y=V+100|0;q=V+96|0;$=V+92|0;h=V+88|0;d=V+84|0;b=V+80|0;_=V+76|0;k=V+72|0;m=V+68|0;v=V+64|0;p=V+60|0;g=V+56|0;y=V+52|0;A=V+48|0;E=V+44|0;S=V+40|0;T=V+36|0;R=V+32|0;C=V+28|0;P=V+24|0;I=V+20|0;O=V+16|0;x=V+12|0;B=V+8|0;z=V+4|0;D=V;t[a>>2]=0;N=sd(n)|0;t[F>>2]=N;w=0;F=pe(37,F|0,44212)|0;G=w;w=0;if(G&1){G=je()|0;bh(N)|0;Qe(G|0)}bh(N)|0;do{switch(l<<24>>24|0){case 65:case 97:{t[M>>2]=t[r>>2];t[u>>2]=t[M>>2];yl(e,s+24|0,i,u,a,F);X=28;break}case 104:case 66:case 98:{t[L>>2]=t[r>>2];t[u>>2]=t[L>>2];Al(e,s+16|0,i,u,a,F);X=28;break}case 99:{G=e+8|0;G=lM[t[(t[G>>2]|0)+12>>2]&127](G)|0;t[H>>2]=t[i>>2];t[U>>2]=t[r>>2];l=f[G>>0]|0;r=(l&1)==0;X=G+4|0;G=r?X:t[G+8>>2]|0;X=G+((r?(l&255)>>>1:t[X>>2]|0)<<2)|0;t[o>>2]=t[H>>2];t[u>>2]=t[U>>2];t[i>>2]=_l(e,o,u,n,a,s,G,X)|0;X=28;break}case 101:case 100:{t[j>>2]=t[r>>2];t[u>>2]=t[j>>2];Rl(e,s+12|0,i,u,a,F);X=28;break}case 68:{t[Y>>2]=t[i>>2];t[q>>2]=t[r>>2];t[o>>2]=t[Y>>2];t[u>>2]=t[q>>2];t[i>>2]=_l(e,o,u,n,a,s,44820,44852)|0;X=28;break}case 70:{t[$>>2]=t[i>>2];t[h>>2]=t[r>>2];t[o>>2]=t[$>>2];t[u>>2]=t[h>>2];t[i>>2]=_l(e,o,u,n,a,s,44852,44884)|0;X=28;break}case 72:{t[d>>2]=t[r>>2];t[u>>2]=t[d>>2];Cl(e,s+8|0,i,u,a,F);X=28;break}case 73:{t[b>>2]=t[r>>2];t[u>>2]=t[b>>2];Pl(e,s+8|0,i,u,a,F);X=28;break}case 106:{t[_>>2]=t[r>>2];t[u>>2]=t[_>>2];Il(e,s+28|0,i,u,a,F);X=28;break}case 109:{t[k>>2]=t[r>>2];t[u>>2]=t[k>>2];Ol(e,s+16|0,i,u,a,F);X=28;break}case 77:{t[m>>2]=t[r>>2];t[u>>2]=t[m>>2];xl(e,s+4|0,i,u,a,F);X=28;break}case 116:case 110:{t[v>>2]=t[r>>2];t[u>>2]=t[v>>2];Ll(e,i,u,a,F);X=28;break}case 112:{t[p>>2]=t[r>>2];t[u>>2]=t[p>>2];Bl(e,s+8|0,i,u,a,F);X=28;break}case 114:{t[g>>2]=t[i>>2];t[y>>2]=t[r>>2];t[o>>2]=t[g>>2];t[u>>2]=t[y>>2];t[i>>2]=_l(e,o,u,n,a,s,44884,44928)|0;X=28;break}case 82:{t[A>>2]=t[i>>2];t[E>>2]=t[r>>2];t[o>>2]=t[A>>2];t[u>>2]=t[E>>2];t[i>>2]=_l(e,o,u,n,a,s,44928,44948)|0;X=28;break}case 83:{t[S>>2]=t[r>>2];t[u>>2]=t[S>>2];zl(e,s,i,u,a,F);X=28;break}case 84:{t[T>>2]=t[i>>2];t[R>>2]=t[r>>2];t[o>>2]=t[T>>2];t[u>>2]=t[R>>2];t[i>>2]=_l(e,o,u,n,a,s,44948,44980)|0;X=28;break}case 119:{t[C>>2]=t[r>>2];t[u>>2]=t[C>>2];Dl(e,s+24|0,i,u,a,F);X=28;break}case 120:{G=t[(t[e>>2]|0)+20>>2]|0;t[P>>2]=t[i>>2];t[I>>2]=t[r>>2];t[o>>2]=t[P>>2];t[u>>2]=t[I>>2];o=sM[G&63](e,o,u,n,a,s)|0;break}case 88:{G=e+8|0;G=lM[t[(t[G>>2]|0)+24>>2]&127](G)|0;t[O>>2]=t[i>>2];t[x>>2]=t[r>>2];l=f[G>>0]|0;r=(l&1)==0;X=G+4|0;G=r?X:t[G+8>>2]|0;X=G+((r?(l&255)>>>1:t[X>>2]|0)<<2)|0;t[o>>2]=t[O>>2];t[u>>2]=t[x>>2];t[i>>2]=_l(e,o,u,n,a,s,G,X)|0;X=28;break}case 121:{t[B>>2]=t[r>>2];t[u>>2]=t[B>>2];Sl(e,s+20|0,i,u,a,F);X=28;break}case 89:{t[z>>2]=t[r>>2];t[u>>2]=t[z>>2];Nl(e,s+20|0,i,u,a,F);X=28;break}case 37:{t[D>>2]=t[r>>2];t[u>>2]=t[D>>2];Fl(e,i,u,a,F);X=28;break}default:{t[a>>2]=t[a>>2]|4;X=28}}}while(0);if((X|0)==28)o=t[i>>2]|0;c=V;return o|0}function Rl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=lw(r,e,n,a,2)|0;r=t[n>>2]|0;if((e+-1|0)>>>0<31&(r&4|0)==0)t[i>>2]=e;else t[n>>2]=r|4;c=s;return}function Cl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=lw(r,e,n,a,2)|0;r=t[n>>2]|0;if((e|0)<24&(r&4|0)==0)t[i>>2]=e;else t[n>>2]=r|4;c=s;return}function Pl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=lw(r,e,n,a,2)|0;r=t[n>>2]|0;if((e+-1|0)>>>0<12&(r&4|0)==0)t[i>>2]=e;else t[n>>2]=r|4;c=s;return}function Il(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=lw(r,e,n,a,3)|0;r=t[n>>2]|0;if((e|0)<366&(r&4|0)==0)t[i>>2]=e;else t[n>>2]=r|4;c=s;return}function Ol(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=lw(r,e,n,a,2)|0;r=t[n>>2]|0;if((e|0)<13&(r&4|0)==0)t[i>>2]=e+-1;else t[n>>2]=r|4;c=s;return}function xl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=lw(r,e,n,a,2)|0;r=t[n>>2]|0;if((e|0)<60&(r&4|0)==0)t[i>>2]=e;else t[n>>2]=r|4;c=s;return}function Ll(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0;e:while(1){e=t[i>>2]|0;do{if(e){a=t[e+12>>2]|0;if((a|0)==(t[e+16>>2]|0))e=lM[t[(t[e>>2]|0)+36>>2]&127](e)|0;else e=t[a>>2]|0;if((e|0)==-1){t[i>>2]=0;s=1;break}else{s=(t[i>>2]|0)==0;break}}else s=1}while(0);a=t[r>>2]|0;do{if(a){e=t[a+12>>2]|0;if((e|0)==(t[a+16>>2]|0))e=lM[t[(t[a>>2]|0)+36>>2]&127](a)|0;else e=t[e>>2]|0;if((e|0)!=-1)if(s){s=a;break}else{s=a;break e}else{t[r>>2]=0;l=15;break}}else l=15}while(0);if((l|0)==15){l=0;if(s){s=0;break}else s=0}e=t[i>>2]|0;a=t[e+12>>2]|0;if((a|0)==(t[e+16>>2]|0))e=lM[t[(t[e>>2]|0)+36>>2]&127](e)|0;else e=t[a>>2]|0;if(!(uM[t[(t[n>>2]|0)+12>>2]&63](n,8192,e)|0))break;e=t[i>>2]|0;a=e+12|0;s=t[a>>2]|0;if((s|0)==(t[e+16>>2]|0)){lM[t[(t[e>>2]|0)+40>>2]&127](e)|0;continue}else{t[a>>2]=s+4;continue}}e=t[i>>2]|0;do{if(e){a=t[e+12>>2]|0;if((a|0)==(t[e+16>>2]|0))e=lM[t[(t[e>>2]|0)+36>>2]&127](e)|0;else e=t[a>>2]|0;if((e|0)==-1){t[i>>2]=0;a=1;break}else{a=(t[i>>2]|0)==0;break}}else a=1}while(0);do{if(s){e=t[s+12>>2]|0;if((e|0)==(t[s+16>>2]|0))e=lM[t[(t[s>>2]|0)+36>>2]&127](s)|0;else e=t[e>>2]|0;if((e|0)!=-1)if(a)break;else{l=39;break}else{t[r>>2]=0;l=37;break}}else l=37}while(0);if((l|0)==37?a:0)l=39;if((l|0)==39)t[f>>2]=t[f>>2]|2;return}function Bl(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0;d=c;c=c+16|0;o=d+4|0;u=d;h=e+8|0;h=lM[t[(t[h>>2]|0)+8>>2]&127](h)|0;e=f[h>>0]|0;if(!(e&1))l=(e&255)>>>1;else l=t[h+4>>2]|0;e=f[h+12>>0]|0;if(!(e&1))e=(e&255)>>>1;else e=t[h+16>>2]|0;do{if((l|0)!=(0-e|0)){t[u>>2]=t[n>>2];t[o>>2]=t[u>>2];e=Gk(r,o,h,h+24|0,s,a,0)|0;l=t[i>>2]|0;if((e|0)==(h|0)&(l|0)==12){t[i>>2]=0;break}if((l|0)<12&(e-h|0)==12)t[i>>2]=l+12}else t[a>>2]=t[a>>2]|4}while(0);c=d;return}function zl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=lw(r,e,n,a,2)|0;r=t[n>>2]|0;if((e|0)<61&(r&4|0)==0)t[i>>2]=e;else t[n>>2]=r|4;c=s;return}function Dl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=lw(r,e,n,a,1)|0;r=t[n>>2]|0;if((e|0)<7&(r&4|0)==0)t[i>>2]=e;else t[n>>2]=r|4;c=s;return}function Nl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;t[l>>2]=t[f>>2];t[e>>2]=t[l>>2];e=lw(r,e,n,a,4)|0;if(!(t[n>>2]&4))t[i>>2]=e+-1900;c=s;return}function Fl(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0,o=0;e=t[i>>2]|0;do{if(e){a=t[e+12>>2]|0;if((a|0)==(t[e+16>>2]|0))e=lM[t[(t[e>>2]|0)+36>>2]&127](e)|0;else e=t[a>>2]|0;if((e|0)==-1){t[i>>2]=0;s=1;break}else{s=(t[i>>2]|0)==0;break}}else s=1}while(0);a=t[r>>2]|0;do{if(a){e=t[a+12>>2]|0;if((e|0)==(t[a+16>>2]|0))e=lM[t[(t[a>>2]|0)+36>>2]&127](a)|0;else e=t[e>>2]|0;if((e|0)!=-1)if(s){l=a;o=17;break}else{o=16;break}else{t[r>>2]=0;o=14;break}}else o=14}while(0);if((o|0)==14)if(s)o=16;else{l=0;o=17}e:do{if((o|0)==16)t[f>>2]=t[f>>2]|6;else if((o|0)==17){e=t[i>>2]|0;a=t[e+12>>2]|0;if((a|0)==(t[e+16>>2]|0))e=lM[t[(t[e>>2]|0)+36>>2]&127](e)|0;else e=t[a>>2]|0;if((uM[t[(t[n>>2]|0)+52>>2]&63](n,e,0)|0)<<24>>24!=37){t[f>>2]=t[f>>2]|4;break}e=t[i>>2]|0;a=e+12|0;s=t[a>>2]|0;if((s|0)==(t[e+16>>2]|0)){lM[t[(t[e>>2]|0)+40>>2]&127](e)|0;e=t[i>>2]|0;if(!e)a=1;else o=25}else{t[a>>2]=s+4;o=25}do{if((o|0)==25){a=t[e+12>>2]|0;if((a|0)==(t[e+16>>2]|0))e=lM[t[(t[e>>2]|0)+36>>2]&127](e)|0;else e=t[a>>2]|0;if((e|0)==-1){t[i>>2]=0;a=1;break}else{a=(t[i>>2]|0)==0;break}}}while(0);do{if(l){e=t[l+12>>2]|0;if((e|0)==(t[l+16>>2]|0))e=lM[t[(t[l>>2]|0)+36>>2]&127](l)|0;else e=t[e>>2]|0;if((e|0)!=-1)if(a)break e;else break;else{t[r>>2]=0;o=37;break}}else o=37}while(0);if((o|0)==37?!a:0)break;t[f>>2]=t[f>>2]|2}}while(0);return}function Hl(e){e=e|0;Ul(e+8|0);return}function Ul(e){e=e|0;var i=0,r=0,f=0;i=t[e>>2]|0;w=0;r=Me(3)|0;f=w;w=0;do{if(!(f&1)){if((i|0)!=(r|0)?(w=0,ue(188,t[e>>2]|0),f=w,w=0,f&1):0)break;return}}while(0);f=je(0)|0;Ni(f)}function jl(e){e=e|0;Ul(e+8|0);Bp(e);return}function Yl(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0;u=c;c=c+112|0;o=u+4|0;r=u;t[r>>2]=o+100;ql(e+8|0,o,r,a,s,l);a=t[r>>2]|0;r=t[i>>2]|0;if((o|0)!=(a|0))do{l=f[o>>0]|0;do{if(r){n=r+24|0;s=t[n>>2]|0;if((s|0)==(t[r+28>>2]|0)){i=(_M[t[(t[r>>2]|0)+52>>2]&63](r,l&255)|0)==-1;r=i?0:r;break}else{t[n>>2]=s+1;f[s>>0]=l;break}}else r=0}while(0);o=o+1|0}while((o|0)!=(a|0));c=u;return r|0}function ql(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0;h=c;c=c+16|0;u=h;f[u>>0]=37;l=u+1|0;f[l>>0]=a;o=u+2|0;f[o>>0]=s;f[u+3>>0]=0;if(s<<24>>24){f[l>>0]=s;f[o>>0]=a}t[r>>2]=i+(Ve(i|0,(t[r>>2]|0)-i|0,u|0,n|0,t[e>>2]|0)|0);c=h;return}function $l(e){e=e|0;Ul(e+8|0);return}function Vl(e){e=e|0;Ul(e+8|0);Bp(e);return}function Xl(e,i,r,f,n,a,s){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;s=s|0;var l=0;l=c;c=c+416|0;f=l+8|0;r=l;t[r>>2]=f+400;Gl(e+8|0,f,r,n,a,s);e=t[r>>2]|0;r=t[i>>2]|0;if((f|0)!=(e|0)){n=f;do{f=t[n>>2]|0;if(!r)r=0;else{a=r+24|0;s=t[a>>2]|0;if((s|0)==(t[r+28>>2]|0))f=_M[t[(t[r>>2]|0)+52>>2]&63](r,f)|0;else{t[a>>2]=s+4;t[s>>2]=f}r=(f|0)==-1?0:r}n=n+4|0}while((n|0)!=(e|0))}c=l;return r|0}function Gl(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+128|0;u=s+16|0;h=s+12|0;l=s;o=s+8|0;t[h>>2]=u+100;ql(e,u,h,f,n,a);n=l;t[n>>2]=0;t[n+4>>2]=0;t[o>>2]=u;n=(t[r>>2]|0)-i>>2;a=Kg(t[e>>2]|0)|0;w=0;n=Ae(18,i|0,o|0,n|0,l|0)|0;e=w;w=0;if(e&1){n=je()|0;if((a|0)!=0?(w=0,de(75,a|0)|0,h=w,w=0,h&1):0){h=je(0)|0;Ni(h)}Qe(n|0)}if((a|0)!=0?(w=0,de(75,a|0)|0,h=w,w=0,h&1):0){h=je(0)|0;Ni(h)}if((n|0)==-1)$o(58955);else{t[r>>2]=i+(n<<2);c=s;return}}function Kl(e){e=e|0;return}function Wl(e){e=e|0;Bp(e);return}function Zl(e){e=e|0;return 127}function Jl(e){e=e|0;return 127}function Ql(e,i){e=e|0;i=i|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;return}function eo(e,i){e=e|0;i=i|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;return}function io(e,i){e=e|0;i=i|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;return}function ro(e,i){e=e|0;i=i|0;Oh(e,1,45);return}function fo(e){e=e|0;return 0}function no(e,i){e=e|0;i=i|0;f[e>>0]=2;f[e+1>>0]=3;f[e+2>>0]=0;f[e+3>>0]=4;return}function to(e,i){e=e|0;i=i|0;f[e>>0]=2;f[e+1>>0]=3;f[e+2>>0]=0;f[e+3>>0]=4;return}function ao(e){e=e|0;return}function so(e){e=e|0;Bp(e);return}function lo(e){e=e|0;return 127}function oo(e){e=e|0;return 127}function uo(e,i){e=e|0;i=i|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;return}function co(e,i){e=e|0;i=i|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;return}function ho(e,i){e=e|0;i=i|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;return}function bo(e,i){e=e|0;i=i|0;Oh(e,1,45);return}function _o(e){e=e|0;return 0}function ko(e,i){e=e|0;i=i|0;f[e>>0]=2;f[e+1>>0]=3;f[e+2>>0]=0;f[e+3>>0]=4;return}function wo(e,i){e=e|0;i=i|0;f[e>>0]=2;f[e+1>>0]=3;f[e+2>>0]=0;f[e+3>>0]=4;return}function mo(e){e=e|0;return}function vo(e){e=e|0;Bp(e);return}function po(e){e=e|0;return 2147483647}function go(e){e=e|0;return 2147483647}function yo(e,i){e=e|0;i=i|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;return}function Mo(e,i){e=e|0;i=i|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;return}function Ao(e,i){e=e|0;i=i|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;return}function Eo(e,i){e=e|0;i=i|0;Vh(e,1,45);return}function So(e){e=e|0;return 0}function To(e,i){e=e|0;i=i|0;f[e>>0]=2;f[e+1>>0]=3;f[e+2>>0]=0;f[e+3>>0]=4;return}function Ro(e,i){e=e|0;i=i|0;f[e>>0]=2;f[e+1>>0]=3;f[e+2>>0]=0;f[e+3>>0]=4;return}function Co(e){e=e|0;return}function Po(e){e=e|0;Bp(e);return}function Io(e){e=e|0;return 2147483647}function Oo(e){e=e|0;return 2147483647}function xo(e,i){e=e|0;i=i|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;return}function Lo(e,i){e=e|0;i=i|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;return}function Bo(e,i){e=e|0;i=i|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;return}function zo(e,i){e=e|0;i=i|0;Vh(e,1,45);return}function Do(e){e=e|0;return 0}function No(e,i){e=e|0;i=i|0;f[e>>0]=2;f[e+1>>0]=3;f[e+2>>0]=0;f[e+3>>0]=4;return}function Fo(e,i){e=e|0;i=i|0;f[e>>0]=2;f[e+1>>0]=3;f[e+2>>0]=0;f[e+3>>0]=4;return}function Ho(e){e=e|0;return}function Uo(e){e=e|0;Bp(e);return}function jo(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0;T=c;c=c+240|0;E=T+24|0;S=T;e=T+136|0;C=T+16|0;A=T+12|0;R=T+8|0;b=T+134|0;u=T+4|0;M=T+124|0;t[C>>2]=e;P=C+4|0;t[P>>2]=189;h=e+100|0;w=0;o=de(68,a|0)|0;y=w;w=0;if(!(y&1)){t[R>>2]=o;w=0;e=pe(37,R|0,44220)|0;y=w;w=0;e:do{if(!(y&1)?(f[b>>0]=0,t[u>>2]=t[r>>2],d=t[a+4>>2]|0,w=0,t[E>>2]=t[u>>2],d=be(1,i|0,E|0,n|0,R|0,d|0,s|0,b|0,e|0,C|0,A|0,h|0)|0,y=w,w=0,!(y&1)):0){i:do{if(d){w=0;Ae(t[(t[e>>2]|0)+32>>2]|0,e|0,58976,58986,M|0)|0;y=w;w=0;if(y&1){O=10;break e}u=t[A>>2]|0;h=t[C>>2]|0;e=u-h|0;if((e|0)>98){e=Pc(e+2|0)|0;o=e;if(!e){w=0;Se(6);y=w;w=0;if(!(y&1)){e=0;O=13}}else O=13}else{o=0;e=E;O=13}do{if((O|0)==13){if(f[b>>0]|0){f[e>>0]=45;e=e+1|0}g=M+10|0;y=M;if(h>>>0>>0){d=M+1|0;n=d+1|0;a=n+1|0;b=a+1|0;_=b+1|0;k=_+1|0;m=k+1|0;v=m+1|0;p=v+1|0;do{u=f[h>>0]|0;do{if((f[M>>0]|0)!=u<<24>>24)if((f[d>>0]|0)!=u<<24>>24)if((f[n>>0]|0)!=u<<24>>24)if((f[a>>0]|0)!=u<<24>>24)if((f[b>>0]|0)==u<<24>>24)u=b;else{if((f[_>>0]|0)==u<<24>>24){u=_;break}if((f[k>>0]|0)==u<<24>>24){u=k;break}if((f[m>>0]|0)==u<<24>>24){u=m;break}if((f[v>>0]|0)==u<<24>>24){u=v;break}u=(f[p>>0]|0)==u<<24>>24?p:g}else u=a;else u=n;else u=d;else u=M}while(0);f[e>>0]=f[58976+(u-y)>>0]|0;h=h+1|0;e=e+1|0}while(h>>>0<(t[A>>2]|0)>>>0)}f[e>>0]=0;t[S>>2]=l;if((Oy(E,58987,S)|0)!=1?(w=0,ue(190,58991),l=w,w=0,l&1):0)break;if(o)Ic(o);break i}}while(0);e=je()|0;if(!o){u=e;o=C;break e}Ic(o);u=e;o=C;break e}}while(0);e=t[i>>2]|0;do{if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;e=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;l=w;w=0;if(l&1){O=10;break e}if((e|0)==-1){t[i>>2]=0;e=0;break}else{e=t[i>>2]|0;break}}}else e=0}while(0);o=(e|0)==0;e=t[r>>2]|0;do{if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;e=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;l=w;w=0;if(l&1){O=10;break e}if((e|0)==-1){t[r>>2]=0;O=37;break}}if(!o)O=38}else O=37}while(0);if((O|0)==37?o:0)O=38;if((O|0)==38)t[s>>2]=t[s>>2]|2;o=t[i>>2]|0;bh(t[R>>2]|0)|0;e=t[C>>2]|0;t[C>>2]=0;if((e|0)!=0?(w=0,ue(t[P>>2]|0,e|0),O=w,w=0,O&1):0){O=je(0)|0;Ni(O)}c=T;return o|0}else O=10}while(0);if((O|0)==10){u=je()|0;o=C}bh(t[R>>2]|0)|0;e=t[o>>2]|0;t[o>>2]=0;if(!e)I=u;else{o=t[P>>2]|0;O=45}}else{u=je()|0;t[C>>2]=0;o=189;O=45}if((O|0)==45){w=0;ue(o|0,e|0);O=w;w=0;if(O&1){O=je(0)|0;Ni(O)}else I=u}Qe(I|0);return 0}function Yo(e){e=e|0;return}function qo(e,i,r,s,l,o,u,h,d,b,_){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;d=d|0;b=b|0;_=_|0;var k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,U=0,j=0,Y=0,q=0,$=0,V=0,X=0,G=0,K=0,W=0,Z=0,J=0,Q=0,ee=0,ie=0,re=0,fe=0;ie=c;c=c+512|0;U=ie+88|0;p=ie+96|0;fe=ie+80|0;$=ie+72|0;q=ie+68|0;V=ie+500|0;j=ie+497|0;X=ie+496|0;W=ie+56|0;ee=ie+44|0;J=ie+32|0;Z=ie+20|0;Q=ie+8|0;Y=ie+4|0;K=ie;t[U>>2]=_;t[fe>>2]=p;re=fe+4|0;t[re>>2]=189;t[$>>2]=p;t[q>>2]=p+400;t[W>>2]=0;t[W+4>>2]=0;t[W+8>>2]=0;t[ee>>2]=0;t[ee+4>>2]=0;t[ee+8>>2]=0;t[J>>2]=0;t[J+4>>2]=0;t[J+8>>2]=0;t[Z>>2]=0;t[Z+4>>2]=0;t[Z+8>>2]=0;t[Q>>2]=0;t[Q+4>>2]=0;t[Q+8>>2]=0;w=0;ve(1,r|0,s|0,V|0,j|0,X|0,W|0,ee|0,J|0,Z|0,Y|0);H=w;w=0;e:do{if(H&1)h=je()|0;else{t[b>>2]=t[d>>2];L=h+8|0;B=J+4|0;z=Z+4|0;D=Z+8|0;N=Z+1|0;F=J+8|0;H=J+1|0;E=(l&512|0)!=0;S=ee+8|0;T=ee+1|0;R=ee+4|0;C=Q+4|0;P=Q+8|0;I=Q+1|0;O=V+3|0;x=W+4|0;A=0;v=0;i:while(1){_=t[e>>2]|0;do{if(_){if((t[_+12>>2]|0)==(t[_+16>>2]|0)){w=0;_=de(t[(t[_>>2]|0)+36>>2]|0,_|0)|0;M=w;w=0;if(M&1){G=24;break i}if((_|0)==-1){t[e>>2]=0;_=0;break}else{_=t[e>>2]|0;break}}}else _=0}while(0);_=(_|0)==0;h=t[i>>2]|0;do{if(h){if((t[h+12>>2]|0)!=(t[h+16>>2]|0))if(_){M=h;break}else{G=235;break i}w=0;r=de(t[(t[h>>2]|0)+36>>2]|0,h|0)|0;M=w;w=0;if(M&1){G=24;break i}if((r|0)!=-1)if(_){M=h;break}else{G=235;break i}else{t[i>>2]=0;G=15;break}}else G=15}while(0);if((G|0)==15){G=0;if(_){G=235;break}else M=0}r:do{switch(f[V+A>>0]|0){case 1:{if((A|0)!=3){_=t[e>>2]|0;h=t[_+12>>2]|0;if((h|0)==(t[_+16>>2]|0)){w=0;_=de(t[(t[_>>2]|0)+36>>2]|0,_|0)|0;G=w;w=0;if(G&1){G=24;break i}}else _=a[h>>0]|0;if((_&255)<<24>>24<=-1){G=40;break i}if(!(n[(t[L>>2]|0)+(_<<24>>24<<1)>>1]&8192)){G=40;break i}_=t[e>>2]|0;h=_+12|0;r=t[h>>2]|0;if((r|0)==(t[_+16>>2]|0)){w=0;_=de(t[(t[_>>2]|0)+40>>2]|0,_|0)|0;G=w;w=0;if(G&1){G=24;break i}}else{t[h>>2]=r+1;_=a[r>>0]|0}w=0;ce(67,Q|0,_&255|0);G=w;w=0;if(G&1){G=24;break i}else{_=M;s=M;G=42}}break}case 0:{if((A|0)!=3){_=M;s=M;G=42}break}case 3:{h=f[J>>0]|0;_=(h&1)==0?(h&255)>>>1:t[B>>2]|0;r=f[Z>>0]|0;s=(r&1)==0?(r&255)>>>1:t[z>>2]|0;if((_|0)!=(0-s|0)){if(!_){_=t[e>>2]|0;h=t[_+12>>2]|0;if((h|0)==(t[_+16>>2]|0)){w=0;_=de(t[(t[_>>2]|0)+36>>2]|0,_|0)|0;M=w;w=0;if(M&1){G=24;break i}h=f[Z>>0]|0}else{_=a[h>>0]|0;h=r}if((_&255)<<24>>24!=(f[((h&1)==0?N:t[D>>2]|0)>>0]|0))break r;_=t[e>>2]|0;h=_+12|0;r=t[h>>2]|0;if((r|0)==(t[_+16>>2]|0)){w=0;de(t[(t[_>>2]|0)+40>>2]|0,_|0)|0;M=w;w=0;if(M&1){G=24;break i}}else t[h>>2]=r+1;f[u>>0]=1;M=f[Z>>0]|0;v=((M&1)==0?(M&255)>>>1:t[z>>2]|0)>>>0>1?Z:v;break r}l=t[e>>2]|0;k=t[l+12>>2]|0;r=t[l+16>>2]|0;_=(k|0)==(r|0);if(!s){if(_){w=0;_=de(t[(t[l>>2]|0)+36>>2]|0,l|0)|0;M=w;w=0;if(M&1){G=24;break i}h=f[J>>0]|0}else _=a[k>>0]|0;if((_&255)<<24>>24!=(f[((h&1)==0?H:t[F>>2]|0)>>0]|0)){f[u>>0]=1;break r}_=t[e>>2]|0;h=_+12|0;r=t[h>>2]|0;if((r|0)==(t[_+16>>2]|0)){w=0;de(t[(t[_>>2]|0)+40>>2]|0,_|0)|0;M=w;w=0;if(M&1){G=24;break i}}else t[h>>2]=r+1;M=f[J>>0]|0;v=((M&1)==0?(M&255)>>>1:t[B>>2]|0)>>>0>1?J:v;break r}if(_){w=0;_=de(t[(t[l>>2]|0)+36>>2]|0,l|0)|0;M=w;w=0;if(M&1){G=24;break i}r=t[e>>2]|0;h=f[J>>0]|0;l=r;k=t[r+12>>2]|0;r=t[r+16>>2]|0}else _=a[k>>0]|0;s=l+12|0;r=(k|0)==(r|0);if((_&255)<<24>>24==(f[((h&1)==0?H:t[F>>2]|0)>>0]|0)){if(r){w=0;de(t[(t[l>>2]|0)+40>>2]|0,l|0)|0;M=w;w=0;if(M&1){G=24;break i}}else t[s>>2]=k+1;M=f[J>>0]|0;v=((M&1)==0?(M&255)>>>1:t[B>>2]|0)>>>0>1?J:v;break r}if(r){w=0;_=de(t[(t[l>>2]|0)+36>>2]|0,l|0)|0;M=w;w=0;if(M&1){G=24;break i}}else _=a[k>>0]|0;if((_&255)<<24>>24!=(f[((f[Z>>0]&1)==0?N:t[D>>2]|0)>>0]|0)){G=104;break i}_=t[e>>2]|0;h=_+12|0;r=t[h>>2]|0;if((r|0)==(t[_+16>>2]|0)){w=0;de(t[(t[_>>2]|0)+40>>2]|0,_|0)|0;M=w;w=0;if(M&1){G=24;break i}}else t[h>>2]=r+1;f[u>>0]=1;M=f[Z>>0]|0;v=((M&1)==0?(M&255)>>>1:t[z>>2]|0)>>>0>1?Z:v}break}case 2:{if(!(A>>>0<2|(v|0)!=0)?!(E|(A|0)==2&(f[O>>0]|0)!=0):0){v=0;break r}g=f[ee>>0]|0;_=(g&1)==0;y=t[S>>2]|0;r=_?T:y;m=r;f:do{if((A|0)!=0?(a[V+(A+-1)>>0]|0)<2:0){k=_?(g&255)>>>1:t[R>>2]|0;s=r+k|0;l=t[L>>2]|0;n:do{if(!k)h=m;else{k=r;h=m;do{_=f[k>>0]|0;if(_<<24>>24<=-1)break n;if(!(n[l+(_<<24>>24<<1)>>1]&8192))break n;k=k+1|0;h=k}while((k|0)!=(s|0))}}while(0);s=h-m|0;l=f[Q>>0]|0;_=(l&1)==0;l=_?(l&255)>>>1:t[C>>2]|0;if(l>>>0>=s>>>0){_=_?I:t[P>>2]|0;k=_+l|0;if((h|0)!=(m|0)){_=_+(l-s)|0;while(1){if((f[_>>0]|0)!=(f[r>>0]|0)){h=m;break f}_=_+1|0;if((_|0)==(k|0))break;else r=r+1|0}}}else h=m}else h=m}while(0);_=(g&1)==0;_=(_?T:y)+(_?(g&255)>>>1:t[R>>2]|0)|0;f:do{if((h|0)!=(_|0)){l=M;s=M;_=h;while(1){h=t[e>>2]|0;do{if(h){if((t[h+12>>2]|0)==(t[h+16>>2]|0)){w=0;h=de(t[(t[h>>2]|0)+36>>2]|0,h|0)|0;M=w;w=0;if(M&1){G=21;break i}if((h|0)==-1){t[e>>2]=0;h=0;break}else{h=t[e>>2]|0;break}}}else h=0}while(0);r=(h|0)==0;do{if(s){if((t[s+12>>2]|0)!=(t[s+16>>2]|0))if(r){h=l;k=s;break}else break f;w=0;h=de(t[(t[s>>2]|0)+36>>2]|0,s|0)|0;M=w;w=0;if(M&1){G=21;break i}if((h|0)!=-1)if(r^(l|0)==0){h=l;k=l;break}else break f;else{t[i>>2]=0;h=0;G=131;break}}else{h=l;G=131}}while(0);if((G|0)==131){G=0;if(r)break f;else k=0}r=t[e>>2]|0;s=t[r+12>>2]|0;if((s|0)==(t[r+16>>2]|0)){w=0;r=de(t[(t[r>>2]|0)+36>>2]|0,r|0)|0;M=w;w=0;if(M&1){G=21;break i}}else r=a[s>>0]|0;if((r&255)<<24>>24!=(f[_>>0]|0))break f;r=t[e>>2]|0;s=r+12|0;l=t[s>>2]|0;if((l|0)==(t[r+16>>2]|0)){w=0;de(t[(t[r>>2]|0)+40>>2]|0,r|0)|0;M=w;w=0;if(M&1){G=21;break i}}else t[s>>2]=l+1;_=_+1|0;r=f[ee>>0]|0;M=(r&1)==0;r=(M?T:t[S>>2]|0)+(M?(r&255)>>>1:t[R>>2]|0)|0;if((_|0)==(r|0)){_=r;break}else{l=h;s=k}}}}while(0);if(E?(M=f[ee>>0]|0,y=(M&1)==0,(_|0)!=((y?T:t[S>>2]|0)+(y?(M&255)>>>1:t[R>>2]|0)|0)):0){G=143;break i}break}case 4:{m=f[X>>0]|0;h=M;l=M;_=0;f:while(1){r=t[e>>2]|0;do{if(r){if((t[r+12>>2]|0)==(t[r+16>>2]|0)){w=0;r=de(t[(t[r>>2]|0)+36>>2]|0,r|0)|0;M=w;w=0;if(M&1){G=23;break i}if((r|0)==-1){t[e>>2]=0;r=0;break}else{r=t[e>>2]|0;break}}}else r=0}while(0);s=(r|0)==0;do{if(l){if((t[l+12>>2]|0)!=(t[l+16>>2]|0))if(s){k=h;break}else{s=h;break f}w=0;r=de(t[(t[l>>2]|0)+36>>2]|0,l|0)|0;M=w;w=0;if(M&1){G=23;break i}if((r|0)!=-1)if(s^(h|0)==0){k=h;l=h;break}else{s=h;break f}else{t[i>>2]=0;h=0;G=156;break}}else G=156}while(0);if((G|0)==156){G=0;if(s){s=h;break}else{k=h;l=0}}h=t[e>>2]|0;r=t[h+12>>2]|0;if((r|0)==(t[h+16>>2]|0)){w=0;h=de(t[(t[h>>2]|0)+36>>2]|0,h|0)|0;M=w;w=0;if(M&1){G=23;break i}}else h=a[r>>0]|0;r=h&255;if(r<<24>>24>-1?(n[(t[L>>2]|0)+(h<<24>>24<<1)>>1]&2048)!=0:0){h=t[b>>2]|0;if((h|0)==(t[U>>2]|0)){w=0;Ee(12,d|0,b|0,U|0);M=w;w=0;if(M&1){G=23;break i}h=t[b>>2]|0}t[b>>2]=h+1;f[h>>0]=r;_=_+1|0}else{M=f[W>>0]|0;if(!(r<<24>>24==m<<24>>24&((_|0)!=0?(((M&1)==0?(M&255)>>>1:t[x>>2]|0)|0)!=0:0))){s=k;break}if((p|0)==(t[q>>2]|0)){w=0;Ee(13,fe|0,$|0,q|0);M=w;w=0;if(M&1){G=23;break i}p=t[$>>2]|0}M=p+4|0;t[$>>2]=M;t[p>>2]=_;p=M;_=0}h=t[e>>2]|0;r=h+12|0;s=t[r>>2]|0;if((s|0)==(t[h+16>>2]|0)){w=0;de(t[(t[h>>2]|0)+40>>2]|0,h|0)|0;M=w;w=0;if(M&1){G=23;break i}else{h=k;continue}}else{t[r>>2]=s+1;h=k;continue}}if((_|0)!=0?(t[fe>>2]|0)!=(p|0):0){if((p|0)==(t[q>>2]|0)){w=0;Ee(13,fe|0,$|0,q|0);M=w;w=0;if(M&1){G=24;break i}p=t[$>>2]|0}M=p+4|0;t[$>>2]=M;t[p>>2]=_;p=M}k=t[Y>>2]|0;if((k|0)>0){_=t[e>>2]|0;do{if(_){if((t[_+12>>2]|0)==(t[_+16>>2]|0)){w=0;_=de(t[(t[_>>2]|0)+36>>2]|0,_|0)|0;M=w;w=0;if(M&1){G=24;break i}if((_|0)==-1){t[e>>2]=0;_=0;break}else{_=t[e>>2]|0;break}}}else _=0}while(0);_=(_|0)==0;do{if(s){if((t[s+12>>2]|0)==(t[s+16>>2]|0)){w=0;h=de(t[(t[s>>2]|0)+36>>2]|0,s|0)|0;M=w;w=0;if(M&1){G=24;break i}if((h|0)==-1){t[i>>2]=0;G=193;break}}if(!_){G=198;break i}}else G=193}while(0);if((G|0)==193){G=0;if(_){G=198;break i}else s=0}_=t[e>>2]|0;h=t[_+12>>2]|0;if((h|0)==(t[_+16>>2]|0)){w=0;_=de(t[(t[_>>2]|0)+36>>2]|0,_|0)|0;M=w;w=0;if(M&1){G=24;break i}}else _=a[h>>0]|0;if((_&255)<<24>>24!=(f[j>>0]|0)){G=198;break i}_=t[e>>2]|0;h=_+12|0;r=t[h>>2]|0;if((r|0)==(t[_+16>>2]|0)){w=0;de(t[(t[_>>2]|0)+40>>2]|0,_|0)|0;M=w;w=0;if(M&1){G=24;break i}}else t[h>>2]=r+1;if((k|0)>0){l=s;r=s;m=k;while(1){_=t[e>>2]|0;do{if(_){if((t[_+12>>2]|0)==(t[_+16>>2]|0)){w=0;_=de(t[(t[_>>2]|0)+36>>2]|0,_|0)|0;M=w;w=0;if(M&1){G=22;break i}if((_|0)==-1){t[e>>2]=0;_=0;break}else{_=t[e>>2]|0;break}}}else _=0}while(0);h=(_|0)==0;do{if(r){if((t[r+12>>2]|0)!=(t[r+16>>2]|0))if(h){_=l;k=r;break}else{G=222;break i}w=0;_=de(t[(t[r>>2]|0)+36>>2]|0,r|0)|0;M=w;w=0;if(M&1){G=22;break i}if((_|0)!=-1)if(h^(l|0)==0){_=l;k=l;break}else{G=222;break i}else{t[i>>2]=0;_=0;G=215;break}}else{_=l;G=215}}while(0);if((G|0)==215){G=0;if(h){G=222;break i}else k=0}h=t[e>>2]|0;r=t[h+12>>2]|0;if((r|0)==(t[h+16>>2]|0)){w=0;h=de(t[(t[h>>2]|0)+36>>2]|0,h|0)|0;M=w;w=0;if(M&1){G=22;break i}}else h=a[r>>0]|0;if((h&255)<<24>>24<=-1){G=222;break i}if(!(n[(t[L>>2]|0)+(h<<24>>24<<1)>>1]&2048)){G=222;break i}if((t[b>>2]|0)==(t[U>>2]|0)?(w=0,Ee(12,d|0,b|0,U|0),M=w,w=0,M&1):0){G=22;break i}h=t[e>>2]|0;r=t[h+12>>2]|0;if((r|0)==(t[h+16>>2]|0)){w=0;h=de(t[(t[h>>2]|0)+36>>2]|0,h|0)|0;M=w;w=0;if(M&1){G=22;break i}}else h=a[r>>0]|0;r=t[b>>2]|0;t[b>>2]=r+1;f[r>>0]=h;h=m;m=m+-1|0;t[Y>>2]=m;r=t[e>>2]|0;s=r+12|0;l=t[s>>2]|0;if((l|0)==(t[r+16>>2]|0)){w=0;de(t[(t[r>>2]|0)+40>>2]|0,r|0)|0;M=w;w=0;if(M&1){G=22;break i}}else t[s>>2]=l+1;if((h|0)<=1)break;else{l=_;r=k}}}}if((t[b>>2]|0)==(t[d>>2]|0)){G=233;break i}break}default:{}}}while(0);r:do{if((G|0)==42)while(1){G=0;h=t[e>>2]|0;do{if(h){if((t[h+12>>2]|0)==(t[h+16>>2]|0)){w=0;h=de(t[(t[h>>2]|0)+36>>2]|0,h|0)|0;M=w;w=0;if(M&1){G=20;break i}if((h|0)==-1){t[e>>2]=0;h=0;break}else{h=t[e>>2]|0;break}}}else h=0}while(0);r=(h|0)==0;do{if(s){if((t[s+12>>2]|0)!=(t[s+16>>2]|0))if(r){l=_;break}else break r;w=0;h=de(t[(t[s>>2]|0)+36>>2]|0,s|0)|0;M=w;w=0;if(M&1){G=20;break i}if((h|0)!=-1)if(r^(_|0)==0){l=_;s=_;break}else break r;else{t[i>>2]=0;_=0;G=54;break}}else G=54}while(0);if((G|0)==54){G=0;if(r)break r;else{l=_;s=0}}_=t[e>>2]|0;h=t[_+12>>2]|0;if((h|0)==(t[_+16>>2]|0)){w=0;_=de(t[(t[_>>2]|0)+36>>2]|0,_|0)|0;M=w;w=0;if(M&1){G=20;break i}}else _=a[h>>0]|0;if((_&255)<<24>>24<=-1)break r;if(!(n[(t[L>>2]|0)+(_<<24>>24<<1)>>1]&8192))break r;_=t[e>>2]|0;h=_+12|0;r=t[h>>2]|0;if((r|0)==(t[_+16>>2]|0)){w=0;_=de(t[(t[_>>2]|0)+40>>2]|0,_|0)|0;G=w;w=0;if(G&1){G=20;break i}}else{t[h>>2]=r+1;_=a[r>>0]|0}w=0;ce(67,Q|0,_&255|0);G=w;w=0;if(G&1){G=20;break i}else{_=l;G=42}}}while(0);A=A+1|0;if(A>>>0>=4){G=235;break}}i:switch(G|0){case 20:{h=je()|0;break e}case 21:{h=je()|0;break e}case 22:{h=je()|0;break e}case 23:{h=je()|0;break e}case 24:{h=je()|0;break e}case 40:{t[o>>2]=t[o>>2]|4;h=0;break}case 104:{t[o>>2]=t[o>>2]|4;h=0;break}case 143:{t[o>>2]=t[o>>2]|4;h=0;break}case 198:{t[o>>2]=t[o>>2]|4;h=0;break}case 222:{t[o>>2]=t[o>>2]|4;h=0;break}case 233:{t[o>>2]=t[o>>2]|4;h=0;break}case 235:{r:do{if(v){l=v+1|0;k=v+8|0;m=v+4|0;r=1;f:while(1){_=f[v>>0]|0;if(!(_&1))_=(_&255)>>>1;else _=t[m>>2]|0;if(r>>>0>=_>>>0)break r;_=t[e>>2]|0;do{if(_){if((t[_+12>>2]|0)==(t[_+16>>2]|0)){w=0;_=de(t[(t[_>>2]|0)+36>>2]|0,_|0)|0;b=w;w=0;if(b&1){G=19;break f}if((_|0)==-1){t[e>>2]=0;_=0;break}else{_=t[e>>2]|0;break}}}else _=0}while(0);h=(_|0)==0;_=t[i>>2]|0;do{if(_){if((t[_+12>>2]|0)==(t[_+16>>2]|0)){w=0;_=de(t[(t[_>>2]|0)+36>>2]|0,_|0)|0;b=w;w=0;if(b&1){G=19;break f}if((_|0)==-1){t[i>>2]=0;G=253;break}}if(!h){G=260;break f}}else G=253}while(0);if((G|0)==253?(G=0,h):0){G=260;break}_=t[e>>2]|0;h=t[_+12>>2]|0;if((h|0)==(t[_+16>>2]|0)){w=0;_=de(t[(t[_>>2]|0)+36>>2]|0,_|0)|0;b=w;w=0;if(b&1){G=19;break}}else _=a[h>>0]|0;if(!(f[v>>0]&1))h=l;else h=t[k>>2]|0;if((_&255)<<24>>24!=(f[h+r>>0]|0)){G=260;break}_=r+1|0;h=t[e>>2]|0;r=h+12|0;s=t[r>>2]|0;if((s|0)==(t[h+16>>2]|0)){w=0;de(t[(t[h>>2]|0)+40>>2]|0,h|0)|0;b=w;w=0;if(b&1){G=19;break}else{r=_;continue}}else{t[r>>2]=s+1;r=_;continue}}if((G|0)==19){h=je()|0;break e}else if((G|0)==260){t[o>>2]=t[o>>2]|4;h=0;break i}}}while(0);_=t[fe>>2]|0;if((_|0)!=(p|0)?(t[K>>2]=0,Go(W,_,p,K),(t[K>>2]|0)!=0):0){t[o>>2]=t[o>>2]|4;h=0}else h=1;break}}xh(Q);xh(Z);xh(J);xh(ee);xh(W);_=t[fe>>2]|0;t[fe>>2]=0;if((_|0)!=0?(w=0,ue(t[re>>2]|0,_|0),fe=w,w=0,fe&1):0){fe=je(0)|0;Ni(fe)}c=ie;return h|0}}while(0);xh(Q);xh(Z);xh(J);xh(ee);xh(W);_=t[fe>>2]|0;t[fe>>2]=0;if((_|0)!=0?(w=0,ue(t[re>>2]|0,_|0),fe=w,w=0,fe&1):0){fe=je(0)|0;Ni(fe)}Qe(h|0);return 0}function $o(e){e=e|0;var i=0;i=Ue(8)|0;w=0;ce(90,i|0,e|0);e=w;w=0;if(e&1){e=je()|0;He(i|0);Qe(e|0)}else bi(i|0,616,80)}function Vo(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0;y=c;c=c+144|0;o=y+24|0;e=y+32|0;M=y+16|0;m=y+8|0;b=y+4|0;_=y+28|0;u=y;t[M>>2]=e;S=M+4|0;t[S>>2]=189;h=e+100|0;w=0;g=de(68,a|0)|0;d=w;w=0;if(!(d&1)){t[b>>2]=g;w=0;d=pe(37,b|0,44220)|0;e=w;w=0;e:do{if(!(e&1)?(f[_>>0]=0,v=t[r>>2]|0,t[u>>2]=v,k=t[a+4>>2]|0,p=v,w=0,t[o>>2]=t[u>>2],k=be(1,i|0,o|0,n|0,b|0,k|0,s|0,_|0,d|0,M|0,m|0,h|0)|0,a=w,w=0,!(a&1)):0){if(k){if(!(f[l>>0]&1)){f[l+1>>0]=0;f[l>>0]=0}else{f[t[l+8>>2]>>0]=0;t[l+4>>2]=0}if(f[_>>0]|0){w=0;e=pe(t[(t[d>>2]|0)+28>>2]|0,d|0,45)|0;a=w;w=0;if(a&1)break;w=0;ce(67,l|0,e|0);a=w;w=0;if(a&1)break}w=0;u=pe(t[(t[d>>2]|0)+28>>2]|0,d|0,48)|0;a=w;w=0;if(a&1)break;e=t[M>>2]|0;h=t[m>>2]|0;o=h+-1|0;i:do{if(e>>>0>>0)do{if((f[e>>0]|0)!=u<<24>>24)break i;e=e+1|0}while(e>>>0>>0)}while(0);w=0;_e(32,l|0,e|0,h|0)|0;l=w;w=0;if(l&1)break}e=t[i>>2]|0;do{if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;e=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;l=w;w=0;if(l&1)break e;if((e|0)==-1){t[i>>2]=0;e=0;break}else{e=t[i>>2]|0;break}}}else e=0}while(0);o=(e|0)==0;do{if(v){if((t[p+12>>2]|0)==(t[p+16>>2]|0)){w=0;e=de(t[(t[v>>2]|0)+36>>2]|0,p|0)|0;p=w;w=0;if(p&1)break e;if((e|0)==-1){t[r>>2]=0;E=29;break}}if(!o)E=30}else E=29}while(0);if((E|0)==29?o:0)E=30;if((E|0)==30)t[s>>2]=t[s>>2]|2;o=t[i>>2]|0;bh(g)|0;e=t[M>>2]|0;t[M>>2]=0;if((e|0)!=0?(w=0,ue(t[S>>2]|0,e|0),S=w,w=0,S&1):0){S=je(0)|0;Ni(S)}c=y;return o|0}}while(0);o=je()|0;bh(g)|0;e=t[M>>2]|0;t[M>>2]=0;if(!e)A=o;else E=36}else{o=je()|0;t[M>>2]=0;E=36}if((E|0)==36){w=0;ue(t[S>>2]|0,e|0);S=w;w=0;if(S&1){S=je(0)|0;Ni(S)}else A=o}Qe(A|0);return 0}function Xo(e,i,r,n,a,s,l,o,u,h){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;var d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;E=c;c=c+112|0;d=E+100|0;b=E+88|0;_=E+76|0;k=E+64|0;m=E+52|0;v=E+48|0;p=E+36|0;g=E+24|0;y=E+12|0;M=E;do{if(e){e=zu(i,43828)|0;aM[t[(t[e>>2]|0)+44>>2]&127](d,e);M=t[d>>2]|0;f[r>>0]=M;f[r+1>>0]=M>>8;f[r+2>>0]=M>>16;f[r+3>>0]=M>>24;aM[t[(t[e>>2]|0)+32>>2]&127](b,e);if(!(f[u>>0]&1)){f[u+1>>0]=0;f[u>>0]=0}else{f[t[u+8>>2]>>0]=0;t[u+4>>2]=0}w=0;ce(91,u|0,0);r=w;w=0;if(r&1){r=je(0)|0;Ni(r)}t[u>>2]=t[b>>2];t[u+4>>2]=t[b+4>>2];t[u+8>>2]=t[b+8>>2];t[b>>2]=0;t[b+4>>2]=0;t[b+8>>2]=0;xh(b);aM[t[(t[e>>2]|0)+28>>2]&127](_,e);if(!(f[o>>0]&1)){f[o+1>>0]=0;f[o>>0]=0}else{f[t[o+8>>2]>>0]=0;t[o+4>>2]=0}w=0;ce(91,o|0,0);r=w;w=0;if(r&1){r=je(0)|0;Ni(r)}t[o>>2]=t[_>>2];t[o+4>>2]=t[_+4>>2];t[o+8>>2]=t[_+8>>2];t[_>>2]=0;t[_+4>>2]=0;t[_+8>>2]=0;xh(_);f[n>>0]=lM[t[(t[e>>2]|0)+12>>2]&127](e)|0;f[a>>0]=lM[t[(t[e>>2]|0)+16>>2]&127](e)|0;aM[t[(t[e>>2]|0)+20>>2]&127](k,e);if(!(f[s>>0]&1)){f[s+1>>0]=0;f[s>>0]=0}else{f[t[s+8>>2]>>0]=0;t[s+4>>2]=0}w=0;ce(91,s|0,0);a=w;w=0;if(a&1){a=je(0)|0;Ni(a)}t[s>>2]=t[k>>2];t[s+4>>2]=t[k+4>>2];t[s+8>>2]=t[k+8>>2];t[k>>2]=0;t[k+4>>2]=0;t[k+8>>2]=0;xh(k);aM[t[(t[e>>2]|0)+24>>2]&127](m,e);if(!(f[l>>0]&1)){f[l+1>>0]=0;f[l>>0]=0}else{f[t[l+8>>2]>>0]=0;t[l+4>>2]=0}w=0;ce(91,l|0,0);a=w;w=0;if(a&1){a=je(0)|0;Ni(a)}else{t[l>>2]=t[m>>2];t[l+4>>2]=t[m+4>>2];t[l+8>>2]=t[m+8>>2];t[m>>2]=0;t[m+4>>2]=0;t[m+8>>2]=0;xh(m);A=lM[t[(t[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=zu(i,43764)|0;aM[t[(t[e>>2]|0)+44>>2]&127](v,e);v=t[v>>2]|0;f[r>>0]=v;f[r+1>>0]=v>>8;f[r+2>>0]=v>>16;f[r+3>>0]=v>>24;aM[t[(t[e>>2]|0)+32>>2]&127](p,e);if(!(f[u>>0]&1)){f[u+1>>0]=0;f[u>>0]=0}else{f[t[u+8>>2]>>0]=0;t[u+4>>2]=0}w=0;ce(91,u|0,0);r=w;w=0;if(r&1){r=je(0)|0;Ni(r)}t[u>>2]=t[p>>2];t[u+4>>2]=t[p+4>>2];t[u+8>>2]=t[p+8>>2];t[p>>2]=0;t[p+4>>2]=0;t[p+8>>2]=0;xh(p);aM[t[(t[e>>2]|0)+28>>2]&127](g,e);if(!(f[o>>0]&1)){f[o+1>>0]=0;f[o>>0]=0}else{f[t[o+8>>2]>>0]=0;t[o+4>>2]=0}w=0;ce(91,o|0,0);r=w;w=0;if(r&1){r=je(0)|0;Ni(r)}t[o>>2]=t[g>>2];t[o+4>>2]=t[g+4>>2];t[o+8>>2]=t[g+8>>2];t[g>>2]=0;t[g+4>>2]=0;t[g+8>>2]=0;xh(g);f[n>>0]=lM[t[(t[e>>2]|0)+12>>2]&127](e)|0;f[a>>0]=lM[t[(t[e>>2]|0)+16>>2]&127](e)|0;aM[t[(t[e>>2]|0)+20>>2]&127](y,e);if(!(f[s>>0]&1)){f[s+1>>0]=0;f[s>>0]=0}else{f[t[s+8>>2]>>0]=0;t[s+4>>2]=0}w=0;ce(91,s|0,0);a=w;w=0;if(a&1){a=je(0)|0;Ni(a)}t[s>>2]=t[y>>2];t[s+4>>2]=t[y+4>>2];t[s+8>>2]=t[y+8>>2];t[y>>2]=0;t[y+4>>2]=0;t[y+8>>2]=0;xh(y);aM[t[(t[e>>2]|0)+24>>2]&127](M,e);if(!(f[l>>0]&1)){f[l+1>>0]=0;f[l>>0]=0}else{f[t[l+8>>2]>>0]=0;t[l+4>>2]=0}w=0;ce(91,l|0,0);a=w;w=0;if(a&1){a=je(0)|0;Ni(a)}else{t[l>>2]=t[M>>2];t[l+4>>2]=t[M+4>>2];t[l+8>>2]=t[M+8>>2];t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;xh(M);A=lM[t[(t[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);t[h>>2]=A;c=E;return}function Go(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0;a=f[e>>0]|0;l=e+4|0;s=t[l>>2]|0;e:do{if(((a&1)==0?(a&255)>>>1:s)|0){if((i|0)!=(r|0)){a=r+-4|0;if(a>>>0>i>>>0){s=i;do{o=t[s>>2]|0;t[s>>2]=t[a>>2];t[a>>2]=o;s=s+4|0;a=a+-4|0}while(s>>>0>>0)}a=f[e>>0]|0;s=t[l>>2]|0}o=(a&1)==0;l=o?e+1|0:t[e+8>>2]|0;r=r+-4|0;e=l+(o?(a&255)>>>1:s)|0;s=f[l>>0]|0;a=s<<24>>24<1|s<<24>>24==127;i:do{if(r>>>0>i>>>0){while(1){if(!a?(s<<24>>24|0)!=(t[i>>2]|0):0)break;l=(e-l|0)>1?l+1|0:l;i=i+4|0;s=f[l>>0]|0;a=s<<24>>24<1|s<<24>>24==127;if(i>>>0>=r>>>0)break i}t[n>>2]=4;break e}}while(0);if(!a?((t[r>>2]|0)+-1|0)>>>0>=s<<24>>24>>>0:0)t[n>>2]=4}}while(0);return}function Ko(e){e=e|0;return}function Wo(e){e=e|0;Bp(e);return}function Zo(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0;T=c;c=c+576|0;M=T+424|0;S=T;e=T+24|0;C=T+16|0;A=T+12|0;R=T+8|0;b=T+464|0;u=T+4|0;E=T+468|0;t[C>>2]=e;I=C+4|0;t[I>>2]=189;h=e+400|0;w=0;o=de(68,a|0)|0;y=w;w=0;if(!(y&1)){t[R>>2]=o;w=0;e=pe(37,R|0,44212)|0;y=w;w=0;e:do{if(!(y&1)?(f[b>>0]=0,t[u>>2]=t[r>>2],d=t[a+4>>2]|0,w=0,t[M>>2]=t[u>>2],d=be(2,i|0,M|0,n|0,R|0,d|0,s|0,b|0,e|0,C|0,A|0,h|0)|0,y=w,w=0,!(y&1)):0){i:do{if(d){w=0;Ae(t[(t[e>>2]|0)+48>>2]|0,e|0,59007,59017,M|0)|0;y=w;w=0;if(y&1){O=10;break e}u=t[A>>2]|0;h=t[C>>2]|0;e=u-h|0;if((e|0)>392){e=Pc((e>>2)+2|0)|0;o=e;if(!e){w=0;Se(6);y=w;w=0;if(!(y&1)){e=0;O=13}}else O=13}else{o=0;e=E;O=13}do{if((O|0)==13){if(f[b>>0]|0){f[e>>0]=45;e=e+1|0}g=M+40|0;y=M;if(h>>>0>>0){d=M+4|0;n=d+4|0;a=n+4|0;b=a+4|0;_=b+4|0;k=_+4|0;m=k+4|0;v=m+4|0;p=v+4|0;do{u=t[h>>2]|0;do{if((t[M>>2]|0)!=(u|0))if((t[d>>2]|0)!=(u|0))if((t[n>>2]|0)!=(u|0))if((t[a>>2]|0)!=(u|0))if((t[b>>2]|0)==(u|0))u=b;else{if((t[_>>2]|0)==(u|0)){u=_;break}if((t[k>>2]|0)==(u|0)){u=k;break}if((t[m>>2]|0)==(u|0)){u=m;break}if((t[v>>2]|0)==(u|0)){u=v;break}u=(t[p>>2]|0)==(u|0)?p:g}else u=a;else u=n;else u=d;else u=M}while(0);f[e>>0]=f[59007+(u-y>>2)>>0]|0;h=h+4|0;e=e+1|0}while(h>>>0<(t[A>>2]|0)>>>0)}f[e>>0]=0;t[S>>2]=l;if((Oy(E,58987,S)|0)!=1?(w=0,ue(190,58991),l=w,w=0,l&1):0)break;if(o)Ic(o);break i}}while(0);e=je()|0;if(!o){u=e;o=C;break e}Ic(o);u=e;o=C;break e}}while(0);e=t[i>>2]|0;do{if(e){o=t[e+12>>2]|0;if((o|0)==(t[e+16>>2]|0)){w=0;e=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;l=w;w=0;if(l&1){O=10;break e}}else e=t[o>>2]|0;if((e|0)==-1){t[i>>2]=0;u=1;break}else{u=(t[i>>2]|0)==0;break}}else u=1}while(0);e=t[r>>2]|0;do{if(e){o=t[e+12>>2]|0;if((o|0)==(t[e+16>>2]|0)){w=0;e=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;l=w;w=0;if(l&1){O=10;break e}}else e=t[o>>2]|0;if((e|0)!=-1)if(u)break;else{O=40;break}else{t[r>>2]=0;O=38;break}}else O=38}while(0);if((O|0)==38?u:0)O=40;if((O|0)==40)t[s>>2]=t[s>>2]|2;o=t[i>>2]|0;bh(t[R>>2]|0)|0;e=t[C>>2]|0;t[C>>2]=0;if((e|0)!=0?(w=0,ue(t[I>>2]|0,e|0),O=w,w=0,O&1):0){O=je(0)|0;Ni(O)}c=T;return o|0}else O=10}while(0);if((O|0)==10){u=je()|0;o=C}bh(t[R>>2]|0)|0;e=t[o>>2]|0;t[o>>2]=0;if(!e)P=u;else{o=t[I>>2]|0;O=47}}else{u=je()|0;t[C>>2]=0;o=189;O=47}if((O|0)==47){w=0;ue(o|0,e|0);O=w;w=0;if(O&1){O=je(0)|0;Ni(O)}else P=u}Qe(P|0);return 0}function Jo(e,i,r,n,s,l,o,u,h,d,b){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;d=d|0;b=b|0;var _=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,U=0,j=0,Y=0,q=0,$=0,V=0,X=0,G=0,K=0,W=0,Z=0,J=0;W=c;c=c+512|0;z=W+96|0;_=W+104|0;J=W+88|0;H=W+80|0;F=W+76|0;U=W+504|0;D=W+72|0;j=W+68|0;$=W+56|0;K=W+44|0;X=W+32|0;V=W+20|0;G=W+8|0;N=W+4|0;q=W;t[z>>2]=b;t[J>>2]=_;Z=J+4|0;t[Z>>2]=189;t[H>>2]=_;t[F>>2]=_+400;t[$>>2]=0;t[$+4>>2]=0;t[$+8>>2]=0;t[K>>2]=0;t[K+4>>2]=0;t[K+8>>2]=0;t[X>>2]=0;t[X+4>>2]=0;t[X+8>>2]=0;t[V>>2]=0;t[V+4>>2]=0;t[V+8>>2]=0;t[G>>2]=0;t[G+4>>2]=0;t[G+8>>2]=0;w=0;ve(2,r|0,n|0,U|0,D|0,j|0,$|0,K|0,X|0,V|0,N|0);B=w;w=0;e:do{if(B&1)r=je()|0;else{t[d>>2]=t[h>>2];O=X+4|0;x=V+4|0;L=V+8|0;B=X+8|0;E=(s&512|0)!=0;S=K+8|0;T=K+4|0;R=G+4|0;C=G+8|0;P=U+3|0;I=$+4|0;A=0;m=0;i:while(1){b=t[e>>2]|0;do{if(b){r=t[b+12>>2]|0;if((r|0)==(t[b+16>>2]|0)){w=0;b=de(t[(t[b>>2]|0)+36>>2]|0,b|0)|0;M=w;w=0;if(M&1){Y=26;break i}}else b=t[r>>2]|0;if((b|0)==-1){t[e>>2]=0;n=1;break}else{n=(t[e>>2]|0)==0;break}}else n=1}while(0);r=t[i>>2]|0;do{if(r){b=t[r+12>>2]|0;if((b|0)==(t[r+16>>2]|0)){w=0;b=de(t[(t[r>>2]|0)+36>>2]|0,r|0)|0;M=w;w=0;if(M&1){Y=26;break i}}else b=t[b>>2]|0;if((b|0)!=-1)if(n){M=r;break}else{v=_;Y=244;break i}else{t[i>>2]=0;Y=16;break}}else Y=16}while(0);if((Y|0)==16){Y=0;if(n){v=_;Y=244;break}else M=0}r:do{switch(f[U+A>>0]|0){case 1:{if((A|0)!=3){b=t[e>>2]|0;r=t[b+12>>2]|0;if((r|0)==(t[b+16>>2]|0)){w=0;b=de(t[(t[b>>2]|0)+36>>2]|0,b|0)|0;Y=w;w=0;if(Y&1){Y=26;break i}}else b=t[r>>2]|0;w=0;b=_e(t[(t[u>>2]|0)+12>>2]|0,u|0,8192,b|0)|0;Y=w;w=0;if(Y&1){Y=26;break i}if(!b){Y=42;break i}b=t[e>>2]|0;r=b+12|0;n=t[r>>2]|0;if((n|0)==(t[b+16>>2]|0)){w=0;b=de(t[(t[b>>2]|0)+40>>2]|0,b|0)|0;Y=w;w=0;if(Y&1){Y=26;break i}}else{t[r>>2]=n+4;b=t[n>>2]|0}w=0;ce(92,G|0,b|0);Y=w;w=0;if(Y&1){Y=26;break i}else{b=M;s=M;Y=44}}else b=_;break}case 0:{if((A|0)==3)b=_;else{b=M;s=M;Y=44}break}case 3:{r=f[X>>0]|0;b=(r&1)==0?(r&255)>>>1:t[O>>2]|0;n=f[V>>0]|0;s=(n&1)==0?(n&255)>>>1:t[x>>2]|0;if((b|0)==(0-s|0))b=_;else{if(!b){b=t[e>>2]|0;r=t[b+12>>2]|0;if((r|0)==(t[b+16>>2]|0)){w=0;b=de(t[(t[b>>2]|0)+36>>2]|0,b|0)|0;M=w;w=0;if(M&1){Y=26;break i}r=f[V>>0]|0}else{b=t[r>>2]|0;r=n}if((b|0)!=(t[((r&1)==0?x:t[L>>2]|0)>>2]|0)){b=_;break r}b=t[e>>2]|0;r=b+12|0;n=t[r>>2]|0;if((n|0)==(t[b+16>>2]|0)){w=0;de(t[(t[b>>2]|0)+40>>2]|0,b|0)|0;M=w;w=0;if(M&1){Y=26;break i}}else t[r>>2]=n+4;f[o>>0]=1;M=f[V>>0]|0;b=_;m=((M&1)==0?(M&255)>>>1:t[x>>2]|0)>>>0>1?V:m;break r}k=t[e>>2]|0;v=t[k+12>>2]|0;n=t[k+16>>2]|0;b=(v|0)==(n|0);if(!s){if(b){w=0;b=de(t[(t[k>>2]|0)+36>>2]|0,k|0)|0;M=w;w=0;if(M&1){Y=26;break i}r=f[X>>0]|0}else b=t[v>>2]|0;if((b|0)!=(t[((r&1)==0?O:t[B>>2]|0)>>2]|0)){f[o>>0]=1;b=_;break r}b=t[e>>2]|0;r=b+12|0;n=t[r>>2]|0;if((n|0)==(t[b+16>>2]|0)){w=0;de(t[(t[b>>2]|0)+40>>2]|0,b|0)|0;M=w;w=0;if(M&1){Y=26;break i}}else t[r>>2]=n+4;M=f[X>>0]|0;b=_;m=((M&1)==0?(M&255)>>>1:t[O>>2]|0)>>>0>1?X:m;break r}if(b){w=0;b=de(t[(t[k>>2]|0)+36>>2]|0,k|0)|0;M=w;w=0;if(M&1){Y=26;break i}n=t[e>>2]|0;r=f[X>>0]|0;k=n;v=t[n+12>>2]|0;n=t[n+16>>2]|0}else b=t[v>>2]|0;s=k+12|0;n=(v|0)==(n|0);if((b|0)==(t[((r&1)==0?O:t[B>>2]|0)>>2]|0)){if(n){w=0;de(t[(t[k>>2]|0)+40>>2]|0,k|0)|0;M=w;w=0;if(M&1){Y=26;break i}}else t[s>>2]=v+4;M=f[X>>0]|0;b=_;m=((M&1)==0?(M&255)>>>1:t[O>>2]|0)>>>0>1?X:m;break r}if(n){w=0;b=de(t[(t[k>>2]|0)+36>>2]|0,k|0)|0;M=w;w=0;if(M&1){Y=26;break i}}else b=t[v>>2]|0;if((b|0)!=(t[((f[V>>0]&1)==0?x:t[L>>2]|0)>>2]|0)){Y=107;break i}b=t[e>>2]|0;r=b+12|0;n=t[r>>2]|0;if((n|0)==(t[b+16>>2]|0)){w=0;de(t[(t[b>>2]|0)+40>>2]|0,b|0)|0;M=w;w=0;if(M&1){Y=26;break i}}else t[r>>2]=n+4;f[o>>0]=1;M=f[V>>0]|0;b=_;m=((M&1)==0?(M&255)>>>1:t[x>>2]|0)>>>0>1?V:m}break}case 2:{if(!(A>>>0<2|(m|0)!=0)?!(E|(A|0)==2&(f[P>>0]|0)!=0):0){b=_;m=0;break r}s=f[K>>0]|0;n=t[S>>2]|0;r=(s&1)==0?T:n;b=r;f:do{if((A|0)!=0?(a[U+(A+-1)>>0]|0)<2:0){y=(s&1)==0;n:do{if((r|0)!=((y?T:n)+((y?(s&255)>>>1:t[T>>2]|0)<<2)|0)){s=r;while(1){w=0;r=_e(t[(t[u>>2]|0)+12>>2]|0,u|0,8192,t[s>>2]|0)|0;y=w;w=0;if(y&1){Y=23;break i}if(!r)break;s=s+4|0;b=s;r=f[K>>0]|0;n=t[S>>2]|0;y=(r&1)==0;if((s|0)==((y?T:n)+((y?(r&255)>>>1:t[T>>2]|0)<<2)|0)){s=r;break n}}s=f[K>>0]|0;n=t[S>>2]|0}}while(0);v=(s&1)==0?T:n;r=v;p=b-r>>2;g=f[G>>0]|0;k=(g&1)==0;g=k?(g&255)>>>1:t[R>>2]|0;if(g>>>0>=p>>>0){k=k?R:t[C>>2]|0;y=k+(g<<2)|0;if(!p)r=b;else{k=k+(g-p<<2)|0;while(1){if((t[k>>2]|0)!=(t[v>>2]|0))break f;k=k+4|0;if((k|0)==(y|0)){r=b;break}else v=v+4|0}}}}else r=b}while(0);b=(s&1)==0;b=(b?T:n)+((b?(s&255)>>>1:t[T>>2]|0)<<2)|0;f:do{if((r|0)!=(b|0)){k=M;s=M;b=r;while(1){r=t[e>>2]|0;do{if(r){n=t[r+12>>2]|0;if((n|0)==(t[r+16>>2]|0)){w=0;r=de(t[(t[r>>2]|0)+36>>2]|0,r|0)|0;M=w;w=0;if(M&1){Y=22;break i}}else r=t[n>>2]|0;if((r|0)==-1){t[e>>2]=0;n=1;break}else{n=(t[e>>2]|0)==0;break}}else n=1}while(0);do{if(s){r=t[s+12>>2]|0;if((r|0)==(t[s+16>>2]|0)){w=0;r=de(t[(t[s>>2]|0)+36>>2]|0,s|0)|0;M=w;w=0;if(M&1){Y=22;break i}}else r=t[r>>2]|0;if((r|0)!=-1)if(n^(k|0)==0){r=k;v=k;break}else break f;else{t[i>>2]=0;r=0;Y=136;break}}else{r=k;Y=136}}while(0);if((Y|0)==136){Y=0;if(n)break f;else v=0}n=t[e>>2]|0;s=t[n+12>>2]|0;if((s|0)==(t[n+16>>2]|0)){w=0;n=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;M=w;w=0;if(M&1){Y=22;break i}}else n=t[s>>2]|0;if((n|0)!=(t[b>>2]|0))break f;n=t[e>>2]|0;s=n+12|0;k=t[s>>2]|0;if((k|0)==(t[n+16>>2]|0)){w=0;de(t[(t[n>>2]|0)+40>>2]|0,n|0)|0;M=w;w=0;if(M&1){Y=22;break i}}else t[s>>2]=k+4;b=b+4|0;n=f[K>>0]|0;M=(n&1)==0;n=(M?T:t[S>>2]|0)+((M?(n&255)>>>1:t[T>>2]|0)<<2)|0;if((b|0)==(n|0)){b=n;break}else{k=r;s=v}}}}while(0);if(E?(M=f[K>>0]|0,y=(M&1)==0,(b|0)!=((y?T:t[S>>2]|0)+((y?(M&255)>>>1:t[T>>2]|0)<<2)|0)):0){Y=148;break i}else b=_;break}case 4:{g=t[j>>2]|0;p=M;k=M;b=_;r=0;f:while(1){n=t[e>>2]|0;do{if(n){s=t[n+12>>2]|0;if((s|0)==(t[n+16>>2]|0)){w=0;n=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;M=w;w=0;if(M&1){Y=25;break i}}else n=t[s>>2]|0;if((n|0)==-1){t[e>>2]=0;s=1;break}else{s=(t[e>>2]|0)==0;break}}else s=1}while(0);do{if(k){n=t[k+12>>2]|0;if((n|0)==(t[k+16>>2]|0)){w=0;n=de(t[(t[k>>2]|0)+36>>2]|0,k|0)|0;M=w;w=0;if(M&1){Y=25;break i}}else n=t[n>>2]|0;if((n|0)!=-1)if(s^(p|0)==0){n=p;v=p;break}else{_=p;break f}else{t[i>>2]=0;n=0;Y=162;break}}else{n=p;Y=162}}while(0);if((Y|0)==162){Y=0;if(s){_=n;break}else v=0}s=t[e>>2]|0;_=t[s+12>>2]|0;if((_|0)==(t[s+16>>2]|0)){w=0;s=de(t[(t[s>>2]|0)+36>>2]|0,s|0)|0;M=w;w=0;if(M&1){Y=25;break i}}else s=t[_>>2]|0;w=0;_=_e(t[(t[u>>2]|0)+12>>2]|0,u|0,2048,s|0)|0;M=w;w=0;if(M&1){Y=25;break i}if(_){_=t[d>>2]|0;if((_|0)==(t[z>>2]|0)){w=0;Ee(14,h|0,d|0,z|0);M=w;w=0;if(M&1){Y=25;break i}_=t[d>>2]|0}t[d>>2]=_+4;t[_>>2]=s;r=r+1|0}else{M=f[$>>0]|0;if(!((s|0)==(g|0)&((r|0)!=0?(((M&1)==0?(M&255)>>>1:t[I>>2]|0)|0)!=0:0))){_=n;break}if((b|0)==(t[F>>2]|0)){w=0;Ee(13,J|0,H|0,F|0);M=w;w=0;if(M&1){Y=25;break i}b=t[H>>2]|0}M=b+4|0;t[H>>2]=M;t[b>>2]=r;b=M;r=0}s=t[e>>2]|0;_=s+12|0;k=t[_>>2]|0;if((k|0)==(t[s+16>>2]|0)){w=0;de(t[(t[s>>2]|0)+40>>2]|0,s|0)|0;M=w;w=0;if(M&1){Y=25;break i}else{p=n;k=v;continue}}else{t[_>>2]=k+4;p=n;k=v;continue}}if((r|0)!=0?(t[J>>2]|0)!=(b|0):0){if((b|0)==(t[F>>2]|0)){w=0;Ee(13,J|0,H|0,F|0);M=w;w=0;if(M&1){Y=26;break i}b=t[H>>2]|0}M=b+4|0;t[H>>2]=M;t[b>>2]=r;b=M}v=t[N>>2]|0;if((v|0)>0){r=t[e>>2]|0;do{if(r){n=t[r+12>>2]|0;if((n|0)==(t[r+16>>2]|0)){w=0;r=de(t[(t[r>>2]|0)+36>>2]|0,r|0)|0;M=w;w=0;if(M&1){Y=26;break i}}else r=t[n>>2]|0;if((r|0)==-1){t[e>>2]=0;n=1;break}else{n=(t[e>>2]|0)==0;break}}else n=1}while(0);do{if(_){r=t[_+12>>2]|0;if((r|0)==(t[_+16>>2]|0)){w=0;r=de(t[(t[_>>2]|0)+36>>2]|0,_|0)|0;M=w;w=0;if(M&1){Y=26;break i}}else r=t[r>>2]|0;if((r|0)!=-1)if(n)break;else{Y=206;break i}else{t[i>>2]=0;Y=200;break}}else Y=200}while(0);if((Y|0)==200){Y=0;if(n){Y=206;break i}else _=0}r=t[e>>2]|0;n=t[r+12>>2]|0;if((n|0)==(t[r+16>>2]|0)){w=0;r=de(t[(t[r>>2]|0)+36>>2]|0,r|0)|0;M=w;w=0;if(M&1){Y=26;break i}}else r=t[n>>2]|0;if((r|0)!=(t[D>>2]|0)){Y=206;break i}r=t[e>>2]|0;n=r+12|0;s=t[n>>2]|0;if((s|0)==(t[r+16>>2]|0)){w=0;de(t[(t[r>>2]|0)+40>>2]|0,r|0)|0;M=w;w=0;if(M&1){Y=26;break i}}else t[n>>2]=s+4;if((v|0)>0){k=_;s=_;p=v;while(1){r=t[e>>2]|0;do{if(r){n=t[r+12>>2]|0;if((n|0)==(t[r+16>>2]|0)){w=0;r=de(t[(t[r>>2]|0)+36>>2]|0,r|0)|0;M=w;w=0;if(M&1){Y=24;break i}}else r=t[n>>2]|0;if((r|0)==-1){t[e>>2]=0;n=1;break}else{n=(t[e>>2]|0)==0;break}}else n=1}while(0);do{if(s){r=t[s+12>>2]|0;if((r|0)==(t[s+16>>2]|0)){w=0;r=de(t[(t[s>>2]|0)+36>>2]|0,s|0)|0;M=w;w=0;if(M&1){Y=24;break i}}else r=t[r>>2]|0;if((r|0)!=-1)if(n^(k|0)==0){r=k;v=k;break}else{Y=231;break i}else{t[i>>2]=0;r=0;Y=224;break}}else{r=k;Y=224}}while(0);if((Y|0)==224){Y=0;if(n){Y=231;break i}else v=0}n=t[e>>2]|0;s=t[n+12>>2]|0;if((s|0)==(t[n+16>>2]|0)){w=0;n=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;M=w;w=0;if(M&1){Y=24;break i}}else n=t[s>>2]|0;w=0;n=_e(t[(t[u>>2]|0)+12>>2]|0,u|0,2048,n|0)|0;M=w;w=0;if(M&1){Y=24;break i}if(!n){Y=231;break i}if((t[d>>2]|0)==(t[z>>2]|0)?(w=0,Ee(14,h|0,d|0,z|0),M=w,w=0,M&1):0){Y=24;break i}n=t[e>>2]|0;s=t[n+12>>2]|0;if((s|0)==(t[n+16>>2]|0)){w=0;n=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;M=w;w=0;if(M&1){Y=24;break i}}else n=t[s>>2]|0;s=t[d>>2]|0;t[d>>2]=s+4;t[s>>2]=n;n=p;p=p+-1|0;t[N>>2]=p;s=t[e>>2]|0;_=s+12|0;k=t[_>>2]|0;if((k|0)==(t[s+16>>2]|0)){w=0;de(t[(t[s>>2]|0)+40>>2]|0,s|0)|0;M=w;w=0;if(M&1){Y=24;break i}}else t[_>>2]=k+4;if((n|0)<=1)break;else{k=r;s=v}}}}if((t[d>>2]|0)==(t[h>>2]|0)){Y=242;break i}break}default:b=_}}while(0);r:do{if((Y|0)==44)while(1){Y=0;r=t[e>>2]|0;do{if(r){n=t[r+12>>2]|0;if((n|0)==(t[r+16>>2]|0)){w=0;r=de(t[(t[r>>2]|0)+36>>2]|0,r|0)|0;M=w;w=0;if(M&1){Y=21;break i}}else r=t[n>>2]|0;if((r|0)==-1){t[e>>2]=0;n=1;break}else{n=(t[e>>2]|0)==0;break}}else n=1}while(0);do{if(s){r=t[s+12>>2]|0;if((r|0)==(t[s+16>>2]|0)){w=0;r=de(t[(t[s>>2]|0)+36>>2]|0,s|0)|0;M=w;w=0;if(M&1){Y=21;break i}}else r=t[r>>2]|0;if((r|0)!=-1)if(n^(b|0)==0){k=b;s=b;break}else{b=_;break r}else{t[i>>2]=0;b=0;Y=57;break}}else Y=57}while(0);if((Y|0)==57){Y=0;if(n){b=_;break r}else{k=b;s=0}}b=t[e>>2]|0;r=t[b+12>>2]|0;if((r|0)==(t[b+16>>2]|0)){w=0;b=de(t[(t[b>>2]|0)+36>>2]|0,b|0)|0;M=w;w=0;if(M&1){Y=21;break i}}else b=t[r>>2]|0;w=0;b=_e(t[(t[u>>2]|0)+12>>2]|0,u|0,8192,b|0)|0;M=w;w=0;if(M&1){Y=21;break i}if(!b){b=_;break r}b=t[e>>2]|0;r=b+12|0;n=t[r>>2]|0;if((n|0)==(t[b+16>>2]|0)){w=0;b=de(t[(t[b>>2]|0)+40>>2]|0,b|0)|0;Y=w;w=0;if(Y&1){Y=21;break i}}else{t[r>>2]=n+4;b=t[n>>2]|0}w=0;ce(92,G|0,b|0);Y=w;w=0;if(Y&1){Y=21;break i}else{b=k;Y=44}}}while(0);A=A+1|0;if(A>>>0>=4){v=b;Y=244;break}else _=b}i:switch(Y|0){case 21:{r=je()|0;break e}case 22:{r=je()|0;break e}case 23:{r=je()|0;break e}case 24:{r=je()|0;break e}case 25:{r=je()|0;break e}case 26:{r=je()|0;break e}case 42:{t[l>>2]=t[l>>2]|4;r=0;break}case 107:{t[l>>2]=t[l>>2]|4;r=0;break}case 148:{t[l>>2]=t[l>>2]|4;r=0;break}case 206:{t[l>>2]=t[l>>2]|4;r=0;break}case 231:{t[l>>2]=t[l>>2]|4;r=0;break}case 242:{t[l>>2]=t[l>>2]|4;r=0;break}case 244:{r:do{if(m){_=m+4|0;k=m+8|0;s=1;f:while(1){b=f[m>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=t[_>>2]|0;if(s>>>0>=b>>>0)break r;b=t[e>>2]|0;do{if(b){r=t[b+12>>2]|0;if((r|0)==(t[b+16>>2]|0)){w=0;b=de(t[(t[b>>2]|0)+36>>2]|0,b|0)|0;d=w;w=0;if(d&1){Y=20;break f}}else b=t[r>>2]|0;if((b|0)==-1){t[e>>2]=0;n=1;break}else{n=(t[e>>2]|0)==0;break}}else n=1}while(0);b=t[i>>2]|0;do{if(b){r=t[b+12>>2]|0;if((r|0)==(t[b+16>>2]|0)){w=0;b=de(t[(t[b>>2]|0)+36>>2]|0,b|0)|0;d=w;w=0;if(d&1){Y=20;break f}}else b=t[r>>2]|0;if((b|0)!=-1)if(n)break;else{Y=271;break f}else{t[i>>2]=0;Y=263;break}}else Y=263}while(0);if((Y|0)==263?(Y=0,n):0){Y=271;break}b=t[e>>2]|0;r=t[b+12>>2]|0;if((r|0)==(t[b+16>>2]|0)){w=0;b=de(t[(t[b>>2]|0)+36>>2]|0,b|0)|0;d=w;w=0;if(d&1){Y=20;break}}else b=t[r>>2]|0;if(!(f[m>>0]&1))r=_;else r=t[k>>2]|0;if((b|0)!=(t[r+(s<<2)>>2]|0)){Y=271;break}b=s+1|0;r=t[e>>2]|0;n=r+12|0;s=t[n>>2]|0;if((s|0)==(t[r+16>>2]|0)){w=0;de(t[(t[r>>2]|0)+40>>2]|0,r|0)|0;d=w;w=0;if(d&1){Y=20;break}else{s=b;continue}}else{t[n>>2]=s+4;s=b;continue}}if((Y|0)==20){r=je()|0;break e}else if((Y|0)==271){t[l>>2]=t[l>>2]|4;r=0;break i}}}while(0);b=t[J>>2]|0;if((b|0)!=(v|0)?(t[q>>2]=0,Go($,b,v,q),(t[q>>2]|0)!=0):0){t[l>>2]=t[l>>2]|4;r=0}else r=1;break}}Xh(G);Xh(V);Xh(X);Xh(K);xh($);b=t[J>>2]|0;t[J>>2]=0;if((b|0)!=0?(w=0,ue(t[Z>>2]|0,b|0),J=w,w=0,J&1):0){J=je(0)|0;Ni(J)}c=W;return r|0}}while(0);Xh(G);Xh(V);Xh(X);Xh(K);xh($);b=t[J>>2]|0;t[J>>2]=0;if((b|0)!=0?(w=0,ue(t[Z>>2]|0,b|0),J=w,w=0,J&1):0){J=je(0)|0;Ni(J)}Qe(r|0);return 0}function Qo(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0;y=c;c=c+432|0;o=y+424|0;e=y+24|0;A=y+16|0;m=y+8|0;b=y+4|0;_=y+428|0;u=y;t[A>>2]=e;S=A+4|0;t[S>>2]=189;h=e+400|0;w=0;g=de(68,a|0)|0;d=w;w=0;if(!(d&1)){t[b>>2]=g;w=0;d=pe(37,b|0,44212)|0;e=w;w=0;e:do{if(!(e&1)?(f[_>>0]=0,v=t[r>>2]|0,t[u>>2]=v,k=t[a+4>>2]|0,p=v,w=0,t[o>>2]=t[u>>2],k=be(2,i|0,o|0,n|0,b|0,k|0,s|0,_|0,d|0,A|0,m|0,h|0)|0,a=w,w=0,!(a&1)):0){if(k){if(!(f[l>>0]&1))f[l>>0]=0;else t[t[l+8>>2]>>2]=0;t[l+4>>2]=0;if(f[_>>0]|0){w=0;e=pe(t[(t[d>>2]|0)+44>>2]|0,d|0,45)|0;a=w;w=0;if(a&1)break;w=0;ce(92,l|0,e|0);a=w;w=0;if(a&1)break}w=0;u=pe(t[(t[d>>2]|0)+44>>2]|0,d|0,48)|0;a=w;w=0;if(a&1)break;e=t[A>>2]|0;h=t[m>>2]|0;o=h+-4|0;i:do{if(e>>>0>>0)do{if((t[e>>2]|0)!=(u|0))break i;e=e+4|0}while(e>>>0>>0)}while(0);w=0;_e(33,l|0,e|0,h|0)|0;l=w;w=0;if(l&1)break}e=t[i>>2]|0;do{if(e){o=t[e+12>>2]|0;if((o|0)==(t[e+16>>2]|0)){w=0;e=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;l=w;w=0;if(l&1)break e}else e=t[o>>2]|0;if((e|0)==-1){t[i>>2]=0;o=1;break}else{o=(t[i>>2]|0)==0;break}}else o=1}while(0);do{if(v){e=t[p+12>>2]|0;if((e|0)==(t[p+16>>2]|0)){w=0;e=de(t[(t[v>>2]|0)+36>>2]|0,p|0)|0;p=w;w=0;if(p&1)break e}else e=t[e>>2]|0;if((e|0)!=-1)if(o)break;else{E=32;break}else{t[r>>2]=0;E=30;break}}else E=30}while(0);if((E|0)==30?o:0)E=32;if((E|0)==32)t[s>>2]=t[s>>2]|2;o=t[i>>2]|0;bh(g)|0;e=t[A>>2]|0;t[A>>2]=0;if((e|0)!=0?(w=0,ue(t[S>>2]|0,e|0),S=w,w=0,S&1):0){S=je(0)|0;Ni(S)}c=y;return o|0}}while(0);o=je()|0;bh(g)|0;e=t[A>>2]|0;t[A>>2]=0;if(!e)M=o;else E=38}else{o=je()|0;t[A>>2]=0;E=38}if((E|0)==38){w=0;ue(t[S>>2]|0,e|0);S=w;w=0;if(S&1){S=je(0)|0;Ni(S)}else M=o}Qe(M|0);return 0}function eu(e,i,r,n,a,s,l,o,u,h){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;var d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;E=c;c=c+112|0;d=E+100|0;b=E+88|0;_=E+76|0;k=E+64|0;m=E+52|0;v=E+48|0;p=E+36|0;g=E+24|0;y=E+12|0;M=E;do{if(e){e=zu(i,43956)|0;aM[t[(t[e>>2]|0)+44>>2]&127](d,e);M=t[d>>2]|0;f[r>>0]=M;f[r+1>>0]=M>>8;f[r+2>>0]=M>>16;f[r+3>>0]=M>>24;aM[t[(t[e>>2]|0)+32>>2]&127](b,e);if(!(f[u>>0]&1))f[u>>0]=0;else t[t[u+8>>2]>>2]=0;t[u+4>>2]=0;w=0;ce(93,u|0,0);r=w;w=0;if(r&1){r=je(0)|0;Ni(r)}t[u>>2]=t[b>>2];t[u+4>>2]=t[b+4>>2];t[u+8>>2]=t[b+8>>2];t[b>>2]=0;t[b+4>>2]=0;t[b+8>>2]=0;Xh(b);aM[t[(t[e>>2]|0)+28>>2]&127](_,e);if(!(f[o>>0]&1))f[o>>0]=0;else t[t[o+8>>2]>>2]=0;t[o+4>>2]=0;w=0;ce(93,o|0,0);r=w;w=0;if(r&1){r=je(0)|0;Ni(r)}t[o>>2]=t[_>>2];t[o+4>>2]=t[_+4>>2];t[o+8>>2]=t[_+8>>2];t[_>>2]=0;t[_+4>>2]=0;t[_+8>>2]=0;Xh(_);t[n>>2]=lM[t[(t[e>>2]|0)+12>>2]&127](e)|0;t[a>>2]=lM[t[(t[e>>2]|0)+16>>2]&127](e)|0;aM[t[(t[e>>2]|0)+20>>2]&127](k,e);if(!(f[s>>0]&1)){f[s+1>>0]=0;f[s>>0]=0}else{f[t[s+8>>2]>>0]=0;t[s+4>>2]=0}w=0;ce(91,s|0,0);a=w;w=0;if(a&1){a=je(0)|0;Ni(a)}t[s>>2]=t[k>>2];t[s+4>>2]=t[k+4>>2];t[s+8>>2]=t[k+8>>2];t[k>>2]=0;t[k+4>>2]=0;t[k+8>>2]=0;xh(k);aM[t[(t[e>>2]|0)+24>>2]&127](m,e);if(!(f[l>>0]&1))f[l>>0]=0;else t[t[l+8>>2]>>2]=0;t[l+4>>2]=0;w=0;ce(93,l|0,0);a=w;w=0;if(a&1){a=je(0)|0;Ni(a)}else{t[l>>2]=t[m>>2];t[l+4>>2]=t[m+4>>2];t[l+8>>2]=t[m+8>>2];t[m>>2]=0;t[m+4>>2]=0;t[m+8>>2]=0;Xh(m);A=lM[t[(t[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=zu(i,43892)|0;aM[t[(t[e>>2]|0)+44>>2]&127](v,e);v=t[v>>2]|0;f[r>>0]=v;f[r+1>>0]=v>>8;f[r+2>>0]=v>>16;f[r+3>>0]=v>>24;aM[t[(t[e>>2]|0)+32>>2]&127](p,e);if(!(f[u>>0]&1))f[u>>0]=0;else t[t[u+8>>2]>>2]=0;t[u+4>>2]=0;w=0;ce(93,u|0,0);r=w;w=0;if(r&1){r=je(0)|0;Ni(r)}t[u>>2]=t[p>>2];t[u+4>>2]=t[p+4>>2];t[u+8>>2]=t[p+8>>2];t[p>>2]=0;t[p+4>>2]=0;t[p+8>>2]=0;Xh(p);aM[t[(t[e>>2]|0)+28>>2]&127](g,e);if(!(f[o>>0]&1))f[o>>0]=0;else t[t[o+8>>2]>>2]=0;t[o+4>>2]=0;w=0;ce(93,o|0,0);r=w;w=0;if(r&1){r=je(0)|0;Ni(r)}t[o>>2]=t[g>>2];t[o+4>>2]=t[g+4>>2];t[o+8>>2]=t[g+8>>2];t[g>>2]=0;t[g+4>>2]=0;t[g+8>>2]=0;Xh(g);t[n>>2]=lM[t[(t[e>>2]|0)+12>>2]&127](e)|0;t[a>>2]=lM[t[(t[e>>2]|0)+16>>2]&127](e)|0;aM[t[(t[e>>2]|0)+20>>2]&127](y,e);if(!(f[s>>0]&1)){f[s+1>>0]=0;f[s>>0]=0}else{f[t[s+8>>2]>>0]=0;t[s+4>>2]=0}w=0;ce(91,s|0,0);a=w;w=0;if(a&1){a=je(0)|0;Ni(a)}t[s>>2]=t[y>>2];t[s+4>>2]=t[y+4>>2];t[s+8>>2]=t[y+8>>2];t[y>>2]=0;t[y+4>>2]=0;t[y+8>>2]=0;xh(y);aM[t[(t[e>>2]|0)+24>>2]&127](M,e);if(!(f[l>>0]&1))f[l>>0]=0;else t[t[l+8>>2]>>2]=0;t[l+4>>2]=0;w=0;ce(93,l|0,0);a=w;w=0;if(a&1){a=je(0)|0;Ni(a)}else{t[l>>2]=t[M>>2];t[l+4>>2]=t[M+4>>2];t[l+8>>2]=t[M+8>>2];t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;Xh(M);A=lM[t[(t[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);t[h>>2]=A;c=E;return}function iu(e){e=e|0;return}function ru(e){e=e|0;Bp(e);return}function fu(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=+s;var l=0,o=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0;C=c;c=c+384|0;g=C+8|0;l=C;h=C+284|0;d=C+72|0;o=C+184|0;I=C+68|0;S=C+80|0;M=C+77|0;T=C+76|0;O=C+56|0;L=C+44|0;x=C+32|0;b=C+28|0;p=C+84|0;E=C+24|0;A=C+20|0;y=C+16|0;t[d>>2]=h;u[g>>3]=s;h=Iy(h,100,59018,g)|0;do{if(h>>>0>99){w=0;e=Me(3)|0;R=w;w=0;if(!(R&1)?(w=0,u[l>>3]=s,m=Ae(17,d|0,e|0,59018,l|0)|0,R=w,w=0,!(R&1)):0){e=t[d>>2]|0;if(!e){w=0;Se(6);R=w;w=0;if(R&1){e=0;l=0;R=7;break}e=t[d>>2]|0}o=Pc(m)|0;l=o;if(!o){w=0;Se(6);R=w;w=0;if(R&1)R=7;else{v=0;R=10}}else{v=o;R=10}}else{e=0;l=0;R=7}}else{l=0;e=0;v=o;m=h;R=10}}while(0);if((R|0)==10){w=0;o=de(68,n|0)|0;k=w;w=0;if(k&1)R=7;else{t[I>>2]=o;w=0;k=pe(37,I|0,44220)|0;_=w;w=0;if(!(_&1)?(_=t[d>>2]|0,w=0,Ae(t[(t[k>>2]|0)+32>>2]|0,k|0,_|0,_+m|0,v|0)|0,_=w,w=0,!(_&1)):0){if(!m)_=0;else _=(f[t[d>>2]>>0]|0)==45;t[O>>2]=0;t[O+4>>2]=0;t[O+8>>2]=0;t[L>>2]=0;t[L+4>>2]=0;t[L+8>>2]=0;t[x>>2]=0;t[x+4>>2]=0;t[x+8>>2]=0;w=0;ve(3,r|0,_|0,I|0,S|0,M|0,T|0,O|0,L|0,x|0,b|0);r=w;w=0;if(!(r&1)){b=t[b>>2]|0;if((m|0)>(b|0)){r=f[x>>0]|0;h=f[L>>0]|0;h=(m-b<<1|1)+b+((r&1)==0?(r&255)>>>1:t[x+4>>2]|0)+((h&1)==0?(h&255)>>>1:t[L+4>>2]|0)|0}else{r=f[x>>0]|0;h=f[L>>0]|0;h=b+2+((r&1)==0?(r&255)>>>1:t[x+4>>2]|0)+((h&1)==0?(h&255)>>>1:t[L+4>>2]|0)|0}if(h>>>0>100){h=Pc(h)|0;d=h;if(!h){w=0;Se(6);p=w;w=0;if(!(p&1)){h=0;R=26}}else R=26}else{d=0;h=p;R=26}if((R|0)==26){w=0;ke(1,h|0,E|0,A|0,t[n+4>>2]|0,v|0,v+m|0,k|0,_|0,S|0,f[M>>0]|0,f[T>>0]|0,O|0,L|0,x|0,b|0);T=w;w=0;if(!(T&1)?(t[y>>2]=t[i>>2],i=t[E>>2]|0,P=t[A>>2]|0,w=0,t[g>>2]=t[y>>2],P=he(39,g|0,h|0,i|0,P|0,n|0,a|0)|0,i=w,w=0,!(i&1)):0){if(d){Ic(d);o=t[I>>2]|0}xh(x);xh(L);xh(O);bh(o)|0;if(l)Ic(l);if(e)Ic(e);c=C;return P|0}}h=je()|0;if(d){Ic(d);o=t[I>>2]|0}}else h=je()|0;xh(x);xh(L);xh(O)}else h=je()|0;bh(o)|0}}if((R|0)==7)h=je()|0;if(l)Ic(l);if(e)Ic(e);Qe(h|0);return 0}function nu(e,i,r,n,a,s,l,o,u,h){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;var d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0;C=c;c=c+112|0;_=C+108|0;k=C+96|0;p=C+92|0;g=C+80|0;y=C+68|0;M=C+56|0;A=C+52|0;E=C+40|0;S=C+36|0;T=C+24|0;m=C+12|0;v=C;do{if(e){e=zu(r,43828)|0;r=t[e>>2]|0;do{if(i){aM[t[r+44>>2]&127](_,e);i=t[_>>2]|0;f[n>>0]=i;f[n+1>>0]=i>>8;f[n+2>>0]=i>>16;f[n+3>>0]=i>>24;aM[t[(t[e>>2]|0)+32>>2]&127](k,e);if(!(f[u>>0]&1)){f[u+1>>0]=0;f[u>>0]=0}else{f[t[u+8>>2]>>0]=0;t[u+4>>2]=0}w=0;ce(91,u|0,0);n=w;w=0;if(n&1){u=je(0)|0;Ni(u)}else{t[u>>2]=t[k>>2];t[u+4>>2]=t[k+4>>2];t[u+8>>2]=t[k+8>>2];t[k>>2]=0;t[k+4>>2]=0;t[k+8>>2]=0;xh(k);b=e;break}}else{aM[t[r+40>>2]&127](p,e);i=t[p>>2]|0;f[n>>0]=i;f[n+1>>0]=i>>8;f[n+2>>0]=i>>16;f[n+3>>0]=i>>24;aM[t[(t[e>>2]|0)+28>>2]&127](g,e);if(!(f[u>>0]&1)){f[u+1>>0]=0;f[u>>0]=0}else{f[t[u+8>>2]>>0]=0;t[u+4>>2]=0}w=0;ce(91,u|0,0);n=w;w=0;if(n&1){u=je(0)|0;Ni(u)}else{t[u>>2]=t[g>>2];t[u+4>>2]=t[g+4>>2];t[u+8>>2]=t[g+8>>2];t[g>>2]=0;t[g+4>>2]=0;t[g+8>>2]=0;xh(g);b=e;break}}}while(0);f[a>>0]=lM[t[(t[e>>2]|0)+12>>2]&127](e)|0;f[s>>0]=lM[t[(t[e>>2]|0)+16>>2]&127](e)|0;aM[t[(t[b>>2]|0)+20>>2]&127](y,e);if(!(f[l>>0]&1)){f[l+1>>0]=0;f[l>>0]=0}else{f[t[l+8>>2]>>0]=0;t[l+4>>2]=0}w=0;ce(91,l|0,0);s=w;w=0;if(s&1){s=je(0)|0;Ni(s)}t[l>>2]=t[y>>2];t[l+4>>2]=t[y+4>>2];t[l+8>>2]=t[y+8>>2];t[y>>2]=0;t[y+4>>2]=0;t[y+8>>2]=0;xh(y);aM[t[(t[b>>2]|0)+24>>2]&127](M,e);if(!(f[o>>0]&1)){f[o+1>>0]=0;f[o>>0]=0}else{f[t[o+8>>2]>>0]=0;t[o+4>>2]=0}w=0;ce(91,o|0,0);s=w;w=0;if(s&1){s=je(0)|0;Ni(s)}else{t[o>>2]=t[M>>2];t[o+4>>2]=t[M+4>>2];t[o+8>>2]=t[M+8>>2];t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;xh(M);R=lM[t[(t[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=zu(r,43764)|0;r=t[e>>2]|0;do{if(i){aM[t[r+44>>2]&127](A,e);i=t[A>>2]|0;f[n>>0]=i;f[n+1>>0]=i>>8;f[n+2>>0]=i>>16;f[n+3>>0]=i>>24;aM[t[(t[e>>2]|0)+32>>2]&127](E,e);if(!(f[u>>0]&1)){f[u+1>>0]=0;f[u>>0]=0}else{f[t[u+8>>2]>>0]=0;t[u+4>>2]=0}w=0;ce(91,u|0,0);n=w;w=0;if(n&1){u=je(0)|0;Ni(u)}else{t[u>>2]=t[E>>2];t[u+4>>2]=t[E+4>>2];t[u+8>>2]=t[E+8>>2];t[E>>2]=0;t[E+4>>2]=0;t[E+8>>2]=0;xh(E);d=e;break}}else{aM[t[r+40>>2]&127](S,e);i=t[S>>2]|0;f[n>>0]=i;f[n+1>>0]=i>>8;f[n+2>>0]=i>>16;f[n+3>>0]=i>>24;aM[t[(t[e>>2]|0)+28>>2]&127](T,e);if(!(f[u>>0]&1)){f[u+1>>0]=0;f[u>>0]=0}else{f[t[u+8>>2]>>0]=0;t[u+4>>2]=0}w=0;ce(91,u|0,0);n=w;w=0;if(n&1){u=je(0)|0;Ni(u)}else{t[u>>2]=t[T>>2];t[u+4>>2]=t[T+4>>2];t[u+8>>2]=t[T+8>>2];t[T>>2]=0;t[T+4>>2]=0;t[T+8>>2]=0;xh(T);d=e;break}}}while(0);f[a>>0]=lM[t[(t[e>>2]|0)+12>>2]&127](e)|0;f[s>>0]=lM[t[(t[e>>2]|0)+16>>2]&127](e)|0;aM[t[(t[d>>2]|0)+20>>2]&127](m,e);if(!(f[l>>0]&1)){f[l+1>>0]=0;f[l>>0]=0}else{f[t[l+8>>2]>>0]=0;t[l+4>>2]=0}w=0;ce(91,l|0,0);s=w;w=0;if(s&1){s=je(0)|0;Ni(s)}t[l>>2]=t[m>>2];t[l+4>>2]=t[m+4>>2];t[l+8>>2]=t[m+8>>2];t[m>>2]=0;t[m+4>>2]=0;t[m+8>>2]=0;xh(m);aM[t[(t[d>>2]|0)+24>>2]&127](v,e);if(!(f[o>>0]&1)){f[o+1>>0]=0;f[o>>0]=0}else{f[t[o+8>>2]>>0]=0;t[o+4>>2]=0}w=0;ce(91,o|0,0);s=w;w=0;if(s&1){s=je(0)|0;Ni(s)}else{t[o>>2]=t[v>>2];t[o+4>>2]=t[v+4>>2];t[o+8>>2]=t[v+8>>2];t[v>>2]=0;t[v+4>>2]=0;t[v+8>>2]=0;xh(v);R=lM[t[(t[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);t[h>>2]=R;c=C;return}function tu(e,i,r,a,s,l,o,u,c,h,d,b,_,k,w){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;h=h|0;d=d|0;b=b|0;_=_|0;k=k|0;w=w|0;var m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,U=0;t[r>>2]=e;F=k+4|0;H=k+8|0;U=k+1|0;x=_+4|0;L=(a&512|0)==0;B=_+8|0;z=_+1|0;D=o+8|0;N=(w|0)>0;S=b+4|0;T=b+8|0;R=b+1|0;C=w+1|0;I=-2-w-((w|0)<0?~w:-1)|0;O=(w|0)>0;E=0;do{switch(f[c+E>>0]|0){case 0:{t[i>>2]=t[r>>2];break}case 1:{t[i>>2]=t[r>>2];M=_M[t[(t[o>>2]|0)+28>>2]&63](o,32)|0;A=t[r>>2]|0;t[r>>2]=A+1;f[A>>0]=M;break}case 3:{A=f[k>>0]|0;m=(A&1)==0;if((m?(A&255)>>>1:t[F>>2]|0)|0){M=f[(m?U:t[H>>2]|0)>>0]|0;A=t[r>>2]|0;t[r>>2]=A+1;f[A>>0]=M}break}case 2:{p=f[_>>0]|0;m=(p&1)==0;p=m?(p&255)>>>1:t[x>>2]|0;if(!(L|(p|0)==0)){v=m?z:t[B>>2]|0;g=v+p|0;m=t[r>>2]|0;if(p)do{f[m>>0]=f[v>>0]|0;v=v+1|0;m=m+1|0}while((v|0)!=(g|0));t[r>>2]=m}break}case 4:{m=t[r>>2]|0;s=u?s+1|0:s;y=s;g=t[D>>2]|0;e:do{if(s>>>0>>0){v=s;do{p=f[v>>0]|0;if(p<<24>>24<=-1)break e;if(!(n[g+(p<<24>>24<<1)>>1]&2048))break e;v=v+1|0}while(v>>>0>>0)}else v=s}while(0);p=v;if(N){M=-2-p-~(p>>>0>y>>>0?y:p)|0;M=I>>>0>M>>>0?I:M;if(v>>>0>s>>>0&O){p=v;y=w;while(1){p=p+-1|0;A=f[p>>0]|0;g=t[r>>2]|0;t[r>>2]=g+1;f[g>>0]=A;g=(y|0)>1;if(!(p>>>0>s>>>0&g))break;else y=y+-1|0}}else g=O;A=C+M|0;p=v+(M+1)|0;if(g)y=_M[t[(t[o>>2]|0)+28>>2]&63](o,48)|0;else y=0;v=t[r>>2]|0;t[r>>2]=v+1;if((A|0)>0){g=A;while(1){f[v>>0]=y;v=t[r>>2]|0;t[r>>2]=v+1;if((g|0)>1)g=g+-1|0;else break}}f[v>>0]=h}else p=v;if((p|0)!=(s|0)){A=f[b>>0]|0;v=(A&1)==0;if(!((v?(A&255)>>>1:t[S>>2]|0)|0))v=-1;else v=f[(v?R:t[T>>2]|0)>>0]|0;if((p|0)!=(s|0)){g=0;y=0;while(1){if((y|0)==(v|0)){A=t[r>>2]|0;t[r>>2]=A+1;f[A>>0]=d;g=g+1|0;A=f[b>>0]|0;v=(A&1)==0;if(g>>>0<(v?(A&255)>>>1:t[S>>2]|0)>>>0){v=f[(v?R:t[T>>2]|0)+g>>0]|0;v=v<<24>>24==127?-1:v<<24>>24;y=0}else{v=y;y=0}}p=p+-1|0;M=f[p>>0]|0;A=t[r>>2]|0;t[r>>2]=A+1;f[A>>0]=M;if((p|0)==(s|0))break;else y=y+1|0}}}else{M=_M[t[(t[o>>2]|0)+28>>2]&63](o,48)|0;A=t[r>>2]|0;t[r>>2]=A+1;f[A>>0]=M}v=t[r>>2]|0;if((m|0)!=(v|0)?(P=v+-1|0,m>>>0

>>0):0){v=P;do{A=f[m>>0]|0;f[m>>0]=f[v>>0]|0;f[v>>0]=A;m=m+1|0;v=v+-1|0}while(m>>>0>>0)}break}default:{}}E=E+1|0}while((E|0)!=4);v=f[k>>0]|0;s=(v&1)==0;v=s?(v&255)>>>1:t[F>>2]|0;if(v>>>0>1){m=s?U:t[H>>2]|0;p=m+v|0;s=t[r>>2]|0;if((v|0)!=1){m=m+1|0;do{f[s>>0]=f[m>>0]|0;s=s+1|0;m=m+1|0}while((m|0)!=(p|0))}t[r>>2]=s}switch(a&176|0){case 32:{t[i>>2]=t[r>>2];break}case 16:break;default:t[i>>2]=e}return}function au(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0;E=c;c=c+176|0;k=E+56|0;T=E+52|0;M=E+64|0;p=E+61|0;A=E+60|0;R=E+40|0;P=E+28|0;C=E+16|0;h=E+12|0;_=E+68|0;y=E+8|0;g=E+4|0;m=E;e=sd(n)|0;t[T>>2]=e;w=0;v=pe(37,T|0,44220)|0;b=w;w=0;do{if(b&1)I=13;else{d=f[s>>0]|0;l=(d&1)==0;b=s+4|0;if(!((l?(d&255)>>>1:t[b>>2]|0)|0))d=0;else{l=f[(l?s+1|0:t[s+8>>2]|0)>>0]|0;w=0;o=pe(t[(t[v>>2]|0)+28>>2]|0,v|0,45)|0;d=w;w=0;if(d&1){I=13;break}d=l<<24>>24==o<<24>>24}t[R>>2]=0;t[R+4>>2]=0;t[R+8>>2]=0;t[P>>2]=0;t[P+4>>2]=0;t[P+8>>2]=0;t[C>>2]=0;t[C+4>>2]=0;t[C+8>>2]=0;w=0;ve(3,r|0,d|0,T|0,M|0,p|0,A|0,R|0,P|0,C|0,h|0);u=w;w=0;if(!(u&1)){u=f[s>>0]|0;r=t[b>>2]|0;l=(u&1)==0?(u&255)>>>1:r;h=t[h>>2]|0;if((l|0)>(h|0)){O=f[C>>0]|0;o=f[P>>0]|0;l=(l-h<<1|1)+h+((O&1)==0?(O&255)>>>1:t[C+4>>2]|0)+((o&1)==0?(o&255)>>>1:t[P+4>>2]|0)|0}else{O=f[C>>0]|0;l=f[P>>0]|0;l=h+2+((O&1)==0?(O&255)>>>1:t[C+4>>2]|0)+((l&1)==0?(l&255)>>>1:t[P+4>>2]|0)|0}if(l>>>0>100){l=Pc(l)|0;o=l;if(!l){w=0;Se(6);O=w;w=0;if(!(O&1)){u=f[s>>0]|0;r=t[b>>2]|0;l=0;I=17}}else I=17}else{o=0;l=_;I=17}if((I|0)==17){O=(u&1)==0;s=O?s+1|0:t[s+8>>2]|0;w=0;ke(1,l|0,y|0,g|0,t[n+4>>2]|0,s|0,s+(O?(u&255)>>>1:r)|0,v|0,d|0,M|0,f[p>>0]|0,f[A>>0]|0,R|0,P|0,C|0,h|0);O=w;w=0;if(!(O&1)?(t[m>>2]=t[i>>2],O=t[y>>2]|0,S=t[g>>2]|0,w=0,t[k>>2]=t[m>>2],S=he(39,k|0,l|0,O|0,S|0,n|0,a|0)|0,O=w,w=0,!(O&1)):0){if(o){Ic(o);e=t[T>>2]|0}xh(C);xh(P);xh(R);bh(e)|0;c=E;return S|0}}l=je()|0;if(o){Ic(o);e=t[T>>2]|0}}else l=je()|0;xh(C);xh(P);xh(R)}}while(0);if((I|0)==13)l=je()|0;bh(e)|0;Qe(l|0);return 0}function su(e){e=e|0;return}function lu(e){e=e|0;Bp(e);return}function ou(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=+s;var l=0,o=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0;C=c;c=c+992|0;g=C+8|0;l=C;h=C+888|0;d=C+880|0;o=C+480|0;I=C+76|0;S=C+884|0;M=C+72|0;T=C+68|0;O=C+56|0;L=C+44|0;x=C+32|0;b=C+28|0;p=C+80|0;E=C+24|0;A=C+20|0;y=C+16|0;t[d>>2]=h;u[g>>3]=s;h=Iy(h,100,59018,g)|0;do{if(h>>>0>99){w=0;e=Me(3)|0;R=w;w=0;if(!(R&1)?(w=0,u[l>>3]=s,m=Ae(17,d|0,e|0,59018,l|0)|0,R=w,w=0,!(R&1)):0){e=t[d>>2]|0;if(!e){w=0;Se(6);R=w;w=0;if(R&1){e=0;l=0;R=7;break}e=t[d>>2]|0}o=Pc(m<<2)|0;l=o;if(!o){w=0;Se(6);R=w;w=0;if(R&1)R=7;else{v=0;R=10}}else{v=o;R=10}}else{e=0;l=0;R=7}}else{l=0;e=0;v=o;m=h;R=10}}while(0);if((R|0)==10){w=0;o=de(68,n|0)|0;k=w;w=0;if(k&1)R=7;else{t[I>>2]=o;w=0;k=pe(37,I|0,44212)|0;_=w;w=0;if(!(_&1)?(_=t[d>>2]|0,w=0,Ae(t[(t[k>>2]|0)+48>>2]|0,k|0,_|0,_+m|0,v|0)|0,_=w,w=0,!(_&1)):0){if(!m)_=0;else _=(f[t[d>>2]>>0]|0)==45;t[O>>2]=0;t[O+4>>2]=0;t[O+8>>2]=0;t[L>>2]=0;t[L+4>>2]=0;t[L+8>>2]=0;t[x>>2]=0;t[x+4>>2]=0;t[x+8>>2]=0;w=0;ve(4,r|0,_|0,I|0,S|0,M|0,T|0,O|0,L|0,x|0,b|0);r=w;w=0;if(!(r&1)){b=t[b>>2]|0;if((m|0)>(b|0)){r=f[x>>0]|0;h=f[L>>0]|0;h=(m-b<<1|1)+b+((r&1)==0?(r&255)>>>1:t[x+4>>2]|0)+((h&1)==0?(h&255)>>>1:t[L+4>>2]|0)|0}else{r=f[x>>0]|0;h=f[L>>0]|0;h=b+2+((r&1)==0?(r&255)>>>1:t[x+4>>2]|0)+((h&1)==0?(h&255)>>>1:t[L+4>>2]|0)|0}if(h>>>0>100){h=Pc(h<<2)|0;d=h;if(!h){w=0;Se(6);p=w;w=0;if(!(p&1)){h=0;R=26}}else R=26}else{d=0;h=p;R=26}if((R|0)==26){w=0;ke(2,h|0,E|0,A|0,t[n+4>>2]|0,v|0,v+(m<<2)|0,k|0,_|0,S|0,t[M>>2]|0,t[T>>2]|0,O|0,L|0,x|0,b|0);T=w;w=0;if(!(T&1)?(t[y>>2]=t[i>>2],i=t[E>>2]|0,P=t[A>>2]|0,w=0,t[g>>2]=t[y>>2],P=he(40,g|0,h|0,i|0,P|0,n|0,a|0)|0,i=w,w=0,!(i&1)):0){if(d){Ic(d);o=t[I>>2]|0}Xh(x);Xh(L);xh(O);bh(o)|0;if(l)Ic(l);if(e)Ic(e);c=C;return P|0}}h=je()|0;if(d){Ic(d);o=t[I>>2]|0}}else h=je()|0;Xh(x);Xh(L);xh(O)}else h=je()|0;bh(o)|0}}if((R|0)==7)h=je()|0;if(l)Ic(l);if(e)Ic(e);Qe(h|0);return 0}function uu(e,i,r,n,a,s,l,o,u,h){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;var d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0;T=c;c=c+112|0;d=T+108|0;b=T+96|0;m=T+92|0;v=T+80|0;p=T+68|0;g=T+56|0;y=T+52|0;M=T+40|0;A=T+36|0;E=T+24|0;_=T+12|0;k=T;do{if(e){e=zu(r,43956)|0;r=t[e>>2]|0;do{if(i){aM[t[r+44>>2]&127](d,e);i=t[d>>2]|0;f[n>>0]=i;f[n+1>>0]=i>>8;f[n+2>>0]=i>>16;f[n+3>>0]=i>>24;aM[t[(t[e>>2]|0)+32>>2]&127](b,e);if(!(f[u>>0]&1))f[u>>0]=0;else t[t[u+8>>2]>>2]=0;t[u+4>>2]=0;w=0;ce(93,u|0,0);n=w;w=0;if(n&1){u=je(0)|0;Ni(u)}else{t[u>>2]=t[b>>2];t[u+4>>2]=t[b+4>>2];t[u+8>>2]=t[b+8>>2];t[b>>2]=0;t[b+4>>2]=0;t[b+8>>2]=0;Xh(b);break}}else{aM[t[r+40>>2]&127](m,e);i=t[m>>2]|0;f[n>>0]=i;f[n+1>>0]=i>>8;f[n+2>>0]=i>>16;f[n+3>>0]=i>>24;aM[t[(t[e>>2]|0)+28>>2]&127](v,e);if(!(f[u>>0]&1))f[u>>0]=0;else t[t[u+8>>2]>>2]=0;t[u+4>>2]=0;w=0;ce(93,u|0,0);n=w;w=0;if(n&1){u=je(0)|0;Ni(u)}else{t[u>>2]=t[v>>2];t[u+4>>2]=t[v+4>>2];t[u+8>>2]=t[v+8>>2];t[v>>2]=0;t[v+4>>2]=0;t[v+8>>2]=0;Xh(v);break}}}while(0);t[a>>2]=lM[t[(t[e>>2]|0)+12>>2]&127](e)|0;t[s>>2]=lM[t[(t[e>>2]|0)+16>>2]&127](e)|0;aM[t[(t[e>>2]|0)+20>>2]&127](p,e);if(!(f[l>>0]&1)){f[l+1>>0]=0;f[l>>0]=0}else{f[t[l+8>>2]>>0]=0;t[l+4>>2]=0}w=0;ce(91,l|0,0);s=w;w=0;if(s&1){s=je(0)|0;Ni(s)}t[l>>2]=t[p>>2];t[l+4>>2]=t[p+4>>2];t[l+8>>2]=t[p+8>>2];t[p>>2]=0;t[p+4>>2]=0;t[p+8>>2]=0;xh(p);aM[t[(t[e>>2]|0)+24>>2]&127](g,e);if(!(f[o>>0]&1))f[o>>0]=0;else t[t[o+8>>2]>>2]=0;t[o+4>>2]=0;w=0;ce(93,o|0,0);s=w;w=0;if(s&1){s=je(0)|0;Ni(s)}else{t[o>>2]=t[g>>2];t[o+4>>2]=t[g+4>>2];t[o+8>>2]=t[g+8>>2];t[g>>2]=0;t[g+4>>2]=0;t[g+8>>2]=0;Xh(g);S=lM[t[(t[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=zu(r,43892)|0;r=t[e>>2]|0;do{if(i){aM[t[r+44>>2]&127](y,e);i=t[y>>2]|0;f[n>>0]=i;f[n+1>>0]=i>>8;f[n+2>>0]=i>>16;f[n+3>>0]=i>>24;aM[t[(t[e>>2]|0)+32>>2]&127](M,e);if(!(f[u>>0]&1))f[u>>0]=0;else t[t[u+8>>2]>>2]=0;t[u+4>>2]=0;w=0;ce(93,u|0,0);n=w;w=0;if(n&1){u=je(0)|0;Ni(u)}else{t[u>>2]=t[M>>2];t[u+4>>2]=t[M+4>>2];t[u+8>>2]=t[M+8>>2];t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;Xh(M);break}}else{aM[t[r+40>>2]&127](A,e);i=t[A>>2]|0;f[n>>0]=i;f[n+1>>0]=i>>8;f[n+2>>0]=i>>16;f[n+3>>0]=i>>24;aM[t[(t[e>>2]|0)+28>>2]&127](E,e);if(!(f[u>>0]&1))f[u>>0]=0;else t[t[u+8>>2]>>2]=0;t[u+4>>2]=0;w=0;ce(93,u|0,0);n=w;w=0;if(n&1){u=je(0)|0;Ni(u)}else{t[u>>2]=t[E>>2];t[u+4>>2]=t[E+4>>2];t[u+8>>2]=t[E+8>>2];t[E>>2]=0;t[E+4>>2]=0;t[E+8>>2]=0;Xh(E);break}}}while(0);t[a>>2]=lM[t[(t[e>>2]|0)+12>>2]&127](e)|0;t[s>>2]=lM[t[(t[e>>2]|0)+16>>2]&127](e)|0;aM[t[(t[e>>2]|0)+20>>2]&127](_,e);if(!(f[l>>0]&1)){f[l+1>>0]=0;f[l>>0]=0}else{f[t[l+8>>2]>>0]=0;t[l+4>>2]=0}w=0;ce(91,l|0,0);s=w;w=0;if(s&1){s=je(0)|0;Ni(s)}t[l>>2]=t[_>>2];t[l+4>>2]=t[_+4>>2];t[l+8>>2]=t[_+8>>2];t[_>>2]=0;t[_+4>>2]=0;t[_+8>>2]=0;xh(_);aM[t[(t[e>>2]|0)+24>>2]&127](k,e);if(!(f[o>>0]&1))f[o>>0]=0;else t[t[o+8>>2]>>2]=0;t[o+4>>2]=0;w=0;ce(93,o|0,0);s=w;w=0;if(s&1){s=je(0)|0;Ni(s)}else{t[o>>2]=t[k>>2];t[o+4>>2]=t[k+4>>2];t[o+8>>2]=t[k+8>>2];t[k>>2]=0;t[k+4>>2]=0;t[k+8>>2]=0;Xh(k);S=lM[t[(t[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);t[h>>2]=S;c=T;return}function cu(e,i,r,n,a,s,l,o,u,c,h,d,b,_,k){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;h=h|0;d=d|0;b=b|0;_=_|0;k=k|0;var w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0;t[r>>2]=e;B=_+4|0;z=_+8|0;R=b+4|0;C=(n&512|0)==0;P=b+8|0;I=(k|0)>0;O=d+4|0;x=d+8|0;L=d+1|0;S=(k|0)>0;E=0;do{switch(f[u+E>>0]|0){case 0:{t[i>>2]=t[r>>2];break}case 1:{t[i>>2]=t[r>>2];M=_M[t[(t[l>>2]|0)+44>>2]&63](l,32)|0;A=t[r>>2]|0;t[r>>2]=A+4;t[A>>2]=M;break}case 3:{A=f[_>>0]|0;w=(A&1)==0;if((w?(A&255)>>>1:t[B>>2]|0)|0){M=t[(w?B:t[z>>2]|0)>>2]|0;A=t[r>>2]|0;t[r>>2]=A+4;t[A>>2]=M}break}case 2:{g=f[b>>0]|0;w=(g&1)==0;g=w?(g&255)>>>1:t[R>>2]|0;if(!(C|(g|0)==0)){w=w?R:t[P>>2]|0;v=w+(g<<2)|0;p=t[r>>2]|0;if(g){m=p;while(1){t[m>>2]=t[w>>2];w=w+4|0;if((w|0)==(v|0))break;else m=m+4|0}}t[r>>2]=p+(g<<2)}break}case 4:{w=t[r>>2]|0;a=o?a+4|0:a;e:do{if(a>>>0>>0){m=a;do{if(!(uM[t[(t[l>>2]|0)+12>>2]&63](l,2048,t[m>>2]|0)|0))break e;m=m+4|0}while(m>>>0>>0)}else m=a}while(0);if(I){if(m>>>0>a>>>0&S){g=t[r>>2]|0;p=k;while(1){m=m+-4|0;v=g+4|0;t[g>>2]=t[m>>2];y=p+-1|0;p=(p|0)>1;if(m>>>0>a>>>0&p){g=v;p=y}else{g=y;break}}t[r>>2]=v;v=g}else{p=S;v=k}if(p)y=_M[t[(t[l>>2]|0)+44>>2]&63](l,48)|0;else y=0;M=t[r>>2]|0;p=v+((v|0)<0?~v:-1)|0;if((v|0)>0){g=M;while(1){t[g>>2]=y;if((v|0)>1){g=g+4|0;v=v+-1|0}else break}}t[r>>2]=M+(p+2<<2);t[M+(p+1<<2)>>2]=c}if((m|0)==(a|0)){M=_M[t[(t[l>>2]|0)+44>>2]&63](l,48)|0;A=t[r>>2]|0;m=A+4|0;t[r>>2]=m;t[A>>2]=M}else{M=f[d>>0]|0;v=(M&1)==0;A=t[O>>2]|0;if(!((v?(M&255)>>>1:A)|0))v=-1;else v=f[(v?L:t[x>>2]|0)>>0]|0;if((m|0)!=(a|0)){y=0;M=0;while(1){p=t[r>>2]|0;if((M|0)==(v|0)){g=p+4|0;t[r>>2]=g;t[p>>2]=h;y=y+1|0;p=f[d>>0]|0;v=(p&1)==0;if(y>>>0<(v?(p&255)>>>1:A)>>>0){v=f[(v?L:t[x>>2]|0)+y>>0]|0;p=g;v=v<<24>>24==127?-1:v<<24>>24;g=0}else{p=g;v=M;g=0}}else g=M;m=m+-4|0;M=t[m>>2]|0;t[r>>2]=p+4;t[p>>2]=M;if((m|0)==(a|0))break;else M=g+1|0}}m=t[r>>2]|0}if((w|0)!=(m|0)?(T=m+-4|0,w>>>0>>0):0){m=T;do{A=t[w>>2]|0;t[w>>2]=t[m>>2];t[m>>2]=A;w=w+4|0;m=m+-4|0}while(w>>>0>>0)}break}default:{}}E=E+1|0}while((E|0)!=4);w=f[_>>0]|0;a=(w&1)==0;w=a?(w&255)>>>1:t[B>>2]|0;if(w>>>0>1){m=a?B:t[z>>2]|0;a=m+4|0;m=m+(w<<2)|0;v=t[r>>2]|0;p=m-a|0;if((w|0)!=1){w=v;while(1){t[w>>2]=t[a>>2];a=a+4|0;if((a|0)==(m|0))break;else w=w+4|0}}t[r>>2]=v+(p>>>2<<2)}switch(n&176|0){case 32:{t[i>>2]=t[r>>2];break}case 16:break;default:t[i>>2]=e}return}function hu(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0;E=c;c=c+480|0;_=E+468|0;T=E+464|0;M=E+472|0;p=E+56|0;A=E+52|0;R=E+40|0;P=E+28|0;C=E+16|0;h=E+12|0;b=E+64|0;y=E+8|0;g=E+4|0;k=E;e=sd(n)|0;t[T>>2]=e;w=0;m=pe(37,T|0,44212)|0;v=w;w=0;do{if(v&1)I=13;else{d=f[s>>0]|0;l=(d&1)==0;v=s+4|0;if(!((l?(d&255)>>>1:t[v>>2]|0)|0))d=0;else{l=t[(l?v:t[s+8>>2]|0)>>2]|0;w=0;o=pe(t[(t[m>>2]|0)+44>>2]|0,m|0,45)|0;d=w;w=0;if(d&1){I=13;break}d=(l|0)==(o|0)}t[R>>2]=0;t[R+4>>2]=0;t[R+8>>2]=0;t[P>>2]=0;t[P+4>>2]=0;t[P+8>>2]=0;t[C>>2]=0;t[C+4>>2]=0;t[C+8>>2]=0;w=0;ve(4,r|0,d|0,T|0,M|0,p|0,A|0,R|0,P|0,C|0,h|0);u=w;w=0;if(!(u&1)){u=f[s>>0]|0;r=t[v>>2]|0;l=(u&1)==0?(u&255)>>>1:r;h=t[h>>2]|0;if((l|0)>(h|0)){O=f[C>>0]|0;o=f[P>>0]|0;l=(l-h<<1|1)+h+((O&1)==0?(O&255)>>>1:t[C+4>>2]|0)+((o&1)==0?(o&255)>>>1:t[P+4>>2]|0)|0}else{O=f[C>>0]|0;l=f[P>>0]|0;l=h+2+((O&1)==0?(O&255)>>>1:t[C+4>>2]|0)+((l&1)==0?(l&255)>>>1:t[P+4>>2]|0)|0}if(l>>>0>100){l=Pc(l<<2)|0;o=l;if(!l){w=0;Se(6);O=w;w=0;if(!(O&1)){u=f[s>>0]|0;r=t[v>>2]|0;l=0;I=17}}else I=17}else{o=0;l=b;I=17}if((I|0)==17){O=(u&1)==0;s=O?v:t[s+8>>2]|0;w=0;ke(2,l|0,y|0,g|0,t[n+4>>2]|0,s|0,s+((O?(u&255)>>>1:r)<<2)|0,m|0,d|0,M|0,t[p>>2]|0,t[A>>2]|0,R|0,P|0,C|0,h|0);O=w;w=0;if(!(O&1)?(t[k>>2]=t[i>>2],O=t[y>>2]|0,S=t[g>>2]|0,w=0,t[_>>2]=t[k>>2],S=he(40,_|0,l|0,O|0,S|0,n|0,a|0)|0,O=w,w=0,!(O&1)):0){if(o){Ic(o);e=t[T>>2]|0}Xh(C);Xh(P);xh(R);bh(e)|0;c=E;return S|0}}l=je()|0;if(o){Ic(o);e=t[T>>2]|0}}else l=je()|0;Xh(C);Xh(P);xh(R)}}while(0);if((I|0)==13)l=je()|0;bh(e)|0;Qe(l|0);return 0}function du(e){e=e|0;return}function bu(e){e=e|0;Bp(e);return}function _u(e,i,r){e=e|0;i=i|0;r=r|0;e=qg((f[i>>0]&1)==0?i+1|0:t[i+8>>2]|0,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function ku(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0;o=c;c=c+16|0;u=o;t[u>>2]=0;t[u+4>>2]=0;t[u+8>>2]=0;l=f[s>>0]|0;h=(l&1)==0;i=h?s+1|0:t[s+8>>2]|0;l=h?(l&255)>>>1:t[s+4>>2]|0;s=i+l|0;e:do{if((l|0)>0){while(1){w=0;ce(67,u|0,f[i>>0]|0);h=w;w=0;if(h&1)break;i=i+1|0;if(i>>>0>=s>>>0){l=4;break e}}i=je()|0;l=7}else l=4}while(0);e:do{if((l|0)==4){w=0;i=Ae(19,((r|0)==-1?-1:r<<1)|0,n|0,a|0,((f[u>>0]&1)==0?u+1|0:t[u+8>>2]|0)|0)|0;h=w;w=0;if(h&1){i=je()|0;l=7;break}t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;h=Vy(i)|0;s=i+h|0;i:do{if((h|0)>0){while(1){w=0;ce(67,e|0,f[i>>0]|0);h=w;w=0;if(h&1)break;i=i+1|0;if(i>>>0>=s>>>0)break i}i=je()|0;xh(e);break e}}while(0);xh(u);c=o;return}}while(0);xh(u);Qe(i|0)}function wu(e,i){e=e|0;i=i|0;return}function mu(e){e=e|0;return}function vu(e){e=e|0;Bp(e);return}function pu(e,i,r){e=e|0;i=i|0;r=r|0;e=qg((f[i>>0]&1)==0?i+1|0:t[i+8>>2]|0,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function gu(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0;y=c;c=c+224|0;b=y+184|0;d=y+192|0;h=y+180|0;_=y+176|0;p=y+168|0;v=y+40|0;m=y+32|0;g=y+28|0;M=y+16|0;u=y+8|0;k=y;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;t[u+4>>2]=0;t[u>>2]=44696;o=f[s>>0]|0;A=(o&1)==0;l=s+4|0;i=A?l:t[s+8>>2]|0;s=A?(o&255)>>>1:t[l>>2]|0;l=i+(s<<2)|0;o=d+32|0;e:do{if((s|0)>0){i:while(1){t[_>>2]=i;w=0;s=Te(t[(t[u>>2]|0)+12>>2]|0,u|0,b|0,i|0,l|0,_|0,d|0,o|0,h|0)|0;A=w;w=0;if(A&1){s=12;break}if((s|0)==2?1:(t[_>>2]|0)==(i|0)){s=5;break}if(d>>>0<(t[h>>2]|0)>>>0){i=d;do{w=0;ce(67,M|0,f[i>>0]|0);A=w;w=0;if(A&1){s=11;break i}i=i+1|0}while(i>>>0<(t[h>>2]|0)>>>0)}i=t[_>>2]|0;if(!((s|0)!=2&i>>>0>>0)){s=9;break e}}if((s|0)==5){w=0;ue(190,58955);w=0;i=je()|0}else if((s|0)==11)i=je()|0;else if((s|0)==12)i=je()|0}else s=9}while(0);e:do{if((s|0)==9){w=0;i=Ae(19,((r|0)==-1?-1:r<<1)|0,n|0,a|0,((f[M>>0]&1)==0?M+1|0:t[M+8>>2]|0)|0)|0;A=w;w=0;if(A&1){i=je()|0;break}t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[k+4>>2]=0;t[k>>2]=44744;A=Vy(i)|0;l=i+A|0;o=l;u=v+128|0;i:do{if((A|0)>0){r:while(1){t[g>>2]=i;w=0;s=Te(t[(t[k>>2]|0)+16>>2]|0,k|0,p|0,i|0,((o-i|0)>32?i+32|0:l)|0,g|0,v|0,u|0,m|0)|0;A=w;w=0;if(A&1){s=24;break}if((s|0)==2?1:(t[g>>2]|0)==(i|0)){s=18;break}if(v>>>0<(t[m>>2]|0)>>>0){i=v;do{w=0;ce(92,e|0,t[i>>2]|0);A=w;w=0;if(A&1){s=23;break r}i=i+4|0}while(i>>>0<(t[m>>2]|0)>>>0)}i=t[g>>2]|0;if(!((s|0)!=2&i>>>0>>0))break i}if((s|0)==18){w=0;ue(190,58955);w=0;i=je()|0}else if((s|0)==23)i=je()|0;else if((s|0)==24)i=je()|0;Xh(e);break e}}while(0);xh(M);c=y;return}}while(0);xh(M);Qe(i|0)}function yu(e,i){e=e|0;i=i|0;return}function Mu(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0;t[e+4>>2]=i+-1;t[e>>2]=44196;s=e+8|0;w=0;ce(94,s|0,28);a=w;w=0;if(a&1)i=je()|0;else{a=e+144|0;w=0;Ee(5,a|0,58885,1);n=w;w=0;if(n&1)i=je()|0;else{r=t[s>>2]|0;n=e+12|0;i=t[n>>2]|0;if((i|0)!=(r|0)){do{i=i+-4|0}while((i|0)!=(r|0));t[n>>2]=i}t[495]=0;t[494]=43124;w=0;ce(95,e|0,1976);n=w;w=0;do{if(((((((((((((!(n&1)?(t[497]=0,t[496]=43164,w=0,ce(96,e|0,1984),n=w,w=0,!(n&1)):0)?(t[499]=0,t[498]=44236,t[500]=0,f[2004]=0,t[500]=ju()|0,w=0,ce(97,e|0,1992),n=w,w=0,!(n&1)):0)?(t[503]=0,t[502]=44484,w=0,ce(98,e|0,2008),n=w,w=0,!(n&1)):0)?(t[505]=0,t[504]=44552,w=0,ce(99,e|0,2016),n=w,w=0,!(n&1)):0)?(w=0,ce(100,2024,1),n=w,w=0,!(n&1)):0)?(w=0,ce(101,e|0,2024),n=w,w=0,!(n&1)):0)?(t[511]=0,t[510]=44600,w=0,ce(102,e|0,2040),n=w,w=0,!(n&1)):0)?(t[513]=0,t[512]=44648,w=0,ce(103,e|0,2048),n=w,w=0,!(n&1)):0)?(tk(2056,1),w=0,ce(104,e|0,2056),n=w,w=0,!(n&1)):0)?(ak(2080,1),w=0,ce(105,e|0,2080),n=w,w=0,!(n&1)):0)?(t[529]=0,t[528]=43204,w=0,ce(106,e|0,2112),n=w,w=0,!(n&1)):0)?(t[531]=0,t[530]=43276,w=0,ce(107,e|0,2120),n=w,w=0,!(n&1)):0)?(t[533]=0,t[532]=43348,w=0,ce(108,e|0,2128),n=w,w=0,!(n&1)):0){t[535]=0;t[534]=43408;w=0;ce(109,e|0,2136);n=w;w=0;if(n&1){l=42;break}t[537]=0;t[536]=43716;w=0;ce(110,e|0,2144);n=w;w=0;if(n&1){l=42;break}t[539]=0;t[538]=43780;w=0;ce(111,e|0,2152);n=w;w=0;if(n&1){l=42;break}t[541]=0;t[540]=43844;w=0;ce(112,e|0,2160);n=w;w=0;if(n&1){l=42;break}t[543]=0;t[542]=43908;w=0;ce(113,e|0,2168);n=w;w=0;if(n&1){l=42;break}t[545]=0;t[544]=43972;w=0;ce(114,e|0,2176);n=w;w=0;if(n&1){l=42;break}t[547]=0;t[546]=44008;w=0;ce(115,e|0,2184);n=w;w=0;if(n&1){l=42;break}t[549]=0;t[548]=44044;w=0;ce(116,e|0,2192);n=w;w=0;if(n&1){l=42;break}t[551]=0;t[550]=44080;w=0;ce(117,e|0,2200);n=w;w=0;if(n&1){l=42;break}t[553]=0;t[552]=43468;t[554]=43516;w=0;ce(118,e|0,2208);n=w;w=0;if(n&1){l=42;break}t[557]=0;t[556]=43560;t[558]=43608;w=0;ce(119,e|0,2224);n=w;w=0;if(n&1){l=42;break}t[561]=0;t[560]=44464;w=0;i=Me(3)|0;n=w;w=0;if(n&1){i=je()|0;break}t[562]=i;t[560]=43652;w=0;ce(120,e|0,2240);n=w;w=0;if(n&1){l=42;break}t[565]=0;t[564]=44464;w=0;i=Me(3)|0;n=w;w=0;if(n&1){i=je()|0;break}t[566]=i;t[564]=43684;w=0;ce(121,e|0,2256);l=w;w=0;if(l&1){l=42;break}t[569]=0;t[568]=44116;w=0;ce(122,e|0,2272);l=w;w=0;if(l&1){l=42;break}t[571]=0;t[570]=44156;w=0;ce(123,e|0,2280);l=w;w=0;if(l&1){l=42;break}return}else l=42}while(0);if((l|0)==42)i=je()|0;xh(a)}Yw(s)}Qe(i|0)}function Au(){var e=0;do{if((f[2288]|0)==0?(ze(2288)|0)!=0:0){w=0;Me(4)|0;e=w;w=0;if(e&1){e=je()|0;gi(2288);Qe(e|0)}else{t[11246]=44980;qe(2288);break}}}while(0);return t[11246]|0}function Eu(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0;dh(i);n=e+8|0;f=t[n>>2]|0;do{if((t[e+12>>2]|0)-f>>2>>>0<=r>>>0){w=0;ce(124,n|0,r+1|0);e=w;w=0;if(!(e&1)){f=t[n>>2]|0;break}f=je()|0;if(i)bh(i)|0;Qe(f|0)}}while(0);e=t[f+(r<<2)>>2]|0;if(e){bh(e)|0;f=t[n>>2]|0}t[f+(r<<2)>>2]=i;return}function Su(e){e=e|0;var i=0,r=0,f=0,n=0;t[e>>2]=44196;f=e+8|0;n=e+12|0;i=t[f>>2]|0;if((t[n>>2]|0)!=(i|0)){r=0;do{i=t[i+(r<<2)>>2]|0;if(i)bh(i)|0;r=r+1|0;i=t[f>>2]|0}while(r>>>0<(t[n>>2]|0)-i>>2>>>0)}xh(e+144|0);Yw(f);return}function Tu(e){e=e|0;Su(e);Bp(e);return}function Ru(e,i){e=e|0;i=i|0;if($w(e,i)|0)return t[(t[e+8>>2]|0)+(i<<2)>>2]|0;else{e=Ue(4)|0;Kp(e);bi(e|0,640,82)}return 0}function Cu(){Mu(2296,1);t[11245]=2296;return 44980}function Pu(){var e=0;e=t[(Au()|0)>>2]|0;t[11247]=e;dh(e);return 44988}function Iu(){var e=0;do{if((f[2456]|0)==0?(ze(2456)|0)!=0:0){w=0;Me(5)|0;e=w;w=0;if(e&1){e=je()|0;gi(2456);Qe(e|0)}else{t[11248]=44988;qe(2456);break}}}while(0);return t[11248]|0}function Ou(e){e=e|0;var i=0,r=0;w=0;i=Me(6)|0;r=w;w=0;if(r&1){r=je(0)|0;Ni(r)}else{r=t[i>>2]|0;t[e>>2]=r;dh(r);return}}function xu(e,i){e=e|0;i=i|0;i=t[i>>2]|0;t[e>>2]=i;dh(i);return}function Lu(e){e=e|0;bh(t[e>>2]|0)|0;return}function Bu(e){e=e|0;var i=0,r=0;r=c;c=c+16|0;i=r;if((t[e>>2]|0)!=-1){t[i>>2]=e;t[i+4>>2]=191;t[i+8>>2]=0;Ch(e,i,192)}c=r;return(t[e+4>>2]|0)+-1|0}function zu(e,i){e=e|0;i=i|0;e=t[e>>2]|0;return Ru(e,Bu(i)|0)|0}function Du(e){e=e|0;Bp(e);return}function Nu(e){e=e|0;if(e)tM[t[(t[e>>2]|0)+4>>2]&255](e);return}function Fu(e){e=e|0;var i=0;i=t[11052]|0;t[11052]=i+1;t[e+4>>2]=i+1;return}function Hu(e){e=e|0;Bp(e);return}function Uu(e,i,r){e=e|0;i=i|0;r=r|0;if(r>>>0<128)r=(n[(ju()|0)+(r<<1)>>1]&i)<<16>>16!=0;else r=0;return r|0}function ju(){var e=0,i=0;w=0;e=Me(7)|0;i=w;w=0;if(i&1){i=je(0)|0;Ni(i)}else return t[e>>2]|0;return 0}function Yu(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0;l=(r-i|0)>>>2;if((i|0)!=(r|0)){a=i;while(1){e=t[a>>2]|0;if(e>>>0<128)e=s[(ju()|0)+(e<<1)>>1]|0;else e=0;n[f>>1]=e;a=a+4|0;if((a|0)==(r|0))break;else f=f+2|0}}return i+(l<<2)|0}function qu(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;e:do{if((r|0)==(f|0))r=f;else while(1){e=t[r>>2]|0;if(e>>>0<128?(n[(ju()|0)+(e<<1)>>1]&i)<<16>>16!=0:0)break e;r=r+4|0;if((r|0)==(f|0)){r=f;break}}}while(0);return r|0}function $u(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;e:do{if((r|0)==(f|0))r=f;else while(1){e=t[r>>2]|0;if(e>>>0>=128)break e;if(!((n[(ju()|0)+(e<<1)>>1]&i)<<16>>16))break e;r=r+4|0;if((r|0)==(f|0)){r=f;break}}}while(0);return r|0}function Vu(e,i){e=e|0;i=i|0;if(i>>>0<128)i=t[(Xu()|0)+(i<<2)>>2]|0;return i|0}function Xu(){var e=0,i=0;w=0;e=Me(8)|0;i=w;w=0;if(i&1){i=je(0)|0;Ni(i)}else return t[e>>2]|0;return 0}function Gu(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0;n=(r-i|0)>>>2;if((i|0)!=(r|0)){f=i;do{e=t[f>>2]|0;if(e>>>0<128)e=t[(Xu()|0)+(e<<2)>>2]|0;t[f>>2]=e;f=f+4|0}while((f|0)!=(r|0))}return i+(n<<2)|0}function Ku(e,i){e=e|0;i=i|0;if(i>>>0<128)i=t[(Wu()|0)+(i<<2)>>2]|0;return i|0}function Wu(){var e=0,i=0;w=0;e=Me(9)|0;i=w;w=0;if(i&1){i=je(0)|0;Ni(i)}else return t[e>>2]|0;return 0}function Zu(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0;n=(r-i|0)>>>2;if((i|0)!=(r|0)){f=i;do{e=t[f>>2]|0;if(e>>>0<128)e=t[(Wu()|0)+(e<<2)>>2]|0;t[f>>2]=e;f=f+4|0}while((f|0)!=(r|0))}return i+(n<<2)|0}function Ju(e,i){e=e|0;i=i|0;return i<<24>>24|0}function Qu(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;if((i|0)!=(r|0))while(1){t[n>>2]=f[i>>0];i=i+1|0;if((i|0)==(r|0))break;else n=n+4|0}return r|0}function ec(e,i,r){e=e|0;i=i|0;r=r|0;return(i>>>0<128?i&255:r)|0}function ic(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=(r-i|0)>>>2;if((i|0)!=(r|0)){s=i;e=a;while(1){a=t[s>>2]|0;f[e>>0]=a>>>0<128?a&255:n;s=s+4|0;if((s|0)==(r|0))break;else e=e+1|0}}return i+(l<<2)|0}function rc(e){e=e|0;var i=0;t[e>>2]=44236;i=t[e+8>>2]|0;if((i|0)!=0?(f[e+12>>0]|0)!=0:0)zp(i);return}function fc(e){e=e|0;rc(e);Bp(e);return}function nc(e,i){e=e|0;i=i|0;if(i<<24>>24>-1)i=t[(Xu()|0)+((i&255)<<2)>>2]&255;return i|0}function tc(e,i,r){e=e|0;i=i|0;r=r|0;if((i|0)!=(r|0)){e=i;do{i=f[e>>0]|0;if(i<<24>>24>-1)i=t[(Xu()|0)+(i<<24>>24<<2)>>2]&255;f[e>>0]=i;e=e+1|0}while((e|0)!=(r|0))}return r|0}function ac(e,i){e=e|0;i=i|0;if(i<<24>>24>-1)i=t[(Wu()|0)+(i<<24>>24<<2)>>2]&255;return i|0}function sc(e,i,r){e=e|0;i=i|0;r=r|0;if((i|0)!=(r|0)){e=i;do{i=f[e>>0]|0;if(i<<24>>24>-1)i=t[(Wu()|0)+(i<<24>>24<<2)>>2]&255;f[e>>0]=i;e=e+1|0}while((e|0)!=(r|0))}return r|0}function lc(e,i){e=e|0;i=i|0;return i|0}function oc(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;if((i|0)!=(r|0))while(1){f[n>>0]=f[i>>0]|0;i=i+1|0;if((i|0)==(r|0))break;else n=n+1|0}return r|0}function uc(e,i,r){e=e|0;i=i|0;r=r|0;return(i<<24>>24>-1?i:r)|0}function cc(e,i,r,n,t){e=e|0;i=i|0;r=r|0;n=n|0;t=t|0;if((i|0)!=(r|0))while(1){e=f[i>>0]|0;f[t>>0]=e<<24>>24>-1?e:n;i=i+1|0;if((i|0)==(r|0))break;else t=t+1|0}return r|0}function hc(e){e=e|0;Bp(e);return}function dc(e,i,r,f,n,a,s,l){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;s=s|0;l=l|0;t[n>>2]=r;t[l>>2]=a;return 3}function bc(e,i,r,f,n,a,s,l){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;s=s|0;l=l|0;t[n>>2]=r;t[l>>2]=a;return 3}function _c(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t[n>>2]=r;return 3}function kc(e){e=e|0;return 1}function wc(e){e=e|0;return 1}function mc(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;e=f-r|0;return(e>>>0>>0?e:n)|0}function vc(e){e=e|0;return 1}function pc(e,i){e=e|0;i=i|0;var r=0;t[e+4>>2]=i+-1;t[e>>2]=44304;w=0;i=Me(3)|0;r=w;w=0;if(r&1){r=je()|0;Qe(r|0)}else{t[e+8>>2]=i;return}}function gc(e){e=e|0;zk(e);Bp(e);return}function yc(e,i,r,s,l){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;var o=0,h=0,b=0,_=0,k=0.0,w=0,m=0,v=0,p=0,g=0.0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,U=0,j=0,Y=0,q=0,$=0,V=0,X=0,G=0,K=0,W=0,Z=0,J=0,Q=0,ee=0,ie=0,fe=0,ne=0,te=0,ae=0,se=0;se=c;c=c+624|0;ie=se+24|0;ne=se+16|0;fe=se+588|0;W=se+576|0;ee=se;X=se+536|0;ae=se+8|0;te=se+528|0;N=(e|0)!=0;F=X+40|0;V=F;X=X+39|0;G=ae+4|0;K=W+12|0;W=W+11|0;Z=fe;J=K;Q=J-Z|0;H=-2-Z|0;U=J+2|0;j=ie+288|0;Y=fe+9|0;q=Y;$=fe+8|0;o=0;y=i;h=0;i=0;e:while(1){do{if((o|0)>-1)if((h|0)>(2147483647-o|0)){t[(Bg()|0)>>2]=75;o=-1;break}else{o=h+o|0;break}}while(0);h=f[y>>0]|0;if(!(h<<24>>24)){D=245;break}else b=y;i:while(1){switch(h<<24>>24){case 37:{h=b;D=9;break i}case 0:{h=b;break i}default:{}}z=b+1|0;h=f[z>>0]|0;b=z}i:do{if((D|0)==9)while(1){D=0;if((f[h+1>>0]|0)!=37)break i;b=b+1|0;h=h+2|0;if((f[h>>0]|0)==37)D=9;else break}}while(0);A=b-y|0;if(N?(t[e>>2]&32|0)==0:0)Ry(y,A,e)|0;if((b|0)!=(y|0)){y=h;h=A;continue}w=h+1|0;b=f[w>>0]|0;_=(b<<24>>24)+-48|0;if(_>>>0<10){z=(f[h+2>>0]|0)==36;w=z?h+3|0:w;b=f[w>>0]|0;p=z?_:-1;i=z?1:i}else p=-1;h=b<<24>>24;i:do{if((h&-32|0)==32){_=0;while(1){if(!(1<>24)+-32|_;w=w+1|0;b=f[w>>0]|0;h=b<<24>>24;if((h&-32|0)!=32){m=_;h=w;break}}}else{m=0;h=w}}while(0);do{if(b<<24>>24==42){_=h+1|0;b=(f[_>>0]|0)+-48|0;if(b>>>0<10?(f[h+2>>0]|0)==36:0){t[l+(b<<2)>>2]=10;i=1;h=h+3|0;b=t[s+((f[_>>0]|0)+-48<<3)>>2]|0}else{if(i){o=-1;break e}if(!N){M=m;h=_;i=0;z=0;break}i=(t[r>>2]|0)+(4-1)&~(4-1);b=t[i>>2]|0;t[r>>2]=i+4;i=0;h=_}if((b|0)<0){M=m|8192;z=0-b|0}else{M=m;z=b}}else{_=(b<<24>>24)+-48|0;if(_>>>0<10){b=0;do{b=(b*10|0)+_|0;h=h+1|0;_=(f[h>>0]|0)+-48|0}while(_>>>0<10);if((b|0)<0){o=-1;break e}else{M=m;z=b}}else{M=m;z=0}}}while(0);i:do{if((f[h>>0]|0)==46){_=h+1|0;b=f[_>>0]|0;if(b<<24>>24!=42){w=(b<<24>>24)+-48|0;if(w>>>0<10){h=_;b=0}else{h=_;w=0;break}while(1){b=(b*10|0)+w|0;h=h+1|0;w=(f[h>>0]|0)+-48|0;if(w>>>0>=10){w=b;break i}}}_=h+2|0;b=(f[_>>0]|0)+-48|0;if(b>>>0<10?(f[h+3>>0]|0)==36:0){t[l+(b<<2)>>2]=10;h=h+4|0;w=t[s+((f[_>>0]|0)+-48<<3)>>2]|0;break}if(i){o=-1;break e}if(N){h=(t[r>>2]|0)+(4-1)&~(4-1);w=t[h>>2]|0;t[r>>2]=h+4;h=_}else{h=_;w=0}}else w=-1}while(0);v=0;while(1){b=(f[h>>0]|0)+-65|0;if(b>>>0>57){o=-1;break e}_=h+1|0;b=f[56223+(v*58|0)+b>>0]|0;m=b&255;if((m+-1|0)>>>0<8){h=_;v=m}else{B=_;break}}if(!(b<<24>>24)){o=-1;break}_=(p|0)>-1;do{if(b<<24>>24==19)if(_){o=-1;break e}else D=52;else{if(_){t[l+(p<<2)>>2]=m;x=s+(p<<3)|0;L=t[x+4>>2]|0;D=ee;t[D>>2]=t[x>>2];t[D+4>>2]=L;D=52;break}if(!N){o=0;break e}Tc(ee,m,r)}}while(0);if((D|0)==52?(D=0,!N):0){y=B;h=A;continue}p=f[h>>0]|0;p=(v|0)!=0&(p&15|0)==3?p&-33:p;_=M&-65537;L=(M&8192|0)==0?M:_;i:do{switch(p|0){case 110:switch(v|0){case 0:{t[t[ee>>2]>>2]=o;y=B;h=A;continue e}case 1:{t[t[ee>>2]>>2]=o;y=B;h=A;continue e}case 2:{y=t[ee>>2]|0;t[y>>2]=o;t[y+4>>2]=((o|0)<0)<<31>>31;y=B;h=A;continue e}case 3:{n[t[ee>>2]>>1]=o;y=B;h=A;continue e}case 4:{f[t[ee>>2]>>0]=o;y=B;h=A;continue e}case 6:{t[t[ee>>2]>>2]=o;y=B;h=A;continue e}case 7:{y=t[ee>>2]|0;t[y>>2]=o;t[y+4>>2]=((o|0)<0)<<31>>31;y=B;h=A;continue e}default:{y=B;h=A;continue e}}case 112:{v=L|8;w=w>>>0>8?w:8;p=120;D=64;break}case 88:case 120:{v=L;D=64;break}case 111:{_=ee;b=t[_>>2]|0;_=t[_+4>>2]|0;if((b|0)==0&(_|0)==0)h=F;else{h=F;do{h=h+-1|0;f[h>>0]=b&7|48;b=Am(b|0,_|0,3)|0;_=O}while(!((b|0)==0&(_|0)==0))}if(!(L&8)){b=L;v=0;m=56703;D=77}else{v=V-h+1|0;b=L;w=(w|0)<(v|0)?v:w;v=0;m=56703;D=77}break}case 105:case 100:{b=ee;h=t[b>>2]|0;b=t[b+4>>2]|0;if((b|0)<0){h=gm(0,0,h|0,b|0)|0;b=O;_=ee;t[_>>2]=h;t[_+4>>2]=b;_=1;m=56703;D=76;break i}if(!(L&2048)){m=L&1;_=m;m=(m|0)==0?56703:56705;D=76}else{_=1;m=56704;D=76}break}case 117:{b=ee;h=t[b>>2]|0;b=t[b+4>>2]|0;_=0;m=56703;D=76;break}case 99:{f[X>>0]=t[ee>>2];y=X;b=1;v=0;p=56703;h=F;break}case 109:{h=zg(t[(Bg()|0)>>2]|0)|0;D=82;break}case 115:{h=t[ee>>2]|0;h=(h|0)!=0?h:56713;D=82;break}case 67:{t[ae>>2]=t[ee>>2];t[G>>2]=0;t[ee>>2]=ae;w=-1;D=86;break}case 83:{if(!w){Cc(e,32,z,0,L);h=0;D=98}else D=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{k=+u[ee>>3];t[ne>>2]=0;u[d>>3]=k;if((t[d+4>>2]|0)>=0)if(!(L&2048)){x=L&1;I=x;x=(x|0)==0?56721:56726}else{I=1;x=56723}else{k=-k;I=1;x=56720}u[d>>3]=k;P=t[d+4>>2]&2146435072;do{if(P>>>0<2146435072|(P|0)==2146435072&0<0){g=+iy(k,ne)*2.0;b=g!=0.0;if(b)t[ne>>2]=(t[ne>>2]|0)+-1;R=p|32;if((R|0)==97){y=p&32;A=(y|0)==0?x:x+9|0;M=I|2;h=12-w|0;do{if(!(w>>>0>11|(h|0)==0)){k=8.0;do{h=h+-1|0;k=k*16.0}while((h|0)!=0);if((f[A>>0]|0)==45){k=-(k+(-g-k));break}else{k=g+k-k;break}}else k=g}while(0);b=t[ne>>2]|0;h=(b|0)<0?0-b|0:b;h=Rc(h,((h|0)<0)<<31>>31,K)|0;if((h|0)==(K|0)){f[W>>0]=48;h=W}f[h+-1>>0]=(b>>31&2)+43;v=h+-2|0;f[v>>0]=p+15;m=(w|0)<1;_=(L&8|0)==0;b=fe;while(1){x=~~k;h=b+1|0;f[b>>0]=a[56687+x>>0]|y;k=(k-+(x|0))*16.0;do{if((h-Z|0)==1){if(_&(m&k==0.0))break;f[h>>0]=46;h=b+2|0}}while(0);if(!(k!=0.0))break;else b=h}w=(w|0)!=0&(H+h|0)<(w|0)?U+w-v|0:Q-v+h|0;_=w+M|0;Cc(e,32,z,_,L);if(!(t[e>>2]&32))Ry(A,M,e)|0;Cc(e,48,z,_,L^65536);h=h-Z|0;if(!(t[e>>2]&32))Ry(fe,h,e)|0;b=J-v|0;Cc(e,48,w-(h+b)|0,0,0);if(!(t[e>>2]&32))Ry(v,b,e)|0;Cc(e,32,z,_,L^8192);h=(_|0)<(z|0)?z:_;break}h=(w|0)<0?6:w;if(b){b=(t[ne>>2]|0)+-28|0;t[ne>>2]=b;k=g*268435456.0}else{k=g;b=t[ne>>2]|0}P=(b|0)<0?ie:j;C=P;b=P;do{T=~~k>>>0;t[b>>2]=T;b=b+4|0;k=(k-+(T>>>0))*1.0e9}while(k!=0.0);_=b;b=t[ne>>2]|0;if((b|0)>0){m=P;while(1){v=(b|0)>29?29:b;w=_+-4|0;do{if(w>>>0>>0)w=m;else{b=0;do{T=Sm(t[w>>2]|0,0,v|0)|0;T=Mm(T|0,O|0,b|0,0)|0;b=O;S=Bm(T|0,b|0,1e9,0)|0;t[w>>2]=S;b=Lm(T|0,b|0,1e9,0)|0;w=w+-4|0}while(w>>>0>=m>>>0);if(!b){w=m;break}w=m+-4|0;t[w>>2]=b}}while(0);while(1){if(_>>>0<=w>>>0)break;b=_+-4|0;if(!(t[b>>2]|0))_=b;else break}b=(t[ne>>2]|0)-v|0;t[ne>>2]=b;if((b|0)>0)m=w;else break}}else w=P;if((b|0)<0){A=((h+25|0)/9|0)+1|0;E=(R|0)==102;y=w;while(1){M=0-b|0;M=(M|0)>9?9:M;do{if(y>>>0<_>>>0){b=(1<>>M;w=0;v=y;do{T=t[v>>2]|0;t[v>>2]=(T>>>M)+w;w=re(T&b,m)|0;v=v+4|0}while(v>>>0<_>>>0);b=(t[y>>2]|0)==0?y+4|0:y;if(!w){w=b;break}t[_>>2]=w;w=b;_=_+4|0}else w=(t[y>>2]|0)==0?y+4|0:y}while(0);b=E?P:w;_=(_-b>>2|0)>(A|0)?b+(A<<2)|0:_;b=(t[ne>>2]|0)+M|0;t[ne>>2]=b;if((b|0)>=0){y=w;break}else y=w}}else y=w;do{if(y>>>0<_>>>0){b=(C-y>>2)*9|0;m=t[y>>2]|0;if(m>>>0<10)break;else w=10;do{w=w*10|0;b=b+1|0}while(m>>>0>=w>>>0)}else b=0}while(0);S=(R|0)==103;T=(h|0)!=0;w=h-((R|0)!=102?b:0)+((T&S)<<31>>31)|0;if((w|0)<(((_-C>>2)*9|0)+-9|0)){v=w+9216|0;E=(v|0)/9|0;w=P+(E+-1023<<2)|0;v=((v|0)%9|0)+1|0;if((v|0)<9){m=10;do{m=m*10|0;v=v+1|0}while((v|0)!=9)}else m=10;M=t[w>>2]|0;A=(M>>>0)%(m>>>0)|0;if((A|0)==0?(P+(E+-1022<<2)|0)==(_|0):0)m=y;else D=163;do{if((D|0)==163){D=0;g=(((M>>>0)/(m>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(m|0)/2|0;do{if(A>>>0>>0)k=.5;else{if((A|0)==(v|0)?(P+(E+-1022<<2)|0)==(_|0):0){k=1.0;break}k=1.5}}while(0);do{if(I){if((f[x>>0]|0)!=45)break;g=-g;k=-k}}while(0);v=M-A|0;t[w>>2]=v;if(!(g+k!=g)){m=y;break}R=v+m|0;t[w>>2]=R;if(R>>>0>999999999){b=y;while(1){m=w+-4|0;t[w>>2]=0;if(m>>>0>>0){b=b+-4|0;t[b>>2]=0}R=(t[m>>2]|0)+1|0;t[m>>2]=R;if(R>>>0>999999999)w=m;else{y=b;w=m;break}}}b=(C-y>>2)*9|0;v=t[y>>2]|0;if(v>>>0<10){m=y;break}else m=10;do{m=m*10|0;b=b+1|0}while(v>>>0>=m>>>0);m=y}}while(0);R=w+4|0;y=m;_=_>>>0>R>>>0?R:_}A=0-b|0;while(1){if(_>>>0<=y>>>0){E=0;R=_;break}w=_+-4|0;if(!(t[w>>2]|0))_=w;else{E=1;R=_;break}}do{if(S){h=(T&1^1)+h|0;if((h|0)>(b|0)&(b|0)>-5){p=p+-1|0;h=h+-1-b|0}else{p=p+-2|0;h=h+-1|0}_=L&8;if(_)break;do{if(E){_=t[R+-4>>2]|0;if(!_){w=9;break}if(!((_>>>0)%10|0)){m=10;w=0}else{w=0;break}do{m=m*10|0;w=w+1|0}while(((_>>>0)%(m>>>0)|0|0)==0)}else w=9}while(0);_=((R-C>>2)*9|0)+-9|0;if((p|32|0)==102){_=_-w|0;_=(_|0)<0?0:_;h=(h|0)<(_|0)?h:_;_=0;break}else{_=_+b-w|0;_=(_|0)<0?0:_;h=(h|0)<(_|0)?h:_;_=0;break}}else _=L&8}while(0);M=h|_;m=(M|0)!=0&1;v=(p|32|0)==102;if(v){b=(b|0)>0?b:0;p=0}else{w=(b|0)<0?A:b;w=Rc(w,((w|0)<0)<<31>>31,K)|0;if((J-w|0)<2)do{w=w+-1|0;f[w>>0]=48}while((J-w|0)<2);f[w+-1>>0]=(b>>31&2)+43;C=w+-2|0;f[C>>0]=p;b=J-C|0;p=C}A=I+1+h+m+b|0;Cc(e,32,z,A,L);if(!(t[e>>2]&32))Ry(x,I,e)|0;Cc(e,48,z,A,L^65536);do{if(v){w=y>>>0>P>>>0?P:y;b=w;do{_=Rc(t[b>>2]|0,0,Y)|0;do{if((b|0)==(w|0)){if((_|0)!=(Y|0))break;f[$>>0]=48;_=$}else{if(_>>>0<=fe>>>0)break;do{_=_+-1|0;f[_>>0]=48}while(_>>>0>fe>>>0)}}while(0);if(!(t[e>>2]&32))Ry(_,q-_|0,e)|0;b=b+4|0}while(b>>>0<=P>>>0);do{if(M){if(t[e>>2]&32)break;Ry(56755,1,e)|0}}while(0);if((h|0)>0&b>>>0>>0){_=b;while(1){b=Rc(t[_>>2]|0,0,Y)|0;if(b>>>0>fe>>>0)do{b=b+-1|0;f[b>>0]=48}while(b>>>0>fe>>>0);if(!(t[e>>2]&32))Ry(b,(h|0)>9?9:h,e)|0;_=_+4|0;b=h+-9|0;if(!((h|0)>9&_>>>0>>0)){h=b;break}else h=b}}Cc(e,48,h+9|0,9,0)}else{v=E?R:y+4|0;if((h|0)>-1){m=(_|0)==0;w=y;do{b=Rc(t[w>>2]|0,0,Y)|0;if((b|0)==(Y|0)){f[$>>0]=48;b=$}do{if((w|0)==(y|0)){_=b+1|0;if(!(t[e>>2]&32))Ry(b,1,e)|0;if(m&(h|0)<1){b=_;break}if(t[e>>2]&32){b=_;break}Ry(56755,1,e)|0;b=_}else{if(b>>>0<=fe>>>0)break;do{b=b+-1|0;f[b>>0]=48}while(b>>>0>fe>>>0)}}while(0);_=q-b|0;if(!(t[e>>2]&32))Ry(b,(h|0)>(_|0)?_:h,e)|0;h=h-_|0;w=w+4|0}while(w>>>0>>0&(h|0)>-1)}Cc(e,48,h+18|0,18,0);if(t[e>>2]&32)break;Ry(p,J-p|0,e)|0}}while(0);Cc(e,32,z,A,L^8192);h=(A|0)<(z|0)?z:A}else{v=(p&32|0)!=0;m=k!=k|0.0!=0.0;b=m?0:I;w=b+3|0;Cc(e,32,z,w,_);h=t[e>>2]|0;if(!(h&32)){Ry(x,b,e)|0;h=t[e>>2]|0}if(!(h&32))Ry(m?v?56747:56751:v?56739:56743,3,e)|0;Cc(e,32,z,w,L^8192);h=(w|0)<(z|0)?z:w}}while(0);y=B;continue e}default:{_=L;b=w;v=0;p=56703;h=F}}}while(0);i:do{if((D|0)==64){_=ee;b=t[_>>2]|0;_=t[_+4>>2]|0;m=p&32;if(!((b|0)==0&(_|0)==0)){h=F;do{h=h+-1|0;f[h>>0]=a[56687+(b&15)>>0]|m;b=Am(b|0,_|0,4)|0;_=O}while(!((b|0)==0&(_|0)==0));D=ee;if((v&8|0)==0|(t[D>>2]|0)==0&(t[D+4>>2]|0)==0){b=v;v=0;m=56703;D=77}else{b=v;v=2;m=56703+(p>>4)|0;D=77}}else{h=F;b=v;v=0;m=56703;D=77}}else if((D|0)==76){h=Rc(h,b,F)|0;b=L;v=_;D=77}else if((D|0)==82){D=0;L=jy(h,0,w)|0;x=(L|0)==0;y=h;b=x?w:L-h|0;v=0;p=56703;h=x?h+w|0:L}else if((D|0)==86){D=0;b=0;h=0;m=t[ee>>2]|0;while(1){_=t[m>>2]|0;if(!_)break;h=dy(te,_)|0;if((h|0)<0|h>>>0>(w-b|0)>>>0)break;b=h+b|0;if(w>>>0>b>>>0)m=m+4|0;else break}if((h|0)<0){o=-1;break e}Cc(e,32,z,b,L);if(!b){h=0;D=98}else{_=0;w=t[ee>>2]|0;while(1){h=t[w>>2]|0;if(!h){h=b;D=98;break i}h=dy(te,h)|0;_=h+_|0;if((_|0)>(b|0)){h=b;D=98;break i}if(!(t[e>>2]&32))Ry(te,h,e)|0;if(_>>>0>=b>>>0){h=b;D=98;break}else w=w+4|0}}}}while(0);if((D|0)==98){D=0;Cc(e,32,z,h,L^8192);y=B;h=(z|0)>(h|0)?z:h;continue}if((D|0)==77){D=0;_=(w|0)>-1?b&-65537:b;b=ee;b=(t[b>>2]|0)!=0|(t[b+4>>2]|0)!=0;if((w|0)!=0|b){b=(b&1^1)+(V-h)|0;y=h;b=(w|0)>(b|0)?w:b;p=m;h=F}else{y=F;b=0;p=m;h=F}}m=h-y|0;b=(b|0)<(m|0)?m:b;w=v+b|0;h=(z|0)<(w|0)?w:z;Cc(e,32,h,w,_);if(!(t[e>>2]&32))Ry(p,v,e)|0;Cc(e,48,h,w,_^65536);Cc(e,48,b,m,0);if(!(t[e>>2]&32))Ry(y,m,e)|0;Cc(e,32,h,w,_^8192);y=B}e:do{if((D|0)==245)if(!e)if(i){o=1;while(1){i=t[l+(o<<2)>>2]|0;if(!i)break;Tc(s+(o<<3)|0,i,r);o=o+1|0;if((o|0)>=10){o=1;break e}}if((o|0)<10)while(1){if(t[l+(o<<2)>>2]|0){o=-1;break e}o=o+1|0;if((o|0)>=10){o=1;break}}else o=1}else o=0}while(0);c=se;return o|0}function Mc(e,i,r){e=e|0;i=i|0;r=r|0;return yy(e,i,r)|0}function Ac(e,i,r){e=e|0;i=i|0;r=r|0;var f=0.0,n=0,a=0,s=0,l=0;l=c;c=c+112|0;s=l;n=s;a=n+112|0;do{t[n>>2]=0;n=n+4|0}while((n|0)<(a|0));n=s+4|0;t[n>>2]=e;a=s+8|0;t[a>>2]=-1;t[s+44>>2]=e;t[s+76>>2]=-1;Fg(s,0);f=+Dg(s,r,1);r=(t[n>>2]|0)-(t[a>>2]|0)+(t[s+108>>2]|0)|0;if(i)t[i>>2]=(r|0)!=0?e+r|0:e;c=l;return+f}function Ec(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0,o=0;o=c;c=c+112|0;l=o;t[l>>2]=0;a=l+4|0;t[a>>2]=e;t[l+44>>2]=e;s=l+8|0;t[s>>2]=(e|0)<0?-1:e+2147483647|0;t[l+76>>2]=-1;Fg(l,0);f=Ng(l,r,1,f,n)|0;if(i)t[i>>2]=e+((t[a>>2]|0)+(t[l+108>>2]|0)-(t[s>>2]|0));c=o;return f|0}function Sc(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0;f=e+20|0;n=t[f>>2]|0;e=(t[e+16>>2]|0)-n|0;e=e>>>0>r>>>0?r:e;Em(n|0,i|0,e|0)|0;t[f>>2]=(t[f>>2]|0)+e;return r|0}function Tc(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0.0;e:do{if(i>>>0<=20)do{switch(i|0){case 9:{f=(t[r>>2]|0)+(4-1)&~(4-1);i=t[f>>2]|0;t[r>>2]=f+4;t[e>>2]=i;break e}case 10:{f=(t[r>>2]|0)+(4-1)&~(4-1);i=t[f>>2]|0;t[r>>2]=f+4;f=e;t[f>>2]=i;t[f+4>>2]=((i|0)<0)<<31>>31;break e}case 11:{f=(t[r>>2]|0)+(4-1)&~(4-1);i=t[f>>2]|0;t[r>>2]=f+4;f=e;t[f>>2]=i;t[f+4>>2]=0;break e}case 12:{f=(t[r>>2]|0)+(8-1)&~(8-1);i=f;n=t[i>>2]|0;i=t[i+4>>2]|0;t[r>>2]=f+8;f=e;t[f>>2]=n;t[f+4>>2]=i;break e}case 13:{n=(t[r>>2]|0)+(4-1)&~(4-1);f=t[n>>2]|0;t[r>>2]=n+4;f=(f&65535)<<16>>16;n=e;t[n>>2]=f;t[n+4>>2]=((f|0)<0)<<31>>31;break e}case 14:{n=(t[r>>2]|0)+(4-1)&~(4-1);f=t[n>>2]|0;t[r>>2]=n+4;n=e;t[n>>2]=f&65535;t[n+4>>2]=0;break e}case 15:{n=(t[r>>2]|0)+(4-1)&~(4-1);f=t[n>>2]|0;t[r>>2]=n+4;f=(f&255)<<24>>24;n=e;t[n>>2]=f;t[n+4>>2]=((f|0)<0)<<31>>31;break e}case 16:{n=(t[r>>2]|0)+(4-1)&~(4-1);f=t[n>>2]|0;t[r>>2]=n+4;n=e;t[n>>2]=f&255;t[n+4>>2]=0;break e}case 17:{n=(t[r>>2]|0)+(8-1)&~(8-1);a=+u[n>>3];t[r>>2]=n+8;u[e>>3]=a;break e}case 18:{n=(t[r>>2]|0)+(8-1)&~(8-1);a=+u[n>>3];t[r>>2]=n+8;u[e>>3]=a;break e}default:break e}}while(0)}while(0);return}function Rc(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;if(i>>>0>0|(i|0)==0&e>>>0>4294967295)while(1){n=Bm(e|0,i|0,10,0)|0;r=r+-1|0;f[r>>0]=n|48;n=Lm(e|0,i|0,10,0)|0;if(i>>>0>9|(i|0)==9&e>>>0>4294967295){e=n;i=O}else{e=n;break}}if(e)while(1){r=r+-1|0;f[r>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return r|0}function Cc(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0;l=c;c=c+256|0;s=l;do{if((r|0)>(f|0)&(n&73728|0)==0){n=r-f|0;ym(s|0,i|0,(n>>>0>256?256:n)|0)|0;i=t[e>>2]|0;a=(i&32|0)==0;if(n>>>0>255){f=r-f|0;do{if(a){Ry(s,256,e)|0;i=t[e>>2]|0}n=n+-256|0;a=(i&32|0)==0}while(n>>>0>255);if(a)n=f&255;else break}else if(!a)break;Ry(s,n,e)|0}}while(0);c=l;return}function Pc(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0;do{if(e>>>0<245){b=e>>>0<11?16:e+11&-8;e=b>>>3;l=t[10218]|0;r=l>>>e;if(r&3){e=(r&1^1)+e|0;f=e<<1;r=40912+(f<<2)|0;f=40912+(f+2<<2)|0;n=t[f>>2]|0;a=n+8|0;s=t[a>>2]|0;do{if((r|0)!=(s|0)){if(s>>>0<(t[10222]|0)>>>0)Be();i=s+12|0;if((t[i>>2]|0)==(n|0)){t[i>>2]=r;t[f>>2]=s;break}else Be()}else t[10218]=l&~(1<>2]=N|3;N=n+(N|4)|0;t[N>>2]=t[N>>2]|1;N=a;return N|0}s=t[10220]|0;if(b>>>0>s>>>0){if(r){f=2<>>12&16;f=f>>>o;n=f>>>5&8;f=f>>>n;a=f>>>2&4;f=f>>>a;r=f>>>1&2;f=f>>>r;e=f>>>1&1;e=(n|o|a|r|e)+(f>>>e)|0;f=e<<1;r=40912+(f<<2)|0;f=40912+(f+2<<2)|0;a=t[f>>2]|0;o=a+8|0;n=t[o>>2]|0;do{if((r|0)!=(n|0)){if(n>>>0<(t[10222]|0)>>>0)Be();i=n+12|0;if((t[i>>2]|0)==(a|0)){t[i>>2]=r;t[f>>2]=n;u=t[10220]|0;break}else Be()}else{t[10218]=l&~(1<>2]=b|3;l=a+b|0;t[a+(b|4)>>2]=s|1;t[a+N>>2]=s;if(u){n=t[10223]|0;r=u>>>3;i=r<<1;f=40912+(i<<2)|0;e=t[10218]|0;r=1<>2]|0;if(i>>>0<(t[10222]|0)>>>0)Be();else{c=e;h=i}}else{t[10218]=e|r;c=40912+(i+2<<2)|0;h=f}t[c>>2]=n;t[h+12>>2]=n;t[n+8>>2]=h;t[n+12>>2]=f}t[10220]=s;t[10223]=l;N=o;return N|0}e=t[10219]|0;if(e){r=(e&0-e)+-1|0;D=r>>>12&16;r=r>>>D;z=r>>>5&8;r=r>>>z;N=r>>>2&4;r=r>>>N;e=r>>>1&2;r=r>>>e;f=r>>>1&1;f=t[41176+((z|D|N|e|f)+(r>>>f)<<2)>>2]|0;r=(t[f+4>>2]&-8)-b|0;e=f;while(1){i=t[e+16>>2]|0;if(!i){i=t[e+20>>2]|0;if(!i){o=r;break}}e=(t[i+4>>2]&-8)-b|0;N=e>>>0>>0;r=N?e:r;e=i;f=N?i:f}a=t[10222]|0;if(f>>>0>>0)Be();l=f+b|0;if(f>>>0>=l>>>0)Be();s=t[f+24>>2]|0;r=t[f+12>>2]|0;do{if((r|0)==(f|0)){e=f+20|0;i=t[e>>2]|0;if(!i){e=f+16|0;i=t[e>>2]|0;if(!i){d=0;break}}while(1){r=i+20|0;n=t[r>>2]|0;if(n){i=n;e=r;continue}r=i+16|0;n=t[r>>2]|0;if(!n)break;else{i=n;e=r}}if(e>>>0>>0)Be();else{t[e>>2]=0;d=i;break}}else{n=t[f+8>>2]|0;if(n>>>0>>0)Be();i=n+12|0;if((t[i>>2]|0)!=(f|0))Be();e=r+8|0;if((t[e>>2]|0)==(f|0)){t[i>>2]=r;t[e>>2]=n;d=r;break}else Be()}}while(0);do{if(s){i=t[f+28>>2]|0;e=41176+(i<<2)|0;if((f|0)==(t[e>>2]|0)){t[e>>2]=d;if(!d){t[10219]=t[10219]&~(1<>>0<(t[10222]|0)>>>0)Be();i=s+16|0;if((t[i>>2]|0)==(f|0))t[i>>2]=d;else t[s+20>>2]=d;if(!d)break}e=t[10222]|0;if(d>>>0>>0)Be();t[d+24>>2]=s;i=t[f+16>>2]|0;do{if(i)if(i>>>0>>0)Be();else{t[d+16>>2]=i;t[i+24>>2]=d;break}}while(0);i=t[f+20>>2]|0;if(i)if(i>>>0<(t[10222]|0)>>>0)Be();else{t[d+20>>2]=i;t[i+24>>2]=d;break}}}while(0);if(o>>>0<16){N=o+b|0;t[f+4>>2]=N|3;N=f+(N+4)|0;t[N>>2]=t[N>>2]|1}else{t[f+4>>2]=b|3;t[f+(b|4)>>2]=o|1;t[f+(o+b)>>2]=o;i=t[10220]|0;if(i){a=t[10223]|0;r=i>>>3;i=r<<1;n=40912+(i<<2)|0;e=t[10218]|0;r=1<>2]|0;if(e>>>0<(t[10222]|0)>>>0)Be();else{_=i;k=e}}else{t[10218]=e|r;_=40912+(i+2<<2)|0;k=n}t[_>>2]=a;t[k+12>>2]=a;t[a+8>>2]=k;t[a+12>>2]=n}t[10220]=o;t[10223]=l}N=f+8|0;return N|0}else k=b}else k=b}else if(e>>>0<=4294967231){e=e+11|0;h=e&-8;c=t[10219]|0;if(c){r=0-h|0;e=e>>>8;if(e)if(h>>>0>16777215)u=31;else{k=(e+1048320|0)>>>16&8;g=e<>>16&4;g=g<<_;u=(g+245760|0)>>>16&2;u=14-(_|k|u)+(g<>>15)|0;u=h>>>(u+7|0)&1|u<<1}else u=0;e=t[41176+(u<<2)>>2]|0;e:do{if(!e){n=0;e=0;g=86}else{s=r;n=0;l=h<<((u|0)==31?0:25-(u>>>1)|0);o=e;e=0;while(1){a=t[o+4>>2]&-8;r=a-h|0;if(r>>>0>>0)if((a|0)==(h|0)){a=o;e=o;g=90;break e}else e=o;else r=s;g=t[o+20>>2]|0;o=t[o+16+(l>>>31<<2)>>2]|0;n=(g|0)==0|(g|0)==(o|0)?n:g;if(!o){g=86;break}else{s=r;l=l<<1}}}}while(0);if((g|0)==86){if((n|0)==0&(e|0)==0){e=2<>>12&16;e=e>>>d;c=e>>>5&8;e=e>>>c;_=e>>>2&4;e=e>>>_;k=e>>>1&2;e=e>>>k;n=e>>>1&1;n=t[41176+((c|d|_|k|n)+(e>>>n)<<2)>>2]|0;e=0}if(!n){l=r;o=e}else{a=n;g=90}}if((g|0)==90)while(1){g=0;k=(t[a+4>>2]&-8)-h|0;n=k>>>0>>0;r=n?k:r;e=n?a:e;n=t[a+16>>2]|0;if(n){a=n;g=90;continue}a=t[a+20>>2]|0;if(!a){l=r;o=e;break}else g=90}if((o|0)!=0?l>>>0<((t[10220]|0)-h|0)>>>0:0){n=t[10222]|0;if(o>>>0>>0)Be();s=o+h|0;if(o>>>0>=s>>>0)Be();a=t[o+24>>2]|0;r=t[o+12>>2]|0;do{if((r|0)==(o|0)){e=o+20|0;i=t[e>>2]|0;if(!i){e=o+16|0;i=t[e>>2]|0;if(!i){b=0;break}}while(1){r=i+20|0;f=t[r>>2]|0;if(f){i=f;e=r;continue}r=i+16|0;f=t[r>>2]|0;if(!f)break;else{i=f;e=r}}if(e>>>0>>0)Be();else{t[e>>2]=0;b=i;break}}else{f=t[o+8>>2]|0;if(f>>>0>>0)Be();i=f+12|0;if((t[i>>2]|0)!=(o|0))Be();e=r+8|0;if((t[e>>2]|0)==(o|0)){t[i>>2]=r;t[e>>2]=f;b=r;break}else Be()}}while(0);do{if(a){i=t[o+28>>2]|0;e=41176+(i<<2)|0;if((o|0)==(t[e>>2]|0)){t[e>>2]=b;if(!b){t[10219]=t[10219]&~(1<>>0<(t[10222]|0)>>>0)Be();i=a+16|0;if((t[i>>2]|0)==(o|0))t[i>>2]=b;else t[a+20>>2]=b;if(!b)break}e=t[10222]|0;if(b>>>0>>0)Be();t[b+24>>2]=a;i=t[o+16>>2]|0;do{if(i)if(i>>>0>>0)Be();else{t[b+16>>2]=i;t[i+24>>2]=b;break}}while(0);i=t[o+20>>2]|0;if(i)if(i>>>0<(t[10222]|0)>>>0)Be();else{t[b+20>>2]=i;t[i+24>>2]=b;break}}}while(0);e:do{if(l>>>0>=16){t[o+4>>2]=h|3;t[o+(h|4)>>2]=l|1;t[o+(l+h)>>2]=l;i=l>>>3;if(l>>>0<256){e=i<<1;f=40912+(e<<2)|0;r=t[10218]|0;i=1<>2]|0;if(e>>>0<(t[10222]|0)>>>0)Be();else{m=i;v=e}}else{t[10218]=r|i;m=40912+(e+2<<2)|0;v=f}t[m>>2]=s;t[v+12>>2]=s;t[o+(h+8)>>2]=v;t[o+(h+12)>>2]=f;break}i=l>>>8;if(i)if(l>>>0>16777215)f=31;else{D=(i+1048320|0)>>>16&8;N=i<>>16&4;N=N<>>16&2;f=14-(z|D|f)+(N<>>15)|0;f=l>>>(f+7|0)&1|f<<1}else f=0;i=41176+(f<<2)|0;t[o+(h+28)>>2]=f;t[o+(h+20)>>2]=0;t[o+(h+16)>>2]=0;e=t[10219]|0;r=1<>2]=s;t[o+(h+24)>>2]=i;t[o+(h+12)>>2]=s;t[o+(h+8)>>2]=s;break}i=t[i>>2]|0;i:do{if((t[i+4>>2]&-8|0)!=(l|0)){f=l<<((f|0)==31?0:25-(f>>>1)|0);while(1){e=i+16+(f>>>31<<2)|0;r=t[e>>2]|0;if(!r)break;if((t[r+4>>2]&-8|0)==(l|0)){A=r;break i}else{f=f<<1;i=r}}if(e>>>0<(t[10222]|0)>>>0)Be();else{t[e>>2]=s;t[o+(h+24)>>2]=i;t[o+(h+12)>>2]=s;t[o+(h+8)>>2]=s;break e}}else A=i}while(0);i=A+8|0;e=t[i>>2]|0;N=t[10222]|0;if(e>>>0>=N>>>0&A>>>0>=N>>>0){t[e+12>>2]=s;t[i>>2]=s;t[o+(h+8)>>2]=e;t[o+(h+12)>>2]=A;t[o+(h+24)>>2]=0;break}else Be()}else{N=l+h|0;t[o+4>>2]=N|3;N=o+(N+4)|0;t[N>>2]=t[N>>2]|1}}while(0);N=o+8|0;return N|0}else k=h}else k=h}else k=-1}while(0);r=t[10220]|0;if(r>>>0>=k>>>0){i=r-k|0;e=t[10223]|0;if(i>>>0>15){t[10223]=e+k;t[10220]=i;t[e+(k+4)>>2]=i|1;t[e+r>>2]=i;t[e+4>>2]=k|3}else{t[10220]=0;t[10223]=0;t[e+4>>2]=r|3;N=e+(r+4)|0;t[N>>2]=t[N>>2]|1}N=e+8|0;return N|0}e=t[10221]|0;if(e>>>0>k>>>0){D=e-k|0;t[10221]=D;N=t[10224]|0;t[10224]=N+k;t[N+(k+4)>>2]=D|1;t[N+4>>2]=k|3;N=N+8|0;return N|0}do{if(!(t[10336]|0)){e=ii(30)|0;if(!(e+-1&e)){t[10338]=e;t[10337]=e;t[10339]=-1;t[10340]=-1;t[10341]=0;t[10329]=0;t[10336]=(vi(0)|0)&-16^1431655768;break}else Be()}}while(0);o=k+48|0;l=t[10338]|0;u=k+47|0;s=l+u|0;l=0-l|0;c=s&l;if(c>>>0<=k>>>0){N=0;return N|0}e=t[10328]|0;if((e|0)!=0?(v=t[10326]|0,A=v+c|0,A>>>0<=v>>>0|A>>>0>e>>>0):0){N=0;return N|0}e:do{if(!(t[10329]&4)){e=t[10224]|0;i:do{if(e){n=41320;while(1){r=t[n>>2]|0;if(r>>>0<=e>>>0?(w=n+4|0,(r+(t[w>>2]|0)|0)>>>0>e>>>0):0){a=n;e=w;break}n=t[n+8>>2]|0;if(!n){g=174;break i}}r=s-(t[10221]|0)&l;if(r>>>0<2147483647){n=Ke(r|0)|0;A=(n|0)==((t[a>>2]|0)+(t[e>>2]|0)|0);e=A?r:0;if(A){if((n|0)!=(-1|0)){y=n;_=e;g=194;break e}}else g=184}else e=0}else g=174}while(0);do{if((g|0)==174){a=Ke(0)|0;if((a|0)!=(-1|0)){e=a;r=t[10337]|0;n=r+-1|0;if(!(n&e))r=c;else r=c-e+(n+e&0-r)|0;e=t[10326]|0;n=e+r|0;if(r>>>0>k>>>0&r>>>0<2147483647){A=t[10328]|0;if((A|0)!=0?n>>>0<=e>>>0|n>>>0>A>>>0:0){e=0;break}n=Ke(r|0)|0;A=(n|0)==(a|0);e=A?r:0;if(A){y=a;_=e;g=194;break e}else g=184}else e=0}else e=0}}while(0);i:do{if((g|0)==184){a=0-r|0;do{if(o>>>0>r>>>0&(r>>>0<2147483647&(n|0)!=(-1|0))?(p=t[10338]|0,p=u-r+p&0-p,p>>>0<2147483647):0)if((Ke(p|0)|0)==(-1|0)){Ke(a|0)|0;break i}else{r=p+r|0;break}}while(0);if((n|0)!=(-1|0)){y=n;_=r;g=194;break e}}}while(0);t[10329]=t[10329]|4;g=191}else{e=0;g=191}}while(0);if((((g|0)==191?c>>>0<2147483647:0)?(y=Ke(c|0)|0,M=Ke(0)|0,y>>>0>>0&((y|0)!=(-1|0)&(M|0)!=(-1|0))):0)?(E=M-y|0,S=E>>>0>(k+40|0)>>>0,S):0){_=S?E:e;g=194}if((g|0)==194){e=(t[10326]|0)+_|0;t[10326]=e;if(e>>>0>(t[10327]|0)>>>0)t[10327]=e;s=t[10224]|0;e:do{if(s){a=41320;do{e=t[a>>2]|0;r=a+4|0;n=t[r>>2]|0;if((y|0)==(e+n|0)){T=e;R=r;C=n;P=a;g=204;break}a=t[a+8>>2]|0}while((a|0)!=0);if(((g|0)==204?(t[P+12>>2]&8|0)==0:0)?s>>>0>>0&s>>>0>=T>>>0:0){t[R>>2]=C+_;N=(t[10221]|0)+_|0;D=s+8|0;D=(D&7|0)==0?0:0-D&7;z=N-D|0;t[10224]=s+D;t[10221]=z;t[s+(D+4)>>2]=z|1;t[s+(N+4)>>2]=40;t[10225]=t[10340];break}e=t[10222]|0;if(y>>>0>>0){t[10222]=y;e=y}r=y+_|0;a=41320;while(1){if((t[a>>2]|0)==(r|0)){n=a;r=a;g=212;break}a=t[a+8>>2]|0;if(!a){r=41320;break}}if((g|0)==212)if(!(t[r+12>>2]&8)){t[n>>2]=y;d=r+4|0;t[d>>2]=(t[d>>2]|0)+_;d=y+8|0;d=(d&7|0)==0?0:0-d&7;u=y+(_+8)|0;u=(u&7|0)==0?0:0-u&7;i=y+(u+_)|0;h=d+k|0;b=y+h|0;c=i-(y+d)-k|0;t[y+(d+4)>>2]=k|3;i:do{if((i|0)!=(s|0)){if((i|0)==(t[10223]|0)){N=(t[10220]|0)+c|0;t[10220]=N;t[10223]=b;t[y+(h+4)>>2]=N|1;t[y+(N+h)>>2]=N;break}l=_+4|0;r=t[y+(l+u)>>2]|0;if((r&3|0)==1){o=r&-8;a=r>>>3;r:do{if(r>>>0>=256){s=t[y+((u|24)+_)>>2]|0;f=t[y+(_+12+u)>>2]|0;do{if((f|0)==(i|0)){n=u|16;f=y+(l+n)|0;r=t[f>>2]|0;if(!r){f=y+(n+_)|0;r=t[f>>2]|0;if(!r){B=0;break}}while(1){n=r+20|0;a=t[n>>2]|0;if(a){r=a;f=n;continue}n=r+16|0;a=t[n>>2]|0;if(!a)break;else{r=a;f=n}}if(f>>>0>>0)Be();else{t[f>>2]=0;B=r;break}}else{n=t[y+((u|8)+_)>>2]|0;if(n>>>0>>0)Be();e=n+12|0;if((t[e>>2]|0)!=(i|0))Be();r=f+8|0;if((t[r>>2]|0)==(i|0)){t[e>>2]=f;t[r>>2]=n;B=f;break}else Be()}}while(0);if(!s)break;e=t[y+(_+28+u)>>2]|0;r=41176+(e<<2)|0;do{if((i|0)!=(t[r>>2]|0)){if(s>>>0<(t[10222]|0)>>>0)Be();e=s+16|0;if((t[e>>2]|0)==(i|0))t[e>>2]=B;else t[s+20>>2]=B;if(!B)break r}else{t[r>>2]=B;if(B)break;t[10219]=t[10219]&~(1<>>0>>0)Be();t[B+24>>2]=s;i=u|16;e=t[y+(i+_)>>2]|0;do{if(e)if(e>>>0>>0)Be();else{t[B+16>>2]=e;t[e+24>>2]=B;break}}while(0);i=t[y+(l+i)>>2]|0;if(!i)break;if(i>>>0<(t[10222]|0)>>>0)Be();else{t[B+20>>2]=i;t[i+24>>2]=B;break}}else{f=t[y+((u|8)+_)>>2]|0;n=t[y+(_+12+u)>>2]|0;r=40912+(a<<1<<2)|0;do{if((f|0)!=(r|0)){if(f>>>0>>0)Be();if((t[f+12>>2]|0)==(i|0))break;Be()}}while(0);if((n|0)==(f|0)){t[10218]=t[10218]&~(1<>>0>>0)Be();e=n+8|0;if((t[e>>2]|0)==(i|0)){I=e;break}Be()}}while(0);t[f+12>>2]=n;t[I>>2]=f}}while(0);i=y+((o|u)+_)|0;n=o+c|0}else n=c;i=i+4|0;t[i>>2]=t[i>>2]&-2;t[y+(h+4)>>2]=n|1;t[y+(n+h)>>2]=n;i=n>>>3;if(n>>>0<256){e=i<<1;f=40912+(e<<2)|0;r=t[10218]|0;i=1<>2]|0;if(e>>>0>=(t[10222]|0)>>>0){z=i;D=e;break}Be()}}while(0);t[z>>2]=b;t[D+12>>2]=b;t[y+(h+8)>>2]=D;t[y+(h+12)>>2]=f;break}i=n>>>8;do{if(!i)f=0;else{if(n>>>0>16777215){f=31;break}z=(i+1048320|0)>>>16&8;D=i<>>16&4;D=D<>>16&2;f=14-(B|z|f)+(D<>>15)|0;f=n>>>(f+7|0)&1|f<<1}}while(0);i=41176+(f<<2)|0;t[y+(h+28)>>2]=f;t[y+(h+20)>>2]=0;t[y+(h+16)>>2]=0;e=t[10219]|0;r=1<>2]=b;t[y+(h+24)>>2]=i;t[y+(h+12)>>2]=b;t[y+(h+8)>>2]=b;break}i=t[i>>2]|0;r:do{if((t[i+4>>2]&-8|0)!=(n|0)){f=n<<((f|0)==31?0:25-(f>>>1)|0);while(1){e=i+16+(f>>>31<<2)|0;r=t[e>>2]|0;if(!r)break;if((t[r+4>>2]&-8|0)==(n|0)){N=r;break r}else{f=f<<1;i=r}}if(e>>>0<(t[10222]|0)>>>0)Be();else{t[e>>2]=b;t[y+(h+24)>>2]=i;t[y+(h+12)>>2]=b;t[y+(h+8)>>2]=b;break i}}else N=i}while(0);i=N+8|0;e=t[i>>2]|0;D=t[10222]|0;if(e>>>0>=D>>>0&N>>>0>=D>>>0){t[e+12>>2]=b;t[i>>2]=b;t[y+(h+8)>>2]=e;t[y+(h+12)>>2]=N;t[y+(h+24)>>2]=0;break}else Be()}else{N=(t[10221]|0)+c|0;t[10221]=N;t[10224]=b;t[y+(h+4)>>2]=N|1}}while(0);N=y+(d|8)|0;return N|0}else r=41320;while(1){e=t[r>>2]|0;if(e>>>0<=s>>>0?(i=t[r+4>>2]|0,f=e+i|0,f>>>0>s>>>0):0)break;r=t[r+8>>2]|0}n=e+(i+-39)|0;e=e+(i+-47+((n&7|0)==0?0:0-n&7))|0;n=s+16|0;e=e>>>0>>0?s:e;i=e+8|0;r=y+8|0;r=(r&7|0)==0?0:0-r&7;N=_+-40-r|0;t[10224]=y+r;t[10221]=N;t[y+(r+4)>>2]=N|1;t[y+(_+-36)>>2]=40;t[10225]=t[10340];r=e+4|0;t[r>>2]=27;t[i>>2]=t[10330];t[i+4>>2]=t[10331];t[i+8>>2]=t[10332];t[i+12>>2]=t[10333];t[10330]=y;t[10331]=_;t[10333]=0;t[10332]=i;i=e+28|0;t[i>>2]=7;if((e+32|0)>>>0>>0)do{N=i;i=i+4|0;t[i>>2]=7}while((N+8|0)>>>0>>0);if((e|0)!=(s|0)){a=e-s|0;t[r>>2]=t[r>>2]&-2;t[s+4>>2]=a|1;t[e>>2]=a;i=a>>>3;if(a>>>0<256){e=i<<1;f=40912+(e<<2)|0;r=t[10218]|0;i=1<>2]|0;if(e>>>0<(t[10222]|0)>>>0)Be();else{O=i;x=e}}else{t[10218]=r|i;O=40912+(e+2<<2)|0;x=f}t[O>>2]=s;t[x+12>>2]=s;t[s+8>>2]=x;t[s+12>>2]=f;break}i=a>>>8;if(i)if(a>>>0>16777215)f=31;else{D=(i+1048320|0)>>>16&8;N=i<>>16&4;N=N<>>16&2;f=14-(z|D|f)+(N<>>15)|0;f=a>>>(f+7|0)&1|f<<1}else f=0;r=41176+(f<<2)|0;t[s+28>>2]=f;t[s+20>>2]=0;t[n>>2]=0;i=t[10219]|0;e=1<>2]=s;t[s+24>>2]=r;t[s+12>>2]=s;t[s+8>>2]=s;break}i=t[r>>2]|0;i:do{if((t[i+4>>2]&-8|0)!=(a|0)){f=a<<((f|0)==31?0:25-(f>>>1)|0);while(1){e=i+16+(f>>>31<<2)|0;r=t[e>>2]|0;if(!r)break;if((t[r+4>>2]&-8|0)==(a|0)){L=r;break i}else{f=f<<1;i=r}}if(e>>>0<(t[10222]|0)>>>0)Be();else{t[e>>2]=s;t[s+24>>2]=i;t[s+12>>2]=s;t[s+8>>2]=s;break e}}else L=i}while(0);i=L+8|0;e=t[i>>2]|0;N=t[10222]|0;if(e>>>0>=N>>>0&L>>>0>=N>>>0){t[e+12>>2]=s;t[i>>2]=s;t[s+8>>2]=e;t[s+12>>2]=L;t[s+24>>2]=0;break}else Be()}}else{N=t[10222]|0;if((N|0)==0|y>>>0>>0)t[10222]=y;t[10330]=y;t[10331]=_;t[10333]=0;t[10227]=t[10336];t[10226]=-1;i=0;do{N=i<<1;D=40912+(N<<2)|0;t[40912+(N+3<<2)>>2]=D;t[40912+(N+2<<2)>>2]=D;i=i+1|0}while((i|0)!=32);N=y+8|0;N=(N&7|0)==0?0:0-N&7;D=_+-40-N|0;t[10224]=y+N;t[10221]=D;t[y+(N+4)>>2]=D|1;t[y+(_+-36)>>2]=40;t[10225]=t[10340]}}while(0);i=t[10221]|0;if(i>>>0>k>>>0){D=i-k|0;t[10221]=D;N=t[10224]|0;t[10224]=N+k;t[N+(k+4)>>2]=D|1;t[N+4>>2]=k|3;N=N+8|0;return N|0}}t[(Bg()|0)>>2]=12;N=0;return N|0}function Ic(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0;if(!e)return;i=e+-8|0;l=t[10222]|0;if(i>>>0>>0)Be();r=t[e+-4>>2]|0;f=r&3;if((f|0)==1)Be();b=r&-8;k=e+(b+-8)|0;do{if(!(r&1)){i=t[i>>2]|0;if(!f)return;o=-8-i|0;c=e+o|0;h=i+b|0;if(c>>>0>>0)Be();if((c|0)==(t[10223]|0)){i=e+(b+-4)|0;r=t[i>>2]|0;if((r&3|0)!=3){p=c;a=h;break}t[10220]=h;t[i>>2]=r&-2;t[e+(o+4)>>2]=h|1;t[k>>2]=h;return}n=i>>>3;if(i>>>0<256){f=t[e+(o+8)>>2]|0;r=t[e+(o+12)>>2]|0;i=40912+(n<<1<<2)|0;if((f|0)!=(i|0)){if(f>>>0>>0)Be();if((t[f+12>>2]|0)!=(c|0))Be()}if((r|0)==(f|0)){t[10218]=t[10218]&~(1<>>0>>0)Be();i=r+8|0;if((t[i>>2]|0)==(c|0))s=i;else Be()}else s=r+8|0;t[f+12>>2]=r;t[s>>2]=f;p=c;a=h;break}s=t[e+(o+24)>>2]|0;f=t[e+(o+12)>>2]|0;do{if((f|0)==(c|0)){r=e+(o+20)|0;i=t[r>>2]|0;if(!i){r=e+(o+16)|0;i=t[r>>2]|0;if(!i){u=0;break}}while(1){f=i+20|0;n=t[f>>2]|0;if(n){i=n;r=f;continue}f=i+16|0;n=t[f>>2]|0;if(!n)break;else{i=n;r=f}}if(r>>>0>>0)Be();else{t[r>>2]=0;u=i;break}}else{n=t[e+(o+8)>>2]|0;if(n>>>0>>0)Be();i=n+12|0;if((t[i>>2]|0)!=(c|0))Be();r=f+8|0;if((t[r>>2]|0)==(c|0)){t[i>>2]=f;t[r>>2]=n;u=f;break}else Be()}}while(0);if(s){i=t[e+(o+28)>>2]|0;r=41176+(i<<2)|0;if((c|0)==(t[r>>2]|0)){t[r>>2]=u;if(!u){t[10219]=t[10219]&~(1<>>0<(t[10222]|0)>>>0)Be();i=s+16|0;if((t[i>>2]|0)==(c|0))t[i>>2]=u;else t[s+20>>2]=u;if(!u){p=c;a=h;break}}r=t[10222]|0;if(u>>>0>>0)Be();t[u+24>>2]=s;i=t[e+(o+16)>>2]|0;do{if(i)if(i>>>0>>0)Be();else{t[u+16>>2]=i;t[i+24>>2]=u;break}}while(0);i=t[e+(o+20)>>2]|0;if(i)if(i>>>0<(t[10222]|0)>>>0)Be();else{t[u+20>>2]=i;t[i+24>>2]=u;p=c;a=h;break}else{p=c;a=h}}else{p=c;a=h}}else{p=i;a=b}}while(0);if(p>>>0>=k>>>0)Be();i=e+(b+-4)|0;r=t[i>>2]|0;if(!(r&1))Be();if(!(r&2)){if((k|0)==(t[10224]|0)){v=(t[10221]|0)+a|0;t[10221]=v;t[10224]=p;t[p+4>>2]=v|1;if((p|0)!=(t[10223]|0))return;t[10223]=0;t[10220]=0;return}if((k|0)==(t[10223]|0)){v=(t[10220]|0)+a|0;t[10220]=v;t[10223]=p;t[p+4>>2]=v|1;t[p+v>>2]=v;return}a=(r&-8)+a|0;n=r>>>3;do{if(r>>>0>=256){s=t[e+(b+16)>>2]|0;i=t[e+(b|4)>>2]|0;do{if((i|0)==(k|0)){r=e+(b+12)|0;i=t[r>>2]|0;if(!i){r=e+(b+8)|0;i=t[r>>2]|0;if(!i){_=0;break}}while(1){f=i+20|0;n=t[f>>2]|0;if(n){i=n;r=f;continue}f=i+16|0;n=t[f>>2]|0;if(!n)break;else{i=n;r=f}}if(r>>>0<(t[10222]|0)>>>0)Be();else{t[r>>2]=0;_=i;break}}else{r=t[e+b>>2]|0;if(r>>>0<(t[10222]|0)>>>0)Be();f=r+12|0;if((t[f>>2]|0)!=(k|0))Be();n=i+8|0;if((t[n>>2]|0)==(k|0)){t[f>>2]=i;t[n>>2]=r;_=i;break}else Be()}}while(0);if(s){i=t[e+(b+20)>>2]|0;r=41176+(i<<2)|0;if((k|0)==(t[r>>2]|0)){t[r>>2]=_;if(!_){t[10219]=t[10219]&~(1<>>0<(t[10222]|0)>>>0)Be();i=s+16|0;if((t[i>>2]|0)==(k|0))t[i>>2]=_;else t[s+20>>2]=_;if(!_)break}r=t[10222]|0;if(_>>>0>>0)Be();t[_+24>>2]=s;i=t[e+(b+8)>>2]|0;do{if(i)if(i>>>0>>0)Be();else{t[_+16>>2]=i;t[i+24>>2]=_;break}}while(0);i=t[e+(b+12)>>2]|0;if(i)if(i>>>0<(t[10222]|0)>>>0)Be();else{t[_+20>>2]=i;t[i+24>>2]=_;break}}}else{f=t[e+b>>2]|0;r=t[e+(b|4)>>2]|0;i=40912+(n<<1<<2)|0;if((f|0)!=(i|0)){if(f>>>0<(t[10222]|0)>>>0)Be();if((t[f+12>>2]|0)!=(k|0))Be()}if((r|0)==(f|0)){t[10218]=t[10218]&~(1<>>0<(t[10222]|0)>>>0)Be();i=r+8|0;if((t[i>>2]|0)==(k|0))d=i;else Be()}else d=r+8|0;t[f+12>>2]=r;t[d>>2]=f}}while(0);t[p+4>>2]=a|1;t[p+a>>2]=a;if((p|0)==(t[10223]|0)){t[10220]=a;return}}else{t[i>>2]=r&-2;t[p+4>>2]=a|1;t[p+a>>2]=a}i=a>>>3;if(a>>>0<256){r=i<<1;n=40912+(r<<2)|0;f=t[10218]|0;i=1<>2]|0;if(r>>>0<(t[10222]|0)>>>0)Be();else{w=i;m=r}}else{t[10218]=f|i;w=40912+(r+2<<2)|0;m=n}t[w>>2]=p;t[m+12>>2]=p;t[p+8>>2]=m;t[p+12>>2]=n;return}i=a>>>8;if(i)if(a>>>0>16777215)n=31;else{w=(i+1048320|0)>>>16&8;m=i<>>16&4;m=m<>>16&2;n=14-(k|w|n)+(m<>>15)|0;n=a>>>(n+7|0)&1|n<<1}else n=0;i=41176+(n<<2)|0;t[p+28>>2]=n;t[p+20>>2]=0;t[p+16>>2]=0;r=t[10219]|0;f=1<>2]|0;i:do{if((t[i+4>>2]&-8|0)!=(a|0)){n=a<<((n|0)==31?0:25-(n>>>1)|0);while(1){r=i+16+(n>>>31<<2)|0;f=t[r>>2]|0;if(!f)break;if((t[f+4>>2]&-8|0)==(a|0)){v=f;break i}else{n=n<<1;i=f}}if(r>>>0<(t[10222]|0)>>>0)Be();else{t[r>>2]=p;t[p+24>>2]=i;t[p+12>>2]=p;t[p+8>>2]=p;break e}}else v=i}while(0);i=v+8|0;r=t[i>>2]|0;m=t[10222]|0;if(r>>>0>=m>>>0&v>>>0>=m>>>0){t[r+12>>2]=p;t[i>>2]=p;t[p+8>>2]=r;t[p+12>>2]=v;t[p+24>>2]=0;break}else Be()}else{t[10219]=r|f;t[i>>2]=p;t[p+24>>2]=i;t[p+12>>2]=p;t[p+8>>2]=p}}while(0);p=(t[10226]|0)+-1|0;t[10226]=p;if(!p)i=41328;else return;while(1){i=t[i>>2]|0;if(!i)break;else i=i+8|0}t[10226]=-1;return}function Oc(e,i){e=e|0;i=i|0;var r=0;if(e){r=re(i,e)|0;if((i|e)>>>0>65535)r=((r>>>0)/(e>>>0)|0|0)==(i|0)?r:-1}else r=0;i=Pc(r)|0;if(!i)return i|0;if(!(t[i+-4>>2]&3))return i|0;ym(i|0,0,r|0)|0;return i|0}function xc(e,i){e=e|0;i=i|0;var r=0,f=0;if(!e){e=Pc(i)|0;return e|0}if(i>>>0>4294967231){t[(Bg()|0)>>2]=12;e=0;return e|0}r=Lc(e+-8|0,i>>>0<11?16:i+11&-8)|0;if(r){e=r+8|0;return e|0}r=Pc(i)|0;if(!r){e=0;return e|0}f=t[e+-4>>2]|0;f=(f&-8)-((f&3|0)==0?8:4)|0;Em(r|0,e|0,(f>>>0>>0?f:i)|0)|0;Ic(e);e=r;return e|0}function Lc(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0;b=e+4|0;_=t[b>>2]|0;o=_&-8;c=e+o|0;l=t[10222]|0;r=_&3;if(!((r|0)!=1&e>>>0>=l>>>0&e>>>0>>0))Be();f=e+(o|4)|0;n=t[f>>2]|0;if(!(n&1))Be();if(!r){if(i>>>0<256){e=0;return e|0}if(o>>>0>=(i+4|0)>>>0?(o-i|0)>>>0<=t[10338]<<1>>>0:0)return e|0;e=0;return e|0}if(o>>>0>=i>>>0){r=o-i|0;if(r>>>0<=15)return e|0;t[b>>2]=_&1|i|2;t[e+(i+4)>>2]=r|3;t[f>>2]=t[f>>2]|1;Bc(e+i|0,r);return e|0}if((c|0)==(t[10224]|0)){r=(t[10221]|0)+o|0;if(r>>>0<=i>>>0){e=0;return e|0}d=r-i|0;t[b>>2]=_&1|i|2;t[e+(i+4)>>2]=d|1;t[10224]=e+i;t[10221]=d;return e|0}if((c|0)==(t[10223]|0)){f=(t[10220]|0)+o|0;if(f>>>0>>0){e=0;return e|0}r=f-i|0;if(r>>>0>15){t[b>>2]=_&1|i|2;t[e+(i+4)>>2]=r|1;t[e+f>>2]=r;f=e+(f+4)|0;t[f>>2]=t[f>>2]&-2;f=e+i|0}else{t[b>>2]=_&1|f|2;f=e+(f+4)|0;t[f>>2]=t[f>>2]|1;f=0;r=0}t[10220]=r;t[10223]=f;return e|0}if(n&2){e=0;return e|0}h=(n&-8)+o|0;if(h>>>0>>0){e=0;return e|0}d=h-i|0;a=n>>>3;do{if(n>>>0>=256){s=t[e+(o+24)>>2]|0;a=t[e+(o+12)>>2]|0;do{if((a|0)==(c|0)){f=e+(o+20)|0;r=t[f>>2]|0;if(!r){f=e+(o+16)|0;r=t[f>>2]|0;if(!r){u=0;break}}while(1){n=r+20|0;a=t[n>>2]|0;if(a){r=a;f=n;continue}n=r+16|0;a=t[n>>2]|0;if(!a)break;else{r=a;f=n}}if(f>>>0>>0)Be();else{t[f>>2]=0;u=r;break}}else{n=t[e+(o+8)>>2]|0;if(n>>>0>>0)Be();r=n+12|0;if((t[r>>2]|0)!=(c|0))Be();f=a+8|0;if((t[f>>2]|0)==(c|0)){t[r>>2]=a;t[f>>2]=n;u=a;break}else Be()}}while(0);if(s){r=t[e+(o+28)>>2]|0;f=41176+(r<<2)|0;if((c|0)==(t[f>>2]|0)){t[f>>2]=u;if(!u){t[10219]=t[10219]&~(1<>>0<(t[10222]|0)>>>0)Be();r=s+16|0;if((t[r>>2]|0)==(c|0))t[r>>2]=u;else t[s+20>>2]=u;if(!u)break}f=t[10222]|0;if(u>>>0>>0)Be();t[u+24>>2]=s;r=t[e+(o+16)>>2]|0;do{if(r)if(r>>>0>>0)Be();else{t[u+16>>2]=r;t[r+24>>2]=u;break}}while(0);r=t[e+(o+20)>>2]|0;if(r)if(r>>>0<(t[10222]|0)>>>0)Be();else{t[u+20>>2]=r;t[r+24>>2]=u;break}}}else{n=t[e+(o+8)>>2]|0;f=t[e+(o+12)>>2]|0;r=40912+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)Be();if((t[n+12>>2]|0)!=(c|0))Be()}if((f|0)==(n|0)){t[10218]=t[10218]&~(1<>>0>>0)Be();r=f+8|0;if((t[r>>2]|0)==(c|0))s=r;else Be()}else s=f+8|0;t[n+12>>2]=f;t[s>>2]=n}}while(0);if(d>>>0<16){t[b>>2]=h|_&1|2;i=e+(h|4)|0;t[i>>2]=t[i>>2]|1;return e|0}else{t[b>>2]=_&1|i|2;t[e+(i+4)>>2]=d|3;_=e+(h|4)|0;t[_>>2]=t[_>>2]|1;Bc(e+i|0,d);return e|0}return 0}function Bc(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0;k=e+i|0;r=t[e+4>>2]|0;do{if(!(r&1)){u=t[e>>2]|0;if(!(r&3))return;d=e+(0-u)|0;h=u+i|0;o=t[10222]|0;if(d>>>0>>0)Be();if((d|0)==(t[10223]|0)){f=e+(i+4)|0;r=t[f>>2]|0;if((r&3|0)!=3){v=d;s=h;break}t[10220]=h;t[f>>2]=r&-2;t[e+(4-u)>>2]=h|1;t[k>>2]=h;return}a=u>>>3;if(u>>>0<256){n=t[e+(8-u)>>2]|0;f=t[e+(12-u)>>2]|0;r=40912+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)Be();if((t[n+12>>2]|0)!=(d|0))Be()}if((f|0)==(n|0)){t[10218]=t[10218]&~(1<>>0>>0)Be();r=f+8|0;if((t[r>>2]|0)==(d|0))l=r;else Be()}else l=f+8|0;t[n+12>>2]=f;t[l>>2]=n;v=d;s=h;break}l=t[e+(24-u)>>2]|0;n=t[e+(12-u)>>2]|0;do{if((n|0)==(d|0)){n=16-u|0;f=e+(n+4)|0;r=t[f>>2]|0;if(!r){f=e+n|0;r=t[f>>2]|0;if(!r){c=0;break}}while(1){n=r+20|0;a=t[n>>2]|0;if(a){r=a;f=n;continue}n=r+16|0;a=t[n>>2]|0;if(!a)break;else{r=a;f=n}}if(f>>>0>>0)Be();else{t[f>>2]=0;c=r;break}}else{a=t[e+(8-u)>>2]|0;if(a>>>0>>0)Be();r=a+12|0;if((t[r>>2]|0)!=(d|0))Be();f=n+8|0;if((t[f>>2]|0)==(d|0)){t[r>>2]=n;t[f>>2]=a;c=n;break}else Be()}}while(0);if(l){r=t[e+(28-u)>>2]|0;f=41176+(r<<2)|0;if((d|0)==(t[f>>2]|0)){t[f>>2]=c;if(!c){t[10219]=t[10219]&~(1<>>0<(t[10222]|0)>>>0)Be();r=l+16|0;if((t[r>>2]|0)==(d|0))t[r>>2]=c;else t[l+20>>2]=c;if(!c){v=d;s=h;break}}n=t[10222]|0;if(c>>>0>>0)Be();t[c+24>>2]=l;r=16-u|0;f=t[e+r>>2]|0;do{if(f)if(f>>>0>>0)Be();else{t[c+16>>2]=f;t[f+24>>2]=c;break}}while(0);r=t[e+(r+4)>>2]|0;if(r)if(r>>>0<(t[10222]|0)>>>0)Be();else{t[c+20>>2]=r;t[r+24>>2]=c;v=d;s=h;break}else{v=d;s=h}}else{v=d;s=h}}else{v=e;s=i}}while(0);o=t[10222]|0;if(k>>>0>>0)Be();r=e+(i+4)|0;f=t[r>>2]|0;if(!(f&2)){if((k|0)==(t[10224]|0)){m=(t[10221]|0)+s|0;t[10221]=m;t[10224]=v;t[v+4>>2]=m|1;if((v|0)!=(t[10223]|0))return;t[10223]=0;t[10220]=0;return}if((k|0)==(t[10223]|0)){m=(t[10220]|0)+s|0;t[10220]=m;t[10223]=v;t[v+4>>2]=m|1;t[v+m>>2]=m;return}s=(f&-8)+s|0;a=f>>>3;do{if(f>>>0>=256){l=t[e+(i+24)>>2]|0;n=t[e+(i+12)>>2]|0;do{if((n|0)==(k|0)){f=e+(i+20)|0;r=t[f>>2]|0;if(!r){f=e+(i+16)|0;r=t[f>>2]|0;if(!r){_=0;break}}while(1){n=r+20|0;a=t[n>>2]|0;if(a){r=a;f=n;continue}n=r+16|0;a=t[n>>2]|0;if(!a)break;else{r=a;f=n}}if(f>>>0>>0)Be();else{t[f>>2]=0;_=r;break}}else{a=t[e+(i+8)>>2]|0;if(a>>>0>>0)Be();r=a+12|0;if((t[r>>2]|0)!=(k|0))Be();f=n+8|0;if((t[f>>2]|0)==(k|0)){t[r>>2]=n;t[f>>2]=a;_=n;break}else Be()}}while(0);if(l){r=t[e+(i+28)>>2]|0;f=41176+(r<<2)|0;if((k|0)==(t[f>>2]|0)){t[f>>2]=_;if(!_){t[10219]=t[10219]&~(1<>>0<(t[10222]|0)>>>0)Be();r=l+16|0;if((t[r>>2]|0)==(k|0))t[r>>2]=_;else t[l+20>>2]=_;if(!_)break}f=t[10222]|0;if(_>>>0>>0)Be();t[_+24>>2]=l;r=t[e+(i+16)>>2]|0;do{if(r)if(r>>>0>>0)Be();else{t[_+16>>2]=r;t[r+24>>2]=_;break}}while(0);r=t[e+(i+20)>>2]|0;if(r)if(r>>>0<(t[10222]|0)>>>0)Be();else{t[_+20>>2]=r;t[r+24>>2]=_;break}}}else{n=t[e+(i+8)>>2]|0;f=t[e+(i+12)>>2]|0;r=40912+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)Be();if((t[n+12>>2]|0)!=(k|0))Be()}if((f|0)==(n|0)){t[10218]=t[10218]&~(1<>>0>>0)Be();r=f+8|0;if((t[r>>2]|0)==(k|0))b=r;else Be()}else b=f+8|0;t[n+12>>2]=f;t[b>>2]=n}}while(0);t[v+4>>2]=s|1;t[v+s>>2]=s;if((v|0)==(t[10223]|0)){t[10220]=s;return}}else{t[r>>2]=f&-2;t[v+4>>2]=s|1;t[v+s>>2]=s}r=s>>>3;if(s>>>0<256){f=r<<1;a=40912+(f<<2)|0;n=t[10218]|0;r=1<>2]|0;if(f>>>0<(t[10222]|0)>>>0)Be();else{w=r;m=f}}else{t[10218]=n|r;w=40912+(f+2<<2)|0;m=a}t[w>>2]=v;t[m+12>>2]=v;t[v+8>>2]=m;t[v+12>>2]=a;return}r=s>>>8;if(r)if(s>>>0>16777215)a=31;else{w=(r+1048320|0)>>>16&8;m=r<>>16&4;m=m<>>16&2;a=14-(k|w|a)+(m<>>15)|0;a=s>>>(a+7|0)&1|a<<1}else a=0;r=41176+(a<<2)|0;t[v+28>>2]=a;t[v+20>>2]=0;t[v+16>>2]=0;f=t[10219]|0;n=1<>2]=v;t[v+24>>2]=r;t[v+12>>2]=v;t[v+8>>2]=v;return}r=t[r>>2]|0;e:do{if((t[r+4>>2]&-8|0)!=(s|0)){a=s<<((a|0)==31?0:25-(a>>>1)|0);while(1){f=r+16+(a>>>31<<2)|0;n=t[f>>2]|0;if(!n)break;if((t[n+4>>2]&-8|0)==(s|0)){r=n;break e}else{a=a<<1;r=n}}if(f>>>0<(t[10222]|0)>>>0)Be();t[f>>2]=v;t[v+24>>2]=r;t[v+12>>2]=v;t[v+8>>2]=v;return}}while(0);f=r+8|0;n=t[f>>2]|0;m=t[10222]|0;if(!(n>>>0>=m>>>0&r>>>0>=m>>>0))Be();t[n+12>>2]=v;t[f>>2]=v;t[v+8>>2]=n;t[v+12>>2]=r;t[v+24>>2]=0;return}function zc(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0;f=t[9321]|0;Hc(42048,f,42104);t[10342]=42892;t[10344]=42912;t[10343]=0;e=t[10720]|0;w=0;ce(62,41368+e|0,42048);a=w;w=0;if(a&1){a=je()|0;nd(41376);Qe(a|0)}t[41368+(e+72)>>2]=0;t[41368+(e+76)>>2]=-1;n=t[9322]|0;Uc(42152,n,42112);t[10364]=42972;t[10365]=42992;r=t[10740]|0;w=0;ce(62,41456+r|0,42152);a=w;w=0;if(a&1){a=je()|0;nd(41460);Qe(a|0)}e=r+72|0;t[41456+e>>2]=0;i=r+76|0;t[41456+i>>2]=-1;a=t[9320]|0;Uc(42200,a,42120);t[10385]=42972;t[10386]=42992;w=0;ce(62,41540+r|0,42200);s=w;w=0;if(s&1){s=je()|0;nd(41544);Qe(s|0)}t[41540+e>>2]=0;t[41540+i>>2]=-1;s=t[41540+((t[(t[10385]|0)+-12>>2]|0)+24)>>2]|0;t[10406]=42972;t[10407]=42992;w=0;ce(62,41624+r|0,s|0);s=w;w=0;if(s&1){s=je()|0;nd(41628);Qe(s|0)}t[41624+e>>2]=0;t[41624+i>>2]=-1;t[41368+((t[(t[10342]|0)+-12>>2]|0)+72)>>2]=41456;e=41540+((t[(t[10385]|0)+-12>>2]|0)+4)|0;t[e>>2]=t[e>>2]|8192;t[41540+((t[(t[10385]|0)+-12>>2]|0)+72)>>2]=41456;jc(42248,f,42128);t[10427]=42932;t[10429]=42952;t[10428]=0;e=t[10730]|0;w=0;ce(62,41708+e|0,42248);s=w;w=0;if(s&1){s=je()|0;od(41716);Qe(s|0)}t[41708+(e+72)>>2]=0;t[41708+(e+76)>>2]=-1;Yc(42304,n,42136);t[10449]=43012;t[10450]=43032;r=t[10750]|0;w=0;ce(62,41796+r|0,42304);s=w;w=0;if(s&1){s=je()|0;od(41800);Qe(s|0)}e=r+72|0;t[41796+e>>2]=0;i=r+76|0;t[41796+i>>2]=-1;Yc(42352,a,42144);t[10470]=43012;t[10471]=43032;w=0;ce(62,41880+r|0,42352);s=w;w=0;if(s&1){s=je()|0;od(41884);Qe(s|0)}t[41880+e>>2]=0;t[41880+i>>2]=-1;s=t[41880+((t[(t[10470]|0)+-12>>2]|0)+24)>>2]|0;t[10491]=43012;t[10492]=43032;w=0;ce(62,41964+r|0,s|0);s=w;w=0;if(s&1){s=je()|0;od(41968);Qe(s|0)}else{t[41964+e>>2]=0;t[41964+i>>2]=-1;t[41708+((t[(t[10427]|0)+-12>>2]|0)+72)>>2]=41796;s=41880+((t[(t[10470]|0)+-12>>2]|0)+4)|0;t[s>>2]=t[s>>2]|8192;t[41880+((t[(t[10470]|0)+-12>>2]|0)+72)>>2]=41796;return}}function Dc(e){e=e|0;w=0;de(70,41456)|0;e=w;w=0;if(((!(e&1)?(w=0,de(70,41624)|0,e=w,w=0,!(e&1)):0)?(w=0,de(71,41796)|0,e=w,w=0,!(e&1)):0)?(w=0,de(71,41964)|0,e=w,w=0,!(e&1)):0)return;e=je(0)|0;Ni(e)}function Nc(){zc(0);di(187,56757,k|0)|0;return}function Fc(){return}function Hc(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;a=c;c=c+16|0;s=a+4|0;n=a;dd(e);t[e>>2]=42600;t[e+32>>2]=i;t[e+40>>2]=r;t[e+48>>2]=-1;f[e+52>>0]=0;xu(s,e+4|0);t[n>>2]=t[s>>2];w=0;ce(23,e|0,n|0);r=w;w=0;if(r&1){s=je()|0;Lu(n);cd(e);Qe(s|0)}else{Lu(n);c=a;return}}function Uc(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;a=c;c=c+16|0;s=a+4|0;n=a;dd(e);t[e>>2]=42536;t[e+32>>2]=i;xu(s,e+4|0);t[n>>2]=t[s>>2];w=0;i=pe(37,n|0,44280)|0;s=w;w=0;if(s&1){s=je()|0;Lu(n);cd(e);Qe(s|0)}else{Lu(n);t[e+36>>2]=i;t[e+40>>2]=r;f[e+44>>0]=(lM[t[(t[i>>2]|0)+28>>2]&127](i)|0)&1;c=a;return}}function jc(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;a=c;c=c+16|0;s=a+4|0;n=a;Rd(e);t[e>>2]=42472;t[e+32>>2]=i;t[e+40>>2]=r;t[e+48>>2]=-1;f[e+52>>0]=0;xu(s,e+4|0);t[n>>2]=t[s>>2];w=0;ce(21,e|0,n|0);r=w;w=0;if(r&1){s=je()|0;Lu(n);Sd(e);Qe(s|0)}else{Lu(n);c=a;return}}function Yc(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;a=c;c=c+16|0;s=a+4|0;n=a;Rd(e);t[e>>2]=42408;t[e+32>>2]=i;xu(s,e+4|0);t[n>>2]=t[s>>2];w=0;i=pe(37,n|0,44288)|0;s=w;w=0;if(s&1){s=je()|0;Lu(n);Sd(e);Qe(s|0)}else{Lu(n);t[e+36>>2]=i;t[e+40>>2]=r;f[e+44>>0]=(lM[t[(t[i>>2]|0)+28>>2]&127](i)|0)&1;c=a;return}}function qc(e){e=e|0;Sd(e);Bp(e);return}function $c(e,i){e=e|0;i=i|0;lM[t[(t[e>>2]|0)+24>>2]&127](e)|0;i=zu(i,44288)|0;t[e+36>>2]=i;f[e+44>>0]=(lM[t[(t[i>>2]|0)+28>>2]&127](i)|0)&1;return}function Vc(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;l=u+8|0;s=u;r=e+36|0;f=e+40|0;n=l+8|0;a=l;i=e+32|0;e:while(1){e=t[r>>2]|0;e=kM[t[(t[e>>2]|0)+20>>2]&31](e,t[f>>2]|0,l,n,s)|0;h=(t[s>>2]|0)-a|0;if((Cy(l,1,h,t[i>>2]|0)|0)!=(h|0)){e=-1;break}switch(e|0){case 1:break;case 2:{e=-1;break e}default:{o=4;break e}}}if((o|0)==4)e=((Sy(t[i>>2]|0)|0)!=0)<<31>>31;c=u;return e|0}function Xc(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;e:do{if(!(f[e+44>>0]|0))if((r|0)>0){n=i;i=0;while(1){if((_M[t[(t[e>>2]|0)+52>>2]&63](e,t[n>>2]|0)|0)==-1)break e;i=i+1|0;if((i|0)<(r|0))n=n+4|0;else break}}else i=0;else i=Cy(i,4,r,t[e+32>>2]|0)|0}while(0);return i|0}function Gc(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0;m=c;c=c+32|0;_=m+16|0;r=m+8|0;b=m+4|0;d=m;k=(i|0)==-1;e:do{if(!k){t[r>>2]=i;if(f[e+44>>0]|0)if((Cy(r,4,1,t[e+32>>2]|0)|0)==1){w=11;break}else{r=-1;break}t[b>>2]=_;u=r+4|0;h=e+36|0;a=e+40|0;s=_+8|0;l=_;o=e+32|0;while(1){e=t[h>>2]|0;e=yM[t[(t[e>>2]|0)+12>>2]&15](e,t[a>>2]|0,r,u,d,_,s,b)|0;if((t[d>>2]|0)==(r|0)){r=-1;break e}if((e|0)==3)break;n=(e|0)==1;if(e>>>0>=2){r=-1;break e}e=(t[b>>2]|0)-l|0;if((Cy(_,1,e,t[o>>2]|0)|0)!=(e|0)){r=-1;break e}if(n)r=n?t[d>>2]|0:r;else{w=11;break e}}if((Cy(r,1,1,t[o>>2]|0)|0)!=1)r=-1;else w=11}else w=11}while(0);if((w|0)==11)r=k?0:i;c=m;return r|0}function Kc(e,i){e=e|0;i=i|0;var r=0,n=0;n=zu(i,44288)|0;r=e+36|0;t[r>>2]=n;i=e+44|0;t[i>>2]=lM[t[(t[n>>2]|0)+24>>2]&127](n)|0;r=t[r>>2]|0;f[e+53>>0]=(lM[t[(t[r>>2]|0)+28>>2]&127](r)|0)&1;if((t[i>>2]|0)>8)$o(56783);return}function Wc(e){e=e|0;Sd(e);Bp(e);return}function Zc(e){e=e|0;return eh(e,0)|0}function Jc(e){e=e|0;return eh(e,1)|0}function Qc(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;u=h+16|0;o=h+8|0;n=h+4|0;a=h;s=e+52|0;r=(f[s>>0]|0)!=0;e:do{if((i|0)==-1)if(r)i=-1;else{i=t[e+48>>2]|0;f[s>>0]=(i|0)!=-1&1}else{l=e+48|0;i:do{if(r){t[n>>2]=t[l>>2];r=t[e+36>>2]|0;switch(yM[t[(t[r>>2]|0)+12>>2]&15](r,t[e+40>>2]|0,n,n+4|0,a,u,u+8|0,o)|0){case 1:case 2:{i=-1;break e}case 3:{f[u>>0]=t[l>>2];t[o>>2]=u+1;break}default:{}}r=e+32|0;while(1){n=t[o>>2]|0;if(n>>>0<=u>>>0)break i;e=n+-1|0;t[o>>2]=e;if((xy(f[e>>0]|0,t[r>>2]|0)|0)==-1){i=-1;break e}}}}while(0);t[l>>2]=i;f[s>>0]=1}}while(0);c=h;return i|0}function eh(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0;w=c;c=c+32|0;k=w+16|0;_=w+8|0;h=w+4|0;d=w;a=e+52|0;e:do{if(f[a>>0]|0){n=e+48|0;r=t[n>>2]|0;if(i){t[n>>2]=-1;f[a>>0]=0}}else{r=t[e+44>>2]|0;r=(r|0)>1?r:1;b=e+32|0;if((r|0)>0){a=0;do{n=Py(t[b>>2]|0)|0;if((n|0)==-1){r=-1;break e}f[k+a>>0]=n;a=a+1|0}while((a|0)<(r|0))}i:do{if(!(f[e+53>>0]|0)){l=e+40|0;o=e+36|0;u=_+4|0;r:while(1){m=t[l>>2]|0;a=m;n=t[a>>2]|0;a=t[a+4>>2]|0;v=t[o>>2]|0;s=k+r|0;switch(yM[t[(t[v>>2]|0)+16>>2]&15](v,m,k,s,h,_,u,d)|0){case 2:{r=-1;break e}case 3:break r;case 1:break;default:break i}v=t[l>>2]|0;t[v>>2]=n;t[v+4>>2]=a;if((r|0)==8){r=-1;break e}n=Py(t[b>>2]|0)|0;if((n|0)==-1){r=-1;break e}f[s>>0]=n;r=r+1|0}t[_>>2]=f[k>>0]}else t[_>>2]=f[k>>0]}while(0);if(i){r=t[_>>2]|0;t[e+48>>2]=r;break}while(1){if((r|0)<=0)break;r=r+-1|0;if((xy(f[k+r>>0]|0,t[b>>2]|0)|0)==-1){r=-1;break e}}r=t[_>>2]|0}}while(0);c=w;return r|0}function ih(e){e=e|0;cd(e);Bp(e);return}function rh(e,i){e=e|0;i=i|0;lM[t[(t[e>>2]|0)+24>>2]&127](e)|0;i=zu(i,44280)|0;t[e+36>>2]=i;f[e+44>>0]=(lM[t[(t[i>>2]|0)+28>>2]&127](i)|0)&1;return}function fh(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;l=u+8|0;s=u;r=e+36|0;f=e+40|0;n=l+8|0;a=l;i=e+32|0;e:while(1){e=t[r>>2]|0;e=kM[t[(t[e>>2]|0)+20>>2]&31](e,t[f>>2]|0,l,n,s)|0;h=(t[s>>2]|0)-a|0;if((Cy(l,1,h,t[i>>2]|0)|0)!=(h|0)){e=-1;break}switch(e|0){case 1:break;case 2:{e=-1;break e}default:{o=4;break e}}}if((o|0)==4)e=((Sy(t[i>>2]|0)|0)!=0)<<31>>31;c=u;return e|0}function nh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;e:do{if(!(f[e+44>>0]|0))if((r|0)>0){n=i;i=0;while(1){if((_M[t[(t[e>>2]|0)+52>>2]&63](e,a[n>>0]|0)|0)==-1)break e;i=i+1|0;if((i|0)<(r|0))n=n+1|0;else break}}else i=0;else i=Cy(i,1,r,t[e+32>>2]|0)|0}while(0);return i|0}function th(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0;m=c;c=c+32|0;_=m+16|0;r=m+8|0;b=m+4|0;d=m;k=(i|0)==-1;e:do{if(!k){f[r>>0]=i;if(f[e+44>>0]|0)if((Cy(r,1,1,t[e+32>>2]|0)|0)==1){w=11;break}else{r=-1;break}t[b>>2]=_;h=r+1|0;a=e+36|0;s=e+40|0;l=_+8|0;o=_;u=e+32|0;while(1){e=t[a>>2]|0;e=yM[t[(t[e>>2]|0)+12>>2]&15](e,t[s>>2]|0,r,h,d,_,l,b)|0;if((t[d>>2]|0)==(r|0)){r=-1;break e}if((e|0)==3)break;n=(e|0)==1;if(e>>>0>=2){r=-1;break e}e=(t[b>>2]|0)-o|0;if((Cy(_,1,e,t[u>>2]|0)|0)!=(e|0)){r=-1;break e}if(n)r=n?t[d>>2]|0:r;else{w=11;break e}}if((Cy(r,1,1,t[u>>2]|0)|0)!=1)r=-1;else w=11}else w=11}while(0);if((w|0)==11)r=k?0:i;c=m;return r|0}function ah(e,i){e=e|0;i=i|0;var r=0,n=0;n=zu(i,44280)|0;r=e+36|0;t[r>>2]=n;i=e+44|0;t[i>>2]=lM[t[(t[n>>2]|0)+24>>2]&127](n)|0;r=t[r>>2]|0;f[e+53>>0]=(lM[t[(t[r>>2]|0)+28>>2]&127](r)|0)&1;if((t[i>>2]|0)>8)$o(56783);return}function sh(e){e=e|0;cd(e);Bp(e);return}function lh(e){e=e|0;return ch(e,0)|0}function oh(e){e=e|0;return ch(e,1)|0}function uh(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;u=h+16|0;o=h+4|0;n=h+8|0;a=h;s=e+52|0;r=(f[s>>0]|0)!=0;e:do{if((i|0)==-1)if(r)i=-1;else{i=t[e+48>>2]|0;f[s>>0]=(i|0)!=-1&1}else{l=e+48|0;i:do{if(r){f[n>>0]=t[l>>2];r=t[e+36>>2]|0;switch(yM[t[(t[r>>2]|0)+12>>2]&15](r,t[e+40>>2]|0,n,n+1|0,a,u,u+8|0,o)|0){case 1:case 2:{i=-1;break e}case 3:{f[u>>0]=t[l>>2];t[o>>2]=u+1;break}default:{}}r=e+32|0;while(1){n=t[o>>2]|0;if(n>>>0<=u>>>0)break i;e=n+-1|0;t[o>>2]=e;if((xy(f[e>>0]|0,t[r>>2]|0)|0)==-1){i=-1;break e}}}}while(0);t[l>>2]=i;f[s>>0]=1}}while(0);c=h;return i|0}function ch(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0;m=c;c=c+32|0;w=m+16|0;k=m+8|0;d=m+4|0;b=m;s=e+52|0;e:do{if(f[s>>0]|0){n=e+48|0;r=t[n>>2]|0;if(i){t[n>>2]=-1;f[s>>0]=0}}else{r=t[e+44>>2]|0;r=(r|0)>1?r:1;_=e+32|0;if((r|0)>0){s=0;do{n=Py(t[_>>2]|0)|0;if((n|0)==-1){r=-1;break e}f[w+s>>0]=n;s=s+1|0}while((s|0)<(r|0))}i:do{if(!(f[e+53>>0]|0)){o=e+40|0;u=e+36|0;h=k+1|0;r:while(1){v=t[o>>2]|0;s=v;n=t[s>>2]|0;s=t[s+4>>2]|0;p=t[u>>2]|0;l=w+r|0;switch(yM[t[(t[p>>2]|0)+16>>2]&15](p,v,w,l,d,k,h,b)|0){case 2:{r=-1;break e}case 3:break r;case 1:break;default:break i}p=t[o>>2]|0;t[p>>2]=n;t[p+4>>2]=s;if((r|0)==8){r=-1;break e}n=Py(t[_>>2]|0)|0;if((n|0)==-1){r=-1;break e}f[l>>0]=n;r=r+1|0}f[k>>0]=f[w>>0]|0}else f[k>>0]=f[w>>0]|0}while(0);if(i){r=f[k>>0]|0;t[e+48>>2]=r&255}else{while(1){if((r|0)<=0)break;r=r+-1|0;if((xy(a[w+r>>0]|0,t[_>>2]|0)|0)==-1){r=-1;break e}}r=f[k>>0]|0}r=r&255}}while(0);c=m;return r|0}function hh(e){e=e|0;return}function dh(e){e=e|0;e=e+4|0;t[e>>2]=(t[e>>2]|0)+1;return}function bh(e){e=e|0;var i=0,r=0;r=e+4|0;i=t[r>>2]|0;t[r>>2]=i+-1;if(!i){tM[t[(t[e>>2]|0)+8>>2]&255](e);e=1}else e=0;return e|0}function _h(e,i){e=e|0;i=i|0;t[e>>2]=36868;w=0;ce(86,e+4|0,((f[i>>0]&1)==0?i+1|0:t[i+8>>2]|0)|0);e=w;w=0;if(e&1){e=je()|0;Qe(e|0)}else return}function kh(e,i){e=e|0;i=i|0;t[e>>2]=36868;w=0;ce(86,e+4|0,i|0);e=w;w=0;if(e&1){e=je()|0;Qe(e|0)}else return}function wh(e,i){e=e|0;i=i|0;var r=0,f=0;f=Vy(i)|0;r=Lp(f+13|0)|0;t[r>>2]=f;t[r+4>>2]=f;t[r+8>>2]=0;r=r+12|0;Em(r|0,i|0,f+1|0)|0;t[e>>2]=r;return}function mh(e,i,r){e=e|0;i=i|0;r=r|0;t[e>>2]=r;t[e+4>>2]=i;return}function vh(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0;n=c;c=c+16|0;f=n;pM[t[(t[e>>2]|0)+12>>2]&15](f,e,i);if((t[f+4>>2]|0)==(t[r+4>>2]|0))f=(t[f>>2]|0)==(t[r>>2]|0);else f=0;c=n;return f|0}function ph(e,i,r){e=e|0;i=i|0;r=r|0;return((t[i>>2]|0)==(r|0)?(t[i+4>>2]|0)==(e|0):0)|0}function gh(e,i,r){e=e|0;i=i|0;r=r|0;i=zg(r)|0;Ih(e,i,Vy(i)|0);return}function yh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;l=c;c=c+16|0;s=l;n=t[i>>2]|0;do{if(n){a=f[r>>0]|0;if(!(a&1))a=(a&255)>>>1;else a=t[r+4>>2]|0;if(a){Hh(r,56990)|0;n=t[i>>2]|0}i=t[i+4>>2]|0;pM[t[(t[i>>2]|0)+24>>2]&15](s,i,n);i=f[s>>0]|0;a=(i&1)==0;w=0;_e(30,r|0,(a?s+1|0:t[s+8>>2]|0)|0,(a?(i&255)>>>1:t[s+4>>2]|0)|0)|0;i=w;w=0;if(i&1){l=je()|0;xh(s);Qe(l|0)}else{xh(s);break}}}while(0);t[e>>2]=t[r>>2];t[e+4>>2]=t[r+4>>2];t[e+8>>2]=t[r+8>>2];t[r>>2]=0;t[r+4>>2]=0;t[r+8>>2]=0;c=l;return}function Mh(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0;n=c;c=c+32|0;f=n+12|0;a=n;Ih(a,r,Vy(r)|0);w=0;Ee(10,f|0,i|0,a|0);r=w;w=0;do{if(!(r&1)){w=0;ce(87,e|0,f|0);r=w;w=0;if(r&1){n=je()|0;xh(f);f=n;break}else{xh(f);xh(a);t[e>>2]=42664;r=t[i+4>>2]|0;a=e+8|0;t[a>>2]=t[i>>2];t[a+4>>2]=r;c=n;return}}else f=je()|0}while(0);xh(a);Qe(f|0)}function Ah(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0;a=c;c=c+48|0;n=a+24|0;l=a+16|0;s=a;t[l>>2]=i;t[l+4>>2]=r;Ph(s,f);w=0;Ee(10,n|0,l|0,s|0);f=w;w=0;do{if(!(f&1)){w=0;ce(87,e|0,n|0);l=w;w=0;if(l&1){l=je()|0;xh(n);n=l;break}else{xh(n);xh(s);t[e>>2]=42664;t[e+8>>2]=i;t[e+12>>2]=r;c=a;return}}else n=je()|0}while(0);xh(s);Qe(n|0)}function Eh(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0;n=c;c=c+48|0;f=n+24|0;s=n+16|0;a=n;t[s>>2]=i;t[s+4>>2]=r;Ih(a,58898,0);w=0;Ee(10,f|0,s|0,a|0);s=w;w=0;do{if(!(s&1)){w=0;ce(87,e|0,f|0);s=w;w=0;if(s&1){s=je()|0;xh(f);f=s;break}else{xh(f);xh(a);t[e>>2]=42664;t[e+8>>2]=i;t[e+12>>2]=r;c=n;return}}else f=je()|0}while(0);xh(a);Qe(f|0)}function Sh(e){e=e|0;$p(e);return}function Th(e){e=e|0;$p(e);Bp(e);return}function Rh(e){e=e|0;return}function Ch(e,i,r){e=e|0;i=i|0;r=r|0;var f=0;pi(42676)|0;if((t[e>>2]|0)==1)do{Oe(42704,42676)|0}while((t[e>>2]|0)==1);do{if(!(t[e>>2]|0)){t[e>>2]=1;w=0;de(72,42676)|0;f=w;w=0;if((((!(f&1)?(w=0,ue(r|0,i|0),f=w,w=0,!(f&1)):0)?(w=0,de(73,42676)|0,f=w,w=0,!(f&1)):0)?(t[e>>2]=-1,w=0,de(72,42676)|0,f=w,w=0,!(f&1)):0)?(w=0,de(74,42704)|0,f=w,w=0,!(f&1)):0)break;f=je(0)|0;We(f|0)|0;w=0;de(73,42676)|0;f=w;w=0;if((!(f&1)?(t[e>>2]=0,w=0,de(72,42676)|0,f=w,w=0,!(f&1)):0)?(w=0,de(74,42704)|0,f=w,w=0,!(f&1)):0){w=0;Se(5);w=0}i=je()|0;w=0;Se(3);f=w;w=0;if(f&1){f=je(0)|0;Ni(f)}else Qe(i|0)}else ti(42676)|0}while(0);return}function Ph(e,i){e=e|0;i=i|0;if(!(f[i>>0]&1)){t[e>>2]=t[i>>2];t[e+4>>2]=t[i+4>>2];t[e+8>>2]=t[i+8>>2]}else Ih(e,t[i+8>>2]|0,t[i+4>>2]|0);return}function Ih(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;if(r>>>0>4294967279)Ip(e);if(r>>>0<11){f[e>>0]=r<<1;e=e+1|0}else{a=r+16&-16;n=Lp(a)|0;t[e+8>>2]=n;t[e>>2]=a|1;t[e+4>>2]=r;e=n}Em(e|0,i|0,r|0)|0;f[e+r>>0]=0;return}function Oh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;if(i>>>0>4294967279)Ip(e);if(i>>>0<11){f[e>>0]=i<<1;e=e+1|0}else{a=i+16&-16;n=Lp(a)|0;t[e+8>>2]=n;t[e>>2]=a|1;t[e+4>>2]=i;e=n}ym(e|0,r|0,i|0)|0;f[e+i>>0]=0;return}function xh(e){e=e|0;if(f[e>>0]&1)Bp(t[e+8>>2]|0);return}function Lh(e,i){e=e|0;i=i|0;var r=0,n=0;if((e|0)!=(i|0)){r=f[i>>0]|0;n=(r&1)==0;zh(e,n?i+1|0:t[i+8>>2]|0,n?(r&255)>>>1:t[i+4>>2]|0)|0}return e|0}function Bh(e,i){e=e|0;i=i|0;return zh(e,i,Vy(i)|0)|0}function zh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;n=f[e>>0]|0;if(!(n&1))s=10;else{n=t[e>>2]|0;s=(n&-2)+-1|0;n=n&255}a=(n&1)==0;do{if(s>>>0>=r>>>0){if(a)n=e+1|0;else n=t[e+8>>2]|0;Tm(n|0,i|0,r|0)|0;f[n+r>>0]=0;if(!(f[e>>0]&1)){f[e>>0]=r<<1;break}else{t[e+4>>2]=r;break}}else{if(a)n=(n&255)>>>1;else n=t[e+4>>2]|0;Yh(e,s,r-s|0,n,0,n,r,i)}}while(0);return e|0}function Dh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;n=f[e>>0]|0;a=(n&1)==0;if(a)n=(n&255)>>>1;else n=t[e+4>>2]|0;do{if(n>>>0>=i>>>0)if(a){f[e+1+i>>0]=0;f[e>>0]=i<<1;break}else{f[(t[e+8>>2]|0)+i>>0]=0;t[e+4>>2]=i;break}else Nh(e,i-n|0,r)|0}while(0);return}function Nh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;if(i){n=f[e>>0]|0;if(!(n&1))a=10;else{n=t[e>>2]|0;a=(n&-2)+-1|0;n=n&255}if(!(n&1))s=(n&255)>>>1;else s=t[e+4>>2]|0;if((a-s|0)>>>0>>0){qh(e,a,i-a+s|0,s,s,0,0);n=f[e>>0]|0}if(!(n&1))a=e+1|0;else a=t[e+8>>2]|0;ym(a+s|0,r|0,i|0)|0;n=s+i|0;if(!(f[e>>0]&1))f[e>>0]=n<<1;else t[e+4>>2]=n;f[a+n>>0]=0}return e|0}function Fh(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0;if(i>>>0>4294967279)Ip(e);r=f[e>>0]|0;if(!(r&1))n=10;else{r=t[e>>2]|0;n=(r&-2)+-1|0;r=r&255}if(!(r&1))o=(r&255)>>>1;else o=t[e+4>>2]|0;i=o>>>0>i>>>0?o:i;if(i>>>0<11)l=10;else l=(i+16&-16)+-1|0;e:do{if((l|0)!=(n|0)){do{if((l|0)!=10){i=l+1|0;if(l>>>0<=n>>>0){w=0;i=de(67,i|0)|0;s=w;w=0;if(s&1){e=je(0)|0;We(e|0)|0;Je();break e}}else i=Lp(i)|0;if(!(r&1)){n=1;a=e+1|0;s=0;break}else{n=1;a=t[e+8>>2]|0;s=1;break}}else{i=e+1|0;n=0;a=t[e+8>>2]|0;s=1}}while(0);if(!(r&1))r=(r&255)>>>1;else r=t[e+4>>2]|0;Em(i|0,a|0,r+1|0)|0;if(s)Bp(a);if(n){t[e>>2]=l+1|1;t[e+4>>2]=o;t[e+8>>2]=i;break}else{f[e>>0]=o<<1;break}}}while(0);return}function Hh(e,i){e=e|0;i=i|0;return jh(e,i,Vy(i)|0)|0}function Uh(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0;r=f[e>>0]|0;n=(r&1)!=0;if(n){a=(t[e>>2]&-2)+-1|0;s=t[e+4>>2]|0}else{a=10;s=(r&255)>>>1}if((s|0)==(a|0)){qh(e,a,1,a,a,0,0);if(!(f[e>>0]&1))a=7;else a=8}else if(n)a=8;else a=7;if((a|0)==7){f[e>>0]=(s<<1)+2;r=e+1|0;n=s+1|0}else if((a|0)==8){r=t[e+8>>2]|0;n=s+1|0;t[e+4>>2]=n}f[r+s>>0]=i;f[r+n>>0]=0;return}function jh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;n=f[e>>0]|0;if(!(n&1))a=10;else{n=t[e>>2]|0;a=(n&-2)+-1|0;n=n&255}if(!(n&1))s=(n&255)>>>1;else s=t[e+4>>2]|0;if((a-s|0)>>>0>=r>>>0){if(r){if(!(n&1))a=e+1|0;else a=t[e+8>>2]|0;Em(a+s|0,i|0,r|0)|0;n=s+r|0;if(!(f[e>>0]&1))f[e>>0]=n<<1;else t[e+4>>2]=n;f[a+n>>0]=0}}else Yh(e,a,r-a+s|0,s,s,0,r,i);return e|0}function Yh(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,c=0,h=0;if((-18-i|0)>>>0>>0)Ip(e);if(!(f[e>>0]&1))h=e+1|0;else h=t[e+8>>2]|0;if(i>>>0<2147483623){u=r+i|0;c=i<<1;u=u>>>0>>0?c:u;u=u>>>0<11?11:u+16&-16}else u=-17;c=Lp(u)|0;if(a)Em(c|0,h|0,a|0)|0;if(l)Em(c+a|0,o|0,l|0)|0;r=n-s|0;if((r|0)!=(a|0))Em(c+(l+a)|0,h+(s+a)|0,r-a|0)|0;if((i|0)!=10)Bp(h);t[e+8>>2]=c;t[e>>2]=u|1;i=r+l|0;t[e+4>>2]=i;f[c+i>>0]=0;return}function qh(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,c=0;if((-17-i|0)>>>0>>0)Ip(e);if(!(f[e>>0]&1))c=e+1|0;else c=t[e+8>>2]|0;if(i>>>0<2147483623){o=r+i|0;u=i<<1;o=o>>>0>>0?u:o;o=o>>>0<11?11:o+16&-16}else o=-17;u=Lp(o)|0;if(a)Em(u|0,c|0,a|0)|0;r=n-s|0;if((r|0)!=(a|0))Em(u+(l+a)|0,c+(s+a)|0,r-a|0)|0;if((i|0)!=10)Bp(c);t[e+8>>2]=u;t[e>>2]=o|1;return}function $h(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;if(r>>>0>1073741807)Ip(e);if(r>>>0<2){f[e>>0]=r<<1;e=e+4|0}else{a=r+4&-4;n=Lp(a<<2)|0;t[e+8>>2]=n;t[e>>2]=a|1;t[e+4>>2]=r;e=n}Ky(e,i,r)|0;t[e+(r<<2)>>2]=0;return}function Vh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;if(i>>>0>1073741807)Ip(e);if(i>>>0<2){f[e>>0]=i<<1;e=e+4|0}else{a=i+4&-4;n=Lp(a<<2)|0;t[e+8>>2]=n;t[e>>2]=a|1;t[e+4>>2]=i;e=n}Zy(e,r,i)|0;t[e+(i<<2)>>2]=0;return}function Xh(e){e=e|0;if(f[e>>0]&1)Bp(t[e+8>>2]|0);return}function Gh(e,i){e=e|0;i=i|0;return Kh(e,i,Gy(i)|0)|0}function Kh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;n=f[e>>0]|0;if(!(n&1))s=1;else{n=t[e>>2]|0;s=(n&-2)+-1|0;n=n&255}a=(n&1)==0;do{if(s>>>0>=r>>>0){if(a)n=e+4|0;else n=t[e+8>>2]|0;Wy(n,i,r)|0;t[n+(r<<2)>>2]=0;if(!(f[e>>0]&1)){f[e>>0]=r<<1;break}else{t[e+4>>2]=r;break}}else{if(a)n=(n&255)>>>1;else n=t[e+4>>2]|0;Jh(e,s,r-s|0,n,0,n,r,i)}}while(0);return e|0}function Wh(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0;if(i>>>0>1073741807)Ip(e);r=f[e>>0]|0;if(!(r&1))n=1;else{r=t[e>>2]|0;n=(r&-2)+-1|0;r=r&255}if(!(r&1))o=(r&255)>>>1;else o=t[e+4>>2]|0;i=o>>>0>i>>>0?o:i;if(i>>>0<2)l=1;else l=(i+4&-4)+-1|0;e:do{if((l|0)!=(n|0)){do{if((l|0)!=1){i=(l<<2)+4|0;if(l>>>0<=n>>>0){w=0;i=de(67,i|0)|0;s=w;w=0;if(s&1){e=je(0)|0;We(e|0)|0;Je();break e}}else i=Lp(i)|0;if(!(r&1)){n=1;a=e+4|0;s=0;break}else{n=1;a=t[e+8>>2]|0;s=1;break}}else{i=e+4|0;n=0;a=t[e+8>>2]|0;s=1}}while(0);if(!(r&1))r=(r&255)>>>1;else r=t[e+4>>2]|0;Ky(i,a,r+1|0)|0;if(s)Bp(a);if(n){t[e>>2]=l+1|1;t[e+4>>2]=o;t[e+8>>2]=i;break}else{f[e>>0]=o<<1;break}}}while(0);return}function Zh(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0;r=f[e>>0]|0;n=(r&1)!=0;if(n){a=(t[e>>2]&-2)+-1|0;s=t[e+4>>2]|0}else{a=1;s=(r&255)>>>1}if((s|0)==(a|0)){Qh(e,a,1,a,a,0,0);if(!(f[e>>0]&1))a=7;else a=8}else if(n)a=8;else a=7;if((a|0)==7){f[e>>0]=(s<<1)+2;r=e+4|0;n=s+1|0}else if((a|0)==8){r=t[e+8>>2]|0;n=s+1|0;t[e+4>>2]=n}t[r+(s<<2)>>2]=i;t[r+(n<<2)>>2]=0;return}function Jh(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,c=0,h=0;if((1073741806-i|0)>>>0>>0)Ip(e);if(!(f[e>>0]&1))h=e+4|0;else h=t[e+8>>2]|0;if(i>>>0<536870887){u=r+i|0;c=i<<1;u=u>>>0>>0?c:u;u=u>>>0<2?2:u+4&-4}else u=1073741807;c=Lp(u<<2)|0;if(a)Ky(c,h,a)|0;if(l)Ky(c+(a<<2)|0,o,l)|0;r=n-s|0;if((r|0)!=(a|0))Ky(c+(l+a<<2)|0,h+(s+a<<2)|0,r-a|0)|0;if((i|0)!=1)Bp(h);t[e+8>>2]=c;t[e>>2]=u|1;i=r+l|0;t[e+4>>2]=i;t[c+(i<<2)>>2]=0;return}function Qh(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,c=0;if((1073741807-i|0)>>>0>>0)Ip(e);if(!(f[e>>0]&1))c=e+4|0;else c=t[e+8>>2]|0;if(i>>>0<536870887){o=r+i|0;u=i<<1;o=o>>>0>>0?u:o;o=o>>>0<2?2:o+4&-4}else o=1073741807;u=Lp(o<<2)|0;if(a)Ky(u,c,a)|0;r=n-s|0;if((r|0)!=(a|0))Ky(u+(l+a<<2)|0,c+(s+a<<2)|0,r-a|0)|0;if((i|0)!=1)Bp(c);t[e+8>>2]=u;t[e>>2]=o|1;return}function ed(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;a=i;n=r-a|0;if(n>>>0>4294967279)Ip(e);if(n>>>0<11){f[e>>0]=n<<1;s=e+1|0}else{l=n+16&-16;s=Lp(l)|0;t[e+8>>2]=s;t[e>>2]=l|1;t[e+4>>2]=n}e=r-a|0;if((i|0)!=(r|0)){n=s;while(1){f[n>>0]=f[i>>0]|0;i=i+1|0;if((i|0)==(r|0))break;else n=n+1|0}}f[s+e>>0]=0;return}function id(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;s=i;n=r-s|0;a=n>>2;if(a>>>0>1073741807)Ip(e);if(a>>>0<2){f[e>>0]=n>>>1;e=e+4|0}else{l=a+4&-4;n=Lp(l<<2)|0;t[e+8>>2]=n;t[e>>2]=l|1;t[e+4>>2]=a;e=n}a=(r-s|0)>>>2;if((i|0)!=(r|0)){n=e;while(1){t[n>>2]=t[i>>2];i=i+4|0;if((i|0)==(r|0))break;else n=n+4|0}}t[e+(a<<2)>>2]=0;return}function rd(e,i){e=e|0;i=i|0;var r=0,f=0,n=0;r=c;c=c+16|0;f=r;n=(t[e+24>>2]|0)==0;t[e+16>>2]=n&1|i;if(!((n&1|i)&t[e+20>>2])){c=r;return}i=Ue(16)|0;_b()|0;t[f>>2]=1;t[f+4>>2]=43112;w=0;Ee(11,i|0,57437,f|0);n=w;w=0;if(n&1){n=je()|0;He(i|0);Qe(n|0)}else bi(i|0,864,112)}function fd(e){e=e|0;var i=0;t[e>>2]=43068;w=0;ce(88,e|0,0);i=w;w=0;if(i&1){i=je(0)|0;Ni(i)}else{Lu(e+28|0);Ic(t[e+32>>2]|0);Ic(t[e+36>>2]|0);Ic(t[e+48>>2]|0);Ic(t[e+60>>2]|0);return}}function nd(e){e=e|0;fd(e);return}function td(e){e=e|0;fd(e);Bp(e);return}function ad(e,i){e=e|0;i=i|0;var r=0,f=0,n=0;r=t[e+40>>2]|0;f=e+32|0;n=e+36|0;if(r)do{r=r+-1|0;pM[t[(t[f>>2]|0)+(r<<2)>>2]&15](i,e,t[(t[n>>2]|0)+(r<<2)>>2]|0)}while((r|0)!=0);return}function sd(e){e=e|0;var i=0,r=0;r=c;c=c+16|0;i=r;xu(i,e+28|0);c=r;return t[i>>2]|0}function ld(e,i){e=e|0;i=i|0;var r=0;t[e+24>>2]=i;t[e+16>>2]=(i|0)==0&1;t[e+20>>2]=0;t[e+4>>2]=4098;t[e+12>>2]=0;t[e+8>>2]=6;r=e+28|0;i=e+32|0;e=i+40|0;do{t[i>>2]=0;i=i+4|0}while((i|0)<(e|0));Ou(r);return}function od(e){e=e|0;fd(e);return}function ud(e){e=e|0;fd(e);Bp(e);return}function cd(e){e=e|0;t[e>>2]=42760;Lu(e+4|0);return}function hd(e){e=e|0;t[e>>2]=42760;Lu(e+4|0);Bp(e);return}function dd(e){e=e|0;t[e>>2]=42760;Ou(e+4|0);e=e+8|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[e+16>>2]=0;t[e+20>>2]=0;return}function bd(e,i){e=e|0;i=i|0;return}function _d(e,i,r){e=e|0;i=i|0;r=r|0;return e|0}function kd(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;i=e;t[i>>2]=0;t[i+4>>2]=0;i=e+8|0;t[i>>2]=-1;t[i+4>>2]=-1;return}function wd(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;i=e;t[i>>2]=0;t[i+4>>2]=0;i=e+8|0;t[i>>2]=-1;t[i+4>>2]=-1;return}function md(e){e=e|0;return 0}function vd(e){e=e|0;return 0}function pd(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;s=e+12|0;l=e+16|0;e:do{if((r|0)>0){a=i;i=0;while(1){n=t[s>>2]|0;if(n>>>0<(t[l>>2]|0)>>>0){t[s>>2]=n+1;n=f[n>>0]|0}else{n=lM[t[(t[e>>2]|0)+40>>2]&127](e)|0;if((n|0)==-1)break e;n=n&255}f[a>>0]=n;i=i+1|0;if((i|0)<(r|0))a=a+1|0;else break}}else i=0}while(0);return i|0}function gd(e){e=e|0;return-1}function yd(e){e=e|0;var i=0;if((lM[t[(t[e>>2]|0)+36>>2]&127](e)|0)==-1)e=-1;else{i=e+12|0;e=t[i>>2]|0;t[i>>2]=e+1;e=a[e>>0]|0}return e|0}function Md(e,i){e=e|0;i=i|0;return-1}function Ad(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0;l=e+24|0;o=e+28|0;e:do{if((r|0)>0){s=i;i=0;while(1){n=t[l>>2]|0;if(n>>>0>=(t[o>>2]|0)>>>0){if((_M[t[(t[e>>2]|0)+52>>2]&63](e,a[s>>0]|0)|0)==-1)break e}else{u=f[s>>0]|0;t[l>>2]=n+1;f[n>>0]=u}i=i+1|0;if((i|0)<(r|0))s=s+1|0;else break}}else i=0}while(0);return i|0}function Ed(e,i){e=e|0;i=i|0;return-1}function Sd(e){e=e|0;t[e>>2]=42824;Lu(e+4|0);return}function Td(e){e=e|0;t[e>>2]=42824;Lu(e+4|0);Bp(e);return}function Rd(e){e=e|0;t[e>>2]=42824;Ou(e+4|0);e=e+8|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[e+16>>2]=0;t[e+20>>2]=0;return}function Cd(e,i){e=e|0;i=i|0;return}function Pd(e,i,r){e=e|0;i=i|0;r=r|0;return e|0}function Id(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;i=e;t[i>>2]=0;t[i+4>>2]=0;i=e+8|0;t[i>>2]=-1;t[i+4>>2]=-1;return}function Od(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;i=e;t[i>>2]=0;t[i+4>>2]=0;i=e+8|0;t[i>>2]=-1;t[i+4>>2]=-1;return}function xd(e){e=e|0;return 0}function Ld(e){e=e|0;return 0}function Bd(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0;a=e+12|0;s=e+16|0;e:do{if((r|0)>0){n=i;i=0;while(1){f=t[a>>2]|0;if(f>>>0>=(t[s>>2]|0)>>>0){f=lM[t[(t[e>>2]|0)+40>>2]&127](e)|0;if((f|0)==-1)break e}else{t[a>>2]=f+4;f=t[f>>2]|0}t[n>>2]=f;i=i+1|0;if((i|0)<(r|0))n=n+4|0;else break}}else i=0}while(0);return i|0}function zd(e){e=e|0;return-1}function Dd(e){e=e|0;var i=0;if((lM[t[(t[e>>2]|0)+36>>2]&127](e)|0)==-1)e=-1;else{i=e+12|0;e=t[i>>2]|0;t[i>>2]=e+4;e=t[e>>2]|0}return e|0}function Nd(e,i){e=e|0;i=i|0;return-1}function Fd(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0;a=e+24|0;s=e+28|0;e:do{if((r|0)>0){n=i;i=0;while(1){f=t[a>>2]|0;if(f>>>0>=(t[s>>2]|0)>>>0){if((_M[t[(t[e>>2]|0)+52>>2]&63](e,t[n>>2]|0)|0)==-1)break e}else{l=t[n>>2]|0;t[a>>2]=f+4;t[f>>2]=l}i=i+1|0;if((i|0)<(r|0))n=n+4|0;else break}}else i=0}while(0);return i|0}function Hd(e,i){e=e|0;i=i|0;return-1}function Ud(e){e=e|0;fd(e+8|0);return}function jd(e){e=e|0;fd(e+((t[(t[e>>2]|0)+-12>>2]|0)+8)|0);return}function Yd(e){e=e|0;fd(e+8|0);Bp(e);return}function qd(e){e=e|0;Yd(e+(t[(t[e>>2]|0)+-12>>2]|0)|0);return}function $d(e){e=e|0;var i=0,r=0,n=0,a=0;n=c;c=c+16|0;r=n;e:do{if(t[e+((t[(t[e>>2]|0)+-12>>2]|0)+24)>>2]|0){w=0;ce(65,r|0,e|0);i=w;w=0;i:do{if(i&1)i=je(0)|0;else{do{if(f[r>>0]|0){i=t[e+((t[(t[e>>2]|0)+-12>>2]|0)+24)>>2]|0;w=0;i=de(t[(t[i>>2]|0)+24>>2]|0,i|0)|0;a=w;w=0;if(!(a&1)){if((i|0)!=-1)break;a=t[(t[e>>2]|0)+-12>>2]|0;w=0;ce(66,e+a|0,t[e+(a+16)>>2]|1|0);a=w;w=0;if(!(a&1))break}i=je(0)|0;nb(r);break i}}while(0);nb(r);break e}}while(0);We(i|0)|0;w=0;ue(181,e+(t[(t[e>>2]|0)+-12>>2]|0)|0);a=w;w=0;if(!(a&1)){Je();break}i=je()|0;w=0;Se(3);a=w;w=0;if(a&1){a=je(0)|0;Ni(a)}else Qe(i|0)}}while(0);c=n;return e|0}function Vd(e){e=e|0;var i=0;i=e+16|0;t[i>>2]=t[i>>2]|1;if(!(t[e+20>>2]&1))return;else _i()}function Xd(e){e=e|0;fd(e+8|0);return}function Gd(e){e=e|0;fd(e+((t[(t[e>>2]|0)+-12>>2]|0)+8)|0);return}function Kd(e){e=e|0;fd(e+8|0);Bp(e);return}function Wd(e){e=e|0;Kd(e+(t[(t[e>>2]|0)+-12>>2]|0)|0);return}function Zd(e){e=e|0;var i=0,r=0,n=0,a=0;n=c;c=c+16|0;r=n;e:do{if(t[e+((t[(t[e>>2]|0)+-12>>2]|0)+24)>>2]|0){w=0;ce(89,r|0,e|0);i=w;w=0;i:do{if(i&1)i=je(0)|0;else{do{if(f[r>>0]|0){i=t[e+((t[(t[e>>2]|0)+-12>>2]|0)+24)>>2]|0;w=0;i=de(t[(t[i>>2]|0)+24>>2]|0,i|0)|0;a=w;w=0;if(!(a&1)){if((i|0)!=-1)break;a=t[(t[e>>2]|0)+-12>>2]|0;w=0;ce(66,e+a|0,t[e+(a+16)>>2]|1|0);a=w;w=0;if(!(a&1))break}i=je(0)|0;hb(r);break i}}while(0);hb(r);break e}}while(0);We(i|0)|0;w=0;ue(181,e+(t[(t[e>>2]|0)+-12>>2]|0)|0);a=w;w=0;if(!(a&1)){Je();break}i=je()|0;w=0;Se(3);a=w;w=0;if(a&1){a=je(0)|0;Ni(a)}else Qe(i|0)}}while(0);c=n;return e|0}function Jd(e,i){e=e|0;i=i|0;return}function Qd(e){e=e|0;fd(e+4|0);return}function eb(e){e=e|0;fd(e+((t[(t[e>>2]|0)+-12>>2]|0)+4)|0);return}function ib(e){e=e|0;fd(e+4|0);Bp(e);return}function rb(e){e=e|0;ib(e+(t[(t[e>>2]|0)+-12>>2]|0)|0);return}function fb(e,i){e=e|0;i=i|0;var r=0;f[e>>0]=0;t[e+4>>2]=i;r=t[(t[i>>2]|0)+-12>>2]|0;if(!(t[i+(r+16)>>2]|0)){r=t[i+(r+72)>>2]|0;if(r)$d(r)|0;f[e>>0]=1}return}function nb(e){e=e|0;var i=0,r=0;e=e+4|0;r=t[e>>2]|0;i=t[(t[r>>2]|0)+-12>>2]|0;do{if((((t[r+(i+24)>>2]|0)!=0?(t[r+(i+16)>>2]|0)==0:0)?(t[r+(i+4)>>2]&8192|0)!=0:0)?!(ei()|0):0){i=t[e>>2]|0;i=t[i+((t[(t[i>>2]|0)+-12>>2]|0)+24)>>2]|0;w=0;i=de(t[(t[i>>2]|0)+24>>2]|0,i|0)|0;r=w;w=0;if(!(r&1)){if((i|0)!=-1)break;i=t[e>>2]|0;r=t[(t[i>>2]|0)+-12>>2]|0;w=0;ce(66,i+r|0,t[i+(r+16)>>2]|1|0);r=w;w=0;if(!(r&1))break}r=je(0)|0;We(r|0)|0;w=0;Se(3);r=w;w=0;if(r&1){r=je(0)|0;Ni(r)}}}while(0);return}function tb(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0;_=c;c=c+32|0;o=_+20|0;u=_+16|0;d=_+8|0;r=_;w=0;ce(65,d|0,e|0);h=w;w=0;e:do{if(h&1){r=je(0)|0;n=e;a=e;b=19}else{do{if(f[d>>0]|0){t[r>>2]=sd(e+(t[(t[e>>2]|0)+-12>>2]|0)|0)|0;w=0;h=pe(37,r|0,43392)|0;l=w;w=0;if(l&1){b=je(0)|0;Lu(r);r=b}else{Lu(r);a=t[(t[e>>2]|0)+-12>>2]|0;l=t[e+(a+24)>>2]|0;n=e+a|0;a=e+(a+76)|0;r=t[a>>2]|0;do{if((r|0)==-1){t[o>>2]=sd(n)|0;w=0;r=pe(37,o|0,44220)|0;k=w;w=0;if(!(k&1)?(w=0,s=pe(t[(t[r>>2]|0)+28>>2]|0,r|0,32)|0,k=w,w=0,!(k&1)):0){Lu(o);r=s<<24>>24;t[a>>2]=r;b=10;break}r=je(0)|0;Lu(o)}else b=10}while(0);if((b|0)==10){k=t[(t[h>>2]|0)+16>>2]|0;t[u>>2]=l;w=0;t[o>>2]=t[u>>2];r=ge(k|0,h|0,o|0,n|0,r&255|0,i|0)|0;k=w;w=0;if(!(k&1)){if(r)break;k=t[(t[e>>2]|0)+-12>>2]|0;w=0;ce(66,e+k|0,t[e+(k+16)>>2]|5|0);k=w;w=0;if(!(k&1))break}r=je(0)|0}}nb(d);n=e;a=e;b=19;break e}}while(0);nb(d)}}while(0);do{if((b|0)==19){We(r|0)|0;w=0;ue(181,n+(t[(t[a>>2]|0)+-12>>2]|0)|0);k=w;w=0;if(!(k&1)){Je();break}r=je()|0;w=0;Se(3);k=w;w=0;if(k&1){k=je(0)|0;Ni(k)}else Qe(r|0)}}while(0);c=_;return e|0}function ab(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0;_=c;c=c+32|0;o=_+20|0;u=_+16|0;d=_+8|0;r=_;w=0;ce(65,d|0,e|0);h=w;w=0;e:do{if(h&1){r=je(0)|0;n=e;a=e;b=19}else{do{if(f[d>>0]|0){t[r>>2]=sd(e+(t[(t[e>>2]|0)+-12>>2]|0)|0)|0;w=0;h=pe(37,r|0,43392)|0;l=w;w=0;if(l&1){b=je(0)|0;Lu(r);r=b}else{Lu(r);a=t[(t[e>>2]|0)+-12>>2]|0;l=t[e+(a+24)>>2]|0;n=e+a|0;a=e+(a+76)|0;r=t[a>>2]|0;do{if((r|0)==-1){t[o>>2]=sd(n)|0;w=0;r=pe(37,o|0,44220)|0;k=w;w=0;if(!(k&1)?(w=0,s=pe(t[(t[r>>2]|0)+28>>2]|0,r|0,32)|0,k=w,w=0,!(k&1)):0){Lu(o);r=s<<24>>24;t[a>>2]=r;b=10;break}r=je(0)|0;Lu(o)}else b=10}while(0);if((b|0)==10){k=t[(t[h>>2]|0)+24>>2]|0;t[u>>2]=l;w=0;t[o>>2]=t[u>>2];r=ge(k|0,h|0,o|0,n|0,r&255|0,i|0)|0;k=w;w=0;if(!(k&1)){if(r)break;k=t[(t[e>>2]|0)+-12>>2]|0;w=0;ce(66,e+k|0,t[e+(k+16)>>2]|5|0);k=w;w=0;if(!(k&1))break}r=je(0)|0}}nb(d);n=e;a=e;b=19;break e}}while(0);nb(d)}}while(0);do{if((b|0)==19){We(r|0)|0;w=0;ue(181,n+(t[(t[a>>2]|0)+-12>>2]|0)|0);k=w;w=0;if(!(k&1)){Je();break}r=je()|0;w=0;Se(3);k=w;w=0;if(k&1){k=je(0)|0;Ni(k)}else Qe(r|0)}}while(0);c=_;return e|0}function sb(e){e=e|0;fd(e+4|0);return}function lb(e){e=e|0;fd(e+((t[(t[e>>2]|0)+-12>>2]|0)+4)|0);return}function ob(e){e=e|0;fd(e+4|0);Bp(e);return}function ub(e){e=e|0;ob(e+(t[(t[e>>2]|0)+-12>>2]|0)|0);return}function cb(e,i){e=e|0;i=i|0;var r=0;f[e>>0]=0;t[e+4>>2]=i;r=t[(t[i>>2]|0)+-12>>2]|0;if(!(t[i+(r+16)>>2]|0)){r=t[i+(r+72)>>2]|0;if(r)Zd(r)|0;f[e>>0]=1}return}function hb(e){e=e|0;var i=0,r=0;e=e+4|0;r=t[e>>2]|0;i=t[(t[r>>2]|0)+-12>>2]|0;do{if((((t[r+(i+24)>>2]|0)!=0?(t[r+(i+16)>>2]|0)==0:0)?(t[r+(i+4)>>2]&8192|0)!=0:0)?!(ei()|0):0){i=t[e>>2]|0;i=t[i+((t[(t[i>>2]|0)+-12>>2]|0)+24)>>2]|0;w=0;i=de(t[(t[i>>2]|0)+24>>2]|0,i|0)|0;r=w;w=0;if(!(r&1)){if((i|0)!=-1)break;i=t[e>>2]|0;r=t[(t[i>>2]|0)+-12>>2]|0;w=0;ce(66,i+r|0,t[i+(r+16)>>2]|1|0);r=w;w=0;if(!(r&1))break}r=je(0)|0;We(r|0)|0;w=0;Se(3);r=w;w=0;if(r&1){r=je(0)|0;Ni(r)}}}while(0);return}function db(e){e=e|0;return 57453}function bb(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)!=1&(r|0)<257)gh(e,i,r);else Ih(e,57462,35);return}function _b(){if((f[1048]|0)==0?(ze(1048)|0)!=0:0){t[10778]=43084;di(72,43112,k|0)|0;qe(1048)}return 43112}function kb(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0;f=c;c=c+16|0;n=f+8|0;a=f;l=r;s=t[l+4>>2]|0;r=a;t[r>>2]=t[l>>2];t[r+4>>2]=s;t[n>>2]=t[a>>2];t[n+4>>2]=t[a+4>>2];Mh(e,n,i);t[e>>2]=43048;c=f;return}function wb(e){e=e|0;Sh(e);return}function mb(e){e=e|0;Sh(e);Bp(e);return}function vb(e){e=e|0;fd(e);Bp(e);return}function pb(e){e=e|0;Bp(e);return}function gb(e){e=e|0;return}function yb(e){e=e|0;return}function Mb(e){e=e|0;Bp(e);return}function Ab(e,i,r,n,t){e=e|0;i=i|0;r=r|0;n=n|0;t=t|0;var a=0,s=0;e:do{if((n|0)==(t|0))s=6;else while(1){if((i|0)==(r|0)){i=-1;break e}e=f[i>>0]|0;a=f[n>>0]|0;if(e<<24>>24>24){i=-1;break e}if(a<<24>>24>24){i=1;break e}i=i+1|0;n=n+1|0;if((n|0)==(t|0)){s=6;break}}}while(0);if((s|0)==6)i=(i|0)!=(r|0)&1;return i|0}function Eb(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;ed(e,r,f);return}function Sb(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;if((i|0)==(r|0))e=0;else{e=0;do{e=(f[i>>0]|0)+(e<<4)|0;n=e&-268435456;e=(n>>>24|n)^e;i=i+1|0}while((i|0)!=(r|0))}return e|0}function Tb(e){e=e|0;return}function Rb(e){e=e|0;Bp(e);return}function Cb(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0;e:do{if((f|0)==(n|0))s=6;else while(1){if((i|0)==(r|0)){i=-1;break e}e=t[i>>2]|0;a=t[f>>2]|0;if((e|0)<(a|0)){i=-1;break e}if((a|0)<(e|0)){i=1;break e}i=i+4|0;f=f+4|0;if((f|0)==(n|0)){s=6;break}}}while(0);if((s|0)==6)i=(i|0)!=(r|0)&1;return i|0}function Pb(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;id(e,r,f);return}function Ib(e,i,r){e=e|0;i=i|0;r=r|0;var f=0;if((i|0)==(r|0))e=0;else{e=0;do{e=(t[i>>2]|0)+(e<<4)|0;f=e&-268435456;e=(f>>>24|f)^e;i=i+4|0}while((i|0)!=(r|0))}return e|0}function Ob(e){e=e|0;return}function xb(e){e=e|0;Bp(e);return}function Lb(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0;m=c;c=c+64|0;_=m+56|0;l=m+52|0;d=m+48|0;o=m+44|0;u=m+40|0;h=m+36|0;b=m+32|0;v=m+8|0;k=m;e:do{if(!(t[n+4>>2]&1)){t[d>>2]=-1;v=t[(t[e>>2]|0)+16>>2]|0;t[o>>2]=t[i>>2];t[u>>2]=t[r>>2];t[l>>2]=t[o>>2];t[_>>2]=t[u>>2];l=sM[v&63](e,l,_,n,a,d)|0;t[i>>2]=l;switch(t[d>>2]|0){case 0:{f[s>>0]=0;break e}case 1:{f[s>>0]=1;break e}default:{f[s>>0]=1;t[a>>2]=4;break e}}}else{l=sd(n)|0;t[h>>2]=l;w=0;e=pe(37,h|0,44220)|0;d=w;w=0;do{if(!(d&1)){bh(l)|0;l=sd(n)|0;t[b>>2]=l;w=0;u=pe(37,b|0,44360)|0;b=w;w=0;if(b&1){v=je()|0;bh(l)|0;l=v;break}bh(l)|0;w=0;ce(t[(t[u>>2]|0)+24>>2]|0,v|0,u|0);b=w;w=0;if(!(b&1)){o=v+12|0;w=0;ce(t[(t[u>>2]|0)+28>>2]|0,o|0,u|0);b=w;w=0;if(!(b&1)){t[k>>2]=t[r>>2];w=0;t[_>>2]=t[k>>2];l=se(7,i|0,_|0,v|0,v+24|0,e|0,a|0,1)|0;a=w;w=0;if(a&1){l=je()|0;xh(v+12|0);xh(v);break}else{f[s>>0]=(l|0)==(v|0)&1;l=t[i>>2]|0;xh(v+12|0);xh(v);break e}}}else o=v;l=je()|0;u=O;if((v|0)!=(o|0))do{o=o+-12|0;xh(o)}while((o|0)!=(v|0))}else{v=je()|0;bh(l)|0;l=v}}while(0);Qe(l|0)}}while(0);c=m;return l|0}function Bb(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=Nk(e,o,l,f,n,a)|0;c=s;return e|0}function zb(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=Fk(e,o,l,f,n,a)|0;c=s;return e|0}function Db(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=Hk(e,o,l,f,n,a)|0;c=s;return e|0}function Nb(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=Uk(e,o,l,f,n,a)|0;c=s;return e|0}function Fb(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=jk(e,o,l,f,n,a)|0;c=s;return e|0}function Hb(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=Yk(e,o,l,f,n,a)|0;c=s;return e|0}function Ub(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=qk(e,o,l,f,n,a)|0;c=s;return e|0}function jb(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=$k(e,o,l,f,n,a)|0;c=s;return e|0}function Yb(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=Vk(e,o,l,f,n,a)|0;c=s;return e|0}function qb(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0;R=c;c=c+240|0;M=R;m=R+208|0;P=R+32|0;e=R+28|0;C=R+16|0;y=R+12|0;p=R+48|0;g=R+8|0;v=R+4|0;t[P>>2]=0;t[P+4>>2]=0;t[P+8>>2]=0;w=0;n=de(68,n|0)|0;k=w;w=0;do{if(k&1)e=je()|0;else{t[e>>2]=n;w=0;e=pe(37,e|0,44220)|0;k=w;w=0;if(!(k&1)?(w=0,Ae(t[(t[e>>2]|0)+32>>2]|0,e|0,57498,57524,m|0)|0,k=w,w=0,!(k&1)):0){bh(n)|0;t[C>>2]=0;t[C+4>>2]=0;t[C+8>>2]=0;if(!(f[C>>0]&1))e=10;else e=(t[C>>2]&-2)+-1|0;w=0;Ee(8,C|0,e|0,0);k=w;w=0;e:do{if(!(k&1)){_=C+8|0;k=C+1|0;n=(f[C>>0]&1)==0?k:t[_>>2]|0;t[y>>2]=n;t[g>>2]=p;t[v>>2]=0;b=C+4|0;e=t[i>>2]|0;i:while(1){if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;o=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;d=w;w=0;if(d&1){I=29;break}if((o|0)==-1){t[i>>2]=0;e=0}}}else e=0;u=(e|0)==0;o=t[r>>2]|0;do{if(o){if((t[o+12>>2]|0)!=(t[o+16>>2]|0))if(u)break;else break i;w=0;h=de(t[(t[o>>2]|0)+36>>2]|0,o|0)|0;d=w;w=0;if(d&1){I=29;break i}if((h|0)!=-1)if(u)break;else break i;else{t[r>>2]=0;I=19;break}}else I=19}while(0);if((I|0)==19){I=0;if(u){o=0;break}else o=0}u=f[C>>0]|0;u=(u&1)==0?(u&255)>>>1:t[b>>2]|0;if((t[y>>2]|0)==(n+u|0)){w=0;Ee(8,C|0,u<<1|0,0);d=w;w=0;if(d&1){I=29;break}if(!(f[C>>0]&1))n=10;else n=(t[C>>2]&-2)+-1|0;w=0;Ee(8,C|0,n|0,0);d=w;w=0;if(d&1){I=29;break}n=(f[C>>0]&1)==0?k:t[_>>2]|0;t[y>>2]=n+u}h=e+12|0;u=t[h>>2]|0;d=e+16|0;if((u|0)==(t[d>>2]|0)){w=0;u=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;O=w;w=0;if(O&1){I=29;break}}else u=a[u>>0]|0;if($b(u&255,16,n,y,v,0,P,p,g,m)|0)break;o=t[h>>2]|0;if((o|0)==(t[d>>2]|0)){w=0;de(t[(t[e>>2]|0)+40>>2]|0,e|0)|0;O=w;w=0;if(O&1){I=29;break}else continue}else{t[h>>2]=o+1;continue}}if((I|0)==29){e=je()|0;break}w=0;Ee(8,C|0,(t[y>>2]|0)-n|0,0);O=w;w=0;if((!(O&1)?(A=f[C>>0]|0,E=t[_>>2]|0,w=0,S=Me(3)|0,O=w,w=0,!(O&1)):0)?(w=0,t[M>>2]=l,T=Ae(16,((A&1)==0?k:E)|0,S|0,58882,M|0)|0,O=w,w=0,!(O&1)):0){if((T|0)!=1)t[s>>2]=4;if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;n=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;O=w;w=0;if(O&1){I=30;break}if((n|0)==-1){t[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do{if(o){if((t[o+12>>2]|0)==(t[o+16>>2]|0)){w=0;e=de(t[(t[o>>2]|0)+36>>2]|0,o|0)|0;O=w;w=0;if(O&1){I=30;break e}if((e|0)==-1){t[r>>2]=0;I=55;break}}if(!n)I=56}else I=55}while(0);if((I|0)==55?n:0)I=56;if((I|0)==56)t[s>>2]=t[s>>2]|2;O=t[i>>2]|0;xh(C);xh(P);c=R;return O|0}else I=30}else I=30}while(0);if((I|0)==30)e=je()|0;xh(C);break}e=je()|0;bh(n)|0}}while(0);xh(P);Qe(e|0);return 0}function $b(e,i,r,n,a,s,l,o,u,c){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;var h=0,d=0,b=0,_=0;b=t[n>>2]|0;_=(b|0)==(r|0);do{if(_){h=(f[c+24>>0]|0)==e<<24>>24;if(!h?(f[c+25>>0]|0)!=e<<24>>24:0){d=5;break}t[n>>2]=r+1;f[r>>0]=h?43:45;t[a>>2]=0;h=0}else d=5}while(0);e:do{if((d|0)==5){d=f[l>>0]|0;if(e<<24>>24==s<<24>>24?(((d&1)==0?(d&255)>>>1:t[l+4>>2]|0)|0)!=0:0){h=t[u>>2]|0;if((h-o|0)>=160){h=0;break}i=t[a>>2]|0;t[u>>2]=h+4;t[h>>2]=i;t[a>>2]=0;h=0;break}l=c+26|0;h=c;while(1){if((f[h>>0]|0)==e<<24>>24)break;h=h+1|0;if((h|0)==(l|0)){h=l;break}}h=h-c|0;if((h|0)>23)h=-1;else{switch(i|0){case 10:case 8:{if((h|0)>=(i|0)){h=-1;break e}break}case 16:{if((h|0)>=22){if(_){h=-1;break e}if((b-r|0)>=3){h=-1;break e}if((f[b+-1>>0]|0)!=48){h=-1;break e}t[a>>2]=0;h=f[57498+h>>0]|0;t[n>>2]=b+1;f[b>>0]=h;h=0;break e}break}default:{}}h=f[57498+h>>0]|0;t[n>>2]=b+1;f[b>>0]=h;t[a>>2]=(t[a>>2]|0)+1;h=0}}}while(0);return h|0}function Vb(){var e=0,i=0;do{if((f[1968]|0)==0?(ze(1968)|0)!=0:0){w=0;e=_e(31,2147483647,58885,0)|0;i=w;w=0;if(i&1){i=je()|0;gi(1968);Qe(i|0)}else{t[11196]=e;qe(1968);break}}}while(0);return t[11196]|0}function Xb(e){e=e|0;return}function Gb(e){e=e|0;Bp(e);return}function Kb(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0;m=c;c=c+64|0;_=m+56|0;l=m+52|0;d=m+48|0;o=m+44|0;u=m+40|0;h=m+36|0;b=m+32|0;v=m+8|0;k=m;e:do{if(!(t[n+4>>2]&1)){t[d>>2]=-1;v=t[(t[e>>2]|0)+16>>2]|0;t[o>>2]=t[i>>2];t[u>>2]=t[r>>2];t[l>>2]=t[o>>2];t[_>>2]=t[u>>2];l=sM[v&63](e,l,_,n,a,d)|0;t[i>>2]=l;switch(t[d>>2]|0){case 0:{f[s>>0]=0;break e}case 1:{f[s>>0]=1;break e}default:{f[s>>0]=1;t[a>>2]=4;break e}}}else{l=sd(n)|0;t[h>>2]=l;w=0;e=pe(37,h|0,44212)|0;d=w;w=0;do{if(!(d&1)){bh(l)|0;l=sd(n)|0;t[b>>2]=l;w=0;u=pe(37,b|0,44368)|0;b=w;w=0;if(b&1){v=je()|0;bh(l)|0;l=v;break}bh(l)|0;w=0;ce(t[(t[u>>2]|0)+24>>2]|0,v|0,u|0);b=w;w=0;if(!(b&1)){o=v+12|0;w=0;ce(t[(t[u>>2]|0)+28>>2]|0,o|0,u|0);b=w;w=0;if(!(b&1)){t[k>>2]=t[r>>2];w=0;t[_>>2]=t[k>>2];l=se(8,i|0,_|0,v|0,v+24|0,e|0,a|0,1)|0;a=w;w=0;if(a&1){l=je()|0;Xh(v+12|0);Xh(v);break}else{f[s>>0]=(l|0)==(v|0)&1;l=t[i>>2]|0;Xh(v+12|0);Xh(v);break e}}}else o=v;l=je()|0;u=O;if((v|0)!=(o|0))do{o=o+-12|0;Xh(o)}while((o|0)!=(v|0))}else{v=je()|0;bh(l)|0;l=v}}while(0);Qe(l|0)}}while(0);c=m;return l|0}function Wb(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=Kk(e,o,l,f,n,a)|0;c=s;return e|0}function Zb(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=Wk(e,o,l,f,n,a)|0;c=s;return e|0}function Jb(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=Zk(e,o,l,f,n,a)|0;c=s;return e|0}function Qb(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=Jk(e,o,l,f,n,a)|0;c=s;return e|0}function e_(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=Qk(e,o,l,f,n,a)|0;c=s;return e|0}function i_(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=ew(e,o,l,f,n,a)|0;c=s;return e|0}function r_(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=iw(e,o,l,f,n,a)|0;c=s;return e|0}function f_(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=rw(e,o,l,f,n,a)|0;c=s;return e|0}function n_(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;h=s+4|0;u=s;t[h>>2]=t[i>>2];t[u>>2]=t[r>>2];t[o>>2]=t[h>>2];t[l>>2]=t[u>>2];e=fw(e,o,l,f,n,a)|0;c=s;return e|0}function t_(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0;T=c;c=c+320|0;y=T;k=T+208|0;C=T+32|0;e=T+28|0;R=T+16|0;g=T+12|0;v=T+48|0;p=T+8|0;m=T+4|0;t[C>>2]=0;t[C+4>>2]=0;t[C+8>>2]=0;w=0;n=de(68,n|0)|0;_=w;w=0;do{if(_&1)e=je()|0;else{t[e>>2]=n;w=0;e=pe(37,e|0,44212)|0;_=w;w=0;if(!(_&1)?(w=0,Ae(t[(t[e>>2]|0)+48>>2]|0,e|0,57498,57524,k|0)|0,_=w,w=0,!(_&1)):0){bh(n)|0;t[R>>2]=0;t[R+4>>2]=0;t[R+8>>2]=0;if(!(f[R>>0]&1))e=10;else e=(t[R>>2]&-2)+-1|0;w=0;Ee(8,R|0,e|0,0);_=w;w=0;e:do{if(!(_&1)){b=R+8|0;_=R+1|0;e=(f[R>>0]&1)==0?_:t[b>>2]|0;t[g>>2]=e;t[p>>2]=v;t[m>>2]=0;d=R+4|0;l=t[i>>2]|0;i:while(1){if(l){n=t[l+12>>2]|0;if((n|0)==(t[l+16>>2]|0)){w=0;n=de(t[(t[l>>2]|0)+36>>2]|0,l|0)|0;h=w;w=0;if(h&1){P=30;break}}else n=t[n>>2]|0;if((n|0)==-1){t[i>>2]=0;n=0;o=1}else{n=l;o=0}}else{n=0;o=1}u=t[r>>2]|0;do{if(u){l=t[u+12>>2]|0;if((l|0)==(t[u+16>>2]|0)){w=0;l=de(t[(t[u>>2]|0)+36>>2]|0,u|0)|0;h=w;w=0;if(h&1){P=30;break i}}else l=t[l>>2]|0;if((l|0)!=-1)if(o){l=u;break}else{l=u;break i}else{t[r>>2]=0;P=20;break}}else P=20}while(0);if((P|0)==20){P=0;if(o){l=0;break}else l=0}o=f[R>>0]|0;o=(o&1)==0?(o&255)>>>1:t[d>>2]|0;if((t[g>>2]|0)==(e+o|0)){w=0;Ee(8,R|0,o<<1|0,0);h=w;w=0;if(h&1){P=30;break}if(!(f[R>>0]&1))e=10;else e=(t[R>>2]&-2)+-1|0;w=0;Ee(8,R|0,e|0,0);h=w;w=0;if(h&1){P=30;break}e=(f[R>>0]&1)==0?_:t[b>>2]|0;t[g>>2]=e+o}u=n+12|0;o=t[u>>2]|0;h=n+16|0;if((o|0)==(t[h>>2]|0)){w=0;o=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;I=w;w=0;if(I&1){P=30;break}}else o=t[o>>2]|0;if(a_(o,16,e,g,m,0,C,v,p,k)|0)break;l=t[u>>2]|0;if((l|0)==(t[h>>2]|0)){w=0;de(t[(t[n>>2]|0)+40>>2]|0,n|0)|0;I=w;w=0;if(I&1){P=30;break}else{l=n;continue}}else{t[u>>2]=l+4;l=n;continue}}if((P|0)==30){e=je()|0;break}w=0;Ee(8,R|0,(t[g>>2]|0)-e|0,0);I=w;w=0;if((!(I&1)?(M=f[R>>0]|0,A=t[b>>2]|0,w=0,E=Me(3)|0,I=w,w=0,!(I&1)):0)?(w=0,t[y>>2]=s,S=Ae(16,((M&1)==0?_:A)|0,E|0,58882,y|0)|0,I=w,w=0,!(I&1)):0){if((S|0)!=1)t[a>>2]=4;if(n){e=t[n+12>>2]|0;if((e|0)==(t[n+16>>2]|0)){w=0;e=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;I=w;w=0;if(I&1){P=31;break}}else e=t[e>>2]|0;if((e|0)==-1){t[i>>2]=0;n=1}else n=0}else n=1;do{if(l){e=t[l+12>>2]|0;if((e|0)==(t[l+16>>2]|0)){w=0;e=de(t[(t[l>>2]|0)+36>>2]|0,l|0)|0;I=w;w=0;if(I&1){P=31;break e}}else e=t[e>>2]|0;if((e|0)!=-1)if(n)break;else{P=59;break}else{t[r>>2]=0;P=57;break}}else P=57}while(0);if((P|0)==57?n:0)P=59;if((P|0)==59)t[a>>2]=t[a>>2]|2;I=t[i>>2]|0;xh(R);xh(C);c=T;return I|0}else P=31}else P=31}while(0);if((P|0)==31)e=je()|0;xh(R);break}e=je()|0;bh(n)|0}}while(0);xh(C);Qe(e|0);return 0}function a_(e,i,r,n,a,s,l,o,u,c){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;var h=0,d=0,b=0,_=0;b=t[n>>2]|0;_=(b|0)==(r|0);do{if(_){h=(t[c+96>>2]|0)==(e|0);if(!h?(t[c+100>>2]|0)!=(e|0):0){d=5;break}t[n>>2]=r+1;f[r>>0]=h?43:45;t[a>>2]=0;h=0}else d=5}while(0);e:do{if((d|0)==5){d=f[l>>0]|0;if((e|0)==(s|0)?(((d&1)==0?(d&255)>>>1:t[l+4>>2]|0)|0)!=0:0){h=t[u>>2]|0;if((h-o|0)>=160){h=0;break}i=t[a>>2]|0;t[u>>2]=h+4;t[h>>2]=i;t[a>>2]=0;h=0;break}l=c+104|0;h=c;while(1){if((t[h>>2]|0)==(e|0))break;h=h+4|0;if((h|0)==(l|0)){h=l;break}}h=h-c|0;l=h>>2;if((h|0)>92)h=-1;else{switch(i|0){case 10:case 8:{if((l|0)>=(i|0)){h=-1;break e}break}case 16:{if((h|0)>=88){if(_){h=-1;break e}if((b-r|0)>=3){h=-1;break e}if((f[b+-1>>0]|0)!=48){h=-1;break e}t[a>>2]=0;h=f[57498+l>>0]|0;t[n>>2]=b+1;f[b>>0]=h;h=0;break e}break}default:{}}h=f[57498+l>>0]|0;t[n>>2]=b+1;f[b>>0]=h;t[a>>2]=(t[a>>2]|0)+1;h=0}}}while(0);return h|0}function s_(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;o=u;i=sd(i)|0;t[o>>2]=i;w=0;a=pe(37,o|0,44220)|0;h=w;w=0;if((((!(h&1)?(w=0,Ae(t[(t[a>>2]|0)+32>>2]|0,a|0,57498,57524,r|0)|0,h=w,w=0,!(h&1)):0)?(w=0,l=pe(37,o|0,44360)|0,h=w,w=0,!(h&1)):0)?(w=0,s=de(t[(t[l>>2]|0)+16>>2]|0,l|0)|0,h=w,w=0,!(h&1)):0)?(f[n>>0]=s,w=0,ce(t[(t[l>>2]|0)+20>>2]|0,e|0,l|0),h=w,w=0,!(h&1)):0){bh(i)|0;c=u;return}h=je()|0;bh(i)|0;Qe(h|0)}function l_(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0;d=c;c=c+16|0;h=d;i=sd(i)|0;t[h>>2]=i;w=0;s=pe(37,h|0,44220)|0;b=w;w=0;if(((((!(b&1)?(w=0,Ae(t[(t[s>>2]|0)+32>>2]|0,s|0,57498,57530,r|0)|0,b=w,w=0,!(b&1)):0)?(w=0,u=pe(37,h|0,44360)|0,b=w,w=0,!(b&1)):0)?(w=0,l=de(t[(t[u>>2]|0)+12>>2]|0,u|0)|0,b=w,w=0,!(b&1)):0)?(f[n>>0]=l,w=0,o=de(t[(t[u>>2]|0)+16>>2]|0,u|0)|0,b=w,w=0,!(b&1)):0)?(f[a>>0]=o,w=0,ce(t[(t[u>>2]|0)+20>>2]|0,e|0,u|0),b=w,w=0,!(b&1)):0){bh(i)|0;c=d;return}b=je()|0;bh(i)|0;Qe(b|0)}function o_(e,i,r,n,s,l,o,u,c,h,d,b){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;h=h|0;d=d|0;b=b|0;var _=0,k=0;e:do{if(e<<24>>24==l<<24>>24)if(f[i>>0]|0){f[i>>0]=0;r=t[s>>2]|0;t[s>>2]=r+1;f[r>>0]=46;r=f[u>>0]|0;if((((r&1)==0?(r&255)>>>1:t[u+4>>2]|0)|0)!=0?(_=t[h>>2]|0,(_-c|0)<160):0){c=t[d>>2]|0;t[h>>2]=_+4;t[_>>2]=c;_=0}else _=0}else _=-1;else{if(e<<24>>24==o<<24>>24?(o=f[u>>0]|0,(((o&1)==0?(o&255)>>>1:t[u+4>>2]|0)|0)!=0):0){if(!(f[i>>0]|0)){_=-1;break}_=t[h>>2]|0;if((_-c|0)>=160){_=0;break}c=t[d>>2]|0;t[h>>2]=_+4;t[_>>2]=c;t[d>>2]=0;_=0;break}l=b+32|0;_=b;while(1){if((f[_>>0]|0)==e<<24>>24)break;_=_+1|0;if((_|0)==(l|0)){_=l;break}}l=_-b|0;if((l|0)>31)_=-1;else{o=f[57498+l>>0]|0;switch(l|0){case 24:case 25:{_=t[s>>2]|0;if((_|0)!=(n|0)?(a[_+-1>>0]&95|0)!=(a[r>>0]&127|0):0){_=-1;break e}t[s>>2]=_+1;f[_>>0]=o;_=0;break e}case 23:case 22:{f[r>>0]=80;_=t[s>>2]|0;t[s>>2]=_+1;f[_>>0]=o;_=0;break e}default:{_=o&95;if((((_|0)==(f[r>>0]|0)?(f[r>>0]=_|128,(f[i>>0]|0)!=0):0)?(f[i>>0]=0,r=f[u>>0]|0,(((r&1)==0?(r&255)>>>1:t[u+4>>2]|0)|0)!=0):0)?(k=t[h>>2]|0,(k-c|0)<160):0){c=t[d>>2]|0;t[h>>2]=k+4;t[k>>2]=c}h=t[s>>2]|0;t[s>>2]=h+1;f[h>>0]=o;if((l|0)>21){_=0;break e}t[d>>2]=(t[d>>2]|0)+1;_=0;break e}}}}}while(0);return _|0}function u_(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0;o=c;c=c+16|0;l=o;i=sd(i)|0;t[l>>2]=i;w=0;n=pe(37,l|0,44212)|0;u=w;w=0;if((((!(u&1)?(w=0,Ae(t[(t[n>>2]|0)+48>>2]|0,n|0,57498,57524,r|0)|0,u=w,w=0,!(u&1)):0)?(w=0,s=pe(37,l|0,44368)|0,u=w,w=0,!(u&1)):0)?(w=0,a=de(t[(t[s>>2]|0)+16>>2]|0,s|0)|0,u=w,w=0,!(u&1)):0)?(t[f>>2]=a,w=0,ce(t[(t[s>>2]|0)+20>>2]|0,e|0,s|0),u=w,w=0,!(u&1)):0){bh(i)|0;c=o;return}u=je()|0;bh(i)|0;Qe(u|0)}function c_(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0;h=c;c=c+16|0;u=h;i=sd(i)|0;t[u>>2]=i;w=0;a=pe(37,u|0,44212)|0;d=w;w=0;if(((((!(d&1)?(w=0,Ae(t[(t[a>>2]|0)+48>>2]|0,a|0,57498,57530,r|0)|0,d=w,w=0,!(d&1)):0)?(w=0,o=pe(37,u|0,44368)|0,d=w,w=0,!(d&1)):0)?(w=0,s=de(t[(t[o>>2]|0)+12>>2]|0,o|0)|0,d=w,w=0,!(d&1)):0)?(t[f>>2]=s,w=0,l=de(t[(t[o>>2]|0)+16>>2]|0,o|0)|0,d=w,w=0,!(d&1)):0)?(t[n>>2]=l,w=0,ce(t[(t[o>>2]|0)+20>>2]|0,e|0,o|0),d=w,w=0,!(d&1)):0){bh(i)|0;c=h;return}d=je()|0;bh(i)|0;Qe(d|0)}function h_(e,i,r,n,s,l,o,u,c,h,d,b){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;h=h|0;d=d|0;b=b|0;var _=0,k=0;e:do{if((e|0)==(l|0))if(f[i>>0]|0){f[i>>0]=0;r=t[s>>2]|0;t[s>>2]=r+1;f[r>>0]=46;r=f[u>>0]|0;if((((r&1)==0?(r&255)>>>1:t[u+4>>2]|0)|0)!=0?(_=t[h>>2]|0,(_-c|0)<160):0){c=t[d>>2]|0;t[h>>2]=_+4;t[_>>2]=c;_=0}else _=0}else _=-1;else{if((e|0)==(o|0)?(o=f[u>>0]|0,(((o&1)==0?(o&255)>>>1:t[u+4>>2]|0)|0)!=0):0){if(!(f[i>>0]|0)){_=-1;break}_=t[h>>2]|0;if((_-c|0)>=160){_=0;break}c=t[d>>2]|0;t[h>>2]=_+4;t[_>>2]=c;t[d>>2]=0;_=0;break}l=b+128|0;_=b;while(1){if((t[_>>2]|0)==(e|0))break;_=_+4|0;if((_|0)==(l|0)){_=l;break}}l=_-b|0;_=l>>2;if((l|0)<=124){o=f[57498+_>>0]|0;switch(_|0){case 24:case 25:{_=t[s>>2]|0;if((_|0)!=(n|0)?(a[_+-1>>0]&95|0)!=(a[r>>0]&127|0):0){_=-1;break e}t[s>>2]=_+1;f[_>>0]=o;_=0;break e}case 23:case 22:{f[r>>0]=80;break}default:{_=o&95;if((((_|0)==(f[r>>0]|0)?(f[r>>0]=_|128,(f[i>>0]|0)!=0):0)?(f[i>>0]=0,r=f[u>>0]|0,(((r&1)==0?(r&255)>>>1:t[u+4>>2]|0)|0)!=0):0)?(k=t[h>>2]|0,(k-c|0)<160):0){c=t[d>>2]|0;t[h>>2]=k+4;t[k>>2]=c}}}h=t[s>>2]|0;t[s>>2]=h+1;f[h>>0]=o;if((l|0)>84)_=0;else{t[d>>2]=(t[d>>2]|0)+1;_=0}}else _=-1}}while(0);return _|0}function d_(e){e=e|0;return}function b_(e){e=e|0;Bp(e);return}function __(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0;d=c;c=c+32|0;s=d+20|0;l=d+16|0;o=d+12|0;h=d;e:do{if(!(t[r+4>>2]&1)){h=t[(t[e>>2]|0)+24>>2]|0;t[l>>2]=t[i>>2];t[s>>2]=t[l>>2];s=kM[h&31](e,s,r,n,a&1)|0}else{s=sd(r)|0;t[o>>2]=s;w=0;l=pe(37,o|0,44360)|0;u=w;w=0;i:do{if(u&1){d=je()|0;bh(s)|0;s=d}else{bh(s)|0;s=t[l>>2]|0;if(a)aM[t[s+24>>2]&127](h,l);else aM[t[s+28>>2]&127](h,l);e=f[h>>0]|0;u=(e&1)==0;s=h+1|0;a=h+8|0;o=u?s:h+1|0;s=u?s:t[h+8>>2]|0;u=h+4|0;r=(e&1)==0;r:do{if((s|0)!=((r?o:t[a>>2]|0)+(r?(e&255)>>>1:t[u>>2]|0)|0)){f:while(1){l=f[s>>0]|0;n=t[i>>2]|0;do{if(n){r=n+24|0;e=t[r>>2]|0;if((e|0)!=(t[n+28>>2]|0)){t[r>>2]=e+1;f[e>>0]=l;break}w=0;l=pe(t[(t[n>>2]|0)+52>>2]|0,n|0,l&255|0)|0;e=w;w=0;if(e&1)break f;if((l|0)==-1)t[i>>2]=0}}while(0);s=s+1|0;e=f[h>>0]|0;r=(e&1)==0;if((s|0)==((r?o:t[a>>2]|0)+(r?(e&255)>>>1:t[u>>2]|0)|0))break r}s=je()|0;xh(h);break i}}while(0);s=t[i>>2]|0;xh(h);break e}}while(0);Qe(s|0)}}while(0);c=d;return s|0}function k_(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0;d=c;c=c+64|0;s=d;_=d+56|0;k=d+44|0;o=d+20|0;h=d+16|0;u=d+12|0;b=d+8|0;l=d+4|0;f[_>>0]=f[58887]|0;f[_+1>>0]=f[58888]|0;f[_+2>>0]=f[58889]|0;f[_+3>>0]=f[58890]|0;f[_+4>>0]=f[58891]|0;f[_+5>>0]=f[58892]|0;w_(_+1|0,58893,1,t[r+4>>2]|0);e=Vb()|0;t[s>>2]=a;a=k+(nw(k,12,e,_,s)|0)|0;_=m_(k,a,r)|0;e=sd(r)|0;t[b>>2]=e;w=0;me(1,k|0,_|0,a|0,o|0,h|0,u|0,b|0);a=w;w=0;if(a&1){k=je()|0;bh(e)|0;Qe(k|0)}else{bh(e)|0;t[l>>2]=t[i>>2];_=t[h>>2]|0;k=t[u>>2]|0;t[s>>2]=t[l>>2];k=zr(s,o,_,k,r,n)|0;c=d;return k|0}return 0}function w_(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var t=0,a=0;if(n&2048){f[e>>0]=43;e=e+1|0}if(n&512){f[e>>0]=35;e=e+1|0}t=f[i>>0]|0;if(t<<24>>24){a=i;while(1){a=a+1|0;i=e+1|0;f[e>>0]=t;t=f[a>>0]|0;if(!(t<<24>>24)){e=i;break}else e=i}}e:do{switch(n&74|0){case 64:{f[e>>0]=111;break}case 8:if(!(n&16384)){f[e>>0]=120;break e}else{f[e>>0]=88;break e}default:if(r){f[e>>0]=100;break e}else{f[e>>0]=117;break e}}}while(0);return}function m_(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;e:do{switch(t[r+4>>2]&176|0){case 16:{r=f[e>>0]|0;switch(r<<24>>24){case 43:case 45:{e=e+1|0;break e}default:{}}if((i-e|0)>1&r<<24>>24==48){switch(f[e+1>>0]|0){case 88:case 120:break;default:{n=7;break e}}e=e+2|0}else n=7;break}case 32:{e=i;break}default:n=7}}while(0);return e|0}function v_(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0;g=c;c=c+16|0;y=g;v=zu(l,44220)|0;h=zu(l,44360)|0;aM[t[(t[h>>2]|0)+20>>2]&127](y,h);k=f[y>>0]|0;m=y+4|0;e:do{if(!(((k&1)==0?(k&255)>>>1:t[m>>2]|0)|0)){w=0;Ae(t[(t[v>>2]|0)+32>>2]|0,v|0,e|0,r|0,n|0)|0;p=w;w=0;if(p&1)p=5;else{l=n+(r-e)|0;t[s>>2]=l;p=29}}else{t[s>>2]=n;l=f[e>>0]|0;switch(l<<24>>24){case 43:case 45:{w=0;l=pe(t[(t[v>>2]|0)+28>>2]|0,v|0,l|0)|0;k=w;w=0;if(k&1){p=5;break e}u=t[s>>2]|0;t[s>>2]=u+1;f[u>>0]=l;u=e+1|0;break}default:u=e}i:do{if((r-u|0)>1?(f[u>>0]|0)==48:0){l=u+1|0;switch(f[l>>0]|0){case 88:case 120:break;default:break i}w=0;o=pe(t[(t[v>>2]|0)+28>>2]|0,v|0,48)|0;k=w;w=0;if(k&1){p=5;break e}k=t[s>>2]|0;t[s>>2]=k+1;f[k>>0]=o;w=0;l=pe(t[(t[v>>2]|0)+28>>2]|0,v|0,f[l>>0]|0)|0;k=w;w=0;if(k&1){p=5;break e}k=t[s>>2]|0;t[s>>2]=k+1;f[k>>0]=l;u=u+2|0}}while(0);if((u|0)!=(r|0)?(d=r+-1|0,u>>>0>>0):0){o=u;l=d;do{k=f[o>>0]|0;f[o>>0]=f[l>>0]|0;f[l>>0]=k;o=o+1|0;l=l+-1|0}while(o>>>0>>0)}w=0;d=de(t[(t[h>>2]|0)+16>>2]|0,h|0)|0;k=w;w=0;if(!(k&1)){b=y+8|0;_=y+1|0;i:do{if(u>>>0>>0){l=0;o=0;k=u;while(1){h=f[((f[y>>0]&1)==0?_:t[b>>2]|0)+o>>0]|0;if(h<<24>>24!=0&(l|0)==(h<<24>>24|0)){l=t[s>>2]|0;t[s>>2]=l+1;f[l>>0]=d;l=f[y>>0]|0;h=0;o=(o>>>0<(((l&1)==0?(l&255)>>>1:t[m>>2]|0)+-1|0)>>>0&1)+o|0}else h=l;w=0;l=pe(t[(t[v>>2]|0)+28>>2]|0,v|0,f[k>>0]|0)|0;M=w;w=0;if(M&1)break;M=t[s>>2]|0;t[s>>2]=M+1;f[M>>0]=l;k=k+1|0;if(k>>>0>=r>>>0)break i;else l=h+1|0}l=je()|0;break e}}while(0);o=e;l=n+(u-o)|0;e=t[s>>2]|0;if((l|0)==(e|0)){e=o;p=29}else{e=e+-1|0;if(l>>>0>>0)do{M=f[l>>0]|0;f[l>>0]=f[e>>0]|0;f[e>>0]=M;l=l+1|0;e=e+-1|0}while(l>>>0>>0);e=o;l=t[s>>2]|0;p=29}}else p=5}}while(0);if((p|0)==5)l=je()|0;else if((p|0)==29){t[a>>2]=(i|0)==(r|0)?l:n+(i-e)|0;xh(y);c=g;return}xh(y);Qe(l|0)}function p_(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0;d=c;c=c+96|0;s=d+8|0;e=d;_=d+74|0;o=d+32|0;h=d+28|0;u=d+24|0;b=d+20|0;l=d+16|0;k=e;t[k>>2]=37;t[k+4>>2]=0;w_(e+1|0,58895,1,t[r+4>>2]|0);k=Vb()|0;m=s;t[m>>2]=n;t[m+4>>2]=a;a=_+(nw(_,22,k,e,s)|0)|0;n=m_(_,a,r)|0;e=sd(r)|0;t[b>>2]=e;w=0;me(1,_|0,n|0,a|0,o|0,h|0,u|0,b|0);a=w;w=0;if(a&1){m=je()|0;bh(e)|0;Qe(m|0)}else{bh(e)|0;t[l>>2]=t[i>>2];k=t[h>>2]|0;m=t[u>>2]|0;t[s>>2]=t[l>>2];m=zr(s,o,k,m,r,f)|0;c=d;return m|0}return 0}function g_(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0;d=c;c=c+64|0;s=d;_=d+56|0;k=d+44|0;o=d+20|0;h=d+16|0;u=d+12|0;b=d+8|0;l=d+4|0;f[_>>0]=f[58887]|0;f[_+1>>0]=f[58888]|0;f[_+2>>0]=f[58889]|0;f[_+3>>0]=f[58890]|0;f[_+4>>0]=f[58891]|0;f[_+5>>0]=f[58892]|0;w_(_+1|0,58893,0,t[r+4>>2]|0);e=Vb()|0;t[s>>2]=a;a=k+(nw(k,12,e,_,s)|0)|0;_=m_(k,a,r)|0;e=sd(r)|0;t[b>>2]=e;w=0;me(1,k|0,_|0,a|0,o|0,h|0,u|0,b|0);a=w;w=0;if(a&1){k=je()|0;bh(e)|0;Qe(k|0)}else{bh(e)|0;t[l>>2]=t[i>>2];_=t[h>>2]|0;k=t[u>>2]|0;t[s>>2]=t[l>>2];k=zr(s,o,_,k,r,n)|0;c=d;return k|0}return 0}function y_(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0;d=c;c=c+112|0;s=d+8|0;e=d;_=d+75|0;o=d+32|0;h=d+28|0;u=d+24|0;b=d+20|0;l=d+16|0;k=e;t[k>>2]=37;t[k+4>>2]=0;w_(e+1|0,58895,0,t[r+4>>2]|0);k=Vb()|0;m=s;t[m>>2]=n;t[m+4>>2]=a;a=_+(nw(_,23,k,e,s)|0)|0;n=m_(_,a,r)|0;e=sd(r)|0;t[b>>2]=e;w=0;me(1,_|0,n|0,a|0,o|0,h|0,u|0,b|0);a=w;w=0;if(a&1){m=je()|0;bh(e)|0;Qe(m|0)}else{bh(e)|0;t[l>>2]=t[i>>2];k=t[h>>2]|0;m=t[u>>2]|0;t[s>>2]=t[l>>2];m=zr(s,o,k,m,r,f)|0;c=d;return m|0}return 0}function M_(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=+n;var a=0,s=0,l=0,o=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0;E=c;c=c+176|0;p=E+84|0;_=E+48|0;b=E+32|0;o=E+24|0;a=E+8|0;d=E;m=E+88|0;v=E+80|0;l=E+118|0;A=E+76|0;M=E+72|0;g=E+68|0;y=E+64|0;h=d;t[h>>2]=37;t[h+4>>2]=0;h=A_(d+1|0,58898,t[r+4>>2]|0)|0;t[v>>2]=m;e=Vb()|0;if(h){t[a>>2]=t[r+8>>2];u[a+8>>3]=n;a=nw(m,30,e,d,a)|0}else{u[o>>3]=n;a=nw(m,30,e,d,o)|0}e:do{if((a|0)>29){w=0;e=Me(3)|0;a=w;w=0;a=a&1;if(h){if(!a?(w=0,t[b>>2]=t[r+8>>2],u[b+8>>3]=n,s=Ae(17,v|0,e|0,d|0,b|0)|0,k=w,w=0,!(k&1)):0)S=12}else if(!a?(w=0,t[_>>2]=t[r+8>>2],u[_+8>>3]=n,k=Ae(17,v|0,e|0,d|0,_|0)|0,_=w,w=0,!(_&1)):0){s=k;S=12}do{if((S|0)==12){e=t[v>>2]|0;if(!e){w=0;Se(6);k=w;w=0;if(k&1)break;a=t[v>>2]|0}else a=e;e=a;d=a;S=16;break e}}while(0);e=je()|0}else{e=t[v>>2]|0;d=0;s=a;S=16}}while(0);if((S|0)==16){o=e+s|0;h=m_(e,o,r)|0;do{if((e|0)==(m|0)){e=m;a=0;S=22}else{s=Pc(s<<1)|0;if(!s){w=0;Se(6);S=w;w=0;if(S&1){a=0;S=20;break}e=t[v>>2]|0}a=s;l=s;S=22}}while(0);do{if((S|0)==22){w=0;s=de(68,r|0)|0;v=w;w=0;if(!(v&1)){t[g>>2]=s;w=0;me(2,e|0,h|0,o|0,l|0,A|0,M|0,g|0);g=w;w=0;if(g&1){e=je()|0;bh(s)|0;break}bh(s)|0;t[y>>2]=t[i>>2];S=t[A>>2]|0;e=t[M>>2]|0;w=0;t[p>>2]=t[y>>2];e=he(39,p|0,l|0,S|0,e|0,r|0,f|0)|0;S=w;w=0;if(!(S&1)){t[i>>2]=e;if(a)Ic(a);if(d)Ic(d);c=E;return e|0}else S=20}else S=20}}while(0);if((S|0)==20)e=je()|0;if(a)Ic(a);if(d)Ic(d)}Qe(e|0);return 0}function A_(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,t=0,a=0,s=0,l=0;if(r&2048){f[e>>0]=43;e=e+1|0}if(r&1024){f[e>>0]=35;e=e+1|0}s=r&260;t=r>>>14;l=(s|0)==260;if(l)a=0;else{f[e>>0]=46;f[e+1>>0]=42;e=e+2|0;a=1}r=f[i>>0]|0;if(r<<24>>24){n=e;while(1){i=i+1|0;e=n+1|0;f[n>>0]=r;r=f[i>>0]|0;if(!(r<<24>>24))break;else n=e}}e:do{switch(s|0){case 4:if(!(t&1)){f[e>>0]=102;break e}else{f[e>>0]=70;break e}case 256:if(!(t&1)){f[e>>0]=101;break e}else{f[e>>0]=69;break e}default:{r=(t&1|0)!=0;if(l)if(r){f[e>>0]=65;break e}else{f[e>>0]=97;break e}else if(r){f[e>>0]=71;break e}else{f[e>>0]=103;break e}}}}while(0);return a|0}function E_(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0;E=c;c=c+16|0;S=E;A=zu(l,44220)|0;y=zu(l,44360)|0;aM[t[(t[y>>2]|0)+20>>2]&127](S,y);t[s>>2]=n;l=f[e>>0]|0;switch(l<<24>>24){case 43:case 45:{w=0;l=pe(t[(t[A>>2]|0)+28>>2]|0,A|0,l|0)|0;M=w;w=0;if(M&1)g=8;else{d=t[s>>2]|0;t[s>>2]=d+1;f[d>>0]=l;d=e+1|0;g=10}break}default:{d=e;g=10}}e:do{if((g|0)==10){M=r;i:do{if((M-d|0)>1?(f[d>>0]|0)==48:0){u=d+1|0;switch(f[u>>0]|0){case 88:case 120:break;default:{g=11;break i}}w=0;l=pe(t[(t[A>>2]|0)+28>>2]|0,A|0,48)|0;p=w;w=0;if(p&1){g=8;break e}p=t[s>>2]|0;t[s>>2]=p+1;f[p>>0]=l;d=d+2|0;w=0;l=pe(t[(t[A>>2]|0)+28>>2]|0,A|0,f[u>>0]|0)|0;p=w;w=0;if(p&1){g=8;break e}p=t[s>>2]|0;t[s>>2]=p+1;f[p>>0]=l;if(d>>>0>>0){l=d;while(1){u=f[l>>0]|0;w=0;h=Me(3)|0;p=w;w=0;if(p&1)break;w=0;u=pe(39,u<<24>>24|0,h|0)|0;p=w;w=0;if(p&1)break;if(!u){p=d;break i}l=l+1|0;if(l>>>0>=r>>>0){p=d;break i}}l=je()|0;break e}else{p=d;l=d}}else g=11}while(0);i:do{if((g|0)==11)if(d>>>0>>0){l=d;while(1){u=f[l>>0]|0;w=0;h=Me(3)|0;p=w;w=0;if(p&1)break;w=0;u=pe(40,u<<24>>24|0,h|0)|0;p=w;w=0;if(p&1)break;if(!u){p=d;break i}l=l+1|0;if(l>>>0>=r>>>0){p=d;break i}}l=je()|0;break e}else{p=d;l=d}}while(0);m=f[S>>0]|0;v=S+4|0;if(((m&1)==0?(m&255)>>>1:t[v>>2]|0)|0){if((p|0)!=(l|0)?(b=l+-1|0,p>>>0>>0):0){h=p;u=b;do{m=f[h>>0]|0;f[h>>0]=f[u>>0]|0;f[u>>0]=m;h=h+1|0;u=u+-1|0}while(h>>>0>>0)}w=0;b=de(t[(t[y>>2]|0)+16>>2]|0,y|0)|0;m=w;w=0;if(m&1){g=8;break}_=S+8|0;k=S+1|0;i:do{if(p>>>0>>0){u=0;h=0;m=p;while(1){d=f[((f[S>>0]&1)==0?k:t[_>>2]|0)+h>>0]|0;if(d<<24>>24>0&(u|0)==(d<<24>>24|0)){u=t[s>>2]|0;t[s>>2]=u+1;f[u>>0]=b;u=f[S>>0]|0;d=0;h=(h>>>0<(((u&1)==0?(u&255)>>>1:t[v>>2]|0)+-1|0)>>>0&1)+h|0}else d=u;w=0;u=pe(t[(t[A>>2]|0)+28>>2]|0,A|0,f[m>>0]|0)|0;T=w;w=0;if(T&1)break;T=t[s>>2]|0;t[s>>2]=T+1;f[T>>0]=u;m=m+1|0;if(m>>>0>=l>>>0)break i;else u=d+1|0}l=je()|0;break e}}while(0);u=n+(p-e)|0;h=t[s>>2]|0;if((u|0)!=(h|0)?(o=h+-1|0,u>>>0>>0):0){do{T=f[u>>0]|0;f[u>>0]=f[o>>0]|0;f[o>>0]=T;u=u+1|0;o=o+-1|0}while(u>>>0>>0);u=A}else u=A}else{w=0;Ae(t[(t[A>>2]|0)+32>>2]|0,A|0,p|0,l|0,t[s>>2]|0)|0;T=w;w=0;if(T&1){g=8;break}t[s>>2]=(t[s>>2]|0)+(l-p);u=A}i:do{if(l>>>0>>0){while(1){o=f[l>>0]|0;if(o<<24>>24==46)break;w=0;o=pe(t[(t[u>>2]|0)+28>>2]|0,A|0,o|0)|0;T=w;w=0;if(T&1){g=4;break}T=t[s>>2]|0;t[s>>2]=T+1;f[T>>0]=o;l=l+1|0;if(l>>>0>=r>>>0)break i}if((g|0)==4){l=je()|0;break e}w=0;o=de(t[(t[y>>2]|0)+12>>2]|0,y|0)|0;T=w;w=0;if(T&1){g=8;break e}T=t[s>>2]|0;t[s>>2]=T+1;f[T>>0]=o;l=l+1|0}}while(0);w=0;Ae(t[(t[A>>2]|0)+32>>2]|0,A|0,l|0,r|0,t[s>>2]|0)|0;T=w;w=0;if(T&1)g=8;else{T=(t[s>>2]|0)+(M-l)|0;t[s>>2]=T;t[a>>2]=(i|0)==(r|0)?T:n+(i-e)|0;xh(S);c=E;return}}}while(0);if((g|0)==8)l=je()|0;xh(S);Qe(l|0)}function S_(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=+n;var a=0,s=0,l=0,o=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0;E=c;c=c+176|0;p=E+76|0;_=E+48|0;b=E+32|0;o=E+24|0;a=E+8|0;d=E;m=E+80|0;v=E+72|0;l=E+110|0;A=E+68|0;M=E+64|0;g=E+60|0;y=E+56|0;h=d;t[h>>2]=37;t[h+4>>2]=0;h=A_(d+1|0,58899,t[r+4>>2]|0)|0;t[v>>2]=m;e=Vb()|0;if(h){t[a>>2]=t[r+8>>2];u[a+8>>3]=n;a=nw(m,30,e,d,a)|0}else{u[o>>3]=n;a=nw(m,30,e,d,o)|0}e:do{if((a|0)>29){w=0;e=Me(3)|0;a=w;w=0;a=a&1;if(h){if(!a?(w=0,t[b>>2]=t[r+8>>2],u[b+8>>3]=n,s=Ae(17,v|0,e|0,d|0,b|0)|0,k=w,w=0,!(k&1)):0)S=12}else if(!a?(w=0,u[_>>3]=n,k=Ae(17,v|0,e|0,d|0,_|0)|0,_=w,w=0,!(_&1)):0){s=k;S=12}do{if((S|0)==12){e=t[v>>2]|0;if(!e){w=0;Se(6);k=w;w=0;if(k&1)break;a=t[v>>2]|0}else a=e;e=a;d=a;S=16;break e}}while(0);e=je()|0}else{e=t[v>>2]|0;d=0;s=a;S=16}}while(0);if((S|0)==16){o=e+s|0;h=m_(e,o,r)|0;do{if((e|0)==(m|0)){e=m;a=0;S=22}else{s=Pc(s<<1)|0;if(!s){w=0;Se(6);S=w;w=0;if(S&1){a=0;S=20;break}e=t[v>>2]|0}a=s;l=s;S=22}}while(0);do{if((S|0)==22){w=0;s=de(68,r|0)|0;v=w;w=0;if(!(v&1)){t[g>>2]=s;w=0;me(2,e|0,h|0,o|0,l|0,A|0,M|0,g|0);g=w;w=0;if(g&1){e=je()|0;bh(s)|0;break}bh(s)|0;t[y>>2]=t[i>>2];S=t[A>>2]|0;e=t[M>>2]|0;w=0;t[p>>2]=t[y>>2];e=he(39,p|0,l|0,S|0,e|0,r|0,f|0)|0;S=w;w=0;if(!(S&1)){t[i>>2]=e;if(a)Ic(a);if(d)Ic(d);c=E;return e|0}else S=20}else S=20}}while(0);if((S|0)==20)e=je()|0;if(a)Ic(a);if(d)Ic(d)}Qe(e|0);return 0}function T_(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0;_=c;c=c+80|0;u=_;e=_+70|0;d=_+12|0;b=_+32|0;o=_+8|0;h=_+4|0;f[e>>0]=f[58901]|0;f[e+1>>0]=f[58902]|0;f[e+2>>0]=f[58903]|0;f[e+3>>0]=f[58904]|0;f[e+4>>0]=f[58905]|0;f[e+5>>0]=f[58906]|0;s=Vb()|0;t[u>>2]=a;e=nw(d,20,s,e,u)|0;a=d+e|0;s=m_(d,a,r)|0;l=sd(r)|0;t[o>>2]=l;w=0;o=pe(37,o|0,44220)|0;k=w;w=0;if(k&1){k=je()|0;bh(l)|0;Qe(k|0)}else{bh(l)|0;vM[t[(t[o>>2]|0)+32>>2]&31](o,d,a,b)|0;k=b+e|0;t[h>>2]=t[i>>2];t[u>>2]=t[h>>2];k=zr(u,b,(s|0)==(a|0)?k:b+(s-d)|0,k,r,n)|0;c=_;return k|0}return 0}function R_(e){e=e|0;return}function C_(e){e=e|0;Bp(e);return}function P_(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;s=h+20|0;l=h+16|0;o=h+12|0;u=h;e:do{if(!(t[r+4>>2]&1)){u=t[(t[e>>2]|0)+24>>2]|0;t[l>>2]=t[i>>2];t[s>>2]=t[l>>2];s=kM[u&31](e,s,r,n,a&1)|0}else{s=sd(r)|0;t[o>>2]=s;w=0;l=pe(37,o|0,44368)|0;o=w;w=0;i:do{if(o&1){h=je()|0;bh(s)|0;s=h}else{bh(s)|0;s=t[l>>2]|0;if(a)aM[t[s+24>>2]&127](u,l);else aM[t[s+28>>2]&127](u,l);e=f[u>>0]|0;r=(e&1)==0;s=u+4|0;a=u+8|0;o=r?s:u+4|0;s=r?s:t[u+8>>2]|0;r=(e&1)==0;r:do{if((s|0)!=((r?o:t[a>>2]|0)+((r?(e&255)>>>1:t[o>>2]|0)<<2)|0)){while(1){l=t[s>>2]|0;n=t[i>>2]|0;if(n){r=n+24|0;e=t[r>>2]|0;if((e|0)==(t[n+28>>2]|0)){w=0;l=pe(t[(t[n>>2]|0)+52>>2]|0,n|0,l|0)|0;e=w;w=0;if(e&1)break}else{t[r>>2]=e+4;t[e>>2]=l}if((l|0)==-1)t[i>>2]=0}s=s+4|0;e=f[u>>0]|0;r=(e&1)==0;if((s|0)==((r?o:t[a>>2]|0)+((r?(e&255)>>>1:t[o>>2]|0)<<2)|0))break r}s=je()|0;Xh(u);break i}}while(0);s=t[i>>2]|0;Xh(u);break e}}while(0);Qe(s|0)}}while(0);c=h;return s|0}function I_(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0;d=c;c=c+128|0;s=d;_=d+116|0;k=d+104|0;o=d+20|0;h=d+16|0;u=d+12|0;b=d+8|0;l=d+4|0;f[_>>0]=f[58887]|0;f[_+1>>0]=f[58888]|0;f[_+2>>0]=f[58889]|0;f[_+3>>0]=f[58890]|0;f[_+4>>0]=f[58891]|0;f[_+5>>0]=f[58892]|0;w_(_+1|0,58893,1,t[r+4>>2]|0);e=Vb()|0;t[s>>2]=a;a=k+(nw(k,12,e,_,s)|0)|0;_=m_(k,a,r)|0;e=sd(r)|0;t[b>>2]=e;w=0;me(3,k|0,_|0,a|0,o|0,h|0,u|0,b|0);a=w;w=0;if(a&1){k=je()|0;bh(e)|0;Qe(k|0)}else{bh(e)|0;t[l>>2]=t[i>>2];_=t[h>>2]|0;k=t[u>>2]|0;t[s>>2]=t[l>>2];k=aw(s,o,_,k,r,n)|0;c=d;return k|0}return 0}function O_(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0;g=c;c=c+16|0;y=g;v=zu(l,44212)|0;h=zu(l,44368)|0;aM[t[(t[h>>2]|0)+20>>2]&127](y,h);k=f[y>>0]|0;m=y+4|0;e:do{if(!(((k&1)==0?(k&255)>>>1:t[m>>2]|0)|0)){w=0;Ae(t[(t[v>>2]|0)+48>>2]|0,v|0,e|0,r|0,n|0)|0;p=w;w=0;if(p&1)p=5;else{l=n+(r-e<<2)|0;t[s>>2]=l;p=28}}else{t[s>>2]=n;l=f[e>>0]|0;switch(l<<24>>24){case 43:case 45:{w=0;l=pe(t[(t[v>>2]|0)+44>>2]|0,v|0,l|0)|0;k=w;w=0;if(k&1){p=5;break e}u=t[s>>2]|0;t[s>>2]=u+4;t[u>>2]=l;u=e+1|0;break}default:u=e}i:do{if((r-u|0)>1?(f[u>>0]|0)==48:0){l=u+1|0;switch(f[l>>0]|0){case 88:case 120:break;default:{k=u;break i}}w=0;o=pe(t[(t[v>>2]|0)+44>>2]|0,v|0,48)|0;k=w;w=0;if(k&1){p=5;break e}k=t[s>>2]|0;t[s>>2]=k+4;t[k>>2]=o;w=0;l=pe(t[(t[v>>2]|0)+44>>2]|0,v|0,f[l>>0]|0)|0;k=w;w=0;if(k&1){p=5;break e}k=t[s>>2]|0;t[s>>2]=k+4;t[k>>2]=l;k=u+2|0}else k=u}while(0);if((k|0)!=(r|0)?(d=r+-1|0,k>>>0>>0):0){o=k;l=d;do{_=f[o>>0]|0;f[o>>0]=f[l>>0]|0;f[l>>0]=_;o=o+1|0;l=l+-1|0}while(o>>>0>>0)}w=0;h=de(t[(t[h>>2]|0)+16>>2]|0,h|0)|0;_=w;w=0;if(!(_&1)){d=y+8|0;b=y+1|0;i:do{if(k>>>0>>0){l=0;o=0;_=k;while(1){u=f[((f[y>>0]&1)==0?b:t[d>>2]|0)+o>>0]|0;if(u<<24>>24!=0&(l|0)==(u<<24>>24|0)){l=t[s>>2]|0;t[s>>2]=l+4;t[l>>2]=h;l=f[y>>0]|0;u=0;o=(o>>>0<(((l&1)==0?(l&255)>>>1:t[m>>2]|0)+-1|0)>>>0&1)+o|0}else u=l;w=0;l=pe(t[(t[v>>2]|0)+44>>2]|0,v|0,f[_>>0]|0)|0;M=w;w=0;if(M&1)break;M=t[s>>2]|0;t[s>>2]=M+4;t[M>>2]=l;_=_+1|0;if(_>>>0>=r>>>0)break i;else l=u+1|0}l=je()|0;break e}}while(0);u=e;l=n+(k-u<<2)|0;o=t[s>>2]|0;if((l|0)!=(o|0)){e=o+-4|0;if(l>>>0>>0){do{M=t[l>>2]|0;t[l>>2]=t[e>>2];t[e>>2]=M;l=l+4|0;e=e+-4|0}while(l>>>0>>0);e=u;l=o;p=28}else{e=u;l=o;p=28}}else{e=u;p=28}}else p=5}}while(0);if((p|0)==5)l=je()|0;else if((p|0)==28){t[a>>2]=(i|0)==(r|0)?l:n+(i-e<<2)|0;xh(y);c=g;return}xh(y);Qe(l|0)}function x_(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0;d=c;c=c+224|0;s=d+8|0;e=d;_=d+196|0;o=d+32|0;h=d+28|0;u=d+24|0;b=d+20|0;l=d+16|0;k=e;t[k>>2]=37;t[k+4>>2]=0;w_(e+1|0,58895,1,t[r+4>>2]|0);k=Vb()|0;m=s;t[m>>2]=n;t[m+4>>2]=a;a=_+(nw(_,22,k,e,s)|0)|0;n=m_(_,a,r)|0;e=sd(r)|0;t[b>>2]=e;w=0;me(3,_|0,n|0,a|0,o|0,h|0,u|0,b|0);a=w;w=0;if(a&1){m=je()|0;bh(e)|0;Qe(m|0)}else{bh(e)|0;t[l>>2]=t[i>>2];k=t[h>>2]|0;m=t[u>>2]|0;t[s>>2]=t[l>>2];m=aw(s,o,k,m,r,f)|0;c=d;return m|0}return 0}function L_(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0;p=c;c=c+16|0;m=p;_=p+8|0;e:do{if((r|0)==(n|0))u=n;else{u=r;while(1){if(!(t[u>>2]|0))break e;u=u+4|0;if((u|0)==(n|0)){u=n;break}}}}while(0);t[o>>2]=s;t[a>>2]=r;d=l;k=e+8|0;e:do{if(!((s|0)==(l|0)|(r|0)==(n|0))){e=s;h=u;i:while(1){y=i;s=t[y+4>>2]|0;u=m;t[u>>2]=t[y>>2];t[u+4>>2]=s;u=Kg(t[k>>2]|0)|0;w=0;s=ge(21,e|0,a|0,h-r>>2|0,d-e|0,i|0)|0;y=w;w=0;if(y&1){g=9;break}if((u|0)!=0?(w=0,de(75,u|0)|0,y=w,w=0,y&1):0){g=8;break}switch(s|0){case 0:{b=1;break e}case-1:{u=e;g=14;break i}default:{}}u=(t[o>>2]|0)+s|0;t[o>>2]=u;if((u|0)==(l|0)){g=27;break}if((h|0)==(n|0)){r=t[a>>2]|0;e=u;u=n}else{u=Kg(t[k>>2]|0)|0;w=0;r=_e(34,_|0,0,i|0)|0;y=w;w=0;if(y&1){g=35;break}if((u|0)!=0?(w=0,de(75,u|0)|0,y=w,w=0,y&1):0){g=34;break}if((r|0)==-1){b=2;break e}if(r>>>0>(d-(t[o>>2]|0)|0)>>>0){b=1;break e}if(r){u=_;while(1){h=f[u>>0]|0;y=t[o>>2]|0;t[o>>2]=y+1;f[y>>0]=h;r=r+-1|0;if(!r)break;else u=u+1|0}}r=(t[a>>2]|0)+4|0;t[a>>2]=r;r:do{if((r|0)==(n|0))u=n;else{u=r;while(1){if(!(t[u>>2]|0))break r;u=u+4|0;if((u|0)==(n|0)){u=n;break}}}}while(0);e=t[o>>2]|0}if((e|0)==(l|0)|(r|0)==(n|0)){g=47;break e}else h=u}if((g|0)==8){y=je(0)|0;Ni(y)}else if((g|0)==9){r=je()|0;if((u|0)!=0?(w=0,de(75,u|0)|0,y=w,w=0,y&1):0){y=je(0)|0;Ni(y)}Qe(r|0)}else if((g|0)==14){t[o>>2]=u;i:do{if((r|0)!=(t[a>>2]|0)){while(1){y=t[r>>2]|0;e=Kg(t[k>>2]|0)|0;w=0;u=_e(34,u|0,y|0,m|0)|0;y=w;w=0;if(y&1){v=e;break}if((e|0)!=0?(w=0,de(75,e|0)|0,y=w,w=0,y&1):0){g=18;break}if((u|0)==-1)break i;u=(t[o>>2]|0)+u|0;t[o>>2]=u;r=r+4|0;if((r|0)==(t[a>>2]|0))break i}if((g|0)==18){y=je(0)|0;Ni(y)}r=je()|0;if((v|0)!=0?(w=0,de(75,v|0)|0,y=w,w=0,y&1):0){y=je(0)|0;Ni(y)}Qe(r|0)}}while(0);t[a>>2]=r;b=2;break}else if((g|0)==27){r=t[a>>2]|0;g=47;break}else if((g|0)==34){y=je(0)|0;Ni(y)}else if((g|0)==35){r=je()|0;if((u|0)!=0?(w=0,de(75,u|0)|0,y=w,w=0,y&1):0){y=je(0)|0;Ni(y)}Qe(r|0)}}else g=47}while(0);if((g|0)==47)b=(r|0)!=(n|0)&1;c=p;return b|0}function B_(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0;p=c;c=c+16|0;v=p;e:do{if((r|0)==(n|0))u=n;else{u=r;while(1){if(!(f[u>>0]|0))break e;u=u+1|0;if((u|0)==(n|0)){u=n;break}}}}while(0);t[o>>2]=s;t[a>>2]=r;b=l;k=e+8|0;e:do{if(!((s|0)==(l|0)|(r|0)==(n|0))){e=s;d=u;i:while(1){h=i;u=t[h+4>>2]|0;s=v;t[s>>2]=t[h>>2];t[s+4>>2]=u;s=d;u=Kg(t[k>>2]|0)|0;w=0;h=ge(22,e|0,a|0,s-r|0,b-e>>2|0,i|0)|0;y=w;w=0;if(y&1){g=9;break}if((u|0)!=0?(w=0,de(75,u|0)|0,y=w,w=0,y&1):0){g=8;break}switch(h|0){case 0:{_=2;break e}case-1:{u=e;g=14;break i}default:{}}e=(t[o>>2]|0)+(h<<2)|0;t[o>>2]=e;if((e|0)==(l|0)){g=31;break}r=t[a>>2]|0;if((d|0)==(n|0))u=n;else{u=Kg(t[k>>2]|0)|0;w=0;r=Ae(20,e|0,r|0,1,i|0)|0;y=w;w=0;if(y&1){g=38;break}if((u|0)!=0?(w=0,de(75,u|0)|0,y=w,w=0,y&1):0){g=37;break}if(r){_=2;break e}t[o>>2]=(t[o>>2]|0)+4;r=(t[a>>2]|0)+1|0;t[a>>2]=r;r:do{if((r|0)==(n|0))u=n;else{u=r;while(1){if(!(f[u>>0]|0))break r;u=u+1|0;if((u|0)==(n|0)){u=n;break}}}}while(0);e=t[o>>2]|0}if((e|0)==(l|0)|(r|0)==(n|0)){g=47;break e}else d=u}if((g|0)==8){y=je(0)|0;Ni(y)}else if((g|0)==9){r=je()|0;if((u|0)!=0?(w=0,de(75,u|0)|0,y=w,w=0,y&1):0){y=je(0)|0;Ni(y)}Qe(r|0)}else if((g|0)==14){t[o>>2]=u;i:do{if((r|0)!=(t[a>>2]|0)){e=u;r:while(1){u=Kg(t[k>>2]|0)|0;w=0;e=Ae(20,e|0,r|0,s-r|0,v|0)|0;y=w;w=0;if(y&1){g=19;break}if((u|0)!=0?(w=0,de(75,u|0)|0,y=w,w=0,y&1):0){g=18;break}switch(e|0){case-1:{g=25;break r}case-2:{g=26;break r}case 0:{r=r+1|0;break}default:r=r+e|0}e=(t[o>>2]|0)+4|0;t[o>>2]=e;if((r|0)==(t[a>>2]|0)){m=r;break i}}if((g|0)==18){y=je(0)|0;Ni(y)}else if((g|0)==19){r=je()|0;if((u|0)!=0?(w=0,de(75,u|0)|0,y=w,w=0,y&1):0){y=je(0)|0;Ni(y)}Qe(r|0)}else if((g|0)==25){t[a>>2]=r;_=2;break e}else if((g|0)==26){t[a>>2]=r;_=1;break e}}else m=r}while(0);t[a>>2]=m;_=(m|0)!=(n|0)&1;break}else if((g|0)==31){r=t[a>>2]|0;g=47;break}else if((g|0)==37){y=je(0)|0;Ni(y)}else if((g|0)==38){r=je()|0;if((u|0)!=0?(w=0,de(75,u|0)|0,y=w,w=0,y&1):0){y=je(0)|0;Ni(y)}Qe(r|0)}}else g=47}while(0);if((g|0)==47)_=(r|0)!=(n|0)&1;c=p;return _|0}function z_(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=c;c=c+16|0;s=l;t[a>>2]=r;r=Kg(t[e+8>>2]|0)|0;w=0;e=_e(34,s|0,0,i|0)|0;i=w;w=0;if(i&1){s=je()|0;if((r|0)!=0?(w=0,de(75,r|0)|0,l=w,w=0,l&1):0){l=je(0)|0;Ni(l)}Qe(s|0)}if((r|0)!=0?(w=0,de(75,r|0)|0,i=w,w=0,i&1):0){i=je(0)|0;Ni(i)}switch(e|0){case 0:case-1:{s=2;break}default:{e=e+-1|0;if(e>>>0<=(n-(t[a>>2]|0)|0)>>>0)if(!e)s=0;else while(1){i=f[s>>0]|0;n=t[a>>2]|0;t[a>>2]=n+1;f[n>>0]=i;e=e+-1|0;if(!e){s=0;break}else s=s+1|0}else s=1}}c=l;return s|0}function D_(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0;i=e+8|0;w=0;r=de(75,t[i>>2]|0)|0;f=w;w=0;do{if(f&1)n=16;else{w=0;f=_e(35,0,0,4)|0;e=w;w=0;if(e&1){e=je(0)|0;if(!r)break;w=0;de(75,r|0)|0;s=w;w=0;if(!(s&1))break;s=je(0)|0;Ni(s)}if((r|0)!=0?(w=0,de(75,r|0)|0,s=w,w=0,s&1):0){s=je(0)|0;Ni(s)}if(!f){e=t[i>>2]|0;if(e){w=0;e=de(75,e|0)|0;s=w;w=0;if(s&1){n=16;break}if((e|0)!=0?(w=0,de(75,e|0)|0,s=w,w=0,s&1):0){s=je(0)|0;Ni(s)}else a=0}else a=1}else a=-1;return a|0}}while(0);if((n|0)==16)e=je(0)|0;Ni(e);return 0}function N_(e){e=e|0;return 0}function F_(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;u=f;o=e+8|0;e:do{if((r|0)==(f|0)|(n|0)==0)e=0;else{e=0;l=0;while(1){s=Kg(t[o>>2]|0)|0;w=0;a=_e(36,r|0,u-r|0,i|0)|0;d=w;w=0;if(d&1){h=s;break}if((s|0)!=0?(w=0,de(75,s|0)|0,d=w,w=0,d&1):0){c=5;break}switch(a|0){case-2:case-1:break e;case 0:{r=r+1|0;a=1;break}default:r=r+a|0}e=a+e|0;l=l+1|0;if((r|0)==(f|0)|l>>>0>=n>>>0)break e}if((c|0)==5){d=je(0)|0;Ni(d)}e=je()|0;if((h|0)!=0?(w=0,de(75,h|0)|0,d=w,w=0,d&1):0){d=je(0)|0;Ni(d)}Qe(e|0)}}while(0);return e|0}function H_(e){e=e|0;var i=0,r=0;e=t[e+8>>2]|0;if(e){w=0;e=de(75,e|0)|0;r=w;w=0;if(r&1){r=je(0)|0;Ni(r)}if((e|0)!=0?(w=0,de(75,e|0)|0,r=w,w=0,r&1):0){r=je(0)|0;Ni(r)}else i=4}else i=1;return i|0}function U_(e){e=e|0;Bp(e);return}function j_(e,i,r,f,n,a,s,l){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0;e=c;c=c+16|0;o=e+4|0;i=e;t[o>>2]=r;t[i>>2]=a;s=Xw(r,f,o,a,s,i,1114111,0)|0;t[n>>2]=t[o>>2];t[l>>2]=t[i>>2];c=e;return s|0}function Y_(e,i,r,f,n,a,s,l){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0;e=c;c=c+16|0;o=e+4|0;i=e;t[o>>2]=r;t[i>>2]=a;s=Gw(r,f,o,a,s,i,1114111,0)|0;t[n>>2]=t[o>>2];t[l>>2]=t[i>>2];c=e;return s|0}function q_(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t[n>>2]=r;return 3}function $_(e){e=e|0;return 0}function V_(e){e=e|0;return 0}function X_(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;return Kw(r,f,n,1114111,0)|0}function G_(e){e=e|0;return 4}function K_(e){e=e|0;Bp(e);return}function W_(e,i,r,f,n,a,s,l){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0;e=c;c=c+16|0;o=e+4|0;i=e;t[o>>2]=r;t[i>>2]=a;s=Ww(r,f,o,a,s,i,1114111,0)|0;t[n>>2]=t[o>>2];t[l>>2]=t[i>>2];c=e;return s|0}function Z_(e,i,r,f,n,a,s,l){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0;e=c;c=c+16|0;o=e+4|0;i=e;t[o>>2]=r;t[i>>2]=a;s=Zw(r,f,o,a,s,i,1114111,0)|0;t[n>>2]=t[o>>2];t[l>>2]=t[i>>2];c=e;return s|0}function J_(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t[n>>2]=r;return 3}function Q_(e){e=e|0;return 0}function ek(e){e=e|0;return 0}function ik(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;return Jw(r,f,n,1114111,0)|0}function rk(e){e=e|0;return 4}function fk(e){e=e|0;Bp(e);return}function nk(e){e=e|0;Bp(e);return}function tk(e,i){e=e|0;i=i|0;t[e+4>>2]=i+-1;t[e>>2]=44384;f[e+8>>0]=46;f[e+9>>0]=44;e=e+12|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;return}function ak(e,i){e=e|0;i=i|0;t[e+4>>2]=i+-1;t[e>>2]=44424;t[e+8>>2]=46;t[e+12>>2]=44;e=e+16|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;return}function sk(e){e=e|0;t[e>>2]=44384;xh(e+12|0);return}function lk(e){e=e|0;sk(e);Bp(e);return}function ok(e){e=e|0;t[e>>2]=44424;xh(e+16|0);return}function uk(e){e=e|0;ok(e);Bp(e);return}function ck(e){e=e|0;return f[e+8>>0]|0}function hk(e){e=e|0;return t[e+8>>2]|0}function dk(e){e=e|0;return f[e+9>>0]|0}function bk(e){e=e|0;return t[e+12>>2]|0}function _k(e,i){e=e|0;i=i|0;Ph(e,i+12|0);return}function kk(e,i){e=e|0;i=i|0;Ph(e,i+16|0);return}function wk(e,i){e=e|0;i=i|0;Ih(e,59024,4);return}function mk(e,i){e=e|0;i=i|0;$h(e,44996,Gy(44996)|0);return}function vk(e,i){e=e|0;i=i|0;Ih(e,59029,5);return}function pk(e,i){e=e|0;i=i|0;$h(e,45016,Gy(45016)|0);return}function gk(e){e=e|0;switch(t[e+4>>2]&74|0){case 64:{e=8;break}case 8:{e=16;break}case 0:{e=0;break}default:e=10}return e|0}function yk(e){e=e|0;do{if((f[2464]|0)==0?(ze(2464)|0)!=0:0){if((f[2472]|0)==0?(ze(2472)|0)!=0:0){e=45040;do{t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;e=e+12|0}while((e|0)!=45208);di(193,0,k|0)|0;qe(2472)}w=0;pe(41,45040,59035)|0;e=w;w=0;if(((((((((((((!(e&1)?(w=0,pe(41,45052,59042)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45064,59049)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45076,59057)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45088,59067)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45100,59076)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45112,59083)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45124,59092)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45136,59096)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45148,59100)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45160,59104)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45172,59108)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45184,59112)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45196,59116)|0,e=w,w=0,!(e&1)):0){t[11302]=45040;qe(2464);break}e=je()|0;gi(2464);Qe(e|0)}}while(0);return t[11302]|0}function Mk(e){e=e|0;do{if((f[2480]|0)==0?(ze(2480)|0)!=0:0){if((f[2488]|0)==0?(ze(2488)|0)!=0:0){e=45212;do{t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;e=e+12|0}while((e|0)!=45380);di(194,0,k|0)|0;qe(2488)}w=0;pe(42,45212,45380)|0;e=w;w=0;if(((((((((((((!(e&1)?(w=0,pe(42,45224,45408)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,45236,45436)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,45248,45468)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,45260,45508)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,45272,45544)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,45284,45572)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,45296,45608)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,45308,45624)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,45320,45640)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,45332,45656)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,45344,45672)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,45356,45688)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,45368,45704)|0,e=w,w=0,!(e&1)):0){t[11430]=45212;qe(2480);break}e=je()|0;gi(2480);Qe(e|0)}}while(0);return t[11430]|0}function Ak(e){e=e|0;e:do{if((f[2496]|0)==0?(ze(2496)|0)!=0:0){if((f[2504]|0)==0?(ze(2504)|0)!=0:0){e=45724;do{t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;e=e+12|0}while((e|0)!=46012);di(195,0,k|0)|0;qe(2504)}w=0;pe(41,45724,59120)|0;e=w;w=0;do{if((((((((((((((!(e&1)?(w=0,pe(41,45736,59128)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45748,59137)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45760,59143)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45772,59149)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45784,59153)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45796,59158)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45808,59163)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45820,59170)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45832,59180)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45844,59188)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45856,59197)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45868,59206)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45880,59210)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(41,45892,59214)|0,e=w,w=0,!(e&1)):0){w=0;pe(41,45904,59218)|0;e=w;w=0;if(e&1)break;w=0;pe(41,45916,59149)|0;e=w;w=0;if(e&1)break;w=0;pe(41,45928,59222)|0;e=w;w=0;if(e&1)break;w=0;pe(41,45940,59226)|0;e=w;w=0;if(e&1)break;w=0;pe(41,45952,59230)|0;e=w;w=0;if(e&1)break;w=0;pe(41,45964,59234)|0;e=w;w=0;if(e&1)break;w=0;pe(41,45976,59238)|0;e=w;w=0;if(e&1)break;w=0;pe(41,45988,59242)|0;e=w;w=0;if(e&1)break;w=0;pe(41,46e3,59246)|0;e=w;w=0;if(e&1)break;t[11503]=45724;qe(2496);break e}}while(0);e=je()|0;gi(2496);Qe(e|0)}}while(0);return t[11503]|0}function Ek(e){e=e|0;e:do{if((f[2512]|0)==0?(ze(2512)|0)!=0:0){if((f[2520]|0)==0?(ze(2520)|0)!=0:0){e=46016;do{t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;e=e+12|0}while((e|0)!=46304);di(196,0,k|0)|0;qe(2520)}w=0;pe(42,46016,46304)|0;e=w;w=0;do{if((((((((((((((!(e&1)?(w=0,pe(42,46028,46336)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,46040,46372)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,46052,46396)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,46064,46420)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,46076,46436)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,46088,46456)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,46100,46476)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,46112,46504)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,46124,46544)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,46136,46576)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,46148,46612)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,46160,46648)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,46172,46664)|0,e=w,w=0,!(e&1)):0)?(w=0,pe(42,46184,46680)|0,e=w,w=0,!(e&1)):0){w=0;pe(42,46196,46696)|0;e=w;w=0;if(e&1)break;w=0;pe(42,46208,46420)|0;e=w;w=0;if(e&1)break;w=0;pe(42,46220,46712)|0;e=w;w=0;if(e&1)break;w=0;pe(42,46232,46728)|0;e=w;w=0;if(e&1)break;w=0;pe(42,46244,46744)|0;e=w;w=0;if(e&1)break;w=0;pe(42,46256,46760)|0;e=w;w=0;if(e&1)break;w=0;pe(42,46268,46776)|0;e=w;w=0;if(e&1)break;w=0;pe(42,46280,46792)|0;e=w;w=0;if(e&1)break;w=0;pe(42,46292,46808)|0;e=w;w=0;if(e&1)break;t[11706]=46016;qe(2512);break e}}while(0);e=je()|0;gi(2512);Qe(e|0)}}while(0);return t[11706]|0}function Sk(e){e=e|0;do{if((f[2528]|0)==0?(ze(2528)|0)!=0:0){if((f[2536]|0)==0?(ze(2536)|0)!=0:0){e=46828;do{t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;e=e+12|0}while((e|0)!=47116);di(197,0,k|0)|0;qe(2536)}w=0;pe(41,46828,59250)|0;e=w;w=0;if(!(e&1)?(w=0,pe(41,46840,59253)|0,e=w,w=0,!(e&1)):0){t[11779]=46828;qe(2528);break}e=je()|0;gi(2528);Qe(e|0)}}while(0);return t[11779]|0}function Tk(e){e=e|0;do{if((f[2544]|0)==0?(ze(2544)|0)!=0:0){if((f[2552]|0)==0?(ze(2552)|0)!=0:0){e=47120;do{t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;e=e+12|0}while((e|0)!=47408);di(198,0,k|0)|0;qe(2552)}w=0;pe(42,47120,47408)|0;e=w;w=0;if(!(e&1)?(w=0,pe(42,47132,47420)|0,e=w,w=0,!(e&1)):0){t[11858]=47120;qe(2544);break}e=je()|0;gi(2544);Qe(e|0)}}while(0);return t[11858]|0}function Rk(e){e=e|0;do{if((f[2560]|0)==0?(ze(2560)|0)!=0:0){w=0;Ee(5,47436,59256,8);e=w;w=0;if(e&1){e=je()|0;gi(2560);Qe(e|0)}else{di(199,47436,k|0)|0;qe(2560);break}}}while(0);return 47436}function Ck(e){e=e|0;var i=0;do{if((f[2568]|0)==0?(ze(2568)|0)!=0:0){w=0;e=de(76,47448)|0;i=w;w=0;if(!(i&1)?(w=0,Ee(15,47484,47448,e|0),i=w,w=0,!(i&1)):0){di(200,47484,k|0)|0;qe(2568);break}i=je()|0;gi(2568);Qe(i|0)}}while(0);return 47484}function Pk(e){e=e|0;do{if((f[2576]|0)==0?(ze(2576)|0)!=0:0){w=0;Ee(5,47496,59265,8);e=w;w=0;if(e&1){e=je()|0;gi(2576);Qe(e|0)}else{di(199,47496,k|0)|0;qe(2576);break}}}while(0);return 47496}function Ik(e){e=e|0;var i=0;do{if((f[2584]|0)==0?(ze(2584)|0)!=0:0){w=0;e=de(76,47508)|0;i=w;w=0;if(!(i&1)?(w=0,Ee(15,47544,47508,e|0),i=w,w=0,!(i&1)):0){di(200,47544,k|0)|0;qe(2584);break}i=je()|0;gi(2584);Qe(i|0)}}while(0);return 47544}function Ok(e){e=e|0;do{if((f[2592]|0)==0?(ze(2592)|0)!=0:0){w=0;Ee(5,47556,59274,20);e=w;w=0;if(e&1){e=je()|0;gi(2592);Qe(e|0)}else{di(199,47556,k|0)|0;qe(2592);break}}}while(0);return 47556}function xk(e){e=e|0;var i=0;do{if((f[2600]|0)==0?(ze(2600)|0)!=0:0){w=0;e=de(76,47568)|0;i=w;w=0;if(!(i&1)?(w=0,Ee(15,47652,47568,e|0),i=w,w=0,!(i&1)):0){di(200,47652,k|0)|0;qe(2600);break}i=je()|0;gi(2600);Qe(i|0)}}while(0);return 47652}function Lk(e){e=e|0;do{if((f[2608]|0)==0?(ze(2608)|0)!=0:0){w=0;Ee(5,47664,59295,11);e=w;w=0;if(e&1){e=je()|0;gi(2608);Qe(e|0)}else{di(199,47664,k|0)|0;qe(2608);break}}}while(0);return 47664}function Bk(e){e=e|0;var i=0;do{if((f[2616]|0)==0?(ze(2616)|0)!=0:0){w=0;e=de(76,47676)|0;i=w;w=0;if(!(i&1)?(w=0,Ee(15,47724,47676,e|0),i=w,w=0,!(i&1)):0){di(200,47724,k|0)|0;qe(2616);break}i=je()|0;gi(2616);Qe(i|0)}}while(0);return 47724}function zk(e){e=e|0;var i=0,r=0,f=0;t[e>>2]=44304;e=e+8|0;i=t[e>>2]|0;w=0;r=Me(3)|0;f=w;w=0;do{if(!(f&1)){if((i|0)!=(r|0)?(w=0,ue(188,t[e>>2]|0),f=w,w=0,f&1):0)break;return}}while(0);f=je(0)|0;Ni(f)}function Dk(e,i,r,n,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;o=o|0;var u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0;E=c;c=c+112|0;h=E;b=(n-r|0)/12|0;do{if(b>>>0>100){h=Pc(b)|0;if((h|0)==0?(w=0,Se(6),A=w,w=0,A&1):0){u=0;m=6;break}u=h;m=11}else{u=0;m=11}}while(0);e:do{if((m|0)==11){if((r|0)==(n|0))d=0;else{m=r;_=0;k=h;while(1){d=f[m>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=t[m+4>>2]|0;if(!d){f[k>>0]=2;d=_+1|0;b=b+-1|0}else{f[k>>0]=1;d=_}m=m+12|0;if((m|0)==(n|0))break;else{_=d;k=k+1|0}}}M=(r|0)==(n|0);A=(r|0)==(n|0);y=0;v=d;i:while(1){d=t[e>>2]|0;do{if(d){if((t[d+12>>2]|0)==(t[d+16>>2]|0)){w=0;d=de(t[(t[d>>2]|0)+36>>2]|0,d|0)|0;g=w;w=0;if(g&1){m=5;break i}if((d|0)==-1){t[e>>2]=0;d=0;break}else{d=t[e>>2]|0;break}}}else d=0}while(0);m=(d|0)==0;_=t[i>>2]|0;if(_){if((t[_+12>>2]|0)==(t[_+16>>2]|0)){w=0;d=de(t[(t[_>>2]|0)+36>>2]|0,_|0)|0;g=w;w=0;if(g&1){m=5;break}if((d|0)==-1){t[i>>2]=0;_=0}}}else _=0;k=(_|0)==0;d=t[e>>2]|0;if(!((b|0)!=0&(m^k))){m=64;break}_=t[d+12>>2]|0;if((_|0)==(t[d+16>>2]|0)){w=0;d=de(t[(t[d>>2]|0)+36>>2]|0,d|0)|0;g=w;w=0;if(g&1){m=5;break}}else d=a[_>>0]|0;d=d&255;if(!o){w=0;d=pe(t[(t[s>>2]|0)+12>>2]|0,s|0,d|0)|0;g=w;w=0;if(g&1){m=5;break}}g=y+1|0;if(M){d=0;m=v}else{k=0;p=r;m=v;v=h;while(1){do{if((f[v>>0]|0)==1){if(!(f[p>>0]&1))_=p+1|0;else _=t[p+8>>2]|0;_=f[_+y>>0]|0;if(!o){w=0;_=pe(t[(t[s>>2]|0)+12>>2]|0,s|0,_|0)|0;S=w;w=0;if(S&1){m=4;break i}}if(d<<24>>24!=_<<24>>24){f[v>>0]=0;_=k;b=b+-1|0;break}_=f[p>>0]|0;if(!(_&1))_=(_&255)>>>1;else _=t[p+4>>2]|0;if((_|0)==(g|0)){f[v>>0]=2;_=1;m=m+1|0;b=b+-1|0}else _=1}else _=k}while(0);p=p+12|0;if((p|0)==(n|0)){d=_;break}else{k=_;v=v+1|0}}}if(!d){y=g;v=m;continue}d=t[e>>2]|0;_=d+12|0;k=t[_>>2]|0;if((k|0)==(t[d+16>>2]|0)){w=0;de(t[(t[d>>2]|0)+40>>2]|0,d|0)|0;S=w;w=0;if(S&1){m=5;break}}else t[_>>2]=k+1;if((m+b|0)>>>0<2|A){y=g;v=m;continue}else{d=r;k=m;m=h}while(1){if((f[m>>0]|0)==2){_=f[d>>0]|0;if(!(_&1))_=(_&255)>>>1;else _=t[d+4>>2]|0;if((_|0)!=(g|0)){f[m>>0]=0;k=k+-1|0}}d=d+12|0;if((d|0)==(n|0)){y=g;v=k;continue i}else m=m+1|0}}if((m|0)==4){r=je()|0;break}else if((m|0)==5){r=je()|0;break}else if((m|0)==64){do{if(d){if((t[d+12>>2]|0)==(t[d+16>>2]|0)){w=0;d=de(t[(t[d>>2]|0)+36>>2]|0,d|0)|0;S=w;w=0;if(S&1){m=6;break e}if((d|0)==-1){t[e>>2]=0;d=0;break}else{d=t[e>>2]|0;break}}}else d=0}while(0);b=(d|0)==0;do{if(!k){if((t[_+12>>2]|0)==(t[_+16>>2]|0)){w=0;d=de(t[(t[_>>2]|0)+36>>2]|0,_|0)|0;S=w;w=0;if(S&1){m=6;break e}if((d|0)==-1){t[i>>2]=0;m=76;break}}if(!b)m=77}else m=76}while(0);if((m|0)==76?b:0)m=77;if((m|0)==77)t[l>>2]=t[l>>2]|2;i:do{if((r|0)==(n|0))m=81;else while(1){if((f[h>>0]|0)==2)break i;r=r+12|0;if((r|0)==(n|0)){m=81;break}else h=h+1|0}}while(0);if((m|0)==81){t[l>>2]=t[l>>2]|4;r=n}if(u)Ic(u);c=E;return r|0}}}while(0);if((m|0)==6)r=je()|0;if(u)Ic(u);Qe(r|0);return 0}function Nk(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0;S=c;c=c+240|0;v=S+202|0;o=S+200|0;R=S+24|0;T=S+12|0;g=S+8|0;A=S+40|0;E=S+4|0;y=S;p=gk(n)|0;s_(R,n,v,o);t[T>>2]=0;t[T+4>>2]=0;t[T+8>>2]=0;if(!(f[T>>0]&1))e=10;else e=(t[T>>2]&-2)+-1|0;w=0;Ee(8,T|0,e|0,0);m=w;w=0;e:do{if(!(m&1)){_=T+8|0;k=T+1|0;n=(f[T>>0]&1)==0?k:t[_>>2]|0;t[g>>2]=n;t[E>>2]=A;t[y>>2]=0;m=T+4|0;b=f[o>>0]|0;e=t[i>>2]|0;i:while(1){if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;o=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;d=w;w=0;if(d&1){C=24;break}if((o|0)==-1){t[i>>2]=0;e=0}}}else e=0;u=(e|0)==0;o=t[r>>2]|0;do{if(o){if((t[o+12>>2]|0)!=(t[o+16>>2]|0))if(u)break;else break i;w=0;h=de(t[(t[o>>2]|0)+36>>2]|0,o|0)|0;d=w;w=0;if(d&1){C=24;break i}if((h|0)!=-1)if(u)break;else break i;else{t[r>>2]=0;C=16;break}}else C=16}while(0);if((C|0)==16){C=0;if(u){o=0;break}else o=0}u=f[T>>0]|0;u=(u&1)==0?(u&255)>>>1:t[m>>2]|0;if((t[g>>2]|0)==(n+u|0)){w=0;Ee(8,T|0,u<<1|0,0);d=w;w=0;if(d&1){C=24;break}if(!(f[T>>0]&1))n=10;else n=(t[T>>2]&-2)+-1|0;w=0;Ee(8,T|0,n|0,0);d=w;w=0;if(d&1){C=24;break}n=(f[T>>0]&1)==0?k:t[_>>2]|0;t[g>>2]=n+u}h=e+12|0;u=t[h>>2]|0;d=e+16|0;if((u|0)==(t[d>>2]|0)){w=0;u=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;P=w;w=0;if(P&1){C=24;break}}else u=a[u>>0]|0;if($b(u&255,p,n,g,y,b,R,A,E,v)|0)break;o=t[h>>2]|0;if((o|0)==(t[d>>2]|0)){w=0;de(t[(t[e>>2]|0)+40>>2]|0,e|0)|0;P=w;w=0;if(P&1){C=24;break}else continue}else{t[h>>2]=o+1;continue}}if((C|0)==24){e=je()|0;break}P=f[R>>0]|0;if((((P&1)==0?(P&255)>>>1:t[R+4>>2]|0)|0)!=0?(M=t[E>>2]|0,(M-A|0)<160):0){P=t[y>>2]|0;t[E>>2]=M+4;t[M>>2]=P}w=0;n=Ae(21,n|0,t[g>>2]|0,s|0,p|0)|0;P=w;w=0;if(!(P&1)){t[l>>2]=n;Go(R,A,t[E>>2]|0,s);if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;n=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;P=w;w=0;if(P&1){C=25;break}if((n|0)==-1){t[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do{if(o){if((t[o+12>>2]|0)==(t[o+16>>2]|0)){w=0;e=de(t[(t[o>>2]|0)+36>>2]|0,o|0)|0;P=w;w=0;if(P&1){C=25;break e}if((e|0)==-1){t[r>>2]=0;C=49;break}}if(!n)C=50}else C=49}while(0);if((C|0)==49?n:0)C=50;if((C|0)==50)t[s>>2]=t[s>>2]|2;P=t[i>>2]|0;xh(T);xh(R);c=S;return P|0}else C=25}else C=25}while(0);if((C|0)==25)e=je()|0;xh(T);xh(R);Qe(e|0);return 0}function Fk(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0;S=c;c=c+240|0;v=S+202|0;o=S+200|0;R=S+24|0;T=S+12|0;g=S+8|0;A=S+40|0;E=S+4|0;y=S;p=gk(n)|0;s_(R,n,v,o);t[T>>2]=0;t[T+4>>2]=0;t[T+8>>2]=0;if(!(f[T>>0]&1))e=10;else e=(t[T>>2]&-2)+-1|0;w=0;Ee(8,T|0,e|0,0);m=w;w=0;e:do{if(!(m&1)){_=T+8|0;k=T+1|0;n=(f[T>>0]&1)==0?k:t[_>>2]|0;t[g>>2]=n;t[E>>2]=A;t[y>>2]=0;m=T+4|0;b=f[o>>0]|0;e=t[i>>2]|0;i:while(1){if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;o=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;d=w;w=0;if(d&1){C=24;break}if((o|0)==-1){t[i>>2]=0;e=0}}}else e=0;o=(e|0)==0;u=t[r>>2]|0;do{if(u){if((t[u+12>>2]|0)!=(t[u+16>>2]|0))if(o)break;else break i;w=0;h=de(t[(t[u>>2]|0)+36>>2]|0,u|0)|0;d=w;w=0;if(d&1){C=24;break i}if((h|0)!=-1)if(o)break;else break i;else{t[r>>2]=0;C=16;break}}else C=16}while(0);if((C|0)==16){C=0;if(o){u=0;break}else u=0}o=f[T>>0]|0;o=(o&1)==0?(o&255)>>>1:t[m>>2]|0;if((t[g>>2]|0)==(n+o|0)){w=0;Ee(8,T|0,o<<1|0,0);d=w;w=0;if(d&1){C=24;break}if(!(f[T>>0]&1))n=10;else n=(t[T>>2]&-2)+-1|0;w=0;Ee(8,T|0,n|0,0);d=w;w=0;if(d&1){C=24;break}n=(f[T>>0]&1)==0?k:t[_>>2]|0;t[g>>2]=n+o}h=e+12|0;o=t[h>>2]|0;d=e+16|0;if((o|0)==(t[d>>2]|0)){w=0;o=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;P=w;w=0;if(P&1){C=24;break}}else o=a[o>>0]|0;if($b(o&255,p,n,g,y,b,R,A,E,v)|0)break;o=t[h>>2]|0;if((o|0)==(t[d>>2]|0)){w=0;de(t[(t[e>>2]|0)+40>>2]|0,e|0)|0;P=w;w=0;if(P&1){C=24;break}else continue}else{t[h>>2]=o+1;continue}}if((C|0)==24){e=je()|0;break}P=f[R>>0]|0;if((((P&1)==0?(P&255)>>>1:t[R+4>>2]|0)|0)!=0?(M=t[E>>2]|0,(M-A|0)<160):0){P=t[y>>2]|0;t[E>>2]=M+4;t[M>>2]=P}w=0;n=Ae(22,n|0,t[g>>2]|0,s|0,p|0)|0;o=O;P=w;w=0;if(!(P&1)){P=l;t[P>>2]=n;t[P+4>>2]=o;Go(R,A,t[E>>2]|0,s);if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;n=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;P=w;w=0;if(P&1){C=25;break}if((n|0)==-1){t[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do{if(u){if((t[u+12>>2]|0)==(t[u+16>>2]|0)){w=0;e=de(t[(t[u>>2]|0)+36>>2]|0,u|0)|0;P=w;w=0;if(P&1){C=25;break e}if((e|0)==-1){t[r>>2]=0;C=49;break}}if(!n)C=50}else C=49}while(0);if((C|0)==49?n:0)C=50;if((C|0)==50)t[s>>2]=t[s>>2]|2;P=t[i>>2]|0;xh(T);xh(R);c=S;return P|0}else C=25}else C=25}while(0);if((C|0)==25)e=je()|0;xh(T);xh(R);Qe(e|0);return 0}function Hk(e,i,r,s,l,o){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;o=o|0;var u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0;T=c;c=c+240|0;p=T+202|0;u=T+200|0;C=T+24|0;R=T+12|0;y=T+8|0;E=T+40|0;S=T+4|0;M=T;g=gk(s)|0;s_(C,s,p,u);t[R>>2]=0;t[R+4>>2]=0;t[R+8>>2]=0;if(!(f[R>>0]&1))e=10;else e=(t[R>>2]&-2)+-1|0;w=0;Ee(8,R|0,e|0,0);v=w;w=0;e:do{if(!(v&1)){k=R+8|0;m=R+1|0;s=(f[R>>0]&1)==0?m:t[k>>2]|0;t[y>>2]=s;t[S>>2]=E;t[M>>2]=0;v=R+4|0;_=f[u>>0]|0;e=t[i>>2]|0;i:while(1){if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;u=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;b=w;w=0;if(b&1){P=24;break}if((u|0)==-1){t[i>>2]=0;e=0}}}else e=0;h=(e|0)==0;u=t[r>>2]|0;do{if(u){if((t[u+12>>2]|0)!=(t[u+16>>2]|0))if(h)break;else break i;w=0;d=de(t[(t[u>>2]|0)+36>>2]|0,u|0)|0;b=w;w=0;if(b&1){P=24;break i}if((d|0)!=-1)if(h)break;else break i;else{t[r>>2]=0;P=16;break}}else P=16}while(0);if((P|0)==16){P=0;if(h){u=0;break}else u=0}h=f[R>>0]|0;h=(h&1)==0?(h&255)>>>1:t[v>>2]|0;if((t[y>>2]|0)==(s+h|0)){w=0;Ee(8,R|0,h<<1|0,0);b=w;w=0;if(b&1){P=24;break}if(!(f[R>>0]&1))s=10;else s=(t[R>>2]&-2)+-1|0;w=0;Ee(8,R|0,s|0,0);b=w;w=0;if(b&1){P=24;break}s=(f[R>>0]&1)==0?m:t[k>>2]|0;t[y>>2]=s+h}d=e+12|0;h=t[d>>2]|0;b=e+16|0;if((h|0)==(t[b>>2]|0)){w=0;h=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;I=w;w=0;if(I&1){P=24;break}}else h=a[h>>0]|0;if($b(h&255,g,s,y,M,_,C,E,S,p)|0)break;u=t[d>>2]|0;if((u|0)==(t[b>>2]|0)){w=0;de(t[(t[e>>2]|0)+40>>2]|0,e|0)|0;I=w;w=0;if(I&1){P=24;break}else continue}else{t[d>>2]=u+1;continue}}if((P|0)==24){e=je()|0;break}I=f[C>>0]|0;if((((I&1)==0?(I&255)>>>1:t[C+4>>2]|0)|0)!=0?(A=t[S>>2]|0,(A-E|0)<160):0){I=t[M>>2]|0;t[S>>2]=A+4;t[A>>2]=I}w=0;s=Ae(23,s|0,t[y>>2]|0,l|0,g|0)|0;I=w;w=0;if(!(I&1)){n[o>>1]=s;Go(C,E,t[S>>2]|0,l);if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;s=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;I=w;w=0;if(I&1){P=25;break}if((s|0)==-1){t[i>>2]=0;e=0}}}else e=0;s=(e|0)==0;do{if(u){if((t[u+12>>2]|0)==(t[u+16>>2]|0)){w=0;e=de(t[(t[u>>2]|0)+36>>2]|0,u|0)|0;I=w;w=0;if(I&1){P=25;break e}if((e|0)==-1){t[r>>2]=0;P=49;break}}if(!s)P=50}else P=49}while(0);if((P|0)==49?s:0)P=50;if((P|0)==50)t[l>>2]=t[l>>2]|2;I=t[i>>2]|0;xh(R);xh(C);c=T;return I|0}else P=25}else P=25}while(0);if((P|0)==25)e=je()|0;xh(R);xh(C);Qe(e|0);return 0}function Uk(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0;S=c;c=c+240|0;v=S+202|0;o=S+200|0;R=S+24|0;T=S+12|0;g=S+8|0;A=S+40|0;E=S+4|0;y=S;p=gk(n)|0;s_(R,n,v,o);t[T>>2]=0;t[T+4>>2]=0;t[T+8>>2]=0;if(!(f[T>>0]&1))e=10;else e=(t[T>>2]&-2)+-1|0;w=0;Ee(8,T|0,e|0,0);m=w;w=0;e:do{if(!(m&1)){_=T+8|0;k=T+1|0;n=(f[T>>0]&1)==0?k:t[_>>2]|0;t[g>>2]=n;t[E>>2]=A;t[y>>2]=0;m=T+4|0;b=f[o>>0]|0;e=t[i>>2]|0;i:while(1){if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;o=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;d=w;w=0;if(d&1){C=24;break}if((o|0)==-1){t[i>>2]=0;e=0}}}else e=0;u=(e|0)==0;o=t[r>>2]|0;do{if(o){if((t[o+12>>2]|0)!=(t[o+16>>2]|0))if(u)break;else break i;w=0;h=de(t[(t[o>>2]|0)+36>>2]|0,o|0)|0;d=w;w=0;if(d&1){C=24;break i}if((h|0)!=-1)if(u)break;else break i;else{t[r>>2]=0;C=16;break}}else C=16}while(0);if((C|0)==16){C=0;if(u){o=0;break}else o=0}u=f[T>>0]|0;u=(u&1)==0?(u&255)>>>1:t[m>>2]|0;if((t[g>>2]|0)==(n+u|0)){w=0;Ee(8,T|0,u<<1|0,0);d=w;w=0;if(d&1){C=24;break}if(!(f[T>>0]&1))n=10;else n=(t[T>>2]&-2)+-1|0;w=0;Ee(8,T|0,n|0,0);d=w;w=0;if(d&1){C=24;break}n=(f[T>>0]&1)==0?k:t[_>>2]|0;t[g>>2]=n+u}h=e+12|0;u=t[h>>2]|0;d=e+16|0;if((u|0)==(t[d>>2]|0)){w=0;u=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;P=w;w=0;if(P&1){C=24;break}}else u=a[u>>0]|0;if($b(u&255,p,n,g,y,b,R,A,E,v)|0)break;o=t[h>>2]|0;if((o|0)==(t[d>>2]|0)){w=0;de(t[(t[e>>2]|0)+40>>2]|0,e|0)|0;P=w;w=0;if(P&1){C=24;break}else continue}else{t[h>>2]=o+1;continue}}if((C|0)==24){e=je()|0;break}P=f[R>>0]|0;if((((P&1)==0?(P&255)>>>1:t[R+4>>2]|0)|0)!=0?(M=t[E>>2]|0,(M-A|0)<160):0){P=t[y>>2]|0;t[E>>2]=M+4;t[M>>2]=P}w=0;n=Ae(24,n|0,t[g>>2]|0,s|0,p|0)|0;P=w;w=0;if(!(P&1)){t[l>>2]=n;Go(R,A,t[E>>2]|0,s);if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;n=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;P=w;w=0;if(P&1){C=25;break}if((n|0)==-1){t[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do{if(o){if((t[o+12>>2]|0)==(t[o+16>>2]|0)){w=0;e=de(t[(t[o>>2]|0)+36>>2]|0,o|0)|0;P=w;w=0;if(P&1){C=25;break e}if((e|0)==-1){t[r>>2]=0;C=49;break}}if(!n)C=50}else C=49}while(0);if((C|0)==49?n:0)C=50;if((C|0)==50)t[s>>2]=t[s>>2]|2;P=t[i>>2]|0;xh(T);xh(R);c=S;return P|0}else C=25}else C=25}while(0);if((C|0)==25)e=je()|0;xh(T);xh(R);Qe(e|0);return 0}function jk(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0;S=c;c=c+240|0;v=S+202|0;o=S+200|0;R=S+24|0;T=S+12|0;g=S+8|0;A=S+40|0;E=S+4|0;y=S;p=gk(n)|0;s_(R,n,v,o);t[T>>2]=0;t[T+4>>2]=0;t[T+8>>2]=0;if(!(f[T>>0]&1))e=10;else e=(t[T>>2]&-2)+-1|0;w=0;Ee(8,T|0,e|0,0);m=w;w=0;e:do{if(!(m&1)){_=T+8|0;k=T+1|0;n=(f[T>>0]&1)==0?k:t[_>>2]|0;t[g>>2]=n;t[E>>2]=A;t[y>>2]=0;m=T+4|0;b=f[o>>0]|0;e=t[i>>2]|0;i:while(1){if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;o=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;d=w;w=0;if(d&1){C=24;break}if((o|0)==-1){t[i>>2]=0;e=0}}}else e=0;u=(e|0)==0;o=t[r>>2]|0;do{if(o){if((t[o+12>>2]|0)!=(t[o+16>>2]|0))if(u)break;else break i;w=0;h=de(t[(t[o>>2]|0)+36>>2]|0,o|0)|0;d=w;w=0;if(d&1){C=24;break i}if((h|0)!=-1)if(u)break;else break i;else{t[r>>2]=0;C=16;break}}else C=16}while(0);if((C|0)==16){C=0;if(u){o=0;break}else o=0}u=f[T>>0]|0;u=(u&1)==0?(u&255)>>>1:t[m>>2]|0;if((t[g>>2]|0)==(n+u|0)){w=0;Ee(8,T|0,u<<1|0,0);d=w;w=0;if(d&1){C=24;break}if(!(f[T>>0]&1))n=10;else n=(t[T>>2]&-2)+-1|0;w=0;Ee(8,T|0,n|0,0);d=w;w=0;if(d&1){C=24;break}n=(f[T>>0]&1)==0?k:t[_>>2]|0;t[g>>2]=n+u}h=e+12|0;u=t[h>>2]|0;d=e+16|0;if((u|0)==(t[d>>2]|0)){w=0;u=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;P=w;w=0;if(P&1){C=24;break}}else u=a[u>>0]|0;if($b(u&255,p,n,g,y,b,R,A,E,v)|0)break;o=t[h>>2]|0;if((o|0)==(t[d>>2]|0)){w=0;de(t[(t[e>>2]|0)+40>>2]|0,e|0)|0;P=w;w=0;if(P&1){C=24;break}else continue}else{t[h>>2]=o+1;continue}}if((C|0)==24){e=je()|0;break}P=f[R>>0]|0;if((((P&1)==0?(P&255)>>>1:t[R+4>>2]|0)|0)!=0?(M=t[E>>2]|0,(M-A|0)<160):0){P=t[y>>2]|0;t[E>>2]=M+4;t[M>>2]=P}w=0;n=Ae(25,n|0,t[g>>2]|0,s|0,p|0)|0;P=w;w=0;if(!(P&1)){t[l>>2]=n;Go(R,A,t[E>>2]|0,s);if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;n=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;P=w;w=0;if(P&1){C=25;break}if((n|0)==-1){t[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do{if(o){if((t[o+12>>2]|0)==(t[o+16>>2]|0)){w=0;e=de(t[(t[o>>2]|0)+36>>2]|0,o|0)|0;P=w;w=0;if(P&1){C=25;break e}if((e|0)==-1){t[r>>2]=0;C=49;break}}if(!n)C=50}else C=49}while(0);if((C|0)==49?n:0)C=50;if((C|0)==50)t[s>>2]=t[s>>2]|2;P=t[i>>2]|0;xh(T);xh(R);c=S;return P|0}else C=25}else C=25}while(0);if((C|0)==25)e=je()|0;xh(T);xh(R);Qe(e|0);return 0}function Yk(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0;S=c;c=c+240|0;v=S+202|0;o=S+200|0;R=S+24|0;T=S+12|0;g=S+8|0;A=S+40|0;E=S+4|0;y=S;p=gk(n)|0;s_(R,n,v,o);t[T>>2]=0;t[T+4>>2]=0;t[T+8>>2]=0;if(!(f[T>>0]&1))e=10;else e=(t[T>>2]&-2)+-1|0;w=0;Ee(8,T|0,e|0,0);m=w;w=0;e:do{if(!(m&1)){_=T+8|0;k=T+1|0;n=(f[T>>0]&1)==0?k:t[_>>2]|0;t[g>>2]=n;t[E>>2]=A;t[y>>2]=0;m=T+4|0;b=f[o>>0]|0;e=t[i>>2]|0;i:while(1){if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;o=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;d=w;w=0;if(d&1){C=24;break}if((o|0)==-1){t[i>>2]=0;e=0}}}else e=0;o=(e|0)==0;u=t[r>>2]|0;do{if(u){if((t[u+12>>2]|0)!=(t[u+16>>2]|0))if(o)break;else break i;w=0;h=de(t[(t[u>>2]|0)+36>>2]|0,u|0)|0;d=w;w=0;if(d&1){C=24;break i}if((h|0)!=-1)if(o)break;else break i;else{t[r>>2]=0;C=16;break}}else C=16}while(0);if((C|0)==16){C=0;if(o){u=0;break}else u=0}o=f[T>>0]|0;o=(o&1)==0?(o&255)>>>1:t[m>>2]|0;if((t[g>>2]|0)==(n+o|0)){w=0;Ee(8,T|0,o<<1|0,0);d=w;w=0;if(d&1){C=24;break}if(!(f[T>>0]&1))n=10;else n=(t[T>>2]&-2)+-1|0;w=0;Ee(8,T|0,n|0,0);d=w;w=0;if(d&1){C=24;break}n=(f[T>>0]&1)==0?k:t[_>>2]|0;t[g>>2]=n+o}h=e+12|0;o=t[h>>2]|0;d=e+16|0;if((o|0)==(t[d>>2]|0)){w=0;o=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;P=w;w=0;if(P&1){C=24;break}}else o=a[o>>0]|0;if($b(o&255,p,n,g,y,b,R,A,E,v)|0)break;o=t[h>>2]|0;if((o|0)==(t[d>>2]|0)){w=0;de(t[(t[e>>2]|0)+40>>2]|0,e|0)|0;P=w;w=0;if(P&1){C=24;break}else continue}else{t[h>>2]=o+1;continue}}if((C|0)==24){e=je()|0;break}P=f[R>>0]|0;if((((P&1)==0?(P&255)>>>1:t[R+4>>2]|0)|0)!=0?(M=t[E>>2]|0,(M-A|0)<160):0){P=t[y>>2]|0;t[E>>2]=M+4;t[M>>2]=P}w=0;n=Ae(26,n|0,t[g>>2]|0,s|0,p|0)|0;o=O;P=w;w=0;if(!(P&1)){P=l;t[P>>2]=n;t[P+4>>2]=o;Go(R,A,t[E>>2]|0,s);if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;n=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;P=w;w=0;if(P&1){C=25;break}if((n|0)==-1){t[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do{if(u){if((t[u+12>>2]|0)==(t[u+16>>2]|0)){w=0;e=de(t[(t[u>>2]|0)+36>>2]|0,u|0)|0;P=w;w=0;if(P&1){C=25;break e}if((e|0)==-1){t[r>>2]=0;C=49;break}}if(!n)C=50}else C=49}while(0);if((C|0)==49?n:0)C=50;if((C|0)==50)t[s>>2]=t[s>>2]|2;P=t[i>>2]|0;xh(T);xh(R);c=S;return P|0}else C=25}else C=25}while(0);if((C|0)==25)e=je()|0;xh(T);xh(R);Qe(e|0);return 0}function qk(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var u=0.0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0;P=c;c=c+240|0;y=P+208|0;h=P+203|0;d=P+202|0;O=P+24|0;I=P+12|0;A=P+8|0;R=P+40|0;C=P+4|0;E=P;S=P+201|0;M=P+200|0;l_(O,n,y,h,d);t[I>>2]=0;t[I+4>>2]=0;t[I+8>>2]=0;if(!(f[I>>0]&1))e=10;else e=(t[I>>2]&-2)+-1|0;w=0;Ee(8,I|0,e|0,0);g=w;w=0;e:do{if(!(g&1)){v=I+8|0;p=I+1|0;n=(f[I>>0]&1)==0?p:t[v>>2]|0;t[A>>2]=n;t[C>>2]=R;t[E>>2]=0;f[S>>0]=1;f[M>>0]=69;g=I+4|0;m=f[h>>0]|0;k=f[d>>0]|0;e=t[i>>2]|0;i:while(1){if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;h=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;_=w;w=0;if(_&1){x=24;break}if((h|0)==-1){t[i>>2]=0;e=0}}}else e=0;d=(e|0)==0;h=t[r>>2]|0;do{if(h){if((t[h+12>>2]|0)!=(t[h+16>>2]|0))if(d)break;else break i;w=0;b=de(t[(t[h>>2]|0)+36>>2]|0,h|0)|0;_=w;w=0;if(_&1){x=24;break i}if((b|0)!=-1)if(d)break;else break i;else{t[r>>2]=0;x=16;break}}else x=16}while(0);if((x|0)==16){x=0;if(d){h=0;break}else h=0}d=f[I>>0]|0;d=(d&1)==0?(d&255)>>>1:t[g>>2]|0;if((t[A>>2]|0)==(n+d|0)){w=0;Ee(8,I|0,d<<1|0,0);_=w;w=0;if(_&1){x=24;break}if(!(f[I>>0]&1))n=10;else n=(t[I>>2]&-2)+-1|0;w=0;Ee(8,I|0,n|0,0);_=w;w=0;if(_&1){x=24;break}n=(f[I>>0]&1)==0?p:t[v>>2]|0;t[A>>2]=n+d}b=e+12|0;d=t[b>>2]|0;_=e+16|0;if((d|0)==(t[_>>2]|0)){w=0;d=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;L=w;w=0;if(L&1){x=24;break}}else d=a[d>>0]|0;if(o_(d&255,S,M,n,A,m,k,O,R,C,E,y)|0)break;h=t[b>>2]|0;if((h|0)==(t[_>>2]|0)){w=0;de(t[(t[e>>2]|0)+40>>2]|0,e|0)|0;L=w;w=0;if(L&1){x=24;break}else continue}else{t[b>>2]=h+1;continue}}if((x|0)==24){e=je()|0;break}L=f[O>>0]|0;if(!((f[S>>0]|0)==0?1:(((L&1)==0?(L&255)>>>1:t[O+4>>2]|0)|0)==0)?(T=t[C>>2]|0,(T-R|0)<160):0){L=t[E>>2]|0;t[C>>2]=T+4;t[T>>2]=L}w=0;u=+ye(1,n|0,t[A>>2]|0,s|0);L=w;w=0;if(!(L&1)){o[l>>2]=u;Go(O,R,t[C>>2]|0,s);if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;n=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;L=w;w=0;if(L&1){x=25;break}if((n|0)==-1){t[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do{if(h){if((t[h+12>>2]|0)==(t[h+16>>2]|0)){w=0;e=de(t[(t[h>>2]|0)+36>>2]|0,h|0)|0;L=w;w=0;if(L&1){x=25;break e}if((e|0)==-1){t[r>>2]=0;x=49;break}}if(!n)x=50}else x=49}while(0);if((x|0)==49?n:0)x=50;if((x|0)==50)t[s>>2]=t[s>>2]|2;L=t[i>>2]|0;xh(I);xh(O);c=P;return L|0}else x=25}else x=25}while(0);if((x|0)==25)e=je()|0;xh(I);xh(O);Qe(e|0);return 0}function $k(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0.0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0;P=c;c=c+240|0;y=P+208|0;h=P+203|0;d=P+202|0;O=P+24|0;I=P+12|0;A=P+8|0;R=P+40|0;C=P+4|0;E=P;S=P+201|0;M=P+200|0;l_(O,n,y,h,d);t[I>>2]=0;t[I+4>>2]=0;t[I+8>>2]=0;if(!(f[I>>0]&1))e=10;else e=(t[I>>2]&-2)+-1|0;w=0;Ee(8,I|0,e|0,0);g=w;w=0;e:do{if(!(g&1)){v=I+8|0;p=I+1|0;n=(f[I>>0]&1)==0?p:t[v>>2]|0;t[A>>2]=n;t[C>>2]=R;t[E>>2]=0;f[S>>0]=1;f[M>>0]=69;g=I+4|0;m=f[h>>0]|0;k=f[d>>0]|0;e=t[i>>2]|0;i:while(1){if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;h=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;_=w;w=0;if(_&1){x=24;break}if((h|0)==-1){t[i>>2]=0;e=0}}}else e=0;d=(e|0)==0;h=t[r>>2]|0;do{if(h){if((t[h+12>>2]|0)!=(t[h+16>>2]|0))if(d)break;else break i;w=0;b=de(t[(t[h>>2]|0)+36>>2]|0,h|0)|0;_=w;w=0;if(_&1){x=24;break i}if((b|0)!=-1)if(d)break;else break i;else{t[r>>2]=0;x=16;break}}else x=16}while(0);if((x|0)==16){x=0;if(d){h=0;break}else h=0}d=f[I>>0]|0;d=(d&1)==0?(d&255)>>>1:t[g>>2]|0;if((t[A>>2]|0)==(n+d|0)){w=0;Ee(8,I|0,d<<1|0,0);_=w;w=0;if(_&1){x=24;break}if(!(f[I>>0]&1))n=10;else n=(t[I>>2]&-2)+-1|0;w=0;Ee(8,I|0,n|0,0);_=w;w=0;if(_&1){x=24;break}n=(f[I>>0]&1)==0?p:t[v>>2]|0;t[A>>2]=n+d}b=e+12|0;d=t[b>>2]|0;_=e+16|0;if((d|0)==(t[_>>2]|0)){w=0;d=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;L=w;w=0;if(L&1){x=24;break}}else d=a[d>>0]|0;if(o_(d&255,S,M,n,A,m,k,O,R,C,E,y)|0)break;h=t[b>>2]|0;if((h|0)==(t[_>>2]|0)){w=0;de(t[(t[e>>2]|0)+40>>2]|0,e|0)|0;L=w;w=0;if(L&1){x=24;break}else continue}else{t[b>>2]=h+1;continue}}if((x|0)==24){e=je()|0;break}L=f[O>>0]|0;if(!((f[S>>0]|0)==0?1:(((L&1)==0?(L&255)>>>1:t[O+4>>2]|0)|0)==0)?(T=t[C>>2]|0,(T-R|0)<160):0){L=t[E>>2]|0;t[C>>2]=T+4;t[T>>2]=L}w=0;o=+ye(2,n|0,t[A>>2]|0,s|0);L=w;w=0;if(!(L&1)){u[l>>3]=o;Go(O,R,t[C>>2]|0,s);if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;n=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;L=w;w=0;if(L&1){x=25;break}if((n|0)==-1){t[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do{if(h){if((t[h+12>>2]|0)==(t[h+16>>2]|0)){w=0;e=de(t[(t[h>>2]|0)+36>>2]|0,h|0)|0;L=w;w=0;if(L&1){x=25;break e}if((e|0)==-1){t[r>>2]=0;x=49;break}}if(!n)x=50}else x=49}while(0);if((x|0)==49?n:0)x=50;if((x|0)==50)t[s>>2]=t[s>>2]|2;L=t[i>>2]|0;xh(I);xh(O);c=P;return L|0}else x=25}else x=25}while(0);if((x|0)==25)e=je()|0;xh(I);xh(O);Qe(e|0);return 0}function Vk(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0.0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0;P=c;c=c+240|0;y=P+208|0;h=P+203|0;d=P+202|0;O=P+24|0;I=P+12|0;A=P+8|0;R=P+40|0;C=P+4|0;E=P;S=P+201|0;M=P+200|0;l_(O,n,y,h,d);t[I>>2]=0;t[I+4>>2]=0;t[I+8>>2]=0;if(!(f[I>>0]&1))e=10;else e=(t[I>>2]&-2)+-1|0;w=0;Ee(8,I|0,e|0,0);g=w;w=0;e:do{if(!(g&1)){v=I+8|0;p=I+1|0;n=(f[I>>0]&1)==0?p:t[v>>2]|0;t[A>>2]=n;t[C>>2]=R;t[E>>2]=0;f[S>>0]=1;f[M>>0]=69;g=I+4|0;m=f[h>>0]|0;k=f[d>>0]|0;e=t[i>>2]|0;i:while(1){if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;h=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;_=w;w=0;if(_&1){x=24;break}if((h|0)==-1){t[i>>2]=0;e=0}}}else e=0;d=(e|0)==0;h=t[r>>2]|0;do{if(h){if((t[h+12>>2]|0)!=(t[h+16>>2]|0))if(d)break;else break i;w=0;b=de(t[(t[h>>2]|0)+36>>2]|0,h|0)|0;_=w;w=0;if(_&1){x=24;break i}if((b|0)!=-1)if(d)break;else break i;else{t[r>>2]=0;x=16;break}}else x=16}while(0);if((x|0)==16){x=0;if(d){h=0;break}else h=0}d=f[I>>0]|0;d=(d&1)==0?(d&255)>>>1:t[g>>2]|0;if((t[A>>2]|0)==(n+d|0)){w=0;Ee(8,I|0,d<<1|0,0);_=w;w=0;if(_&1){x=24;break}if(!(f[I>>0]&1))n=10;else n=(t[I>>2]&-2)+-1|0;w=0;Ee(8,I|0,n|0,0);_=w;w=0;if(_&1){x=24;break}n=(f[I>>0]&1)==0?p:t[v>>2]|0;t[A>>2]=n+d}b=e+12|0;d=t[b>>2]|0;_=e+16|0;if((d|0)==(t[_>>2]|0)){w=0;d=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;L=w;w=0;if(L&1){x=24;break}}else d=a[d>>0]|0;if(o_(d&255,S,M,n,A,m,k,O,R,C,E,y)|0)break;h=t[b>>2]|0;if((h|0)==(t[_>>2]|0)){w=0;de(t[(t[e>>2]|0)+40>>2]|0,e|0)|0;L=w;w=0;if(L&1){x=24;break}else continue}else{t[b>>2]=h+1;continue}}if((x|0)==24){e=je()|0;break}L=f[O>>0]|0;if(!((f[S>>0]|0)==0?1:(((L&1)==0?(L&255)>>>1:t[O+4>>2]|0)|0)==0)?(T=t[C>>2]|0,(T-R|0)<160):0){L=t[E>>2]|0;t[C>>2]=T+4;t[T>>2]=L}w=0;o=+ye(3,n|0,t[A>>2]|0,s|0);L=w;w=0;if(!(L&1)){u[l>>3]=o;Go(O,R,t[C>>2]|0,s);if(e){if((t[e+12>>2]|0)==(t[e+16>>2]|0)){w=0;n=de(t[(t[e>>2]|0)+36>>2]|0,e|0)|0;L=w;w=0;if(L&1){x=25;break}if((n|0)==-1){t[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do{if(h){if((t[h+12>>2]|0)==(t[h+16>>2]|0)){w=0;e=de(t[(t[h>>2]|0)+36>>2]|0,h|0)|0;L=w;w=0;if(L&1){x=25;break e}if((e|0)==-1){t[r>>2]=0;x=49;break}}if(!n)x=50}else x=49}while(0);if((x|0)==49?n:0)x=50;if((x|0)==50)t[s>>2]=t[s>>2]|2;L=t[i>>2]|0;xh(I);xh(O);c=P;return L|0}else x=25}else x=25}while(0);if((x|0)==25)e=je()|0;xh(I);xh(O);Qe(e|0);return 0}function Xk(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0;n=c;c=c+16|0;a=n;t[a>>2]=f;f=Kg(i)|0;i=Ny(e,r,a)|0;if((f|0)!=0?(w=0,de(75,f|0)|0,a=w,w=0,a&1):0){a=je(0)|0;Ni(a)}c=n;return i|0}function Gk(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;A=c;c=c+112|0;u=A;d=(n-r|0)/12|0;do{if(d>>>0>100){u=Pc(d)|0;if((u|0)==0?(w=0,Se(6),M=w,w=0,M&1):0){o=0;_=6;break}o=u;_=11}else{o=0;_=11}}while(0);e:do{if((_|0)==11){if((r|0)==(n|0))h=0;else{k=r;b=0;_=u;while(1){h=f[k>>0]|0;if(!(h&1))h=(h&255)>>>1;else h=t[k+4>>2]|0;if(!h){f[_>>0]=2;h=b+1|0;d=d+-1|0}else{f[_>>0]=1;h=b}k=k+12|0;if((k|0)==(n|0))break;else{b=h;_=_+1|0}}}y=(r|0)==(n|0);M=(r|0)==(n|0);g=0;m=d;i:while(1){d=t[e>>2]|0;do{if(d){b=t[d+12>>2]|0;if((b|0)==(t[d+16>>2]|0)){w=0;d=de(t[(t[d>>2]|0)+36>>2]|0,d|0)|0;p=w;w=0;if(p&1){_=5;break i}}else d=t[b>>2]|0;if((d|0)==-1){t[e>>2]=0;k=1;break}else{k=(t[e>>2]|0)==0;break}}else k=1}while(0);b=t[i>>2]|0;if(b){d=t[b+12>>2]|0;if((d|0)==(t[b+16>>2]|0)){w=0;d=de(t[(t[b>>2]|0)+36>>2]|0,b|0)|0;p=w;w=0;if(p&1){_=5;break}}else d=t[d>>2]|0;if((d|0)==-1){t[i>>2]=0;b=0;_=1}else _=0}else{b=0;_=1}d=t[e>>2]|0;if(!((m|0)!=0&(k^_))){_=66;break}b=t[d+12>>2]|0;if((b|0)==(t[d+16>>2]|0)){w=0;d=de(t[(t[d>>2]|0)+36>>2]|0,d|0)|0;p=w;w=0;if(p&1){_=5;break}}else d=t[b>>2]|0;if(!l){w=0;d=pe(t[(t[a>>2]|0)+28>>2]|0,a|0,d|0)|0;p=w;w=0;if(p&1){_=5;break}}p=g+1|0;if(y){d=0;k=m}else{k=0;v=r;_=m;m=u;while(1){do{if((f[m>>0]|0)==1){if(!(f[v>>0]&1))b=v+4|0;else b=t[v+8>>2]|0;b=t[b+(g<<2)>>2]|0;if(!l){w=0;b=pe(t[(t[a>>2]|0)+28>>2]|0,a|0,b|0)|0;E=w;w=0;if(E&1){_=4;break i}}if((d|0)!=(b|0)){f[m>>0]=0;b=k;_=_+-1|0;break}b=f[v>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=t[v+4>>2]|0;if((b|0)==(p|0)){f[m>>0]=2;b=1;h=h+1|0;_=_+-1|0}else b=1}else b=k}while(0);v=v+12|0;if((v|0)==(n|0)){d=b;k=_;break}else{k=b;m=m+1|0}}}if(!d){g=p;m=k;continue}d=t[e>>2]|0;b=d+12|0;_=t[b>>2]|0;if((_|0)==(t[d+16>>2]|0)){w=0;de(t[(t[d>>2]|0)+40>>2]|0,d|0)|0;E=w;w=0;if(E&1){_=5;break}}else t[b>>2]=_+4;if((h+k|0)>>>0<2|M){g=p;m=k;continue}else{d=r;_=u}while(1){if((f[_>>0]|0)==2){b=f[d>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=t[d+4>>2]|0;if((b|0)!=(p|0)){f[_>>0]=0;h=h+-1|0}}d=d+12|0;if((d|0)==(n|0)){g=p;m=k;continue i}else _=_+1|0}}if((_|0)==4){r=je()|0;break}else if((_|0)==5){r=je()|0;break}else if((_|0)==66){do{if(d){h=t[d+12>>2]|0;if((h|0)==(t[d+16>>2]|0)){w=0;h=de(t[(t[d>>2]|0)+36>>2]|0,d|0)|0;E=w;w=0;if(E&1){_=6;break e}}else h=t[h>>2]|0;if((h|0)==-1){t[e>>2]=0;d=1;break}else{d=(t[e>>2]|0)==0;break}}else d=1}while(0);do{if(b){h=t[b+12>>2]|0;if((h|0)==(t[b+16>>2]|0)){w=0;h=de(t[(t[b>>2]|0)+36>>2]|0,b|0)|0;E=w;w=0;if(E&1){_=6;break e}}else h=t[h>>2]|0;if((h|0)!=-1)if(d)break;else{_=81;break}else{t[i>>2]=0;_=79;break}}else _=79}while(0);if((_|0)==79?d:0)_=81;if((_|0)==81)t[s>>2]=t[s>>2]|2;i:do{if((r|0)==(n|0))_=85;else while(1){if((f[u>>0]|0)==2)break i;r=r+12|0;if((r|0)==(n|0)){_=85;break}else u=u+1|0}}while(0);if((_|0)==85){t[s>>2]=t[s>>2]|4;r=n}if(o)Ic(o);c=A;return r|0}}}while(0);if((_|0)==6)r=je()|0;if(o)Ic(o);Qe(r|0);return 0}function Kk(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0;E=c;c=c+320|0;m=E+208|0;l=E+200|0;T=E+24|0;S=E+12|0;p=E+8|0;M=E+40|0;A=E+4|0;g=E;v=gk(n)|0;u_(T,n,m,l);t[S>>2]=0;t[S+4>>2]=0;t[S+8>>2]=0;if(!(f[S>>0]&1))e=10;else e=(t[S>>2]&-2)+-1|0;w=0;Ee(8,S|0,e|0,0);k=w;w=0;e:do{if(!(k&1)){b=S+8|0;_=S+1|0;e=(f[S>>0]&1)==0?_:t[b>>2]|0;t[p>>2]=e;t[A>>2]=M;t[g>>2]=0;k=S+4|0;d=t[l>>2]|0;l=t[i>>2]|0;i:while(1){if(l){n=t[l+12>>2]|0;if((n|0)==(t[l+16>>2]|0)){w=0;n=de(t[(t[l>>2]|0)+36>>2]|0,l|0)|0;h=w;w=0;if(h&1){R=25;break}}else n=t[n>>2]|0;if((n|0)==-1){t[i>>2]=0;n=0;o=1}else{n=l;o=0}}else{n=0;o=1}u=t[r>>2]|0;do{if(u){l=t[u+12>>2]|0;if((l|0)==(t[u+16>>2]|0)){w=0;l=de(t[(t[u>>2]|0)+36>>2]|0,u|0)|0;h=w;w=0;if(h&1){R=25;break i}}else l=t[l>>2]|0;if((l|0)!=-1)if(o)break;else{l=u;break i}else{t[r>>2]=0;R=17;break}}else R=17}while(0);if((R|0)==17){R=0;if(o){l=0;break}else u=0}l=f[S>>0]|0;l=(l&1)==0?(l&255)>>>1:t[k>>2]|0;if((t[p>>2]|0)==(e+l|0)){w=0;Ee(8,S|0,l<<1|0,0);h=w;w=0;if(h&1){R=25;break}if(!(f[S>>0]&1))e=10;else e=(t[S>>2]&-2)+-1|0;w=0;Ee(8,S|0,e|0,0);h=w;w=0;if(h&1){R=25;break}e=(f[S>>0]&1)==0?_:t[b>>2]|0;t[p>>2]=e+l}o=n+12|0;l=t[o>>2]|0;h=n+16|0;if((l|0)==(t[h>>2]|0)){w=0;l=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;C=w;w=0;if(C&1){R=25;break}}else l=t[l>>2]|0;if(a_(l,v,e,p,g,d,T,M,A,m)|0){l=u;break}l=t[o>>2]|0;if((l|0)==(t[h>>2]|0)){w=0;de(t[(t[n>>2]|0)+40>>2]|0,n|0)|0;C=w;w=0;if(C&1){R=25;break}else{l=n;continue}}else{t[o>>2]=l+4;l=n;continue}}if((R|0)==25){e=je()|0;break}C=f[T>>0]|0;if((((C&1)==0?(C&255)>>>1:t[T+4>>2]|0)|0)!=0?(y=t[A>>2]|0,(y-M|0)<160):0){C=t[g>>2]|0;t[A>>2]=y+4;t[y>>2]=C}w=0;e=Ae(21,e|0,t[p>>2]|0,a|0,v|0)|0;C=w;w=0;if(!(C&1)){t[s>>2]=e;Go(T,M,t[A>>2]|0,a);if(n){e=t[n+12>>2]|0;if((e|0)==(t[n+16>>2]|0)){w=0;e=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;C=w;w=0;if(C&1){R=26;break}}else e=t[e>>2]|0;if((e|0)==-1){t[i>>2]=0;n=1}else n=0}else n=1;do{if(l){e=t[l+12>>2]|0;if((e|0)==(t[l+16>>2]|0)){w=0;e=de(t[(t[l>>2]|0)+36>>2]|0,l|0)|0;C=w;w=0;if(C&1){R=26;break e}}else e=t[e>>2]|0;if((e|0)!=-1)if(n)break;else{R=53;break}else{t[r>>2]=0;R=51;break}}else R=51}while(0);if((R|0)==51?n:0)R=53;if((R|0)==53)t[a>>2]=t[a>>2]|2;C=t[i>>2]|0;xh(S);xh(T);c=E;return C|0}else R=26}else R=26}while(0);if((R|0)==26)e=je()|0;xh(S);xh(T);Qe(e|0);return 0}function Wk(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0;E=c;c=c+320|0;m=E+208|0;l=E+200|0;T=E+24|0;S=E+12|0;p=E+8|0;M=E+40|0;A=E+4|0;g=E;v=gk(n)|0;u_(T,n,m,l);t[S>>2]=0;t[S+4>>2]=0;t[S+8>>2]=0;if(!(f[S>>0]&1))e=10;else e=(t[S>>2]&-2)+-1|0;w=0;Ee(8,S|0,e|0,0);k=w;w=0;e:do{if(!(k&1)){b=S+8|0;_=S+1|0;e=(f[S>>0]&1)==0?_:t[b>>2]|0;t[p>>2]=e;t[A>>2]=M;t[g>>2]=0;k=S+4|0;d=t[l>>2]|0;l=t[i>>2]|0;i:while(1){if(l){n=t[l+12>>2]|0;if((n|0)==(t[l+16>>2]|0)){w=0;n=de(t[(t[l>>2]|0)+36>>2]|0,l|0)|0;h=w;w=0;if(h&1){R=25;break}}else n=t[n>>2]|0;if((n|0)==-1){t[i>>2]=0;l=0;u=1}else u=0}else{l=0;u=1}o=t[r>>2]|0;do{if(o){n=t[o+12>>2]|0;if((n|0)==(t[o+16>>2]|0)){w=0;n=de(t[(t[o>>2]|0)+36>>2]|0,o|0)|0;h=w;w=0;if(h&1){R=25;break i}}else n=t[n>>2]|0;if((n|0)!=-1)if(u)break;else break i;else{t[r>>2]=0;R=17;break}}else R=17}while(0);if((R|0)==17){R=0;if(u){o=0;break}else o=0}n=f[S>>0]|0;n=(n&1)==0?(n&255)>>>1:t[k>>2]|0;if((t[p>>2]|0)==(e+n|0)){w=0;Ee(8,S|0,n<<1|0,0);h=w;w=0;if(h&1){R=25;break}if(!(f[S>>0]&1))e=10;else e=(t[S>>2]&-2)+-1|0;w=0;Ee(8,S|0,e|0,0);h=w;w=0;if(h&1){R=25;break}e=(f[S>>0]&1)==0?_:t[b>>2]|0;t[p>>2]=e+n}u=l+12|0;n=t[u>>2]|0;h=l+16|0;if((n|0)==(t[h>>2]|0)){w=0;n=de(t[(t[l>>2]|0)+36>>2]|0,l|0)|0;C=w;w=0;if(C&1){R=25;break}}else n=t[n>>2]|0;if(a_(n,v,e,p,g,d,T,M,A,m)|0)break;n=t[u>>2]|0;if((n|0)==(t[h>>2]|0)){w=0;de(t[(t[l>>2]|0)+40>>2]|0,l|0)|0;C=w;w=0;if(C&1){R=25;break}else continue}else{t[u>>2]=n+4;continue}}if((R|0)==25){e=je()|0;break}C=f[T>>0]|0;if((((C&1)==0?(C&255)>>>1:t[T+4>>2]|0)|0)!=0?(y=t[A>>2]|0,(y-M|0)<160):0){C=t[g>>2]|0;t[A>>2]=y+4;t[y>>2]=C}w=0;e=Ae(22,e|0,t[p>>2]|0,a|0,v|0)|0;n=O;C=w;w=0;if(!(C&1)){C=s;t[C>>2]=e;t[C+4>>2]=n;Go(T,M,t[A>>2]|0,a);if(l){e=t[l+12>>2]|0;if((e|0)==(t[l+16>>2]|0)){w=0;e=de(t[(t[l>>2]|0)+36>>2]|0,l|0)|0;C=w;w=0;if(C&1){R=26;break}}else e=t[e>>2]|0;if((e|0)==-1){t[i>>2]=0;n=1}else n=0}else n=1;do{if(o){e=t[o+12>>2]|0;if((e|0)==(t[o+16>>2]|0)){w=0;e=de(t[(t[o>>2]|0)+36>>2]|0,o|0)|0;C=w;w=0;if(C&1){R=26;break e}}else e=t[e>>2]|0;if((e|0)!=-1)if(n)break;else{R=53;break}else{t[r>>2]=0;R=51;break}}else R=51}while(0);if((R|0)==51?n:0)R=53;if((R|0)==53)t[a>>2]=t[a>>2]|2;C=t[i>>2]|0;xh(S);xh(T);c=E;return C|0}else R=26}else R=26}while(0);if((R|0)==26)e=je()|0;xh(S);xh(T);Qe(e|0);return 0}function Zk(e,i,r,a,s,l){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0;S=c;c=c+320|0;v=S+208|0;o=S+200|0;R=S+24|0;T=S+12|0;g=S+8|0;A=S+40|0;E=S+4|0;y=S;p=gk(a)|0;u_(R,a,v,o);t[T>>2]=0;t[T+4>>2]=0;t[T+8>>2]=0;if(!(f[T>>0]&1))e=10;else e=(t[T>>2]&-2)+-1|0;w=0;Ee(8,T|0,e|0,0);m=w;w=0;e:do{if(!(m&1)){_=T+8|0;k=T+1|0;e=(f[T>>0]&1)==0?k:t[_>>2]|0;t[g>>2]=e;t[E>>2]=A;t[y>>2]=0;m=T+4|0;b=t[o>>2]|0;o=t[i>>2]|0;i:while(1){if(o){a=t[o+12>>2]|0;if((a|0)==(t[o+16>>2]|0)){w=0;a=de(t[(t[o>>2]|0)+36>>2]|0,o|0)|0;d=w;w=0;if(d&1){C=25;break}}else a=t[a>>2]|0;if((a|0)==-1){t[i>>2]=0;a=0;u=1}else{a=o;u=0}}else{a=0;u=1}h=t[r>>2]|0;do{if(h){o=t[h+12>>2]|0;if((o|0)==(t[h+16>>2]|0)){w=0;o=de(t[(t[h>>2]|0)+36>>2]|0,h|0)|0;d=w;w=0;if(d&1){C=25;break i}}else o=t[o>>2]|0;if((o|0)!=-1)if(u)break;else{o=h;break i}else{t[r>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(u){o=0;break}else h=0}o=f[T>>0]|0;o=(o&1)==0?(o&255)>>>1:t[m>>2]|0;if((t[g>>2]|0)==(e+o|0)){w=0;Ee(8,T|0,o<<1|0,0);d=w;w=0;if(d&1){C=25;break}if(!(f[T>>0]&1))e=10;else e=(t[T>>2]&-2)+-1|0;w=0;Ee(8,T|0,e|0,0);d=w;w=0;if(d&1){C=25;break}e=(f[T>>0]&1)==0?k:t[_>>2]|0;t[g>>2]=e+o}u=a+12|0;o=t[u>>2]|0;d=a+16|0;if((o|0)==(t[d>>2]|0)){w=0;o=de(t[(t[a>>2]|0)+36>>2]|0,a|0)|0;P=w;w=0;if(P&1){C=25;break}}else o=t[o>>2]|0;if(a_(o,p,e,g,y,b,R,A,E,v)|0){o=h;break}o=t[u>>2]|0;if((o|0)==(t[d>>2]|0)){w=0;de(t[(t[a>>2]|0)+40>>2]|0,a|0)|0;P=w;w=0;if(P&1){C=25;break}else{o=a;continue}}else{t[u>>2]=o+4;o=a;continue}}if((C|0)==25){e=je()|0;break}P=f[R>>0]|0;if((((P&1)==0?(P&255)>>>1:t[R+4>>2]|0)|0)!=0?(M=t[E>>2]|0,(M-A|0)<160):0){P=t[y>>2]|0;t[E>>2]=M+4;t[M>>2]=P}w=0;e=Ae(23,e|0,t[g>>2]|0,s|0,p|0)|0;P=w;w=0;if(!(P&1)){n[l>>1]=e;Go(R,A,t[E>>2]|0,s);if(a){e=t[a+12>>2]|0;if((e|0)==(t[a+16>>2]|0)){w=0;e=de(t[(t[a>>2]|0)+36>>2]|0,a|0)|0;P=w;w=0;if(P&1){C=26;break}}else e=t[e>>2]|0;if((e|0)==-1){t[i>>2]=0;a=1}else a=0}else a=1;do{if(o){e=t[o+12>>2]|0;if((e|0)==(t[o+16>>2]|0)){w=0;e=de(t[(t[o>>2]|0)+36>>2]|0,o|0)|0;P=w;w=0;if(P&1){C=26;break e}}else e=t[e>>2]|0;if((e|0)!=-1)if(a)break;else{C=53;break}else{t[r>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?a:0)C=53;if((C|0)==53)t[s>>2]=t[s>>2]|2;P=t[i>>2]|0;xh(T);xh(R);c=S;return P|0}else C=26}else C=26}while(0);if((C|0)==26)e=je()|0;xh(T);xh(R);Qe(e|0);return 0}function Jk(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0;E=c;c=c+320|0;m=E+208|0;l=E+200|0;T=E+24|0;S=E+12|0;p=E+8|0;M=E+40|0;A=E+4|0;g=E;v=gk(n)|0;u_(T,n,m,l);t[S>>2]=0;t[S+4>>2]=0;t[S+8>>2]=0;if(!(f[S>>0]&1))e=10;else e=(t[S>>2]&-2)+-1|0;w=0;Ee(8,S|0,e|0,0);k=w;w=0;e:do{if(!(k&1)){b=S+8|0;_=S+1|0;e=(f[S>>0]&1)==0?_:t[b>>2]|0;t[p>>2]=e;t[A>>2]=M;t[g>>2]=0;k=S+4|0;d=t[l>>2]|0;l=t[i>>2]|0;i:while(1){if(l){n=t[l+12>>2]|0;if((n|0)==(t[l+16>>2]|0)){w=0;n=de(t[(t[l>>2]|0)+36>>2]|0,l|0)|0;h=w;w=0;if(h&1){R=25;break}}else n=t[n>>2]|0;if((n|0)==-1){t[i>>2]=0;n=0;o=1}else{n=l;o=0}}else{n=0;o=1}u=t[r>>2]|0;do{if(u){l=t[u+12>>2]|0;if((l|0)==(t[u+16>>2]|0)){w=0;l=de(t[(t[u>>2]|0)+36>>2]|0,u|0)|0;h=w;w=0;if(h&1){R=25;break i}}else l=t[l>>2]|0;if((l|0)!=-1)if(o)break;else{l=u;break i}else{t[r>>2]=0;R=17;break}}else R=17}while(0);if((R|0)==17){R=0;if(o){l=0;break}else u=0}l=f[S>>0]|0;l=(l&1)==0?(l&255)>>>1:t[k>>2]|0;if((t[p>>2]|0)==(e+l|0)){w=0;Ee(8,S|0,l<<1|0,0);h=w;w=0;if(h&1){R=25;break}if(!(f[S>>0]&1))e=10;else e=(t[S>>2]&-2)+-1|0;w=0;Ee(8,S|0,e|0,0);h=w;w=0;if(h&1){R=25;break}e=(f[S>>0]&1)==0?_:t[b>>2]|0;t[p>>2]=e+l}o=n+12|0;l=t[o>>2]|0;h=n+16|0;if((l|0)==(t[h>>2]|0)){w=0;l=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;C=w;w=0;if(C&1){R=25;break}}else l=t[l>>2]|0;if(a_(l,v,e,p,g,d,T,M,A,m)|0){l=u;break}l=t[o>>2]|0;if((l|0)==(t[h>>2]|0)){w=0;de(t[(t[n>>2]|0)+40>>2]|0,n|0)|0;C=w;w=0;if(C&1){R=25;break}else{l=n;continue}}else{t[o>>2]=l+4;l=n;continue}}if((R|0)==25){e=je()|0;break}C=f[T>>0]|0;if((((C&1)==0?(C&255)>>>1:t[T+4>>2]|0)|0)!=0?(y=t[A>>2]|0,(y-M|0)<160):0){C=t[g>>2]|0;t[A>>2]=y+4;t[y>>2]=C}w=0;e=Ae(24,e|0,t[p>>2]|0,a|0,v|0)|0;C=w;w=0;if(!(C&1)){t[s>>2]=e;Go(T,M,t[A>>2]|0,a);if(n){e=t[n+12>>2]|0;if((e|0)==(t[n+16>>2]|0)){w=0;e=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;C=w;w=0;if(C&1){R=26;break}}else e=t[e>>2]|0;if((e|0)==-1){t[i>>2]=0;n=1}else n=0}else n=1;do{if(l){e=t[l+12>>2]|0;if((e|0)==(t[l+16>>2]|0)){w=0;e=de(t[(t[l>>2]|0)+36>>2]|0,l|0)|0;C=w;w=0;if(C&1){R=26;break e}}else e=t[e>>2]|0;if((e|0)!=-1)if(n)break;else{R=53;break}else{t[r>>2]=0;R=51;break}}else R=51}while(0);if((R|0)==51?n:0)R=53;if((R|0)==53)t[a>>2]=t[a>>2]|2;C=t[i>>2]|0;xh(S);xh(T);c=E;return C|0}else R=26}else R=26}while(0);if((R|0)==26)e=je()|0;xh(S);xh(T);Qe(e|0);return 0}function Qk(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0;E=c;c=c+320|0;m=E+208|0;l=E+200|0;T=E+24|0;S=E+12|0;p=E+8|0;M=E+40|0;A=E+4|0;g=E;v=gk(n)|0;u_(T,n,m,l);t[S>>2]=0;t[S+4>>2]=0;t[S+8>>2]=0;if(!(f[S>>0]&1))e=10;else e=(t[S>>2]&-2)+-1|0;w=0;Ee(8,S|0,e|0,0);k=w;w=0;e:do{if(!(k&1)){b=S+8|0;_=S+1|0;e=(f[S>>0]&1)==0?_:t[b>>2]|0;t[p>>2]=e;t[A>>2]=M;t[g>>2]=0;k=S+4|0;d=t[l>>2]|0;l=t[i>>2]|0;i:while(1){if(l){n=t[l+12>>2]|0;if((n|0)==(t[l+16>>2]|0)){w=0;n=de(t[(t[l>>2]|0)+36>>2]|0,l|0)|0;h=w;w=0;if(h&1){R=25;break}}else n=t[n>>2]|0;if((n|0)==-1){t[i>>2]=0;n=0;o=1}else{n=l;o=0}}else{n=0;o=1}u=t[r>>2]|0;do{if(u){l=t[u+12>>2]|0;if((l|0)==(t[u+16>>2]|0)){w=0;l=de(t[(t[u>>2]|0)+36>>2]|0,u|0)|0;h=w;w=0;if(h&1){R=25;break i}}else l=t[l>>2]|0;if((l|0)!=-1)if(o)break;else{l=u;break i}else{t[r>>2]=0;R=17;break}}else R=17}while(0);if((R|0)==17){R=0;if(o){l=0;break}else u=0}l=f[S>>0]|0;l=(l&1)==0?(l&255)>>>1:t[k>>2]|0;if((t[p>>2]|0)==(e+l|0)){w=0;Ee(8,S|0,l<<1|0,0);h=w;w=0;if(h&1){R=25;break}if(!(f[S>>0]&1))e=10;else e=(t[S>>2]&-2)+-1|0;w=0;Ee(8,S|0,e|0,0);h=w;w=0;if(h&1){R=25;break}e=(f[S>>0]&1)==0?_:t[b>>2]|0;t[p>>2]=e+l}o=n+12|0;l=t[o>>2]|0;h=n+16|0;if((l|0)==(t[h>>2]|0)){w=0;l=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;C=w;w=0;if(C&1){R=25;break}}else l=t[l>>2]|0;if(a_(l,v,e,p,g,d,T,M,A,m)|0){l=u;break}l=t[o>>2]|0;if((l|0)==(t[h>>2]|0)){w=0;de(t[(t[n>>2]|0)+40>>2]|0,n|0)|0;C=w;w=0;if(C&1){R=25;break}else{l=n;continue}}else{t[o>>2]=l+4;l=n;continue}}if((R|0)==25){e=je()|0;break}C=f[T>>0]|0;if((((C&1)==0?(C&255)>>>1:t[T+4>>2]|0)|0)!=0?(y=t[A>>2]|0,(y-M|0)<160):0){C=t[g>>2]|0;t[A>>2]=y+4;t[y>>2]=C}w=0;e=Ae(25,e|0,t[p>>2]|0,a|0,v|0)|0;C=w;w=0;if(!(C&1)){t[s>>2]=e;Go(T,M,t[A>>2]|0,a);if(n){e=t[n+12>>2]|0;if((e|0)==(t[n+16>>2]|0)){w=0;e=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;C=w;w=0;if(C&1){R=26;break}}else e=t[e>>2]|0;if((e|0)==-1){t[i>>2]=0;n=1}else n=0}else n=1;do{if(l){e=t[l+12>>2]|0;if((e|0)==(t[l+16>>2]|0)){w=0;e=de(t[(t[l>>2]|0)+36>>2]|0,l|0)|0;C=w;w=0;if(C&1){R=26;break e}}else e=t[e>>2]|0;if((e|0)!=-1)if(n)break;else{R=53;break}else{t[r>>2]=0;R=51;break}}else R=51}while(0);if((R|0)==51?n:0)R=53;if((R|0)==53)t[a>>2]=t[a>>2]|2;C=t[i>>2]|0;xh(S);xh(T);c=E;return C|0}else R=26}else R=26}while(0);if((R|0)==26)e=je()|0;xh(S);xh(T);Qe(e|0);return 0}function ew(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0;E=c;c=c+320|0;m=E+208|0;l=E+200|0;T=E+24|0;S=E+12|0;p=E+8|0;M=E+40|0;A=E+4|0;g=E;v=gk(n)|0;u_(T,n,m,l);t[S>>2]=0;t[S+4>>2]=0;t[S+8>>2]=0;if(!(f[S>>0]&1))e=10;else e=(t[S>>2]&-2)+-1|0;w=0;Ee(8,S|0,e|0,0);k=w;w=0;e:do{if(!(k&1)){b=S+8|0;_=S+1|0;e=(f[S>>0]&1)==0?_:t[b>>2]|0;t[p>>2]=e;t[A>>2]=M;t[g>>2]=0;k=S+4|0;d=t[l>>2]|0;l=t[i>>2]|0;i:while(1){if(l){n=t[l+12>>2]|0;if((n|0)==(t[l+16>>2]|0)){w=0;n=de(t[(t[l>>2]|0)+36>>2]|0,l|0)|0;h=w;w=0;if(h&1){R=25;break}}else n=t[n>>2]|0;if((n|0)==-1){t[i>>2]=0;l=0;u=1}else u=0}else{l=0;u=1}o=t[r>>2]|0;do{if(o){n=t[o+12>>2]|0;if((n|0)==(t[o+16>>2]|0)){w=0;n=de(t[(t[o>>2]|0)+36>>2]|0,o|0)|0;h=w;w=0;if(h&1){R=25;break i}}else n=t[n>>2]|0;if((n|0)!=-1)if(u)break;else break i;else{t[r>>2]=0;R=17;break}}else R=17}while(0);if((R|0)==17){R=0;if(u){o=0;break}else o=0}n=f[S>>0]|0;n=(n&1)==0?(n&255)>>>1:t[k>>2]|0;if((t[p>>2]|0)==(e+n|0)){w=0;Ee(8,S|0,n<<1|0,0);h=w;w=0;if(h&1){R=25;break}if(!(f[S>>0]&1))e=10;else e=(t[S>>2]&-2)+-1|0;w=0;Ee(8,S|0,e|0,0);h=w;w=0;if(h&1){R=25;break}e=(f[S>>0]&1)==0?_:t[b>>2]|0;t[p>>2]=e+n}u=l+12|0;n=t[u>>2]|0;h=l+16|0;if((n|0)==(t[h>>2]|0)){w=0;n=de(t[(t[l>>2]|0)+36>>2]|0,l|0)|0;C=w;w=0;if(C&1){R=25;break}}else n=t[n>>2]|0;if(a_(n,v,e,p,g,d,T,M,A,m)|0)break;n=t[u>>2]|0;if((n|0)==(t[h>>2]|0)){w=0;de(t[(t[l>>2]|0)+40>>2]|0,l|0)|0;C=w;w=0;if(C&1){R=25;break}else continue}else{t[u>>2]=n+4;continue}}if((R|0)==25){e=je()|0;break}C=f[T>>0]|0;if((((C&1)==0?(C&255)>>>1:t[T+4>>2]|0)|0)!=0?(y=t[A>>2]|0,(y-M|0)<160):0){C=t[g>>2]|0;t[A>>2]=y+4;t[y>>2]=C}w=0;e=Ae(26,e|0,t[p>>2]|0,a|0,v|0)|0;n=O;C=w;w=0;if(!(C&1)){C=s;t[C>>2]=e;t[C+4>>2]=n;Go(T,M,t[A>>2]|0,a);if(l){e=t[l+12>>2]|0;if((e|0)==(t[l+16>>2]|0)){w=0;e=de(t[(t[l>>2]|0)+36>>2]|0,l|0)|0;C=w;w=0;if(C&1){R=26;break}}else e=t[e>>2]|0;if((e|0)==-1){t[i>>2]=0;n=1}else n=0}else n=1;do{if(o){e=t[o+12>>2]|0;if((e|0)==(t[o+16>>2]|0)){w=0;e=de(t[(t[o>>2]|0)+36>>2]|0,o|0)|0;C=w;w=0;if(C&1){R=26;break e}}else e=t[e>>2]|0;if((e|0)!=-1)if(n)break;else{R=53;break}else{t[r>>2]=0;R=51;break}}else R=51}while(0);if((R|0)==51?n:0)R=53;if((R|0)==53)t[a>>2]=t[a>>2]|2;C=t[i>>2]|0;xh(S);xh(T);c=E;return C|0}else R=26}else R=26}while(0);if((R|0)==26)e=je()|0;xh(S);xh(T);Qe(e|0);return 0}function iw(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0.0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0;C=c;c=c+352|0;g=C+208|0;u=C+40|0;h=C+36|0;I=C+24|0;P=C+12|0;M=C+8|0;T=C+48|0;R=C+4|0;A=C;E=C+337|0;y=C+336|0;c_(I,n,g,u,h);t[P>>2]=0;t[P+4>>2]=0;t[P+8>>2]=0;if(!(f[P>>0]&1))e=10;else e=(t[P>>2]&-2)+-1|0;w=0;Ee(8,P|0,e|0,0);p=w;w=0;e:do{if(!(p&1)){m=P+8|0;v=P+1|0;e=(f[P>>0]&1)==0?v:t[m>>2]|0;t[M>>2]=e;t[R>>2]=T;t[A>>2]=0;f[E>>0]=1;f[y>>0]=69;p=P+4|0;k=t[u>>2]|0;_=t[h>>2]|0;n=t[i>>2]|0;i:while(1){if(n){u=t[n+12>>2]|0;if((u|0)==(t[n+16>>2]|0)){w=0;u=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;b=w;w=0;if(b&1){O=25;break}}else u=t[u>>2]|0;if((u|0)==-1){t[i>>2]=0;n=0;d=1}else d=0}else{n=0;d=1}u=t[r>>2]|0;do{if(u){h=t[u+12>>2]|0;if((h|0)==(t[u+16>>2]|0)){w=0;h=de(t[(t[u>>2]|0)+36>>2]|0,u|0)|0;b=w;w=0;if(b&1){O=25;break i}}else h=t[h>>2]|0;if((h|0)!=-1)if(d)break;else break i;else{t[r>>2]=0;O=17;break}}else O=17}while(0);if((O|0)==17){O=0;if(d){u=0;break}else u=0}h=f[P>>0]|0;h=(h&1)==0?(h&255)>>>1:t[p>>2]|0;if((t[M>>2]|0)==(e+h|0)){w=0;Ee(8,P|0,h<<1|0,0);b=w;w=0;if(b&1){O=25;break}if(!(f[P>>0]&1))e=10;else e=(t[P>>2]&-2)+-1|0;w=0;Ee(8,P|0,e|0,0);b=w;w=0;if(b&1){O=25;break}e=(f[P>>0]&1)==0?v:t[m>>2]|0;t[M>>2]=e+h}d=n+12|0;h=t[d>>2]|0;b=n+16|0;if((h|0)==(t[b>>2]|0)){w=0;h=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;x=w;w=0;if(x&1){O=25;break}}else h=t[h>>2]|0;if(h_(h,E,y,e,M,k,_,I,T,R,A,g)|0)break;u=t[d>>2]|0;if((u|0)==(t[b>>2]|0)){w=0;de(t[(t[n>>2]|0)+40>>2]|0,n|0)|0;x=w;w=0;if(x&1){O=25;break}else continue}else{t[d>>2]=u+4;continue}}if((O|0)==25){e=je()|0;break}x=f[I>>0]|0;if(!((f[E>>0]|0)==0?1:(((x&1)==0?(x&255)>>>1:t[I+4>>2]|0)|0)==0)?(S=t[R>>2]|0,(S-T|0)<160):0){x=t[A>>2]|0;t[R>>2]=S+4;t[S>>2]=x}w=0;l=+ye(1,e|0,t[M>>2]|0,a|0);x=w;w=0;if(!(x&1)){o[s>>2]=l;Go(I,T,t[R>>2]|0,a);if(n){e=t[n+12>>2]|0;if((e|0)==(t[n+16>>2]|0)){w=0;e=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;x=w;w=0;if(x&1){O=26;break}}else e=t[e>>2]|0;if((e|0)==-1){t[i>>2]=0;n=1}else n=0}else n=1;do{if(u){e=t[u+12>>2]|0;if((e|0)==(t[u+16>>2]|0)){w=0;e=de(t[(t[u>>2]|0)+36>>2]|0,u|0)|0;x=w;w=0;if(x&1){O=26;break e}}else e=t[e>>2]|0;if((e|0)!=-1)if(n)break;else{O=53;break}else{t[r>>2]=0;O=51;break}}else O=51}while(0);if((O|0)==51?n:0)O=53;if((O|0)==53)t[a>>2]=t[a>>2]|2;x=t[i>>2]|0;xh(P);xh(I);c=C;return x|0}else O=26}else O=26}while(0);if((O|0)==26)e=je()|0;xh(P);xh(I);Qe(e|0);return 0}function rw(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0.0,o=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0;C=c;c=c+352|0;g=C+208|0;o=C+40|0;h=C+36|0;I=C+24|0;P=C+12|0;M=C+8|0;T=C+48|0;R=C+4|0;A=C;E=C+337|0;y=C+336|0;c_(I,n,g,o,h);t[P>>2]=0;t[P+4>>2]=0;t[P+8>>2]=0;if(!(f[P>>0]&1))e=10;else e=(t[P>>2]&-2)+-1|0;w=0;Ee(8,P|0,e|0,0);p=w;w=0;e:do{if(!(p&1)){m=P+8|0;v=P+1|0;e=(f[P>>0]&1)==0?v:t[m>>2]|0;t[M>>2]=e;t[R>>2]=T;t[A>>2]=0;f[E>>0]=1;f[y>>0]=69;p=P+4|0;k=t[o>>2]|0;_=t[h>>2]|0;n=t[i>>2]|0;i:while(1){if(n){o=t[n+12>>2]|0;if((o|0)==(t[n+16>>2]|0)){w=0;o=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;b=w;w=0;if(b&1){O=25;break}}else o=t[o>>2]|0;if((o|0)==-1){t[i>>2]=0;n=0;d=1}else d=0}else{n=0;d=1}o=t[r>>2]|0;do{if(o){h=t[o+12>>2]|0;if((h|0)==(t[o+16>>2]|0)){w=0;h=de(t[(t[o>>2]|0)+36>>2]|0,o|0)|0;b=w;w=0;if(b&1){O=25;break i}}else h=t[h>>2]|0;if((h|0)!=-1)if(d)break;else break i;else{t[r>>2]=0;O=17;break}}else O=17}while(0);if((O|0)==17){O=0;if(d){o=0;break}else o=0}h=f[P>>0]|0;h=(h&1)==0?(h&255)>>>1:t[p>>2]|0;if((t[M>>2]|0)==(e+h|0)){w=0;Ee(8,P|0,h<<1|0,0);b=w;w=0;if(b&1){O=25;break}if(!(f[P>>0]&1))e=10;else e=(t[P>>2]&-2)+-1|0;w=0;Ee(8,P|0,e|0,0);b=w;w=0;if(b&1){O=25;break}e=(f[P>>0]&1)==0?v:t[m>>2]|0;t[M>>2]=e+h}d=n+12|0;h=t[d>>2]|0;b=n+16|0;if((h|0)==(t[b>>2]|0)){w=0;h=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;x=w;w=0;if(x&1){O=25;break}}else h=t[h>>2]|0;if(h_(h,E,y,e,M,k,_,I,T,R,A,g)|0)break;o=t[d>>2]|0;if((o|0)==(t[b>>2]|0)){w=0;de(t[(t[n>>2]|0)+40>>2]|0,n|0)|0;x=w;w=0;if(x&1){O=25;break}else continue}else{t[d>>2]=o+4;continue}}if((O|0)==25){e=je()|0;break}x=f[I>>0]|0;if(!((f[E>>0]|0)==0?1:(((x&1)==0?(x&255)>>>1:t[I+4>>2]|0)|0)==0)?(S=t[R>>2]|0,(S-T|0)<160):0){x=t[A>>2]|0;t[R>>2]=S+4;t[S>>2]=x}w=0;l=+ye(2,e|0,t[M>>2]|0,a|0);x=w;w=0;if(!(x&1)){u[s>>3]=l;Go(I,T,t[R>>2]|0,a);if(n){e=t[n+12>>2]|0;if((e|0)==(t[n+16>>2]|0)){w=0;e=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;x=w;w=0;if(x&1){O=26;break}}else e=t[e>>2]|0;if((e|0)==-1){t[i>>2]=0;n=1}else n=0}else n=1;do{if(o){e=t[o+12>>2]|0;if((e|0)==(t[o+16>>2]|0)){w=0;e=de(t[(t[o>>2]|0)+36>>2]|0,o|0)|0;x=w;w=0;if(x&1){O=26;break e}}else e=t[e>>2]|0;if((e|0)!=-1)if(n)break;else{O=53;break}else{t[r>>2]=0;O=51;break}}else O=51}while(0);if((O|0)==51?n:0)O=53;if((O|0)==53)t[a>>2]=t[a>>2]|2;x=t[i>>2]|0;xh(P);xh(I);c=C;return x|0}else O=26}else O=26}while(0);if((O|0)==26)e=je()|0;xh(P);xh(I);Qe(e|0);return 0}function fw(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0.0,o=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0;C=c;c=c+352|0;g=C+208|0;o=C+40|0;h=C+36|0;I=C+24|0;P=C+12|0;M=C+8|0;T=C+48|0;R=C+4|0;A=C;E=C+337|0;y=C+336|0;c_(I,n,g,o,h);t[P>>2]=0;t[P+4>>2]=0;t[P+8>>2]=0;if(!(f[P>>0]&1))e=10;else e=(t[P>>2]&-2)+-1|0;w=0;Ee(8,P|0,e|0,0);p=w;w=0;e:do{if(!(p&1)){m=P+8|0;v=P+1|0;e=(f[P>>0]&1)==0?v:t[m>>2]|0;t[M>>2]=e;t[R>>2]=T;t[A>>2]=0;f[E>>0]=1;f[y>>0]=69;p=P+4|0;k=t[o>>2]|0;_=t[h>>2]|0;n=t[i>>2]|0;i:while(1){if(n){o=t[n+12>>2]|0;if((o|0)==(t[n+16>>2]|0)){w=0;o=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;b=w;w=0;if(b&1){O=25;break}}else o=t[o>>2]|0;if((o|0)==-1){t[i>>2]=0;n=0;d=1}else d=0}else{n=0;d=1}o=t[r>>2]|0;do{if(o){h=t[o+12>>2]|0;if((h|0)==(t[o+16>>2]|0)){w=0;h=de(t[(t[o>>2]|0)+36>>2]|0,o|0)|0;b=w;w=0;if(b&1){O=25;break i}}else h=t[h>>2]|0;if((h|0)!=-1)if(d)break;else break i;else{t[r>>2]=0;O=17;break}}else O=17}while(0);if((O|0)==17){O=0;if(d){o=0;break}else o=0}h=f[P>>0]|0;h=(h&1)==0?(h&255)>>>1:t[p>>2]|0;if((t[M>>2]|0)==(e+h|0)){w=0;Ee(8,P|0,h<<1|0,0);b=w;w=0;if(b&1){O=25;break}if(!(f[P>>0]&1))e=10;else e=(t[P>>2]&-2)+-1|0;w=0;Ee(8,P|0,e|0,0);b=w;w=0;if(b&1){O=25;break}e=(f[P>>0]&1)==0?v:t[m>>2]|0;t[M>>2]=e+h}d=n+12|0;h=t[d>>2]|0;b=n+16|0;if((h|0)==(t[b>>2]|0)){w=0;h=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;x=w;w=0;if(x&1){O=25;break}}else h=t[h>>2]|0;if(h_(h,E,y,e,M,k,_,I,T,R,A,g)|0)break;o=t[d>>2]|0;if((o|0)==(t[b>>2]|0)){w=0;de(t[(t[n>>2]|0)+40>>2]|0,n|0)|0;x=w;w=0;if(x&1){O=25;break}else continue}else{t[d>>2]=o+4;continue}}if((O|0)==25){e=je()|0;break}x=f[I>>0]|0;if(!((f[E>>0]|0)==0?1:(((x&1)==0?(x&255)>>>1:t[I+4>>2]|0)|0)==0)?(S=t[R>>2]|0,(S-T|0)<160):0){x=t[A>>2]|0;t[R>>2]=S+4;t[S>>2]=x}w=0;l=+ye(3,e|0,t[M>>2]|0,a|0);x=w;w=0;if(!(x&1)){u[s>>3]=l;Go(I,T,t[R>>2]|0,a);if(n){e=t[n+12>>2]|0;if((e|0)==(t[n+16>>2]|0)){w=0;e=de(t[(t[n>>2]|0)+36>>2]|0,n|0)|0;x=w;w=0;if(x&1){O=26;break}}else e=t[e>>2]|0;if((e|0)==-1){t[i>>2]=0;n=1}else n=0}else n=1;do{if(o){e=t[o+12>>2]|0;if((e|0)==(t[o+16>>2]|0)){w=0;e=de(t[(t[o>>2]|0)+36>>2]|0,o|0)|0;x=w;w=0;if(x&1){O=26;break e}}else e=t[e>>2]|0;if((e|0)!=-1)if(n)break;else{O=53;break}else{t[r>>2]=0;O=51;break}}else O=51}while(0);if((O|0)==51?n:0)O=53;if((O|0)==53)t[a>>2]=t[a>>2]|2;x=t[i>>2]|0;xh(P);xh(I);c=C;return x|0}else O=26}else O=26}while(0);if((O|0)==26)e=je()|0;xh(P);xh(I);Qe(e|0);return 0}function nw(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0;a=c;c=c+16|0;s=a;t[s>>2]=n;n=Kg(r)|0;r=Dy(e,i,f,s)|0;if((n|0)!=0?(w=0,de(75,n|0)|0,s=w,w=0,s&1):0){s=je(0)|0;Ni(s)}c=a;return r|0}function tw(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0;n=c;c=c+16|0;a=n;t[a>>2]=f;f=Kg(i)|0;w=0;i=_e(37,e|0,r|0,a|0)|0;e=w;w=0;if(e&1){i=je()|0;if((f|0)!=0?(w=0,de(75,f|0)|0,a=w,w=0,a&1):0){a=je(0)|0;Ni(a)}Qe(i|0)}else{if((f|0)!=0?(w=0,de(75,f|0)|0,a=w,w=0,a&1):0){a=je(0)|0;Ni(a)}c=n;return i|0}return 0}function aw(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0;b=c;c=c+16|0;d=b;l=t[e>>2]|0;e:do{if(!l)l=0;else{_=i;u=n-_>>2;h=a+12|0;o=t[h>>2]|0;u=(o|0)>(u|0)?o-u|0:0;o=r;_=o-_|0;a=_>>2;if((_|0)>0?(uM[t[(t[l>>2]|0)+48>>2]&63](l,i,a)|0)!=(a|0):0){t[e>>2]=0;l=0;break}do{if((u|0)>0){Vh(d,u,s);w=0;a=_e(t[(t[l>>2]|0)+48>>2]|0,l|0,((f[d>>0]&1)==0?d+4|0:t[d+8>>2]|0)|0,u|0)|0;_=w;w=0;if(_&1){_=je()|0;Xh(d);Qe(_|0)}if((a|0)==(u|0)){Xh(d);break}else{t[e>>2]=0;Xh(d);l=0;break e}}}while(0);_=n-o|0;n=_>>2;if((_|0)>0?(uM[t[(t[l>>2]|0)+48>>2]&63](l,r,n)|0)!=(n|0):0){t[e>>2]=0;l=0;break}t[h>>2]=0}}while(0);c=b;return l|0}function sw(e,i,r,f,s){e=e|0;i=i|0;r=r|0;f=f|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0;l=t[e>>2]|0;do{if(l){if((t[l+12>>2]|0)==(t[l+16>>2]|0))if((lM[t[(t[l>>2]|0)+36>>2]&127](l)|0)==-1){t[e>>2]=0;l=0;break}else{l=t[e>>2]|0;break}}else l=0}while(0);o=(l|0)==0;l=t[i>>2]|0;do{if(l){if((t[l+12>>2]|0)==(t[l+16>>2]|0)?(lM[t[(t[l>>2]|0)+36>>2]&127](l)|0)==-1:0){t[i>>2]=0;w=11;break}if(o)w=13;else w=12}else w=11}while(0);if((w|0)==11)if(o)w=12;else{l=0;w=13}e:do{if((w|0)==12){t[r>>2]=t[r>>2]|6;l=0}else if((w|0)==13){o=t[e>>2]|0;u=t[o+12>>2]|0;if((u|0)==(t[o+16>>2]|0))o=lM[t[(t[o>>2]|0)+36>>2]&127](o)|0;else o=a[u>>0]|0;u=o&255;if(u<<24>>24>-1?(k=f+8|0,(n[(t[k>>2]|0)+(o<<24>>24<<1)>>1]&2048)!=0):0){h=(uM[t[(t[f>>2]|0)+36>>2]&63](f,u,0)|0)<<24>>24;o=t[e>>2]|0;u=o+12|0;c=t[u>>2]|0;if((c|0)==(t[o+16>>2]|0)){lM[t[(t[o>>2]|0)+40>>2]&127](o)|0;b=s;d=l;s=l;l=h}else{t[u>>2]=c+1;b=s;d=l;s=l;l=h}while(1){l=l+-48|0;_=b+-1|0;o=t[e>>2]|0;do{if(o){if((t[o+12>>2]|0)==(t[o+16>>2]|0))if((lM[t[(t[o>>2]|0)+36>>2]&127](o)|0)==-1){t[e>>2]=0;o=0;break}else{o=t[e>>2]|0;break}}else o=0}while(0);c=(o|0)==0;if(s)if((t[s+12>>2]|0)==(t[s+16>>2]|0))if((lM[t[(t[s>>2]|0)+36>>2]&127](s)|0)==-1){t[i>>2]=0;u=0;s=0}else{u=d;s=d}else u=d;else{u=d;s=0}o=t[e>>2]|0;if(!((b|0)>1&(c^(s|0)==0)))break;c=t[o+12>>2]|0;if((c|0)==(t[o+16>>2]|0))o=lM[t[(t[o>>2]|0)+36>>2]&127](o)|0;else o=a[c>>0]|0;c=o&255;if(c<<24>>24<=-1)break e;if(!(n[(t[k>>2]|0)+(o<<24>>24<<1)>>1]&2048))break e;l=((uM[t[(t[f>>2]|0)+36>>2]&63](f,c,0)|0)<<24>>24)+(l*10|0)|0;o=t[e>>2]|0;c=o+12|0;h=t[c>>2]|0;if((h|0)==(t[o+16>>2]|0)){lM[t[(t[o>>2]|0)+40>>2]&127](o)|0;b=_;d=u;continue}else{t[c>>2]=h+1;b=_;d=u;continue}}do{if(o){if((t[o+12>>2]|0)==(t[o+16>>2]|0))if((lM[t[(t[o>>2]|0)+36>>2]&127](o)|0)==-1){t[e>>2]=0;o=0;break}else{o=t[e>>2]|0;break}}else o=0}while(0);o=(o|0)==0;do{if(u){if((t[u+12>>2]|0)==(t[u+16>>2]|0)?(lM[t[(t[u>>2]|0)+36>>2]&127](u)|0)==-1:0){t[i>>2]=0;w=50;break}if(o)break e}else w=50}while(0);if((w|0)==50?!o:0)break;t[r>>2]=t[r>>2]|2;break}t[r>>2]=t[r>>2]|4;l=0}}while(0);return l|0}function lw(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;a=t[e>>2]|0;do{if(a){s=t[a+12>>2]|0;if((s|0)==(t[a+16>>2]|0))a=lM[t[(t[a>>2]|0)+36>>2]&127](a)|0;else a=t[s>>2]|0;if((a|0)==-1){t[e>>2]=0;l=1;break}else{l=(t[e>>2]|0)==0;break}}else l=1}while(0);s=t[i>>2]|0;do{if(s){a=t[s+12>>2]|0;if((a|0)==(t[s+16>>2]|0))a=lM[t[(t[s>>2]|0)+36>>2]&127](s)|0;else a=t[a>>2]|0;if((a|0)!=-1)if(l){b=17;break}else{b=16;break}else{t[i>>2]=0;b=14;break}}else b=14}while(0);if((b|0)==14)if(l)b=16;else{s=0;b=17}e:do{if((b|0)==16){t[r>>2]=t[r>>2]|6;a=0}else if((b|0)==17){a=t[e>>2]|0;l=t[a+12>>2]|0;if((l|0)==(t[a+16>>2]|0))a=lM[t[(t[a>>2]|0)+36>>2]&127](a)|0;else a=t[l>>2]|0;if(!(uM[t[(t[f>>2]|0)+12>>2]&63](f,2048,a)|0)){t[r>>2]=t[r>>2]|4;a=0;break}a=(uM[t[(t[f>>2]|0)+52>>2]&63](f,a,0)|0)<<24>>24;l=t[e>>2]|0;o=l+12|0;u=t[o>>2]|0;if((u|0)==(t[l+16>>2]|0)){lM[t[(t[l>>2]|0)+40>>2]&127](l)|0;h=n;c=s;o=s}else{t[o>>2]=u+4;h=n;c=s;o=s}while(1){a=a+-48|0;d=h+-1|0;s=t[e>>2]|0;do{if(s){l=t[s+12>>2]|0;if((l|0)==(t[s+16>>2]|0))s=lM[t[(t[s>>2]|0)+36>>2]&127](s)|0;else s=t[l>>2]|0;if((s|0)==-1){t[e>>2]=0;u=1;break}else{u=(t[e>>2]|0)==0;break}}else u=1}while(0);do{if(o){s=t[o+12>>2]|0;if((s|0)==(t[o+16>>2]|0))s=lM[t[(t[o>>2]|0)+36>>2]&127](o)|0;else s=t[s>>2]|0;if((s|0)==-1){t[i>>2]=0;o=0;n=0;s=1;break}else{o=c;n=c;s=(c|0)==0;break}}else{o=c;n=0;s=1}}while(0);l=t[e>>2]|0;if(!((h|0)>1&(u^s)))break;s=t[l+12>>2]|0;if((s|0)==(t[l+16>>2]|0))s=lM[t[(t[l>>2]|0)+36>>2]&127](l)|0;else s=t[s>>2]|0;if(!(uM[t[(t[f>>2]|0)+12>>2]&63](f,2048,s)|0))break e;a=((uM[t[(t[f>>2]|0)+52>>2]&63](f,s,0)|0)<<24>>24)+(a*10|0)|0;s=t[e>>2]|0;l=s+12|0;u=t[l>>2]|0;if((u|0)==(t[s+16>>2]|0)){lM[t[(t[s>>2]|0)+40>>2]&127](s)|0;h=d;c=o;o=n;continue}else{t[l>>2]=u+4;h=d;c=o;o=n;continue}}do{if(l){s=t[l+12>>2]|0;if((s|0)==(t[l+16>>2]|0))s=lM[t[(t[l>>2]|0)+36>>2]&127](l)|0;else s=t[s>>2]|0;if((s|0)==-1){t[e>>2]=0;l=1;break}else{l=(t[e>>2]|0)==0;break}}else l=1}while(0);do{if(o){s=t[o+12>>2]|0;if((s|0)==(t[o+16>>2]|0))s=lM[t[(t[o>>2]|0)+36>>2]&127](o)|0;else s=t[s>>2]|0;if((s|0)!=-1)if(l)break e;else break;else{t[i>>2]=0;b=60;break}}else b=60}while(0);if((b|0)==60?!l:0)break;t[r>>2]=t[r>>2]|2}}while(0);return a|0}function ow(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0;a=e+4|0;f=(t[a>>2]|0)!=189;l=t[e>>2]|0;s=l;n=(t[r>>2]|0)-s|0;n=n>>>0<2147483647?n<<1:-1;s=(t[i>>2]|0)-s|0;l=xc(f?l:0,n)|0;if(!l)Mg();do{if(!f){f=t[e>>2]|0;t[e>>2]=l;if(f){w=0;ue(t[a>>2]|0,f|0);l=w;w=0;if(l&1){l=je(0)|0;Ni(l)}else{o=t[e>>2]|0;break}}else o=l}else{t[e>>2]=l;o=l}}while(0);t[a>>2]=201;t[i>>2]=o+s;t[r>>2]=(t[e>>2]|0)+n;return}function uw(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0;a=e+4|0;f=(t[a>>2]|0)!=189;l=t[e>>2]|0;s=l;n=(t[r>>2]|0)-s|0;n=n>>>0<2147483647?n<<1:-1;s=(t[i>>2]|0)-s>>2;l=xc(f?l:0,n)|0;if(!l)Mg();do{if(!f){f=t[e>>2]|0;t[e>>2]=l;if(f){w=0;ue(t[a>>2]|0,f|0);l=w;w=0;if(l&1){l=je(0)|0;Ni(l)}else{o=t[e>>2]|0;break}}else o=l}else{t[e>>2]=l;o=l}}while(0);t[a>>2]=201;t[i>>2]=o+(s<<2);t[r>>2]=(t[e>>2]|0)+(n>>>2<<2);return}function cw(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0;s=i;n=f[e>>0]|0;if(!(n&1)){a=10;u=(n&255)>>>1}else{n=t[e>>2]|0;a=(n&-2)+-1|0;u=t[e+4>>2]|0;n=n&255}o=r-s|0;do{if((r|0)!=(i|0)){if((a-u|0)>>>0>>0){qh(e,a,u+o-a|0,u,u,0,0);n=f[e>>0]|0}if(!(n&1))l=e+1|0;else l=t[e+8>>2]|0;s=r+(u-s)|0;if((i|0)!=(r|0)){n=i;a=l+u|0;while(1){f[a>>0]=f[n>>0]|0;n=n+1|0;if((n|0)==(r|0))break;else a=a+1|0}}f[l+s>>0]=0;n=u+o|0;if(!(f[e>>0]&1)){f[e>>0]=n<<1;break}else{t[e+4>>2]=n;break}}}while(0);return e|0}function hw(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0;a=e+4|0;f=(t[a>>2]|0)!=189;l=t[e>>2]|0;s=l;n=(t[r>>2]|0)-s|0;n=n>>>0<2147483647?n<<1:-1;s=(t[i>>2]|0)-s>>2;l=xc(f?l:0,n)|0;if(!l)Mg();do{if(!f){f=t[e>>2]|0;t[e>>2]=l;if(f){w=0;ue(t[a>>2]|0,f|0);l=w;w=0;if(l&1){l=je(0)|0;Ni(l)}else{o=t[e>>2]|0;break}}else o=l}else{t[e>>2]=l;o=l}}while(0);t[a>>2]=201;t[i>>2]=o+(s<<2);t[r>>2]=(t[e>>2]|0)+(n>>>2<<2);return}function dw(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0;s=i;n=f[e>>0]|0;if(!(n&1)){a=1;u=(n&255)>>>1}else{n=t[e>>2]|0;a=(n&-2)+-1|0;u=t[e+4>>2]|0;n=n&255}o=r-s>>2;do{if(o){if((a-u|0)>>>0>>0){Qh(e,a,u+o-a|0,u,u,0,0);n=f[e>>0]|0}if(!(n&1))l=e+4|0;else l=t[e+8>>2]|0;s=u+((r-s|0)>>>2)|0;if((i|0)!=(r|0)){n=i;a=l+(u<<2)|0;while(1){t[a>>2]=t[n>>2];n=n+4|0;if((n|0)==(r|0))break;else a=a+4|0}}t[l+(s<<2)>>2]=0;n=u+o|0;if(!(f[e>>0]&1)){f[e>>0]=n<<1;break}else{t[e+4>>2]=n;break}}}while(0);return e|0}function bw(e,i){e=e|0;i=i|0;var r=0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;f[e+128>>0]=0;do{if(i){w=0;ce(125,e|0,i|0);r=w;w=0;if(r&1){r=je()|0;Yw(e);Qe(r|0)}else{am(e,i);break}}}while(0);return}function _w(e,i){e=e|0;i=i|0;Eu(e,i,Bu(43148)|0);return}function kw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(43188)|0);return}function ww(e,i){e=e|0;i=i|0;Eu(e,i,Bu(44220)|0);return}function mw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(44212)|0);return}function vw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(44280)|0);return}function pw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(44288)|0);return}function gw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(44344)|0);return}function yw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(44352)|0);return}function Mw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(44360)|0);return}function Aw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(44368)|0);return}function Ew(e,i){e=e|0;i=i|0;Eu(e,i,Bu(43260)|0);return}function Sw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(43332)|0);return}function Tw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(43392)|0);return}function Rw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(43452)|0);return}function Cw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(43764)|0);return}function Pw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(43828)|0);return}function Iw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(43892)|0);return}function Ow(e,i){e=e|0;i=i|0;Eu(e,i,Bu(43956)|0);return}function xw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(43992)|0);return}function Lw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(44028)|0);return}function Bw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(44064)|0);return}function zw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(44100)|0);return}function Dw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(43544)|0);return}function Nw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(43636)|0);return}function Fw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(43668)|0);return}function Hw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(43700)|0);return}function Uw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(44140)|0);return}function jw(e,i){e=e|0;i=i|0;Eu(e,i,Bu(44180)|0);return}function Yw(e){e=e|0;var i=0,r=0,n=0;r=t[e>>2]|0;do{if(r){n=e+4|0;i=t[n>>2]|0;if((i|0)!=(r|0)){do{i=i+-4|0}while((i|0)!=(r|0));t[n>>2]=i}if((e+16|0)==(r|0)){f[e+128>>0]=0;break}else{Bp(r);break}}}while(0);return}function qw(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0,s=0;s=e+4|0;r=t[s>>2]|0;f=t[e>>2]|0;n=r-f>>2;if(n>>>0>=i>>>0){if(n>>>0>i>>>0?(a=f+(i<<2)|0,(r|0)!=(a|0)):0){do{r=r+-4|0}while((r|0)!=(a|0));t[s>>2]=r}}else tm(e,i-n|0);return}function $w(e,i){e=e|0;i=i|0;var r=0;r=t[e+8>>2]|0;if((t[e+12>>2]|0)-r>>2>>>0>i>>>0)r=(t[r+(i<<2)>>2]|0)!=0;else r=0;return r|0}function Vw(e){e=e|0;var i=0,r=0;r=e+4|0;i=t[r>>2]|0;r=t[r+4>>2]|0;e=(t[e>>2]|0)+(r>>1)|0;if(r&1)i=t[(t[e>>2]|0)+i>>2]|0;tM[i&255](e);return}function Xw(e,i,r,a,l,o,u,c){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;o=o|0;u=u|0;c=c|0;var h=0,d=0;t[r>>2]=e;t[o>>2]=a;if(c&2)if((l-a|0)<3)e=1;else{t[o>>2]=a+1;f[a>>0]=-17;h=t[o>>2]|0;t[o>>2]=h+1;f[h>>0]=-69;h=t[o>>2]|0;t[o>>2]=h+1;f[h>>0]=-65;h=4}else h=4;e:do{if((h|0)==4){d=i;e=t[r>>2]|0;if(e>>>0>>0)while(1){c=n[e>>1]|0;h=c&65535;if(h>>>0>u>>>0){e=2;break e}do{if((c&65535)<128){e=t[o>>2]|0;if((l-e|0)<1){e=1;break e}t[o>>2]=e+1;f[e>>0]=c}else{if((c&65535)<2048){e=t[o>>2]|0;if((l-e|0)<2){e=1;break e}t[o>>2]=e+1;f[e>>0]=h>>>6|192;a=t[o>>2]|0;t[o>>2]=a+1;f[a>>0]=h&63|128;break}if((c&65535)<55296){e=t[o>>2]|0;if((l-e|0)<3){e=1;break e}t[o>>2]=e+1;f[e>>0]=h>>>12|224;a=t[o>>2]|0;t[o>>2]=a+1;f[a>>0]=h>>>6&63|128;a=t[o>>2]|0;t[o>>2]=a+1;f[a>>0]=h&63|128;break}if((c&65535)>=56320){if((c&65535)<57344){e=2;break e}e=t[o>>2]|0;if((l-e|0)<3){e=1;break e}t[o>>2]=e+1;f[e>>0]=h>>>12|224;a=t[o>>2]|0;t[o>>2]=a+1;f[a>>0]=h>>>6&63|128;a=t[o>>2]|0;t[o>>2]=a+1;f[a>>0]=h&63|128;break}if((d-e|0)<4){e=1;break e}e=e+2|0;c=s[e>>1]|0;if((c&64512|0)!=56320){e=2;break e}if((l-(t[o>>2]|0)|0)<4){e=1;break e}a=h&960;if(((a<<10)+65536|h<<10&64512|c&1023)>>>0>u>>>0){e=2;break e}t[r>>2]=e;e=(a>>>6)+1|0;a=t[o>>2]|0;t[o>>2]=a+1;f[a>>0]=e>>>2|240;a=t[o>>2]|0;t[o>>2]=a+1;f[a>>0]=h>>>2&15|e<<4&48|128;a=t[o>>2]|0;t[o>>2]=a+1;f[a>>0]=h<<4&48|c>>>6&15|128;h=t[o>>2]|0;t[o>>2]=h+1;f[h>>0]=c&63|128}}while(0);e=(t[r>>2]|0)+2|0;t[r>>2]=e;if(e>>>0>=i>>>0){e=0;break}}else e=0}}while(0);return e|0}function Gw(e,i,r,s,l,o,u,c){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;var h=0,d=0,b=0,_=0,k=0,w=0;t[r>>2]=e;t[o>>2]=s;if(c&4){e=t[r>>2]|0;c=i;if((((c-e|0)>2?(f[e>>0]|0)==-17:0)?(f[e+1>>0]|0)==-69:0)?(f[e+2>>0]|0)==-65:0){t[r>>2]=e+3;h=t[o>>2]|0}else h=s}else{h=s;c=i}k=l;s=t[r>>2]|0;e=s>>>0>>0;e:do{if(e&h>>>0>>0)while(1){e=f[s>>0]|0;b=e&255;if(b>>>0>u>>>0){e=2;break e}do{if(e<<24>>24>-1){n[h>>1]=e&255;t[r>>2]=s+1}else{if((e&255)<194){e=2;break e}if((e&255)<224){if((c-s|0)<2){e=1;break e}e=a[s+1>>0]|0;if((e&192|0)!=128){e=2;break e}e=e&63|b<<6&1984;if(e>>>0>u>>>0){e=2;break e}n[h>>1]=e;t[r>>2]=s+2;break}if((e&255)<240){if((c-s|0)<3){e=1;break e}d=f[s+1>>0]|0;e=f[s+2>>0]|0;switch(b|0){case 224:{if((d&-32)<<24>>24!=-96){e=2;break e}break}case 237:{if((d&-32)<<24>>24!=-128){e=2;break e}break}default:if((d&-64)<<24>>24!=-128){e=2;break e}}e=e&255;if((e&192|0)!=128){e=2;break e}e=(d&255)<<6&4032|b<<12|e&63;if((e&65535)>>>0>u>>>0){e=2;break e}n[h>>1]=e;t[r>>2]=s+3;break}if((e&255)>=245){e=2;break e}if((c-s|0)<4){e=1;break e}d=f[s+1>>0]|0;e=f[s+2>>0]|0;s=f[s+3>>0]|0;switch(b|0){case 240:{if((d+112&255)>=48){e=2;break e}break}case 244:{if((d&-16)<<24>>24!=-128){e=2;break e}break}default:if((d&-64)<<24>>24!=-128){e=2;break e}}_=e&255;if((_&192|0)!=128){e=2;break e}e=s&255;if((e&192|0)!=128){e=2;break e}if((k-h|0)<4){e=1;break e}b=b&7;s=d&255;d=_<<6;e=e&63;if((s<<12&258048|b<<18|d&4032|e)>>>0>u>>>0){e=2;break e}n[h>>1]=s<<2&60|_>>>4&3|((s>>>4&3|b<<2)<<6)+16320|55296;_=h+2|0;t[o>>2]=_;n[_>>1]=e|d&960|56320;t[r>>2]=(t[r>>2]|0)+4}}while(0);h=(t[o>>2]|0)+2|0;t[o>>2]=h;s=t[r>>2]|0;e=s>>>0>>0;if(!(e&h>>>0>>0)){w=39;break}}else w=39}while(0);if((w|0)==39)e=e&1;return e|0}function Kw(e,i,r,n,t){e=e|0;i=i|0;r=r|0;n=n|0;t=t|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i;if((((t&4|0)!=0?(d-e|0)>2:0)?(f[e>>0]|0)==-17:0)?(f[e+1>>0]|0)==-69:0)t=(f[e+2>>0]|0)==-65?e+3|0:e;else t=e;e:do{if((r|0)!=0&t>>>0>>0){h=t;s=0;i:while(1){t=f[h>>0]|0;c=t&255;if(c>>>0>n>>>0){t=h;s=42;break e}do{if(t<<24>>24>-1)t=h+1|0;else{if((t&255)<194){t=h;s=42;break e}if((t&255)<224){if((d-h|0)<2){t=h;s=42;break e}t=a[h+1>>0]|0;if((t&192|0)!=128){t=h;s=42;break e}if((t&63|c<<6&1984)>>>0>n>>>0){t=h;s=42;break e}t=h+2|0;break}if((t&255)<240){t=h;if((d-t|0)<3){t=h;s=42;break e}o=f[h+1>>0]|0;l=f[h+2>>0]|0;switch(c|0){case 224:{if((o&-32)<<24>>24!=-96){s=20;break i}break}case 237:{if((o&-32)<<24>>24!=-128){s=22;break i}break}default:if((o&-64)<<24>>24!=-128){s=24;break i}}t=l&255;if((t&192|0)!=128){t=h;s=42;break e}if(((o&255)<<6&4032|c<<12&61440|t&63)>>>0>n>>>0){t=h;s=42;break e}t=h+3|0;break}if((t&255)>=245){t=h;s=42;break e}t=h;if((r-s|0)>>>0<2|(d-t|0)<4){t=h;s=42;break e}u=f[h+1>>0]|0;l=f[h+2>>0]|0;o=f[h+3>>0]|0;switch(c|0){case 240:{if((u+112&255)>=48){s=32;break i}break}case 244:{if((u&-16)<<24>>24!=-128){s=34;break i}break}default:if((u&-64)<<24>>24!=-128){s=36;break i}}l=l&255;if((l&192|0)!=128){t=h;s=42;break e}t=o&255;if((t&192|0)!=128){t=h;s=42;break e}if(((u&255)<<12&258048|c<<18&1835008|l<<6&4032|t&63)>>>0>n>>>0){t=h;s=42;break e}t=h+4|0;s=s+1|0}}while(0);s=s+1|0;if(!(s>>>0>>0&t>>>0>>0)){s=42;break e}else h=t}if((s|0)==20){t=t-e|0;break}else if((s|0)==22){t=t-e|0;break}else if((s|0)==24){t=t-e|0;break}else if((s|0)==32){t=t-e|0;break}else if((s|0)==34){t=t-e|0;break}else if((s|0)==36){t=t-e|0;break}}else s=42}while(0);if((s|0)==42)t=t-e|0;return t|0}function Ww(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,c=0;t[r>>2]=e;t[s>>2]=n;c=a;if(o&2)if((c-n|0)<3)e=1;else{t[s>>2]=n+1;f[n>>0]=-17;u=t[s>>2]|0;t[s>>2]=u+1;f[u>>0]=-69;u=t[s>>2]|0;t[s>>2]=u+1;f[u>>0]=-65;u=4}else u=4;e:do{if((u|0)==4){e=t[r>>2]|0;if(e>>>0>>0)while(1){o=t[e>>2]|0;if(o>>>0>l>>>0|(o&-2048|0)==55296){e=2;break e}do{if(o>>>0>=128){if(o>>>0<2048){e=t[s>>2]|0;if((c-e|0)<2){e=1;break e}t[s>>2]=e+1;f[e>>0]=o>>>6|192;u=t[s>>2]|0;t[s>>2]=u+1;f[u>>0]=o&63|128;break}e=t[s>>2]|0;a=c-e|0;if(o>>>0<65536){if((a|0)<3){e=1;break e}t[s>>2]=e+1;f[e>>0]=o>>>12|224;u=t[s>>2]|0;t[s>>2]=u+1;f[u>>0]=o>>>6&63|128;u=t[s>>2]|0;t[s>>2]=u+1;f[u>>0]=o&63|128;break}else{if((a|0)<4){e=1;break e}t[s>>2]=e+1;f[e>>0]=o>>>18|240;u=t[s>>2]|0;t[s>>2]=u+1;f[u>>0]=o>>>12&63|128;u=t[s>>2]|0;t[s>>2]=u+1;f[u>>0]=o>>>6&63|128;u=t[s>>2]|0;t[s>>2]=u+1;f[u>>0]=o&63|128;break}}else{e=t[s>>2]|0;if((c-e|0)<1){e=1;break e}t[s>>2]=e+1;f[e>>0]=o}}while(0);e=(t[r>>2]|0)+4|0;t[r>>2]=e;if(e>>>0>=i>>>0){e=0;break}}else e=0}}while(0);return e|0}function Zw(e,i,r,n,s,l,o,u){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;o=o|0;u=u|0;var c=0,h=0,d=0,b=0,_=0,k=0;t[r>>2]=e;t[l>>2]=n;if(u&4){e=t[r>>2]|0;u=i;if((((u-e|0)>2?(f[e>>0]|0)==-17:0)?(f[e+1>>0]|0)==-69:0)?(f[e+2>>0]|0)==-65:0){t[r>>2]=e+3;n=t[l>>2]|0;_=u}else _=u}else _=i;u=t[r>>2]|0;e=u>>>0>>0;e:do{if(e&n>>>0>>0)while(1){e=f[u>>0]|0;b=e&255;do{if(e<<24>>24>-1){if(b>>>0>o>>>0){e=2;break e}t[n>>2]=b;t[r>>2]=u+1}else{if((e&255)<194){e=2;break e}if((e&255)<224){if((_-u|0)<2){e=1;break e}e=a[u+1>>0]|0;if((e&192|0)!=128){e=2;break e}e=e&63|b<<6&1984;if(e>>>0>o>>>0){e=2;break e}t[n>>2]=e;t[r>>2]=u+2;break}if((e&255)<240){if((_-u|0)<3){e=1;break e}c=f[u+1>>0]|0;e=f[u+2>>0]|0;switch(b|0){case 224:{if((c&-32)<<24>>24!=-96){e=2;break e}break}case 237:{if((c&-32)<<24>>24!=-128){e=2;break e}break}default:if((c&-64)<<24>>24!=-128){e=2;break e}}e=e&255;if((e&192|0)!=128){e=2;break e}e=(c&255)<<6&4032|b<<12&61440|e&63;if(e>>>0>o>>>0){e=2;break e}t[n>>2]=e;t[r>>2]=u+3;break}if((e&255)>=245){e=2;break e}if((_-u|0)<4){e=1;break e}d=f[u+1>>0]|0;e=f[u+2>>0]|0;c=f[u+3>>0]|0;switch(b|0){case 240:{if((d+112&255)>=48){e=2;break e}break}case 244:{if((d&-16)<<24>>24!=-128){e=2;break e}break}default:if((d&-64)<<24>>24!=-128){e=2;break e}}h=e&255;if((h&192|0)!=128){e=2;break e}e=c&255;if((e&192|0)!=128){e=2;break e}e=(d&255)<<12&258048|b<<18&1835008|h<<6&4032|e&63;if(e>>>0>o>>>0){e=2;break e}t[n>>2]=e;t[r>>2]=u+4}}while(0);n=(t[l>>2]|0)+4|0;t[l>>2]=n;u=t[r>>2]|0;e=u>>>0>>0;if(!(e&n>>>0>>0)){k=38;break}}else k=38}while(0);if((k|0)==38)e=e&1;return e|0}function Jw(e,i,r,n,t){e=e|0;i=i|0;r=r|0;n=n|0;t=t|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0;d=i;if((((t&4|0)!=0?(d-e|0)>2:0)?(f[e>>0]|0)==-17:0)?(f[e+1>>0]|0)==-69:0)t=(f[e+2>>0]|0)==-65?e+3|0:e;else t=e;e:do{if((r|0)!=0&t>>>0>>0){c=t;h=0;i:while(1){t=f[c>>0]|0;u=t&255;do{if(t<<24>>24>-1){if(u>>>0>n>>>0){t=c;s=42;break e}t=c+1|0}else{if((t&255)<194){t=c;s=42;break e}if((t&255)<224){if((d-c|0)<2){t=c;s=42;break e}t=a[c+1>>0]|0;if((t&192|0)!=128){t=c;s=42;break e}if((t&63|u<<6&1984)>>>0>n>>>0){t=c;s=42;break e}t=c+2|0;break}if((t&255)<240){t=c;if((d-t|0)<3){t=c;s=42;break e}l=f[c+1>>0]|0;s=f[c+2>>0]|0;switch(u|0){case 224:{if((l&-32)<<24>>24!=-96){s=20;break i}break}case 237:{if((l&-32)<<24>>24!=-128){s=22;break i}break}default:if((l&-64)<<24>>24!=-128){s=24;break i}}t=s&255;if((t&192|0)!=128){t=c;s=42;break e}if(((l&255)<<6&4032|u<<12&61440|t&63)>>>0>n>>>0){t=c;s=42;break e}t=c+3|0;break}if((t&255)>=245){t=c;s=42;break e}t=c;if((d-t|0)<4){t=c;s=42;break e}o=f[c+1>>0]|0;s=f[c+2>>0]|0;l=f[c+3>>0]|0;switch(u|0){case 240:{if((o+112&255)>=48){s=32;break i}break}case 244:{if((o&-16)<<24>>24!=-128){s=34;break i}break}default:if((o&-64)<<24>>24!=-128){s=36;break i}}s=s&255;if((s&192|0)!=128){t=c;s=42;break e}t=l&255;if((t&192|0)!=128){t=c;s=42;break e}if(((o&255)<<12&258048|u<<18&1835008|s<<6&4032|t&63)>>>0>n>>>0){t=c;s=42;break e}t=c+4|0}}while(0);h=h+1|0;if(!(h>>>0>>0&t>>>0>>0)){s=42;break e}else c=t}if((s|0)==20){t=t-e|0;break}else if((s|0)==22){t=t-e|0;break}else if((s|0)==24){t=t-e|0;break}else if((s|0)==32){t=t-e|0;break}else if((s|0)==34){t=t-e|0;break}else if((s|0)==36){t=t-e|0;break}}else s=42}while(0);if((s|0)==42)t=t-e|0;return t|0}function Qw(e){e=e|0;xh(45196);xh(45184);xh(45172);xh(45160);xh(45148);xh(45136);xh(45124);xh(45112);xh(45100);xh(45088);xh(45076);xh(45064);xh(45052);xh(45040);return}function em(e){e=e|0;Xh(45368);Xh(45356);Xh(45344);Xh(45332);Xh(45320);Xh(45308);Xh(45296);Xh(45284);Xh(45272);Xh(45260);Xh(45248);Xh(45236);Xh(45224);Xh(45212);return}function im(e){e=e|0;xh(46e3);xh(45988);xh(45976);xh(45964);xh(45952);xh(45940);xh(45928);xh(45916);xh(45904);xh(45892);xh(45880);xh(45868);xh(45856);xh(45844);xh(45832);xh(45820);xh(45808);xh(45796);xh(45784);xh(45772);xh(45760);xh(45748);xh(45736);xh(45724);return}function rm(e){e=e|0;Xh(46292);Xh(46280);Xh(46268);Xh(46256);Xh(46244);Xh(46232);Xh(46220);Xh(46208);Xh(46196);Xh(46184);Xh(46172);Xh(46160);Xh(46148);Xh(46136);Xh(46124);Xh(46112);Xh(46100);Xh(46088);Xh(46076);Xh(46064);Xh(46052);Xh(46040);Xh(46028);Xh(46016);return}function fm(e){e=e|0;xh(47104);xh(47092);xh(47080);xh(47068);xh(47056);xh(47044);xh(47032);xh(47020);xh(47008);xh(46996);xh(46984);xh(46972);xh(46960);xh(46948);xh(46936);xh(46924);xh(46912);xh(46900);xh(46888);xh(46876);xh(46864);xh(46852);xh(46840);xh(46828);return}function nm(e){e=e|0;Xh(47396);Xh(47384);Xh(47372);Xh(47360);Xh(47348);Xh(47336);Xh(47324);Xh(47312);Xh(47300);Xh(47288);Xh(47276);Xh(47264);Xh(47252);Xh(47240);Xh(47228);Xh(47216);Xh(47204);Xh(47192);Xh(47180);Xh(47168);Xh(47156);Xh(47144);Xh(47132);Xh(47120);return}function tm(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0,s=0,l=0,o=0;o=c;c=c+32|0;l=o;a=t[e+8>>2]|0;r=t[e+4>>2]|0;if(a-r>>2>>>0>>0){f=t[e>>2]|0;s=r-f>>2;n=s+i|0;if(n>>>0>1073741823)Op(e);r=a-f|0;if(r>>2>>>0<536870911){r=r>>1;r=r>>>0>>0?n:r}else r=1073741823;sm(l,r,s,e+16|0);s=l+8|0;a=t[s>>2]|0;ym(a|0,0,i<<2|0)|0;t[s>>2]=a+(i<<2);lm(e,l);om(l)}else am(e,i);c=o;return}function am(e,i){e=e|0;i=i|0;var r=0;r=e+4|0;e=i;i=t[r>>2]|0;do{t[i>>2]=0;i=(t[r>>2]|0)+4|0;t[r>>2]=i;e=e+-1|0}while((e|0)!=0);return}function sm(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0;t[e+12>>2]=0;t[e+16>>2]=n;do{if(i){a=n+112|0;if(i>>>0<29&(f[a>>0]|0)==0){f[a>>0]=1;break}else{n=Lp(i<<2)|0;break}}else n=0}while(0);t[e>>2]=n;r=n+(r<<2)|0;t[e+8>>2]=r;t[e+4>>2]=r;t[e+12>>2]=n+(i<<2);return}function lm(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0,s=0;f=t[e>>2]|0;a=e+4|0;r=i+4|0;n=(t[a>>2]|0)-f|0;s=(t[r>>2]|0)+(0-(n>>2)<<2)|0;t[r>>2]=s;Em(s|0,f|0,n|0)|0;n=t[e>>2]|0;t[e>>2]=t[r>>2];t[r>>2]=n;n=i+8|0;f=t[a>>2]|0;t[a>>2]=t[n>>2];t[n>>2]=f;n=e+8|0;e=i+12|0;f=t[n>>2]|0;t[n>>2]=t[e>>2];t[e>>2]=f;t[i>>2]=t[r>>2];return}function om(e){e=e|0;var i=0,r=0,n=0;r=t[e+4>>2]|0;n=e+8|0;i=t[n>>2]|0;if((i|0)!=(r|0)){do{i=i+-4|0}while((i|0)!=(r|0));t[n>>2]=i}r=t[e>>2]|0;do{if(r){i=t[e+16>>2]|0;if((i|0)==(r|0)){f[i+112>>0]=0;break}else{Bp(r);break}}}while(0);return}function um(e,i){e=e|0;i=i|0;var r=0;if(i>>>0>1073741823)Op(e);r=e+128|0;if(i>>>0<29&(f[r>>0]|0)==0){f[r>>0]=1;r=e+16|0}else r=Lp(i<<2)|0;t[e+4>>2]=r;t[e>>2]=r;t[e+8>>2]=r+(i<<2);return}function cm(e,i,r){e=e|0;i=i|0;r=r|0;var f=0.0,n=0,a=0,s=0,l=0;l=c;c=c+16|0;s=l;do{if((e|0)!=(i|0)){n=Bg()|0;a=t[n>>2]|0;t[n>>2]=0;f=+Fy(e,s,Vb()|0);e=t[n>>2]|0;if(!e)t[n>>2]=a;if((t[s>>2]|0)!=(i|0)){t[r>>2]=4;f=0.0;break}if((e|0)==34)t[r>>2]=4}else{t[r>>2]=4;f=0.0}}while(0);c=l;return+f}function hm(e,i,r){e=e|0;i=i|0;r=r|0;var f=0.0,n=0,a=0,s=0,l=0;l=c;c=c+16|0;s=l;do{if((e|0)!=(i|0)){n=Bg()|0;a=t[n>>2]|0;t[n>>2]=0;f=+Fy(e,s,Vb()|0);e=t[n>>2]|0;if(!e)t[n>>2]=a;if((t[s>>2]|0)!=(i|0)){t[r>>2]=4;f=0.0;break}if((e|0)==34)t[r>>2]=4}else{t[r>>2]=4;f=0.0}}while(0);c=l;return+f}function dm(e,i,r){e=e|0;i=i|0;r=r|0;var f=0.0,n=0,a=0,s=0,l=0;l=c;c=c+16|0;s=l;do{if((e|0)==(i|0)){t[r>>2]=4;f=0.0}else{n=Bg()|0;a=t[n>>2]|0;t[n>>2]=0;f=+Fy(e,s,Vb()|0);e=t[n>>2]|0;if(!e)t[n>>2]=a;if((t[s>>2]|0)!=(i|0)){t[r>>2]=4;f=0.0;break}if((e|0)==34)t[r>>2]=4}}while(0);c=l;return+f}function bm(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0;o=c;c=c+16|0;l=o;do{if((e|0)!=(i|0)){if((f[e>>0]|0)==45){t[r>>2]=4;n=0;e=0;break}a=Bg()|0;s=t[a>>2]|0;t[a>>2]=0;e=Rg(e,l,n,Vb()|0)|0;n=t[a>>2]|0;if(!n)t[a>>2]=s;if((t[l>>2]|0)!=(i|0)){t[r>>2]=4;n=0;e=0;break}if((n|0)==34){t[r>>2]=4;n=-1;e=-1}else n=O}else{t[r>>2]=4;n=0;e=0}}while(0);O=n;c=o;return e|0}function _m(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;u=c;c=c+16|0;o=u;do{if((e|0)!=(i|0)){if((f[e>>0]|0)==45){t[r>>2]=4;e=0;break}s=Bg()|0;l=t[s>>2]|0;t[s>>2]=0;e=Rg(e,o,n,Vb()|0)|0;n=O;a=t[s>>2]|0;if(!a)t[s>>2]=l;if((t[o>>2]|0)!=(i|0)){t[r>>2]=4;e=0;break}if(n>>>0>0|(n|0)==0&e>>>0>4294967295|(a|0)==34){t[r>>2]=4;e=-1;break}else break}else{t[r>>2]=4;e=0}}while(0);c=u;return e|0}function km(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;u=c;c=c+16|0;o=u;do{if((e|0)!=(i|0)){if((f[e>>0]|0)==45){t[r>>2]=4;e=0;break}s=Bg()|0;l=t[s>>2]|0;t[s>>2]=0;e=Rg(e,o,n,Vb()|0)|0;n=O;a=t[s>>2]|0;if(!a)t[s>>2]=l;if((t[o>>2]|0)!=(i|0)){t[r>>2]=4;e=0;break}if(n>>>0>0|(n|0)==0&e>>>0>4294967295|(a|0)==34){t[r>>2]=4;e=-1;break}else break}else{t[r>>2]=4;e=0}}while(0);c=u;return e|0}function wm(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;u=c;c=c+16|0;o=u;do{if((e|0)!=(i|0)){if((f[e>>0]|0)==45){t[r>>2]=4;e=0;break}s=Bg()|0;l=t[s>>2]|0;t[s>>2]=0;e=Rg(e,o,n,Vb()|0)|0;n=O;a=t[s>>2]|0;if(!a)t[s>>2]=l;if((t[o>>2]|0)!=(i|0)){t[r>>2]=4;e=0;break}if(n>>>0>0|(n|0)==0&e>>>0>65535|(a|0)==34){t[r>>2]=4;e=-1;break}else{e=e&65535;break}}else{t[r>>2]=4;e=0}}while(0);c=u;return e|0}function mm(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0;o=c;c=c+16|0;l=o;do{if((e|0)!=(i|0)){a=Bg()|0;s=t[a>>2]|0;t[a>>2]=0;e=Cg(e,l,f,Vb()|0)|0;f=O;n=t[a>>2]|0;if(!n)t[a>>2]=s;if((t[l>>2]|0)!=(i|0)){t[r>>2]=4;f=0;e=0;break}if((n|0)==34){t[r>>2]=4;l=(f|0)>0|(f|0)==0&e>>>0>0;O=l?2147483647:-2147483648;c=o;return(l?-1:0)|0}}else{t[r>>2]=4;f=0;e=0}}while(0);O=f;c=o;return e|0}function vm(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0;o=c;c=c+16|0;l=o;e:do{if((e|0)==(i|0)){t[r>>2]=4;e=0}else{a=Bg()|0;s=t[a>>2]|0;t[a>>2]=0;e=Cg(e,l,f,Vb()|0)|0;f=O;n=t[a>>2]|0;if(!n)t[a>>2]=s;if((t[l>>2]|0)!=(i|0)){t[r>>2]=4;e=0;break}do{if((n|0)==34){t[r>>2]=4;if((f|0)>0|(f|0)==0&e>>>0>0){e=2147483647;break e}}else{if((f|0)<-1|(f|0)==-1&e>>>0<2147483648){t[r>>2]=4;break}if((f|0)>0|(f|0)==0&e>>>0>2147483647){t[r>>2]=4;e=2147483647;break e}else break e}}while(0);e=-2147483648}}while(0);c=o;return e|0}function pm(){}function gm(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;f=i-f-(r>>>0>e>>>0|0)>>>0;return(O=f,e-r>>>0|0)|0}function ym(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;n=e+r|0;if((r|0)>=20){i=i&255;s=e&3;l=i|i<<8|i<<16|i<<24;a=n&~3;if(s){s=e+4-s|0;while((e|0)<(s|0)){f[e>>0]=i;e=e+1|0}}while((e|0)<(a|0)){t[e>>2]=l;e=e+4|0}}while((e|0)<(n|0)){f[e>>0]=i;e=e+1|0}return e-r|0}function Mm(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;r=e+r>>>0;return(O=i+f+(r>>>0>>0|0)>>>0,r|0)|0}function Am(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){O=i>>>r;return e>>>r|(i&(1<>>r-32|0}function Em(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;if((r|0)>=4096)return Ze(e|0,i|0,r|0)|0;n=e|0;if((e&3)==(i&3)){while(e&3){if(!r)return n|0;f[e>>0]=f[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}while((r|0)>=4){t[e>>2]=t[i>>2];e=e+4|0;i=i+4|0;r=r-4|0}}while((r|0)>0){f[e>>0]=f[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}return n|0}function Sm(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){O=i<>>32-r;return e<0){e=e-1|0;i=i-1|0;r=r-1|0;f[e>>0]=f[i>>0]|0}e=n}else Em(e,i,r)|0;return e|0}function Rm(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){O=i>>r;return e>>>r|(i&(1<>r-32|0}function Cm(e){e=e|0;var i=0;i=f[_+(e&255)>>0]|0;if((i|0)<8)return i|0;i=f[_+(e>>8&255)>>0]|0;if((i|0)<8)return i+8|0;i=f[_+(e>>16&255)>>0]|0;if((i|0)<8)return i+16|0;return(f[_+(e>>>24)>>0]|0)+24|0}function Pm(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,t=0;t=e&65535;n=i&65535;r=re(n,t)|0;f=e>>>16;e=(r>>>16)+(re(n,f)|0)|0;n=i>>>16;i=re(n,t)|0;return(O=(e>>>16)+(re(n,f)|0)+(((e&65535)+i|0)>>>16)|0,e+i<<16|r&65535|0)|0}function Im(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,t=0,a=0,s=0,l=0,o=0;o=i>>31|((i|0)<0?-1:0)<<1;l=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;t=f>>31|((f|0)<0?-1:0)<<1;n=((f|0)<0?-1:0)>>31|((f|0)<0?-1:0)<<1;s=gm(o^e,l^i,o,l)|0;a=O;e=t^o;i=n^l;return gm((zm(s,a,gm(t^r,n^f,t,n)|0,O,0)|0)^e,O^i,e,i)|0}function Om(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0;n=c;c=c+16|0;l=n|0;s=i>>31|((i|0)<0?-1:0)<<1;a=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;u=f>>31|((f|0)<0?-1:0)<<1;o=((f|0)<0?-1:0)>>31|((f|0)<0?-1:0)<<1;e=gm(s^e,a^i,s,a)|0;i=O;zm(e,i,gm(u^r,o^f,u,o)|0,O,l)|0;f=gm(t[l>>2]^s,t[l+4>>2]^a,s,a)|0;r=O;c=n;return(O=r,f)|0}function xm(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,t=0;n=e;t=r;r=Pm(n,t)|0;e=O;return(O=(re(i,t)|0)+(re(f,n)|0)+e|e&0,r|0|0)|0}function Lm(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;return zm(e,i,r,f,0)|0}function Bm(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0;a=c;c=c+16|0;n=a|0;zm(e,i,r,f,n)|0;c=a;return(O=t[n+4>>2]|0,t[n>>2]|0)|0}function zm(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0;c=e;o=i;u=o;s=r;d=f;l=d;if(!u){a=(n|0)!=0;if(!l){if(a){t[n>>2]=(c>>>0)%(s>>>0);t[n+4>>2]=0}d=0;n=(c>>>0)/(s>>>0)>>>0;return(O=d,n)|0}else{if(!a){d=0;n=0;return(O=d,n)|0}t[n>>2]=e|0;t[n+4>>2]=i&0;d=0;n=0;return(O=d,n)|0}}a=(l|0)==0;do{if(s){if(!a){a=(ne(l|0)|0)-(ne(u|0)|0)|0;if(a>>>0<=31){h=a+1|0;l=31-a|0;i=a-31>>31;s=h;e=c>>>(h>>>0)&i|u<>>(h>>>0)&i;a=0;l=c<>2]=e|0;t[n+4>>2]=o|i&0;d=0;n=0;return(O=d,n)|0}a=s-1|0;if(a&s){l=(ne(s|0)|0)+33-(ne(u|0)|0)|0;_=64-l|0;h=32-l|0;o=h>>31;b=l-32|0;i=b>>31;s=l;e=h-1>>31&u>>>(b>>>0)|(u<>>(l>>>0))&i;i=i&u>>>(l>>>0);a=c<<_&o;l=(u<<_|c>>>(b>>>0))&o|c<>31;break}if(n){t[n>>2]=a&c;t[n+4>>2]=0}if((s|0)==1){b=o|i&0;_=e|0|0;return(O=b,_)|0}else{_=Cm(s|0)|0;b=u>>>(_>>>0)|0;_=u<<32-_|c>>>(_>>>0)|0;return(O=b,_)|0}}else{if(a){if(n){t[n>>2]=(u>>>0)%(s>>>0);t[n+4>>2]=0}b=0;_=(u>>>0)/(s>>>0)>>>0;return(O=b,_)|0}if(!c){if(n){t[n>>2]=0;t[n+4>>2]=(u>>>0)%(l>>>0)}b=0;_=(u>>>0)/(l>>>0)>>>0;return(O=b,_)|0}a=l-1|0;if(!(a&l)){if(n){t[n>>2]=e|0;t[n+4>>2]=a&u|i&0}b=0;_=u>>>((Cm(l|0)|0)>>>0);return(O=b,_)|0}a=(ne(l|0)|0)-(ne(u|0)|0)|0;if(a>>>0<=30){i=a+1|0;l=31-a|0;s=i;e=u<>>(i>>>0);i=u>>>(i>>>0);a=0;l=c<>2]=e|0;t[n+4>>2]=o|i&0;b=0;_=0;return(O=b,_)|0}}while(0);if(!s){u=l;o=0;l=0}else{h=r|0|0;c=d|f&0;u=Mm(h|0,c|0,-1,-1)|0;r=O;o=l;l=0;do{f=o;o=a>>>31|o<<1;a=l|a<<1;f=e<<1|f>>>31|0;d=e>>>31|i<<1|0;gm(u,r,f,d)|0;_=O;b=_>>31|((_|0)<0?-1:0)<<1;l=b&1;e=gm(f,d,b&h,(((_|0)<0?-1:0)>>31|((_|0)<0?-1:0)<<1)&c)|0;i=O;s=s-1|0}while((s|0)!=0);u=o;o=0}s=0;if(n){t[n>>2]=e;t[n+4>>2]=i}b=(a|0)>>>31|(u|s)<<1|(s<<1|a>>>31)&0|o;_=(a<<1|0>>>31)&-2|l;return(O=b,_)|0}function Dm(e,i,r,f,n,t,a,s){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;s=s|0;return rM[e&15](i|0,r|0,f|0,n|0,t|0,a|0,s|0)|0}function Nm(e,i,r,f,n,t){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;fM[e&15](i|0,r|0,f|0,n|0,t|0)}function Fm(e,i,r,f,n,t,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=+a;return nM[e&3](i|0,r|0,f|0,n|0,t|0,+a)|0}function Hm(e,i){e=e|0;i=i|0;tM[e&255](i|0)}function Um(e,i,r){e=e|0;i=i|0;r=r|0;aM[e&127](i|0,r|0)}function jm(e,i,r,f,n,t,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;return sM[e&63](i|0,r|0,f|0,n|0,t|0,a|0)|0}function Ym(e,i){e=e|0;i=i|0;return lM[e&127](i|0)|0}function qm(e,i,r,f,n,t,a,s,l,o,u,c){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;return oM[e&3](i|0,r|0,f|0,n|0,t|0,a|0,s|0,l|0,o|0,u|0,c|0)|0}function $m(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;return uM[e&63](i|0,r|0,f|0)|0}function Vm(e,i,r,f,n,t,a,s,l,o,u,c,h,d,b,_){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;h=h|0;d=d|0;b=b|0;_=_|0;cM[e&3](i|0,r|0,f|0,n|0,t|0,a|0,s|0,l|0,o|0,u|0,c|0,h|0,d|0,b|0,_|0)}function Xm(e,i,r,f,n,t,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;hM[e&15](i|0,r|0,f|0,n|0,t|0,a|0)}function Gm(e,i,r,f,n,t,a,s){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;s=s|0;dM[e&7](i|0,r|0,f|0,n|0,t|0,a|0,s|0)}function Km(e,i,r,f,n,t,a,s,l,o,u){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;bM[e&7](i|0,r|0,f|0,n|0,t|0,a|0,s|0,l|0,o|0,u|0)}function Wm(e,i,r){e=e|0;i=i|0;r=r|0;return _M[e&63](i|0,r|0)|0}function Zm(e,i,r,f,n,t){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;return kM[e&31](i|0,r|0,f|0,n|0,t|0)|0}function Jm(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;return+wM[e&3](i|0,r|0,f|0)}function Qm(e){e=e|0;return mM[e&15]()|0}function ev(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;return vM[e&31](i|0,r|0,f|0,n|0)|0}function iv(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;pM[e&15](i|0,r|0,f|0)}function rv(e){e=e|0;gM[e&7]()}function fv(e,i,r,f,n,t,a,s,l){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;s=s|0;l=l|0;return yM[e&15](i|0,r|0,f|0,n|0,t|0,a|0,s|0,l|0)|0}function nv(e,i,r,f,n,t){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=+t;return MM[e&7](i|0,r|0,f|0,n|0,+t)|0}function tv(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;AM[e&63](i|0,r|0,f|0,n|0)}function av(e,i,r,f,n,t,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;te(0);return 0}function sv(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;te(1)}function lv(e,i,r,f,n,t){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=+t;te(2);return 0}function ov(e){e=e|0;te(3)}function uv(e,i){e=e|0;i=i|0;te(4)}function cv(e,i,r,f,n,t){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;te(5);return 0}function hv(e){e=e|0;te(6);return 0}function dv(e){e=e|0;return ti(e|0)|0}function bv(e){e=e|0;return pi(e|0)|0}function _v(e){e=e|0;return ui(e|0)|0}function kv(e,i,r,f,n,t,a,s,l,o,u){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;te(7);return 0}function wv(e,i,r){e=e|0;i=i|0;r=r|0;te(8);return 0}function mv(e,i,r,f,n,t,a,s,l,o,u,c,h,d,b){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;h=h|0;d=d|0;b=b|0;te(9)}function vv(e,i,r,f,n,t){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;te(10)}function pv(e,i,r,f,n,t,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;te(11)}function gv(e,i,r,f,n,t,a,s,l,o){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;s=s|0;l=l|0;o=o|0;te(12)}function yv(e,i){e=e|0;i=i|0;te(13);return 0}function Mv(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;te(14);return 0}function Av(e,i,r){e=e|0;i=i|0;r=r|0;te(15);return 0.0}function Ev(){te(16);return 0}function Sv(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;te(17);return 0}function Tv(e,i,r){e=e|0;i=i|0;r=r|0;te(18)}function Rv(e,i,r){e=e|0;i=i|0;r=r|0;bi(e|0,i|0,r|0)}function Cv(){te(19)}function Pv(){mi()}function Iv(){Je()}function Ov(){_i()}function xv(e,i,r,f,n,t,a,s){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;s=s|0;te(20);return 0}function Lv(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=+n;te(21);return 0}function Bv(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;te(22)}function zv(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+32|0;o=h;op(o,255,0);u=e+152|0;if(((t[o+4>>2]|0)==(t[u>>2]|0)?(t[o+8>>2]|0)==(t[e+156>>2]|0):0)?(t[o+12>>2]|0)==(t[e+160>>2]|0):0){u=t[8900]|0;t[e+4580>>2]=u+(((t[8901]|0)-u|0)>>>1);c=h;return}r=e+4584|0;n=e+4588|0;a=t[n>>2]|0;i=t[r>>2]|0;s=a-i|0;if(s>>>0>=512){if(s>>>0>512?(l=i+512|0,(a|0)!=(l|0)):0)t[n>>2]=l}else{Yf(r,512-s|0);i=t[r>>2]|0}o=e+4580|0;t[o>>2]=i+256;l=e+160|0;a=e+156|0;s=-256;while(1){i=t[l>>2]|0;if((s|0)>(0-i|0)){r=t[a>>2]|0;if((s|0)>(0-r|0)){n=t[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){f[(t[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;f[(t[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==256)break}c=h;return}function Dv(e){e=e|0;var i=0,r=0;t[e>>2]=35660;i=t[e+4608>>2]|0;if(i){r=e+4612|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36736;i=t[e+92>>2]|0;if(i){r=e+96|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}e=e+88|0;i=t[e>>2]|0;t[e>>2]=0;if(!i)return;tM[t[(t[i>>2]|0)+4>>2]&255](i);return}function Nv(e){e=e|0;var i=0,r=0;t[e>>2]=35660;i=t[e+4608>>2]|0;if(i){r=e+4612|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}t[e>>2]=36736;i=t[e+92>>2]|0;if(i){r=e+96|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i)}r=e+88|0;i=t[r>>2]|0;t[r>>2]=0;if(!i){Bp(e);return}tM[t[(t[i>>2]|0)+4>>2]&255](i);Bp(e);return}function Fv(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;y=c;c=c+352|0;M=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;_=y+176|0;o=y+168|0;u=y+160|0;h=y+152|0;g=y;v=y+136|0;if((t[e+28>>2]|0)!=0?(t[e+20>>2]|0)!=1:0){m=e+4|0;p=e+32|0;l=t[p>>2]|0;if(!l){e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[r>>0]|0;Ce(44,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}e=t[e+12>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[n>>0]|0;Ce(45,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[a>>0]|0;Ce(46,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(48)|0;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];f[M>>0]=f[s>>0]|0;Ce(47,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=A+56|0;a=A+4|0;t[A>>2]=36160;t[l>>2]=36180;w=0;ce(62,A+56|0,a|0);y=w;w=0;if(y&1){E=je()|0;nd(l);Qe(E|0)}t[A+128>>2]=0;t[A+132>>2]=-1;t[A>>2]=36200;t[A+56>>2]=36220;w=0;ue(180,a|0);y=w;w=0;do{if(y&1)e=je()|0;else{t[a>>2]=36236;s=A+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[A+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);y=w;w=0;if(y&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,A|0,49007,21)|0;M=w;w=0;do{if((!(M&1)?(w=0,d=pe(36,e|0,t[p>>2]|0)|0,M=w,w=0,!(M&1)):0)?(w=0,_e(28,d|0,50997,18)|0,M=w,w=0,!(M&1)):0){n=Ue(16)|0;w=0;ce(64,_|0,a|0);M=w;w=0;if(!(M&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,_|0);M=w;w=0;if(M&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(_);if(!r)break}else e=je()|0;He(n|0)}else E=34}while(0);if((E|0)==34)e=je()|0;t[A>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}if((e|0)<=8){e=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,e|0,8,35648);E=w;w=0;if(!(E&1))bi(e|0,824,96);E=je()|0;He(e|0);Qe(E|0)}r=16-e|0;switch(l|0){case 1:{e=Lp(60)|0;t[o>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[o>>2];t[M+4>>2]=t[o+4>>2];Ce(41,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 2:{e=Lp(60)|0;t[u>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[u>>2];t[M+4>>2]=t[u+4>>2];Ce(42,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}case 3:{e=Lp(60)|0;t[h>>2]=r;w=0;t[A>>2]=t[i>>2];t[A+4>>2]=t[i+4>>2];t[A+8>>2]=t[i+8>>2];t[M>>2]=t[h>>2];t[M+4>>2]=t[h+4>>2];Ce(43,e|0,A|0,m|0,M|0);E=w;w=0;if(!(E&1)){E=e;c=y;return E|0}E=je()|0;Bp(e);Qe(E|0)}default:{l=g+56|0;a=g+4|0;t[g>>2]=36160;t[l>>2]=36180;w=0;ce(62,g+56|0,a|0);A=w;w=0;if(A&1){E=je()|0;nd(l);Qe(E|0)}t[g+128>>2]=0;t[g+132>>2]=-1;t[g>>2]=36200;t[g+56>>2]=36220;w=0;ue(180,a|0);A=w;w=0;do{if(A&1)e=je()|0;else{t[a>>2]=36236;s=g+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[g+52>>2]=16;t[M>>2]=0;t[M+4>>2]=0;t[M+8>>2]=0;w=0;ce(63,a|0,M|0);A=w;w=0;if(A&1){e=je()|0;xh(M);xh(s);cd(a);break}xh(M);w=0;e=_e(28,g|0,49007,21)|0;A=w;w=0;do{if((!(A&1)?(w=0,b=pe(36,e|0,t[p>>2]|0)|0,A=w,w=0,!(A&1)):0)?(w=0,_e(28,b|0,50997,18)|0,A=w,w=0,!(A&1)):0){n=Ue(16)|0;w=0;ce(64,v|0,a|0);A=w;w=0;if(!(A&1)){if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ce(36,n|0,9,35648,v|0);A=w;w=0;if(A&1)r=1;else{w=0;Ee(6,n|0,824,96);w=0;r=0}e=je()|0;xh(v);if(!r)break}else e=je()|0;He(n|0)}else E=64}while(0);if((E|0)==64)e=je()|0;t[g>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(l);E=e;Qe(E|0)}}while(0);E=e;nd(l);Qe(E|0)}}}r=t[i+4>>2]|0;n=Lp(16)|0;e=t[e+16>>2]|0;if(!r){E=t[i>>2]|0;t[n>>2]=36132;t[n+4>>2]=E;t[n+8>>2]=1;t[n+12>>2]=e;E=n;c=y;return E|0}else{t[n>>2]=36108;t[n+4>>2]=r;t[n+8>>2]=1;t[n+12>>2]=e;E=n;c=y;return E|0}return 0}function Hv(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,h=0;o=c;c=c+32|0;h=o;op(h,t[e+128>>2]|0,t[e+136>>2]|0);u=t[i+4>>2]|0;l=t[i+8>>2]|0;l=(l|0)==0?t[h+8>>2]|0:l;s=t[i+12>>2]|0;s=(s|0)==0?t[h+12>>2]|0:s;r=t[i+16>>2]|0;a=t[h+16>>2]|0;t[e+176>>2]=(u|0)==0?t[h+4>>2]|0:u;t[e+180>>2]=l;t[e+184>>2]=s;Gv(e);s=e+132|0;i=(t[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{t[e+188+(l*12|0)>>2]=i;t[e+188+(l*12|0)+4>>2]=0;n[e+188+(l*12|0)+8>>1]=0;n[e+188+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365);u=(t[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;h=((r|0)==0?a:r)&255;t[e+4568>>2]=u;t[e+4572>>2]=0;f[e+4576>>0]=h;f[e+4577>>0]=1;f[e+4578>>0]=0;t[e+4580>>2]=u;t[e+4584>>2]=1;f[e+4588>>0]=h;f[e+4589>>0]=1;f[e+4590>>0]=0;t[e+4592>>2]=0;c=o;return}function Uv(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=t[i>>2]|0;t[i>>2]=0;i=t[l>>2]|0;t[l>>2]=s;if(i)tM[t[(t[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=t[l>>2]|0;f[e+4620>>0]=a&1;i=e+156|0;t[i>>2]=t[r>>2];t[i+4>>2]=t[r+4>>2];t[i+8>>2]=t[r+8>>2];t[i+12>>2]=t[r+12>>2];Cf(e,n);jv(e);i=t[e+116>>2]|0;e=t[e+112>>2]|0;while(1){a=i+-1|0;r=(f[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=t[l>>2]|0;if(!a)return;t[l>>2]=a+i;n=n+8|0;t[n>>2]=(t[n>>2]|0)-i;return}function jv(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0;S=c;c=c+32|0;R=S+12|0;E=S;o=e+172|0;A=(t[o>>2]|0)+4|0;if((t[e+28>>2]|0)==1)u=t[e+20>>2]|0;else u=1;i=re(u<<1,A)|0;t[R>>2]=0;C=R+4|0;t[C>>2]=0;t[R+8>>2]=0;e:do{if(i){if(!((i|0)<0?(w=0,ue(178,R|0),T=w,w=0,T&1):0))M=6;if((M|0)==6?(w=0,r=de(67,i|0)|0,T=w,w=0,!(T&1)):0){t[C>>2]=r;t[R>>2]=r;t[R+8>>2]=r+i;while(1){f[r>>0]=0;r=(t[C>>2]|0)+1|0;t[C>>2]=r;i=i+-1|0;if(!i)break e}}r=je()|0;i=t[R>>2]|0;if(!i)Qe(r|0);if((t[C>>2]|0)!=(i|0))t[C>>2]=i;Bp(i);Qe(r|0)}}while(0);t[E>>2]=0;T=E+4|0;t[T>>2]=0;t[E+8>>2]=0;do{if(!u)M=19;else{if(!(u>>>0>1073741823?(w=0,ue(178,E|0),y=w,w=0,y&1):0))M=17;if((M|0)==17?(n=u<<2,w=0,a=de(67,n|0)|0,y=w,w=0,!(y&1)):0){t[E>>2]=a;M=a+(u<<2)|0;t[E+8>>2]=M;ym(a|0,0,n|0)|0;t[T>>2]=M;M=19;break}r=je()|0;i=t[E>>2]|0;n=i;if(i){a=t[T>>2]|0;if((a|0)!=(i|0))t[T>>2]=a+(~((a+-4-n|0)>>>2)<<2);Bp(i)}}}while(0);if((M|0)==19){h=e+8|0;i=t[h>>2]|0;e:do{if((i|0)>0){d=e+4596|0;b=re(u,A)|0;_=b+1|0;k=e+4600|0;m=e+160|0;v=e+168|0;p=e+164|0;g=e+156|0;y=e+88|0;l=e+4592|0;if((u|0)>0)s=0;else{s=0;while(1){a=t[R>>2]|0;r=a+1|0;t[d>>2]=r;n=a+_|0;t[k>>2]=n;if(!(s&1))r=_;else{t[d>>2]=n;t[k>>2]=r;r=1}u=t[m>>2]|0;if((u|0)<=(s|0)?(s|0)<((t[v>>2]|0)+u|0):0){u=t[y>>2]|0;w=0;Ce(t[(t[u>>2]|0)+8>>2]|0,u|0,a+(r+((t[g>>2]|0)-b))|0,t[p>>2]|0,A|0);u=w;w=0;if(u&1)break;i=t[h>>2]|0}s=s+1|0;if((s|0)>=(i|0)){M=50;break e}}r=je()|0;break}i:while(1){r=t[R>>2]|0;i=r+1|0;t[d>>2]=i;r=r+_|0;t[k>>2]=r;if(s&1){t[d>>2]=r;t[k>>2]=i;i=r}a=t[E>>2]|0;r=i;n=0;do{t[l>>2]=t[a+(n<<2)>>2];M=t[o>>2]|0;f[r+M>>0]=f[r+(M+-1)>>0]|0;f[(t[k>>2]|0)+-1>>0]=f[t[d>>2]>>0]|0;w=0;ce(83,e|0,0);M=w;w=0;if(M&1){M=38;break i}a=t[E>>2]|0;t[a+(n<<2)>>2]=t[l>>2];r=(t[d>>2]|0)+A|0;t[d>>2]=r;i=t[k>>2]|0;t[k>>2]=i+A;n=n+1|0}while((n|0)<(u|0));M=t[m>>2]|0;if(((M|0)<=(s|0)?(s|0)<((t[v>>2]|0)+M|0):0)?(M=t[y>>2]|0,w=0,Ce(t[(t[M>>2]|0)+8>>2]|0,M|0,i+(A+((t[g>>2]|0)-b))|0,t[p>>2]|0,A|0),M=w,w=0,M&1):0){M=30;break}s=s+1|0;if((s|0)>=(t[h>>2]|0)){M=50;break e}}if((M|0)==30){r=je()|0;break}else if((M|0)==38){r=je()|0;break}}else M=50}while(0);do{if((M|0)==50){w=0;ue(183,e|0);e=w;w=0;if(e&1){r=je()|0;break}i=t[E>>2]|0;r=i;if(i){n=t[T>>2]|0;if((n|0)!=(i|0))t[T>>2]=n+(~((n+-4-r|0)>>>2)<<2);Bp(i)}i=t[R>>2]|0;if(!i){c=S;return}if((t[C>>2]|0)!=(i|0))t[C>>2]=i;Bp(i);c=S;return}}while(0);i=t[E>>2]|0;n=i;if(i){a=t[T>>2]|0;if((a|0)!=(i|0))t[T>>2]=a+(~((a+-4-n|0)>>>2)<<2);Bp(i)}}i=t[R>>2]|0;if(!i)Qe(r|0);if((t[C>>2]|0)!=(i|0))t[C>>2]=i;Bp(i);Qe(r|0)}function Yv(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0;_=e+4596|0;r=t[_>>2]|0;v=e+172|0;i=t[v>>2]|0;if((i|0)<=0)return;k=e+4600|0;w=e+4604|0;m=e+4592|0;u=r;l=a[r+-1>>0]|0;r=a[r>>0]|0;b=0;while(1){h=t[k>>2]|0;o=f[h+(b+-1)>>0]|0;d=o&255;s=b+1|0;n=a[u+s>>0]|0;c=t[w>>2]|0;u=r-l|0;l=l-d|0;c=((((f[c+(n-r)>>0]|0)*9|0)+(f[c+u>>0]|0)|0)*9|0)+(f[c+l>>0]|0)|0;h=h+b|0;if(!c){i=$v(e,o,h,i-b|0)|0;r=i+b|0;if((r|0)!=(t[v>>2]|0)){d=Vv(e,d,a[(t[_>>2]|0)+r>>0]|0)|0;f[(t[k>>2]|0)+r>>0]=d;d=t[m>>2]|0;t[m>>2]=(d|0)<1?0:d+-1|0;i=i+1|0}s=i+b|0;n=t[_>>2]|0;r=a[n+(s+-1)>>0]|0;n=a[n+s>>0]|0}else{i=r-d>>31;if((i^l|0)<0)i=r;else i=d+((i^u|0)<0?0:u)|0;d=qv(e,c,a[h>>0]|0,i,0)|0;f[(t[k>>2]|0)+b>>0]=d}i=t[v>>2]|0;if((i|0)<=(s|0))break;u=t[_>>2]|0;l=r;r=n;b=s}return}function qv(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,m=0,v=0;v=i>>31;c=(v^i)-v|0;_=e+188+(c*12|0)+10|0;r=n[_>>1]|0;b=e+188+(c*12|0)|0;s=t[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){i=5;while(1)if((r<>1]^v)-v+a|0;m=e+128|0;s=t[m>>2]|0;if((r&s|0)==(r|0))h=r;else h=s&~(r>>31);r=e+112|0;if((t[r>>2]|0)<8)Uf(e);s=e+108|0;a=t[s>>2]|0;l=a>>>24;o=t[2832+(i<<11)+(l<<3)+4>>2]|0;if(!o){u=t[e+148>>2]|0;s=t[e+140>>2]|0;r=ka(e)|0;if((r|0)<(u+-1-s|0)){if(i)r=(wa(e,i)|0)+(r<>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,r|0,5,35648);e=w;w=0;if(e&1){e=je()|0;He(r|0);Qe(e|0)}else bi(r|0,824,96)}}else{t[r>>2]=(t[r>>2]|0)-o;t[s>>2]=a<>2]|0}u=e+136|0;a=t[u>>2]|0;if(!i){if(!a)s=(t[e+188+(c*12|0)+4>>2]<<1)+-1+(n[_>>1]|0)>>31;else s=0;o=s^r}else o=r;i=t[e+152>>2]|0;s=(t[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;l=e+188+(c*12|0)+4|0;r=(t[l>>2]|0)+(re(a<<1|1,o)|0)|0;a=n[_>>1]|0;if((a|0)==(i|0)){s=s>>1;r=r>>1;a=i>>1}t[b>>2]=s;i=a+1|0;n[_>>1]=i;s=i+r|0;if((s|0)>=1){if((r|0)>0){r=r-i|0;_=n[d>>1]|0;n[d>>1]=(_<<16>>16<127&1)+(_&65535);r=(r|0)>0?0:r}}else{r=n[d>>1]|0;n[d>>1]=(r&65535)-(r<<16>>16>-128&1);r=(s|0)>(~a|0)?s:0-a|0}t[l>>2]=r;i=t[u>>2]|0;a=i<<1|1;s=(re(a,(o^v)-v|0)|0)+h|0;if((s|0)>=(0-i|0)){r=t[m>>2]|0;if((r+i|0)<(s|0))s=s-(re(t[e+132>>2]|0,a)|0)|0}else{s=(re(t[e+132>>2]|0,a)|0)+s|0;r=t[m>>2]|0}if((s&r|0)==(s|0)){e=s;e=e&255;return e|0}e=r&~(s>>31);e=e&255;return e|0}function $v(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;o=e+112|0;u=e+108|0;c=e+4592|0;a=t[o>>2]|0;s=0;while(1){if((a|0)<1){Uf(e);a=t[o>>2]|0}l=t[u>>2]|0;a=a+-1|0;t[o>>2]=a;t[u>>2]=l<<1;if((l|0)>=0){h=8;break}l=t[c>>2]|0;d=1<>2];b=n-s|0;b=(d|0)<(b|0)?d:b;s=b+s|0;if((b|0)==(d|0))t[c>>2]=(l|0)>30?31:l+1|0;if((s|0)==(n|0)){a=n;break}}if((h|0)==8)if((s|0)!=(n|0)){a=t[c>>2]|0;if((a+-4|0)>>>0<28)a=wa(e,t[36476+(a<<2)>>2]|0)|0;else a=0;a=a+s|0;if((a|0)>(n|0)){a=Ue(16)|0;if((f[8]|0)==0?(ze(8)|0)!=0:0){di(72,35648,k|0)|0;qe(8)}w=0;Ee(7,a|0,5,35648);b=w;w=0;if(b&1){b=je()|0;He(a|0);Qe(b|0)}else bi(a|0,824,96)}}else a=n;if((a|0)<=0)return a|0;ym(r|0,i|0,a|0)|0;return a|0}function Vv(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0;a=i-r|0;s=e+128|0;f=e+136|0;if((((a|0)>-1?a:0-a|0)|0)>(t[f>>2]|0)){i=re(Xv(e,e+4568|0)|0,r-i>>31|1)|0;n=t[f>>2]|0;a=n<<1|1;i=(re(i,a)|0)+r|0;if((i|0)>=(0-n|0)){f=t[s>>2]|0;if((f+n|0)<(i|0))i=i-(re(t[e+132>>2]|0,a)|0)|0}else{i=(re(t[e+132>>2]|0,a)|0)+i|0;f=t[s>>2]|0}if((i&f|0)==(i|0)){e=i;e=e&255;return e|0}e=f&~(i>>31);e=e&255;return e|0}else{r=Xv(e,e+4580|0)|0;a=t[f>>2]|0;n=a<<1|1;i=(re(n,r)|0)+i|0;if((i|0)>=(0-a|0)){f=t[s>>2]|0;if((f+a|0)<(i|0))i=i-(re(t[e+132>>2]|0,n)|0)|0}else{i=(re(t[e+132>>2]|0,n)|0)+i|0;f=t[s>>2]|0}if((i&f|0)==(i|0)){e=i;e=e&255;return e|0}e=f&~(i>>31);e=e&255;return e|0}return 0}function Xv(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0;h=i+9|0;r=a[h>>0]|0;l=i+4|0;s=(re(r>>>1,t[l>>2]|0)|0)+(t[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;o=t[e+148>>2]|0;u=t[36476+(t[e+4592>>2]<<2)>>2]|0;r=t[e+140>>2]|0;s=ka(e)|0;do{if((s|0)<(o+-2-u-r|0))if(!n){n=t[l>>2]|0;e=n+s|0;r=e&1;e=(r+e|0)/2|0;c=8;break}else{u=(wa(e,n)|0)+(s<>2]|0;s=u+n|0;o=s&1;r=o;l=1;s=(o+s|0)/2|0;break}else{s=(wa(e,r)|0)+1|0;o=t[l>>2]|0;e=s+o|0;r=e&1;e=(r+e|0)/2|0;if(!n){n=o;c=8}else{u=s;l=1;s=e;n=o}}}while(0);if((c|0)==8){u=s;l=a[i+10>>0]<<1>>>0>=(a[h>>0]|0)>>>0;s=e}s=(r|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;f[c>>0]=(a[c>>0]|0)+1}r=(u+1-n>>1)+(t[i>>2]|0)|0;t[i>>2]=r;n=f[h>>0]|0;if(n<<24>>24!=(f[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;f[h>>0]=i;return s|0}t[i>>2]=r>>1;c=(n&255)>>>1;f[h>>0]=c;i=i+10|0;f[i>>0]=(a[i>>0]|0)>>>1;i=c;i=i&255;i=i+1|0;i=i&255;f[h>>0]=i;return s|0}function Gv(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0;_=c;c=c+32|0;n=_;b=e+136|0;e:do{if(!(t[b>>2]|0)){r=t[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<>2])+-1|0)?(op(n,r,0),(t[n+4>>2]|0)==(t[e+176>>2]|0)):0)?(t[n+8>>2]|0)==(t[e+180>>2]|0):0)?(t[n+12>>2]|0)==(t[e+184>>2]|0):0)switch(t[i>>2]|0){case 8:{b=t[8900]|0;t[e+4604>>2]=b+(((t[8901]|0)-b|0)>>>1);c=_;return}case 10:{b=t[8903]|0;t[e+4604>>2]=b+(((t[8904]|0)-b|0)>>>1);c=_;return}case 12:{b=t[8906]|0;t[e+4604>>2]=b+(((t[8907]|0)-b|0)>>>1);c=_;return}case 16:{b=t[8909]|0;t[e+4604>>2]=b+(((t[8910]|0)-b|0)>>>1);c=_;return}default:break e}}else i=e+144|0}while(0);d=1<>2];r=e+4608|0;n=d<<1;a=e+4612|0;s=t[a>>2]|0;i=t[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0>>0?(o=i+n|0,(s|0)!=(o|0)):0)t[a>>2]=o}else{Yf(r,n-l|0);i=t[r>>2]|0}h=e+4604|0;t[h>>2]=i+d;i=0-d|0;if((d|0)<=(i|0)){c=_;return}o=e+184|0;u=e+180|0;l=e+176|0;s=i;do{i=t[o>>2]|0;if((s|0)>(0-i|0)){r=t[u>>2]|0;if((s|0)>(0-r|0)){n=t[l>>2]|0;if((s|0)>(0-n|0)){a=t[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;f[(t[h>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(d|0));c=_;return}function Kv(e){e=e|0;Bp(e);return}function Wv(e){e=e|0;return 50767}function Zv(e,i,r){e=e|0;i=i|0;r=r|0;Ih(e,50754,12);return}function Jv(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0;m=c;c=c+16|0;v=m;t[v>>2]=0;p=v+4|0;t[p>>2]=0;t[v+8>>2]=0;_=v+8|0;w=0;a=de(67,1)|0;b=w;w=0;e:do{if((!(b&1)?(b=a+1|0,f[a>>0]=r,t[v>>2]=a,t[p>>2]=b,t[_>>2]=b,w=0,ce(84,v|0,i&65535|0),b=w,w=0,!(b&1)):0)?(w=0,ce(84,v|0,e&65535|0),b=w,w=0,!(b&1)):0){h=n&255;a=t[p>>2]|0;r=t[_>>2]|0;if(a>>>0>=r>>>0){i=t[v>>2]|0;e=i;l=a-e+1|0;if((l|0)<0){w=0;ue(178,v|0);b=w;w=0;if(b&1){k=52;break}e=t[v>>2]|0;r=t[_>>2]|0;i=e}u=i;a=r-u|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0>>0?l:a;r=t[p>>2]|0;o=r-u|0;if(!a){a=0;l=0}else k=12}else{o=t[p>>2]|0;a=2147483647;r=o;o=o-u|0;k=12}if((k|0)==12){w=0;l=de(67,a|0)|0;b=w;w=0;if(b&1){k=52;break}}f[l+o>>0]=h;d=r-u|0;b=l+(o-d)|0;Em(b|0,i|0,d|0)|0;t[v>>2]=b;t[p>>2]=l+(o+1);t[_>>2]=l+a;if(e)Bp(e)}else{f[a>>0]=h;t[p>>2]=(t[p>>2]|0)+1}i:do{if((n|0)>0){b=0;while(1){b=b+1|0;d=b&255;a=t[p>>2]|0;i=t[_>>2]|0;if(a>>>0>=i>>>0){e=t[v>>2]|0;r=e;l=a-r+1|0;if((l|0)<0){w=0;ue(178,v|0);h=w;w=0;if(h&1)break;e=t[v>>2]|0;r=e;i=t[_>>2]|0}h=e;a=i-h|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0>>0?l:a;i=t[p>>2]|0;o=i-h|0;if(!a){u=0;l=0}else k=25}else{o=t[p>>2]|0;a=2147483647;i=o;o=o-h|0;k=25}if((k|0)==25){k=0;w=0;l=de(67,a|0)|0;u=w;w=0;if(u&1)break;else u=a}f[l+o>>0]=d;a=l+(o+1)|0;h=i-h|0;d=l+(o-h)|0;Em(d|0,e|0,h|0)|0;t[v>>2]=d;t[p>>2]=a;t[_>>2]=l+u;if(r){Bp(r);a=t[p>>2]|0}}else{f[a>>0]=d;a=(t[p>>2]|0)+1|0;t[p>>2]=a}r=t[_>>2]|0;if(a>>>0>=r>>>0){i=t[v>>2]|0;e=i;l=a-e+1|0;if((l|0)<0){w=0;ue(178,v|0);d=w;w=0;if(d&1)break;e=t[v>>2]|0;r=t[_>>2]|0;i=e}h=i;a=r-h|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0>>0?l:a;l=t[p>>2]|0;o=l-h|0;if(!a){u=0;r=0}else k=36}else{o=t[p>>2]|0;a=2147483647;l=o;o=o-h|0;k=36}if((k|0)==36){k=0;w=0;r=de(67,a|0)|0;d=w;w=0;if(d&1)break;else u=a}f[r+o>>0]=17;a=r+(o+1)|0;h=l-h|0;d=r+(o-h)|0;Em(d|0,i|0,h|0)|0;t[v>>2]=d;t[p>>2]=a;t[_>>2]=r+u;if(e){Bp(e);a=t[p>>2]|0}}else{f[a>>0]=17;a=(t[p>>2]|0)+1|0;t[p>>2]=a}r=t[_>>2]|0;if(a>>>0>=r>>>0){i=t[v>>2]|0;e=i;l=a-e+1|0;if((l|0)<0){w=0;ue(178,v|0);d=w;w=0;if(d&1)break;e=t[v>>2]|0;r=t[_>>2]|0;i=e}u=i;a=r-u|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0>>0?l:a;r=t[p>>2]|0;o=r-u|0;if(!a){a=0;l=0}else k=48}else{o=t[p>>2]|0;a=2147483647;r=o;o=o-u|0;k=48}if((k|0)==48){k=0;w=0;l=de(67,a|0)|0;d=w;w=0;if(d&1)break}f[l+o>>0]=0;h=r-u|0;d=l+(o-h)|0;Em(d|0,i|0,h|0)|0;t[v>>2]=d;t[p>>2]=l+(o+1);t[_>>2]=l+a;if(e)Bp(e)}else{f[a>>0]=0;t[p>>2]=(t[p>>2]|0)+1}if((b|0)>=(n|0))break i}s=je()|0;break e}}while(0);w=0;o=de(67,20)|0;n=w;w=0;if(!(n&1)){t[o>>2]=36800;f[o+4>>0]=-9;e=o+8|0;t[e>>2]=0;l=o+12|0;t[l>>2]=0;r=o+16|0;t[r>>2]=0;a=t[p>>2]|0;n=t[v>>2]|0;i=a-n|0;do{if((a|0)!=(n|0)){if(!((i|0)<0?(w=0,ue(178,e|0),n=w,w=0,n&1):0))k=62;if((k|0)==62?(w=0,s=de(67,i|0)|0,n=w,w=0,!(n&1)):0){t[l>>2]=s;t[e>>2]=s;t[r>>2]=s+i;a=t[v>>2]|0;r=t[p>>2]|0;if((a|0)==(r|0))break;do{f[s>>0]=f[a>>0]|0;s=(t[l>>2]|0)+1|0;t[l>>2]=s;a=a+1|0}while((a|0)!=(r|0));a=t[v>>2]|0;break}s=je()|0;a=t[e>>2]|0;if(a){if((t[l>>2]|0)!=(a|0))t[l>>2]=a;Bp(a)}Bp(o);break e}}while(0);if(!a){c=m;return o|0}if((t[p>>2]|0)!=(a|0))t[p>>2]=a;Bp(a);c=m;return o|0}else k=52}else k=52}while(0);if((k|0)==52)s=je()|0;a=t[v>>2]|0;if(!a)Qe(s|0);if((t[p>>2]|0)!=(a|0))t[p>>2]=a;Bp(a);Qe(s|0);return 0}function Qv(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0;p=c;c=c+32|0;k=p+28|0;y=p+16|0;v=p+4|0;m=p;t[y>>2]=0;M=y+4|0;t[M>>2]=0;t[y+8>>2]=0;b=Lp(5)|0;t[y>>2]=b;_=y+8|0;t[_>>2]=b+5;f[b>>0]=74;f[b+1>>0]=70;f[b+2>>0]=73;f[b+3>>0]=70;f[b+4>>0]=0;t[M>>2]=b+5;w=0;ce(84,y|0,t[e>>2]&65535|0);b=w;w=0;e:do{if(!(b&1)){h=t[e+4>>2]&255;i=t[M>>2]|0;n=t[_>>2]|0;if(i>>>0>=n>>>0){a=t[y>>2]|0;s=a;l=i-s+1|0;if((l|0)<0){w=0;ue(178,y|0);b=w;w=0;if(b&1){g=43;break}s=t[y>>2]|0;n=t[_>>2]|0;a=s}u=a;i=n-u|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0>>0?l:i;n=t[M>>2]|0;o=n-u|0;if(!i){i=0;l=0}else g=10}else{o=t[M>>2]|0;i=2147483647;n=o;o=o-u|0;g=10}if((g|0)==10){w=0;l=de(67,i|0)|0;b=w;w=0;if(b&1){g=43;break}}f[l+o>>0]=h;d=n-u|0;b=l+(o-d)|0;Em(b|0,a|0,d|0)|0;t[y>>2]=b;t[M>>2]=l+(o+1);t[_>>2]=l+i;if(s)Bp(s)}else{f[i>>0]=h;t[M>>2]=(t[M>>2]|0)+1}w=0;ce(84,y|0,t[e+8>>2]&65535|0);b=w;w=0;if(!(b&1)?(w=0,ce(84,y|0,t[e+12>>2]&65535|0),b=w,w=0,!(b&1)):0){b=e+16|0;d=t[b>>2]&255;i=t[M>>2]|0;a=t[_>>2]|0;if(i>>>0>=a>>>0){s=t[y>>2]|0;n=s;l=i-n+1|0;if((l|0)<0){w=0;ue(178,y|0);h=w;w=0;if(h&1){g=43;break}s=t[y>>2]|0;n=s;a=t[_>>2]|0}h=s;i=a-h|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0>>0?l:i;l=t[M>>2]|0;o=l-h|0;if(!i){u=0;a=0}else g=23}else{o=t[M>>2]|0;i=2147483647;l=o;o=o-h|0;g=23}if((g|0)==23){w=0;a=de(67,i|0)|0;u=w;w=0;if(u&1){g=43;break}else u=i}f[a+o>>0]=d;i=a+(o+1)|0;h=l-h|0;d=a+(o-h)|0;Em(d|0,s|0,h|0)|0;t[y>>2]=d;t[M>>2]=i;t[_>>2]=a+u;if(n){Bp(n);i=t[M>>2]|0}}else{f[i>>0]=d;i=(t[M>>2]|0)+1|0;t[M>>2]=i}d=e+20|0;h=t[d>>2]&255;n=t[_>>2]|0;if(i>>>0>=n>>>0){a=t[y>>2]|0;s=a;l=i-s+1|0;if((l|0)<0){w=0;ue(178,y|0);u=w;w=0;if(u&1){g=43;break}s=t[y>>2]|0;n=t[_>>2]|0;a=s}u=a;i=n-u|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0>>0?l:i;n=t[M>>2]|0;o=n-u|0;if(!i){i=0;l=0}else g=34}else{o=t[M>>2]|0;i=2147483647;n=o;o=o-u|0;g=34}if((g|0)==34){w=0;l=de(67,i|0)|0;A=w;w=0;if(A&1){g=43;break}}f[l+o>>0]=h;h=n-u|0;A=l+(o-h)|0;Em(A|0,a|0,h|0)|0;t[y>>2]=A;t[M>>2]=l+(o+1);t[_>>2]=l+i;if(s)Bp(s)}else{f[i>>0]=h;t[M>>2]=(t[M>>2]|0)+1}i=t[b>>2]|0;do{if((i|0)>0){if(!(t[e+24>>2]|0)){t[m>>2]=t[M>>2];A=0+(re(i*3|0,t[d>>2]|0)|0)|0;w=0;t[k>>2]=t[m>>2];Ae(15,y|0,k|0,0,A|0)|0;A=w;w=0;if(A&1){g=43;break e}else break}n=Ue(16)|0;w=0;Ee(5,v|0,50792,57);A=w;w=0;if(!(A&1)){w=0;i=Me(1)|0;A=w;w=0;if(!(A&1)?(w=0,Ce(36,n|0,1,i|0,v|0),A=w,w=0,!(A&1)):0){w=0;Ee(6,n|0,824,96);w=0;r=0}else r=1;i=je()|0;xh(v);if(!r){r=i;break e}}else i=je()|0;He(n|0);r=i;break e}}while(0);w=0;o=de(67,20)|0;A=w;w=0;if(!(A&1)){t[o>>2]=36800;f[o+4>>0]=-32;s=o+8|0;t[s>>2]=0;l=o+12|0;t[l>>2]=0;n=o+16|0;t[n>>2]=0;i=t[M>>2]|0;A=t[y>>2]|0;a=i-A|0;do{if((i|0)!=(A|0)){if(!((a|0)<0?(w=0,ue(178,s|0),A=w,w=0,A&1):0))g=53;if((g|0)==53?(w=0,r=de(67,a|0)|0,A=w,w=0,!(A&1)):0){t[l>>2]=r;t[s>>2]=r;t[n>>2]=r+a;i=t[y>>2]|0;n=t[M>>2]|0;if((i|0)==(n|0))break;do{f[r>>0]=f[i>>0]|0;r=(t[l>>2]|0)+1|0;t[l>>2]=r;i=i+1|0}while((i|0)!=(n|0));i=t[y>>2]|0;break}i=je()|0;r=t[s>>2]|0;if(r){if((t[l>>2]|0)!=(r|0))t[l>>2]=r;Bp(r)}Bp(o);g=44;break e}}while(0);if(!i){c=p;return o|0}if((t[M>>2]|0)!=(i|0))t[M>>2]=i;Bp(i);c=p;return o|0}else g=43}else g=43}else g=43}while(0);if((g|0)==43){i=je()|0;g=44}if((g|0)==44)r=i;i=t[y>>2]|0;if(!i)Qe(r|0);if((t[M>>2]|0)!=(i|0))t[M>>2]=i;Bp(i);Qe(r|0);return 0}function ep(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0;o=c;c=c+16|0;h=o;t[h>>2]=0;d=h+4|0;t[d>>2]=0;t[h+8>>2]=0;w=0;i=de(67,1)|0;l=w;w=0;e:do{if((((((!(l&1)?(l=i+1|0,f[i>>0]=1,t[h>>2]=i,t[d>>2]=l,t[h+8>>2]=l,w=0,ce(84,h|0,t[e>>2]&65535|0),l=w,w=0,!(l&1)):0)?(w=0,ce(84,h|0,t[e+4>>2]&65535|0),l=w,w=0,!(l&1)):0)?(w=0,ce(84,h|0,t[e+8>>2]&65535|0),l=w,w=0,!(l&1)):0)?(w=0,ce(84,h|0,t[e+12>>2]&65535|0),l=w,w=0,!(l&1)):0)?(w=0,ce(84,h|0,t[e+16>>2]&65535|0),l=w,w=0,!(l&1)):0)?(w=0,u=de(67,20)|0,l=w,w=0,!(l&1)):0){t[u>>2]=36800;f[u+4>>0]=-8;a=u+8|0;t[a>>2]=0;l=u+12|0;t[l>>2]=0;e=u+16|0;t[e>>2]=0;i=t[d>>2]|0;b=t[h>>2]|0;n=i-b|0;do{if((i|0)!=(b|0)){if(!((n|0)<0?(w=0,ue(178,a|0),b=w,w=0,b&1):0))s=11;if((s|0)==11?(w=0,r=de(67,n|0)|0,b=w,w=0,!(b&1)):0){t[l>>2]=r;t[a>>2]=r;t[e>>2]=r+n;i=t[h>>2]|0;e=t[d>>2]|0;if((i|0)==(e|0))break;do{f[r>>0]=f[i>>0]|0;r=(t[l>>2]|0)+1|0;t[l>>2]=r;i=i+1|0}while((i|0)!=(e|0));i=t[h>>2]|0;break}r=je()|0;i=t[a>>2]|0;if(i){if((t[l>>2]|0)!=(i|0))t[l>>2]=i;Bp(i)}Bp(u);break e}}while(0);if(!i){c=o;return u|0}if((t[d>>2]|0)!=(i|0))t[d>>2]=i;Bp(i);c=o;return u|0}else s=25}while(0);if((s|0)==25)r=je()|0;i=t[h>>2]|0;if(!i)Qe(r|0);if((t[d>>2]|0)!=(i|0))t[d>>2]=i;Bp(i);Qe(r|0);return 0}function ip(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0;s=Lp(5)|0;f[s>>0]=109;f[s+1>>0]=114;f[s+2>>0]=102;f[s+3>>0]=120;f[s+4>>0]=e;w=0;a=de(67,20)|0;n=w;w=0;if(n&1){a=je()|0;Bp(s);Qe(a|0)}t[a>>2]=36800;f[a+4>>0]=-24;e=a+8|0;t[e>>2]=0;i=a+12|0;t[i>>2]=0;r=a+16|0;t[r>>2]=0;w=0;n=de(67,5)|0;l=w;w=0;if(!(l&1)){t[i>>2]=n;t[e>>2]=n;t[r>>2]=n+5;f[n>>0]=109;l=(t[i>>2]|0)+1|0;t[i>>2]=l;n=s+1|0;f[l>>0]=f[n>>0]|0;l=(t[i>>2]|0)+1|0;t[i>>2]=l;n=n+1|0;f[l>>0]=f[n>>0]|0;l=(t[i>>2]|0)+1|0;t[i>>2]=l;n=n+1|0;f[l>>0]=f[n>>0]|0;l=(t[i>>2]|0)+1|0;t[i>>2]=l;f[l>>0]=f[n+1>>0]|0;t[i>>2]=(t[i>>2]|0)+1;Bp(s);return a|0}l=je()|0;Bp(a);Bp(s);Qe(l|0);return 0}function rp(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0;g=c;c=c+16|0;y=g;t[y>>2]=0;M=y+4|0;t[M>>2]=0;t[y+8>>2]=0;v=y+8|0;w=0;a=de(67,1)|0;m=w;w=0;e:do{if(!(m&1)){o=a+1|0;m=o;f[a>>0]=i;t[y>>2]=a;t[M>>2]=m;t[v>>2]=m;if((i|0)>0){l=o;m=0;do{k=m+e&255;if(l>>>0>=o>>>0){a=t[y>>2]|0;u=a;l=l-u+1|0;if((l|0)<0){w=0;ue(178,y|0);_=w;w=0;if(_&1){p=28;break}u=t[y>>2]|0;o=t[v>>2]|0;_=u}else _=a;b=_;a=o-b|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0>>0?l:a;o=t[M>>2]|0;h=o-b|0;if(!a){d=0;l=0}else p=13}else{h=t[M>>2]|0;a=2147483647;o=h;h=h-b|0;p=13}if((p|0)==13){p=0;w=0;l=de(67,a|0)|0;d=w;w=0;if(d&1){p=28;break}else d=a}f[l+h>>0]=k;a=l+(h+1)|0;b=o-b|0;k=l+(h-b)|0;Em(k|0,_|0,b|0)|0;t[y>>2]=k;t[M>>2]=a;t[v>>2]=l+d;if(u){Bp(u);a=t[M>>2]|0}}else{f[l>>0]=k;a=(t[M>>2]|0)+1|0;t[M>>2]=a}o=t[v>>2]|0;if(a>>>0>=o>>>0){u=t[y>>2]|0;l=u;h=a-l+1|0;if((h|0)<0){w=0;ue(178,y|0);k=w;w=0;if(k&1){p=28;break}u=t[y>>2]|0;l=u;o=t[v>>2]|0}b=u;a=o-b|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0>>0?h:a;h=t[M>>2]|0;o=h-b|0;if(!a){a=0;d=0}else p=24}else{o=t[M>>2]|0;a=2147483647;h=o;o=o-b|0;p=24}if((p|0)==24){p=0;w=0;d=de(67,a|0)|0;k=w;w=0;if(k&1){p=28;break}}f[d+o>>0]=0;_=h-b|0;k=d+(o-_)|0;Em(k|0,u|0,_|0)|0;t[y>>2]=k;t[M>>2]=d+(o+1);t[v>>2]=d+a;if(l)Bp(l)}else{f[a>>0]=0;t[M>>2]=(t[M>>2]|0)+1}m=m+1|0;l=t[M>>2]|0;o=t[v>>2]|0}while((m|0)<(i|0));if((p|0)==28){s=je()|0;break}a=r&255;if(l>>>0>>0){f[l>>0]=a;l=(t[M>>2]|0)+1|0;t[M>>2]=l}else p=37}else{l=o;a=r&255;p=37}if((p|0)==37){u=t[y>>2]|0;h=u;d=l-h+1|0;if((d|0)<0){w=0;ue(178,y|0);r=w;w=0;if(r&1){p=29;break}h=t[y>>2]|0;o=t[v>>2]|0;u=h}k=u;l=o-k|0;if(l>>>0<1073741823){l=l<<1;l=l>>>0>>0?d:l;d=t[M>>2]|0;b=d-k|0;if(!l){_=0;o=0}else p=43}else{b=t[M>>2]|0;l=2147483647;d=b;b=b-k|0;p=43}if((p|0)==43){w=0;o=de(67,l|0)|0;r=w;w=0;if(r&1){p=29;break}else _=l}f[o+b>>0]=a;l=o+(b+1)|0;e=d-k|0;r=o+(b-e)|0;Em(r|0,u|0,e|0)|0;t[y>>2]=r;t[M>>2]=l;t[v>>2]=o+_;if(h){Bp(h);l=t[M>>2]|0}}k=n&255;a=t[v>>2]|0;if(l>>>0>=a>>>0){o=t[y>>2]|0;u=o;l=l-u+1|0;if((l|0)<0){w=0;ue(178,y|0);n=w;w=0;if(n&1){p=29;break}u=t[y>>2]|0;a=t[v>>2]|0;o=u}_=o;a=a-_|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0>>0?l:a;h=t[M>>2]|0;d=h-_|0;if(!a){b=0;l=0}else p=54}else{d=t[M>>2]|0;a=2147483647;h=d;d=d-_|0;p=54}if((p|0)==54){w=0;l=de(67,a|0)|0;n=w;w=0;if(n&1){p=29;break}else b=a}f[l+d>>0]=k;a=l+(d+1)|0;r=h-_|0;n=l+(d-r)|0;Em(n|0,o|0,r|0)|0;t[y>>2]=n;t[M>>2]=a;t[v>>2]=l+b;if(u){Bp(u);a=t[M>>2]|0}}else{f[l>>0]=k;a=(t[M>>2]|0)+1|0;t[M>>2]=a}l=t[v>>2]|0;if(a>>>0>=l>>>0){o=t[y>>2]|0;u=o;h=a-u+1|0;if((h|0)<0){w=0;ue(178,y|0);n=w;w=0;if(n&1){p=29;break}u=t[y>>2]|0;l=t[v>>2]|0;o=u}b=o;a=l-b|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0>>0?h:a;l=t[M>>2]|0;d=l-b|0;if(!a){a=0;h=0}else p=65}else{d=t[M>>2]|0;a=2147483647;l=d;d=d-b|0;p=65}if((p|0)==65){w=0;h=de(67,a|0)|0;n=w;w=0;if(n&1){p=29;break}}f[h+d>>0]=0;r=l-b|0;n=h+(d-r)|0;Em(n|0,o|0,r|0)|0;t[y>>2]=n;t[M>>2]=h+(d+1);t[v>>2]=h+a;if(u)Bp(u)}else{f[a>>0]=0;t[M>>2]=(t[M>>2]|0)+1}w=0;d=de(67,20)|0;v=w;w=0;if(!(v&1)){t[d>>2]=36800;f[d+4>>0]=-38;u=d+8|0;t[u>>2]=0;h=d+12|0;t[h>>2]=0;l=d+16|0;t[l>>2]=0;a=t[M>>2]|0;v=t[y>>2]|0;o=a-v|0;do{if((a|0)!=(v|0)){if(!((o|0)<0?(w=0,ue(178,u|0),v=w,w=0,v&1):0))p=72;if((p|0)==72?(w=0,s=de(67,o|0)|0,v=w,w=0,!(v&1)):0){t[h>>2]=s;t[u>>2]=s;t[l>>2]=s+o;a=t[y>>2]|0;l=t[M>>2]|0;if((a|0)==(l|0))break;do{f[s>>0]=f[a>>0]|0;s=(t[h>>2]|0)+1|0;t[h>>2]=s;a=a+1|0}while((a|0)!=(l|0));a=t[y>>2]|0;break}s=je()|0;a=t[u>>2]|0;if(a){if((t[h>>2]|0)!=(a|0))t[h>>2]=a;Bp(a)}Bp(d);break e}}while(0);if(!a){c=g;return d|0}if((t[M>>2]|0)!=(a|0))t[M>>2]=a;Bp(a);c=g;return d|0}else p=29}else p=29}while(0);if((p|0)==29)s=je()|0;a=t[y>>2]|0;if(!a)Qe(s|0);if((t[M>>2]|0)!=(a|0))t[M>>2]=a;Bp(a);Qe(s|0);return 0}function fp(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0;d=(i&65535)>>>8&255;b=e+4|0;r=t[b>>2]|0;_=e+8|0;n=t[_>>2]|0;if(r>>>0>=n>>>0){a=t[e>>2]|0;s=a;l=r-s+1|0;if((l|0)<0){Op(e);s=t[e>>2]|0;n=t[_>>2]|0;a=s}h=a;r=n-h|0;if(r>>>0<1073741823){r=r<<1;r=r>>>0>>0?l:r;l=t[b>>2]|0;n=l-h|0;if(!r){c=0;u=0;o=n;r=l}else k=8}else{n=t[b>>2]|0;r=2147483647;l=n;n=n-h|0;k=8}if((k|0)==8){c=r;u=Lp(r)|0;o=n;r=l}f[u+o>>0]=d;n=u+(o+1)|0;h=r-h|0;d=u+(o-h)|0;Em(d|0,a|0,h|0)|0;t[e>>2]=d;t[b>>2]=n;t[_>>2]=u+c;if(s){Bp(s);n=t[b>>2]|0}}else{f[r>>0]=d;n=(t[b>>2]|0)+1|0;t[b>>2]=n}h=i&255;r=t[_>>2]|0;if(n>>>0>>0){f[n>>0]=h;t[b>>2]=(t[b>>2]|0)+1;return}a=t[e>>2]|0;s=a;n=n-s+1|0;if((n|0)<0){Op(e);s=t[e>>2]|0;r=t[_>>2]|0;a=s}c=a;r=r-c|0;if(r>>>0<1073741823){r=r<<1;r=r>>>0>>0?n:r;l=t[b>>2]|0;n=l-c|0;if(!r){u=0;o=0;r=l}else k=18}else{n=t[b>>2]|0;r=2147483647;l=n;n=n-c|0;k=18}if((k|0)==18){u=r;o=Lp(r)|0;r=l}f[o+n>>0]=h;i=r-c|0;k=o+(n-i)|0;Em(k|0,a|0,i|0)|0;t[e>>2]=k;t[b>>2]=o+(n+1);t[_>>2]=o+u;if(!s)return;Bp(s);return}function np(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0;a=t[e>>2]|0;k=t[i>>2]|0;_=k;u=a;d=r;c=n-d|0;if((c|0)<=0){w=k;return w|0}b=e+8|0;i=t[b>>2]|0;w=e+4|0;h=t[w>>2]|0;s=h;if((c|0)<=(i-s|0)){o=s-_|0;if((c|0)>(o|0)){l=r+o|0;if((l|0)==(n|0))i=h;else{s=l;i=h;do{f[i>>0]=f[s>>0]|0;i=(t[w>>2]|0)+1|0;t[w>>2]=i;s=s+1|0}while((s|0)!=(n|0))}if((o|0)>0)o=i;else{w=k;return w|0}}else{o=h;l=n}a=o-(a+(c-u+_))|0;i=k+a|0;if(i>>>0>>0){s=o;do{f[s>>0]=f[i>>0]|0;i=i+1|0;s=(t[w>>2]|0)+1|0;t[w>>2]=s}while((i|0)!=(h|0))}Tm(o+(0-a)|0,k|0,a|0)|0;Tm(k|0,r|0,l-d|0)|0;w=k;return w|0}s=s-u+c|0;if((s|0)<0){Op(e);i=t[b>>2]|0;a=t[e>>2]|0}l=a;i=i-l|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0>>0?s:i;s=_-l|0;if(!i){l=0;c=0}else o=15}else{i=2147483647;s=_-l|0;o=15}if((o|0)==15){l=i;c=Lp(i)|0}u=c+s|0;i=u;o=c+l|0;if((r|0)!=(n|0)){a=r;l=u;do{f[l>>0]=f[a>>0]|0;l=i+1|0;i=l;a=a+1|0}while((a|0)!=(n|0));a=t[e>>2]|0}r=_-a|0;n=c+(s-r)|0;Em(n|0,a|0,r|0)|0;_=(t[w>>2]|0)-_|0;r=i;Em(r|0,k|0,_|0)|0;i=t[e>>2]|0;t[e>>2]=n;t[w>>2]=r+_;t[b>>2]=o;if(!i){w=u;return w|0}Bp(i);w=u;return w|0}function tp(e){e=e|0;var i=0;t[e>>2]=36800;i=t[e+8>>2]|0;if(!i)return;e=e+12|0;if((t[e>>2]|0)!=(i|0))t[e>>2]=i;Bp(i);return}function ap(e){e=e|0;var i=0,r=0;t[e>>2]=36800;i=t[e+8>>2]|0;if(!i){Bp(e);return}r=e+12|0;if((t[r>>2]|0)!=(i|0))t[r>>2]=i;Bp(i);Bp(e);return}function sp(e,i){e=e|0;i=i|0;var r=0,n=0,a=0;lp(i,-1);lp(i,f[e+4>>0]|0);a=e+12|0;n=e+8|0;e=(t[a>>2]|0)-(t[n>>2]|0)+2|0;lp(i,(e&65535)>>>8&255);lp(i,e&255);e=t[n>>2]|0;if((t[a>>2]|0)==(e|0))return;else r=0;do{lp(i,f[e+r>>0]|0);r=r+1|0;e=t[n>>2]|0}while(r>>>0<((t[a>>2]|0)-e|0)>>>0);return}function lp(e,i){e=e|0;i=i|0;var r=0,n=0,a=0;a=t[e+4>>2]|0;if(a){r=a+24|0;n=t[r>>2]|0;if((n|0)==(t[a+28>>2]|0)){_M[t[(t[a>>2]|0)+52>>2]&63](a,i&255)|0;return}else{t[r>>2]=n+1;f[n>>0]=i;return}}r=e+16|0;n=t[r>>2]|0;if(n>>>0<(t[e+12>>2]|0)>>>0){t[r>>2]=n+1;f[(t[e+8>>2]|0)+n>>0]=i;return}r=Ue(16)|0;w=0;n=Me(1)|0;i=w;w=0;if(i&1){i=je()|0;He(r|0);Qe(i|0)}w=0;Ee(7,r|0,4,n|0);i=w;w=0;if(i&1){i=je()|0;He(r|0);Qe(i|0)}else bi(r|0,824,96)}function op(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;n=(i|0)<4095?(i+128|0)/256|0:16;a=(r*3|0)+2+n|0;f=r+1|0;a=(a|0)<(f|0)|(a|0)>(i|0)?f:a;t[e+4>>2]=a;f=(n<<2|3)+(r*5|0)|0;f=(f|0)>(i|0)|(f|0)<(a|0)?a:f;t[e+8>>2]=f;r=(r*7|0)+4+(n*17|0)|0;t[e+12>>2]=(r|0)>(i|0)|(r|0)<(f|0)?f:r;t[e>>2]=i;t[e+16>>2]=64;return}function up(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0;h=c;c=c+128|0;o=h+100|0;n=h+16|0;r=h+112|0;u=h+4|0;d=h;a=n;s=e+20|0;l=a+84|0;do{t[a>>2]=t[s>>2];a=a+4|0;s=s+4|0}while((a|0)<(l|0));t[n+16>>2]=t[e+4>>2];s=Ki(r,n,e+56|0)|0;r=t[(t[s>>2]|0)+16>>2]|0;e=e+8|0;w=0;t[o>>2]=t[e>>2];t[o+4>>2]=t[e+4>>2];t[o+8>>2]=t[e+8>>2];r=pe(r|0,s|0,o|0)|0;e=w;w=0;do{if(e&1)r=je()|0;else{a=i+4|0;t[u>>2]=t[a>>2];t[u+4>>2]=t[a+4>>2];t[u+8>>2]=t[a+8>>2];a=i+16|0;e=t[a>>2]|0;o=u+8|0;t[o>>2]=(t[o>>2]|0)-e;o=u+4|0;t[o>>2]=(t[o>>2]|0)+e;o=t[(t[s>>2]|0)+12>>2]|0;t[d>>2]=r;w=0;r=Ae(o|0,s|0,d|0,u|0,((f[i>>0]|0)==0?0:(t[i+8>>2]|0)+e|0)|0)|0;u=w;w=0;if(u&1){r=je()|0;n=t[d>>2]|0;t[d>>2]=0;if(!n)break;tM[t[(t[n>>2]|0)+4>>2]&255](n);break}n=t[d>>2]|0;t[d>>2]=0;if(n)tM[t[(t[n>>2]|0)+4>>2]&255](n);if(!(t[i+4>>2]|0))t[a>>2]=(t[a>>2]|0)+r;if(!s){c=h;return}tM[t[(t[s>>2]|0)+4>>2]&255](s);c=h;return}}while(0);if(!s)Qe(r|0);tM[t[(t[s>>2]|0)+4>>2]&255](s);Qe(r|0)}function cp(e,i){e=e|0;i=i|0;t[e>>2]=t[i>>2];t[e+4>>2]=t[i+4>>2];t[e+8>>2]=t[i+8>>2];f[e+12>>0]=0;i=e+16|0;e=i+100|0;do{t[i>>2]=0;i=i+4|0}while((i|0)<(e|0));return}function hp(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,m=0,v=0,p=0,g=0,y=0,M=0;g=c;c=c+32|0;p=g+4|0;_=g+16|0;y=g;dp(e);k=e+16|0;a=t[e+24>>2]|0;e:do{if((a+-2|0)>>>0<=14){m=e+40|0;r=t[m>>2]|0;if(r>>>0>2)r=5;else{v=e+32|0;s=t[v>>2]|0;switch(s|0){case 0:{r=1;break e}case 4:{if((r|0)==2){r=2;break e}break}case 3:break;default:if(r){r=2;break e}}b=e+100|0;r=e+108|0;n=t[r>>2]|0;if((n|0)<1){n=t[k>>2]|0;t[r>>2]=n;r=t[e+20>>2]|0;t[e+112>>2]=r}else r=t[e+112>>2]|0;u=xm(r|0,((r|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;o=(a+7|0)/8|0;o=xm(u|0,O|0,o|0,((o|0)<0)<<31>>31|0)|0;u=i+4|0;r=t[u>>2]|0;l=i+8|0;if((r|0)!=0?(h=t[l>>2]|0,d=xm(s|0,((s|0)<0)<<31>>31|0,o|0,O|0)|0,a=O,0<(a|0)|0==(a|0)&h>>>0>>0):0){r=Ue(16)|0;w=0;n=Me(1)|0;y=w;w=0;if(!(y&1)?(w=0,Ee(7,r|0,3,n|0),y=w,w=0,!(y&1)):0)bi(r|0,824,96);y=je()|0;He(r|0);Qe(y|0)}h=e+52|0;d=e+12|0;if((s|0)>0)s=0;else{c=g;return}while(1){bp(e,(s|0)==0);n=Xi(_,k,h)|0;a=t[(t[n>>2]|0)+8>>2]|0;w=0;t[p>>2]=t[i>>2];t[p+4>>2]=t[i+4>>2];t[p+8>>2]=t[i+8>>2];a=pe(a|0,n|0,p|0)|0;M=w;w=0;if(M&1){a=32;break}M=t[(t[n>>2]|0)+16>>2]|0;t[y>>2]=a;w=0;le(M|0,n|0,y|0,b|0,e|0,(f[d>>0]|0)!=0|0);M=w;w=0;if(M&1){a=30;break}a=t[y>>2]|0;t[y>>2]=0;if(a)tM[t[(t[a>>2]|0)+4>>2]&255](a);if(!r)r=0;else{r=r+o|0;t[u>>2]=r;t[l>>2]=(t[l>>2]|0)-o}a=(t[m>>2]|0)==0;s=(a&1)+s|0;if(n)tM[t[(t[n>>2]|0)+4>>2]&255](n);if(!a){a=34;break}if((s|0)>=(t[v>>2]|0)){a=34;break}}if((a|0)==30){r=je()|0;a=t[y>>2]|0;t[y>>2]=0;if(a)tM[t[(t[a>>2]|0)+4>>2]&255](a)}else if((a|0)==32){r=je()|0;if(!n){M=r;Qe(M|0)}}else if((a|0)==34){c=g;return}tM[t[(t[n>>2]|0)+4>>2]&255](n);M=r;Qe(M|0)}}else r=2}while(0);n=Ue(16)|0;w=0;a=Me(1)|0;M=w;w=0;if(!(M&1)?(w=0,Ee(7,n|0,r|0,a|0),M=w,w=0,!(M&1)):0)bi(n|0,824,96);M=je()|0;He(n|0);Qe(M|0)}function dp(e){e=e|0;var i=0,r=0,f=0,n=0;if((wp(e)|0)<<24>>24!=-40){i=Ue(16)|0;w=0;r=Me(1)|0;n=w;w=0;if(!(n&1)?(w=0,Ee(7,i|0,5,r|0),n=w,w=0,!(n&1)):0)bi(i|0,824,96);n=je()|0;He(i|0);Qe(n|0)}i=wp(e)|0;if(i<<24>>24==-38)return;while(1){f=((kp(e)|0)&255)<<8;f=f|(kp(e)|0)&255;i=mp(e,i)|0;r=-2-i+f|0;if((r|0)<0)break;if((r|0)>0){i=f+-2-i|0;r=0;do{kp(e)|0;r=r+1|0}while((r|0)!=(i|0))}i=wp(e)|0;if(i<<24>>24==-38){n=8;break}}if((n|0)==8)return;i=Ue(16)|0;w=0;r=Me(1)|0;n=w;w=0;if(!(n&1)?(w=0,Ee(7,i|0,5,r|0),n=w,w=0,!(n&1)):0)bi(i|0,824,96);n=je()|0;He(i|0);Qe(n|0)}function bp(e,i){e=e|0;i=i|0;var r=0,f=0,n=0;if(!i){if((kp(e)|0)<<24>>24!=-1){i=Ue(16)|0;w=0;r=Me(1)|0;e=w;w=0;if(!(e&1)?(w=0,Ee(7,i|0,12,r|0),e=w,w=0,!(e&1)):0)bi(i|0,824,96);e=je()|0;He(i|0);Qe(e|0)}if((kp(e)|0)<<24>>24!=-38){i=Ue(16)|0;w=0;r=Me(1)|0;e=w;w=0;if(!(e&1)?(w=0,Ee(7,i|0,5,r|0),e=w,w=0,!(e&1)):0)bi(i|0,824,96);e=je()|0;He(i|0);Qe(e|0)}}kp(e)|0;kp(e)|0;r=kp(e)|0;f=r&255;do{if(r<<24>>24==1){kp(e)|0;r=0;n=20}else{if((f|0)==(t[e+32>>2]|0)){i=kp(e)|0;if(!(r<<24>>24))break;else{r=0;n=20;break}}i=Ue(16)|0;w=0;r=Me(1)|0;e=w;w=0;if(!(e&1)?(w=0,Ee(7,i|0,2,r|0),e=w,w=0,!(e&1)):0)bi(i|0,824,96);e=je()|0;He(i|0);Qe(e|0)}}while(0);if((n|0)==20)while(1){kp(e)|0;r=r+1|0;i=kp(e)|0;if((r|0)==(f|0))break;else n=20}t[e+36>>2]=i&255;n=kp(e)|0;r=e+40|0;t[r>>2]=n&255;if((n&255)>=3){i=Ue(16)|0;w=0;r=Me(1)|0;e=w;w=0;if(!(e&1)?(w=0,Ee(7,i|0,5,r|0),e=w,w=0,!(e&1)):0)bi(i|0,824,96);e=je()|0;He(i|0);Qe(e|0)}if((kp(e)|0)<<24>>24){i=Ue(16)|0;w=0;r=Me(1)|0;e=w;w=0;if(!(e&1)?(w=0,Ee(7,i|0,5,r|0),e=w,w=0,!(e&1)):0)bi(i|0,824,96);e=je()|0;He(i|0);Qe(e|0)}f=e+28|0;if(t[f>>2]|0)return;i=t[e+108>>2]|0;if(!i)i=t[e+16>>2]|0;if(!(t[r>>2]|0))r=1;else r=t[e+32>>2]|0;n=re(r,i)|0;t[f>>2]=re(n,((t[e+24>>2]|0)+7|0)/8|0)|0;return}function _p(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0;if((r|0)<=0)return;d=i+4|0;b=i+8|0;k=0;do{_=kp(e)|0;n=t[d>>2]|0;a=t[b>>2]|0;if(n>>>0>=a>>>0){s=t[i>>2]|0;l=s;o=n-l+1|0;if((o|0)<0){Op(i);l=t[i>>2]|0;a=t[b>>2]|0;s=l}h=s;n=a-h|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?o:n;o=t[d>>2]|0;a=o-h|0;if(!n){c=0;u=0;n=o}else w=10}else{a=t[d>>2]|0;n=2147483647;o=a;a=a-h|0;w=10}if((w|0)==10){w=0;c=n;u=Lp(n)|0;n=o}f[u+a>>0]=_;h=n-h|0;_=u+(a-h)|0;Em(_|0,s|0,h|0)|0;t[i>>2]=_;t[d>>2]=u+(a+1);t[b>>2]=u+c;if(l)Bp(l)}else{f[n>>0]=_;t[d>>2]=(t[d>>2]|0)+1}k=k+1|0}while((k|0)!=(r|0));return}function kp(e){e=e|0;var i=0,r=0,n=0,s=0;r=t[e>>2]|0;if(r){e=r+12|0;i=t[e>>2]|0;if((i|0)==(t[r+16>>2]|0))e=lM[t[(t[r>>2]|0)+40>>2]&127](r)|0;else{t[e>>2]=i+1;e=a[i>>0]|0}s=e&255;return s|0}n=e+8|0;s=t[n>>2]|0;if(s){e=e+4|0;i=t[e>>2]|0;r=f[i>>0]|0;if(!i){s=r;return s|0}t[e>>2]=i+1;t[n>>2]=s+-1;s=r;return s|0}e=Ue(16)|0;w=0;i=Me(1)|0;s=w;w=0;if(s&1){s=je()|0;He(e|0);Qe(s|0)}w=0;Ee(7,e|0,4,i|0);s=w;w=0;if(s&1){s=je()|0;He(e|0);Qe(s|0)}else bi(e|0,824,96);return 0}function wp(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0,l=0,o=0;r=c;c=c+176|0;i=r+152|0;o=r+16|0;s=r;l=kp(e)|0;f=l&255;if(l<<24>>24==-1){do{i=kp(e)|0}while(i<<24>>24==-1);c=r;return i|0}l=o+56|0;a=o+4|0;t[o>>2]=36160;t[l>>2]=36180;w=0;ce(62,o+56|0,a|0);n=w;w=0;if(n&1){o=je()|0;nd(l);Qe(o|0)}t[o+128>>2]=0;t[o+132>>2]=-1;t[o>>2]=36200;t[o+56>>2]=36220;w=0;ue(180,a|0);n=w;w=0;do{if(n&1)i=je()|0;else{t[a>>2]=36236;n=o+36|0;t[n>>2]=0;t[n+4>>2]=0;t[n+8>>2]=0;t[n+12>>2]=0;t[o+52>>2]=16;t[i>>2]=0;t[i+4>>2]=0;t[i+8>>2]=0;w=0;ce(63,a|0,i|0);r=w;w=0;if(r&1){o=je()|0;xh(i);xh(n);cd(a);i=o;break}xh(i);t[o+((t[(t[o>>2]|0)+-12>>2]|0)+76)>>2]=48;w=0;i=_e(28,o|0,50907,62)|0;r=w;w=0;if(!(r&1)?(r=i+((t[(t[i>>2]|0)+-12>>2]|0)+4)|0,t[r>>2]=t[r>>2]&-75|8,r=i+((t[(t[i>>2]|0)+-12>>2]|0)+4)|0,t[r>>2]=t[r>>2]|16384,t[i+((t[(t[i>>2]|0)+-12>>2]|0)+12)>>2]=2,w=0,pe(38,i|0,f|0)|0,f=w,w=0,!(f&1)):0){r=Ue(16)|0;w=0;ce(64,s|0,a|0);f=w;w=0;if(!(f&1)){w=0;i=Me(1)|0;f=w;w=0;if(!(f&1)?(w=0,Ce(36,r|0,12,i|0,s|0),f=w,w=0,!(f&1)):0){w=0;Ee(6,r|0,824,96);w=0;e=0}else e=1;i=je()|0;xh(s);if(!e){s=i;t[o>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(n);cd(a);nd(l);Qe(s|0)}}else i=je()|0;He(r|0);s=i;t[o>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(n);cd(a);nd(l);Qe(s|0)}s=je()|0;t[o>>2]=36200;t[l>>2]=36220;t[a>>2]=36236;xh(n);cd(a);nd(l);Qe(s|0)}}while(0);o=i;nd(l);Qe(o|0);return 0}function mp(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0;r=c;c=c+320|0;l=r+300|0;h=r+152|0;o=r+288|0;d=r+16|0;u=r;switch(i<<24>>24){case-9:{t[e+24>>2]=(kp(e)|0)&255;b=((kp(e)|0)&255)<<8|(kp(e)|0)&255;t[e+16>>2]=((kp(e)|0)&255)<<8|(kp(e)|0)&255;t[e+20>>2]=b;t[e+32>>2]=(kp(e)|0)&255;b=6;c=r;return b|0}case-8:{b=vp(e)|0;c=r;return b|0}case-24:{b=pp(e)|0;c=r;return b|0}case-53:case-54:case-55:case-57:case-58:case-59:case-61:case-62:case-63:case-64:{s=h+56|0;n=h+4|0;t[h>>2]=36160;t[s>>2]=36180;w=0;ce(62,h+56|0,n|0);d=w;w=0;if(d&1){b=je()|0;nd(s);Qe(b|0)}t[h+128>>2]=0;t[h+132>>2]=-1;t[h>>2]=36200;t[h+56>>2]=36220;w=0;ue(180,n|0);d=w;w=0;do{if(d&1)e=je()|0;else{t[n>>2]=36236;a=h+36|0;t[a>>2]=0;t[a+4>>2]=0;t[a+8>>2]=0;t[a+12>>2]=0;t[h+52>>2]=16;t[l>>2]=0;t[l+4>>2]=0;t[l+8>>2]=0;w=0;ce(63,n|0,l|0);d=w;w=0;if(d&1){e=je()|0;xh(l);xh(a);cd(n);break}xh(l);w=0;e=_e(28,h|0,50970,26)|0;d=w;w=0;do{if((!(d&1)?(w=0,f=pe(38,e|0,i&255|0)|0,d=w,w=0,!(d&1)):0)?(w=0,_e(28,f|0,50997,18)|0,d=w,w=0,!(d&1)):0){f=Ue(16)|0;w=0;ce(64,o|0,n|0);d=w;w=0;if(!(d&1)){w=0;e=Me(1)|0;d=w;w=0;if(!(d&1)?(w=0,Ce(36,f|0,10,e|0,o|0),d=w,w=0,!(d&1)):0){w=0;Ee(6,f|0,824,96);w=0;r=0}else r=1;e=je()|0;xh(o);if(!r)break}else e=je()|0;He(f|0)}else b=20}while(0);if((b|0)==20)e=je()|0;t[h>>2]=36200;t[s>>2]=36220;t[n>>2]=36236;xh(a);cd(n);nd(s);b=e;Qe(b|0)}}while(0);b=e;nd(s);Qe(b|0)}case-25:case-32:case-2:{b=0;c=r;return b|0}default:{o=d+56|0;a=d+4|0;t[d>>2]=36160;t[o>>2]=36180;w=0;ce(62,d+56|0,a|0);h=w;w=0;if(h&1){b=je()|0;nd(o);Qe(b|0)}t[d+128>>2]=0;t[d+132>>2]=-1;t[d>>2]=36200;t[d+56>>2]=36220;w=0;ue(180,a|0);h=w;w=0;do{if(h&1)e=je()|0;else{t[a>>2]=36236;s=d+36|0;t[s>>2]=0;t[s+4>>2]=0;t[s+8>>2]=0;t[s+12>>2]=0;t[d+52>>2]=16;t[l>>2]=0;t[l+4>>2]=0;t[l+8>>2]=0;w=0;ce(63,a|0,l|0);h=w;w=0;if(h&1){e=je()|0;xh(l);xh(s);cd(a);break}xh(l);w=0;e=_e(28,d|0,51016,20)|0;h=w;w=0;do{if((!(h&1)?(w=0,n=pe(38,e|0,i&255|0)|0,h=w,w=0,!(h&1)):0)?(w=0,_e(28,n|0,51037,13)|0,h=w,w=0,!(h&1)):0){f=Ue(16)|0;w=0;ce(64,u|0,a|0);h=w;w=0;if(!(h&1)){w=0;e=Me(1)|0;h=w;w=0;if(!(h&1)?(w=0,Ce(36,f|0,11,e|0,u|0),h=w,w=0,!(h&1)):0){w=0;Ee(6,f|0,824,96);w=0;r=0}else r=1;e=je()|0;xh(u);if(!r)break}else e=je()|0;He(f|0)}else b=40}while(0);if((b|0)==40)e=je()|0;t[d>>2]=36200;t[o>>2]=36220;t[a>>2]=36236;xh(s);cd(a);nd(o);b=e;Qe(b|0)}}while(0);b=e;nd(o);Qe(b|0)}}return 0}function vp(e){e=e|0;var i=0;if((kp(e)|0)<<24>>24!=1){e=1;return e|0}i=((kp(e)|0)&255)<<8;t[e+52>>2]=i|(kp(e)|0)&255;i=((kp(e)|0)&255)<<8;t[e+56>>2]=i|(kp(e)|0)&255;i=((kp(e)|0)&255)<<8;t[e+60>>2]=i|(kp(e)|0)&255;i=((kp(e)|0)&255)<<8;t[e+64>>2]=i|(kp(e)|0)&255;i=((kp(e)|0)&255)<<8;t[e+68>>2]=i|(kp(e)|0)&255;e=11;return e|0}function pp(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0;r=c;c=c+16|0;n=r;t[n>>2]=0;a=n+4|0;t[a>>2]=0;t[n+8>>2]=0;w=0;Ee(9,e|0,n|0,4);i=w;w=0;e:do{if(i&1)f=3;else{i=t[n>>2]|0;i:do{if(!(Xy(i,51051,4)|0)){w=0;i=de(69,e|0)|0;s=w;w=0;if(s&1){f=3;break e}i=i&255;switch(i|0){case 3:case 2:case 1:case 0:{t[e+44>>2]=i;e=5;i=t[n>>2]|0;break i}case 5:case 4:{i=Ue(16)|0;w=0;e=Me(1)|0;s=w;w=0;if(!(s&1)?(w=0,Ee(7,i|0,7,e|0),s=w,w=0,!(s&1)):0){w=0;Ee(6,i|0,824,96);w=0;f=3;break e}e=je()|0;He(i|0);break e}default:{i=Ue(16)|0;w=0;e=Me(1)|0;s=w;w=0;if(!(s&1)?(w=0,Ee(7,i|0,5,e|0),s=w,w=0,!(s&1)):0){w=0;Ee(6,i|0,824,96);w=0;f=3;break e}e=je()|0;He(i|0);break e}}}else e=4}while(0);if(!i){c=r;return e|0}if((t[a>>2]|0)!=(i|0))t[a>>2]=i;Bp(i);c=r;return e|0}}while(0);if((f|0)==3)e=je()|0;i=t[n>>2]|0;if(!i)Qe(e|0);if((t[a>>2]|0)!=(i|0))t[a>>2]=i;Bp(i);Qe(e|0);return 0}function gp(e){e=e|0;var i=0,r=0,f=0;f=t[(t[e>>2]|0)+-12>>2]|0;t[e+f>>2]=36200;i=e+(f+56)|0;t[i>>2]=36220;r=e+(f+4)|0;t[r>>2]=36236;xh(e+(f+36)|0);cd(r);nd(i);return}function yp(e){e=e|0;return}function Mp(e){e=e|0;Bp(e);return}function Ap(e){e=e|0;f[e>>0]=0;e=e+4|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;t[e+16>>2]=0;t[e+20>>2]=0;t[e+24>>2]=0;t[e+28>>2]=0;return}function Ep(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0;n=c;c=c+16|0;a=n;i=ip(i)|0;t[a>>2]=i;r=e+28|0;f=t[r>>2]|0;if(f>>>0<(t[e+32>>2]|0)>>>0){t[f>>2]=i;t[r>>2]=f+4;t[a>>2]=0;c=n;return}w=0;ce(57,e+24|0,a|0);e=w;w=0;if(e&1){i=je()|0;r=t[a>>2]|0;t[a>>2]=0;if(!r)Qe(i|0);tM[t[(t[r>>2]|0)+4>>2]&255](r);Qe(i|0)}else{i=t[a>>2]|0;t[a>>2]=0;if(!i){c=n;return}tM[t[(t[i>>2]|0)+4>>2]&255](i);c=n;return}}function Sp(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0;f=e+4|0;t[f>>2]=t[i>>2];t[f+4>>2]=t[i+4>>2];t[f+8>>2]=t[i+8>>2];lp(e,-1);lp(e,-40);f=e+28|0;n=e+24|0;i=t[n>>2]|0;if((t[f>>2]|0)==(i|0)){lp(e,-1);lp(e,-39);e=e+16|0;e=t[e>>2]|0;return e|0}else r=0;do{a=t[i+(r<<2)>>2]|0;aM[t[(t[a>>2]|0)+8>>2]&127](a,e);r=r+1|0;i=t[n>>2]|0}while(r>>>0<(t[f>>2]|0)-i>>2>>>0);lp(e,-1);lp(e,-39);a=e+16|0;a=t[a>>2]|0;return a|0}function Tp(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0;d=c;c=c+48|0;l=d+32|0;n=d+12|0;o=d+8|0;h=d+4|0;b=d;f=r+36|0;do{if(((((t[f>>2]|0)==0?(t[r+40>>2]|0)==0:0)?(t[r+44>>2]|0)==0:0)?(t[r+48>>2]|0)==0:0)?(t[r+52>>2]|0)==0:0){f=t[r+8>>2]|0;if((f|0)<=12){a=e+28|0;s=e+32|0;break}op(n,(1<>2]|0);f=ep(n)|0;t[o>>2]=f;a=e+28|0;n=t[a>>2]|0;s=e+32|0;if(n>>>0<(t[s>>2]|0)>>>0){t[n>>2]=f;t[a>>2]=n+4;t[o>>2]=0;break}w=0;ce(57,e+24|0,o|0);l=w;w=0;if(!(l&1)){f=t[o>>2]|0;t[o>>2]=0;if(!f)break;tM[t[(t[f>>2]|0)+4>>2]&255](f);break}r=je()|0;f=t[o>>2]|0;t[o>>2]=0;if(!f){b=r;Qe(b|0)}tM[t[(t[f>>2]|0)+4>>2]&255](f);b=r;Qe(b|0)}else u=6}while(0);do{if((u|0)==6){f=ep(f)|0;t[l>>2]=f;a=e+28|0;n=t[a>>2]|0;s=e+32|0;if(n>>>0<(t[s>>2]|0)>>>0){t[n>>2]=f;t[a>>2]=n+4;t[l>>2]=0;break}w=0;ce(57,e+24|0,l|0);u=w;w=0;if(!(u&1)){f=t[l>>2]|0;t[l>>2]=0;if(!f)break;tM[t[(t[f>>2]|0)+4>>2]&255](f);break}r=je()|0;f=t[l>>2]|0;t[l>>2]=0;if(!f){b=r;Qe(b|0)}tM[t[(t[f>>2]|0)+4>>2]&255](f);b=r;Qe(b|0)}}while(0);f=e+20|0;n=(t[f>>2]|0)+1|0;t[f>>2]=n;f=t[r+24>>2]|0;l=(f|0)==0?1:t[r+16>>2]|0;f=rp(n,l,t[r+20>>2]|0,f)|0;t[h>>2]=f;n=t[a>>2]|0;do{if(n>>>0<(t[s>>2]|0)>>>0){t[n>>2]=f;t[a>>2]=n+4;t[h>>2]=0}else{w=0;ce(57,e+24|0,h|0);u=w;w=0;if(!(u&1)){f=t[h>>2]|0;t[h>>2]=0;if(!f)break;tM[t[(t[f>>2]|0)+4>>2]&255](f);break}r=je()|0;f=t[h>>2]|0;t[h>>2]=0;if(!f){b=r;Qe(b|0)}tM[t[(t[f>>2]|0)+4>>2]&255](f);b=r;Qe(b|0)}}while(0);o=Lp(104)|0;t[o>>2]=36820;t[o+4>>2]=l;n=o+8|0;t[n>>2]=t[i>>2];t[n+4>>2]=t[i+4>>2];t[n+8>>2]=t[i+8>>2];n=o+20|0;f=n+84|0;do{t[n>>2]=t[r>>2];n=n+4|0;r=r+4|0}while((n|0)<(f|0));t[b>>2]=o;r=t[a>>2]|0;if(r>>>0<(t[s>>2]|0)>>>0){t[r>>2]=o;t[a>>2]=r+4;t[b>>2]=0;c=d;return}w=0;ce(57,e+24|0,b|0);e=w;w=0;if(e&1){r=je()|0;f=t[b>>2]|0;t[b>>2]=0;if(!f){b=r;Qe(b|0)}tM[t[(t[f>>2]|0)+4>>2]&255](f);b=r;Qe(b|0)}else{r=t[b>>2]|0;t[b>>2]=0;if(!r){c=d;return}tM[t[(t[r>>2]|0)+4>>2]&255](r);c=d;return}}function Rp(e,i,r,n,a,s,l,o,u,h,d){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;d=d|0;var b=0,_=0,k=0,w=0,m=0,v=0,p=0;k=c;c=c+96|0;_=k;b=ji(e,i,_,0)|0;if(b){a=b;c=k;return a|0}f[_+32>>0]=0;m=t[_+8>>2]|0;p=t[_>>2]|0;v=t[_+4>>2]|0;b=re(v,p)|0;w=t[_+16>>2]|0;b=re(re(b,(m|0)<9?1:2)|0,w)|0;t[n>>2]=b;b=Pc(b)|0;t[r>>2]=b;t[a>>2]=p;t[s>>2]=v;t[l>>2]=m;t[o>>2]=t[_+12>>2];t[u>>2]=w;t[h>>2]=t[_+20>>2];t[d>>2]=t[_+24>>2];a=Yi(b,t[n>>2]|0,e,i,0,0)|0;c=k;return a|0}function Cp(e,i,r,f,n,a,s,l,o){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,h=0,d=0,b=0;d=c;c=c+96|0;u=d+4|0;s=d;h=u;b=h+84|0;do{t[h>>2]=0;h=h+4|0}while((h|0)<(b|0));t[u+16>>2]=a;t[u+8>>2]=n;t[u>>2]=r;t[u+4>>2]=f;t[l>>2]=Pc(i)|0;t[s>>2]=0;r=Ui(l,i,s,e,i,u,0)|0;t[o>>2]=t[s>>2];c=d;return r|0}function Pp(e,i){e=e|0;i=i|0;var r=0;r=c;c=c+16|0;t[r>>2]=i;i=t[9320]|0;By(i,e,r)|0;Ty(10,i)|0;Be()}function Ip(e){e=e|0;Fe(51337,51366,1164,51442)}function Op(e){e=e|0;Fe(51463,51486,303,51442)}function xp(){var e=0,i=0;e=c;c=c+16|0;if(!(ai(37024,4)|0)){i=ri(t[9255]|0)|0;c=e;return i|0}else Pp(51562,e);return 0}function Lp(e){e=e|0;var i=0;i=(e|0)==0?1:e;e=Pc(i)|0;e:do{if(!e){while(1){e=Yp()|0;if(!e)break;gM[e&7]();e=Pc(i)|0;if(e)break e}i=Ue(4)|0;t[i>>2]=36844;bi(i|0,592,78)}}while(0);return e|0}function Bp(e){e=e|0;Ic(e);return}function zp(e){e=e|0;Bp(e);return}function Dp(e){e=e|0;t[e>>2]=36844;return}function Np(e){e=e|0;return}function Fp(e){e=e|0;Bp(e);return}function Hp(e){e=e|0;return 51611}function Up(e){e=e|0;var i=0;i=c;c=c+16|0;w=0;Se(e|0);e=w;w=0;if(!(e&1)){w=0;ce(85,51626,i|0);w=0}e=je(0)|0;We(e|0)|0;w=0;ce(85,51666,i+8|0);w=0;e=je(0)|0;w=0;Se(3);i=w;w=0;if(i&1){i=je(0)|0;Ni(i)}else Ni(e)}function jp(){var e=0,i=0,r=0;w=0;e=Me(2)|0;r=w;w=0;if(r&1){r=je(0)|0;Ni(r)}if(((e|0)!=0?(i=t[e>>2]|0,(i|0)!=0):0)?(r=i+48|0,(t[r>>2]&-256|0)==1126902528?(t[r+4>>2]|0)==1129074247:0):0)Up(t[i+12>>2]|0);r=t[9208]|0;t[9208]=r+0;Up(r)}function Yp(){var e=0;e=t[9214]|0;t[9214]=e+0;return e|0}function qp(e){e=e|0;return}function $p(e){e=e|0;t[e>>2]=36868;Sg(e+4|0);return}function Vp(e){e=e|0;$p(e);Bp(e);return}function Xp(e){e=e|0;return t[e+4>>2]|0}function Gp(e){e=e|0;return}function Kp(e){e=e|0;t[e>>2]=36888;return}function Wp(e){e=e|0;return}function Zp(e){e=e|0;Bp(e);return}function Jp(e){e=e|0;return 51716}function Qp(e){e=e|0;return}function eg(e){e=e|0;return}function ig(e){e=e|0;return}function rg(e){e=e|0;Bp(e);return}function fg(e){e=e|0;Bp(e);return}function ng(e){e=e|0;Bp(e);return}function tg(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0;s=c;c=c+64|0;a=s;if((e|0)!=(i|0))if((i|0)!=0?(n=cg(i,656,672,0)|0,(n|0)!=0):0){i=a;f=i+56|0;do{t[i>>2]=0;i=i+4|0}while((i|0)<(f|0));t[a>>2]=n;t[a+8>>2]=e;t[a+12>>2]=-1;t[a+48>>2]=1;AM[t[(t[n>>2]|0)+28>>2]&63](n,a,t[r>>2]|0,1);if((t[a+24>>2]|0)==1){t[r>>2]=t[a+16>>2];i=1}else i=0}else i=0;else i=1;c=s;return i|0}function ag(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0;e=i+16|0;a=t[e>>2]|0;do{if(a){if((a|0)!=(r|0)){n=i+36|0;t[n>>2]=(t[n>>2]|0)+1;t[i+24>>2]=2;f[i+54>>0]=1;break}e=i+24|0;if((t[e>>2]|0)==2)t[e>>2]=n}else{t[e>>2]=r;t[i+24>>2]=n;t[i+36>>2]=1}}while(0);return}function sg(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;if((e|0)==(t[i+8>>2]|0))ag(0,i,r,f);return}function lg(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;if((e|0)==(t[i+8>>2]|0))ag(0,i,r,f);else{e=t[e+8>>2]|0;AM[t[(t[e>>2]|0)+28>>2]&63](e,i,r,f)}return}function og(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0;a=t[e+4>>2]|0;n=a>>8;if(a&1)n=t[(t[r>>2]|0)+n>>2]|0;e=t[e>>2]|0;AM[t[(t[e>>2]|0)+28>>2]&63](e,i,r+n|0,(a&2|0)!=0?f:2);return}function ug(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0;e:do{if((e|0)!=(t[i+8>>2]|0)){s=t[e+12>>2]|0;a=e+16+(s<<3)|0;og(e+16|0,i,r,n);if((s|0)>1){s=i+54|0;e=e+24|0;do{og(e,i,r,n);if(f[s>>0]|0)break e;e=e+8|0}while(e>>>0>>0)}}else ag(0,i,r,n)}while(0);return}function cg(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0;w=c;c=c+64|0;k=w;_=t[e>>2]|0;b=e+(t[_+-8>>2]|0)|0;_=t[_+-4>>2]|0;t[k>>2]=r;t[k+4>>2]=e;t[k+8>>2]=i;t[k+12>>2]=a;a=k+16|0;e=k+20|0;i=k+24|0;s=k+28|0;l=k+32|0;o=k+40|0;u=(_|0)==(r|0);h=a;d=h+36|0;do{t[h>>2]=0;h=h+4|0}while((h|0)<(d|0));n[a+36>>1]=0;f[a+38>>0]=0;e:do{if(u){t[k+48>>2]=1;hM[t[(t[r>>2]|0)+20>>2]&15](r,k,b,b,1,0);a=(t[i>>2]|0)==1?b:0}else{fM[t[(t[_>>2]|0)+24>>2]&15](_,k,b,1,0);switch(t[k+36>>2]|0){case 0:{a=(t[o>>2]|0)==1&(t[s>>2]|0)==1&(t[l>>2]|0)==1?t[e>>2]|0:0;break e}case 1:break;default:{a=0;break e}}if((t[i>>2]|0)!=1?!((t[o>>2]|0)==0&(t[s>>2]|0)==1&(t[l>>2]|0)==1):0){a=0;break}a=t[a>>2]|0}}while(0);c=w;return a|0}function hg(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;f[i+53>>0]=1;do{if((t[i+4>>2]|0)==(n|0)){f[i+52>>0]=1;n=i+16|0;e=t[n>>2]|0;if(!e){t[n>>2]=r;t[i+24>>2]=a;t[i+36>>2]=1;if(!((a|0)==1?(t[i+48>>2]|0)==1:0))break;f[i+54>>0]=1;break}if((e|0)!=(r|0)){a=i+36|0;t[a>>2]=(t[a>>2]|0)+1;f[i+54>>0]=1;break}e=i+24|0;n=t[e>>2]|0;if((n|0)==2){t[e>>2]=a;n=a}if((n|0)==1?(t[i+48>>2]|0)==1:0)f[i+54>>0]=1}}while(0);return}function dg(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0;e:do{if((e|0)==(t[i+8>>2]|0)){if((t[i+4>>2]|0)==(r|0)?(s=i+28|0,(t[s>>2]|0)!=1):0)t[s>>2]=n}else{if((e|0)!=(t[i>>2]|0)){k=t[e+12>>2]|0;o=e+16+(k<<3)|0;_g(e+16|0,i,r,n,a);s=e+24|0;if((k|0)<=1)break;l=t[e+8>>2]|0;if((l&2|0)==0?(u=i+36|0,(t[u>>2]|0)!=1):0){if(!(l&1)){l=i+54|0;while(1){if(f[l>>0]|0)break e;if((t[u>>2]|0)==1)break e;_g(s,i,r,n,a);s=s+8|0;if(s>>>0>=o>>>0)break e}}l=i+24|0;e=i+54|0;while(1){if(f[e>>0]|0)break e;if((t[u>>2]|0)==1?(t[l>>2]|0)==1:0)break e;_g(s,i,r,n,a);s=s+8|0;if(s>>>0>=o>>>0)break e}}l=i+54|0;while(1){if(f[l>>0]|0)break e;_g(s,i,r,n,a);s=s+8|0;if(s>>>0>=o>>>0)break e}}if((t[i+16>>2]|0)!=(r|0)?(_=i+20|0,(t[_>>2]|0)!=(r|0)):0){t[i+32>>2]=n;h=i+44|0;if((t[h>>2]|0)==4)break;l=t[e+12>>2]|0;o=e+16+(l<<3)|0;u=i+52|0;n=i+53|0;d=i+54|0;c=e+8|0;b=i+24|0;i:do{if((l|0)>0){l=0;s=0;e=e+16|0;while(1){f[u>>0]=0;f[n>>0]=0;bg(e,i,r,r,1,a);if(f[d>>0]|0){k=20;break i}do{if(f[n>>0]|0){if(!(f[u>>0]|0))if(!(t[c>>2]&1)){s=1;k=20;break i}else{s=1;break}if((t[b>>2]|0)==1)break i;if(!(t[c>>2]&2))break i;else{l=1;s=1}}}while(0);e=e+8|0;if(e>>>0>=o>>>0){k=20;break}}}else{l=0;s=0;k=20}}while(0);do{if((k|0)==20){if((!l?(t[_>>2]=r,r=i+40|0,t[r>>2]=(t[r>>2]|0)+1,(t[i+36>>2]|0)==1):0)?(t[b>>2]|0)==2:0){f[d>>0]=1;if(s)break}else k=24;if((k|0)==24?s:0)break;t[h>>2]=4;break e}}while(0);t[h>>2]=3;break}if((n|0)==1)t[i+32>>2]=1}}while(0);return}function bg(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0;l=t[e+4>>2]|0;s=l>>8;if(l&1)s=t[(t[f>>2]|0)+s>>2]|0;e=t[e>>2]|0;hM[t[(t[e>>2]|0)+20>>2]&15](e,i,r,f+s|0,(l&2|0)!=0?n:2,a);return}function _g(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0;s=t[e+4>>2]|0;a=s>>8;if(s&1)a=t[(t[r>>2]|0)+a>>2]|0;e=t[e>>2]|0;fM[t[(t[e>>2]|0)+24>>2]&15](e,i,r+a|0,(s&2|0)!=0?f:2,n);return}function kg(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0;e:do{if((e|0)==(t[i+8>>2]|0)){if((t[i+4>>2]|0)==(r|0)?(s=i+28|0,(t[s>>2]|0)!=1):0)t[s>>2]=n}else{if((e|0)!=(t[i>>2]|0)){o=t[e+8>>2]|0;fM[t[(t[o>>2]|0)+24>>2]&15](o,i,r,n,a);break}if((t[i+16>>2]|0)!=(r|0)?(l=i+20|0,(t[l>>2]|0)!=(r|0)):0){t[i+32>>2]=n;n=i+44|0;if((t[n>>2]|0)==4)break;s=i+52|0;f[s>>0]=0;u=i+53|0;f[u>>0]=0;e=t[e+8>>2]|0;hM[t[(t[e>>2]|0)+20>>2]&15](e,i,r,r,1,a);if(f[u>>0]|0){if(!(f[s>>0]|0)){s=1;o=13}}else{s=0;o=13}do{if((o|0)==13){t[l>>2]=r;u=i+40|0;t[u>>2]=(t[u>>2]|0)+1;if((t[i+36>>2]|0)==1?(t[i+24>>2]|0)==2:0){f[i+54>>0]=1;if(s)break}else o=16;if((o|0)==16?s:0)break;t[n>>2]=4;break e}}while(0);t[n>>2]=3;break}if((n|0)==1)t[i+32>>2]=1}}while(0);return}function wg(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;do{if((e|0)==(t[i+8>>2]|0)){if((t[i+4>>2]|0)==(r|0)?(l=i+28|0,(t[l>>2]|0)!=1):0)t[l>>2]=n}else if((e|0)==(t[i>>2]|0)){if((t[i+16>>2]|0)!=(r|0)?(s=i+20|0,(t[s>>2]|0)!=(r|0)):0){t[i+32>>2]=n;t[s>>2]=r;a=i+40|0;t[a>>2]=(t[a>>2]|0)+1;if((t[i+36>>2]|0)==1?(t[i+24>>2]|0)==2:0)f[i+54>>0]=1;t[i+44>>2]=4;break}if((n|0)==1)t[i+32>>2]=1}}while(0);return}function mg(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0;if((e|0)==(t[i+8>>2]|0))hg(0,i,r,n,a);else{h=i+52|0;d=f[h>>0]|0;b=i+53|0;_=f[b>>0]|0;c=t[e+12>>2]|0;l=e+16+(c<<3)|0;f[h>>0]=0;f[b>>0]=0;bg(e+16|0,i,r,n,a,s);e:do{if((c|0)>1){o=i+24|0;u=e+8|0;c=i+54|0;e=e+24|0;do{if(f[c>>0]|0)break e;if(!(f[h>>0]|0)){if((f[b>>0]|0)!=0?(t[u>>2]&1|0)==0:0)break e}else{if((t[o>>2]|0)==1)break e;if(!(t[u>>2]&2))break e}f[h>>0]=0;f[b>>0]=0;bg(e,i,r,n,a,s);e=e+8|0}while(e>>>0>>0)}}while(0);f[h>>0]=d;f[b>>0]=_}return}function vg(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;if((e|0)==(t[i+8>>2]|0))hg(0,i,r,f,n);else{e=t[e+8>>2]|0;hM[t[(t[e>>2]|0)+20>>2]&15](e,i,r,f,n,a)}return}function pg(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;if((e|0)==(t[i+8>>2]|0))hg(0,i,r,f,n);return}function gg(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0;n=c;c=c+16|0;f=n;t[f>>2]=t[r>>2];e=uM[t[(t[e>>2]|0)+16>>2]&63](e,i,f)|0;if(e)t[r>>2]=t[f>>2];c=n;return e&1|0}function yg(e){e=e|0;if(!e)e=0;else e=(cg(e,656,704,0)|0)!=0;return e&1|0}function Mg(){var e=0;e=Ue(4)|0;Dp(e);bi(e|0,592,78)}function Ag(){var e=0,i=0,r=0,f=0,n=0,a=0,s=0,l=0;n=c;c=c+48|0;s=n+32|0;r=n+24|0;l=n+16|0;a=n;n=n+36|0;e=xp()|0;if((e|0)!=0?(f=t[e>>2]|0,(f|0)!=0):0){e=f+48|0;i=t[e>>2]|0;e=t[e+4>>2]|0;if(!((i&-256|0)==1126902528&(e|0)==1129074247)){t[r>>2]=t[9257];Pp(51919,r)}if((i|0)==1126902529&(e|0)==1129074247)e=t[f+44>>2]|0;else e=f+80|0;t[n>>2]=e;f=t[f>>2]|0;e=t[f+4>>2]|0;if(uM[t[(t[608>>2]|0)+16>>2]&63](608,f,n)|0){l=t[n>>2]|0;n=t[9257]|0;l=lM[t[(t[l>>2]|0)+8>>2]&127](l)|0;t[a>>2]=n;t[a+4>>2]=e;t[a+8>>2]=l;Pp(51833,a)}else{t[l>>2]=t[9257];t[l+4>>2]=e;Pp(51878,l)}}Pp(51957,s)}function Eg(){var e=0;e=c;c=c+16|0;if(!(Le(37020,184)|0)){c=e;return}else Pp(51730,e)}function Sg(e){e=e|0;var i=0,r=0;r=(t[e>>2]|0)+-4|0;i=t[r>>2]|0;t[r>>2]=i+-1;if((i+-1|0)<0)Bp((t[e>>2]|0)+-12|0);return}function Tg(e){e=e|0;var i=0;i=c;c=c+16|0;Ic(e);if(!(hi(t[9255]|0,0)|0)){c=i;return}else Pp(51780,i)}function Rg(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;e=Hy(e,i,r)|0;return e|0}function Cg(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;e=Uy(e,i,r)|0;return e|0}function Pg(){return 37296}function Ig(){return 37300}function Og(){return 37304}function xg(e){e=e|0;return((e|0)==32|(e+-9|0)>>>0<5)&1|0}function Lg(e){e=e|0;if((e+-48|0)>>>0<10)e=1;else e=((e|32)+-97|0)>>>0<6;return e&1|0}function Bg(){var e=0;if(!(t[9258]|0))e=37308;else e=t[(ni()|0)+60>>2]|0;return e|0}function zg(e){e=e|0;var i=0,r=0;i=0;while(1){if((a[51978+i>>0]|0)==(e|0)){r=2;break}i=i+1|0;if((i|0)==87){i=87;e=52066;r=5;break}}if((r|0)==2)if(!i)e=52066;else{e=52066;r=5}if((r|0)==5)while(1){r=e;while(1){e=r+1|0;if(!(f[r>>0]|0))break;else r=e}i=i+-1|0;if(!i)break;else r=5}return e|0}function Dg(e,i,r){e=e|0;i=i|0;r=r|0;var n=0.0,s=0,l=0.0,o=0,u=0,h=0.0,d=0,b=0,_=0,k=0.0,w=0.0,m=0,v=0,p=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,x=0,L=0,B=0,z=0,D=0,N=0.0;D=c;c=c+512|0;x=D;switch(i|0){case 0:{z=24;B=-149;S=4;break}case 1:{z=53;B=-1074;S=4;break}case 2:{z=53;B=-1074;S=4;break}default:n=0.0}e:do{if((S|0)==4){C=e+4|0;R=e+100|0;do{i=t[C>>2]|0;if(i>>>0<(t[R>>2]|0)>>>0){t[C>>2]=i+1;i=a[i>>0]|0}else i=Hg(e)|0}while((xg(i)|0)!=0);i:do{switch(i|0){case 43:case 45:{s=1-(((i|0)==45&1)<<1)|0;i=t[C>>2]|0;if(i>>>0<(t[R>>2]|0)>>>0){t[C>>2]=i+1;i=a[i>>0]|0;L=s;break i}else{i=Hg(e)|0;L=s;break i}}default:L=1}}while(0);s=i;i=0;do{if((s|32|0)!=(f[53870+i>>0]|0))break;do{if(i>>>0<7){s=t[C>>2]|0;if(s>>>0<(t[R>>2]|0)>>>0){t[C>>2]=s+1;s=a[s>>0]|0;break}else{s=Hg(e)|0;break}}}while(0);i=i+1|0}while(i>>>0<8);i:do{switch(i|0){case 8:break;case 3:{S=23;break}default:{o=(r|0)!=0;if(o&i>>>0>3)if((i|0)==8)break i;else{S=23;break i}r:do{if(!i){i=0;do{if((s|32|0)!=(f[56747+i>>0]|0))break r;do{if(i>>>0<2){s=t[C>>2]|0;if(s>>>0<(t[R>>2]|0)>>>0){t[C>>2]=s+1;s=a[s>>0]|0;break}else{s=Hg(e)|0;break}}}while(0);i=i+1|0}while(i>>>0<3)}}while(0);switch(i|0){case 3:{i=t[C>>2]|0;if(i>>>0<(t[R>>2]|0)>>>0){t[C>>2]=i+1;i=a[i>>0]|0}else i=Hg(e)|0;if((i|0)==40)i=1;else{if(!(t[R>>2]|0)){n=g;break e}t[C>>2]=(t[C>>2]|0)+-1;n=g;break e}while(1){s=t[C>>2]|0;if(s>>>0<(t[R>>2]|0)>>>0){t[C>>2]=s+1;s=a[s>>0]|0}else s=Hg(e)|0;if(!((s+-48|0)>>>0<10|(s+-65|0)>>>0<26)?!((s|0)==95|(s+-97|0)>>>0<26):0)break;i=i+1|0}if((s|0)==41){n=g;break e}s=(t[R>>2]|0)==0;if(!s)t[C>>2]=(t[C>>2]|0)+-1;if(!o){t[(Bg()|0)>>2]=22;Fg(e,0);n=0.0;break e}if(!i){n=g;break e}while(1){i=i+-1|0;if(!s)t[C>>2]=(t[C>>2]|0)+-1;if(!i){n=g;break e}}}case 0:{do{if((s|0)==48){i=t[C>>2]|0;if(i>>>0<(t[R>>2]|0)>>>0){t[C>>2]=i+1;i=a[i>>0]|0}else i=Hg(e)|0;if((i|32|0)!=120){if(!(t[R>>2]|0)){i=48;break}t[C>>2]=(t[C>>2]|0)+-1;i=48;break}i=t[C>>2]|0;if(i>>>0<(t[R>>2]|0)>>>0){t[C>>2]=i+1;i=a[i>>0]|0;o=0}else{i=Hg(e)|0;o=0}r:while(1){switch(i|0){case 46:{S=74;break r}case 48:break;default:{A=0;u=0;M=0;s=0;d=o;b=0;p=0;h=1.0;o=0;n=0.0;break r}}i=t[C>>2]|0;if(i>>>0<(t[R>>2]|0)>>>0){t[C>>2]=i+1;i=a[i>>0]|0;o=1;continue}else{i=Hg(e)|0;o=1;continue}}if((S|0)==74){i=t[C>>2]|0;if(i>>>0<(t[R>>2]|0)>>>0){t[C>>2]=i+1;i=a[i>>0]|0}else i=Hg(e)|0;if((i|0)==48){o=0;s=0;do{i=t[C>>2]|0;if(i>>>0<(t[R>>2]|0)>>>0){t[C>>2]=i+1;i=a[i>>0]|0}else i=Hg(e)|0;o=Mm(o|0,s|0,-1,-1)|0;s=O}while((i|0)==48);A=0;u=0;M=o;d=1;b=1;p=0;h=1.0;o=0;n=0.0}else{A=0;u=0;M=0;s=0;d=o;b=1;p=0;h=1.0;o=0;n=0.0}}while(1){m=i+-48|0;_=i|32;if(m>>>0>=10){v=(i|0)==46;if(!(v|(_+-97|0)>>>0<6)){_=M;m=A;break}if(v)if(!b){v=u;s=A;m=A;b=1;_=p;l=h}else{_=M;m=A;i=46;break}else S=86}else S=86;if((S|0)==86){S=0;i=(i|0)>57?_+-87|0:m;do{if(!((A|0)<0|(A|0)==0&u>>>0<8)){if((A|0)<0|(A|0)==0&u>>>0<14){w=h*.0625;_=p;l=w;n=n+w*+(i|0);break}if((p|0)!=0|(i|0)==0){_=p;l=h}else{_=1;l=h;n=n+h*.5}}else{_=p;l=h;o=i+(o<<4)|0}}while(0);u=Mm(u|0,A|0,1,0)|0;v=M;m=O;d=1}i=t[C>>2]|0;if(i>>>0<(t[R>>2]|0)>>>0){t[C>>2]=i+1;A=m;M=v;i=a[i>>0]|0;p=_;h=l;continue}else{A=m;M=v;i=Hg(e)|0;p=_;h=l;continue}}if(!d){i=(t[R>>2]|0)==0;if(!i)t[C>>2]=(t[C>>2]|0)+-1;if(r){if(!i?(E=t[C>>2]|0,t[C>>2]=E+-1,(b|0)!=0):0)t[C>>2]=E+-2}else Fg(e,0);n=+(L|0)*0.0;break e}d=(b|0)==0;b=d?u:_;d=d?m:s;if((m|0)<0|(m|0)==0&u>>>0<8){s=m;do{o=o<<4;u=Mm(u|0,s|0,1,0)|0;s=O}while((s|0)<0|(s|0)==0&u>>>0<8)}if((i|32|0)==112){s=Jy(e,r)|0;i=O;if((s|0)==0&(i|0)==-2147483648){if(!r){Fg(e,0);n=0.0;break e}if(!(t[R>>2]|0)){s=0;i=0}else{t[C>>2]=(t[C>>2]|0)+-1;s=0;i=0}}}else if(!(t[R>>2]|0)){s=0;i=0}else{t[C>>2]=(t[C>>2]|0)+-1;s=0;i=0}x=Sm(b|0,d|0,2)|0;x=Mm(x|0,O|0,-32,-1)|0;i=Mm(x|0,O|0,s|0,i|0)|0;s=O;if(!o){n=+(L|0)*0.0;break e}if((s|0)>0|(s|0)==0&i>>>0>(0-B|0)>>>0){t[(Bg()|0)>>2]=34;n=+(L|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break e}x=B+-106|0;I=((x|0)<0)<<31>>31;if((s|0)<(I|0)|(s|0)==(I|0)&i>>>0>>0){t[(Bg()|0)>>2]=34;n=+(L|0)*2.2250738585072014e-308*2.2250738585072014e-308;break e}if((o|0)>-1){do{I=!(n>=.5);x=I&1|o<<1;o=x^1;n=n+(I?n:n+-1.0);i=Mm(i|0,s|0,-1,-1)|0;s=O}while((x|0)>-1);u=i;h=n}else{u=i;h=n}i=gm(32,0,B|0,((B|0)<0)<<31>>31|0)|0;i=Mm(u|0,s|0,i|0,O|0)|0;B=O;if(0>(B|0)|0==(B|0)&z>>>0>i>>>0)if((i|0)<0){i=0;S=127}else S=125;else{i=z;S=125}if((S|0)==125)if((i|0)<53)S=127;else{s=i;l=+(L|0);n=0.0}if((S|0)==127){n=+(L|0);s=i;l=n;n=+Zg(+ry(1.0,84-i|0),n)}z=(o&1|0)==0&(h!=0.0&(s|0)<32);n=l*(z?0.0:h)+(n+l*+(((z&1)+o|0)>>>0))-n;if(!(n!=0.0))t[(Bg()|0)>>2]=34;n=+fy(n,u);break e}else i=s}while(0);P=B+z|0;I=0-P|0;o=0;r:while(1){switch(i|0){case 46:{S=138;break r}case 48:break;default:{s=0;_=0;b=0;break r}}i=t[C>>2]|0;if(i>>>0<(t[R>>2]|0)>>>0){t[C>>2]=i+1;i=a[i>>0]|0;o=1;continue}else{i=Hg(e)|0;o=1;continue}}if((S|0)==138){i=t[C>>2]|0;if(i>>>0<(t[R>>2]|0)>>>0){t[C>>2]=i+1;i=a[i>>0]|0}else i=Hg(e)|0;if((i|0)==48){s=0;i=0;while(1){s=Mm(s|0,i|0,-1,-1)|0;o=O;i=t[C>>2]|0;if(i>>>0<(t[R>>2]|0)>>>0){t[C>>2]=i+1;i=a[i>>0]|0}else i=Hg(e)|0;if((i|0)==48)i=o;else{_=o;o=1;b=1;break}}}else{s=0;_=0;b=1}}t[x>>2]=0;d=i+-48|0;u=(i|0)==46;r:do{if(u|d>>>0<10){T=x+496|0;A=0;v=0;p=u;S=_;m=o;E=b;o=0;u=0;b=0;f:while(1){do{if(p)if(!E){s=A;_=v;E=1}else{_=S;i=A;d=v;break f}else{p=Mm(A|0,v|0,1,0)|0;v=O;M=(i|0)!=48;if((u|0)>=125){if(!M){_=S;A=p;break}t[T>>2]=t[T>>2]|1;_=S;A=p;break}_=x+(u<<2)|0;if(o)d=i+-48+((t[_>>2]|0)*10|0)|0;t[_>>2]=d;o=o+1|0;d=(o|0)==9;_=S;A=p;m=1;o=d?0:o;u=(d&1)+u|0;b=M?p:b}}while(0);i=t[C>>2]|0;if(i>>>0<(t[R>>2]|0)>>>0){t[C>>2]=i+1;i=a[i>>0]|0}else i=Hg(e)|0;d=i+-48|0;p=(i|0)==46;if(!(p|d>>>0<10)){d=E;S=161;break r}else S=_}m=(m|0)!=0;S=169}else{A=0;v=0;m=o;d=b;o=0;u=0;b=0;S=161}}while(0);do{if((S|0)==161){T=(d|0)==0;s=T?A:s;_=T?v:_;m=(m|0)!=0;if(!((i|32|0)==101&m))if((i|0)>-1){i=A;d=v;S=169;break}else{i=A;d=v;S=171;break}d=Jy(e,r)|0;i=O;if((d|0)==0&(i|0)==-2147483648){if(!r){Fg(e,0);n=0.0;break}if(!(t[R>>2]|0)){d=0;i=0}else{t[C>>2]=(t[C>>2]|0)+-1;d=0;i=0}}s=Mm(d|0,i|0,s|0,_|0)|0;m=A;_=O;d=v;S=173}}while(0);if((S|0)==169)if(t[R>>2]|0){t[C>>2]=(t[C>>2]|0)+-1;if(m){m=i;S=173}else S=172}else S=171;if((S|0)==171)if(m){m=i;S=173}else S=172;do{if((S|0)==172){t[(Bg()|0)>>2]=22;Fg(e,0);n=0.0}else if((S|0)==173){i=t[x>>2]|0;if(!i){n=+(L|0)*0.0;break}if(((d|0)<0|(d|0)==0&m>>>0<10)&((s|0)==(m|0)&(_|0)==(d|0))?z>>>0>30|(i>>>z|0)==0:0){n=+(L|0)*+(i>>>0);break}e=(B|0)/-2|0;C=((e|0)<0)<<31>>31;if((_|0)>(C|0)|(_|0)==(C|0)&s>>>0>e>>>0){t[(Bg()|0)>>2]=34;n=+(L|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}e=B+-106|0;C=((e|0)<0)<<31>>31;if((_|0)<(C|0)|(_|0)==(C|0)&s>>>0>>0){t[(Bg()|0)>>2]=34;n=+(L|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(o){if((o|0)<9){d=x+(u<<2)|0;i=t[d>>2]|0;do{i=i*10|0;o=o+1|0}while((o|0)!=9);t[d>>2]=i}u=u+1|0}if((b|0)<9?(b|0)<=(s|0)&(s|0)<18:0){if((s|0)==9){n=+(L|0)*+((t[x>>2]|0)>>>0);break}if((s|0)<9){n=+(L|0)*+((t[x>>2]|0)>>>0)/+(t[37312+(8-s<<2)>>2]|0);break}e=z+27+(re(s,-3)|0)|0;i=t[x>>2]|0;if((e|0)>30|(i>>>e|0)==0){n=+(L|0)*+(i>>>0)*+(t[37312+(s+-10<<2)>>2]|0);break}}i=(s|0)%9|0;if(!i){o=0;i=0}else{m=(s|0)>-1?i:i+9|0;d=t[37312+(8-m<<2)>>2]|0;if(u){b=1e9/(d|0)|0;o=0;i=0;_=0;do{R=x+(_<<2)|0;C=t[R>>2]|0;e=((C>>>0)/(d>>>0)|0)+i|0;t[R>>2]=e;i=re((C>>>0)%(d>>>0)|0,b)|0;e=(_|0)==(o|0)&(e|0)==0;_=_+1|0;s=e?s+-9|0:s;o=e?_&127:o}while((_|0)!=(u|0));if(i){t[x+(u<<2)>>2]=i;u=u+1|0}}else{o=0;u=0}i=0;s=9-m+s|0}r:while(1){v=(s|0)<18;p=(s|0)==18;M=x+(o<<2)|0;do{if(!v){if(!p)break r;if((t[M>>2]|0)>>>0>=9007199){s=18;break r}}d=0;b=u+127|0;while(1){m=b&127;_=x+(m<<2)|0;b=Sm(t[_>>2]|0,0,29)|0;b=Mm(b|0,O|0,d|0,0)|0;d=O;if(d>>>0>0|(d|0)==0&b>>>0>1e9){e=Lm(b|0,d|0,1e9,0)|0;b=Bm(b|0,d|0,1e9,0)|0;d=e}else d=0;t[_>>2]=b;e=(m|0)==(o|0);u=(m|0)!=(u+127&127|0)|e?u:(b|0)==0?m:u;if(e)break;else b=m+-1|0}i=i+-29|0}while((d|0)==0);o=o+127&127;if((o|0)==(u|0)){e=u+127&127;u=x+((u+126&127)<<2)|0;t[u>>2]=t[u>>2]|t[x+(e<<2)>>2];u=e}t[x+(o<<2)>>2]=d;s=s+9|0}r:while(1){A=u+1&127;M=x+((u+127&127)<<2)|0;while(1){v=(s|0)==18;p=(s|0)>27?9:1;m=v^1;while(1){b=o&127;_=(b|0)==(u|0);do{if(!_){d=t[x+(b<<2)>>2]|0;if(d>>>0<9007199){S=219;break}if(d>>>0>9007199)break;d=o+1&127;if((d|0)==(u|0)){S=219;break}d=t[x+(d<<2)>>2]|0;if(d>>>0<254740991){S=219;break}if(!(d>>>0>254740991|m)){s=b;break r}}else S=219}while(0);if((S|0)==219?(S=0,v):0){S=220;break r}i=i+p|0;if((o|0)==(u|0))o=u;else break}m=(1<>>p;b=o;d=0;_=o;while(1){C=x+(_<<2)|0;e=t[C>>2]|0;o=(e>>>p)+d|0;t[C>>2]=o;d=re(e&m,v)|0;o=(_|0)==(b|0)&(o|0)==0;_=_+1&127;s=o?s+-9|0:s;o=o?_:b;if((_|0)==(u|0))break;else b=o}if(!d)continue;if((A|0)!=(o|0))break;t[M>>2]=t[M>>2]|1}t[x+(u<<2)>>2]=d;u=A}if((S|0)==220)if(_){t[x+(A+-1<<2)>>2]=0;s=u;u=A}else s=b;n=+((t[x+(s<<2)>>2]|0)>>>0);s=o+1&127;if((s|0)==(u|0)){u=o+2&127;t[x+(u+-1<<2)>>2]=0}w=+(L|0);l=w*(n*1.0e9+ +((t[x+(s<<2)>>2]|0)>>>0));v=i+53|0;_=v-B|0;m=(_|0)<(z|0);s=m&1;b=m?(_|0)<0?0:_:z;if((b|0)<53){N=+Zg(+ry(1.0,105-b|0),l);h=+Qg(l,+ry(1.0,53-b|0));k=N;n=h;h=N+(l-h)}else{k=0.0;n=0.0;h=l}d=o+2&127;do{if((d|0)==(u|0))l=n;else{d=t[x+(d<<2)>>2]|0;do{if(d>>>0>=5e8){if(d>>>0>5e8){n=w*.75+n;break}if((o+3&127|0)==(u|0)){n=w*.5+n;break}else{n=w*.75+n;break}}else{if((d|0)==0?(o+3&127|0)==(u|0):0)break;n=w*.25+n}}while(0);if((53-b|0)<=1){l=n;break}if(+Qg(n,1.0)!=0.0){l=n;break}l=n+1.0}}while(0);n=h+l-k;do{if((v&2147483647|0)>(-2-P|0)){if(+Y(+n)>=9007199254740992.0){s=m&(b|0)==(_|0)?0:s;i=i+1|0;n=n*.5}if((i+50|0)<=(I|0)?!(l!=0.0&(s|0)!=0):0)break;t[(Bg()|0)>>2]=34}}while(0);n=+fy(n,i)}}while(0);break e}default:{if(t[R>>2]|0)t[C>>2]=(t[C>>2]|0)+-1;t[(Bg()|0)>>2]=22;Fg(e,0);n=0.0;break e}}}}}while(0);if((S|0)==23){s=(t[R>>2]|0)==0;if(!s)t[C>>2]=(t[C>>2]|0)+-1;if((r|0)!=0&i>>>0>3)do{if(!s)t[C>>2]=(t[C>>2]|0)+-1;i=i+-1|0}while(i>>>0>3)}n=+(L|0)*y}}while(0);c=D;return+n}function Ng(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0;e:do{if(i>>>0>36){t[(Bg()|0)>>2]=22;s=0;n=0}else{w=e+4|0;k=e+100|0;do{l=t[w>>2]|0;if(l>>>0<(t[k>>2]|0)>>>0){t[w>>2]=l+1;l=a[l>>0]|0}else l=Hg(e)|0}while((xg(l)|0)!=0);i:do{switch(l|0){case 43:case 45:{o=((l|0)==45)<<31>>31;l=t[w>>2]|0;if(l>>>0<(t[k>>2]|0)>>>0){t[w>>2]=l+1;l=a[l>>0]|0;_=o;break i}else{l=Hg(e)|0;_=o;break i}}default:_=0}}while(0);o=(i|0)==0;do{if((i&-17|0)==0&(l|0)==48){l=t[w>>2]|0;if(l>>>0<(t[k>>2]|0)>>>0){t[w>>2]=l+1;l=a[l>>0]|0}else l=Hg(e)|0;if((l|32|0)!=120)if(o){i=8;d=46;break}else{d=32;break}i=t[w>>2]|0;if(i>>>0<(t[k>>2]|0)>>>0){t[w>>2]=i+1;l=a[i>>0]|0}else l=Hg(e)|0;if((a[53879+(l+1)>>0]|0)>15){n=(t[k>>2]|0)==0;if(!n)t[w>>2]=(t[w>>2]|0)+-1;if(!r){Fg(e,0);s=0;n=0;break e}if(n){s=0;n=0;break e}t[w>>2]=(t[w>>2]|0)+-1;s=0;n=0;break e}else{i=16;d=46}}else{i=o?10:i;if((a[53879+(l+1)>>0]|0)>>>0>>0)d=32;else{if(t[k>>2]|0)t[w>>2]=(t[w>>2]|0)+-1;Fg(e,0);t[(Bg()|0)>>2]=22;s=0;n=0;break e}}}while(0);if((d|0)==32)if((i|0)==10){i=l+-48|0;if(i>>>0<10){l=0;while(1){o=(l*10|0)+i|0;i=t[w>>2]|0;if(i>>>0<(t[k>>2]|0)>>>0){t[w>>2]=i+1;l=a[i>>0]|0}else l=Hg(e)|0;i=l+-48|0;if(!(i>>>0<10&o>>>0<429496729)){i=o;break}else l=o}o=0}else{i=0;o=0}r=l+-48|0;if(r>>>0<10){while(1){u=xm(i|0,o|0,10,0)|0;c=O;h=((r|0)<0)<<31>>31;b=~h;if(c>>>0>b>>>0|(c|0)==(b|0)&u>>>0>~r>>>0){u=i;break}i=Mm(u|0,c|0,r|0,h|0)|0;o=O;l=t[w>>2]|0;if(l>>>0<(t[k>>2]|0)>>>0){t[w>>2]=l+1;l=a[l>>0]|0}else l=Hg(e)|0;r=l+-48|0;if(!(r>>>0<10&(o>>>0<429496729|(o|0)==429496729&i>>>0<2576980378))){u=i;break}}if(r>>>0>9){l=u;i=_}else{i=10;d=72}}else{l=i;i=_}}else d=46;i:do{if((d|0)==46){if(!(i+-1&i)){d=f[54136+((i*23|0)>>>5&7)>>0]|0;o=f[53879+(l+1)>>0]|0;r=o&255;if(r>>>0>>0){l=0;while(1){u=r|l<>2]|0;if(l>>>0<(t[k>>2]|0)>>>0){t[w>>2]=l+1;l=a[l>>0]|0}else l=Hg(e)|0;o=f[53879+(l+1)>>0]|0;r=o&255;if(!(u>>>0<134217728&r>>>0>>0))break;else l=u}r=0}else{r=0;u=0}c=Am(-1,-1,d|0)|0;h=O;if((o&255)>>>0>=i>>>0|(r>>>0>h>>>0|(r|0)==(h|0)&u>>>0>c>>>0)){o=r;d=72;break}else l=r;while(1){u=Sm(u|0,l|0,d|0)|0;r=O;u=o&255|u;l=t[w>>2]|0;if(l>>>0<(t[k>>2]|0)>>>0){t[w>>2]=l+1;l=a[l>>0]|0}else l=Hg(e)|0;o=f[53879+(l+1)>>0]|0;if((o&255)>>>0>=i>>>0|(r>>>0>h>>>0|(r|0)==(h|0)&u>>>0>c>>>0)){o=r;d=72;break i}else l=r}}o=f[53879+(l+1)>>0]|0;r=o&255;if(r>>>0>>0){l=0;while(1){u=r+(re(l,i)|0)|0;l=t[w>>2]|0;if(l>>>0<(t[k>>2]|0)>>>0){t[w>>2]=l+1;l=a[l>>0]|0}else l=Hg(e)|0;o=f[53879+(l+1)>>0]|0;r=o&255;if(!(u>>>0<119304647&r>>>0>>0))break;else l=u}r=0}else{u=0;r=0}if((o&255)>>>0>>0){d=Lm(-1,-1,i|0,0)|0;b=O;h=r;while(1){if(h>>>0>b>>>0|(h|0)==(b|0)&u>>>0>d>>>0){o=h;d=72;break i}r=xm(u|0,h|0,i|0,0)|0;c=O;o=o&255;if(c>>>0>4294967295|(c|0)==-1&r>>>0>~o>>>0){o=h;d=72;break i}u=Mm(o|0,0,r|0,c|0)|0;r=O;l=t[w>>2]|0;if(l>>>0<(t[k>>2]|0)>>>0){t[w>>2]=l+1;l=a[l>>0]|0}else l=Hg(e)|0;o=f[53879+(l+1)>>0]|0;if((o&255)>>>0>=i>>>0){o=r;d=72;break}else h=r}}else{o=r;d=72}}}while(0);if((d|0)==72)if((a[53879+(l+1)>>0]|0)>>>0>>0){do{l=t[w>>2]|0;if(l>>>0<(t[k>>2]|0)>>>0){t[w>>2]=l+1;l=a[l>>0]|0}else l=Hg(e)|0}while((a[53879+(l+1)>>0]|0)>>>0>>0);t[(Bg()|0)>>2]=34;o=s;l=n;i=(n&1|0)==0&0==0?_:0}else{l=u;i=_}if(t[k>>2]|0)t[w>>2]=(t[w>>2]|0)+-1;if(!(o>>>0>>0|(o|0)==(s|0)&l>>>0>>0)){if(!((n&1|0)!=0|0!=0|(i|0)!=0)){t[(Bg()|0)>>2]=34;n=Mm(n|0,s|0,-1,-1)|0;s=O;break}if(o>>>0>s>>>0|(o|0)==(s|0)&l>>>0>n>>>0){t[(Bg()|0)>>2]=34;break}}n=((i|0)<0)<<31>>31;n=gm(l^i|0,o^n|0,i|0,n|0)|0;s=O}}while(0);O=s;return n|0}function Fg(e,i){e=e|0;i=i|0;var r=0,f=0,n=0;t[e+104>>2]=i;r=t[e+4>>2]|0;f=t[e+8>>2]|0;n=f-r|0;t[e+108>>2]=n;if((i|0)!=0&(n|0)>(i|0))t[e+100>>2]=r+i;else t[e+100>>2]=f;return}function Hg(e){e=e|0;var i=0,r=0,n=0,s=0,l=0,o=0;r=e+104|0;l=t[r>>2]|0;if((l|0)!=0?(t[e+108>>2]|0)>=(l|0):0)o=4;else{i=Ey(e)|0;if((i|0)>=0){s=t[r>>2]|0;r=e+8|0;if(s){n=t[r>>2]|0;l=t[e+4>>2]|0;r=n;s=s-(t[e+108>>2]|0)+-1|0;if((r-l|0)>(s|0))t[e+100>>2]=l+s;else o=9}else{n=t[r>>2]|0;r=n;o=9}if((o|0)==9)t[e+100>>2]=r;r=t[e+4>>2]|0;if(n){e=e+108|0;t[e>>2]=n+1-r+(t[e>>2]|0)}r=r+-1|0;if((a[r>>0]|0|0)!=(i|0))f[r>>0]=i}else o=4}if((o|0)==4){t[e+100>>2]=0;i=-1}return i|0}function Ug(e){e=e|0;if(e>>>0>4294963200){t[(Bg()|0)>>2]=0-e;e=-1}return e|0}function jg(e){e=e|0;return 0}function Yg(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;return f|0}function qg(e,i){e=e|0;i=i|0;return-1|0}function $g(e){e=e|0;Ic(e);return}function Vg(e,i){e=e|0;i=i|0;return(e+-48|0)>>>0<10|0}function Xg(e,i){e=e|0;i=i|0;return Lg(e)|0}function Gg(e,i,r){e=e|0;i=i|0;r=r|0;if(((f[i>>0]|0)!=0?(qy(i,58885)|0)!=0:0)?(qy(i,54145)|0)!=0:0)r=0;else if(!r)r=Oc(1,4)|0;return r|0}function Kg(e){e=e|0;var i=0,r=0;i=(ni()|0)+176|0;r=t[i>>2]|0;if(e)t[i>>2]=e;return r|0}function Wg(e,i){e=+e;i=+i;var r=0,f=0;u[d>>3]=e;f=t[d>>2]|0;r=t[d+4>>2]|0;u[d>>3]=i;r=t[d+4>>2]&-2147483648|r&2147483647;t[d>>2]=f;t[d+4>>2]=r;return+ +u[d>>3]}function Zg(e,i){e=+e;i=+i;return+ +Wg(e,i)}function Jg(e,i){e=+e;i=+i;var r=0,f=0,n=0,a=0,s=0,l=0,o=0,c=0,h=0,b=0,_=0,k=0;u[d>>3]=e;r=t[d>>2]|0;c=t[d+4>>2]|0;u[d>>3]=i;h=t[d>>2]|0;b=t[d+4>>2]|0;f=Am(r|0,c|0,52)|0;f=f&2047;l=Am(h|0,b|0,52)|0;l=l&2047;_=c&-2147483648;s=Sm(h|0,b|0,1)|0;o=O;e:do{if(!((s|0)==0&(o|0)==0)?(a=b&2147483647,!(a>>>0>2146435072|(a|0)==2146435072&h>>>0>0|(f|0)==2047)):0){n=Sm(r|0,c|0,1)|0;a=O;if(!(a>>>0>o>>>0|(a|0)==(o|0)&n>>>0>s>>>0))return+((n|0)==(s|0)&(a|0)==(o|0)?e*0.0:e);if(!f){f=Sm(r|0,c|0,12)|0;n=O;if((n|0)>-1|(n|0)==-1&f>>>0>4294967295){a=f;f=0;do{f=f+-1|0;a=Sm(a|0,n|0,1)|0;n=O}while((n|0)>-1|(n|0)==-1&a>>>0>4294967295)}else f=0;r=Sm(r|0,c|0,1-f|0)|0;n=O}else n=c&1048575|1048576;if(!l){a=Sm(h|0,b|0,12)|0;s=O;if((s|0)>-1|(s|0)==-1&a>>>0>4294967295){l=0;do{l=l+-1|0;a=Sm(a|0,s|0,1)|0;s=O}while((s|0)>-1|(s|0)==-1&a>>>0>4294967295)}else l=0;h=Sm(h|0,b|0,1-l|0)|0;c=O}else c=b&1048575|1048576;o=gm(r|0,n|0,h|0,c|0)|0;s=O;a=(s|0)>-1|(s|0)==-1&o>>>0>4294967295;i:do{if((f|0)>(l|0)){while(1){if(a)if((r|0)==(h|0)&(n|0)==(c|0))break;else{r=o;n=s}r=Sm(r|0,n|0,1)|0;n=O;f=f+-1|0;o=gm(r|0,n|0,h|0,c|0)|0;s=O;a=(s|0)>-1|(s|0)==-1&o>>>0>4294967295;if((f|0)<=(l|0))break i}i=e*0.0;break e}}while(0);if(a)if((r|0)==(h|0)&(n|0)==(c|0)){i=e*0.0;break}else{n=s;r=o}if(n>>>0<1048576|(n|0)==1048576&r>>>0<0)do{r=Sm(r|0,n|0,1)|0;n=O;f=f+-1|0}while(n>>>0<1048576|(n|0)==1048576&r>>>0<0);if((f|0)>0){b=Mm(r|0,n|0,0,-1048576)|0;r=O;f=Sm(f|0,0,52)|0;r=r|O;f=b|f}else{f=Am(r|0,n|0,1-f|0)|0;r=O}t[d>>2]=f;t[d+4>>2]=r|_;i=+u[d>>3]}else k=3}while(0);if((k|0)==3){i=e*i;i=i/i}return+i}function Qg(e,i){e=+e;i=+i;return+ +Jg(e,i)}function ey(e,i){e=+e;i=i|0;var r=0,f=0,n=0;u[d>>3]=e;r=t[d>>2]|0;f=t[d+4>>2]|0;n=Am(r|0,f|0,52)|0;n=n&2047;switch(n|0){case 0:{if(e!=0.0){e=+ey(e*18446744073709551616.0,i);r=(t[i>>2]|0)+-64|0}else r=0;t[i>>2]=r;break}case 2047:break;default:{t[i>>2]=n+-1022;t[d>>2]=r;t[d+4>>2]=f&-2146435073|1071644672;e=+u[d>>3]}}return+e}function iy(e,i){e=+e;i=i|0;return+ +ey(e,i)}function ry(e,i){e=+e;i=i|0;var r=0;if((i|0)>1023){e=e*8988465674311579538646525.0e283;r=i+-1023|0;if((r|0)>1023){r=i+-2046|0;r=(r|0)>1023?1023:r;e=e*8988465674311579538646525.0e283}}else if((i|0)<-1022){e=e*2.2250738585072014e-308;r=i+1022|0;if((r|0)<-1022){r=i+2044|0;r=(r|0)<-1022?-1022:r;e=e*2.2250738585072014e-308}}else r=i;r=Sm(r+1023|0,0,52)|0;i=O;t[d>>2]=r;t[d+4>>2]=i;return+(e*+u[d>>3])}function fy(e,i){e=+e;i=i|0;return+ +ry(e,i)}function ny(e,i,r){e=e|0;i=i|0;r=r|0;return ty(0,e,i,(r|0)!=0?r:37344)|0}function ty(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0;u=c;c=c+16|0;a=u;l=(n|0)==0?37348:n;n=t[l>>2]|0;e:do{if(!i)if(!n)n=0;else o=15;else{s=(e|0)==0?a:e;if(!r)n=-2;else{if(!n){n=f[i>>0]|0;a=n&255;if(n<<24>>24>-1){t[s>>2]=a;n=n<<24>>24!=0&1;break}n=a+-194|0;if(n>>>0>50){o=15;break}n=t[37076+(n<<2)>>2]|0;a=r+-1|0;if(a){i=i+1|0;o=9}}else{a=r;o=9}i:do{if((o|0)==9){e=f[i>>0]|0;h=(e&255)>>>3;if((h+-16|h+(n>>26))>>>0>7){o=15;break e}while(1){i=i+1|0;n=(e&255)+-128|n<<6;a=a+-1|0;if((n|0)>=0)break;if(!a)break i;e=f[i>>0]|0;if((e&-64)<<24>>24!=-128){o=15;break e}}t[l>>2]=0;t[s>>2]=n;n=r-a|0;break e}}while(0);t[l>>2]=n;n=-2}}}while(0);if((o|0)==15){t[l>>2]=0;t[(Bg()|0)>>2]=84;n=-1}c=u;return n|0}function ay(e){e=e|0;if(!e)e=1;else e=(t[e>>2]|0)==0;return e&1|0}function sy(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0;b=c;c=c+1040|0;u=b+8|0;d=b;o=t[i>>2]|0;t[d>>2]=o;h=(e|0)!=0;f=h?f:256;e=h?e:u;a=o;e:do{if((f|0)!=0&(o|0)!=0){l=f;o=a;f=0;while(1){a=r>>>2;s=a>>>0>=l>>>0;if(!(r>>>0>131|s)){a=o;break e}a=s?l:a;r=r-a|0;a=ly(e,d,a,n)|0;if((a|0)==-1){f=r;break}_=(e|0)==(u|0);o=_?0:a;s=l-o|0;e=_?e:e+(a<<2)|0;f=a+f|0;a=t[d>>2]|0;if((l|0)!=(o|0)&(a|0)!=0){l=s;o=a}else{l=s;break e}}r=f;l=0;a=t[d>>2]|0;f=-1}else{l=f;f=0}}while(0);e:do{if((a|0)!=0?(l|0)!=0&(r|0)!=0:0){s=a;a=e;while(1){e=ty(a,s,r,n)|0;if((e+2|0)>>>0<3)break;s=(t[d>>2]|0)+e|0;t[d>>2]=s;l=l+-1|0;f=f+1|0;if(!((l|0)!=0&(r|0)!=(e|0)))break e;else{r=r-e|0;a=a+4|0}}switch(e|0){case-1:{f=-1;break e}case 0:{t[d>>2]=0;break e}default:{t[n>>2]=0;break e}}}}while(0);if(h)t[i>>2]=t[d>>2];c=b;return f|0}function ly(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var s=0,l=0,o=0,u=0,c=0,h=0;s=t[i>>2]|0;if((n|0)!=0?(l=t[n>>2]|0,(l|0)!=0):0)if(!e){n=r;o=s;h=16}else{t[n>>2]=0;c=e;n=r;u=l;h=37}else if(!e){n=r;h=7}else{l=e;n=r;h=6}e:while(1)if((h|0)==6){if(!n){h=26;break}else e=l;while(1){l=f[s>>0]|0;do{if(((l&255)+-1|0)>>>0<127?n>>>0>4&(s&3|0)==0:0){o=s;while(1){s=t[o>>2]|0;if((s+-16843009|s)&-2139062144){l=s;s=o;h=32;break}t[e>>2]=s&255;t[e+4>>2]=a[o+1>>0];t[e+8>>2]=a[o+2>>0];s=o+4|0;l=e+16|0;t[e+12>>2]=a[o+3>>0];n=n+-4|0;if(n>>>0>4){e=l;o=s}else{h=31;break}}if((h|0)==31){e=l;l=f[s>>0]|0;break}else if((h|0)==32){l=l&255;break}}}while(0);l=l&255;if((l+-1|0)>>>0>=127)break;s=s+1|0;t[e>>2]=l;n=n+-1|0;if(!n){h=26;break e}else e=e+4|0}l=l+-194|0;if(l>>>0>50){h=48;break}c=e;u=t[37076+(l<<2)>>2]|0;s=s+1|0;h=37;continue}else if((h|0)==7){l=f[s>>0]|0;if(((l&255)+-1|0)>>>0<127?(s&3|0)==0:0){l=t[s>>2]|0;if(!((l+-16843009|l)&-2139062144))do{s=s+4|0;n=n+-4|0;l=t[s>>2]|0}while(((l+-16843009|l)&-2139062144|0)==0);l=l&255}l=l&255;if((l+-1|0)>>>0<127){n=n+-1|0;s=s+1|0;h=7;continue}l=l+-194|0;if(l>>>0>50){h=48;break}l=t[37076+(l<<2)>>2]|0;o=s+1|0;h=16;continue}else if((h|0)==16){h=(a[o>>0]|0)>>>3;if((h+-16|h+(l>>26))>>>0>7){h=17;break}s=o+1|0;if(l&33554432){if((f[s>>0]&-64)<<24>>24!=-128){h=20;break}s=o+2|0;if(l&524288){if((f[s>>0]&-64)<<24>>24!=-128){h=23;break}s=o+3|0}}n=n+-1|0;h=7;continue}else if((h|0)==37){l=a[s>>0]|0;h=l>>>3;if((h+-16|h+(u>>26))>>>0>7){h=38;break}o=s+1|0;e=l+-128|u<<6;if((e|0)<0){l=a[o>>0]|0;if((l&192|0)!=128){h=41;break}o=s+2|0;e=l+-128|e<<6;if((e|0)<0){l=a[o>>0]|0;if((l&192|0)!=128){h=44;break}e=l+-128|e<<6;s=s+3|0}else s=o}else s=o;t[c>>2]=e;l=c+4|0;n=n+-1|0;h=6;continue}if((h|0)==17){s=o+-1|0;h=47}else if((h|0)==20){s=o+-1|0;h=47}else if((h|0)==23){s=o+-1|0;h=47}else if((h|0)==26)t[i>>2]=s;else if((h|0)==38){e=c;l=u;s=s+-1|0;h=47}else if((h|0)==41){n=c;r=s+-1|0;h=52}else if((h|0)==44){n=c;r=s+-1|0;h=52}if((h|0)==47)if(!l)h=48;else{n=e;r=s;h=52}if((h|0)==48)if(!(f[s>>0]|0)){if(e){t[e>>2]=0;t[i>>2]=0}r=r-n|0}else{n=e;r=s;h=52}if((h|0)==52){t[(Bg()|0)>>2]=84;if(!n)r=-1;else{t[i>>2]=r;r=-1}}return r|0}function oy(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0;o=c;c=c+16|0;n=o;e:do{if(!i)n=0;else{do{if(r){l=(e|0)==0?n:e;n=f[i>>0]|0;e=n&255;if(n<<24>>24>-1){t[l>>2]=e;n=n<<24>>24!=0&1;break e}n=e+-194|0;if(n>>>0<=50){e=i+1|0;s=t[37076+(n<<2)>>2]|0;if(r>>>0<4?(s&-2147483648>>>((r*6|0)+-6|0)|0)!=0:0)break;n=a[e>>0]|0;r=n>>>3;if((r+-16|r+(s>>26))>>>0<=7){n=n+-128|s<<6;if((n|0)>=0){t[l>>2]=n;n=2;break e}e=a[i+2>>0]|0;if((e&192|0)==128){e=e+-128|n<<6;if((e|0)>=0){t[l>>2]=e;n=3;break e}n=a[i+3>>0]|0;if((n&192|0)==128){t[l>>2]=n+-128|e<<6;n=4;break e}}}}}}while(0);t[(Bg()|0)>>2]=84;n=-1}}while(0);c=o;return n|0}function uy(e,i,r){e=e|0;i=i|0;r=r|0;do{if(e){if(i>>>0<128){f[e>>0]=i;e=1;break}if(i>>>0<2048){f[e>>0]=i>>>6|192;f[e+1>>0]=i&63|128;e=2;break}if(i>>>0<55296|(i&-8192|0)==57344){f[e>>0]=i>>>12|224;f[e+1>>0]=i>>>6&63|128;f[e+2>>0]=i&63|128;e=3;break}if((i+-65536|0)>>>0<1048576){f[e>>0]=i>>>18|240;f[e+1>>0]=i>>>12&63|128;f[e+2>>0]=i>>>6&63|128;f[e+3>>0]=i&63|128;e=4;break}else{t[(Bg()|0)>>2]=84;e=-1;break}}else e=1}while(0);return e|0}function cy(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0;h=c;c=c+272|0;l=h+8|0;u=h;s=t[i>>2]|0;t[u>>2]=s;o=(e|0)!=0;n=o?f:256;f=o?e:l;e=s;e:do{if((n|0)!=0&(s|0)!=0){s=n;a=e;n=0;while(1){e=r>>>0>=s>>>0;if(!(e|r>>>0>32)){e=a;break e}e=e?s:r;r=r-e|0;e=hy(f,u,e,0)|0;if((e|0)==-1){n=r;break}b=(f|0)==(l|0);d=b?0:e;a=s-d|0;f=b?f:f+e|0;n=e+n|0;e=t[u>>2]|0;if((s|0)!=(d|0)&(e|0)!=0){s=a;a=e}else{s=a;break e}}r=n;s=0;e=t[u>>2]|0;n=-1}else{s=n;n=0}}while(0);e:do{if((e|0)!=0?(s|0)!=0&(r|0)!=0:0){a=e;e=f;while(1){f=uy(e,t[a>>2]|0,0)|0;if((f+1|0)>>>0<2)break;a=(t[u>>2]|0)+4|0;t[u>>2]=a;r=r+-1|0;n=n+1|0;if(!((s|0)!=(f|0)&(r|0)!=0))break e;else{s=s-f|0;e=e+f|0}}if(!f)t[u>>2]=0;else n=-1}}while(0);if(o)t[i>>2]=t[u>>2];c=h;return n|0}function hy(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0;o=c;c=c+16|0;l=o;e:do{if(!e){e=t[i>>2]|0;n=t[e>>2]|0;if(!n)r=0;else{r=0;do{if(n>>>0>127){n=uy(l,n,0)|0;if((n|0)==-1){r=-1;break e}}else n=1;r=n+r|0;e=e+4|0;n=t[e>>2]|0}while((n|0)!=0)}}else{i:do{if(r>>>0>3){n=r;a=t[i>>2]|0;while(1){s=t[a>>2]|0;if((s+-1|0)>>>0>126){if(!s)break;s=uy(e,s,0)|0;if((s|0)==-1){r=-1;break e}e=e+s|0;n=n-s|0}else{f[e>>0]=s;e=e+1|0;n=n+-1|0;a=t[i>>2]|0}a=a+4|0;t[i>>2]=a;if(n>>>0<=3)break i}f[e>>0]=0;t[i>>2]=0;r=r-n|0;break e}else n=r}while(0);if(n){a=t[i>>2]|0;while(1){s=t[a>>2]|0;if((s+-1|0)>>>0>126){if(!s){a=19;break}s=uy(l,s,0)|0;if((s|0)==-1){r=-1;break e}if(n>>>0>>0){a=22;break}uy(e,t[a>>2]|0,0)|0;e=e+s|0;n=n-s|0}else{f[e>>0]=s;e=e+1|0;n=n+-1|0;a=t[i>>2]|0}a=a+4|0;t[i>>2]=a;if(!n)break e}if((a|0)==19){f[e>>0]=0;t[i>>2]=0;r=r-n|0;break}else if((a|0)==22){r=r-n|0;break}}}}while(0);c=o;return r|0}function dy(e,i){e=e|0;i=i|0;if(!e)e=0;else e=uy(e,i,0)|0;return e|0}function by(e){e=e|0;return 0}function _y(e){e=e|0;return}function ky(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+16|0;u=h;o=i&255;f[u>>0]=o;n=e+16|0;s=t[n>>2]|0;if(!s)if(!(Ay(e)|0)){s=t[n>>2]|0;l=4}else r=-1;else l=4;do{if((l|0)==4){n=e+20|0;l=t[n>>2]|0;if(l>>>0>>0?(r=i&255,(r|0)!=(f[e+75>>0]|0)):0){t[n>>2]=l+1;f[l>>0]=o;break}if((uM[t[e+36>>2]&63](e,u,1)|0)==1)r=a[u>>0]|0;else r=-1}}while(0);c=h;return r|0}function wy(e){e=e|0;var i=0,r=0;i=c;c=c+16|0;r=i;t[r>>2]=t[e+60>>2];e=Ug(ki(6,r|0)|0)|0;c=i;return e|0}function my(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0;h=c;c=c+48|0;s=h+16|0;a=h;n=h+32|0;t[n>>2]=i;l=n+4|0;u=e+48|0;d=t[u>>2]|0;t[l>>2]=r-((d|0)!=0&1);o=e+44|0;t[n+8>>2]=t[o>>2];t[n+12>>2]=d;if(!(t[9258]|0)){t[s>>2]=t[e+60>>2];t[s+4>>2]=n;t[s+8>>2]=2;n=Ug(Ai(145,s|0)|0)|0}else{wi(185,e|0);t[a>>2]=t[e+60>>2];t[a+4>>2]=n;t[a+8>>2]=2;n=Ug(Ai(145,a|0)|0)|0;oi(0)}if((n|0)>=1){l=t[l>>2]|0;if(n>>>0>l>>>0){s=t[o>>2]|0;a=e+4|0;t[a>>2]=s;t[e+8>>2]=s+(n-l);if(!(t[u>>2]|0))n=r;else{t[a>>2]=s+1;f[i+(r+-1)>>0]=f[s>>0]|0;n=r}}}else{t[e>>2]=t[e>>2]|n&48^16;t[e+8>>2]=0;t[e+4>>2]=0}c=h;return n|0}function vy(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0;n=c;c=c+32|0;a=n;f=n+20|0;t[a>>2]=t[e+60>>2];t[a+4>>2]=0;t[a+8>>2]=i;t[a+12>>2]=f;t[a+16>>2]=r;if((Ug(Mi(140,a|0)|0)|0)<0){t[f>>2]=-1;e=-1}else e=t[f>>2]|0;c=n;return e|0}function py(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0;k=c;c=c+48|0;d=k+16|0;h=k;f=k+32|0;b=e+28|0;n=t[b>>2]|0;t[f>>2]=n;_=e+20|0;n=(t[_>>2]|0)-n|0;t[f+4>>2]=n;t[f+8>>2]=i;t[f+12>>2]=r;o=e+60|0;u=e+44|0;i=2;n=n+r|0;while(1){if(!(t[9258]|0)){t[d>>2]=t[o>>2];t[d+4>>2]=f;t[d+8>>2]=i;s=Ug(Ei(146,d|0)|0)|0}else{wi(186,e|0);t[h>>2]=t[o>>2];t[h+4>>2]=f;t[h+8>>2]=i;s=Ug(Ei(146,h|0)|0)|0;oi(0)}if((n|0)==(s|0)){n=6;break}if((s|0)<0){n=8;break}n=n-s|0;a=t[f+4>>2]|0;if(s>>>0<=a>>>0)if((i|0)==2){t[b>>2]=(t[b>>2]|0)+s;l=a;i=2}else l=a;else{l=t[u>>2]|0;t[b>>2]=l;t[_>>2]=l;l=t[f+12>>2]|0;s=s-a|0;f=f+8|0;i=i+-1|0}t[f>>2]=(t[f>>2]|0)+s;t[f+4>>2]=l-s}if((n|0)==6){d=t[u>>2]|0;t[e+16>>2]=d+(t[e+48>>2]|0);e=d;t[b>>2]=e;t[_>>2]=e}else if((n|0)==8){t[e+16>>2]=0;t[b>>2]=0;t[_>>2]=0;t[e>>2]=t[e>>2]|32;if((i|0)==2)r=0;else r=r-(t[f+4>>2]|0)|0}c=k;return r|0}function gy(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;a=c;c=c+80|0;n=a;t[e+36>>2]=8;if((t[e>>2]&64|0)==0?(t[n>>2]=t[e+60>>2],t[n+4>>2]=21505,t[n+8>>2]=a+12,(si(54,n|0)|0)!=0):0)f[e+75>>0]=-1;n=py(e,i,r)|0;c=a;return n|0}function yy(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0;f=e+84|0;a=t[f>>2]|0;s=r+256|0;n=jy(a,0,s)|0;n=(n|0)==0?s:n-a|0;r=n>>>0>>0?n:r;Em(i|0,a|0,r|0)|0;t[e+4>>2]=a+r;i=a+n|0;t[e+8>>2]=i;t[f>>2]=i;return r|0}function My(e){e=e|0;var i=0,r=0;i=e+74|0;r=f[i>>0]|0;f[i>>0]=r+255|r;i=e+20|0;r=e+44|0;if((t[i>>2]|0)>>>0>(t[r>>2]|0)>>>0)uM[t[e+36>>2]&63](e,0,0)|0;t[e+16>>2]=0;t[e+28>>2]=0;t[i>>2]=0;i=t[e>>2]|0;if(i&20)if(!(i&4))i=-1;else{t[e>>2]=i|32;i=-1}else{i=t[r>>2]|0;t[e+8>>2]=i;t[e+4>>2]=i;i=0}return i|0}function Ay(e){e=e|0;var i=0,r=0;i=e+74|0;r=f[i>>0]|0;f[i>>0]=r+255|r;i=t[e>>2]|0;if(!(i&8)){t[e+8>>2]=0;t[e+4>>2]=0;i=t[e+44>>2]|0;t[e+28>>2]=i;t[e+20>>2]=i;t[e+16>>2]=i+(t[e+48>>2]|0);i=0}else{t[e>>2]=i|32;i=-1}return i|0}function Ey(e){e=e|0;var i=0,r=0;r=c;c=c+16|0;i=r;if((t[e+8>>2]|0)==0?(My(e)|0)!=0:0)i=-1;else if((uM[t[e+32>>2]&63](e,i,1)|0)==1)i=a[i>>0]|0;else i=-1;c=r;return i|0}function Sy(e){e=e|0;var i=0,r=0;do{if(e){if((t[e+76>>2]|0)<=-1){i=iM(e)|0;break}r=(by(e)|0)==0;i=iM(e)|0;if(!r)_y(e)}else{if(!(t[9323]|0))i=0;else i=Sy(t[9323]|0)|0;xe(37060);e=t[9264]|0;if(e)do{if((t[e+76>>2]|0)>-1)r=by(e)|0;else r=0;if((t[e+20>>2]|0)>>>0>(t[e+28>>2]|0)>>>0)i=iM(e)|0|i;if(r)_y(e);e=t[e+56>>2]|0}while((e|0)!=0);li(37060)}}while(0);return i|0}function Ty(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0;if((t[i+76>>2]|0)>=0?(by(i)|0)!=0:0){if((f[i+75>>0]|0)!=(e|0)?(n=i+20|0,a=t[n>>2]|0,a>>>0<(t[i+16>>2]|0)>>>0):0){t[n>>2]=a+1;f[a>>0]=e;r=e&255}else r=ky(i,e)|0;_y(i)}else l=3;do{if((l|0)==3){if((f[i+75>>0]|0)!=(e|0)?(s=i+20|0,r=t[s>>2]|0,r>>>0<(t[i+16>>2]|0)>>>0):0){t[s>>2]=r+1;f[r>>0]=e;r=e&255;break}r=ky(i,e)|0}}while(0);return r|0}function Ry(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;n=r+16|0;a=t[n>>2]|0;if(!a)if(!(Ay(r)|0)){a=t[n>>2]|0;s=4}else n=0;else s=4;e:do{if((s|0)==4){l=r+20|0;s=t[l>>2]|0;if((a-s|0)>>>0>>0){n=uM[t[r+36>>2]&63](r,e,i)|0;break}i:do{if((f[r+75>>0]|0)>-1){n=i;while(1){if(!n){a=s;n=0;break i}a=n+-1|0;if((f[e+a>>0]|0)==10)break;else n=a}if((uM[t[r+36>>2]&63](r,e,n)|0)>>>0>>0)break e;i=i-n|0;e=e+n|0;a=t[l>>2]|0}else{a=s;n=0}}while(0);Em(a|0,e|0,i|0)|0;t[l>>2]=(t[l>>2]|0)+i;n=n+i|0}}while(0);return n|0}function Cy(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0;n=re(r,i)|0;if((t[f+76>>2]|0)>-1){a=(by(f)|0)==0;e=Ry(e,n,f)|0;if(!a)_y(f)}else e=Ry(e,n,f)|0;if((e|0)!=(n|0))r=(e>>>0)/(i>>>0)|0;return r|0}function Py(e){e=e|0;var i=0,r=0,f=0;if((t[e+76>>2]|0)>=0?(by(e)|0)!=0:0){i=e+4|0;r=t[i>>2]|0;if(r>>>0<(t[e+8>>2]|0)>>>0){t[i>>2]=r+1;i=a[r>>0]|0}else i=Ey(e)|0}else f=3;do{if((f|0)==3){i=e+4|0;r=t[i>>2]|0;if(r>>>0<(t[e+8>>2]|0)>>>0){t[i>>2]=r+1;i=a[r>>0]|0;break}else{i=Ey(e)|0;break}}}while(0);return i|0}function Iy(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0;n=c;c=c+16|0;a=n;t[a>>2]=f;f=Dy(e,i,r,a)|0;c=n;return f|0}function Oy(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0;f=c;c=c+16|0;n=f;t[n>>2]=r;r=Ny(e,i,n)|0;c=f;return r|0}function xy(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0;do{if((e|0)!=-1){if((t[i+76>>2]|0)>-1)a=by(i)|0;else a=0;if(!((t[i+8>>2]|0)==0?(My(i)|0)!=0:0))s=6;if((s|0)==6?(r=i+4|0,n=t[r>>2]|0,n>>>0>((t[i+44>>2]|0)+-8|0)>>>0):0){s=n+-1|0;t[r>>2]=s;f[s>>0]=e;t[i>>2]=t[i>>2]&-17;if(!a)break;_y(i);break}if(a){_y(i);e=-1}else e=-1}else e=-1}while(0);return e|0}function Ly(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0;l=c;c=c+16|0;f=l;n=Pc(240)|0;do{if(n){t[f>>2]=t[r>>2];f=Dy(n,240,i,f)|0;if(f>>>0<240){i=xc(n,f+1|0)|0;t[e>>2]=(i|0)!=0?i:n;break}Ic(n);if((f|0)>=0?(s=f+1|0,a=Pc(s)|0,t[e>>2]=a,(a|0)!=0):0)f=Dy(a,s,i,r)|0;else f=-1}else f=-1}while(0);c=l;return f|0}function By(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0;m=c;c=c+224|0;b=m+80|0;w=m+96|0;k=m;_=m+136|0;n=w;a=n+40|0;do{t[n>>2]=0;n=n+4|0}while((n|0)<(a|0));t[b>>2]=t[r>>2];if((yc(0,i,b,k,w)|0)<0)r=-1;else{if((t[e+76>>2]|0)>-1)h=by(e)|0;else h=0;r=t[e>>2]|0;d=r&32;if((f[e+74>>0]|0)<1)t[e>>2]=r&-33;r=e+48|0;if(!(t[r>>2]|0)){a=e+44|0;s=t[a>>2]|0;t[a>>2]=_;l=e+28|0;t[l>>2]=_;o=e+20|0;t[o>>2]=_;t[r>>2]=80;u=e+16|0;t[u>>2]=_+80;n=yc(e,i,b,k,w)|0;if(s){uM[t[e+36>>2]&63](e,0,0)|0;n=(t[o>>2]|0)==0?-1:n;t[a>>2]=s;t[r>>2]=0;t[u>>2]=0;t[l>>2]=0;t[o>>2]=0}}else n=yc(e,i,b,k,w)|0;r=t[e>>2]|0;t[e>>2]=r|d;if(h)_y(e);r=(r&32|0)==0?n:-1}c=m;return r|0}function zy(e,i,r){e=e|0;i=i|0;r=r|0;var s=0,l=0,h=0,d=0,b=0,_=0.0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,U=0,j=0;U=c;c=c+304|0;x=U+16|0;B=U+8|0;L=U+33|0;z=U;A=U+32|0;if((t[e+76>>2]|0)>-1)H=by(e)|0;else H=0;s=f[i>>0]|0;e:do{if(s<<24>>24){D=e+4|0;N=e+100|0;I=e+108|0;E=e+8|0;S=L+10|0;T=L+33|0;R=B+4|0;C=L+46|0;P=L+94|0;h=s;s=0;d=i;m=0;l=0;i=0;i:while(1){r:do{if(!(xg(h&255)|0)){h=(f[d>>0]|0)==37;f:do{if(h){k=d+1|0;b=f[k>>0]|0;n:do{switch(b<<24>>24){case 37:break f;case 42:{M=0;b=d+2|0;break}default:{b=(b&255)+-48|0;if(b>>>0<10?(f[d+2>>0]|0)==36:0){t[x>>2]=t[r>>2];while(1){M=(t[x>>2]|0)+(4-1)&~(4-1);h=t[M>>2]|0;t[x>>2]=M+4;if(b>>>0>1)b=b+-1|0;else break}M=h;b=d+3|0;break n}b=(t[r>>2]|0)+(4-1)&~(4-1);M=t[b>>2]|0;t[r>>2]=b+4;b=k}}}while(0);h=f[b>>0]|0;d=h&255;if((d+-48|0)>>>0<10){h=0;while(1){k=(h*10|0)+-48+d|0;b=b+1|0;h=f[b>>0]|0;d=h&255;if((d+-48|0)>>>0>=10)break;else h=k}}else k=0;if(h<<24>>24==109){b=b+1|0;w=f[b>>0]|0;h=(M|0)!=0&1;l=0;i=0}else{w=h;h=0}d=b+1|0;switch(w&255|0){case 104:{y=(f[d>>0]|0)==104;d=y?b+2|0:d;b=y?-2:-1;break}case 108:{y=(f[d>>0]|0)==108;d=y?b+2|0:d;b=y?3:1;break}case 106:{b=3;break}case 116:case 122:{b=1;break}case 76:{b=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{d=b;b=0;break}default:{F=152;break i}}w=a[d>>0]|0;v=(w&47|0)==3;w=v?w|32:w;v=v?1:b;switch(w|0){case 99:{y=m;g=(k|0)<1?1:k;break}case 91:{y=m;g=k;break}case 110:{if(!M){b=m;break r}switch(v|0){case-2:{f[M>>0]=m;b=m;break r}case-1:{n[M>>1]=m;b=m;break r}case 0:{t[M>>2]=m;b=m;break r}case 1:{t[M>>2]=m;b=m;break r}case 3:{b=M;t[b>>2]=m;t[b+4>>2]=((m|0)<0)<<31>>31;b=m;break r}default:{b=m;break r}}}default:{Fg(e,0);do{b=t[D>>2]|0;if(b>>>0<(t[N>>2]|0)>>>0){t[D>>2]=b+1;b=a[b>>0]|0}else b=Hg(e)|0}while((xg(b)|0)!=0);b=t[D>>2]|0;if(t[N>>2]|0){b=b+-1|0;t[D>>2]=b}y=(t[I>>2]|0)+m+b-(t[E>>2]|0)|0;g=k}}Fg(e,g);b=t[D>>2]|0;k=t[N>>2]|0;if(b>>>0>>0)t[D>>2]=b+1;else{if((Hg(e)|0)<0){F=152;break i}k=t[N>>2]|0}if(k)t[D>>2]=(t[D>>2]|0)+-1;n:do{switch(w|0){case 91:case 99:case 115:{p=(w|0)==99;t:do{if((w&239|0)==99){ym(L|0,-1,257)|0;f[L>>0]=0;if((w|0)==115){f[T>>0]=0;f[S>>0]=0;f[S+1>>0]=0;f[S+2>>0]=0;f[S+3>>0]=0;f[S+4>>0]=0}}else{j=d+1|0;m=(f[j>>0]|0)==94;b=m&1;w=m?j:d;d=m?d+2|0:j;ym(L|0,m&1|0,257)|0;f[L>>0]=0;switch(f[d>>0]|0){case 45:{m=(b^1)&255;f[C>>0]=m;d=w+2|0;break}case 93:{m=(b^1)&255;f[P>>0]=m;d=w+2|0;break}default:m=(b^1)&255}while(1){b=f[d>>0]|0;a:do{switch(b<<24>>24){case 0:{F=152;break i}case 93:break t;case 45:{w=d+1|0;b=f[w>>0]|0;switch(b<<24>>24){case 93:case 0:{b=45;break a}default:{}}d=f[d+-1>>0]|0;if((d&255)<(b&255)){d=d&255;do{d=d+1|0;f[L+d>>0]=m;b=f[w>>0]|0}while((d|0)<(b&255|0));d=w}else d=w;break}default:{}}}while(0);f[L+((b&255)+1)>>0]=m;d=d+1|0}}}while(0);w=p?g+1|0:31;m=(v|0)==1;v=(h|0)!=0;t:do{if(m){if(v){i=Pc(w<<2)|0;if(!i){l=0;F=152;break i}}else i=M;t[B>>2]=0;t[R>>2]=0;l=0;a:while(1){k=(i|0)==0;do{s:while(1){b=t[D>>2]|0;if(b>>>0<(t[N>>2]|0)>>>0){t[D>>2]=b+1;b=a[b>>0]|0}else b=Hg(e)|0;if(!(f[L+(b+1)>>0]|0))break a;f[A>>0]=b;switch(ty(z,A,1,B)|0){case-1:{l=0;F=152;break i}case-2:break;default:break s}}if(!k){t[i+(l<<2)>>2]=t[z>>2];l=l+1|0}}while(!(v&(l|0)==(w|0)));l=w<<1|1;b=xc(i,l<<2)|0;if(!b){l=0;F=152;break i}j=w;w=l;i=b;l=j}if(!(ay(B)|0)){l=0;F=152;break i}else{k=l;l=0}}else{if(v){l=Pc(w)|0;if(!l){l=0;i=0;F=152;break i}else b=0;while(1){do{i=t[D>>2]|0;if(i>>>0<(t[N>>2]|0)>>>0){t[D>>2]=i+1;i=a[i>>0]|0}else i=Hg(e)|0;if(!(f[L+(i+1)>>0]|0)){k=b;i=0;break t}f[l+b>>0]=i;b=b+1|0}while((b|0)!=(w|0));i=w<<1|1;b=xc(l,i)|0;if(!b){i=0;F=152;break i}else{j=w;w=i;l=b;b=j}}}if(!M){l=k;while(1){i=t[D>>2]|0;if(i>>>0>>0){t[D>>2]=i+1;i=a[i>>0]|0}else i=Hg(e)|0;if(!(f[L+(i+1)>>0]|0)){k=0;l=0;i=0;break t}l=t[N>>2]|0}}else{l=0;while(1){i=t[D>>2]|0;if(i>>>0>>0){t[D>>2]=i+1;i=a[i>>0]|0}else i=Hg(e)|0;if(!(f[L+(i+1)>>0]|0)){k=l;l=M;i=0;break t}f[M+l>>0]=i;k=t[N>>2]|0;l=l+1|0}}}}while(0);b=t[D>>2]|0;if(t[N>>2]|0){b=b+-1|0;t[D>>2]=b}b=b-(t[E>>2]|0)+(t[I>>2]|0)|0;if(!b)break i;if(!((b|0)==(g|0)|p^1))break i;do{if(v)if(m){t[M>>2]=i;break}else{t[M>>2]=l;break}}while(0);if(!p){if(i)t[i+(k<<2)>>2]=0;if(!l){l=0;break n}f[l+k>>0]=0}break}case 120:case 88:case 112:{b=16;F=134;break}case 111:{b=8;F=134;break}case 117:case 100:{b=10;F=134;break}case 105:{b=0;F=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{_=+Dg(e,v,0);if((t[I>>2]|0)==((t[E>>2]|0)-(t[D>>2]|0)|0))break i;if(M)switch(v|0){case 0:{o[M>>2]=_;break n}case 1:{u[M>>3]=_;break n}case 2:{u[M>>3]=_;break n}default:break n}break}default:{}}}while(0);n:do{if((F|0)==134){F=0;b=Ng(e,b,0,-1,-1)|0;if((t[I>>2]|0)==((t[E>>2]|0)-(t[D>>2]|0)|0))break i;if((M|0)!=0&(w|0)==112){t[M>>2]=b;break}if(M)switch(v|0){case-2:{f[M>>0]=b;break n}case-1:{n[M>>1]=b;break n}case 0:{t[M>>2]=b;break n}case 1:{t[M>>2]=b;break n}case 3:{j=M;t[j>>2]=b;t[j+4>>2]=O;break n}default:break n}}}while(0);s=((M|0)!=0&1)+s|0;b=(t[I>>2]|0)+y+(t[D>>2]|0)-(t[E>>2]|0)|0;break r}}while(0);d=d+(h&1)|0;Fg(e,0);h=t[D>>2]|0;if(h>>>0<(t[N>>2]|0)>>>0){t[D>>2]=h+1;h=a[h>>0]|0}else h=Hg(e)|0;if((h|0)!=(a[d>>0]|0)){F=21;break i}b=m+1|0}else{while(1){h=d+1|0;if(!(xg(a[h>>0]|0)|0))break;else d=h}Fg(e,0);do{h=t[D>>2]|0;if(h>>>0<(t[N>>2]|0)>>>0){t[D>>2]=h+1;h=a[h>>0]|0}else h=Hg(e)|0}while((xg(h)|0)!=0);h=t[D>>2]|0;if(t[N>>2]|0){h=h+-1|0;t[D>>2]=h}b=(t[I>>2]|0)+m+h-(t[E>>2]|0)|0}}while(0);d=d+1|0;h=f[d>>0]|0;if(!(h<<24>>24))break e;else m=b}if((F|0)==21){if(t[N>>2]|0)t[D>>2]=(t[D>>2]|0)+-1;if((s|0)!=0|(h|0)>-1)break;else{s=0;F=153}}else if((F|0)==152)if(!s){s=h;F=153}if((F|0)==153){h=s;s=-1}if(h){Ic(l);Ic(i)}}else s=0}while(0);if(H)_y(e);c=U;return s|0}function Dy(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0;d=c;c=c+128|0;a=d+112|0;h=d;s=h;l=37352;o=s+112|0;do{t[s>>2]=t[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));if((i+-1|0)>>>0>2147483646)if(!i){i=1;u=4}else{t[(Bg()|0)>>2]=75;i=-1}else{a=e;u=4}if((u|0)==4){u=-2-a|0;u=i>>>0>u>>>0?u:i;t[h+48>>2]=u;e=h+20|0;t[e>>2]=a;t[h+44>>2]=a;i=a+u|0;a=h+16|0;t[a>>2]=i;t[h+28>>2]=i;i=By(h,r,n)|0;if(u){r=t[e>>2]|0;f[r+(((r|0)==(t[a>>2]|0))<<31>>31)>>0]=0}}c=d;return i|0}function Ny(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0;a=c;c=c+112|0;f=a;n=f;s=n+112|0;do{t[n>>2]=0;n=n+4|0}while((n|0)<(s|0));t[f+32>>2]=29;t[f+44>>2]=e;t[f+76>>2]=-1;t[f+84>>2]=e;s=zy(f,i,r)|0;c=a;return s|0}function Fy(e,i,r){e=e|0;i=i|0;r=r|0;return+ +Ac(e,i,2)}function Hy(e,i,r){e=e|0;i=i|0;r=r|0;e=Ec(e,i,r,-1,-1)|0;return e|0}function Uy(e,i,r){e=e|0;i=i|0;r=r|0;e=Ec(e,i,r,0,-2147483648)|0;return e|0}function jy(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;s=i&255;n=(r|0)!=0;e:do{if(n&(e&3|0)!=0){a=i&255;while(1){if((f[e>>0]|0)==a<<24>>24){l=6;break e}e=e+1|0;r=r+-1|0;n=(r|0)!=0;if(!(n&(e&3|0)!=0)){l=5;break}}}else l=5}while(0);if((l|0)==5)if(n)l=6;else r=0;e:do{if((l|0)==6){a=i&255;if((f[e>>0]|0)!=a<<24>>24){n=re(s,16843009)|0;i:do{if(r>>>0>3)while(1){s=t[e>>2]^n;if((s&-2139062144^-2139062144)&s+-16843009)break;e=e+4|0;r=r+-4|0;if(r>>>0<=3){l=11;break i}}else l=11}while(0);if((l|0)==11)if(!r){r=0;break}while(1){if((f[e>>0]|0)==a<<24>>24)break e;e=e+1|0;r=r+-1|0;if(!r){r=0;break}}}}}while(0);return((r|0)!=0?e:0)|0}function Yy(e,i){e=e|0;i=i|0;var r=0,n=0;r=i;e:do{if(!((r^e)&3)){if(r&3)do{r=f[i>>0]|0;f[e>>0]=r;if(!(r<<24>>24))break e;i=i+1|0;e=e+1|0}while((i&3|0)!=0);r=t[i>>2]|0;if(!((r&-2139062144^-2139062144)&r+-16843009)){n=e;while(1){i=i+4|0;e=n+4|0;t[n>>2]=r;r=t[i>>2]|0;if((r&-2139062144^-2139062144)&r+-16843009)break;else n=e}}n=8}else n=8}while(0);if((n|0)==8){n=f[i>>0]|0;f[e>>0]=n;if(n<<24>>24)do{i=i+1|0;e=e+1|0;n=f[i>>0]|0;f[e>>0]=n}while(n<<24>>24!=0)}return e|0}function qy(e,i){e=e|0;i=i|0;var r=0,n=0;n=f[e>>0]|0;r=f[i>>0]|0;if(n<<24>>24==0?1:n<<24>>24!=r<<24>>24)i=n;else{do{e=e+1|0;i=i+1|0;n=f[e>>0]|0;r=f[i>>0]|0}while(!(n<<24>>24==0?1:n<<24>>24!=r<<24>>24));i=n}return(i&255)-(r&255)|0}function $y(e,i){e=e|0;i=i|0;Yy(e,i)|0;return e|0}function Vy(e){e=e|0;var i=0,r=0,n=0;n=e;e:do{if(!(n&3))r=4;else{i=e;e=n;while(1){if(!(f[i>>0]|0))break e;i=i+1|0;e=i;if(!(e&3)){e=i;r=4;break}}}}while(0);if((r|0)==4){while(1){i=t[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009))e=e+4|0;else break}if((i&255)<<24>>24)do{e=e+1|0}while((f[e>>0]|0)!=0)}return e-n|0}function Xy(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,t=0;if(!r)i=0;else{n=f[e>>0]|0;e:do{if(!(n<<24>>24))n=0;else while(1){r=r+-1|0;t=f[i>>0]|0;if(!(n<<24>>24==t<<24>>24&((r|0)!=0&t<<24>>24!=0)))break e;e=e+1|0;i=i+1|0;n=f[e>>0]|0;if(!(n<<24>>24)){n=0;break}}}while(0);i=(n&255)-(a[i>>0]|0)|0}return i|0}function Gy(e){e=e|0;var i=0;i=e;while(1)if(!(t[i>>2]|0))break;else i=i+4|0;return i-e>>2|0}function Ky(e,i,r){e=e|0;i=i|0;r=r|0;var f=0;if(r){f=e;while(1){r=r+-1|0;t[f>>2]=t[i>>2];if(!r)break;else{i=i+4|0;f=f+4|0}}}return e|0}function Wy(e,i,r){e=e|0;i=i|0;r=r|0;var f=0;f=(r|0)==0;if(e-i>>2>>>0>>0){if(!f)do{r=r+-1|0;t[e+(r<<2)>>2]=t[i+(r<<2)>>2]}while((r|0)!=0)}else if(!f){f=i;i=e;while(1){r=r+-1|0;t[i>>2]=t[f>>2];if(!r)break;else{f=f+4|0;i=i+4|0}}}return e|0}function Zy(e,i,r){e=e|0;i=i|0;r=r|0;var f=0;if(r){f=e;while(1){r=r+-1|0;t[f>>2]=i;if(!r)break;else f=f+4|0}}return e|0}function Jy(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,s=0,l=0,o=0;l=e+4|0;r=t[l>>2]|0;o=e+100|0;if(r>>>0<(t[o>>2]|0)>>>0){t[l>>2]=r+1;r=a[r>>0]|0}else r=Hg(e)|0;switch(r|0){case 43:case 45:{f=(r|0)==45&1;r=t[l>>2]|0;if(r>>>0<(t[o>>2]|0)>>>0){t[l>>2]=r+1;r=a[r>>0]|0}else r=Hg(e)|0;if((i|0)!=0&(r+-48|0)>>>0>9?(t[o>>2]|0)!=0:0){t[l>>2]=(t[l>>2]|0)+-1;s=f}else s=f;break}default:s=0}if((r+-48|0)>>>0>9)if(!(t[o>>2]|0)){f=-2147483648;r=0}else{t[l>>2]=(t[l>>2]|0)+-1;f=-2147483648;r=0}else{f=0;do{f=r+-48+(f*10|0)|0;r=t[l>>2]|0;if(r>>>0<(t[o>>2]|0)>>>0){t[l>>2]=r+1;r=a[r>>0]|0}else r=Hg(e)|0}while((r+-48|0)>>>0<10&(f|0)<214748364);i=((f|0)<0)<<31>>31;if((r+-48|0)>>>0<10){do{i=xm(f|0,i|0,10,0)|0;f=O;r=Mm(r|0,((r|0)<0)<<31>>31|0,-48,-1)|0;f=Mm(r|0,O|0,i|0,f|0)|0;i=O;r=t[l>>2]|0;if(r>>>0<(t[o>>2]|0)>>>0){t[l>>2]=r+1;r=a[r>>0]|0}else r=Hg(e)|0}while((r+-48|0)>>>0<10&((i|0)<21474836|(i|0)==21474836&f>>>0<2061584302));n=f}else n=f;if((r+-48|0)>>>0<10)do{r=t[l>>2]|0;if(r>>>0<(t[o>>2]|0)>>>0){t[l>>2]=r+1;r=a[r>>0]|0}else r=Hg(e)|0}while((r+-48|0)>>>0<10);if(t[o>>2]|0)t[l>>2]=(t[l>>2]|0)+-1;e=(s|0)!=0;r=gm(0,0,n|0,i|0)|0;f=e?O:i;r=e?r:n}O=f;return r|0}function Qy(e){e=e|0;if(!(t[e+68>>2]|0))_y(e);return}function eM(e){e=e|0;if(!(t[e+68>>2]|0))_y(e);return}function iM(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0;i=e+20|0;a=e+28|0;if((t[i>>2]|0)>>>0>(t[a>>2]|0)>>>0?(uM[t[e+36>>2]&63](e,0,0)|0,(t[i>>2]|0)==0):0)i=-1;else{s=e+4|0;r=t[s>>2]|0;f=e+8|0;n=t[f>>2]|0;if(r>>>0>>0)uM[t[e+40>>2]&63](e,r-n|0,1)|0;t[e+16>>2]=0;t[a>>2]=0;t[i>>2]=0;t[f>>2]=0;t[s>>2]=0;i=0}return i|0}var rM=[av,Yl,Xl,jo,Vo,Zo,Qo,Dk,Gk,av,av,av,av,av,av,av];var fM=[sv,Uv,Is,vs,ss,Ka,Da,Ea,la,wg,kg,dg,sv,sv,sv,sv];var nM=[lv,fu,ou,lv];var tM=[ov,Dv,Nv,Ts,Rs,_s,ks,fs,ns,$a,Va,xa,La,ga,ya,na,ta,$t,Vt,xt,Lt,gt,yt,ot,ut,Zn,Jn,an,sn,Vf,Xf,Qi,er,yf,Sf,Mf,Qd,ib,eb,rb,qr,$r,gp,Vr,Dr,Nr,br,_r,yr,Mr,Cr,Pr,Xr,Gr,ef,rf,lf,of,_f,kf,qf,$f,_n,kn,yn,Mn,Cn,Pn,zn,Dn,va,pa,Rh,Kv,tp,ap,yp,Mp,Np,Fp,$p,Vp,Wp,Zp,Qp,rg,eg,ig,fg,ng,Sd,qc,Wc,cd,ih,sh,Sh,Th,hd,Td,Ud,Yd,jd,qd,Xd,Kd,Gd,Wd,sb,ob,lb,ub,wb,mb,fd,vb,pb,gb,Mb,Nu,Tb,Rb,Ob,xb,Xb,Gb,d_,b_,R_,C_,$s,Vs,kl,wl,Hl,jl,$l,Vl,Kl,Wl,ao,so,mo,vo,Co,Po,Ho,Uo,Ko,Wo,iu,ru,su,lu,du,bu,mu,vu,Su,Tu,rc,fc,zk,gc,sk,lk,ok,uk,yb,Du,Hu,hc,U_,K_,fk,nk,Ap,dp,Op,Ji,dd,Vd,xf,ca,Tg,Qy,eM,Dc,$g,Yo,$o,Fu,Vw,Qw,em,im,rm,fm,nm,xh,Xh,Ic,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov,ov];var aM=[uv,Hv,Ps,ms,as,Ga,za,Aa,sa,Xt,Bt,Mt,ct,Qn,ln,Gf,ir,bd,sp,up,$c,Kc,rh,ah,Cd,Ql,eo,io,ro,no,to,uo,co,ho,bo,ko,wo,yo,Mo,Ao,Eo,To,Ro,xo,Lo,Bo,zo,No,Fo,wu,yu,_k,wk,vk,kk,mk,pk,qi,Ep,cp,hp,bp,ld,lr,ur,fb,rd,Uh,Of,Jf,qn,ft,_t,Tt,Ft,Zt,ua,Ta,Fa,Za,os,gs,xs,Yv,fp,Pp,wh,_h,ad,cb,kh,Fh,Zh,Wh,bw,_w,kw,ww,mw,vw,pc,pw,gw,yw,Mw,Aw,Ew,Sw,Tw,Rw,Cw,Pw,Iw,Ow,xw,Lw,Bw,zw,Dw,Nw,Fw,Hw,Uw,jw,qw,um,uv,uv];var sM=[cv,Lb,Bb,zb,Db,Nb,Fb,Hb,Ub,jb,Yb,qb,Kb,Wb,Zb,Jb,Qb,e_,i_,r_,f_,n_,t_,p_,y_,x_,Fs,Gs,Ks,Ws,Js,el,vl,pl,gl,Ml,El,au,hu,zr,aw,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv,cv];var lM=[hv,md,vd,Ur,yd,Wv,Hp,Xp,Jp,wy,Vc,Ld,zd,Dd,xd,Zc,Jc,fh,gd,lh,oh,db,Xs,yk,Ak,Sk,Ok,Lk,Rk,Pk,ml,Mk,Ek,Tk,xk,Bk,Ck,Ik,Zl,Jl,fo,lo,oo,_o,po,go,So,Io,Oo,Do,D_,N_,H_,ck,dk,hk,bk,kc,wc,vc,$_,V_,G_,Q_,ek,rk,Qv,Lp,sd,kp,$d,Zd,dv,bv,_v,Kg,Gy,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv,hv];var oM=[kv,qo,Jo,kv];var uM=[wv,_d,pd,Ad,vh,ph,tg,Sc,py,vy,my,gy,Pd,Bd,Xc,Fd,nh,Sb,Ib,_u,pu,tc,sc,uc,Uu,Gu,Zu,ec,or,Mc,jh,Gg,cw,dw,uy,oy,ny,Ly,wv,wv,wv,wv,wv,wv,wv,wv,wv,wv,wv,wv,wv,wv,wv,wv,wv,wv,wv,wv,wv,wv,wv,wv,wv,wv];var cM=[mv,tu,cu,mv];var hM=[vv,Fr,pg,vg,mg,Id,kd,ku,gu,vv,vv,vv,vv,vv,vv,vv];var dM=[pv,v_,E_,O_,Us,pv,pv,pv];var bM=[gv,Xo,eu,nu,uu,gv,gv,gv];var _M=[yv,Fv,Cs,ws,ts,Xa,Ba,Ma,aa,Kt,Dt,Et,dt,it,un,Wf,fr,jr,Yr,Nd,Gc,Qc,Hd,Md,th,uh,Ed,nc,ac,lc,Vu,Ku,Ju,Sp,Gi,Wi,tb,zu,ab,Xg,Vg,Bh,Gh,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv,yv];var kM=[Mv,Ab,Cb,__,k_,g_,T_,P_,I_,Ns,Ys,cc,z_,F_,ic,_c,mc,q_,X_,J_,ik,cy,sy,Mv,Mv,Mv,Mv,Mv,Mv,Mv,Mv,Mv];var wM=[Av,dm,hm,cm];var mM=[Ev,$i,xp,Vb,Cu,Pu,Iu,Pg,Og,Ig,Ev,Ev,Ev,Ev,Ev,Ev];var vM=[Sv,Gt,zt,At,ht,et,on,Kf,rr,oc,Yu,qu,$u,Qu,Jv,np,Xk,tw,ly,Yg,ty,vm,mm,wm,km,_m,bm,Sv,Sv,Sv,Sv,Sv];var pM=[Tv,mh,Zv,bb,Tp,Ih,Rv,Eh,Dh,_p,yh,kb,ow,uw,hw,$h];var gM=[Cv,Pv,Ag,Iv,Eg,Ov,Mg,Cv];var yM=[xv,rl,Tl,L_,B_,dc,bc,j_,Y_,W_,Z_,xv,xv,xv,xv,xv];var MM=[Lv,M_,S_,Hs,js,Lv,Lv,Lv];var AM=[Bv,Tf,Rf,Af,Ef,Hr,kr,wr,Ar,Er,Ir,Or,Kr,Wr,ff,nf,uf,cf,wf,mf,wn,mn,An,En,In,On,Nn,Fn,sg,lg,ug,Od,wd,Eb,Pb,Di,Ah,nr,tr,ar,sr,cr,hr,dr,cn,hn,dn,bn,Bv,Bv,Bv,Bv,Bv,Bv,Bv,Bv,Bv,Bv,Bv,Bv,Bv,Bv,Bv,Bv];return{_jpegls_encode:Cp,___cxa_can_catch:gg,_free:Ic,_jpegls_decode:Rp,___cxa_is_pointer_type:yg,_i64Add:Mm,_memmove:Tm,_i64Subtract:gm,_memset:ym,_malloc:Pc,_memcpy:Em,_bitshift64Lshr:Am,_bitshift64Shl:Sm,__GLOBAL__I_000101:Nc,__GLOBAL__sub_I_jpegls_cpp:Zi,__GLOBAL__sub_I_iostream_cpp:Fc,runPostSets:pm,stackAlloc:Ti,stackSave:Ri,stackRestore:Ci,establishStackSpace:Pi,setThrew:Ii,setTempRet0:Li,getTempRet0:Bi,dynCall_iiiiiiii:Dm,dynCall_viiiii:Nm,dynCall_iiiiiid:Fm,dynCall_vi:Hm,dynCall_vii:Um,dynCall_iiiiiii:jm,dynCall_ii:Ym,dynCall_iiiiiiiiiiii:qm,dynCall_iiii:$m,dynCall_viiiiiiiiiiiiiii:Vm,dynCall_viiiiii:Xm,dynCall_viiiiiii:Gm,dynCall_viiiiiiiiii:Km,dynCall_iii:Wm,dynCall_iiiiii:Zm,dynCall_diii:Jm,dynCall_i:Qm,dynCall_iiiii:ev,dynCall_viii:iv,dynCall_v:rv,dynCall_iiiiiiiii:fv,dynCall_iiiiid:nv,dynCall_viiii:tv}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_jpegls_encode=Module._jpegls_encode=asm._jpegls_encode,___cxa_can_catch=Module.___cxa_can_catch=asm.___cxa_can_catch,_free=Module._free=asm._free,_jpegls_decode=Module._jpegls_decode=asm._jpegls_decode,___cxa_is_pointer_type=Module.___cxa_is_pointer_type=asm.___cxa_is_pointer_type,_i64Add=Module._i64Add=asm._i64Add,_memmove=Module._memmove=asm._memmove,_i64Subtract=Module._i64Subtract=asm._i64Subtract,_memset=Module._memset=asm._memset,_malloc=Module._malloc=asm._malloc,_memcpy=Module._memcpy=asm._memcpy,runPostSets=Module.runPostSets=asm.runPostSets,__GLOBAL__sub_I_iostream_cpp=Module.__GLOBAL__sub_I_iostream_cpp=asm.__GLOBAL__sub_I_iostream_cpp,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,__GLOBAL__sub_I_jpegls_cpp=Module.__GLOBAL__sub_I_jpegls_cpp=asm.__GLOBAL__sub_I_jpegls_cpp,__GLOBAL__I_000101=Module.__GLOBAL__I_000101=asm.__GLOBAL__I_000101,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,dynCall_iiiiiiii=Module.dynCall_iiiiiiii=asm.dynCall_iiiiiiii,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_iiiiiid=Module.dynCall_iiiiiid=asm.dynCall_iiiiiid,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_iiiiiii=Module.dynCall_iiiiiii=asm.dynCall_iiiiiii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_iiiiiiiiiiii=Module.dynCall_iiiiiiiiiiii=asm.dynCall_iiiiiiiiiiii,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_viiiiiiiiiiiiiii=Module.dynCall_viiiiiiiiiiiiiii=asm.dynCall_viiiiiiiiiiiiiii,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_viiiiiii=Module.dynCall_viiiiiii=asm.dynCall_viiiiiii,dynCall_viiiiiiiiii=Module.dynCall_viiiiiiiiii=asm.dynCall_viiiiiiiiii,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiii=Module.dynCall_iiiii=asm.dynCall_iiiii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_iiiiiiiii=Module.dynCall_iiiiiiiii=asm.dynCall_iiiiiiiii,dynCall_iiiiid=Module.dynCall_iiiiid=asm.dynCall_iiiiid,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii,initialStackTop;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}Runtime.stackAlloc=asm.stackAlloc,Runtime.stackSave=asm.stackSave,Runtime.stackRestore=asm.stackRestore,Runtime.establishStackSpace=asm.establishStackSpace,Runtime.setTempRet0=asm.setTempRet0,Runtime.getTempRet0=asm.getTempRet0,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var preloadStartTime=null,calledMain=!1;function run(e){function i(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Module.setStatus("")}),1),i()}),1)):i()))}function exit(e,i){if(!i||!Module.noExitRuntime)throw Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE?(process.stdout.once("drain",(function(){process.exit(e)})),console.log(" "),setTimeout((function(){process.exit(e)}),500)):ENVIRONMENT_IS_SHELL&&"function"==typeof quit&&quit(e),new ExitStatus(e)}dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){assert(0==runDependencies,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),assert(0==__ATPRERUN__.length,"cannot call main when preRun functions remain to be called"),e=e||[],ensureInitRuntime();var i=e.length+1;function r(){for(var e=0;e<3;e++)f.push(0)}var f=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];r();for(var n=0;n0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),Module};module.exports=CharLS},function(module,exports){var OpenJPEG=function(Module){var Module;Module=Module||{},Module||(Module=(void 0!==OpenJPEG?OpenJPEG:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&"function"==typeof require&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=function(e){process.stdout.write(e+"\n")}),Module.printErr||(Module.printErr=function(e){process.stderr.write(e+"\n")});var nodeFS=require("fs"),nodePath=require("path");Module.read=function(e,i){e=nodePath.normalize(e);var r=nodeFS.readFileSync(e);return r||e==nodePath.resolve(e)||(e=path.join(__dirname,"..","src",e),r=nodeFS.readFileSync(e)),r&&!i&&(r=r.toString()),r},Module.readBinary=function(e){var i=Module.read(e,!0);return i.buffer||(i=new Uint8Array(i)),assert(i.buffer),i},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),void 0!==module&&(module.exports=Module),process.on("uncaughtException",(function(e){if(!(e instanceof ExitStatus))throw e})),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available (jsc?)"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var i=read(e,"binary");return assert("object"==typeof i),i},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments);else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var i=new XMLHttpRequest;return i.open("GET",e,!1),i.send(null),i.responseText},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.log(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(e){dump(e)}:function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),void 0===Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}function globalEval(e){eval.call(null,e)}for(var key in!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[],moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);var Runtime={setTempRet0:function(e){tempRet0=e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var i=parseInt(e.substr(1));return assert(i%8==0),i/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,i){return"double"===i||"i64"===i?7&e&&(assert(4==(7&e)),e+=4):assert(0==(3&e)),e},getAlignSize:function(e,i,r){return r||"i64"!=e&&"double"!=e?e?Math.min(i||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(i,8):8},dynCall:function(e,i,r){return r&&r.length?(r.splice||(r=Array.prototype.slice.call(r)),r.splice(0,0,i),Module["dynCall_"+e].apply(null,r)):Module["dynCall_"+e].call(null,i)},functionPointers:[],addFunction:function(e){for(var i=0;i=TOTAL_MEMORY&&!enlargeMemory())return DYNAMICTOP=i,0;return i},alignMemory:function(e,i){return e=Math.ceil(e/(i||16))*(i||16)},makeBigInt:function(e,i,r){return r?+(e>>>0)+4294967296*+(i>>>0):+(e>>>0)+4294967296*+(0|i)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var __THREW__=0,ABORT=!1,EXITSTATUS=0,undef=0,tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat,tempI64,tempI64b,tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(e,i){e||abort("Assertion failed: "+i)}var globalScope=this,cwrap,ccall;function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,i,r,f){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":HEAP8[e>>0]=i;break;case"i16":HEAP16[e>>1]=i;break;case"i32":HEAP32[e>>2]=i;break;case"i64":tempI64=[i>>>0,(tempDouble=i,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=i;break;case"double":HEAPF64[e>>3]=i;break;default:abort("invalid type for setValue: "+r)}}function getValue(e,i,r){switch("*"===(i=i||"i8").charAt(i.length-1)&&(i="i32"),i){case"i1":case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+i)}return null}!function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var i=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,i),i},stringToC:function(e){var i=0;return null!=e&&0!==e&&writeStringToMemory(e,i=Runtime.stackAlloc(1+(e.length<<2))),i}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,i,r,f,n){var t=getCFunc(e),a=[],s=0;if(f)for(var l=0;l>2]=0;for(l=a+t;f>0]=0;return a}if("i8"===s)return e.subarray||e.slice?HEAPU8.set(e,a):HEAPU8.set(new Uint8Array(e),a),a;for(var o,u,c,h=0;h>0],(0!=r||i)&&(n++,!i||n!=i););i||(i=n);var t="";if(f<128){for(var a;i>0;)a=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(i,1024))),t=t?t+a:a,e+=1024,i-=1024;return t}return Module.UTF8ToString(e)}function AsciiToString(e){for(var i="";;){var r=HEAP8[e++>>0];if(!r)return i;i+=String.fromCharCode(r)}}function stringToAscii(e,i){return writeAsciiToMemory(e,i,!1)}function UTF8ArrayToString(e,i){for(var r,f,n,t,a,s="";;){if(!(r=e[i++]))return s;if(128&r)if(f=63&e[i++],192!=(224&r))if(n=63&e[i++],224==(240&r)?r=(15&r)<<12|f<<6|n:(t=63&e[i++],240==(248&r)?r=(7&r)<<18|f<<12|n<<6|t:(a=63&e[i++],r=248==(252&r)?(3&r)<<24|f<<18|n<<12|t<<6|a:(1&r)<<30|f<<24|n<<18|t<<12|a<<6|63&e[i++])),r<65536)s+=String.fromCharCode(r);else{var l=r-65536;s+=String.fromCharCode(55296|l>>10,56320|1023&l)}else s+=String.fromCharCode((31&r)<<6|f);else s+=String.fromCharCode(r)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,i,r,f){if(!(f>0))return 0;for(var n=r,t=r+f-1,a=0;a=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=t)break;i[r++]=s}else if(s<=2047){if(r+1>=t)break;i[r++]=192|s>>6,i[r++]=128|63&s}else if(s<=65535){if(r+2>=t)break;i[r++]=224|s>>12,i[r++]=128|s>>6&63,i[r++]=128|63&s}else if(s<=2097151){if(r+3>=t)break;i[r++]=240|s>>18,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}else if(s<=67108863){if(r+4>=t)break;i[r++]=248|s>>24,i[r++]=128|s>>18&63,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}else{if(r+5>=t)break;i[r++]=252|s>>30,i[r++]=128|s>>24&63,i[r++]=128|s>>18&63,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}}return i[r]=0,r-n}function stringToUTF8(e,i,r){return stringToUTF8Array(e,HEAPU8,i,r)}function lengthBytesUTF8(e){for(var i=0,r=0;r=55296&&f<=57343&&(f=65536+((1023&f)<<10)|1023&e.charCodeAt(++r)),f<=127?++i:i+=f<=2047?2:f<=65535?3:f<=2097151?4:f<=67108863?5:6}return i}function UTF16ToString(e){for(var i=0,r="";;){var f=HEAP16[e+2*i>>1];if(0==f)return r;++i,r+=String.fromCharCode(f)}}function stringToUTF16(e,i,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var f=i,n=(r-=2)<2*e.length?r/2:e.length,t=0;t>1]=a,i+=2}return HEAP16[i>>1]=0,i-f}function lengthBytesUTF16(e){return 2*e.length}function UTF32ToString(e){for(var i=0,r="";;){var f=HEAP32[e+4*i>>2];if(0==f)return r;if(++i,f>=65536){var n=f-65536;r+=String.fromCharCode(55296|n>>10,56320|1023&n)}else r+=String.fromCharCode(f)}}function stringToUTF32(e,i,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var f=i,n=f+r-4,t=0;t=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++t);if(HEAP32[i>>2]=a,(i+=4)+4>n)break}return HEAP32[i>>2]=0,i-f}function lengthBytesUTF32(e){for(var i=0,r=0;r=55296&&f<=57343&&++r,i+=4}return i}function demangle(e){var i=!!Module.___cxa_demangle;if(i)try{var r=_malloc(e.length);writeStringToMemory(e.substr(1),r);var f=_malloc(4),n=Module.___cxa_demangle(r,0,0,f);if(0===getValue(f,"i32")&&n)return Pointer_stringify(n)}catch(e){}finally{r&&_free(r),f&&_free(f),n&&_free(n)}var t=3,a={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},s=[],l=!0;var o=e;try{if("Object._main"==e||"_main"==e)return"main()";if("number"==typeof e&&(e=Pointer_stringify(e)),"_"!==e[0])return e;if("_"!==e[1])return e;if("Z"!==e[2])return e;switch(e[3]){case"n":return"operator new()";case"d":return"operator delete()"}o=function i(r,f,n){f=f||1/0;var o,u="",c=[];if("N"===e[t]){if(o=function(){"K"===e[++t]&&t++;for(var i=[];"E"!==e[t];)if("S"!==e[t])if("C"!==e[t]){var r=parseInt(e.substr(t)),f=r.toString().length;if(!r||!f){t--;break}var n=e.substr(t+f,r);i.push(n),s.push(n),t+=f+r}else i.push(i[i.length-1]),t+=2;else{t++;var a=e.indexOf("_",t),l=e.substring(t,a)||0;i.push(s[l]||"?"),t=a+1}return t++,i}().join("::"),0===--f)return r?[o]:o}else if(("K"===e[t]||l&&"L"===e[t])&&t++,_=parseInt(e.substr(t))){var h=_.toString().length;o=e.substr(t+h,_),t+=h+_}if(l=!1,"I"===e[t]){t++;var d=i(!0);u+=i(!0,1,!0)[0]+" "+o+"<"+d.join(", ")+">"}else u=o;e:for(;t0;){var b=e[t++];if(b in a)c.push(a[b]);else switch(b){case"P":c.push(i(!0,1,!0)[0]+"*");break;case"R":c.push(i(!0,1,!0)[0]+"&");break;case"L":t++;var _=e.indexOf("E",t)-t;c.push(e.substr(t,_)),t+=_+2;break;case"A":_=parseInt(e.substr(t));if(t+=_.toString().length,"_"!==e[t])throw"?";t++,c.push(i(!0,1,!0)[0]+" ["+_+"]");break;case"E":break e;default:u+="?"+b;break e}}return n||1!==c.length||"void"!==c[0]||(c=[]),r?(u&&c.push(u+"?"),c):u+"("+c.join(", ")+")"}()}catch(e){o+="?"}return o.indexOf("?")>=0&&!i&&Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),o}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,(function(e){var i=demangle(e);return e===i?e:e+" ["+i+"]"}))}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(i){e=i}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE,Module.allocate=allocate,Module.getMemory=getMemory,Module.Pointer_stringify=Pointer_stringify,Module.AsciiToString=AsciiToString,Module.stringToAscii=stringToAscii,Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.UTF16ToString=UTF16ToString,Module.stringToUTF16=stringToUTF16,Module.lengthBytesUTF16=lengthBytesUTF16,Module.UTF32ToString=UTF32ToString,Module.stringToUTF32=stringToUTF32,Module.lengthBytesUTF32=lengthBytesUTF32,Module.stackTrace=stackTrace;var PAGE_SIZE=4096,HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function alignMemoryPage(e){return e%4096>0&&(e+=4096-e%4096),e}var STATIC_BASE=0,STATICTOP=0,staticSealed=!1,STACK_BASE=0,STACKTOP=0,STACK_MAX=0,DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}for(var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||4e8,totalMemory=65536,buffer;totalMemory0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?Runtime.dynCall("v",r):Runtime.dynCall("vi",r,[i.arg]):r(void 0===i.arg?null:i.arg)}else i()}}totalMemory!==TOTAL_MEMORY&&(TOTAL_MEMORY=totalMemory),assert("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support"),buffer=new ArrayBuffer(TOTAL_MEMORY),HEAP8=new Int8Array(buffer),HEAP16=new Int16Array(buffer),HEAP32=new Int32Array(buffer),HEAPU8=new Uint8Array(buffer),HEAPU16=new Uint16Array(buffer),HEAPU32=new Uint32Array(buffer),HEAPF32=new Float32Array(buffer),HEAPF64=new Float64Array(buffer),HEAP32[0]=255,assert(255===HEAPU8[0]&&0===HEAPU8[3],"Typed arrays 2 must be run on a little-endian system"),Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,i,r){var f=r>0?r:lengthBytesUTF8(e)+1,n=new Array(f),t=stringToUTF8Array(e,n,0,n.length);return i&&(n.length=t),n}function intArrayToString(e){for(var i=[],r=0;r255&&(f&=255),i.push(String.fromCharCode(f))}return i.join("")}function writeStringToMemory(e,i,r){for(var f=intArrayFromString(e,r),n=0;n>0]=t,n+=1}}function writeArrayToMemory(e,i){for(var r=0;r>0]=e[r]}function writeAsciiToMemory(e,i,r){for(var f=0;f>0]=e.charCodeAt(f);r||(HEAP8[i>>0]=0)}function unSign(e,i,r){return e>=0?e:i<=32?2*Math.abs(1<=f&&(i<=32||e>f)&&(e=-2*f+e),e}Module.addOnPreRun=addOnPreRun,Module.addOnInit=addOnInit,Module.addOnPreMain=addOnPreMain,Module.addOnExit=addOnExit,Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,i){var r=65535&e,f=65535&i;return r*f+((e>>>16)*f+r*(i>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var i=0;i<32;i++)if(e&1<<31-i)return i;return 32}),Math.clz32=Math.clz32;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_min=Math.min,Math_clz32=Math.clz32,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var i=dependenciesFulfilled;dependenciesFulfilled=null,i()}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var memoryInitializer=null,ASM_CONSTS=[];STATIC_BASE=8,STATICTOP=STATIC_BASE+25664,__ATINIT__.push(),allocate([131,192,202,161,69,182,251,63,127,251,58,112,206,136,234,63,127,251,58,112,206,136,234,63,131,192,202,161,69,182,251,63,225,122,20,174,71,225,252,63,94,186,73,12,2,43,249,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,6,64,0,0,0,0,0,128,21,64,92,143,194,245,40,92,37,64,215,163,112,61,10,87,53,64,246,40,92,143,194,85,69,64,133,235,81,184,30,85,85,64,102,102,102,102,102,86,101,64,205,204,204,204,204,84,117,64,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,173,250,92,109,197,254,230,63,86,125,174,182,98,127,237,63,199,75,55,137,65,96,249,63,242,210,77,98,16,88,8,64,250,126,106,188,116,19,24,64,133,235,81,184,30,5,40,64,0,0,0,0,0,0,56,64,92,143,194,245,40,252,71,64,236,81,184,30,133,251,87,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,113,61,10,215,163,112,255,63,104,145,237,124,63,181,16,64,117,147,24,4,86,206,32,64,102,102,102,102,102,230,48,64,236,81,184,30,133,235,64,64,92,143,194,245,40,236,80,64,154,153,153,153,153,233,96,64,154,153,153,153,153,233,112,64,51,51,51,51,51,231,128,64,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,164,112,61,10,215,163,0,64,236,81,184,30,133,235,14,64,119,190,159,26,47,157,32,64,174,71,225,122,20,46,49,64,123,20,174,71,225,90,65,64,246,40,92,143,194,101,81,64,154,153,153,153,153,105,97,64,154,153,153,153,153,105,113,64,154,153,153,153,153,105,129,64,0,0,0,0,0,0,0,0,4,0,0,0,67,80,82,76,0,0,0,0,0,0,0,0,76,82,67,80,0,0,0,0,3,0,0,0,80,67,82,76,0,0,0,0,1,0,0,0,82,76,67,80,0,0,0,0,2,0,0,0,82,80,67,76,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,144,255,0,0,12,0,0,0,1,0,0,0,82,255,0,0,20,0,0,0,2,0,0,0,83,255,0,0,20,0,0,0,3,0,0,0,94,255,0,0,20,0,0,0,4,0,0,0,92,255,0,0,20,0,0,0,5,0,0,0,93,255,0,0,20,0,0,0,6,0,0,0,95,255,0,0,20,0,0,0,7,0,0,0,81,255,0,0,2,0,0,0,8,0,0,0,85,255,0,0,4,0,0,0,9,0,0,0,87,255,0,0,4,0,0,0,10,0,0,0,88,255,0,0,16,0,0,0,11,0,0,0,96,255,0,0,4,0,0,0,12,0,0,0,97,255,0,0,16,0,0,0,13,0,0,0,145,255,0,0,0,0,0,0,0,0,0,0,99,255,0,0,4,0,0,0,14,0,0,0,100,255,0,0,20,0,0,0,15,0,0,0,116,255,0,0,20,0,0,0,16,0,0,0,120,255,0,0,4,0,0,0,17,0,0,0,117,255,0,0,20,0,0,0,18,0,0,0,119,255,0,0,20,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,32,32,80,106,20,0,0,0,112,121,116,102,21,0,0,0,104,50,112,106,22,0,0,0,114,100,104,105,23,0,0,0,114,108,111,99,24,0,0,0,99,99,112,98,25,0,0,0,114,108,99,112,26,0,0,0,112,97,109,99,27,0,0,0,102,101,100,99,28,0,0,0,1,86,0,0,0,0,0,0,164,4,0,0,180,4,0,0,1,86,0,0,1,0,0,0,180,4,0,0,164,4,0,0,1,52,0,0,0,0,0,0,196,4,0,0,68,5,0,0,1,52,0,0,1,0,0,0,212,4,0,0,84,5,0,0,1,24,0,0,0,0,0,0,228,4,0,0,164,5,0,0,1,24,0,0,1,0,0,0,244,4,0,0,180,5,0,0,193,10,0,0,0,0,0,0,4,5,0,0,4,6,0,0,193,10,0,0,1,0,0,0,20,5,0,0,20,6,0,0,33,5,0,0,0,0,0,0,36,5,0,0,36,8,0,0,33,5,0,0,1,0,0,0,52,5,0,0,52,8,0,0,33,2,0,0,0,0,0,0,68,9,0,0,164,8,0,0,33,2,0,0,1,0,0,0,84,9,0,0,180,8,0,0,1,86,0,0,0,0,0,0,100,5,0,0,84,5,0,0,1,86,0,0,1,0,0,0,116,5,0,0,68,5,0,0,1,84,0,0,0,0,0,0,132,5,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,5,0,0,84,6,0,0,1,72,0,0,0,0,0,0,164,5,0,0,68,6,0,0,1,72,0,0,1,0,0,0,180,5,0,0,84,6,0,0,1,56,0,0,0,0,0,0,196,5,0,0,68,6,0,0,1,56,0,0,1,0,0,0,212,5,0,0,84,6,0,0,1,48,0,0,0,0,0,0,228,5,0,0,164,6,0,0,1,48,0,0,1,0,0,0,244,5,0,0,180,6,0,0,1,36,0,0,0,0,0,0,4,6,0,0,196,6,0,0,1,36,0,0,1,0,0,0,20,6,0,0,212,6,0,0,1,28,0,0,0,0,0,0,36,6,0,0,4,7,0,0,1,28,0,0,1,0,0,0,52,6,0,0,20,7,0,0,1,22,0,0,0,0,0,0,36,8,0,0,36,7,0,0,1,22,0,0,1,0,0,0,52,8,0,0,52,7,0,0,1,86,0,0,0,0,0,0,100,6,0,0,84,6,0,0,1,86,0,0,1,0,0,0,116,6,0,0,68,6,0,0,1,84,0,0,0,0,0,0,132,6,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,6,0,0,84,6,0,0,1,81,0,0,0,0,0,0,164,6,0,0,100,6,0,0,1,81,0,0,1,0,0,0,180,6,0,0,116,6,0,0,1,72,0,0,0,0,0,0,196,6,0,0,132,6,0,0,1,72,0,0,1,0,0,0,212,6,0,0,148,6,0,0,1,56,0,0,0,0,0,0,228,6,0,0,164,6,0,0,1,56,0,0,1,0,0,0,244,6,0,0,180,6,0,0,1,52,0,0,0,0,0,0,4,7,0,0,196,6,0,0,1,52,0,0,1,0,0,0,20,7,0,0,212,6,0,0,1,48,0,0,0,0,0,0,36,7,0,0,228,6,0,0,1,48,0,0,1,0,0,0,52,7,0,0,244,6,0,0,1,40,0,0,0,0,0,0,68,7,0,0,228,6,0,0,1,40,0,0,1,0,0,0,84,7,0,0,244,6,0,0,1,36,0,0,0,0,0,0,100,7,0,0,4,7,0,0,1,36,0,0,1,0,0,0,116,7,0,0,20,7,0,0,1,34,0,0,0,0,0,0,132,7,0,0,36,7,0,0,1,34,0,0,1,0,0,0,148,7,0,0,52,7,0,0,1,28,0,0,0,0,0,0,164,7,0,0,68,7,0,0,1,28,0,0,1,0,0,0,180,7,0,0,84,7,0,0,1,24,0,0,0,0,0,0,196,7,0,0,100,7,0,0,1,24,0,0,1,0,0,0,212,7,0,0,116,7,0,0,1,22,0,0,0,0,0,0,228,7,0,0,132,7,0,0,1,22,0,0,1,0,0,0,244,7,0,0,148,7,0,0,1,20,0,0,0,0,0,0,4,8,0,0,164,7,0,0,1,20,0,0,1,0,0,0,20,8,0,0,180,7,0,0,1,18,0,0,0,0,0,0,36,8,0,0,196,7,0,0,1,18,0,0,1,0,0,0,52,8,0,0,212,7,0,0,1,17,0,0,0,0,0,0,68,8,0,0,228,7,0,0,1,17,0,0,1,0,0,0,84,8,0,0,244,7,0,0,193,10,0,0,0,0,0,0,100,8,0,0,4,8,0,0,193,10,0,0,1,0,0,0,116,8,0,0,20,8,0,0,193,9,0,0,0,0,0,0,132,8,0,0,36,8,0,0,193,9,0,0,1,0,0,0,148,8,0,0,52,8,0,0,161,8,0,0,0,0,0,0,164,8,0,0,68,8,0,0,161,8,0,0,1,0,0,0,180,8,0,0,84,8,0,0,33,5,0,0,0,0,0,0,196,8,0,0,100,8,0,0,33,5,0,0,1,0,0,0,212,8,0,0,116,8,0,0,65,4,0,0,0,0,0,0,228,8,0,0,132,8,0,0,65,4,0,0,1,0,0,0,244,8,0,0,148,8,0,0,161,2,0,0,0,0,0,0,4,9,0,0,164,8,0,0,161,2,0,0,1,0,0,0,20,9,0,0,180,8,0,0,33,2,0,0,0,0,0,0,36,9,0,0,196,8,0,0,33,2,0,0,1,0,0,0,52,9,0,0,212,8,0,0,65,1,0,0,0,0,0,0,68,9,0,0,228,8,0,0,65,1,0,0,1,0,0,0,84,9,0,0,244,8,0,0,17,1,0,0,0,0,0,0,100,9,0,0,4,9,0,0,17,1,0,0,1,0,0,0,116,9,0,0,20,9,0,0,133,0,0,0,0,0,0,0,132,9,0,0,36,9,0,0,133,0,0,0,1,0,0,0,148,9,0,0,52,9,0,0,73,0,0,0,0,0,0,0,164,9,0,0,68,9,0,0,73,0,0,0,1,0,0,0,180,9,0,0,84,9,0,0,37,0,0,0,0,0,0,0,196,9,0,0,100,9,0,0,37,0,0,0,1,0,0,0,212,9,0,0,116,9,0,0,21,0,0,0,0,0,0,0,228,9,0,0,132,9,0,0,21,0,0,0,1,0,0,0,244,9,0,0,148,9,0,0,9,0,0,0,0,0,0,0,4,10,0,0,164,9,0,0,9,0,0,0,1,0,0,0,20,10,0,0,180,9,0,0,5,0,0,0,0,0,0,0,36,10,0,0,196,9,0,0,5,0,0,0,1,0,0,0,52,10,0,0,212,9,0,0,1,0,0,0,0,0,0,0,36,10,0,0,228,9,0,0,1,0,0,0,1,0,0,0,52,10,0,0,244,9,0,0,1,86,0,0,0,0,0,0,68,10,0,0,68,10,0,0,1,86,0,0,1,0,0,0,84,10,0,0,84,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,11,0,0,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,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,2,0,0,0,3,0,0,0,38,94,0,0,0,4,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,10,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,64,4,32,0,32,2,128,0,128,8,16,0,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,0,3,128,4,0,6,128,7,0,9,128,10,0,12,128,13,0,15,128,16,0,18,128,19,0,21,128,22,0,24,128,25,0,27,128,28,0,30,128,31,0,33,128,34,0,36,128,37,0,39,128,40,0,42,128,43,0,45,128,46,0,48,128,49,0,51,128,52,0,54,128,55,0,57,128,58,0,60,128,61,0,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,0,81,128,82,0,84,128,85,0,87,128,88,0,90,128,91,0,93,128,94,0,96,128,97,0,99,128,100,0,102,128,103,0,105,128,106,0,108,128,109,0,111,128,112,0,114,128,115,0,117,128,118,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,128,38,128,39,128,40,128,41,0,43,0,44,0,45,128,46,128,47,0,49,0,50,128,51,128,52,0,54,0,55,128,56,0,58,0,59,128,60,0,62,128,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,128,81,0,83,128,84,0,86,0,88,128,89,0,91,0,93,128,94,128,96,0,98,0,100,128,101,128,103,0,105,0,107,0,109,128,110,128,112,128,114,128,116,0,118,0,120,0,122,0,124,0,126,0,24,128,23,0,23,128,22,0,22,128,21,0,21,128,20,0,20,128,19,0,19,128,18,0,18,128,17,0,17,128,16,0,16,128,15,0,15,128,14,0,14,128,13,0,13,128,12,0,12,128,11,0,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,0,5,128,4,0,4,128,3,0,3,128,2,0,2,128,1,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,1,128,1,0,2,128,2,0,3,128,3,0,4,128,4,0,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,0,11,128,11,0,12,128,12,0,13,128,13,0,14,128,14,0,15,128,15,0,16,128,16,0,17,128,17,0,18,128,18,0,19,128,19,0,20,128,20,0,21,128,21,0,22,128,22,0,23,128,23,0,32,0,31,0,30,0,29,0,28,0,27,128,26,128,25,128,24,128,23,0,23,0,22,0,21,128,20,128,19,0,19,0,18,128,17,128,16,0,16,0,15,128,14,0,14,0,13,128,12,0,12,128,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,128,5,0,5,128,4,0,4,0,4,128,3,0,3,0,3,128,2,128,2,0,2,0,2,128,1,128,1,0,1,0,1,0,1,128,0,128,0,128,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,116,104,101,32,100,101,99,111,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,104,101,97,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,33,0,91,69,82,82,79,82,93,32,37,115,0,83,116,114,101,97,109,32,114,101,97,99,104,101,100,32,105,116,115,32,101,110,100,32,33,10,0,69,114,114,111,114,32,111,110,32,119,114,105,116,105,110,103,32,115,116,114,101,97,109,33,10,0,83,116,114,101,97,109,32,101,114,114,111,114,33,10,0,50,46,49,46,48,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,115,101,116,117,112,95,100,101,99,111,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,114,101,97,100,95,104,101,97,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,119,98,0,114,98,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,44,37,100,93,10,0,68,101,112,114,101,99,97,116,101,100,32,102,105,101,108,100,115,32,99,112,95,99,105,110,101,109,97,32,111,114,32,99,112,95,114,115,105,122,32,97,114,101,32,117,115,101,100,10,80,108,101,97,115,101,32,99,111,110,115,105,100,101,114,32,117,115,105,110,103,32,111,110,108,121,32,116,104,101,32,114,115,105,122,32,102,105,101,108,100,10,83,101,101,32,111,112,101,110,106,112,101,103,46,104,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,10,0,84,104,101,32,100,101,115,105,114,101,100,32,109,97,120,105,109,117,109,32,99,111,100,101,115,116,114,101,97,109,32,115,105,122,101,32,104,97,115,32,108,105,109,105,116,101,100,10,97,116,32,108,101,97,115,116,32,111,110,101,32,111,102,32,116,104,101,32,100,101,115,105,114,101,100,32,113,117,97,108,105,116,121,32,108,97,121,101,114,115,10,0,74,80,69,71,32,50,48,48,48,32,83,99,97,108,97,98,108,101,32,68,105,103,105,116,97,108,32,67,105,110,101,109,97,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,49,32,115,105,110,103,108,101,32,113,117,97,108,105,116,121,32,108,97,121,101,114,45,62,32,78,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,45,62,32,82,97,116,101,32,111,102,32,116,104,101,32,108,97,115,116,32,108,97,121,101,114,32,40,37,51,46,49,102,41,32,119,105,108,108,32,98,101,32,117,115,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,60,61,32,53,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,53,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,54,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,51,48,50,48,56,51,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,48,52,49,54,54,54,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,51,32,99,111,109,112,111,110,101,110,116,115,45,62,32,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,115,105,103,110,101,100,0,117,110,115,105,103,110,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,80,114,101,99,105,115,105,111,110,32,111,102,32,101,97,99,104,32,99,111,109,112,111,110,101,110,116,32,115,104,97,108,108,32,98,101,32,49,50,32,98,105,116,115,32,117,110,115,105,103,110,101,100,45,62,32,65,116,32,108,101,97,115,116,32,99,111,109,112,111,110,101,110,116,32,37,100,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,32,98,105,116,115,44,32,37,115,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,50,48,52,56,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,49,48,56,48,10,45,62,32,73,110,112,117,116,32,105,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,52,48,57,54,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,50,49,54,48,10,45,62,32,73,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,52,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,76,111,110,103,32,84,101,114,109,32,83,116,111,114,97,103,101,32,112,114,111,102,105,108,101,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,66,114,111,97,100,99,97,115,116,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,73,77,70,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,97,114,116,45,50,32,112,114,111,102,105,108,101,32,100,101,102,105,110,101,100,10,98,117,116,32,110,111,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,46,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,85,110,115,117,112,112,111,114,116,101,100,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,117,115,101,114,32,101,110,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,37,115,37,115,0,67,114,101,97,116,101,100,32,98,121,32,79,112,101,110,74,80,69,71,32,118,101,114,115,105,111,110,32,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,104,101,99,107,105,110,103,32,116,104,101,32,112,111,99,32,118,97,108,117,101,115,46,10,0,77,105,115,115,105,110,103,32,112,97,99,107,101,116,115,32,112,111,115,115,105,98,108,101,32,108,111,115,115,32,111,102,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,101,109,112,32,98,117,102,102,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,70,97,105,108,101,100,32,116,111,32,105,110,118,101,114,115,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,110,111,114,109,115,32,10,0,70,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,106,50,107,32,109,99,116,32,101,110,99,111,100,105,110,103,10,0,67,97,110,110,111,116,32,112,101,114,102,111,114,109,32,77,67,84,32,111,110,32,99,111,109,112,111,110,101,110,116,115,32,119,105,116,104,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,46,32,68,105,115,97,98,108,105,110,103,32,77,67,84,46,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,10,0,73,110,99,111,110,115,105,115,116,101,110,116,32,109,97,114,107,101,114,32,115,105,122,101,10,0,77,97,114,107,101,114,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,32,119,105,116,104,32,105,116,115,32,112,111,115,105,116,105,111,110,10,0,77,97,114,107,101,114,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,104,101,97,100,101,114,10,0,78,111,116,32,115,117,114,101,32,104,111,119,32,116,104,97,116,32,104,97,112,112,101,110,101,100,46,10,0,70,97,105,108,32,116,111,32,114,101,97,100,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,40,37,35,120,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,116,108,32,109,97,114,107,101,114,10,0,84,105,108,101,32,112,97,114,116,32,108,101,110,103,116,104,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,79,84,32,109,97,114,107,101,114,10,0,111,112,106,95,106,50,107,95,97,112,112,108,121,95,110,98,95,116,105,108,101,95,112,97,114,116,115,95,99,111,114,114,101,99,116,105,111,110,32,101,114,114,111,114,10,0,78,111,110,32,99,111,110,102,111,114,109,97,110,116,32,99,111,100,101,115,116,114,101,97,109,32,84,80,115,111,116,61,61,84,78,115,111,116,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,84,32,109,97,114,107,101,114,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,84,32,100,97,116,97,10,0,67,97,110,110,111,116,32,100,101,99,111,100,101,32,116,105,108,101,44,32,109,101,109,111,114,121,32,101,114,114,111,114,10,0,72,101,97,100,101,114,32,111,102,32,116,105,108,101,32,37,100,32,47,32,37,100,32,104,97,115,32,98,101,101,110,32,114,101,97,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,46,10,0,78,111,32,69,79,67,32,109,97,114,107,101,114,46,32,80,111,115,115,105,98,108,121,32,97,32,116,114,117,110,99,97,116,101,100,32,115,116,114,101,97,109,10,0,83,116,114,101,97,109,32,100,111,101,115,32,110,111,116,32,101,110,100,32,119,105,116,104,32,69,79,67,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,44,32,101,120,112,101,99,116,101,100,32,83,79,84,10,0,78,101,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,98,101,102,111,114,101,32,98,101,103,105,110,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,99,111,100,101,115,116,114,101,97,109,0,78,111,32,100,101,99,111,100,101,100,32,97,114,101,97,32,112,97,114,97,109,101,116,101,114,115,44,32,115,101,116,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,116,111,32,116,104,101,32,119,104,111,108,101,32,105,109,97,103,101,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,83,105,122,101,32,120,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,119,61,37,100,41,46,10,0,83,105,122,101,32,121,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,104,61,37,100,41,46,10,0,83,101,116,116,105,110,103,32,100,101,99,111,100,105,110,103,32,97,114,101,97,32,116,111,32,37,100,44,37,100,44,37,100,44,37,100,10,0,87,114,111,110,103,32,102,108,97,103,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,102,111,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,116,120,48,61,37,100,44,32,116,121,48,61,37,100,10,0,9,32,116,100,120,61,37,100,44,32,116,100,121,61,37,100,10,0,9,32,116,119,61,37,100,44,32,116,104,61,37,100,10,0,125,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,100,101,120,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,77,97,105,110,32,104,101,97,100,101,114,32,115,116,97,114,116,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,9,32,77,97,105,110,32,104,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE),allocate([97,100,101,114,32,101,110,100,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,0,9,32,77,97,114,107,101,114,32,108,105,115,116,58,32,123,10,0,9,9,32,116,121,112,101,61,37,35,120,44,32,112,111,115,61,37,108,108,105,44,32,108,101,110,61,37,100,10,0,9,32,125,10,0,9,32,84,105,108,101,32,105,110,100,101,120,58,32,123,10,0,9,9,32,110,98,32,111,102,32,116,105,108,101,45,112,97,114,116,32,105,110,32,116,105,108,101,32,91,37,100,93,61,37,100,10,0,9,9,9,32,116,105,108,101,45,112,97,114,116,91,37,100,93,58,32,115,116,97,114,95,112,111,115,61,37,108,108,105,44,32,101,110,100,95,104,101,97,100,101,114,61,37,108,108,105,44,32,101,110,100,95,112,111,115,61,37,108,108,105,46,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,73,109,97,103,101,32,105,110,102,111,32,123,10,0,37,115,32,120,48,61,37,100,44,32,121,48,61,37,100,10,0,37,115,32,120,49,61,37,100,44,32,121,49,61,37,100,10,0,37,115,32,110,117,109,99,111,109,112,115,61,37,100,10,0,37,115,9,32,99,111,109,112,111,110,101,110,116,32,37,100,32,123,10,0,37,115,125,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,99,111,109,112,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,37,115,32,100,120,61,37,100,44,32,100,121,61,37,100,10,0,37,115,32,112,114,101,99,61,37,100,10,0,37,115,32,115,103,110,100,61,37,100,10,0,87,101,32,110,101,101,100,32,97,110,32,105,109,97,103,101,32,112,114,101,118,105,111,117,115,108,121,32,99,114,101,97,116,101,100,46,10,0,84,105,108,101,32,105,110,100,101,120,32,112,114,111,118,105,100,101,100,32,98,121,32,116,104,101,32,117,115,101,114,32,105,115,32,105,110,99,111,114,114,101,99,116,32,37,100,32,40,109,97,120,32,61,32,37,100,41,32,10,0,82,101,115,111,108,117,116,105,111,110,32,102,97,99,116,111,114,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,109,97,120,105,109,117,109,32,114,101,115,111,108,117,116,105,111,110,32,105,110,32,116,104,101,32,99,111,109,112,111,110,101,110,116,46,10,0,84,104,101,32,103,105,118,101,110,32,116,105,108,101,32,105,110,100,101,120,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,46,0,116,105,108,101,32,110,117,109,98,101,114,32,37,100,32,47,32,37,100,10,0,69,114,114,111,114,32,97,108,108,111,99,97,116,105,110,103,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,100,97,116,97,46,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,101,110,99,111,100,101,32,97,108,108,32,116,105,108,101,115,10,0,83,105,122,101,32,109,105,115,109,97,116,99,104,32,98,101,116,119,101,101,110,32,116,105,108,101,32,100,97,116,97,32,97,110,100,32,115,101,110,116,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,105,109,97,103,101,32,104,101,97,100,101,114,46,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,114,101,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,111,115,116,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,105,108,101,32,67,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,66,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,84,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,79,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,116,104,101,32,67,79,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,80,79,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,84,76,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,81,99,100,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,104,101,32,83,73,90,32,109,97,114,107,101,114,10,0,78,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,105,115,32,116,111,111,32,104,105,103,104,32,105,110,32,99,111,109,112,97,114,105,115,111,110,32,116,111,32,116,104,101,32,115,105,122,101,32,111,102,32,116,105,108,101,115,10,0,67,97,110,110,111,116,32,101,110,99,111,100,101,32,116,105,108,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,111,110,101,32,116,105,108,101,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,101,101,107,32,102,117,110,99,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,84,105,108,101,32,37,100,47,37,100,32,104,97,115,32,98,101,101,110,32,100,101,99,111,100,101,100,46,10,0,73,109,97,103,101,32,100,97,116,97,32,104,97,115,32,98,101,101,110,32,117,112,100,97,116,101,100,32,119,105,116,104,32,116,105,108,101,32,37,100,46,10,10,0,84,105,108,101,32,114,101,97,100,44,32,100,101,99,111,100,101,100,32,97,110,100,32,117,112,100,97,116,101,100,32,105,115,32,110,111,116,32,116,104,101,32,100,101,115,105,114,101,100,32,111,110,101,32,40,37,100,32,118,115,32,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,115,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,9,32,100,101,102,97,117,108,116,32,116,105,108,101,32,123,10,0,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,32,112,114,103,61,37,35,120,10,0,9,9,32,110,117,109,108,97,121,101,114,115,61,37,100,10,0,9,9,32,109,99,116,61,37,120,10,0,9,9,32,99,111,109,112,32,37,100,32,123,10,0,9,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,9,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,61,37,100,10,0,9,9,9,32,99,98,108,107,119,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,104,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,115,116,121,61,37,35,120,10,0,9,9,9,32,113,109,102,98,105,100,61,37,100,10,0,9,9,9,32,112,114,101,99,99,105,110,116,115,105,122,101,32,40,119,44,104,41,61,0,40,37,100,44,37,100,41,32,0,9,9,9,32,113,110,116,115,116,121,61,37,100,10,0,9,9,9,32,110,117,109,103,98,105,116,115,61,37,100,10,0,9,9,9,32,115,116,101,112,115,105,122,101,115,32,40,109,44,101,41,61,0,9,9,9,32,114,111,105,115,104,105,102,116,61,37,100,10,0,9,9,32,125,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,79,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,115,116,97,103,101,115,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,100,97,116,97,32,115,112,97,110,110,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,99,111,108,108,101,99,116,105,111,110,115,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,111,116,104,101,114,32,116,104,97,110,32,97,114,114,97,121,32,100,101,99,111,114,114,101,108,97,116,105,111,110,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,32,105,110,100,105,120,32,115,104,117,102,102,108,101,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,111,117,116,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,105,110,100,105,120,101,115,10,0,67,114,114,111,114,32,114,101,97,100,105,110,103,32,67,66,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,99,116,32,100,97,116,97,32,119,105,116,104,105,110,32,109,117,108,116,105,112,108,101,32,77,67,84,32,114,101,99,111,114,100,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,77,67,84,32,109,97,114,107,101,114,115,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,82,71,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,58,32,112,97,99,107,101,116,32,104,101,97,100,101,114,32,104,97,118,101,32,98,101,101,110,32,112,114,101,118,105,111,117,115,108,121,32,102,111,117,110,100,32,105,110,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,40,80,80,77,32,109,97,114,107,101,114,41,46,10,0,90,112,112,116,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,77,32,109,97,114,107,101,114,10,0,90,112,112,109,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,84,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,105,108,108,101,103,97,108,32,45,62,32,37,100,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,110,117,109,98,101,114,32,111,102,32,112,97,114,97,109,101,116,101,114,115,32,40,32,37,100,32,118,115,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,101,103,97,116,105,118,101,32,111,114,32,122,101,114,111,32,105,109,97,103,101,32,115,105,122,101,32,40,37,100,32,120,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,110,118,97,108,105,100,32,116,105,108,101,32,115,105,122,101,32,40,116,100,120,58,32,37,100,44,32,116,100,121,58,32,37,100,41,10,0,80,114,101,118,101,110,116,32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119,32,40,120,49,58,32,37,100,44,32,121,49,58,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,108,108,101,103,97,108,32,116,105,108,101,32,111,102,102,115,101,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,83,73,90,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32,99,111,109,112,32,61,32,37,100,32,58,32,100,120,61,37,117,32,100,121,61,37,117,10,32,40,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,50,53,53,32,97,99,99,111,114,100,105,110,103,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,41,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,115,32,58,32,37,117,32,120,32,37,117,32,40,109,97,120,105,109,117,109,32,102,105,120,101,100,32,98,121,32,106,112,101,103,50,48,48,48,32,110,111,114,109,32,105,115,32,54,53,53,51,53,32,116,105,108,101,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,79,67,32,109,97,114,107,101,114,10,0,84,111,111,32,109,97,110,121,32,80,79,67,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,67,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,58,32,37,100,44,32,114,101,103,97,114,100,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,81,99,100,32,111,114,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,87,104,105,108,101,32,114,101,97,100,105,110,103,32,67,67,80,95,81,78,84,83,84,89,32,101,108,101,109,101,110,116,32,105,110,115,105,100,101,32,81,67,68,32,111,114,32,81,67,67,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,44,32,110,117,109,98,101,114,32,111,102,32,115,117,98,98,97,110,100,115,32,40,37,100,41,32,105,115,32,103,114,101,97,116,101,114,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,46,32,83,111,32,119,101,32,108,105,109,105,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,115,116,111,114,101,100,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,32,97,110,100,32,115,107,105,112,32,116,104,101,32,114,101,115,116,46,32,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,82,71,78,32,109,97,114,107,101,114,10,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,32,105,110,32,82,71,78,32,40,37,100,32,119,104,101,110,32,116,104,101,114,101,32,97,114,101,32,111,110,108,121,32,37,100,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,32,40,98,97,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,102,111,114,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,44,32,109,97,120,32,118,97,108,117,101,32,105,115,32,115,101,116,32,105,110,32,111,112,101,110,106,112,101,103,46,104,32,97,116,32,37,100,10,0,69,114,114,111,114,32,100,101,99,111,100,105,110,103,32,99,111,109,112,111,110,101,110,116,32,37,100,46,10,84,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,116,111,32,114,101,109,111,118,101,32,105,115,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,111,102,32,116,104,105,115,32,99,111,109,112,111,110,101,110,116,10,77,111,100,105,102,121,32,116,104,101,32,99,112,95,114,101,100,117,99,101,32,112,97,114,97,109,101,116,101,114,46,10,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,44,32,73,110,118,97,108,105,100,32,99,98,108,107,119,47,99,98,108,107,104,32,99,111,109,98,105,110,97,116,105,111,110,10,0,73,110,118,97,108,105,100,32,112,114,101,99,105,110,99,116,32,115,105,122,101,10,0,67,79,68,32,109,97,114,107,101,114,32,97,108,114,101,97,100,121,32,114,101,97,100,46,32,78,111,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,67,79,68,32,109,97,114,107,101,114,32,112,101,114,32,116,105,108,101,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,83,99,111,100,32,118,97,108,117,101,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,112,114,111,103,114,101,115,115,105,111,110,32,111,114,100,101,114,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,105,110,32,67,79,68,32,109,97,114,107,101,114,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,45,54,53,53,51,53,93,10,0,73,110,118,97,108,105,100,32,116,105,108,101,32,110,117,109,98,101,114,32,37,100,10,0,69,109,112,116,121,32,83,79,84,32,109,97,114,107,101,114,32,100,101,116,101,99,116,101,100,58,32,80,115,111,116,61,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,105,115,32,110,111,116,32,99,111,114,114,101,99,116,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,58,32,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,108,101,45,112,97,114,116,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,44,32,119,101,32,97,115,115,117,109,105,110,103,32,105,116,32,105,115,32,116,104,101,32,108,97,115,116,32,116,105,108,101,45,112,97,114,116,32,111,102,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,46,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,104,101,97,100,101,114,41,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,83,79,84,32,109,97,114,107,101,114,46,32,84,105,108,101,32,105,110,100,101,120,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,10,0,83,116,97,114,116,32,116,111,32,114,101,97,100,32,106,50,107,32,109,97,105,110,32,104,101,97,100,101,114,32,40,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,109,104,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,97,32,83,79,67,32,109,97,114,107,101,114,32,10,0,65,32,109,97,114,107,101,114,32,73,68,32,119,97,115,32,101,120,112,101,99,116,101,100,32,40,48,120,102,102,45,45,41,32,105,110,115,116,101,97,100,32,111,102,32,37,46,56,120,10,0,85,110,107,110,111,119,110,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,32,109,97,114,107,101,114,32,104,97,118,101,32,98,101,101,110,32,100,101,116,101,99,116,101,100,32,97,110,100,32,103,101,110,101,114,97,116,101,100,32,101,114,114,111,114,46,10,0,77,97,114,107,101,114,32,104,97,110,100,108,101,114,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,10,0,114,101,113,117,105,114,101,100,32,83,73,90,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,67,79,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,81,67,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,98,121,116,101,115,32,116,111,32,114,101,97,100,32,78,112,112,109,10,0,67,111,114,114,117,112,116,101,100,32,80,80,77,32,109,97,114,107,101,114,115,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,77,32,100,97,116,97,10,0,77,97,105,110,32,104,101,97,100,101,114,32,104,97,115,32,98,101,101,110,32,99,111,114,114,101,99,116,108,121,32,100,101,99,111,100,101,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,105,110,32,116,104,101,32,74,80,50,32,102,105,108,101,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,119,104,105,108,101,32,115,101,116,116,105,110,103,32,117,112,32,74,80,50,32,101,110,99,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,104,101,110,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,117,110,107,110,111,119,110,32,101,110,117,109,99,115,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,110,111,116,32,101,110,111,117,103,104,32,105,109,97,103,101,32,99,111,109,112,111,110,101,110,116,115,32,102,111,114,32,97,110,32,97,117,116,111,109,97,116,105,99,32,99,100,101,102,32,98,111,120,32,99,114,101,97,116,105,111,110,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,112,111,115,105,116,105,111,110,32,99,111,110,102,108,105,99,116,115,32,119,105,116,104,32,99,111,108,111,114,32,99,104,97,110,110,101,108,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,77,117,108,116,105,112,108,101,32,97,108,112,104,97,32,99,104,97,110,110,101,108,115,32,115,112,101,99,105,102,105,101,100,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,74,80,50,32,98,111,120,32,119,104,105,99,104,32,97,114,101,32,97,102,116,101,114,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,110,111,116,32,98,101,32,114,101,97,100,32,98,121,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,111,108,100,32,74,80,50,32,72,101,97,100,101,114,32,100,97,116,97,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,102,116,121,112,32,100,97,116,97,10,0,69,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,102,116,121,112,32,100,97,116,97,32,116,111,32,115,116,114,101,97,109,10,0,70,97,105,108,101,100,32,116,111,32,115,101,101,107,32,105,110,32,116,104,101,32,115,116,114,101,97,109,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,102,105,108,101,32,104,101,97,100,101,114,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,115,105,122,101,115,32,104,105,103,104,101,114,32,116,104,97,110,32,50,94,51,50,10,0,98,97,100,32,112,108,97,99,101,100,32,106,112,101,103,32,99,111,100,101,115,116,114,101,97,109,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,117,110,100,101,102,105,110,101,100,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,40,37,120,41,10,0,70,111,117,110,100,32,97,32,109,105,115,112,108,97,99,101,100,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,111,117,116,115,105,100,101,32,106,112,50,104,32,98,111,120,10,0,74,80,69,71,50,48,48,48,32,72,101,97,100,101,114,32,98,111,120,32,110,111,116,32,114,101,97,100,32,121,101,116,44,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,107,105,112,112,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,73,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,102,111,114,32,98,111,120,32,39,37,99,37,99,37,99,37,99,39,46,32,78,101,101,100,32,37,100,32,98,121,116,101,115,44,32,37,100,32,98,121,116,101,115,32,114,101,109,97,105,110,105,110,103,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,98,111,120,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,114,101,97,100,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,102,105,114,115,116,32,98,111,120,32,109,117,115,116,32,98,101,32,74,80,69,71,32,50,48,48,48,32,115,105,103,110,97,116,117,114,101,32,98,111,120,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,115,101,99,111,110,100,32,98,111,120,32,109,117,115,116,32,98,101,32,102,105,108,101,32,116,121,112,101,32,98,111,120,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,68,69,70,32,98,111,120,46,10,0,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,32,100,101,115,99,114,105,112,116,105,111,110,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,32,105,110,32,67,68,69,70,32,98,111,120,46,10,0,78,101,101,100,32,116,111,32,114,101,97,100,32,97,32,80,67,76,82,32,98,111,120,32,98,101,102,111,114,101,32,116,104,101,32,67,77,65,80,32,98,111,120,46,10,0,79,110,108,121,32,111,110,101,32,67,77,65,80,32,98,111,120,32,105,115,32,97,108,108,111,119,101,100,46,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,77,65,80,32,98,111,120,46,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,37,100,32,101,110,116,114,105,101,115,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,48,32,112,97,108,101,116,116,101,32,99,111,108,117,109,110,115,10,0,65,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,108,116,104,111,117,103,104,32,66,80,67,32,103,105,118,101,110,32,98,121,32,116,104,101,32,73,72,68,82,32,98,111,120,32,40,37,100,41,32,105,110,100,105,99,97,116,101,32,99,111,109,112,111,110,101,110,116,115,32,98,105,116,32,100,101,112,116,104,32,105,115,32,99,111,110,115,116,97,110,116,10,0,66,97,100,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,65,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,114,101,97,100,101,114,32,115,104,97,108,108,32,105,103,110,111,114,101,32,97,108,108,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,101,115,32,97,102,116,101,114,32,116,104,101,32,102,105,114,115,116,44,32,115,111,32,119,101,32,105,103,110,111,114,101,32,116,104,105,115,32,111,110,101,46,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,67,73,69,76,97,98,44,32,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,67,79,76,82,32,66,79,88,32,109,101,116,104,32,118,97,108,117,101,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,118,97,108,117,101,32,40,37,100,41,44,32,115,111,32,119,101,32,119,105,108,108,32,105,103,110,111,114,101,32,116,104,101,32,101,110,116,105,114,101,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,46,32,10,0,66,97,100,32,105,109,97,103,101,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,105,109,97,103,101,32,104,101,97,100,101,114,32,40,105,104,100,114,41,10,0,74,80,50,32,73,72,68,82,32,98,111,120,58,32,99,111,109,112,114,101,115,115,105,111,110,32,116,121,112,101,32,105,110,100,105,99,97,116,101,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,97,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,102,105,108,101,32,40,37,100,41,32,10,0,84,104,101,32,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,56,32,98,121,116,101,115,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,88,76,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,49,54,32,98,121,116,101,115,10,0,66,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,98,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,110,111,32,39,105,104,100,114,39,32,98,111,120,46,10,0,84,104,101,32,102,116,121,112,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,115,101,99,111,110,100,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,70,84,89,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,105,116,104,32,70,84,89,80,32,66,111,120,10,0,84,104,101,32,115,105,103,110,97,116,117,114,101,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,83,105,103,110,97,116,117,114,101,32,58,32,98,97,100,32,109,97,103,105,99,32,110,117,109,98,101,114,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,97,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,105,110,100,101,120,32,37,100,32,40,62,61,32,37,100,41,46,10,0,73,110,99,111,109,112,108,101,116,101,32,99,104,97,110,110,101,108,32,100,101,102,105,110,105,116,105,111,110,115,46,10,0,85,110,101,120,112,101,99,116,101,100,32,79,79,77,46,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,47,112,97,108,101,116,116,101,32,105,110,100,101,120,32,102,111,114,32,100,105,114,101,99,116,32,109,97,112,112,105,110,103,32,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,105,115,32,109,97,112,112,101,100,32,116,119,105,99,101,46,10,0,68,105,114,101,99,116,32,117,115,101,32,97,116,32,35,37,100,32,104,111,119,101,118,101,114,32,112,99,111,108,61,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,100,111,101,115,110,39,116,32,104,97,118,101,32,97,32,109,97,112,112,105,110,103,46,10,0,67,111,109,112,111,110,101,110,116,32,109,97,112,112,105,110,103,32,115,101,101,109,115,32,119,114,111,110,103,46,32,84,114,121,105,110,103,32,116,111,32,99,111,114,114,101,99,116,46,10,0,84,105,108,101,115,32,100,111,110,39,116,32,97,108,108,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,100,105,109,101,110,115,105,111,110,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,40,37,100,41,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,97,32,77,67,84,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,116,105,108,101,115,32,114,101,113,117,105,114,101,32,97,116,32,108,101,97,115,116,32,111,110,101,32,114,101,115,111,108,117,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,114,101,115,111,108,117,116,105,111,110,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,98,97,110,100,32,112,114,101,99,105,110,116,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,117,114,114,101,110,116,32,112,114,101,99,105,110,99,116,32,99,111,100,101,98,108,111,99,107,32,101,108,101,109,101,110,116,10,0,78,111,32,105,110,99,108,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,32,105,109,115,98,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,10,0,116,103,116,95,99,114,101,97,116,101,32,116,114,101,101,45,62,110,117,109,110,111,100,101,115,32,61,61,32,48,44,32,110,111,32,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,32,110,111,100,101,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,116,97,103,32,116,114,101,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,97,32,110,101,119,32,118,97,108,105,100,97,116,105,111,110,32,112,114,111,99,101,100,117,114,101,10,0,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240),allocate([7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,3,3,6,3,6,6,8,3,6,6,8,6,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,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,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,1,1,0,0,1,1,1,0,0,1,0,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,99,117,114,114,101,110,116,32,115,105,122,101,32,40,37,100,32,62,32,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,115,107,105,112,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480),allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+25118);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3],HEAP8[tempDoublePtr+4]=HEAP8[e+4],HEAP8[tempDoublePtr+5]=HEAP8[e+5],HEAP8[tempDoublePtr+6]=HEAP8[e+6],HEAP8[tempDoublePtr+7]=HEAP8[e+7]}assert(tempDoublePtr%8==0),Module._i64Subtract=_i64Subtract;var _floorf=Math_floor;Module._bitshift64Ashr=_bitshift64Ashr;var _SItoF=!0;Module._memset=_memset;var _BDtoILow=!0,_ceilf=Math_ceil;function _abort(){Module.abort()}function ___lock(){}function ___unlock(){}Module._bitshift64Shl=_bitshift64Shl,Module._i64Add=_i64Add;var _floor=Math_floor,_sqrt=Math_sqrt,PATH=void 0;function _emscripten_set_main_loop_timing(e,i){if(Browser.mainLoop.timingMode=e,Browser.mainLoop.timingValue=i,!Browser.mainLoop.func)return 1;if(0==e)Browser.mainLoop.scheduler=function(){setTimeout(Browser.mainLoop.runner,i)},Browser.mainLoop.method="timeout";else if(1==e)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(2==e){if(!window.setImmediate){var r=[],f="__emcc";window.addEventListener("message",(function(e){e.source===window&&e.data===f&&(e.stopPropagation(),r.shift()())}),!0),window.setImmediate=function(e){r.push(e),window.postMessage(f,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(e,i,r,f,n){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=e,Browser.mainLoop.arg=f;var t=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var i=Date.now(),r=Browser.mainLoop.queue.shift();if(r.func(r.arg),Browser.mainLoop.remainingBlockers){var n=Browser.mainLoop.remainingBlockers,a=n%1==0?n-1:Math.floor(n);r.counted?Browser.mainLoop.remainingBlockers=a:(a+=.5,Browser.mainLoop.remainingBlockers=(8*n+a)/9)}return console.log('main loop blocker "'+r.name+'" took '+(Date.now()-i)+" ms"),Browser.mainLoop.updateStatus(),void setTimeout(Browser.mainLoop.runner,0)}t1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0?Browser.mainLoop.scheduler():("timeout"===Browser.mainLoop.method&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter((function(){void 0!==f?Runtime.dynCall("vi",e,[f]):Runtime.dynCall("v",e)})),t0?_emscripten_set_main_loop_timing(0,1e3/i):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var e=Browser.mainLoop.timingMode,i=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(e,i),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var e=Module.statusMessage||"Please wait...",i=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;i?i=6;){var a=f>>n-6&63;n-=6,r+=i[a]}return 2==n?(r+=i[(3&f)<<4],r+="=="):4==n&&(r+=i[(15&f)<<2],r+="="),r}(e),t(o))},o.src=l,Browser.safeSetTimeout((function(){t(o)}),1e4)}};Module.preloadPlugins.push(i);var r=Module.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||function(){},r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},r.exitPointerLock=r.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),Module.elementPointerLock&&r.addEventListener("click",(function(e){!Browser.pointerLock&&r.requestPointerLock&&(r.requestPointerLock(),e.preventDefault())}),!1))}function f(){Browser.pointerLock=document.pointerLockElement===r||document.mozPointerLockElement===r||document.webkitPointerLockElement===r||document.msPointerLockElement===r}},createContext:function(e,i,r,f){if(i&&Module.ctx&&e==Module.canvas)return Module.ctx;var n,t;if(i){var a={antialias:!1,alpha:!1};if(f)for(var s in f)a[s]=f[s];(t=GL.createContext(e,a))&&(n=GL.getContext(t).GLctx),e.style.backgroundColor="black"}else n=e.getContext("2d");return n?(r&&(i||assert("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=n,i&&GL.makeContextCurrent(t),Module.useWebGL=i,Browser.moduleContextCreatedCallbacks.forEach((function(e){e()})),Browser.init()),n):null},destroyContext:function(e,i,r){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(e,i,r){Browser.lockPointer=e,Browser.resizeCanvas=i,Browser.vrDevice=r,void 0===Browser.lockPointer&&(Browser.lockPointer=!0),void 0===Browser.resizeCanvas&&(Browser.resizeCanvas=!1),void 0===Browser.vrDevice&&(Browser.vrDevice=null);var f=Module.canvas;function n(){Browser.isFullScreen=!1;var e=f.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e?(f.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},f.cancelFullScreen=f.cancelFullScreen.bind(document),Browser.lockPointer&&f.requestPointerLock(),Browser.isFullScreen=!0,Browser.resizeCanvas&&Browser.setFullScreenCanvasSize()):(e.parentNode.insertBefore(f,e),e.parentNode.removeChild(e),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullScreen),Browser.updateCanvasDimensions(f)}Browser.fullScreenHandlersInstalled||(Browser.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var t=document.createElement("div");f.parentNode.insertBefore(t,f),t.appendChild(f),t.requestFullScreen=t.requestFullScreen||t.mozRequestFullScreen||t.msRequestFullscreen||(t.webkitRequestFullScreen?function(){t.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?t.requestFullScreen({vrDisplay:r}):t.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(e){var i=Date.now();if(0===Browser.nextRAF)Browser.nextRAF=i+1e3/60;else for(;i+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-i,0);setTimeout(e,r)},requestAnimationFrame:function(e){"undefined"==typeof window?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var e=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],e.forEach((function(e){e()}))}},safeRequestAnimationFrame:function(e){return Browser.requestAnimationFrame((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}))},safeSetTimeout:function(e,i){return Module.noExitRuntime=!0,setTimeout((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}),i)},safeSetInterval:function(e,i){return Module.noExitRuntime=!0,setInterval((function(){ABORT||Browser.allowAsyncCallbacks&&e()}),i)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var i=0;switch(e.type){case"DOMMouseScroll":i=e.detail;break;case"mousewheel":i=e.wheelDelta;break;case"wheel":i=e.deltaY;break;default:throw"unrecognized mouse wheel event: "+e.type}return i},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Browser.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),"undefined"!=typeof SDL?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var i=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,f=Module.canvas.height,n=void 0!==window.scrollX?window.scrollX:window.pageXOffset,t=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var a=e.touch;if(void 0===a)return;var s=a.pageX-(n+i.left),l=a.pageY-(t+i.top),o={x:s*=r/i.width,y:l*=f/i.height};if("touchstart"===e.type)Browser.lastTouches[a.identifier]=o,Browser.touches[a.identifier]=o;else if("touchend"===e.type||"touchmove"===e.type){var u=Browser.touches[a.identifier];u||(u=o),Browser.lastTouches[a.identifier]=u,Browser.touches[a.identifier]=o}return}var c=e.pageX-(n+i.left),h=e.pageY-(t+i.top);c*=r/i.width,h*=f/i.height,Browser.mouseMovementX=c-Browser.mouseX,Browser.mouseMovementY=h-Browser.mouseY,Browser.mouseX=c,Browser.mouseY=h}},xhrLoad:function(e,i,r){var f=new XMLHttpRequest;f.open("GET",e,!0),f.responseType="arraybuffer",f.onload=function(){200==f.status||0==f.status&&f.response?i(f.response):r()},f.onerror=r,f.send(null)},asyncLoad:function(e,i,r,f){Browser.xhrLoad(e,(function(r){assert(r,'Loading data file "'+e+'" failed (no arrayBuffer).'),i(new Uint8Array(r)),f||removeRunDependency("al "+e)}),(function(i){if(!r)throw'Loading data file "'+e+'" failed.';r()})),f||addRunDependency("al "+e)},resizeListeners:[],updateResizeListeners:function(){var e=Module.canvas;Browser.resizeListeners.forEach((function(i){i(e.width,e.height)}))},setCanvasSize:function(e,i,r){var f=Module.canvas;Browser.updateCanvasDimensions(f,e,i),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e|=8388608,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e&=-8388609,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},updateCanvasDimensions:function(e,i,r){i&&r?(e.widthNative=i,e.heightNative=r):(i=e.widthNative,r=e.heightNative);var f=i,n=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(f/n>2]},getStr:function(){return Pointer_stringify(SYSCALLS.get())},get64:function(){var e=SYSCALLS.get(),i=SYSCALLS.get();return assert(e>=0?0===i:-1===i),e},getZero:function(){assert(0===SYSCALLS.get())}};function ___syscall54(e,i){SYSCALLS.varargs=i;try{return 0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}Module._bitshift64Lshr=_bitshift64Lshr;var _BDtoIHigh=!0;function _pthread_cleanup_push(e,i){__ATEXIT__.push((function(){Runtime.dynCall("vi",e,[i])})),_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!"),__ATEXIT__.pop(),_pthread_cleanup_push.level=__ATEXIT__.length}function ___syscall5(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStr(),f=SYSCALLS.get(),n=SYSCALLS.get();return FS.open(r,f,n).fd}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function _emscripten_memcpy_big(e,i,r){return HEAPU8.set(HEAPU8.subarray(i,i+r),e),e}function ___syscall6(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}Module._memcpy=_memcpy;var _llvm_pow_f64=Math_pow;function _sbrk(e){var i=_sbrk;i.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),i.called=!0,assert(Runtime.dynamicAlloc),i.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var r=DYNAMICTOP;if(0!=e&&!i.alloc(e))return-1>>>0;return r}var _BItoD=!0;function _time(e){var i=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=i),i}function _pthread_self(){return 0}function ___syscall140(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),f=SYSCALLS.get(),n=SYSCALLS.get(),t=SYSCALLS.get(),a=SYSCALLS.get(),s=n;return assert(0===f),FS.llseek(r,s,a),HEAP32[t>>2]=r.position,r.getdents&&0===s&&0===a&&(r.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,i){SYSCALLS.varargs=i;try{SYSCALLS.get();var r=SYSCALLS.get(),f=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffer=[]);for(var t=___syscall146.buffer,a=0;a>2],l=HEAP32[r+(8*a+4)>>2],o=0;o>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:return ___setErrNo(ERRNO_CODES.EINVAL),-1;default:return-ERRNO_CODES.EINVAL}}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall145(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),f=SYSCALLS.get(),n=SYSCALLS.get();return SYSCALLS.doReadv(r,f,n)}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}Module.requestFullScreen=function(e,i,r){Browser.requestFullScreen(e,i,r)},Module.requestAnimationFrame=function(e){Browser.requestAnimationFrame(e)},Module.setCanvasSize=function(e,i,r){Browser.setCanvasSize(e,i,r)},Module.pauseMainLoop=function(){Browser.mainLoop.pause()},Module.resumeMainLoop=function(){Browser.mainLoop.resume()},Module.getUserMedia=function(){Browser.getUserMedia()},Module.createContext=function(e,i,r,f){return Browser.createContext(e,i,r,f)},STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),staticSealed=!0,STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX),assert(DYNAMIC_BASE>2]=r;if((t[e+8>>2]|0)==16)o=(t[e+164>>2]|0)+((t[e+200>>2]|0)*5640|0)|0;else o=t[e+12>>2]|0;a=(t[e+80>>2]|0)+16|0;s=(t[a>>2]|0)>>>0<257?1:2;l=s+1|0;if(l>>>0>r>>>0){jf(f,1,14585,h)|0;f=0;c=h;return f|0}t[n>>2]=r-l;hf(i,u,s);r=t[u>>2]|0;if(r>>>0>=(t[a>>2]|0)>>>0){jf(f,1,14611,h+8|0)|0;f=0;c=h;return f|0}hf(i+s|0,(t[o+5584>>2]|0)+(r*1080|0)|0,1);if(!(wi(e,t[u>>2]|0,i+l|0,n,f)|0)){jf(f,1,14585,h+16|0)|0;f=0;c=h;return f|0}if(!(t[n>>2]|0)){f=1;c=h;return f|0}jf(f,1,14585,h+24|0)|0;f=0;c=h;return f|0}function Ve(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0;o=c;c=c+32|0;l=o+8|0;n=o+20|0;s=t[(t[e+80>>2]|0)+16>>2]|0;a=s>>>0<257?1:2;if((a+2|0)!=(r|0)){jf(f,1,14502,o)|0;l=0;c=o;return l|0}if((t[e+8>>2]|0)==16)e=(t[e+164>>2]|0)+((t[e+200>>2]|0)*5640|0)|0;else e=t[e+12>>2]|0;hf(i,n,a);hf(i+a|0,o+16|0,1);r=t[n>>2]|0;if(r>>>0>>0){hf(i+(a+1)|0,(t[e+5584>>2]|0)+(r*1080|0)+808|0,1);l=1;c=o;return l|0}else{t[l>>2]=r;t[l+4>>2]=s;jf(f,1,14528,l)|0;l=0;c=o;return l|0}return 0}function Xe(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0;s=c;c=c+16|0;n=s+12|0;t[n>>2]=r;if(!(ki(e,0,i,n,f)|0)){jf(f,1,14476,s)|0;a=0;c=s;return a|0}if(t[n>>2]|0){jf(f,1,14476,s+8|0)|0;a=0;c=s;return a|0}if((t[e+8>>2]|0)==16)n=(t[e+164>>2]|0)+((t[e+200>>2]|0)*5640|0)|0;else n=t[e+12>>2]|0;n=t[n+5584>>2]|0;r=e+80|0;if((t[(t[r>>2]|0)+16>>2]|0)>>>0<=1){a=1;c=s;return a|0}f=n+24|0;e=n+804|0;a=n+28|0;i=1;while(1){t[n+1104>>2]=t[f>>2];t[n+1884>>2]=t[e>>2];Dl(n+1108|0,a|0,776)|0;i=i+1|0;if(i>>>0>=(t[(t[r>>2]|0)+16>>2]|0)>>>0){n=1;break}else n=n+1080|0}c=s;return n|0}function Ge(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+48|0;d=b+32|0;h=b+24|0;u=b+16|0;a=b+8|0;n=b;o=b+40|0;s=b+36|0;t[o>>2]=r;l=e+80|0;do{if((t[(t[l>>2]|0)+16>>2]|0)>>>0<257){if(r){hf(i,s,1);a=i+1|0;i=r+-1|0;break}jf(f,1,14129,n)|0;d=0;c=b;return d|0}else{if(r>>>0>=2){hf(i,s,2);a=i+2|0;i=r+-2|0;break}jf(f,1,14129,a)|0;d=0;c=b;return d|0}}while(0);t[o>>2]=i;n=t[s>>2]|0;i=t[(t[l>>2]|0)+16>>2]|0;if(n>>>0>=i>>>0){t[u>>2]=n;t[u+4>>2]=i;jf(f,1,14155,u)|0;d=0;c=b;return d|0}if(!(ki(e,n,a,o,f)|0)){jf(f,1,14129,h)|0;d=0;c=b;return d|0}if(!(t[o>>2]|0)){d=1;c=b;return d|0}jf(f,1,14129,d)|0;d=0;c=b;return d|0}function Ke(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0;v=c;c=c+16|0;s=v+8|0;m=v+12|0;w=t[(t[e+80>>2]|0)+16>>2]|0;k=w>>>0<257?1:2;_=(k<<1)+5|0;a=(r>>>0)/(_>>>0)|0;if((a|0)==0|((r>>>0)%(_>>>0)|0|0)!=0){jf(n,1,14085,v)|0;m=0;c=v;return m|0}if((t[e+8>>2]|0)==16)_=(t[e+164>>2]|0)+((t[e+200>>2]|0)*5640|0)|0;else _=t[e+12>>2]|0;r=_+5636|0;e=f[r>>0]|0;if(!(e&4))b=0;else b=(t[_+420>>2]|0)+1|0;d=b+a|0;if(d>>>0>31){t[s>>2]=d;jf(n,1,14111,s)|0;m=0;c=v;return m|0}f[r>>0]=e|4;if(b>>>0>>0){n=k+1|0;h=_+8|0;s=k+3|0;l=k|4;o=l+k|0;u=o+1|0;e=i;a=b;r=_+424+(b*148|0)|0;while(1){hf(e,r,1);hf(e+1|0,r+4|0,k);i=r+8|0;hf(e+n|0,i,2);p=t[i>>2]|0;b=t[h>>2]|0;t[i>>2]=p>>>0>>0?p:b;hf(e+s|0,r+12|0,1);i=r+16|0;hf(e+l|0,i,k);hf(e+o|0,m,1);t[r+36>>2]=t[m>>2];b=t[i>>2]|0;t[i>>2]=b>>>0>>0?b:w;a=a+1|0;if(a>>>0>=d>>>0)break;else{e=e+u|0;r=r+148|0}}}t[_+420>>2]=d+-1;p=1;c=v;return p|0}function We(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0;N=c;c=c+144|0;D=N+128|0;x=N+120|0;O=N+112|0;P=N+104|0;C=N+96|0;R=N+88|0;S=N+72|0;v=N+64|0;w=N+56|0;k=N+48|0;_=N+40|0;m=N+32|0;u=N+24|0;l=N+16|0;s=N+136|0;y=N+132|0;B=t[e+80>>2]|0;z=e+88|0;if(r>>>0<36){jf(a,1,13440,N)|0;a=0;c=N;return a|0}L=r+-36|0;b=(L>>>0)/3|0;if((L>>>0)%3|0){jf(a,1,13440,N+8|0)|0;a=0;c=N;return a|0}hf(i,s,2);n[z>>1]=t[s>>2];M=B+8|0;hf(i+2|0,M,4);T=B+12|0;hf(i+6|0,T,4);hf(i+10|0,B,4);d=B+4|0;hf(i+14|0,d,4);g=e+100|0;hf(i+18|0,g,4);E=e+104|0;hf(i+22|0,E,4);p=e+92|0;hf(i+26|0,p,4);A=e+96|0;hf(i+30|0,A,4);hf(i+34|0,s,2);o=i+36|0;r=t[s>>2]|0;if(r>>>0>=16385){t[l>>2]=r;jf(a,1,13468,l)|0;a=0;c=N;return a|0}r=r&65535;L=B+16|0;t[L>>2]=r;if((r|0)!=(b|0)){t[u>>2]=r;t[u+4>>2]=b;jf(a,1,13529,u)|0;a=0;c=N;return a|0}u=t[B>>2]|0;h=t[M>>2]|0;if(h>>>0>u>>>0){r=t[d>>2]|0;i=t[T>>2]|0;if(r>>>0>>0){s=t[g>>2]|0;l=t[E>>2]|0;if(!(ie(l,s)|0)){t[_>>2]=s;t[_+4>>2]=l;jf(a,1,13705,_)|0;a=0;c=N;return a|0}m=jl(i|0,0,h|0,0)|0;if(!((m|0)==(ie(i,h)|0)&(I|0)==0)){t[k>>2]=h;t[k+4>>2]=i;jf(a,1,13766,k)|0;a=0;c=N;return a|0}h=t[p>>2]|0;_=Bl(h|0,0,s|0,0)|0;k=I;d=t[A>>2]|0;m=Bl(d|0,0,l|0,0)|0;if(h>>>0<=u>>>0?d>>>0<=r>>>0&(_|0-k)>>>0>u>>>0&(m|0-I)>>>0>r>>>0:0){i=Fn(b,52)|0;b=B+24|0;t[b>>2]=i;if(!i){t[L>>2]=0;jf(a,1,13852,v)|0;a=0;c=N;return a|0}e:do{if(t[L>>2]|0){u=e+168|0;r=0;l=i;while(1){hf(o,y,1);t[l+24>>2]=(t[y>>2]&127)+1;t[l+32>>2]=(t[y>>2]|0)>>>7;hf(o+1|0,y,1);t[l>>2]=t[y>>2];hf(o+2|0,y,1);s=t[y>>2]|0;t[l+4>>2]=s;i=t[l>>2]|0;if((s+-1|0)>>>0>254|(i+-1|0)>>>0>254)break;t[l+36>>2]=0;t[l+40>>2]=t[u>>2];r=r+1|0;if(r>>>0>=(t[L>>2]|0)>>>0)break e;else{o=o+3|0;l=l+52|0}}t[S>>2]=r;t[S+4>>2]=i;t[S+8>>2]=s;jf(a,1,13900,S)|0;a=0;c=N;return a|0}}while(0);h=t[p>>2]|0;u=t[g>>2]|0;o=((t[M>>2]|0)+-1-h+u|0)/(u|0)|0;t[e+112>>2]=o;l=t[A>>2]|0;s=t[E>>2]|0;i=((t[T>>2]|0)+-1-l+s|0)/(s|0)|0;t[e+116>>2]=i;if(!((i|0)==0|(o|0)==0)?o>>>0<=(65535/(i>>>0)|0)>>>0:0){d=ie(o,i)|0;r=e+28|0;if(!(f[e+76>>0]&2)){t[r>>2]=0;t[e+32>>2]=0;t[e+36>>2]=o;t[e+40>>2]=i}else{t[r>>2]=(((t[r>>2]|0)-h|0)>>>0)/(u>>>0)|0;R=e+32|0;t[R>>2]=(((t[R>>2]|0)-l|0)>>>0)/(s>>>0)|0;R=e+36|0;t[R>>2]=((t[R>>2]|0)+-1-h+u|0)/(u|0)|0;R=e+40|0;t[R>>2]=((t[R>>2]|0)+-1-l+s|0)/(s|0)|0}R=Fn(d,5640)|0;o=e+164|0;t[o>>2]=R;if(!R){jf(a,1,13852,C)|0;a=0;c=N;return a|0}C=Fn(t[L>>2]|0,1080)|0;i=e+12|0;t[(t[i>>2]|0)+5584>>2]=C;if(!C){jf(a,1,13852,P)|0;a=0;c=N;return a|0}P=Fn(10,20)|0;r=t[i>>2]|0;t[r+5612>>2]=P;if(!P){jf(a,1,13852,O)|0;a=0;c=N;return a|0}t[r+5620>>2]=10;O=Fn(10,20)|0;r=t[i>>2]|0;t[r+5624>>2]=O;if(!O){jf(a,1,13852,x)|0;a=0;c=N;return a|0}t[r+5632>>2]=10;l=t[L>>2]|0;if(l){s=t[b>>2]|0;r=r+5584|0;i=0;do{if(!(t[s+(i*52|0)+32>>2]|0))t[(t[r>>2]|0)+(i*1080|0)+1076>>2]=1<<(t[s+(i*52|0)+24>>2]|0)+-1;i=i+1|0}while(i>>>0>>0)}e:do{if(d){r=t[o>>2]|0;x=Fn(l,1080)|0;t[r+5584>>2]=x;if(x){i=0;while(1){i=i+1|0;if(i>>>0>=d>>>0)break e;x=Fn(t[L>>2]|0,1080)|0;t[r+11224>>2]=x;if(!x)break;else r=r+5640|0}}jf(a,1,13852,D)|0;a=0;c=N;return a|0}}while(0);t[e+8>>2]=4;Gf(B,z);a=1;c=N;return a|0}t[R>>2]=o;t[R+4>>2]=i;jf(a,1,14002,R)|0;a=0;c=N;return a|0}jf(a,1,13808,w)|0;a=0;c=N;return a|0}}else{i=t[T>>2]|0;r=t[d>>2]|0}t[m>>2]=h-u;t[m+4>>2]=i-r;jf(a,1,13643,m)|0;a=0;c=N;return a|0}function Ze(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=c;c=c+32|0;e=n+12|0;if(r>>>0<2){jf(f,1,13414,n)|0;f=0;c=n;return f|0}hf(i,n+16|0,1);hf(i+1|0,e,1);i=t[e>>2]|0;if(!(((r+-2|0)>>>0)%(((i>>>5&2)+2+(i>>>4&3)|0)>>>0)|0)){f=1;c=n;return f|0}jf(f,1,13414,n+8|0)|0;f=0;c=n;return f|0}function Je(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;e=c;c=c+16|0;if(!r){jf(f,1,13388,e)|0;i=0}else i=1;c=e;return i|0}function Qe(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0;o=c;c=c+32|0;l=o+8|0;s=o+12|0;if(!r){jf(f,1,13362,o)|0;f=0;c=o;return f|0}hf(i,o+16|0,1);n=r+-1|0;if(!n){f=1;c=o;return f|0}else{a=0;e=0}do{i=i+1|0;hf(i,s,1);r=t[s>>2]|0;if(!(r&128))e=0;else e=(r&127|e)<<7;a=a+1|0}while((a|0)!=(n|0));if(!e){f=1;c=o;return f|0}jf(f,1,13362,l)|0;f=0;c=o;return f|0}function ei(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0;_=c;c=c+48|0;b=_+32|0;u=_+24|0;s=_+16|0;a=_+8|0;d=_+36|0;if(r>>>0<2){jf(n,1,13276,_)|0;b=0;c=_;return b|0}h=e+184|0;f[h>>0]=f[h>>0]|1;hf(i,d,1);h=i+1|0;o=r+-1|0;l=e+124|0;r=t[l>>2]|0;do{if(r){a=e+120|0;i=t[d>>2]|0;if((t[a>>2]|0)>>>0<=i>>>0){e=i+1|0;i=jn(r,e<<3)|0;if(i){t[l>>2]=i;r=t[a>>2]|0;xl(i+(r<<3)|0,0,e-r<<3|0)|0;t[a>>2]=e;r=t[l>>2]|0;break}jf(n,1,13302,s)|0;b=0;c=_;return b|0}}else{i=(t[d>>2]|0)+1|0;r=Fn(i,8)|0;t[l>>2]=r;if(r){t[e+120>>2]=i;break}jf(n,1,13302,a)|0;b=0;c=_;return b|0}}while(0);i=t[d>>2]|0;if(t[r+(i<<3)>>2]|0){t[u>>2]=i;jf(n,1,13340,u)|0;b=0;c=_;return b|0}u=Nn(o)|0;r=t[d>>2]|0;i=t[l>>2]|0;t[i+(r<<3)>>2]=u;if(!u){jf(n,1,13302,b)|0;b=0;c=_;return b|0}else{t[i+(r<<3)+4>>2]=o;Dl(t[i+(t[d>>2]<<3)>>2]|0,h|0,o|0)|0;b=1;c=_;return b|0}return 0}function ii(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0;w=c;c=c+48|0;k=w+40|0;b=w+32|0;o=w+24|0;l=w+16|0;_=w+44|0;if(r>>>0<2){jf(n,1,13127,w)|0;k=0;c=w;return k|0}if(f[e+184>>0]&1){jf(n,1,13153,w+8|0)|0;k=0;c=w;return k|0}s=t[e+200>>2]|0;a=t[e+164>>2]|0;d=a+(s*5640|0)+5636|0;f[d>>0]=f[d>>0]|2;hf(i,_,1);d=i+1|0;h=r+-1|0;u=a+(s*5640|0)+5164|0;i=t[u>>2]|0;do{if(i){a=a+(s*5640|0)+5160|0;e=t[_>>2]|0;if((t[a>>2]|0)>>>0<=e>>>0){r=e+1|0;e=jn(i,r<<3)|0;if(e){t[u>>2]=e;i=t[a>>2]|0;xl(e+(i<<3)|0,0,r-i<<3|0)|0;t[a>>2]=r;i=t[u>>2]|0;break}jf(n,1,8775,o)|0;k=0;c=w;return k|0}}else{e=(t[_>>2]|0)+1|0;i=Fn(e,8)|0;t[u>>2]=i;if(i){t[a+(s*5640|0)+5160>>2]=e;break}jf(n,1,8775,l)|0;k=0;c=w;return k|0}}while(0);e=t[_>>2]|0;if(t[i+(e<<3)>>2]|0){t[b>>2]=e;jf(n,1,13254,b)|0;k=0;c=w;return k|0}b=Nn(h)|0;i=t[_>>2]|0;e=t[u>>2]|0;t[e+(i<<3)>>2]=b;if(!b){jf(n,1,8775,k)|0;k=0;c=w;return k|0}else{t[e+(i<<3)+4>>2]=h;Dl(t[e+(t[_>>2]<<3)>>2]|0,d|0,h|0)|0;k=1;c=w;return k|0}return 0}function ri(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;i=c;c=c+16|0;if((t[(t[e+80>>2]|0)+16>>2]<<2|0)==(r|0)){f=1;c=i;return f|0}jf(f,1,13101,i)|0;f=0;c=i;return f|0}function fi(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;return 1}function ni(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0;m=c;c=c+48|0;w=m+40|0;k=m+32|0;u=m+24|0;_=m+44|0;if((t[e+8>>2]|0)==16)l=(t[e+164>>2]|0)+((t[e+200>>2]|0)*5640|0)|0;else l=t[e+12>>2]|0;if(r>>>0<2){jf(f,1,12933,m)|0;w=0;c=m;return w|0}hf(i,_,2);if(t[_>>2]|0){jf(f,2,12959,m+8|0)|0;w=1;c=m;return w|0}if(r>>>0<7){jf(f,1,12933,m+16|0)|0;w=0;c=m;return w|0}hf(i+2|0,_,2);d=i+4|0;b=t[_>>2]&255;o=l+5612|0;n=t[o>>2]|0;h=l+5616|0;e=t[h>>2]|0;e:do{if(!e){a=0;s=n}else{a=0;s=n;do{if((t[s+8>>2]|0)==(b|0))break e;s=s+20|0;a=a+1|0}while(a>>>0>>0)}}while(0);if((a|0)==(e|0)){a=l+5620|0;do{if((e|0)==(t[a>>2]|0)){e=e+10|0;t[a>>2]=e;e=jn(n,e*20|0)|0;if(e){t[o>>2]=e;n=t[h>>2]|0;xl(e+(n*20|0)|0,0,((t[a>>2]|0)-n|0)*20|0)|0;n=t[o>>2]|0;e=t[h>>2]|0;break}Yn(t[o>>2]|0);t[o>>2]=0;t[a>>2]=0;t[h>>2]=0;jf(f,1,13019,u)|0;w=0;c=m;return w|0}}while(0);t[h>>2]=e+1;s=n+(e*20|0)|0}a=s+12|0;e=t[a>>2]|0;if(e){Yn(e);t[a>>2]=0}t[s+8>>2]=b;b=t[_>>2]|0;t[s+4>>2]=b>>>8&3;t[s>>2]=b>>>10&3;hf(d,_,2);if(t[_>>2]|0){jf(f,2,13057,k)|0;w=1;c=m;return w|0}e=r+-6|0;n=Nn(e)|0;t[a>>2]=n;if(!n){jf(f,1,12933,w)|0;w=0;c=m;return w|0}else{Dl(n|0,i+6|0,e|0)|0;t[s+16>>2]=e;w=1;c=m;return w|0}return 0}function ti(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0;l=c;c=c+32|0;n=l+16|0;s=l+12|0;e=e+80|0;a=t[(t[e>>2]|0)+16>>2]|0;if((a+2|0)!=(r|0)){jf(f,1,12907,l)|0;s=0;c=l;return s|0}hf(i,n,2);if((t[n>>2]|0)!=(a|0)){jf(f,1,12907,l+8|0)|0;s=0;c=l;return s|0}if(!a){s=1;c=l;return s|0}n=i+2|0;i=0;e=t[(t[e>>2]|0)+24>>2]|0;while(1){hf(n,s,1);t[e+32>>2]=(t[s>>2]|0)>>>7&1;t[e+24>>2]=(t[s>>2]&127)+1;i=i+1|0;if((i|0)==(a|0)){e=1;break}else{n=n+1|0;e=e+52|0}}c=l;return e|0}function ai(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0;B=c;c=c+144|0;L=B+120|0;x=B+112|0;O=B+104|0;I=B+96|0;P=B+88|0;C=B+80|0;R=B+72|0;T=B+64|0;S=B+56|0;E=B+48|0;_=B+40|0;b=B+32|0;h=B+24|0;M=B+136|0;p=B+132|0;g=B+128|0;y=B+124|0;if((t[e+8>>2]|0)==16)k=(t[e+164>>2]|0)+((t[e+200>>2]|0)*5640|0)|0;else k=t[e+12>>2]|0;if(r>>>0<2){jf(n,1,12567,B)|0;L=0;c=B;return L|0}hf(i,M,2);if(t[M>>2]|0){jf(n,2,12593,B+8|0)|0;L=1;c=B;return L|0}if(r>>>0<7){jf(n,1,12567,B+16|0)|0;L=0;c=B;return L|0}hf(i+2|0,p,1);d=i+3|0;u=k+5624|0;a=t[u>>2]|0;A=k+5628|0;e=t[A>>2]|0;e:do{if(!e){l=0;s=a}else{o=t[p>>2]|0;l=0;s=a;do{if((t[s>>2]|0)==(o|0))break e;s=s+20|0;l=l+1|0}while(l>>>0>>0)}}while(0);if((l|0)==(e|0)){s=k+5632|0;do{if((e|0)==(t[s>>2]|0)){e=e+10|0;t[s>>2]=e;e=jn(a,e*20|0)|0;if(e){t[u>>2]=e;a=t[A>>2]|0;xl(e+(a*20|0)|0,0,((t[s>>2]|0)-a|0)*20|0)|0;a=t[u>>2]|0;e=t[A>>2]|0;break}Yn(t[u>>2]|0);t[u>>2]=0;t[s>>2]=0;t[A>>2]=0;jf(n,1,12639,h)|0;L=0;c=B;return L|0}}while(0);s=a+(e*20|0)|0}t[s>>2]=t[p>>2];hf(d,M,2);if(t[M>>2]|0){jf(n,2,12593,b)|0;L=1;c=B;return L|0}hf(i+5|0,g,2);a=t[g>>2]|0;if(a>>>0>1){jf(n,2,12677,_)|0;L=1;c=B;return L|0}e=r+-7|0;e:do{if(a){w=s+4|0;m=s+16|0;v=s+8|0;r=s+12|0;_=k+5612|0;b=k+5616|0;h=i+7|0;d=0;i:while(1){if(e>>>0<3){a=27;break}hf(h,M,1);if((t[M>>2]|0)!=1){a=29;break}hf(h+1|0,y,2);a=e+-3|0;l=t[y>>2]|0;o=(l>>>15)+1|0;l=l&32767;t[w>>2]=l;s=(ie(o,l)|0)+2|0;if(a>>>0>>0){a=31;break}e=h+3|0;u=a-s|0;if(l){a=0;do{hf(e,M,o);if((t[M>>2]|0)!=(a|0)){a=34;break i}e=e+o|0;a=a+1|0}while(a>>>0<(t[w>>2]|0)>>>0)}hf(e,y,2);a=e+2|0;s=t[y>>2]|0;l=(s>>>15)+1|0;s=s&32767;t[y>>2]=s;if((s|0)!=(t[w>>2]|0)){a=37;break}e=(ie(l,s)|0)+3|0;if(u>>>0>>0){a=39;break}e=u-e|0;if(s){s=0;do{hf(a,M,l);if((t[M>>2]|0)!=(s|0)){a=42;break i}a=a+l|0;s=s+1|0}while(s>>>0<(t[w>>2]|0)>>>0)}hf(a,M,3);h=a+3|0;f[m>>0]=((t[M>>2]|0)>>>16^1)&1|f[m>>0]&-2;t[v>>2]=0;t[r>>2]=0;u=t[M>>2]|0;s=u&255;t[p>>2]=s;if(s){l=t[b>>2]|0;if(!l){a=50;break}o=0;a=t[_>>2]|0;while(1){if((t[a+8>>2]|0)==(s|0))break;o=o+1|0;if(o>>>0>=l>>>0){a=50;break i}else a=a+20|0}t[v>>2]=a}s=u>>>8&255;t[p>>2]=s;if(s){l=t[b>>2]|0;if(!l){a=57;break}o=0;a=t[_>>2]|0;while(1){if((t[a+8>>2]|0)==(s|0))break;o=o+1|0;if(o>>>0>=l>>>0){a=57;break i}else a=a+20|0}t[r>>2]=a}d=d+1|0;if(d>>>0>=(t[g>>2]|0)>>>0)break e}if((a|0)==27){jf(n,1,12567,E)|0;L=0;c=B;return L|0}else if((a|0)==29){jf(n,2,12721,S)|0;L=1;c=B;return L|0}else if((a|0)==31){jf(n,1,12567,T)|0;L=0;c=B;return L|0}else if((a|0)==34){jf(n,2,12787,R)|0;L=1;c=B;return L|0}else if((a|0)==37){jf(n,2,12841,C)|0;L=1;c=B;return L|0}else if((a|0)==39){jf(n,1,12567,P)|0;L=0;c=B;return L|0}else if((a|0)==42){jf(n,2,12787,I)|0;L=1;c=B;return L|0}else if((a|0)==50){jf(n,1,12567,O)|0;L=0;c=B;return L|0}else if((a|0)==57){jf(n,1,12567,x)|0;L=0;c=B;return L|0}}}while(0);if(!e){t[A>>2]=(t[A>>2]|0)+1;L=1;c=B;return L|0}else{jf(n,1,12567,L)|0;L=0;c=B;return L|0}return 0}function si(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0;m=c;c=c+32|0;w=m+24|0;k=m+20|0;d=e+80|0;n=t[d>>2]|0;if((t[e+8>>2]|0)==16)a=(t[e+164>>2]|0)+((t[e+200>>2]|0)*5640|0)|0;else a=t[e+12>>2]|0;if(!r){jf(f,1,12486,m)|0;w=0;c=m;return w|0}hf(i,k,1);e=t[k>>2]|0;if(e>>>0>1){jf(f,2,12512,m+8|0)|0;w=1;c=m;return w|0}if((e+1|0)!=(r|0)){jf(f,2,12486,m+16|0)|0;w=0;c=m;return w|0}h=a+5584|0;e=t[n+16>>2]|0;if(e){r=0;f=t[h>>2]|0;while(1){t[f+1076>>2]=0;r=r+1|0;if(r>>>0>=e>>>0)break;else f=f+1080|0}}u=a+5604|0;e=t[u>>2]|0;if(e){Yn(e);t[u>>2]=0}if(!(t[k>>2]|0)){w=1;c=m;return w|0}o=a+5624|0;s=a+5628|0;l=0;while(1){i=i+1|0;hf(i,w,1);e=t[d>>2]|0;n=t[o>>2]|0;a=t[s>>2]|0;if(((a|0)!=0?!((a|0)==0?1:(t[n>>2]|0)!=(t[w>>2]|0)):0)?(b=t[n+4>>2]|0,_=e+16|0,(b|0)==(t[_>>2]|0)):0){e=t[n+8>>2]|0;if(e){r=ie(b,b)|0;a=ie(t[1036+(t[e>>2]<<2)>>2]|0,r)|0;if((t[e+16>>2]|0)!=(a|0)){e=0;r=32;break}f=Nn(r<<2)|0;t[u>>2]=f;if(!f){e=0;r=32;break}So[t[1052+(t[e>>2]<<2)>>2]&15](t[e+12>>2]|0,f,r)}e=t[n+12>>2]|0;if(e){r=t[_>>2]|0;a=ie(r,t[1036+(t[e>>2]<<2)>>2]|0)|0;if((t[e+16>>2]|0)!=(a|0)){e=0;r=32;break}a=Nn(r<<2)|0;if(!a){e=0;r=32;break}So[t[1068+(t[e>>2]<<2)>>2]&15](t[e+12>>2]|0,a,r);e=t[_>>2]|0;if(e){r=0;f=a;n=t[h>>2]|0;while(1){t[n+1076>>2]=t[f>>2];r=r+1|0;if((r|0)==(e|0))break;else{f=f+4|0;n=n+1080|0}}}Yn(a)}}l=l+1|0;if(l>>>0>=(t[k>>2]|0)>>>0){e=1;r=32;break}}if((r|0)==32){c=m;return e|0}return 0}function li(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}f=0;while(1){hf(e,n,2);t[i>>2]=t[n>>2];f=f+1|0;if((f|0)==(r|0))break;else{i=i+4|0;e=e+2|0}}c=a;return}function oi(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}f=0;while(1){hf(e,n,4);t[i>>2]=t[n>>2];f=f+1|0;if((f|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}c=a;return}function ui(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}f=0;while(1){kf(e,n);t[i>>2]=~~+o[n>>2];f=f+1|0;if((f|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}c=a;return}function ci(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}f=0;while(1){bf(e,n);t[i>>2]=~~+u[n>>3];f=f+1|0;if((f|0)==(r|0))break;else{i=i+4|0;e=e+8|0}}c=a;return}function hi(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}f=0;while(1){hf(e,n,2);o[i>>2]=+((t[n>>2]|0)>>>0);f=f+1|0;if((f|0)==(r|0))break;else{i=i+4|0;e=e+2|0}}c=a;return}function di(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}f=0;while(1){hf(e,n,4);o[i>>2]=+((t[n>>2]|0)>>>0);f=f+1|0;if((f|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}c=a;return}function bi(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}f=0;while(1){kf(e,n);t[i>>2]=t[n>>2];f=f+1|0;if((f|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}c=a;return}function _i(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,t=0;t=c;c=c+16|0;n=t;if(!r){c=t;return}f=0;while(1){bf(e,n);o[i>>2]=+u[n>>3];f=f+1|0;if((f|0)==(r|0))break;else{i=i+4|0;e=e+8|0}}c=t;return}function ki(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0;d=c;c=c+32|0;s=d+8|0;o=d+20|0;if((t[e+8>>2]|0)==16)e=(t[e+164>>2]|0)+((t[e+200>>2]|0)*5640|0)|0;else e=t[e+12>>2]|0;h=t[e+5584>>2]|0;e=t[f>>2]|0;if(!e){jf(n,1,14224,d)|0;i=0;c=d;return i|0}t[f>>2]=e+-1;hf(r,o,1);r=r+1|0;a=t[o>>2]&31;l=h+(i*1080|0)+24|0;t[l>>2]=a;t[h+(i*1080|0)+804>>2]=(t[o>>2]|0)>>>5;do{if((a|0)==1){e=1;u=8}else{e=(t[f>>2]|0)>>>((a|0)!=0&1);if(e>>>0>97){t[s>>2]=e;t[s+4>>2]=97;t[s+8>>2]=97;jf(n,2,14260,s)|0;a=t[l>>2]|0}n=(e|0)==0;if(a)if(n){e=0;u=20;break}else{u=8;break}if(!n){a=0;while(1){hf(r,o,1);if(a>>>0<97){t[h+(i*1080|0)+28+(a<<3)>>2]=(t[o>>2]|0)>>>3;t[h+(i*1080|0)+28+(a<<3)+4>>2]=0}a=a+1|0;if((a|0)==(e|0))break;else r=r+1|0}}e=(t[f>>2]|0)-e|0}}while(0);if((u|0)==8){a=0;while(1){hf(r,o,2);if(a>>>0<97){t[h+(i*1080|0)+28+(a<<3)>>2]=(t[o>>2]|0)>>>11;t[h+(i*1080|0)+28+(a<<3)+4>>2]=t[o>>2]&2047}a=a+1|0;if((a|0)==(e|0)){u=20;break}else r=r+2|0}}if((u|0)==20)e=(t[f>>2]|0)-(e<<1)|0;t[f>>2]=e;if((t[l>>2]|0)!=1){i=1;c=d;return i|0}e=h+(i*1080|0)+28|0;r=h+(i*1080|0)+32|0;a=1;do{f=(t[e>>2]|0)-(((a+-1|0)>>>0)/3|0)|0;t[h+(i*1080|0)+28+(a<<3)>>2]=(f|0)>0?f:0;t[h+(i*1080|0)+28+(a<<3)+4>>2]=t[r>>2];a=a+1|0}while((a|0)!=97);e=1;c=d;return e|0}function wi(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0;w=c;c=c+48|0;_=w+40|0;u=w+32|0;o=w+16|0;l=w+8|0;b=w+44|0;s=e+8|0;if((t[s>>2]|0)==16)a=(t[e+164>>2]|0)+((t[e+200>>2]|0)*5640|0)|0;else a=t[e+12>>2]|0;h=t[a+5584>>2]|0;if((t[f>>2]|0)>>>0<5){jf(n,1,14664,w)|0;f=0;c=w;return f|0}d=h+(i*1080|0)+4|0;hf(r,d,1);a=(t[d>>2]|0)+1|0;t[d>>2]=a;if(a>>>0>33){t[l>>2]=a;t[l+4>>2]=33;jf(n,1,14699,l)|0;f=0;c=w;return f|0}if((t[e+168>>2]|0)>>>0>=a>>>0){t[o>>2]=i;jf(n,1,14776,o)|0;t[s>>2]=t[s>>2]|32768;f=0;c=w;return f|0}l=h+(i*1080|0)+8|0;hf(r+1|0,l,1);t[l>>2]=(t[l>>2]|0)+2;e=h+(i*1080|0)+12|0;hf(r+2|0,e,1);o=(t[e>>2]|0)+2|0;t[e>>2]=o;l=t[l>>2]|0;if(l>>>0>10|o>>>0>10|(l+o|0)>>>0>12){jf(n,1,14934,w+24|0)|0;f=0;c=w;return f|0}hf(r+3|0,h+(i*1080|0)+16|0,1);hf(r+4|0,h+(i*1080|0)+20|0,1);s=(t[f>>2]|0)+-5|0;t[f>>2]=s;a=t[d>>2]|0;if(!(t[h+(i*1080|0)>>2]&1)){if(!a){f=1;c=w;return f|0}else a=0;do{t[h+(i*1080|0)+812+(a<<2)>>2]=15;t[h+(i*1080|0)+944+(a<<2)>>2]=15;a=a+1|0}while(a>>>0<(t[d>>2]|0)>>>0);a=1;c=w;return a|0}if(s>>>0>>0){jf(n,1,14664,u)|0;f=0;c=w;return f|0}do{if(!a)a=0;else{e=0;s=r+5|0;while(1){hf(s,b,1);s=s+1|0;a=t[b>>2]|0;if((e|0)!=0?a>>>0<16|(a&15|0)==0:0)break;t[h+(i*1080|0)+812+(e<<2)>>2]=a&15;t[h+(i*1080|0)+944+(e<<2)>>2]=(t[b>>2]|0)>>>4;e=e+1|0;a=t[d>>2]|0;if(e>>>0>=a>>>0){k=22;break}}if((k|0)==22){s=t[f>>2]|0;break}jf(n,1,15002,_)|0;f=0;c=w;return f|0}}while(0);t[f>>2]=s-a;f=1;c=w;return f|0}function mi(e,i,r){e=e|0;i=i|0;r=r|0;var f=0;if(!r)return;f=0;while(1){cf(i,~~+o[e>>2]>>>0,2);f=f+1|0;if((f|0)==(r|0))break;else{i=i+2|0;e=e+4|0}}return}function vi(e,i,r){e=e|0;i=i|0;r=r|0;var f=0;if(!r)return;f=0;while(1){cf(i,~~+o[e>>2]>>>0,4);f=f+1|0;if((f|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}return}function pi(e,i,r){e=e|0;i=i|0;r=r|0;var f=0;if(!r)return;f=0;while(1){_f(i,+o[e>>2]);f=f+1|0;if((f|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}return}function gi(e,i,r){e=e|0;i=i|0;r=r|0;var f=0;if(!r)return;f=0;while(1){df(i,+o[e>>2]);f=f+1|0;if((f|0)==(r|0))break;else{i=i+8|0;e=e+4|0}}return}function yi(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0;l=c;c=c+16|0;if(!r){r=0;c=l;return r|0}if(!(lt(t[e>>2]|0,i,r,f)|0)){jf(f,1,16303,l)|0;r=0;c=l;return r|0}if(t[e+128>>2]|0){r=1;c=l;return r|0}s=e+108|0;if(!(Ui(r,s,f)|0)){r=0;c=l;return r|0}i=t[e+48>>2]|0;e:do{switch(i|0){case 16:{t[r+20>>2]=1;break}case 17:{t[r+20>>2]=2;break}case 18:{t[r+20>>2]=3;break}case 24:{t[r+20>>2]=4;break}default:{n=r+20|0;if((i|0)==12){t[n>>2]=5;break e}else{t[n>>2]=-1;break e}}}}while(0);a=e+120|0;i=t[a>>2]|0;do{if(i){if(t[i+12>>2]|0){ji(r,s);break}Yn(t[i+4>>2]|0);Yn(t[(t[a>>2]|0)+8>>2]|0);Yn(t[t[a>>2]>>2]|0);i=t[a>>2]|0;n=t[i+12>>2]|0;if(n){Yn(n);i=t[a>>2]|0}Yn(i);t[a>>2]=0}}while(0);if(t[e+116>>2]|0)Yi(r,s,f);i=t[s>>2]|0;if(!i){r=1;c=l;return r|0}t[r+28>>2]=i;t[r+32>>2]=t[e+112>>2];t[s>>2]=0;r=1;c=l;return r|0}function Mi(e,i){e=e|0;i=i|0;$n(t[e>>2]|0,i);f[e+124>>0]=0;t[e+128>>2]=t[i+8248>>2]&1;return}function Ai(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0;y=c;c=c+80|0;g=y+64|0;m=y+56|0;b=y+48|0;w=y+40|0;k=y+32|0;_=y+24|0;if(!((e|0)!=0&(i|0)!=0&(r|0)!=0)){i=0;c=y;return i|0}v=r+16|0;if(((t[v>>2]|0)+-1|0)>>>0>16383){jf(f,1,16352,y)|0;i=0;c=y;return i|0}if(!(Gn(t[e>>2]|0,i,r,f)|0)){i=0;c=y;return i|0}t[e+56>>2]=1785737760;t[e+60>>2]=0;t[e+64>>2]=1;a=Nn(4)|0;s=e+68|0;t[s>>2]=a;if(!a){t[s>>2]=0;jf(f,1,16421,y+8|0)|0;i=0;c=y;return i|0}t[a>>2]=1785737760;u=t[v>>2]|0;t[e+20>>2]=u;u=Nn(u*12|0)|0;a=e+72|0;t[a>>2]=u;if(!u){t[a>>2]=0;jf(f,1,16421,y+16|0)|0;i=0;c=y;return i|0}t[e+16>>2]=(t[r+12>>2]|0)-(t[r+4>>2]|0);t[e+12>>2]=(t[r+8>>2]|0)-(t[r>>2]|0);p=r+24|0;h=t[p>>2]|0;l=t[h+24>>2]|0;o=t[h+32>>2]|0;a=e+24|0;t[a>>2]=l+-1+(o<<7);d=t[v>>2]|0;if(d>>>0>1){s=1;do{if((l|0)!=(t[h+(s*52|0)+24>>2]|0))t[a>>2]=255;s=s+1|0}while(s>>>0>>0)}t[e+28>>2]=7;t[e+32>>2]=0;t[e+36>>2]=0;s=(d|0)==0;if(!s?(t[u+8>>2]=l+-1+(o<<7),d>>>0>1):0){a=1;do{t[u+(a*12|0)+8>>2]=(t[h+(a*52|0)+24>>2]|0)+-1+(t[h+(a*52|0)+32>>2]<<7);a=a+1|0}while(a>>>0>>0)}a=e+40|0;e:do{if(!(t[r+32>>2]|0)){t[a>>2]=1;switch(t[r+20>>2]|0){case 1:{t[e+48>>2]=16;break e}case 2:{t[e+48>>2]=17;break e}case 3:{t[e+48>>2]=18;break e}default:break e}}else{t[a>>2]=2;t[e+48>>2]=0}}while(0);e:do{if(!s){s=0;a=0;l=0;do{r=(n[h+(l*52|0)+48>>1]|0)==0;a=(r&1^1)+a|0;s=r?s:l;l=l+1|0}while(l>>>0>>0);l=s;if((a|0)!=1){if(a>>>0<=1)break;jf(f,2,16717,b)|0;break}switch(t[e+48>>2]|0){case 18:case 16:{s=3;break}case 17:{s=1;break}default:{jf(f,2,16467,_)|0;break e}}if(d>>>0<(s+1|0)>>>0){jf(f,2,16541,k)|0;break}if(l>>>0>>0){jf(f,2,16634,w)|0;break}w=Nn(8)|0;a=e+116|0;t[a>>2]=w;if(!w){jf(f,1,16782,m)|0;i=0;c=y;return i|0}m=Nn((t[v>>2]|0)*6|0)|0;r=t[a>>2]|0;t[r>>2]=m;if(!m){jf(f,1,16782,g)|0;i=0;c=y;return i|0}u=t[v>>2]|0;n[r+4>>1]=u;o=t[r>>2]|0;a=0;do{n[o+(a*6|0)>>1]=a;n[o+(a*6|0)+2>>1]=0;g=a;a=a+1|0;n[o+(g*6|0)+4>>1]=a}while((a|0)!=(s|0));if(s>>>0>>0){l=t[p>>2]|0;do{g=(n[l+(s*52|0)+48>>1]|0)==0;n[o+(s*6|0)>>1]=s;a=o+(s*6|0)+2|0;if(g){n[a>>1]=-1;n[o+(s*6|0)+4>>1]=-1}else{n[a>>1]=1;n[(t[r>>2]|0)+(s*6|0)+4>>1]=0}s=s+1|0}while(s>>>0>>0)}}}while(0);t[e+52>>2]=0;t[e+44>>2]=0;t[e+96>>2]=t[i+18692>>2];i=1;c=y;return i|0}function Ei(e,i,r){e=e|0;i=i|0;r=r|0;return ct(t[e>>2]|0,i,r)|0}function Si(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0;f=e+8|0;if(!(oa(t[f>>2]|0,52,r)|0)){r=0;return r|0}a=t[f>>2]|0;s=ua(a)|0;f=ca(a)|0;if(s){l=0;n=1;while(1){if(!n)n=0;else n=(po[t[f>>2]&63](e,i,r)|0)!=0;l=l+1|0;if((l|0)==(s|0))break;else{f=f+4|0;n=n&1}}ha(a);if(!n){r=0;return r|0}}else ha(a);r=Wn(t[e>>2]|0,i,r)|0;return r|0}function Ti(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0;f=e+8|0;if(!(oa(t[f>>2]|0,53,r)|0)){r=0;return r|0}if(!(ht(t[e>>2]|0,i,r)|0)){r=0;return r|0}l=t[f>>2]|0;a=ua(l)|0;f=ca(l)|0;if(!a)f=1;else{s=0;n=f;f=1;while(1){if(!f)f=0;else f=(po[t[n>>2]&63](e,i,r)|0)!=0;f=f&1;s=s+1|0;if((s|0)==(a|0))break;else n=n+4|0}}ha(l);r=f;return r|0}function Ri(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0;n=e+4|0;if(!(oa(t[n>>2]|0,54,f)|0)){i=0;return i|0}s=t[n>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(po[t[n>>2]&63](e,i,f)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}ha(s);if(!a){i=0;return i|0}}else ha(s);n=e+8|0;if(!(oa(t[n>>2]|0,55,f)|0)){i=0;return i|0}if(!(oa(t[n>>2]|0,56,f)|0)){i=0;return i|0}if(!(oa(t[n>>2]|0,57,f)|0)){i=0;return i|0}if((t[e+96>>2]|0)!=0?(oa(t[n>>2]|0,58,f)|0)==0:0){i=0;return i|0}if(!(oa(t[n>>2]|0,59,f)|0)){i=0;return i|0}s=t[n>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(po[t[n>>2]&63](e,i,f)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}ha(s);if(!a){i=0;return i|0}}else ha(s);i=dt(t[e>>2]|0,i,r,f)|0;return i|0}function Ci(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0;u=i+8|0;if(!(oa(t[u>>2]|0,52,f)|0)){e=0;return e|0}s=t[i+4>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(po[t[n>>2]&63](i,e,f)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}ha(s);if(!a){e=0;return e|0}}else ha(s);s=t[u>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(po[t[n>>2]&63](i,e,f)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}ha(s);if(!a){e=0;return e|0}}else ha(s);e=Zn(e,t[i>>2]|0,r,f)|0;return e|0}function Pi(e,i,r,f,n,a,s,l,o,u,c){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;return Qn(t[e>>2]|0,i,r,f,n,a,s,l,o,u,c)|0}function Ii(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;return bt(t[e>>2]|0,i,r,f,n,a)|0}function Oi(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;return et(t[e>>2]|0,i,r,f,n,a)|0}function xi(e){e=e|0;var i=0,r=0,f=0;if(!e)return;Xn(t[e>>2]|0);t[e>>2]=0;i=e+72|0;r=t[i>>2]|0;if(r){Yn(r);t[i>>2]=0}i=e+68|0;r=t[i>>2]|0;if(r){Yn(r);t[i>>2]=0}i=e+108|0;r=t[i>>2]|0;if(r){Yn(r);t[i>>2]=0}f=e+116|0;i=t[f>>2]|0;if(i){r=t[i>>2]|0;if(r){Yn(r);i=t[f>>2]|0;t[i>>2]=0}Yn(i);t[f>>2]=0}f=e+120|0;i=t[f>>2]|0;if(i){r=t[i+12>>2]|0;if(r){Yn(r);i=t[f>>2]|0;t[i+12>>2]=0}r=t[i+4>>2]|0;if(r){Yn(r);i=t[f>>2]|0;t[i+4>>2]=0}r=t[i+8>>2]|0;if(r){Yn(r);i=t[f>>2]|0;t[i+8>>2]=0}r=t[i>>2]|0;if(r){Yn(r);i=t[f>>2]|0;t[i>>2]=0}Yn(i);t[f>>2]=0}i=e+4|0;r=t[i>>2]|0;if(r){la(r);t[i>>2]=0}i=e+8|0;r=t[i>>2]|0;if(r){la(r);t[i>>2]=0}Yn(e);return}function Li(e,i,r,f,n,a,s){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;s=s|0;return it(t[e>>2]|0,i,r,f,n,a,s)|0}function Bi(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0;l=c;c=c+16|0;if(!r){e=0;c=l;return e|0}jf(f,2,16826,l)|0;if(!(ot(t[e>>2]|0,i,r,f,n)|0)){jf(f,1,16303,l+8|0)|0;e=0;c=l;return e|0}s=e+108|0;if(!(Ui(r,s,f)|0)){e=0;c=l;return e|0}n=t[e+48>>2]|0;e:do{switch(n|0){case 16:{t[r+20>>2]=1;break}case 17:{t[r+20>>2]=2;break}case 18:{t[r+20>>2]=3;break}case 24:{t[r+20>>2]=4;break}default:{i=r+20|0;if((n|0)==12){t[i>>2]=5;break e}else{t[i>>2]=-1;break e}}}}while(0);a=e+120|0;i=t[a>>2]|0;do{if(i){if(t[i+12>>2]|0){ji(r,s);break}Yn(t[i+4>>2]|0);Yn(t[(t[a>>2]|0)+8>>2]|0);Yn(t[t[a>>2]>>2]|0);i=t[a>>2]|0;n=t[i+12>>2]|0;if(n){Yn(n);i=t[a>>2]|0}Yn(i);t[a>>2]=0}}while(0);if(t[e+116>>2]|0)Yi(r,s,f);i=t[s>>2]|0;if(!i){e=1;c=l;return e|0}t[r+28>>2]=i;t[r+32>>2]=t[e+112>>2];t[s>>2]=0;e=1;c=l;return e|0}function zi(e){e=e|0;var i=0;i=Fn(1,136)|0;if(!i)return i|0;if(!e){e=Vn()|0;t[i>>2]=e}else{e=rt()|0;t[i>>2]=e}if(!e){xi(i);i=0;return i|0}e=i+108|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=0;f[e+16>>0]=0;e=sa()|0;t[i+4>>2]=e;if(!e){xi(i);i=0;return i|0}e=sa()|0;t[i+8>>2]=e;if(e)return i|0;xi(i);i=0;return i|0}function Di(e,i,r){e=e|0;i=i|0;r=r|0;ft(t[e>>2]|0,i,r);return}function Ni(e){e=e|0;return st(t[e>>2]|0)|0}function Fi(e){e=e|0;return at(t[e>>2]|0)|0}function Hi(e,i,r){e=e|0;i=i|0;r=r|0;return ut(t[e>>2]|0,i,r)|0}function Ui(e,i,r){e=e|0;i=i|0;r=r|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0;T=c;c=c+80|0;S=T+72|0;E=T+64|0;A=T+56|0;M=T+48|0;y=T+40|0;g=T+32|0;p=T+24|0;m=T+16|0;b=T+8|0;d=T;l=t[i+8>>2]|0;e:do{if(l){w=t[l>>2]|0;k=n[l+4>>1]|0;l=t[e+16>>2]|0;_=t[i+12>>2]|0;if((_|0)!=0?(t[_+12>>2]|0)!=0:0)i=a[_+18>>0]|0;else i=l;h=k<<16>>16==0;i:do{if(!h){u=0;r:while(1){o=u&65535;l=s[w+(o*6|0)>>1]|0;if(l>>>0>=i>>>0){o=15;break}l=n[w+(o*6|0)+4>>1]|0;switch(l<<16>>16){case 0:case-1:break;default:{l=(l&65535)+-1|0;if(l>>>0>=i>>>0){o=18;break r}}}u=u+1<<16>>16;if((u&65535)>=(k&65535))break i}if((o|0)==15){t[d>>2]=l;t[d+4>>2]=i;jf(r,1,19343,d)|0;r=0;c=T;return r|0}else if((o|0)==18){t[b>>2]=l;t[b+4>>2]=i;jf(r,1,19343,b)|0;r=0;c=T;return r|0}}}while(0);if(!i)l=_;else{i:do{if(!h)while(1){i=i+-1|0;l=0;do{if((s[w+((l&65535)*6|0)>>1]|0)==(i|0))break;l=l+1<<16>>16}while((l&65535)<(k&65535));if(l<<16>>16==k<<16>>16)break i;if(!i){l=_;break e}}}while(0);jf(r,1,19380,m)|0;r=0;c=T;return r|0}}else l=t[i+12>>2]|0}while(0);if(!l){r=1;c=T;return r|0}v=t[l+12>>2]|0;if(!v){r=1;c=T;return r|0}_=f[l+18>>0]|0;m=_&255;w=_<<24>>24==0;if(w)l=1;else{u=e+16|0;i=0;h=0;l=1;do{i=s[v+(i<<2)>>1]|0;o=t[u>>2]|0;if(i>>>0>=o>>>0){t[p>>2]=i;t[p+4>>2]=o;jf(r,1,19343,p)|0;l=0}h=h+1<<16>>16;i=h&65535}while(i>>>0>>0)}k=Fn(m,4)|0;if(!k){jf(r,1,19413,g)|0;r=0;c=T;return r|0}if(!w){d=0;b=0;do{o=f[v+(d<<2)+3>>0]|0;u=o&255;do{if((o&255)<(_&255)){h=k+(u<<2)|0;i=f[v+(d<<2)+2>>0]|0;if((t[h>>2]|0)!=0&i<<24>>24==1){t[M>>2]=u;jf(r,1,19486,M)|0;l=0;break}if(i<<24>>24!=0|o<<24>>24==0){t[h>>2]=1;break}else{t[A>>2]=d;t[A+4>>2]=u;jf(r,1,19517,A)|0;l=0;break}}else{t[y>>2]=u;jf(r,1,19430,y)|0;l=0}}while(0);b=b+1<<16>>16;d=b&65535}while(d>>>0>>0);if(!w){i=0;o=0;do{if((t[k+(i<<2)>>2]|0)==0?(f[v+(i<<2)+2>>0]|0)!=0:0){t[E>>2]=i;jf(r,1,19553,E)|0;l=0}o=o+1<<16>>16;i=o&65535}while(i>>>0>>0)}}if(!l){Yn(k);r=0;c=T;return r|0}e:do{if(!((t[e+16>>2]|0)!=1|w)){l=0;i=0;while(1){i=i+1<<16>>16;if(!(t[k+(l<<2)>>2]|0))break;l=i&65535;if(l>>>0>=m>>>0)break e}t[S>>2]=l;jf(r,2,19591,S)|0;if(!w){l=0;i=0;do{f[v+(l<<2)+2>>0]=1;f[v+(l<<2)+3>>0]=i;i=i+1<<16>>16;l=i&65535}while(l>>>0>>0)}}}while(0);Yn(k);r=1;c=T;return r|0}function ji(e,i){e=e|0;i=i|0;var r=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0;y=i+12|0;i=t[y>>2]|0;h=t[i+8>>2]|0;b=t[i+4>>2]|0;k=t[i>>2]|0;w=t[i+12>>2]|0;i=f[i+18>>0]|0;m=e+24|0;v=t[m>>2]|0;p=i&255;g=Nn(p*52|0)|0;if(!g)return;d=i<<24>>24==0;if(!d){u=0;c=0;do{i=n[w+(u<<2)>>1]|0;if(!(f[w+(u<<2)+2>>0]|0)){i=i&65535;r=g+(u*52|0)|0;l=v+(i*52|0)|0;o=r+52|0;do{t[r>>2]=t[l>>2];r=r+4|0;l=l+4|0}while((r|0)<(o|0))}else{i=i&65535;r=g+((a[w+(u<<2)+3>>0]|0)*52|0)|0;l=v+(i*52|0)|0;o=r+52|0;do{t[r>>2]=t[l>>2];r=r+4|0;l=l+4|0}while((r|0)<(o|0))}o=Nn(ie(t[v+(i*52|0)+8>>2]<<2,t[v+(i*52|0)+12>>2]|0)|0)|0;t[g+(u*52|0)+44>>2]=o;if(!o){_=7;break}t[g+(u*52|0)+24>>2]=a[h+u>>0];t[g+(u*52|0)+32>>2]=a[b+u>>0];c=c+1<<16>>16;u=c&65535}while(u>>>0

>>0);if((_|0)==7){Yn(g);return}h=(s[(t[y>>2]|0)+16>>1]|0)+-1|0;if(!d){i=0;c=0;do{o=t[v+((s[w+(i<<2)>>1]|0)*52|0)+44>>2]|0;l=a[w+(i<<2)+3>>0]|0;u=ie(t[g+(l*52|0)+12>>2]|0,t[g+(l*52|0)+8>>2]|0)|0;if(!(f[w+(i<<2)+2>>0]|0)){i=t[g+(i*52|0)+44>>2]|0;if(u){r=0;do{t[i+(r<<2)>>2]=t[o+(r<<2)>>2];r=r+1|0}while((r|0)!=(u|0))}}else{i=t[g+(l*52|0)+44>>2]|0;if(u){r=0;do{_=t[o+(r<<2)>>2]|0;t[i+(r<<2)>>2]=t[k+((ie((_|0)<0?0:(_|0)>(h|0)?h:_,p)|0)+l<<2)>>2];r=r+1|0}while((r|0)!=(u|0))}}c=c+1<<16>>16;i=c&65535}while(i>>>0

>>0)}}r=e+16|0;l=t[r>>2]|0;if(l){i=0;o=0;do{i=t[v+(i*52|0)+44>>2]|0;if(i)Yn(i);o=o+1<<16>>16;i=o&65535}while(i>>>0>>0)}Yn(v);t[m>>2]=g;t[r>>2]=p;Yn(t[(t[y>>2]|0)+4>>2]|0);Yn(t[(t[y>>2]|0)+8>>2]|0);Yn(t[t[y>>2]>>2]|0);i=t[y>>2]|0;r=t[i+12>>2]|0;if(r){Yn(r);i=t[y>>2]|0}Yn(i);t[y>>2]=0;return}function Yi(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0;A=c;c=c+80|0;y=A+8|0;g=A;p=A+16|0;M=i+8|0;f=t[M>>2]|0;i=t[f>>2]|0;v=n[f+4>>1]|0;if(v<<16>>16){m=e+16|0;b=e+24|0;k=1;w=0;while(1){_=n[i+(w*6|0)>>1]|0;d=_&65535;e=t[m>>2]|0;e:do{if(d>>>0>>0){f=n[i+(w*6|0)+4>>1]|0;switch(f<<16>>16){case-1:case 0:{n[(t[b>>2]|0)+(d*52|0)+48>>1]=n[i+(w*6|0)+2>>1]|0;break e}default:{}}o=(f&65535)+65535|0;h=o&65535;o=o&65535;if(o>>>0>=e>>>0){t[y>>2]=o;t[y+4>>2]=e;jf(r,2,19302,y)|0;break}u=i+(w*6|0)+2|0;if((d|0)!=(o|0)?(n[u>>1]|0)==0:0){f=t[b>>2]|0;e=f+(d*52|0)|0;a=p;s=e;l=a+52|0;do{t[a>>2]=t[s>>2];a=a+4|0;s=s+4|0}while((a|0)<(l|0));a=e;s=f+(o*52|0)|0;l=a+52|0;do{t[a>>2]=t[s>>2];a=a+4|0;s=s+4|0}while((a|0)<(l|0));a=(t[b>>2]|0)+(o*52|0)|0;s=p;l=a+52|0;do{t[a>>2]=t[s>>2];a=a+4|0;s=s+4|0}while((a|0)<(l|0));if((w+1&65535)<(v&65535)){a=k;do{f=i+(a*6|0)|0;e=n[f>>1]|0;if(e<<16>>16!=_<<16>>16){if(e<<16>>16==h<<16>>16)n[f>>1]=_}else n[f>>1]=h;a=a+1|0}while((a&65535)<<16>>16!=v<<16>>16)}}n[(t[b>>2]|0)+(d*52|0)+48>>1]=n[u>>1]|0}else{t[g>>2]=d;t[g+4>>2]=e;jf(r,2,19262,g)|0}}while(0);w=w+1|0;if((w&65535)<<16>>16==v<<16>>16)break;else k=k+1|0}i=t[M>>2]|0;f=i;i=t[i>>2]|0}if(!i){y=f;Yn(y);t[M>>2]=0;c=A;return}else{Yn(i);y=t[M>>2]|0;Yn(y);t[M>>2]=0;c=A;return}}function qi(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,O=0,x=0,L=0;L=c;c=c+192|0;A=L+152|0;M=L+144|0;y=L+136|0;g=L+128|0;p=L+120|0;C=L+88|0;m=L+80|0;k=L+64|0;_=L+48|0;O=L+40|0;E=L+32|0;P=L+24|0;v=L+16|0;w=L+8|0;d=L+176|0;b=L+168|0;R=L+156|0;f=Fn(1,1024)|0;if(!f){jf(r,1,17098,L)|0;x=0;c=L;return x|0}h=d+4|0;S=R+4|0;T=e+100|0;u=1024;e:while(1){if((Lf(i,d,8,r)|0)!=8)break;while(1){hf(d,R,4);hf(h,S,4);switch(t[R>>2]|0){case 0:{n=Nf(i)|0;o=I;if((o|0)>0|(o|0)==0&n>>>0>4294967287){x=6;break e}t[R>>2]=n+8;l=8;break}case 1:{if((Lf(i,d,8,r)|0)!=8)break e;hf(d,b,4);if(t[b>>2]|0){x=10;break e}hf(h,R,4);l=16;break}default:l=8}a=t[S>>2]|0;if((a|0)==1785737827){x=13;break e}n=t[R>>2]|0;if(!n){x=17;break e}if(n>>>0>>0){x=19;break e}if((a|0)==1783636e3){s=1084;a=l;x=22;break}if((a|0)==1718909296){s=1092;a=l;x=22;break}o=(a|0)==1785737832;i:do{if((a|0)!=1768449138)if((a|0)!=1668246642)if((a|0)!=1651532643)if((a|0)!=1885564018)if((a|0)!=1668112752){s=(a|0)==1667523942?1148:0;n=n-l|0;if((a|0)<1785737832)switch(a|0){case 1667523942:{x=30;break i}default:{}}else switch(a|0){case 1785737832:{x=30;break i}default:{}}a=t[T>>2]|0;if(!(a&1)){x=45;break e}if(!(a&2)){x=47;break e}t[T>>2]=a|2147483647;o=Ff(i,n,0,r)|0;if(!((o|0)==(n|0)&(I|0)==0)){x=50;break e}}else{s=1140;x=28}else{s=1132;x=28}else{s=1124;x=28}else{s=1116;x=28}else{s=1108;x=28}}while(0);if((x|0)==28){n=n-l|0;x=30}if((x|0)==30){x=0;if(o){s=1100;break}t[_>>2]=a>>>24;t[_+4>>2]=a>>>16&255;t[_+8>>2]=a>>>8&255;t[_+12>>2]=a&255;jf(r,2,17282,_)|0;if(t[T>>2]&4)break;o=t[S>>2]|0;t[k>>2]=o>>>24;t[k+4>>2]=o>>>16&255;t[k+8>>2]=o>>>8&255;t[k+12>>2]=o&255;jf(r,2,17333,k)|0;t[T>>2]=t[T>>2]|2147483647;o=Ff(i,n,0,r)|0;if(!((o|0)==(n|0)&(I|0)==0)){x=33;break e}}if((Lf(i,d,8,r)|0)!=8)break e}if((x|0)==22){x=0;n=n-a|0}o=Nf(i)|0;l=I;if(0>(l|0)|0==(l|0)&n>>>0>o>>>0){x=35;break}if(n>>>0>u>>>0){a=jn(f,n)|0;if(!a){x=38;break}else{f=a;a=n}}else a=u;if((Lf(i,f,n,r)|0)!=(n|0)){x=40;break}if(!(Ro[t[s+4>>2]&63](e,f,n,r)|0)){x=43;break}else u=a}switch(x|0){case 6:{jf(r,1,17148,w)|0;break}case 10:{jf(r,1,17148,v)|0;break}case 13:{n=t[T>>2]|0;if(!(n&4)){jf(r,1,17190,P)|0;Yn(f);x=0;c=L;return x|0}else{t[T>>2]=n|8;Yn(f);x=1;c=L;return x|0}}case 17:{jf(r,1,17218,E)|0;Yn(f);x=0;c=L;return x|0}case 19:{t[O>>2]=n;t[O+4>>2]=a;jf(r,1,17256,O)|0;Yn(f);x=0;c=L;return x|0}case 33:{jf(r,1,17399,m)|0;Yn(f);x=0;c=L;return x|0}case 35:{P=t[R>>2]|0;O=t[S>>2]|0;x=Nf(i)|0;t[C>>2]=P;t[C+4>>2]=O>>>24;t[C+8>>2]=O>>>16&255;t[C+12>>2]=O>>>8&255;t[C+16>>2]=O&255;t[C+20>>2]=n;t[C+24>>2]=x;jf(r,1,17449,C)|0;Yn(f);x=0;c=L;return x|0}case 38:{Yn(f);jf(r,1,17525,p)|0;x=0;c=L;return x|0}case 40:{jf(r,1,17567,g)|0;Yn(f);x=0;c=L;return x|0}case 43:{Yn(f);x=0;c=L;return x|0}case 45:{jf(r,1,17616,y)|0;Yn(f);x=0;c=L;return x|0}case 47:{jf(r,1,17686,M)|0;Yn(f);x=0;c=L;return x|0}case 50:{jf(r,1,17399,A)|0;Yn(f);x=0;c=L;return x|0}}Yn(f);x=1;c=L;return x|0}function $i(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0;s=c;c=c+32|0;a=s+24|0;f=Df(i)|0;n=I;e=e+80|0;l=e;l=Il(f|0,n|0,t[l>>2]|0,t[l+4>>2]|0)|0;cf(a,l,4);cf(a+4|0,1785737827,4);if(!(Hf(i,t[e>>2]|0,t[e+4>>2]|0,r)|0)){jf(r,1,17067,s)|0;l=0;c=s;return l|0}if((Bf(i,a,8,r)|0)!=8){jf(r,1,17067,s+8|0)|0;l=0;c=s;return l|0}if(Hf(i,f,n,r)|0){l=1;c=s;return l|0}jf(r,1,17067,s+16|0)|0;l=0;c=s;return l|0}function Vi(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0;r=((t[e>>2]|0)!=0?(t[e+104>>2]|t[e+100>>2]|0)==0:0)&(t[e+8>>2]|0)!=0&(t[e+4>>2]|0)!=0&(t[e+64>>2]|0)!=0&(t[e+16>>2]|0)!=0&(t[e+12>>2]|0)!=0&1;f=t[e+20>>2]|0;if(!f){a=r;e=e+40|0;e=t[e>>2]|0;e=e+-1|0;e=e>>>0<2;e=e&1;i=Uf(i)|0;i=i&a;e=i&e;return e|0}n=t[e+72>>2]|0;a=0;do{r=(t[n+(a*12|0)+8>>2]&126)>>>0<38&r;a=a+1|0}while(a>>>0>>0);e=e+40|0;e=t[e>>2]|0;e=e+-1|0;e=e>>>0<2;e=e&1;i=Uf(i)|0;i=i&r;e=i&e;return e|0}function Xi(e,i,r){e=e|0;i=i|0;r=r|0;var f=0;e=c;c=c+16|0;f=e;cf(f,12,4);cf(f+4|0,1783636e3,4);cf(f+8|0,218793738,4);r=(Bf(i,f,12,r)|0)==12&1;c=e;return r|0}function Gi(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0;u=c;c=c+16|0;o=u+8|0;n=e+64|0;s=(t[n>>2]<<2)+16|0;l=Fn(1,s)|0;if(!l){jf(r,1,16987,u)|0;o=0;c=u;return o|0}cf(l,s,4);cf(l+4|0,1718909296,4);cf(l+8|0,t[e+56>>2]|0,4);cf(l+12|0,t[e+60>>2]|0,4);a=l+16|0;if(t[n>>2]|0){e=e+68|0;f=0;do{cf(a,t[(t[e>>2]|0)+(f<<2)>>2]|0,4);f=f+1|0}while(f>>>0<(t[n>>2]|0)>>>0)}e=(Bf(i,l,s,r)|0)==(s|0);if(!e)jf(r,1,17026,o)|0;Yn(l);o=e&1;c=u;return o|0}function Ki(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0;k=c;c=c+80|0;b=k+16|0;h=k+8|0;o=k;n=k+24|0;u=k+72|0;f=n;a=f+48|0;do{t[f>>2]=0;f=f+4|0}while((f|0)<(a|0));_=(t[e+24>>2]|0)==255;t[n>>2]=2;f=n+12|0;if(_){t[f>>2]=3;t[n+24>>2]=4;f=3}else{t[f>>2]=4;f=2}if(!(t[e+116>>2]|0))_=f;else{t[n+(f*12|0)>>2]=5;_=f+1|0}cf(u+4|0,1785737832,4);s=0;l=n;f=8;while(1){a=l+8|0;w=Co[t[l>>2]&7](e,a)|0;t[l+4>>2]=w;if(!w){d=8;break}f=(t[a>>2]|0)+f|0;s=s+1|0;if((s|0)>=(_|0))break;else l=l+12|0}if((d|0)==8){jf(r,1,16901,o)|0;a=0;while(1){f=t[n+4>>2]|0;if(f)Yn(f);a=a+1|0;if((a|0)>=(_|0)){f=0;break}else n=n+12|0}c=k;return f|0}cf(u,f,4);e:do{if((Bf(i,u,8,r)|0)==8){f=0;a=n;while(1){w=a+8|0;d=Bf(i,t[a+4>>2]|0,t[w>>2]|0,r)|0;if((d|0)!=(t[w>>2]|0))break;f=f+1|0;if((f|0)>=(_|0)){f=1;break e}else a=a+12|0}jf(r,1,16944,b)|0;f=0}else{jf(r,1,16944,h)|0;f=0}}while(0);s=0;while(1){a=t[n+4>>2]|0;if(a)Yn(a);s=s+1|0;if((s|0)>=(_|0))break;else n=n+12|0}c=k;return f|0}function Wi(e,i,r){e=e|0;i=i|0;r=r|0;var f=0;f=Df(i)|0;e=e+88|0;t[e>>2]=f;t[e+4>>2]=I;i=Ff(i,24,0,r)|0;return(i|0)==24&(I|0)==0&1|0}function Zi(e,i,r){e=e|0;i=i|0;r=r|0;var f=0;f=Df(i)|0;e=e+80|0;t[e>>2]=f;t[e+4>>2]=I;i=Ff(i,8,0,r)|0;return(i|0)==8&(I|0)==0&1|0}function Ji(e,i){e=e|0;i=i|0;var r=0;r=Fn(1,22)|0;if(!r){i=0;return i|0}cf(r,22,4);cf(r+4|0,1768449138,4);cf(r+8|0,t[e+16>>2]|0,4);cf(r+12|0,t[e+12>>2]|0,4);cf(r+16|0,t[e+20>>2]|0,2);cf(r+18|0,t[e+24>>2]|0,1);cf(r+19|0,t[e+28>>2]|0,1);cf(r+20|0,t[e+32>>2]|0,1);cf(r+21|0,t[e+36>>2]|0,1);t[i>>2]=22;i=r;return i|0}function Qi(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0,s=0;n=e+20|0;a=(t[n>>2]|0)+8|0;s=Fn(1,a)|0;if(!s){i=0;return i|0}cf(s,a,4);cf(s+4|0,1651532643,4);if(t[n>>2]|0){e=e+72|0;r=0;f=s+8|0;while(1){cf(f,t[(t[e>>2]|0)+(r*12|0)+8>>2]|0,1);r=r+1|0;if(r>>>0>=(t[n>>2]|0)>>>0)break;else f=f+1|0}}t[i>>2]=a;i=s;return i|0}function er(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,s=0,l=0,o=0;r=e+40|0;switch(t[r>>2]|0){case 1:{o=15;break}case 2:{o=(t[e+112>>2]|0)+11|0;break}default:{i=0;return i|0}}l=Fn(1,o)|0;if(!l){i=0;return i|0}cf(l,o,4);cf(l+4|0,1668246642,4);cf(l+8|0,t[r>>2]|0,1);cf(l+9|0,t[e+52>>2]|0,1);cf(l+10|0,t[e+44>>2]|0,1);n=l+11|0;switch(t[r>>2]|0){case 1:{cf(n,t[e+48>>2]|0,4);break}case 2:{s=e+112|0;if(t[s>>2]|0){e=e+108|0;f=0;r=n;while(1){cf(r,a[(t[e>>2]|0)+f>>0]|0,1);f=f+1|0;if(f>>>0>=(t[s>>2]|0)>>>0)break;else r=r+1|0}}break}default:{}}t[i>>2]=o;i=l;return i|0}function ir(e,i){e=e|0;i=i|0;var r=0,f=0,a=0,l=0,o=0,u=0;l=e+116|0;o=((s[(t[l>>2]|0)+4>>1]|0)*6|0)+10|0;u=Nn(o)|0;if(!u){i=0;return i|0}cf(u,o,4);cf(u+4|0,1667523942,4);cf(u+8|0,s[(t[l>>2]|0)+4>>1]|0,2);e=t[l>>2]|0;if(n[e+4>>1]|0){f=0;r=0;a=u+10|0;while(1){cf(a,s[(t[e>>2]|0)+(f*6|0)>>1]|0,2);cf(a+2|0,s[(t[t[l>>2]>>2]|0)+(f*6|0)+2>>1]|0,2);cf(a+4|0,s[(t[t[l>>2]>>2]|0)+(f*6|0)+4>>1]|0,2);r=r+1<<16>>16;e=t[l>>2]|0;if((r&65535)>=(s[e+4>>1]|0))break;else{f=r&65535;a=a+6|0}}}t[i>>2]=o;i=u;return i|0}function rr(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0;a=c;c=c+32|0;n=a+16|0;if((r|0)!=14){jf(f,1,18507,a)|0;n=0;c=a;return n|0}hf(i,e+16|0,4);hf(i+4|0,e+12|0,4);r=e+20|0;hf(i+8|0,r,2);r=Fn(t[r>>2]|0,12)|0;t[e+72>>2]=r;if(!r){jf(f,1,18540,a+8|0)|0;n=0;c=a;return n|0}hf(i+10|0,e+24|0,1);r=e+28|0;hf(i+11|0,r,1);r=t[r>>2]|0;if((r|0)!=7){t[n>>2]=r;jf(f,4,18589,n)|0}hf(i+12|0,e+32|0,1);hf(i+13|0,e+36|0,1);n=1;c=a;return n|0}function fr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0;M=c;c=c+80|0;l=M+40|0;v=M+32|0;u=M+24|0;o=M+16|0;p=M+72|0;m=M+68|0;_=M+64|0;k=M+60|0;d=M+56|0;w=M+52|0;b=M+48|0;h=M+44|0;if(r>>>0<3){jf(n,1,18180,M)|0;y=0;c=M;return y|0}g=e+108|0;y=e+124|0;if(f[y>>0]|0){jf(n,4,18212,M+8|0)|0;y=1;c=M;return y|0}s=e+40|0;hf(i,s,1);hf(i+1|0,e+52|0,1);hf(i+2|0,e+44|0,1);a=i+3|0;s=t[s>>2]|0;switch(s|0){case 1:{if(r>>>0<7){t[o>>2]=r;jf(n,1,18321,o)|0;y=0;c=M;return y|0}s=e+48|0;if(r>>>0>7?(t[s>>2]|0)!=14:0){t[u>>2]=r;jf(n,2,18321,u)|0}hf(a,s,4);if((t[s>>2]|0)==14){a=Nn(36)|0;t[a>>2]=14;t[b>>2]=0;t[d>>2]=0;t[_>>2]=0;t[w>>2]=0;t[k>>2]=0;t[m>>2]=0;t[h>>2]=4470064;s=a+4|0;t[s>>2]=1145390592;switch(r|0){case 35:{hf(i+7|0,m,4);hf(i+11|0,_,4);hf(i+15|0,k,4);hf(i+19|0,d,4);hf(i+23|0,w,4);hf(i+27|0,b,4);hf(i+31|0,h,4);t[s>>2]=0;break}case 7:break;default:{t[v>>2]=r;jf(n,2,18357,v)|0}}t[a+8>>2]=t[m>>2];t[a+16>>2]=t[k>>2];t[a+24>>2]=t[w>>2];t[a+12>>2]=t[_>>2];t[a+20>>2]=t[d>>2];t[a+28>>2]=t[b>>2];t[a+32>>2]=t[h>>2];t[g>>2]=a;t[e+112>>2]=0}f[y>>0]=1;y=1;c=M;return y|0}case 2:{l=r+-3|0;s=e+112|0;t[s>>2]=l;e=Fn(1,l)|0;t[g>>2]=e;if(!e){t[s>>2]=0;y=0;c=M;return y|0}if((r|0)>3){s=0;while(1){hf(a,p,1);f[(t[g>>2]|0)+s>>0]=t[p>>2];s=s+1|0;if((s|0)==(l|0))break;else a=a+1|0}}f[y>>0]=1;y=1;c=M;return y|0}default:{if(s>>>0<=2){y=1;c=M;return y|0}t[l>>2]=s;jf(n,4,18401,l)|0;y=1;c=M;return y|0}}return 0}function nr(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0;l=c;c=c+16|0;a=l;n=t[e+24>>2]|0;if((n|0)!=255){t[a>>2]=n;jf(f,2,18034,a)|0}s=e+20|0;if((t[s>>2]|0)!=(r|0)){jf(f,1,18148,l+8|0)|0;s=0;c=l;return s|0}if(!r){s=1;c=l;return s|0}a=e+72|0;n=0;while(1){hf(i,(t[a>>2]|0)+(n*12|0)+8|0,1);n=n+1|0;if(n>>>0>=(t[s>>2]|0)>>>0){i=1;break}else i=i+1|0}c=l;return i|0}function tr(e,i,r,s){e=e|0;i=i|0;r=r|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0;w=c;c=c+16|0;l=w;k=w+12|0;o=e+120|0;if(r>>>0<3|(t[o>>2]|0)!=0){r=0;c=w;return r|0}hf(i,k,2);u=t[k>>2]|0;_=u&65535;if((_+-1|0)>>>0>1023){t[l>>2]=_;jf(s,1,17951,l)|0;r=0;c=w;return r|0}hf(i+2|0,k,1);b=t[k>>2]&65535;if(!b){jf(s,1,17989,w+8|0)|0;r=0;c=w;return r|0}if((b+3|0)>>>0>r>>>0){r=0;c=w;return r|0}l=Nn(ie(_<<2,b)|0)|0;if(!l){r=0;c=w;return r|0}d=Nn(b)|0;if(!d){Yn(l);r=0;c=w;return r|0}h=Nn(b)|0;if(!h){Yn(l);Yn(d);r=0;c=w;return r|0}e=Nn(20)|0;if(!e){Yn(l);Yn(d);Yn(h);r=0;c=w;return r|0}t[e+4>>2]=h;t[e+8>>2]=d;t[e>>2]=l;n[e+16>>1]=u;f[e+18>>0]=t[k>>2];t[e+12>>2]=0;t[o>>2]=e;e=i+3|0;s=0;o=0;do{hf(e,k,1);e=e+1|0;f[d+s>>0]=(t[k>>2]&127)+1;f[h+s>>0]=(t[k>>2]|0)>>>7&1;o=o+1<<16>>16;s=o&65535}while(s>>>0>>0);if(!_){r=1;c=w;return r|0}s=0;e:while(1){u=0;o=l;h=0;while(1){l=((a[d+u>>0]|0)+7|0)>>>3;l=l>>>0>4?4:l;if((e-i+l|0)>(r|0)){e=0;l=22;break e}hf(e,k,l);e=e+l|0;t[o>>2]=t[k>>2];l=o+4|0;h=h+1<<16>>16;u=h&65535;if(u>>>0>=b>>>0)break;else o=l}s=s+1<<16>>16;if((s&65535)>>>0>=_>>>0){e=1;l=22;break}}if((l|0)==22){c=w;return e|0}return 0}function ar(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0;u=c;c=c+32|0;o=u+20|0;l=e+120|0;e=t[l>>2]|0;if(!e){jf(a,1,17841,u)|0;o=0;c=u;return o|0}if(t[e+12>>2]|0){jf(a,1,17887,u+8|0)|0;o=0;c=u;return o|0}s=f[e+18>>0]|0;e=(s&255)<<2;if(e>>>0>r>>>0){jf(a,1,17918,u+16|0)|0;o=0;c=u;return o|0}a=Nn(e)|0;if(!a){o=0;c=u;return o|0}if(s<<24>>24){e=i;r=0;while(1){hf(e,o,2);n[a+(r<<2)>>1]=t[o>>2];hf(e+2|0,o,1);f[a+(r<<2)+2>>0]=t[o>>2];hf(e+3|0,o,1);f[a+(r<<2)+3>>0]=t[o>>2];r=r+1|0;if((r&255)<<24>>24==s<<24>>24)break;else e=e+4|0}}t[(t[l>>2]|0)+12>>2]=a;o=1;c=u;return o|0}function sr(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var a=0,l=0,o=0,u=0;u=c;c=c+32|0;o=u+20|0;l=e+116|0;if(t[l>>2]|0){o=0;c=u;return o|0}if(r>>>0<2){jf(f,1,17747,u)|0;o=0;c=u;return o|0}hf(i,o,2);e=t[o>>2]|0;a=e&65535;if(!a){jf(f,1,17780,u+8|0)|0;o=0;c=u;return o|0}if(((a*6|0)+2|0)>>>0>r>>>0){jf(f,1,17747,u+16|0)|0;o=0;c=u;return o|0}r=Nn(e*6|0)|0;if(!r){o=0;c=u;return o|0}e=Nn(8)|0;t[l>>2]=e;if(!e){Yn(r);o=0;c=u;return o|0}t[e>>2]=r;f=t[o>>2]&65535;n[e+4>>1]=f;if(!(f<<16>>16)){o=1;c=u;return o|0}else{a=0;e=i}do{i=a&65535;hf(e+2|0,o,2);n[r+(i*6|0)>>1]=t[o>>2];hf(e+4|0,o,2);e=e+6|0;n[r+(i*6|0)+2>>1]=t[o>>2];hf(e,o,2);n[r+(i*6|0)+4>>1]=t[o>>2];a=a+1<<16>>16}while((a&65535)<(s[(t[l>>2]|0)+4>>1]|0));e=1;c=u;return e|0}function lr(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0;a=c;c=c+32|0;n=a+20|0;e=e+100|0;if(t[e>>2]|0){jf(f,1,19130,a)|0;f=0;c=a;return f|0}if((r|0)!=4){jf(f,1,19184,a+8|0)|0;f=0;c=a;return f|0}hf(i,n,4);if((t[n>>2]|0)==218793738){t[e>>2]=t[e>>2]|1;f=1;c=a;return f|0}else{jf(f,1,19218,a+16|0)|0;f=0;c=a;return f|0}return 0}function or(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0;l=c;c=c+32|0;a=l+24|0;s=e+100|0;if((t[s>>2]|0)!=1){jf(f,1,19011,l)|0;s=0;c=l;return s|0}if(r>>>0<8){jf(f,1,19061,l+8|0)|0;s=0;c=l;return s|0}hf(i,e+56|0,4);hf(i+4|0,e+60|0,4);i=i+8|0;r=r+-8|0;if(r&3){jf(f,1,19061,l+16|0)|0;s=0;c=l;return s|0}r=r>>>2;n=e+64|0;t[n>>2]=r;if(r){r=Fn(r,4)|0;t[e+68>>2]=r;if(!r){jf(f,1,19097,a)|0;s=0;c=l;return s|0}if(t[n>>2]|0){e=e+68|0;r=0;while(1){hf(i,(t[e>>2]|0)+(r<<2)|0,4);r=r+1|0;if(r>>>0>=(t[n>>2]|0)>>>0)break;else i=i+4|0}}}t[s>>2]=t[s>>2]|2;s=1;c=l;return s|0}function ur(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0;S=c;c=c+96|0;A=S+72|0;m=S+64|0;w=S+56|0;k=S+48|0;y=S+40|0;g=S+32|0;p=S+24|0;v=S+16|0;_=S+8|0;d=S+80|0;b=S+76|0;M=e+100|0;if(!(t[M>>2]&2)){jf(f,1,18679,S)|0;E=0;c=S;return E|0}h=e+104|0;t[h>>2]=0;do{if(r){o=i;i=0;e:while(1){if(r>>>0<8){E=6;break}hf(o,d,4);n=t[d>>2]|0;hf(o+4|0,d,4);l=t[d>>2]|0;switch(n|0){case 0:{E=14;break e}case 1:{if(r>>>0<16){E=9;break e}hf(o+8|0,b,4);if(t[b>>2]|0){E=11;break e}hf(o+12|0,d,4);n=t[d>>2]|0;if(!n){E=13;break e}else a=16;break}default:a=8}if(n>>>0>>0){E=16;break}if(r>>>0>>0){E=19;break}s=(l|0)==1768449138;if(!s)if((l|0)!=1668246642)if((l|0)!=1651532643)if((l|0)!=1885564018)if((l|0)!=1668112752)if((l|0)==1667523942){u=1148;E=26}else t[h>>2]=t[h>>2]|2147483647;else{u=1140;E=26}else{u=1132;E=26}else{u=1124;E=26}else{u=1116;E=26}else{u=1108;E=26}if((E|0)==26?(E=0,(Ro[t[u+4>>2]&63](e,o+a|0,n-a|0,f)|0)==0):0){i=0;E=32;break}i=s?1:i;if((r|0)==(n|0)){E=29;break}else{o=o+n|0;r=r-n|0}}if((E|0)==6)jf(f,1,18724,_)|0;else if((E|0)==9)jf(f,1,18764,v)|0;else if((E|0)==11)jf(f,1,17148,p)|0;else if((E|0)==13)jf(f,1,17218,g)|0;else if((E|0)==14)jf(f,1,17218,y)|0;else if((E|0)==16)jf(f,1,18808,k)|0;else if((E|0)==19){jf(f,1,18880,m)|0;E=0;c=S;return E|0}else if((E|0)==29){if(!i)break;t[M>>2]=t[M>>2]|4;E=1;c=S;return E|0}else if((E|0)==32){c=S;return i|0}jf(f,1,18837,w)|0;E=0;c=S;return E|0}}while(0);jf(f,1,18952,A)|0;E=0;c=S;return E|0}function cr(){return 8}function hr(){return 32}function dr(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0;if(!f)return;else n=0;do{c=e+(n<<2)|0;l=t[c>>2]|0;o=i+(n<<2)|0;s=t[o>>2]|0;a=r+(n<<2)|0;u=t[a>>2]|0;t[c>>2]=(s<<1)+l+u>>2;t[o>>2]=u-s;t[a>>2]=l-s;n=n+1|0}while((n|0)!=(f|0));return}function br(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0;if(!f)return;else n=0;do{u=e+(n<<2)|0;o=i+(n<<2)|0;s=t[o>>2]|0;a=r+(n<<2)|0;c=t[a>>2]|0;l=(t[u>>2]|0)-(c+s>>2)|0;t[u>>2]=l+c;t[o>>2]=l;t[a>>2]=l+s;n=n+1|0}while((n|0)!=(f|0));return}function _r(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0;if(!f)return;else n=0;do{b=e+(n<<2)|0;p=t[b>>2]|0;u=i+(n<<2)|0;v=t[u>>2]|0;a=r+(n<<2)|0;m=t[a>>2]|0;o=((p|0)<0)<<31>>31;k=jl(p|0,o|0,2449,0)|0;k=Bl(k|0,I|0,4096,0)|0;k=zl(k|0,I|0,13)|0;l=((v|0)<0)<<31>>31;w=jl(v|0,l|0,4809,0)|0;w=Bl(w|0,I|0,4096,0)|0;w=zl(w|0,I|0,13)|0;s=((m|0)<0)<<31>>31;_=jl(m|0,s|0,934,0)|0;_=Bl(_|0,I|0,4096,0)|0;_=zl(_|0,I|0,13)|0;c=jl(p|0,o|0,1382,0)|0;c=Bl(c|0,I|0,4096,0)|0;c=zl(c|0,I|0,13)|0;h=jl(v|0,l|0,2714,0)|0;h=Bl(h|0,I|0,4096,0)|0;h=zl(h|0,I|0,13)|0;d=Ll(m|0,s|0,12)|0;d=Bl(d|0,I|0,4096,0)|0;d=zl(d|0,I|0,13)|0;o=Ll(p|0,o|0,12)|0;o=Bl(o|0,I|0,4096,0)|0;o=zl(o|0,I|0,13)|0;l=jl(v|0,l|0,3430,0)|0;l=Bl(l|0,I|0,4096,0)|0;l=zl(l|0,I|0,13)|0;s=jl(m|0,s|0,666,0)|0;s=Bl(s|0,I|0,4096,0)|0;s=zl(s|0,I|0,13)|0;t[b>>2]=w+k+_;t[u>>2]=d-(h+c);t[a>>2]=o-l-s;n=n+1|0}while((n|0)!=(f|0));return}function kr(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,t=0,a=0.0,s=0.0,l=0,u=0.0,c=0;if(!f)return;else n=0;do{c=e+(n<<2)|0;s=+o[c>>2];l=i+(n<<2)|0;a=+o[l>>2];t=r+(n<<2)|0;u=+o[t>>2];o[c>>2]=s+u*1.4019999504089355;o[l>>2]=s-a*.3441300094127655-u*.714139997959137;o[t>>2]=s+a*1.7719999551773071;n=n+1|0}while((n|0)!=(f|0));return}function wr(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0;a=ie(f,f)|0;b=Nn(a+f<<2)|0;if(!b){f=0;return f|0}if(a){s=0;n=e;while(1){t[b+(s+f<<2)>>2]=~~(+o[n>>2]*8192.0);s=s+1|0;if((s|0)==(a|0))break;else n=n+4|0}}if(i){h=(f|0)==0;d=0;do{if(!h){n=0;do{t[b+(n<<2)>>2]=t[t[r+(n<<2)>>2]>>2];n=n+1|0}while((n|0)!=(f|0));if(!h){e=0;u=b;do{u=u+(f<<2)|0;a=r+(e<<2)|0;n=t[a>>2]|0;t[n>>2]=0;s=0;l=0;c=u;while(1){_=t[c>>2]|0;k=t[b+(l<<2)>>2]|0;_=jl(k|0,((k|0)<0)<<31>>31|0,_|0,((_|0)<0)<<31>>31|0)|0;_=Bl(_|0,I|0,4096,0)|0;_=zl(_|0,I|0,13)|0;s=_+s|0;t[n>>2]=s;l=l+1|0;if((l|0)==(f|0))break;else c=c+4|0}t[a>>2]=n+4;e=e+1|0}while((e|0)!=(f|0))}}d=d+1|0}while((d|0)!=(i|0))}Yn(b);k=1;return k|0}function mr(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0.0,s=0,l=0,u=0,c=0,h=0,d=0,b=0;h=Nn(f<<3)|0;if(!h){f=0;return f|0}if(i){d=(f|0)==0;b=0;do{if(!d){n=0;do{t[h+(n<<2)>>2]=t[t[r+(n<<2)>>2]>>2];n=n+1|0}while((n|0)!=(f|0));if(!d){u=0;c=e;while(1){n=h+(u+f<<2)|0;o[n>>2]=0.0;a=0.0;s=0;l=c;while(1){a=a+ +o[l>>2]*+o[h+(s<<2)>>2];o[n>>2]=a;s=s+1|0;if((s|0)==(f|0))break;else l=l+4|0}s=r+(u<<2)|0;l=t[s>>2]|0;t[s>>2]=l+4;o[l>>2]=a;u=u+1|0;if((u|0)==(f|0))break;else c=c+(f<<2)|0}}}b=b+1|0}while((b|0)!=(i|0))}Yn(h);f=1;return f|0}function vr(e,i,r){e=e|0;i=i|0;r=r|0;var f=0.0,n=0,t=0,a=0,s=0,l=0.0;if(!i)return;else s=0;do{a=e+(s<<3)|0;u[a>>3]=0.0;f=0.0;n=0;t=s;while(1){l=+o[r+(t<<2)>>2];f=f+l*l;n=n+1|0;if((n|0)==(i|0))break;else t=t+i|0}u[a>>3]=+Y(+f);s=s+1|0}while((s|0)!=(i|0));return}function pr(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0;I=c;c=c+32|0;T=I+28|0;y=I+24|0;M=I+20|0;A=I+16|0;E=I+12|0;S=I+8|0;o=I+4|0;u=I;n=i+76|0;C=t[n>>2]|0;R=C+(r*5640|0)+420|0;P=(t[R>>2]|0)+1|0;h=e+16|0;g=Nn((t[h>>2]|0)*528|0)|0;if(!g){P=0;c=I;return P|0}p=Nn(t[h>>2]<<2)|0;if(!p){Yn(g);P=0;c=I;return P|0}n=Sr(e,t[n>>2]|0,r)|0;if(!n){Yn(g);Yn(p);P=0;c=I;return P|0}a=t[h>>2]|0;if(a){s=0;l=g;while(1){t[p+(s<<2)>>2]=l;s=s+1|0;if(s>>>0>=a>>>0)break;else l=l+528|0}}Tr(e,i,r,M,A,E,S,o,u,y,T,p);m=t[y>>2]|0;k=ie(t[h>>2]|0,m)|0;w=ie(t[T>>2]|0,k)|0;v=C+(r*5640|0)+8|0;_=Fn(ie((t[v>>2]|0)+1|0,w)|0,2)|0;s=n+4|0;t[s>>2]=_;if(!_){Yn(g);Yn(p);a=t[s>>2]|0;if(a){Yn(a);t[s>>2]=0}if(P){e=n;d=0;while(1){h=e+196|0;a=t[h>>2]|0;if(a){i=e+192|0;s=t[i>>2]|0;if(s){u=0;while(1){l=a+12|0;o=t[l>>2]|0;if(o){Yn(o);t[l>>2]=0;s=t[i>>2]|0}u=u+1|0;if(u>>>0>=s>>>0)break;else a=a+16|0}a=t[h>>2]|0}Yn(a);t[h>>2]=0}d=d+1|0;if((d|0)==(P|0))break;else e=e+232|0}}Yn(n);P=0;c=I;return P|0}a=t[n+196>>2]|0;_=t[e+24>>2]|0;t[n+200>>2]=t[M>>2];t[n+204>>2]=t[E>>2];t[n+208>>2]=t[A>>2];t[n+212>>2]=t[S>>2];t[n+20>>2]=1;t[n+16>>2]=m;t[n+12>>2]=k;t[n+8>>2]=w;h=t[n+192>>2]|0;if(h){e=0;i=_;while(1){l=t[a+12>>2]|0;s=t[p+(e<<2)>>2]|0;t[a>>2]=t[i>>2];t[a+4>>2]=t[i+4>>2];u=t[a+8>>2]|0;if(u){o=0;while(1){t[l>>2]=t[s>>2];t[l+4>>2]=t[s+4>>2];t[l+8>>2]=t[s+8>>2];t[l+12>>2]=t[s+12>>2];o=o+1|0;if(o>>>0>=u>>>0)break;else{s=s+16|0;l=l+16|0}}}e=e+1|0;if(e>>>0>=h>>>0)break;else{a=a+16|0;i=i+52|0}}}if(P>>>0>1){h=n;b=1;do{a=t[h+428>>2]|0;t[h+432>>2]=t[M>>2];t[h+436>>2]=t[E>>2];t[h+440>>2]=t[A>>2];t[h+444>>2]=t[S>>2];t[h+252>>2]=1;t[h+248>>2]=m;t[h+244>>2]=k;t[h+240>>2]=w;e=t[h+424>>2]|0;if(e){d=0;i=_;while(1){l=t[a+12>>2]|0;s=t[p+(d<<2)>>2]|0;t[a>>2]=t[i>>2];t[a+4>>2]=t[i+4>>2];u=t[a+8>>2]|0;if(u){o=0;while(1){t[l>>2]=t[s>>2];t[l+4>>2]=t[s+4>>2];t[l+8>>2]=t[s+8>>2];t[l+12>>2]=t[s+12>>2];o=o+1|0;if(o>>>0>=u>>>0)break;else{s=s+16|0;l=l+16|0}}}d=d+1|0;if(d>>>0>=e>>>0)break;else{a=a+16|0;i=i+52|0}}}t[h+236>>2]=t[h+4>>2];h=h+232|0;b=b+1|0}while((b|0)!=(P|0))}Yn(g);Yn(p);h=t[y>>2]|0;if(!(f[C+(r*5640|0)+5636>>0]&4)){i=t[T>>2]|0;u=(t[R>>2]|0)+1|0;if(!u){P=n;c=I;return P|0}o=t[C+(r*5640|0)+4>>2]|0;a=t[v>>2]|0;s=n;l=0;while(1){t[s+80>>2]=o;t[s+40>>2]=1;t[s+44>>2]=0;t[s+48>>2]=0;t[s+64>>2]=0;t[s+68>>2]=0;t[s+56>>2]=i;t[s+60>>2]=t[s+192>>2];t[s+52>>2]=a;t[s+72>>2]=h;l=l+1|0;if((l|0)==(u|0))break;else s=s+232|0}c=I;return n|0}else{l=(t[R>>2]|0)+1|0;if(!l){P=n;c=I;return P|0}o=n;a=C+(r*5640|0)+424|0;s=0;while(1){t[o+80>>2]=t[a+36>>2];t[o+40>>2]=1;t[o+44>>2]=t[a>>2];t[o+48>>2]=t[a+4>>2];t[o+64>>2]=0;t[o+68>>2]=0;t[o+56>>2]=t[a+12>>2];t[o+60>>2]=t[a+16>>2];t[o+52>>2]=t[a+8>>2];t[o+72>>2]=h;s=s+1|0;if((s|0)==(l|0))break;else{o=o+232|0;a=a+148|0}}c=I;return n|0}return 0}function gr(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0;if(!e)return;r=e+4|0;f=t[r>>2]|0;if(f){Yn(f);t[r>>2]=0}if(i){u=e;c=0;while(1){o=u+196|0;r=t[o>>2]|0;if(r){l=u+192|0;f=t[l>>2]|0;if(f){s=0;while(1){n=r+12|0;a=t[n>>2]|0;if(a){Yn(a);t[n>>2]=0;f=t[l>>2]|0}s=s+1|0;if(s>>>0>=f>>>0)break;else r=r+16|0}r=t[o>>2]|0}Yn(r);t[o>>2]=0}c=c+1|0;if((c|0)==(i|0))break;else u=u+232|0}}Yn(e);return}function yr(e,i,r,s){e=e|0;i=i|0;r=r|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0;D=c;c=c+32|0;O=D+28|0;I=D+24|0;T=D+20|0;R=D+16|0;C=D+12|0;P=D+8|0;x=D+4|0;L=D;B=i+76|0;M=t[B>>2]|0;z=(t[M+(r*5640|0)+420>>2]|0)+1|0;S=e+16|0;E=Nn((t[S>>2]|0)*528|0)|0;if(!E){r=0;c=D;return r|0}A=Nn(t[S>>2]<<2)|0;if(!A){Yn(E);r=0;c=D;return r|0}l=Sr(e,t[B>>2]|0,r)|0;if(!l){Yn(E);Yn(A);r=0;c=D;return r|0}o=t[S>>2]|0;if(o){u=0;h=E;while(1){t[A+(u<<2)>>2]=h;u=u+1|0;if(u>>>0>=o>>>0)break;else h=h+528|0}}Tr(e,i,r,T,R,C,P,x,L,I,O,A);p=t[I>>2]|0;g=ie(t[S>>2]|0,p)|0;y=ie(t[O>>2]|0,g)|0;f[l>>0]=(a[i+93>>0]|0)>>>3&1;v=Fn(ie(t[M+(r*5640|0)+8>>2]|0,y)|0,2)|0;u=l+4|0;t[u>>2]=v;if(!v){Yn(E);Yn(A);o=t[u>>2]|0;if(o){Yn(o);t[u>>2]=0}if(z){k=l;w=0;while(1){_=k+196|0;o=t[_>>2]|0;if(o){b=k+192|0;u=t[b>>2]|0;if(u){d=0;while(1){h=o+12|0;e=t[h>>2]|0;if(e){Yn(e);t[h>>2]=0;u=t[b>>2]|0}d=d+1|0;if(d>>>0>=u>>>0)break;else o=o+16|0}o=t[_>>2]|0}Yn(o);t[_>>2]=0}w=w+1|0;if((w|0)==(z|0))break;else k=k+232|0}}Yn(l);r=0;c=D;return r|0}o=t[l+196>>2]|0;v=t[e+24>>2]|0;t[l+200>>2]=t[T>>2];t[l+204>>2]=t[C>>2];t[l+208>>2]=t[R>>2];t[l+212>>2]=t[P>>2];t[l+224>>2]=t[x>>2];t[l+228>>2]=t[L>>2];t[l+20>>2]=1;t[l+16>>2]=p;t[l+12>>2]=g;t[l+8>>2]=y;_=t[l+192>>2]|0;if(_){k=0;b=v;while(1){h=t[o+12>>2]|0;u=t[A+(k<<2)>>2]|0;t[o>>2]=t[b>>2];t[o+4>>2]=t[b+4>>2];d=t[o+8>>2]|0;if(d){e=0;while(1){t[h>>2]=t[u>>2];t[h+4>>2]=t[u+4>>2];t[h+8>>2]=t[u+8>>2];t[h+12>>2]=t[u+12>>2];e=e+1|0;if(e>>>0>=d>>>0)break;else{u=u+16|0;h=h+16|0}}}k=k+1|0;if(k>>>0>=_>>>0)break;else{o=o+16|0;b=b+52|0}}}if(z>>>0>1){_=l;m=1;do{o=t[_+428>>2]|0;t[_+432>>2]=t[T>>2];t[_+436>>2]=t[C>>2];t[_+440>>2]=t[R>>2];t[_+444>>2]=t[P>>2];t[_+456>>2]=t[x>>2];t[_+460>>2]=t[L>>2];t[_+252>>2]=1;t[_+248>>2]=p;t[_+244>>2]=g;t[_+240>>2]=y;k=t[_+424>>2]|0;if(k){w=0;b=v;while(1){h=t[o+12>>2]|0;u=t[A+(w<<2)>>2]|0;t[o>>2]=t[b>>2];t[o+4>>2]=t[b+4>>2];d=t[o+8>>2]|0;if(d){e=0;while(1){t[h>>2]=t[u>>2];t[h+4>>2]=t[u+4>>2];t[h+8>>2]=t[u+8>>2];t[h+12>>2]=t[u+12>>2];e=e+1|0;if(e>>>0>=d>>>0)break;else{u=u+16|0;h=h+16|0}}}w=w+1|0;if(w>>>0>=k>>>0)break;else{o=o+16|0;b=b+52|0}}}t[_+236>>2]=t[_+4>>2];_=_+232|0;m=m+1|0}while((m|0)!=(z|0))}Yn(E);Yn(A);do{if(f[M+(r*5640|0)+5636>>0]&4){o=n[i>>1]|0;if((o&65535)>2){if(!((s|0)==1|(o&65535)<7))break}else if((s|0)!=1)break;Rr(t[B>>2]|0,r,t[T>>2]|0,t[R>>2]|0,t[C>>2]|0,t[P>>2]|0,t[I>>2]|0,t[x>>2]|0,t[L>>2]|0);r=l;c=D;return r|0}}while(0);y=t[S>>2]|0;g=t[T>>2]|0;p=t[R>>2]|0;v=t[C>>2]|0;m=t[P>>2]|0;w=t[I>>2]|0;k=t[O>>2]|0;_=t[x>>2]|0;b=t[L>>2]|0;o=t[B>>2]|0;h=(t[o+(r*5640|0)+420>>2]|0)+1|0;if(!h){r=l;c=D;return r|0}e=t[o+(r*5640|0)+8>>2]|0;d=t[o+(r*5640|0)+4>>2]|0;o=o+(r*5640|0)+424|0;u=0;while(1){t[o+76>>2]=0;t[o+92>>2]=y;t[o+72>>2]=0;t[o+88>>2]=k;t[o+68>>2]=0;t[o+84>>2]=e;t[o+36>>2]=d;t[o+80>>2]=0;t[o+96>>2]=w;t[o+100>>2]=g;t[o+104>>2]=p;t[o+108>>2]=v;t[o+112>>2]=m;t[o+116>>2]=_;t[o+120>>2]=b;u=u+1|0;if((u|0)==(h|0))break;else o=o+148|0}c=D;return l|0}function Mr(e,i,r,a,s,l,o){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,U=0,j=0,Y=0,q=0,$=0;j=t[i+76>>2]|0;Y=j+(r*5640|0)+424+(a*148|0)+36|0;q=qn(t[Y>>2]|0)|0;t[e+(a*232|0)+40>>2]=1;$=e+(a*232|0)+44|0;t[e+(a*232|0)+80>>2]=t[Y>>2];do{if(f[i+93>>0]&8){u=n[i>>1]|0;if((u&65535)>2){if(!((o|0)==1&(u&65535)>6|(u+-3&65535)<4))break}else if(!((o|0)==1|(u+-3&65535)<4))break;u=l+1|0;e:do{if((u|0)<4){o=j+(r*5640|0)+424+(a*148|0)+72|0;c=j+(r*5640|0)+424+(a*148|0)+88|0;h=e+(a*232|0)+56|0;d=j+(r*5640|0)+424+(a*148|0)+76|0;b=e+(a*232|0)+48|0;_=j+(r*5640|0)+424+(a*148|0)+92|0;k=e+(a*232|0)+60|0;w=j+(r*5640|0)+424+(a*148|0)+68|0;m=e+(a*232|0)+64|0;v=j+(r*5640|0)+424+(a*148|0)+84|0;p=e+(a*232|0)+52|0;g=j+(r*5640|0)+424+(a*148|0)+80|0;y=e+(a*232|0)+68|0;M=j+(r*5640|0)+424+(a*148|0)+96|0;A=e+(a*232|0)+72|0;E=j+(r*5640|0)+424+(a*148|0)+100|0;S=e+(a*232|0)+96|0;T=j+(r*5640|0)+424+(a*148|0)+108|0;R=e+(a*232|0)+104|0;C=j+(r*5640|0)+424+(a*148|0)+104|0;P=e+(a*232|0)+100|0;I=j+(r*5640|0)+424+(a*148|0)+112|0;O=e+(a*232|0)+108|0;while(1){i:do{switch(f[q+u>>0]|0){case 82:{t[$>>2]=t[o>>2];t[h>>2]=t[c>>2];break}case 67:{t[b>>2]=t[d>>2];t[k>>2]=t[_>>2];break}case 76:{t[m>>2]=t[w>>2];t[p>>2]=t[v>>2];break}case 80:if((t[Y>>2]|0)>>>0<2){t[y>>2]=t[g>>2];t[A>>2]=t[M>>2];break i}else{t[S>>2]=t[E>>2];t[R>>2]=t[T>>2];t[P>>2]=t[C>>2];t[O>>2]=t[I>>2];break i}default:{}}}while(0);u=u+1|0;if((u|0)==4)break e}}}while(0);u=(l|0)>-1;if(!s){if(!u)return;h=j+(r*5640|0)+424+(a*148|0)+76|0;d=j+(r*5640|0)+424+(a*148|0)+132|0;b=e+(a*232|0)+48|0;_=e+(a*232|0)+60|0;k=j+(r*5640|0)+424+(a*148|0)+72|0;w=j+(r*5640|0)+424+(a*148|0)+128|0;m=e+(a*232|0)+56|0;v=j+(r*5640|0)+424+(a*148|0)+68|0;p=j+(r*5640|0)+424+(a*148|0)+124|0;g=e+(a*232|0)+64|0;y=e+(a*232|0)+52|0;M=j+(r*5640|0)+424+(a*148|0)+80|0;A=j+(r*5640|0)+424+(a*148|0)+136|0;E=e+(a*232|0)+68|0;S=e+(a*232|0)+72|0;T=j+(r*5640|0)+424+(a*148|0)+100|0;R=j+(r*5640|0)+424+(a*148|0)+140|0;C=j+(r*5640|0)+424+(a*148|0)+108|0;P=j+(r*5640|0)+424+(a*148|0)+144|0;I=e+(a*232|0)+96|0;O=j+(r*5640|0)+424+(a*148|0)+116|0;s=e+(a*232|0)+100|0;x=e+(a*232|0)+104|0;c=j+(r*5640|0)+424+(a*148|0)+120|0;o=e+(a*232|0)+108|0;u=l;while(1){e:do{switch(f[q+u>>0]|0){case 67:{a=t[h>>2]|0;t[b>>2]=a;a=a+1|0;t[_>>2]=a;t[d>>2]=a;break}case 82:{a=t[k>>2]|0;t[$>>2]=a;a=a+1|0;t[m>>2]=a;t[w>>2]=a;break}case 76:{a=t[v>>2]|0;t[g>>2]=a;a=a+1|0;t[y>>2]=a;t[p>>2]=a;break}case 80:if((t[Y>>2]|0)>>>0<2){a=t[M>>2]|0;t[E>>2]=a;a=a+1|0;t[S>>2]=a;t[A>>2]=a;break e}else{a=t[T>>2]|0;l=t[C>>2]|0;t[I>>2]=a;r=t[O>>2]|0;r=r+a-((a>>>0)%(r>>>0)|0)|0;t[s>>2]=r;t[x>>2]=l;a=t[c>>2]|0;a=a+l-((l>>>0)%(a>>>0)|0)|0;t[o>>2]=a;t[R>>2]=r;t[P>>2]=a;break e}default:{}}}while(0);if((u|0)>0)u=u+-1|0;else break}return}if(!u)return;D=j+(r*5640|0)+424+(a*148|0)+128|0;N=j+(r*5640|0)+424+(a*148|0)+88|0;F=j+(r*5640|0)+424+(a*148|0)+72|0;H=e+(a*232|0)+56|0;U=j+(r*5640|0)+424+(a*148|0)+132|0;_=j+(r*5640|0)+424+(a*148|0)+92|0;k=j+(r*5640|0)+424+(a*148|0)+76|0;w=e+(a*232|0)+48|0;m=e+(a*232|0)+60|0;v=j+(r*5640|0)+424+(a*148|0)+124|0;p=j+(r*5640|0)+424+(a*148|0)+84|0;g=j+(r*5640|0)+424+(a*148|0)+68|0;y=e+(a*232|0)+64|0;M=e+(a*232|0)+52|0;A=j+(r*5640|0)+424+(a*148|0)+136|0;E=j+(r*5640|0)+424+(a*148|0)+96|0;S=j+(r*5640|0)+424+(a*148|0)+80|0;T=e+(a*232|0)+68|0;R=e+(a*232|0)+72|0;C=j+(r*5640|0)+424+(a*148|0)+140|0;P=j+(r*5640|0)+424+(a*148|0)+104|0;I=e+(a*232|0)+96|0;O=j+(r*5640|0)+424+(a*148|0)+116|0;s=e+(a*232|0)+100|0;x=j+(r*5640|0)+424+(a*148|0)+144|0;L=j+(r*5640|0)+424+(a*148|0)+112|0;B=e+(a*232|0)+104|0;z=j+(r*5640|0)+424+(a*148|0)+120|0;d=e+(a*232|0)+108|0;b=j+(r*5640|0)+424+(a*148|0)+100|0;h=j+(r*5640|0)+424+(a*148|0)+108|0;c=l;u=1;while(1){o=q+c|0;e:do{switch(f[o>>0]|0){case 67:{l=t[U>>2]|0;t[w>>2]=l+-1;t[m>>2]=l;break}case 82:{l=t[D>>2]|0;t[$>>2]=l+-1;t[H>>2]=l;break}case 76:{l=t[v>>2]|0;t[y>>2]=l+-1;t[M>>2]=l;break}case 80:if((t[Y>>2]|0)>>>0<2){l=t[A>>2]|0;t[T>>2]=l+-1;t[R>>2]=l;break e}else{l=t[C>>2]|0;j=t[O>>2]|0;t[I>>2]=l-j-((l>>>0)%(j>>>0)|0);t[s>>2]=l;l=t[x>>2]|0;j=t[z>>2]|0;t[B>>2]=l-j-((l>>>0)%(j>>>0)|0);t[d>>2]=l;break e}default:{}}}while(0);e:do{if((u|0)==1)switch(f[o>>0]|0){case 82:{u=t[D>>2]|0;if((u|0)!=(t[N>>2]|0)){t[$>>2]=u;u=u+1|0;t[H>>2]=u;t[D>>2]=u;u=0;break e}if(!(Cr(c+-1|0,i,r,a,q)|0)){u=0;break e}u=t[F>>2]|0;t[$>>2]=u;u=u+1|0;t[H>>2]=u;t[D>>2]=u;u=1;break e}case 67:{u=t[U>>2]|0;if((u|0)!=(t[_>>2]|0)){t[w>>2]=u;u=u+1|0;t[m>>2]=u;t[U>>2]=u;u=0;break e}if(!(Cr(c+-1|0,i,r,a,q)|0)){u=0;break e}u=t[k>>2]|0;t[w>>2]=u;u=u+1|0;t[m>>2]=u;t[U>>2]=u;u=1;break e}case 76:{u=t[v>>2]|0;if((u|0)!=(t[p>>2]|0)){t[y>>2]=u;u=u+1|0;t[M>>2]=u;t[v>>2]=u;u=0;break e}if(!(Cr(c+-1|0,i,r,a,q)|0)){u=0;break e}u=t[g>>2]|0;t[y>>2]=u;u=u+1|0;t[M>>2]=u;t[v>>2]=u;u=1;break e}case 80:{if((t[Y>>2]|0)>>>0<2){u=t[A>>2]|0;if((u|0)!=(t[E>>2]|0)){t[T>>2]=u;u=u+1|0;t[R>>2]=u;t[A>>2]=u;u=0;break e}if(!(Cr(c+-1|0,i,r,a,q)|0)){u=0;break e}u=t[S>>2]|0;t[T>>2]=u;u=u+1|0;t[R>>2]=u;t[A>>2]=u;u=1;break e}u=t[C>>2]|0;if(u>>>0<(t[P>>2]|0)>>>0){t[I>>2]=u;l=t[O>>2]|0;u=l+u-((u>>>0)%(l>>>0)|0)|0;t[s>>2]=u;t[C>>2]=u;u=0;break e}o=t[x>>2]|0;if(o>>>0<(t[L>>2]|0)>>>0){t[B>>2]=o;l=t[z>>2]|0;u=0;o=l+o-((o>>>0)%(l>>>0)|0)|0}else{if(!(Cr(c+-1|0,i,r,a,q)|0)){u=0;break e}l=t[h>>2]|0;t[x>>2]=l;t[B>>2]=l;o=t[z>>2]|0;u=1;o=o+l-((l>>>0)%(o>>>0)|0)|0}t[d>>2]=o;t[x>>2]=o;j=t[b>>2]|0;t[I>>2]=j;l=t[O>>2]|0;l=l+j-((j>>>0)%(l>>>0)|0)|0;t[s>>2]=l;t[C>>2]=l;break e}default:{u=1;break e}}}while(0);if((c|0)>0)c=c+-1|0;else break}return}}while(0);t[$>>2]=t[j+(r*5640|0)+424+(a*148|0)+72>>2];t[e+(a*232|0)+56>>2]=t[j+(r*5640|0)+424+(a*148|0)+88>>2];t[e+(a*232|0)+48>>2]=t[j+(r*5640|0)+424+(a*148|0)+76>>2];t[e+(a*232|0)+60>>2]=t[j+(r*5640|0)+424+(a*148|0)+92>>2];t[e+(a*232|0)+64>>2]=t[j+(r*5640|0)+424+(a*148|0)+68>>2];t[e+(a*232|0)+52>>2]=t[j+(r*5640|0)+424+(a*148|0)+84>>2];t[e+(a*232|0)+68>>2]=t[j+(r*5640|0)+424+(a*148|0)+80>>2];t[e+(a*232|0)+72>>2]=t[j+(r*5640|0)+424+(a*148|0)+96>>2];t[e+(a*232|0)+96>>2]=t[j+(r*5640|0)+424+(a*148|0)+100>>2];t[e+(a*232|0)+104>>2]=t[j+(r*5640|0)+424+(a*148|0)+108>>2];t[e+(a*232|0)+100>>2]=t[j+(r*5640|0)+424+(a*148|0)+104>>2];t[e+(a*232|0)+108>>2]=t[j+(r*5640|0)+424+(a*148|0)+112>>2];return}function Ar(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0;L=t[i+76>>2]|0;z=t[i+24>>2]|0;F=(r>>>0)%(z>>>0)|0;z=(r>>>0)/(z>>>0)|0;D=t[i+4>>2]|0;x=t[i+12>>2]|0;O=(ie(x,F)|0)+D|0;N=t[e>>2]|0;N=(O|0)>(N|0)?O:N;D=(ie(x,F+1|0)|0)+D|0;F=t[e+8>>2]|0;F=(D|0)<(F|0)?D:F;D=t[i+8>>2]|0;x=t[i+16>>2]|0;O=(ie(x,z)|0)+D|0;B=t[e+4>>2]|0;B=(O|0)>(B|0)?O:B;D=(ie(x,z+1|0)|0)+D|0;z=t[e+12>>2]|0;z=(D|0)<(z|0)?D:z;D=t[e+16>>2]|0;if(!D){c=0;u=2147483647;o=2147483647;l=0}else{R=z+-1|0;C=F+-1|0;P=B+-1|0;O=N+-1|0;c=0;u=2147483647;o=2147483647;l=0;x=0;S=t[e+24>>2]|0;T=t[L+(r*5640|0)+5584>>2]|0;while(1){M=t[S>>2]|0;A=t[S+4>>2]|0;E=t[T+4>>2]|0;l=E>>>0>l>>>0?E:l;if(E){g=(R+A|0)/(A|0)|0;v=(C+M|0)/(M|0)|0;w=(P+A|0)/(A|0)|0;_=(O+M|0)/(M|0)|0;_=Bl(_|0,((_|0)<0)<<31>>31|0,-1,-1)|0;k=I;w=Bl(w|0,((w|0)<0)<<31>>31|0,-1,-1)|0;m=I;v=Bl(v|0,((v|0)<0)<<31>>31|0,-1,-1)|0;p=I;g=Bl(g|0,((g|0)<0)<<31>>31|0,-1,-1)|0;y=I;i=0;b=0;while(1){h=t[T+812+(b<<2)>>2]|0;d=t[T+944+(b<<2)>>2]|0;a=i+-1+E|0;s=M<>>0>>0?u:s;o=o>>>0>>0?o:H;H=Ll(1,0,a|0)|0;s=I;i=Bl(_|0,k|0,H|0,s|0)|0;i=Ol(i|0,I|0,a|0)|0;n=Bl(w|0,m|0,H|0,s|0)|0;n=Ol(n|0,I|0,a|0)|0;e=Bl(v|0,p|0,H|0,s|0)|0;e=Ol(e|0,I|0,a|0)|0;s=Bl(g|0,y|0,H|0,s|0)|0;a=Ol(s|0,I|0,a|0)|0;s=Ll(1,0,d|0)|0;s=Bl(s|0,I|0,-1,-1)|0;s=Bl(s|0,I|0,a|0,((a|0)<0)<<31>>31|0)|0;s=Ol(s|0,I|0,d|0)|0;if((i|0)==(e|0))i=0;else{H=Ll(1,0,h|0)|0;H=Bl(H|0,I|0,-1,-1)|0;H=Bl(H|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;H=Ol(H|0,I|0,h|0)|0;i=(H<>h<>h}e=ie(i,(n|0)==(a|0)?0:(s<>d<>d)|0;c=e>>>0>c>>>0?e:c;e=b+1|0;if(e>>>0>>0){i=~b;b=e}else break}}x=x+1|0;if(x>>>0>=D>>>0)break;else{S=S+52|0;T=T+1080|0}}}if(f[L+(r*5640|0)+5636>>0]&4){Rr(L,r,N,F,B,z,c,u,o);return}n=(t[L+(r*5640|0)+420>>2]|0)+1|0;if(!n)return;a=t[L+(r*5640|0)+8>>2]|0;s=t[L+(r*5640|0)+4>>2]|0;i=L+(r*5640|0)+424|0;e=0;while(1){t[i+76>>2]=0;t[i+92>>2]=D;t[i+72>>2]=0;t[i+88>>2]=l;t[i+68>>2]=0;t[i+84>>2]=a;t[i+36>>2]=s;t[i+80>>2]=0;t[i+96>>2]=c;t[i+100>>2]=N;t[i+104>>2]=F;t[i+108>>2]=B;t[i+112>>2]=z;t[i+116>>2]=u;t[i+120>>2]=o;e=e+1|0;if((e|0)==(n|0))break;else i=i+148|0}return}function Er(e){e=e|0;var i=0,r=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,U=0,j=0,Y=0,q=0,$=0,V=0,X=0,G=0,K=0,W=0,Z=0,J=0,Q=0,ee=0,re=0,fe=0,ne=0,te=0,ae=0,se=0,le=0,oe=0,ue=0,ce=0,he=0,de=0,be=0,_e=0,ke=0,we=0,me=0,ve=0,pe=0,ge=0,ye=0,Me=0,Ae=0,Ee=0,Se=0,Te=0,Re=0,Ce=0,Pe=0,Ie=0,Oe=0,xe=0,Le=0,Be=0,ze=0,De=0,Ne=0,Fe=0,He=0,Ue=0,je=0,Ye=0,qe=0,$e=0,Ve=0,Xe=0,Ge=0,Ke=0,We=0,Ze=0,Je=0,Qe=0,ei=0,ii=0,ri=0,fi=0,ni=0,ti=0,ai=0,si=0,li=0,oi=0,ui=0,ci=0,hi=0,di=0;switch(t[e+80>>2]|0){case 0:{i=e+40|0;if(!(t[i>>2]|0)){P=e+32|0;c=P;P=t[P>>2]|0;r=18}else{t[i>>2]=0;v=t[e+64>>2]|0;t[e+36>>2]=v;r=5}while(1){if((r|0)==5){if(v>>>0>=(t[e+52>>2]|0)>>>0){di=0;r=153;break}E=t[e+44>>2]|0;t[e+28>>2]=E;r=7}else if((r|0)==18){o=P+1|0;t[c>>2]=o;s=c;r=14}while(1){if((r|0)==7){r=0;if(E>>>0>=(t[e+56>>2]|0)>>>0){r=21;break}S=t[e+48>>2]|0;_=e+24|0;t[_>>2]=S}else if((r|0)==14){if(o>>>0<(t[e+72>>2]|0)>>>0){r=16;break}I=e+24|0;d=I;I=t[I>>2]|0;r=19}while(1){if((r|0)==19){r=0;S=I+1|0;t[d>>2]=S;_=d}if(S>>>0>=(t[e+60>>2]|0)>>>0){r=20;break}T=t[e+196>>2]|0;R=t[e+28>>2]|0;if(R>>>0<(t[T+(S<<4)+8>>2]|0)>>>0)break;else{d=_;I=S;r=19}}if((r|0)==20){r=e+28|0;E=(t[r>>2]|0)+1|0;t[r>>2]=E;r=7;continue}i=t[T+(S<<4)+12>>2]|0;if(!(f[e>>0]|0))t[e+72>>2]=ie(t[i+(R<<4)+12>>2]|0,t[i+(R<<4)+8>>2]|0)|0;o=t[e+68>>2]|0;s=e+32|0;t[s>>2]=o;r=14}if((r|0)==16){r=0;C=ie(t[e+8>>2]|0,t[e+36>>2]|0)|0;C=(ie(t[e+12>>2]|0,t[e+28>>2]|0)|0)+C|0;C=C+(ie(t[e+16>>2]|0,t[e+24>>2]|0)|0)|0;C=C+(ie(t[e+20>>2]|0,o)|0)|0;C=(t[e+4>>2]|0)+(C<<1)|0;if(!(n[C>>1]|0))break;else{c=s;P=o;r=18;continue}}else if((r|0)==21){r=e+36|0;v=(t[r>>2]|0)+1|0;t[r>>2]=v;r=5;continue}}if((r|0)==153)return di|0;n[C>>1]=1;e=1;return e|0}case 1:{i=e+40|0;if(!(t[i>>2]|0)){M=e+32|0;u=M;M=t[M>>2]|0;r=38}else{t[i>>2]=0;O=t[e+44>>2]|0;t[e+28>>2]=O;r=25}while(1){if((r|0)==25){if(O>>>0>=(t[e+56>>2]|0)>>>0){di=0;r=153;break}w=t[e+64>>2]|0;t[e+36>>2]=w;r=27}else if((r|0)==38){l=M+1|0;t[u>>2]=l;a=u;r=34}while(1){if((r|0)==27){r=0;if(w>>>0>=(t[e+52>>2]|0)>>>0){r=41;break}m=t[e+48>>2]|0;b=e+24|0;t[b>>2]=m}else if((r|0)==34){if(l>>>0<(t[e+72>>2]|0)>>>0){r=36;break}A=e+24|0;h=A;A=t[A>>2]|0;r=39}while(1){if((r|0)==39){r=0;m=A+1|0;t[h>>2]=m;b=h}if(m>>>0>=(t[e+60>>2]|0)>>>0){r=40;break}p=t[e+196>>2]|0;g=t[e+28>>2]|0;if(g>>>0<(t[p+(m<<4)+8>>2]|0)>>>0)break;else{h=b;A=m;r=39}}if((r|0)==40){r=e+36|0;w=(t[r>>2]|0)+1|0;t[r>>2]=w;r=27;continue}i=t[p+(m<<4)+12>>2]|0;if(!(f[e>>0]|0))t[e+72>>2]=ie(t[i+(g<<4)+12>>2]|0,t[i+(g<<4)+8>>2]|0)|0;l=t[e+68>>2]|0;a=e+32|0;t[a>>2]=l;r=34}if((r|0)==36){r=0;y=ie(t[e+8>>2]|0,t[e+36>>2]|0)|0;y=(ie(t[e+12>>2]|0,t[e+28>>2]|0)|0)+y|0;y=y+(ie(t[e+16>>2]|0,t[e+24>>2]|0)|0)|0;y=y+(ie(t[e+20>>2]|0,l)|0)|0;y=(t[e+4>>2]|0)+(y<<1)|0;if(!(n[y>>1]|0))break;else{u=a;M=l;r=38;continue}}else if((r|0)==41){r=e+28|0;O=(t[r>>2]|0)+1|0;t[r>>2]=O;r=25;continue}}if((r|0)==153)return di|0;n[y>>1]=1;e=1;return e|0}case 2:{i=e+40|0;if(!(t[i>>2]|0)){ci=e+36|0;$e=ci;ci=t[ci>>2]|0;r=75}else{t[i>>2]=0;b=e+224|0;t[b>>2]=0;_=e+228|0;t[_>>2]=0;k=t[e+192>>2]|0;if(k){w=t[e+196>>2]|0;i=0;r=0;m=0;do{o=t[w+(m<<4)+8>>2]|0;if(o){u=t[w+(m<<4)+12>>2]|0;c=t[w+(m<<4)>>2]|0;h=t[w+(m<<4)+4>>2]|0;d=o+-1|0;a=0;l=0;while(1){s=d+a|0;qe=c<>2]|0);s=h<<(t[u+(l<<4)+4>>2]|0)+s;i=(i|0)==0?qe:i>>>0>>0?i:qe;r=(r|0)==0?s:r>>>0>>0?r:s;s=l+1|0;if((s|0)==(o|0))break;else{a=~l;l=s}}t[b>>2]=i;t[_>>2]=r}m=m+1|0}while((m|0)!=(k|0))}if(!(f[e>>0]|0)){t[e+104>>2]=t[e+204>>2];t[e+96>>2]=t[e+200>>2];t[e+108>>2]=t[e+212>>2];t[e+100>>2]=t[e+208>>2]}B=t[e+44>>2]|0;t[e+28>>2]=B;r=54}while(1){if((r|0)==54){if(B>>>0>=(t[e+56>>2]|0)>>>0){di=0;r=153;break}Ke=t[e+104>>2]|0;t[e+220>>2]=Ke;r=56}else if((r|0)==75){oi=ci+1|0;t[$e>>2]=oi;Ve=$e;r=71}while(1){if((r|0)==56){if((Ke|0)>=(t[e+108>>2]|0)){r=79;break}We=t[e+96>>2]|0;t[e+216>>2]=We;r=58}else if((r|0)==71){if(oi>>>0<(t[e+52>>2]|0)>>>0){r=73;break}hi=e+24|0;Xe=hi;hi=t[hi>>2]|0;r=76}while(1){if((r|0)==58){if((We|0)>=(t[e+100>>2]|0)){r=78;break}Ze=t[e+48>>2]|0;Ge=e+24|0;t[Ge>>2]=Ze}else if((r|0)==76){Ze=hi+1|0;t[Xe>>2]=Ze;Ge=Xe}if(Ze>>>0>=(t[e+60>>2]|0)>>>0){We=t[e+224>>2]|0;r=e+216|0;qe=t[r>>2]|0;We=qe+We-((qe|0)%(We|0)|0)|0;t[r>>2]=We;r=58;continue}r=t[e+196>>2]|0;h=t[e+28>>2]|0;i=t[r+(Ze<<4)+8>>2]|0;if(h>>>0>=i>>>0){Xe=Ge;hi=Ze;r=76;continue}d=t[r+(Ze<<4)+12>>2]|0;l=i+~h|0;o=t[e+200>>2]|0;u=t[r+(Ze<<4)>>2]|0;Je=u<>2]|0;qe=t[r+(Ze<<4)+4>>2]|0;ei=qe<>2]|0)|0)/(Je|0)|0;fi=ei+-1|0;r=(fi+(t[e+212>>2]|0)|0)/(ei|0)|0;ni=t[d+(h<<4)>>2]|0;a=ni+l|0;ti=t[d+(h<<4)+4>>2]|0;s=ti+l|0;ai=t[e+220>>2]|0;if((ai|0)%(qe<>2]|0;if((si|0)%(u<>2]|0;if(!li){Xe=Ge;hi=Ze;r=76;continue}if((ii|0)==(r|0)|((Qe|0)==(i|0)?1:(t[d+(h<<4)+12>>2]|0)==0)){Xe=Ge;hi=Ze;r=76}else{r=70;break}}if((r|0)==70){t[e+32>>2]=(((ri+si|0)/(Je|0)|0)>>ni)-(Qe>>ni)+(ie((((fi+ai|0)/(ei|0)|0)>>ti)-(ii>>ti)|0,li)|0);oi=t[e+64>>2]|0;Ve=e+36|0;t[Ve>>2]=oi;r=71;continue}else if((r|0)==78){Ke=t[e+228>>2]|0;r=e+220|0;qe=t[r>>2]|0;Ke=qe+Ke-((qe|0)%(Ke|0)|0)|0;t[r>>2]=Ke;r=56;continue}}if((r|0)==73){r=0;ui=ie(t[e+8>>2]|0,oi)|0;ui=(ie(t[e+12>>2]|0,t[e+28>>2]|0)|0)+ui|0;ui=ui+(ie(t[e+16>>2]|0,t[e+24>>2]|0)|0)|0;ui=ui+(ie(t[e+20>>2]|0,t[e+32>>2]|0)|0)|0;ui=(t[e+4>>2]|0)+(ui<<1)|0;if(!(n[ui>>1]|0))break;else{$e=Ve;ci=oi;r=75;continue}}else if((r|0)==79){r=e+28|0;B=(t[r>>2]|0)+1|0;t[r>>2]=B;r=54;continue}}if((r|0)==153)return di|0;n[ui>>1]=1;e=1;return e|0}case 3:{r=e+40|0;if(!(t[r>>2]|0)){Ye=t[e+24>>2]|0;ze=e+36|0;_e=ze;ze=t[ze>>2]|0;Fe=Ye;Ye=(t[e+196>>2]|0)+(Ye<<4)|0;r=113}else{t[r>>2]=0;b=e+224|0;t[b>>2]=0;_=e+228|0;t[_>>2]=0;k=t[e+192>>2]|0;if(k){w=t[e+196>>2]|0;i=0;r=0;m=0;do{o=t[w+(m<<4)+8>>2]|0;if(o){u=t[w+(m<<4)+12>>2]|0;c=t[w+(m<<4)>>2]|0;h=t[w+(m<<4)+4>>2]|0;d=o+-1|0;a=0;l=0;while(1){s=d+a|0;hi=c<>2]|0);s=h<<(t[u+(l<<4)+4>>2]|0)+s;i=(i|0)==0?hi:i>>>0>>0?i:hi;r=(r|0)==0?s:r>>>0>>0?r:s;s=l+1|0;if((s|0)==(o|0))break;else{a=~l;l=s}}t[b>>2]=i;t[_>>2]=r}m=m+1|0}while((m|0)!=(k|0))}if(!(f[e>>0]|0)){i=t[e+204>>2]|0;t[e+104>>2]=i;t[e+96>>2]=t[e+200>>2];t[e+108>>2]=t[e+212>>2];t[e+100>>2]=t[e+208>>2]}else i=t[e+104>>2]|0;t[e+220>>2]=i;r=93}while(1){if((r|0)==93){if((i|0)>=(t[e+108>>2]|0)){di=0;r=153;break}ve=t[e+96>>2]|0;t[e+216>>2]=ve;r=95}else if((r|0)==113){xe=ze+1|0;t[_e>>2]=xe;ke=_e;Le=Fe;je=Ye;r=109}while(1){if((r|0)==95){if((ve|0)>=(t[e+100>>2]|0)){r=117;break}pe=t[e+48>>2]|0;t[e+24>>2]=pe;r=97}else if((r|0)==109){if(xe>>>0<(t[e+52>>2]|0)>>>0){r=111;break}De=e+28|0;we=De;De=t[De>>2]|0;He=Le;qe=je;r=114}while(1){if((r|0)==97){if(pe>>>0>=(t[e+60>>2]|0)>>>0){r=116;break}Ue=(t[e+196>>2]|0)+(pe<<4)|0;ge=t[e+44>>2]|0;me=e+28|0;t[me>>2]=ge;Ne=pe}else if((r|0)==114){ge=De+1|0;t[we>>2]=ge;me=we;Ne=He;Ue=qe}hi=t[e+56>>2]|0;r=t[Ue+8>>2]|0;if(ge>>>0>=(hi>>>0>>0?hi:r)>>>0){pe=Ne+1|0;t[e+24>>2]=pe;r=97;continue}d=t[Ue+12>>2]|0;r=r+~ge|0;a=t[e+200>>2]|0;s=t[Ue>>2]|0;ye=s<>2]|0;hi=t[Ue+4>>2]|0;Ae=hi<>2]|0)|0)/(ye|0)|0;Te=Ae+-1|0;u=(Te+(t[e+212>>2]|0)|0)/(Ae|0)|0;Re=t[d+(ge<<4)>>2]|0;c=Re+r|0;Ce=t[d+(ge<<4)+4>>2]|0;h=Ce+r|0;Pe=t[e+220>>2]|0;if((Pe|0)%(hi<>2]|0;if((Ie|0)%(s<>2]|0;if(!Oe){we=me;De=ge;He=Ne;qe=Ue;r=114;continue}if((Ee|0)==(u|0)|((Me|0)==(o|0)?1:(t[d+(ge<<4)+12>>2]|0)==0)){we=me;De=ge;He=Ne;qe=Ue;r=114}else{r=108;break}}if((r|0)==108){t[e+32>>2]=(((Se+Ie|0)/(ye|0)|0)>>Re)-(Me>>Re)+(ie((((Te+Pe|0)/(Ae|0)|0)>>Ce)-(Ee>>Ce)|0,Oe)|0);xe=t[e+64>>2]|0;ke=e+36|0;t[ke>>2]=xe;Le=Ne;je=Ue;r=109;continue}else if((r|0)==116){ve=t[e+224>>2]|0;r=e+216|0;hi=t[r>>2]|0;ve=hi+ve-((hi|0)%(ve|0)|0)|0;t[r>>2]=ve;r=95;continue}}if((r|0)==111){r=0;Be=ie(t[e+8>>2]|0,xe)|0;Be=(ie(t[e+12>>2]|0,t[e+28>>2]|0)|0)+Be|0;Be=Be+(ie(t[e+16>>2]|0,Le)|0)|0;Be=Be+(ie(t[e+20>>2]|0,t[e+32>>2]|0)|0)|0;Be=(t[e+4>>2]|0)+(Be<<1)|0;if(!(n[Be>>1]|0))break;else{_e=ke;ze=xe;Fe=Le;Ye=je;r=113;continue}}else if((r|0)==117){i=t[e+228>>2]|0;r=e+220|0;hi=t[r>>2]|0;i=hi+i-((hi|0)%(i|0)|0)|0;t[r>>2]=i;r=93;continue}}if((r|0)==153)return di|0;n[Be>>1]=1;e=1;return e|0}case 4:{i=e+40|0;if(!(t[i>>2]|0)){de=t[e+24>>2]|0;ne=e+36|0;z=ne;ne=t[ne>>2]|0;ae=de;de=(t[e+196>>2]|0)+(de<<4)|0;r=148}else{t[i>>2]=0;H=t[e+48>>2]|0;t[e+24>>2]=H;r=121}while(1){if((r|0)==121){if(H>>>0>=(t[e+60>>2]|0)>>>0){di=0;r=153;break}i=t[e+196>>2]|0;k=i+(H<<4)|0;b=e+224|0;t[b>>2]=0;_=e+228|0;t[_>>2]=0;c=t[i+(H<<4)+8>>2]|0;if(c){h=t[i+(H<<4)+12>>2]|0;d=t[k>>2]|0;s=t[i+(H<<4)+4>>2]|0;l=c+-1|0;r=0;i=0;a=0;u=0;while(1){o=l+a|0;hi=d<>2]|0);o=s<<(t[h+(u<<4)+4>>2]|0)+o;r=(r|0)==0?hi:r>>>0>>0?r:hi;i=(i|0)==0?o:i>>>0>>0?i:o;o=u+1|0;if((o|0)==(c|0))break;else{a=~u;u=o}}t[b>>2]=r;t[_>>2]=i}if(!(f[e>>0]|0)){i=t[e+204>>2]|0;t[e+104>>2]=i;t[e+96>>2]=t[e+200>>2];t[e+108>>2]=t[e+212>>2];t[e+100>>2]=t[e+208>>2]}else i=t[e+104>>2]|0;t[e+220>>2]=i;x=i;L=H;r=130}else if((r|0)==148){ee=ne+1|0;t[z>>2]=ee;D=z;re=ae;he=de;r=144}while(1){if((r|0)==130){if((x|0)>=(t[e+108>>2]|0)){r=152;break}U=t[e+96>>2]|0;t[e+216>>2]=U;se=L;ue=k;r=132}else if((r|0)==144){if(ee>>>0<(t[e+52>>2]|0)>>>0){r=146;break}te=e+28|0;N=te;te=t[te>>2]|0;oe=re;be=he;r=149}while(1){if((r|0)==132){if((U|0)>=(t[e+100>>2]|0)){r=151;break}j=t[e+44>>2]|0;F=e+28|0;t[F>>2]=j;le=se;ce=ue}else if((r|0)==149){j=te+1|0;t[N>>2]=j;F=N;le=oe;ce=be}hi=t[e+56>>2]|0;i=t[ce+8>>2]|0;if(j>>>0>=(hi>>>0>>0?hi:i)>>>0){U=t[e+224>>2]|0;se=e+216|0;ue=t[se>>2]|0;U=ue+U-((ue|0)%(U|0)|0)|0;t[se>>2]=U;se=le;ue=ce;r=132;continue}h=t[ce+12>>2]|0;i=i+~j|0;r=t[e+200>>2]|0;a=t[ce>>2]|0;Y=a<>2]|0;hi=t[ce+4>>2]|0;$=hi<>2]|0)|0)/(Y|0)|0;G=$+-1|0;o=(G+(t[e+212>>2]|0)|0)/($|0)|0;K=t[h+(j<<4)>>2]|0;u=K+i|0;W=t[h+(j<<4)+4>>2]|0;c=W+i|0;Z=t[e+220>>2]|0;if((Z|0)%(hi<>2]|0;if((J|0)%(a<>2]|0;if(!Q){N=F;te=j;oe=le;be=ce;r=149;continue}if((V|0)==(o|0)|((q|0)==(l|0)?1:(t[h+(j<<4)+12>>2]|0)==0)){N=F;te=j;oe=le;be=ce;r=149}else{r=143;break}}if((r|0)==143){t[e+32>>2]=(((X+J|0)/(Y|0)|0)>>K)-(q>>K)+(ie((((G+Z|0)/($|0)|0)>>W)-(V>>W)|0,Q)|0);ee=t[e+64>>2]|0;D=e+36|0;t[D>>2]=ee;re=le;he=ce;r=144;continue}else if((r|0)==151){x=t[e+228>>2]|0;L=e+220|0;k=t[L>>2]|0;x=k+x-((k|0)%(x|0)|0)|0;t[L>>2]=x;L=se;k=ue;r=130;continue}}if((r|0)==146){r=0;fe=ie(t[e+8>>2]|0,ee)|0;fe=(ie(t[e+12>>2]|0,t[e+28>>2]|0)|0)+fe|0;fe=fe+(ie(t[e+16>>2]|0,re)|0)|0;fe=fe+(ie(t[e+20>>2]|0,t[e+32>>2]|0)|0)|0;fe=(t[e+4>>2]|0)+(fe<<1)|0;if(!(n[fe>>1]|0))break;else{z=D;ne=ee;ae=re;de=he;r=148;continue}}else if((r|0)==152){H=L+1|0;t[e+24>>2]=H;r=121;continue}}if((r|0)==153)return di|0;n[fe>>1]=1;e=1;return e|0}default:{e=0;return e|0}}return 0}function Sr(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0;c=(t[i+(r*5640|0)+420>>2]|0)+1|0;f=Fn(c,232)|0;if(!f){c=0;return c|0}if(!c){c=f;return c|0}o=e+16|0;a=i+(r*5640|0)+5584|0;e=t[o>>2]|0;s=f;l=0;e:while(1){i=Fn(e,16)|0;n=s+196|0;t[n>>2]=i;if(!i){e=5;break}u=t[o>>2]|0;t[s+192>>2]=u;i:do{if(!u)e=0;else{e=(t[a>>2]|0)+4|0;u=Fn(t[e>>2]|0,16)|0;t[i+12>>2]=u;if(!u){e=18;break e}else r=0;while(1){t[i+(r<<4)+8>>2]=t[e>>2];r=r+1|0;e=t[o>>2]|0;if(r>>>0>=e>>>0)break i;i=t[n>>2]|0;e=(t[a>>2]|0)+(r*1080|0)+4|0;u=Fn(t[e>>2]|0,16)|0;t[i+(r<<4)+12>>2]=u;if(!u){e=18;break e}}}}while(0);l=l+1|0;if(l>>>0>=c>>>0){e=32;break}else s=s+232|0}if((e|0)==5){e=f+4|0;i=t[e>>2]|0;if(!i){o=f;u=0}else{Yn(i);t[e>>2]=0;o=f;u=0}while(1){l=o+196|0;e=t[l>>2]|0;if(e){s=o+192|0;i=t[s>>2]|0;if(i){a=0;while(1){r=e+12|0;n=t[r>>2]|0;if(n){Yn(n);t[r>>2]=0;i=t[s>>2]|0}a=a+1|0;if(a>>>0>=i>>>0)break;else e=e+16|0}e=t[l>>2]|0}Yn(e);t[l>>2]=0}u=u+1|0;if((u|0)==(c|0))break;else o=o+232|0}Yn(f);c=0;return c|0}else if((e|0)==18){e=f+4|0;i=t[e>>2]|0;if(!i){o=f;u=0}else{Yn(i);t[e>>2]=0;o=f;u=0}while(1){l=o+196|0;e=t[l>>2]|0;if(e){s=o+192|0;i=t[s>>2]|0;if(i){a=0;while(1){r=e+12|0;n=t[r>>2]|0;if(n){Yn(n);t[r>>2]=0;i=t[s>>2]|0}a=a+1|0;if(a>>>0>=i>>>0)break;else e=e+16|0}e=t[l>>2]|0}Yn(e);t[l>>2]=0}u=u+1|0;if((u|0)==(c|0))break;else o=o+232|0}Yn(f);c=0;return c|0}else if((e|0)==32)return f|0;return 0}function Tr(e,i,r,f,n,a,s,l,o,u,c,h){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;h=h|0;var d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,O=0,x=0,L=0,B=0,z=0;b=t[(t[i+76>>2]|0)+(r*5640|0)+5584>>2]|0;d=t[e+24>>2]|0;L=t[i+24>>2]|0;x=i+12|0;O=(ie(t[x>>2]|0,(r>>>0)%(L>>>0)|0)|0)+(t[i+4>>2]|0)|0;P=t[e>>2]|0;t[f>>2]=O>>>0>P>>>0?O:P;O=Bl(t[x>>2]|0,0,O|0,0)|0;O=O|0-I;x=t[e+8>>2]|0;t[n>>2]=O>>>0>>0?O:x;x=i+16|0;L=(ie(t[x>>2]|0,(r>>>0)/(L>>>0)|0)|0)+(t[i+8>>2]|0)|0;O=t[e+4>>2]|0;t[a>>2]=L>>>0>O>>>0?L:O;L=Bl(t[x>>2]|0,0,L|0,0)|0;L=L|0-I;x=t[e+12>>2]|0;t[s>>2]=L>>>0>>0?L:x;t[u>>2]=0;t[c>>2]=0;t[l>>2]=2147483647;t[o>>2]=2147483647;x=e+16|0;if(!(t[x>>2]|0))return;else L=0;while(1){w=t[h+(L<<2)>>2]|0;_=t[d>>2]|0;e=((t[f>>2]|0)+-1+_|0)/(_|0)|0;P=d+4|0;k=t[P>>2]|0;r=((t[a>>2]|0)+-1+k|0)/(k|0)|0;_=(_+-1+(t[n>>2]|0)|0)/(_|0)|0;k=(k+-1+(t[s>>2]|0)|0)/(k|0)|0;O=b+4|0;i=t[O>>2]|0;if(i>>>0>(t[c>>2]|0)>>>0){t[c>>2]=i;i=t[O>>2]|0}if(i){R=Bl(e|0,((e|0)<0)<<31>>31|0,-1,-1)|0;C=I;S=Bl(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;T=I;A=Bl(_|0,((_|0)<0)<<31>>31|0,-1,-1)|0;E=I;y=Bl(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;M=I;g=0;while(1){i=i+-1|0;_=t[b+812+(g<<2)>>2]|0;p=t[b+944+(g<<2)>>2]|0;t[w>>2]=_;t[w+4>>2]=p;m=t[d>>2]<<_+i;B=t[P>>2]<>2]|0;t[l>>2]=(e|0)<(m|0)?e:m;m=t[o>>2]|0;t[o>>2]=(m|0)<(B|0)?m:B;B=Ll(1,0,i|0)|0;m=I;e=Bl(R|0,C|0,B|0,m|0)|0;e=Ol(e|0,I|0,i|0)|0;k=Bl(S|0,T|0,B|0,m|0)|0;k=Ol(k|0,I|0,i|0)|0;r=Bl(A|0,E|0,B|0,m|0)|0;r=Ol(r|0,I|0,i|0)|0;m=Bl(y|0,M|0,B|0,m|0)|0;m=Ol(m|0,I|0,i|0)|0;B=Ll(1,0,p|0)|0;v=I;z=Bl(m|0,((m|0)<0)<<31>>31|0,-1,-1)|0;v=Bl(z|0,I|0,B|0,v|0)|0;v=Ol(v|0,I|0,p|0)|0;if((e|0)==(r|0))e=0;else{r=Bl(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;B=I;z=Ll(1,0,_|0)|0;z=Bl(r|0,B|0,z|0,I|0)|0;z=Ol(z|0,I|0,_|0)|0;e=(z<<_)-(e>>_<<_)>>_}z=(k|0)==(m|0)?0:(v<>p<>p;t[w+8>>2]=e;t[w+12>>2]=z;e=ie(e,z)|0;if(e>>>0>(t[u>>2]|0)>>>0)t[u>>2]=e;g=g+1|0;if(g>>>0>=(t[O>>2]|0)>>>0)break;else w=w+16|0}}L=L+1|0;if(L>>>0>=(t[x>>2]|0)>>>0)break;else{d=d+52|0;b=b+1080|0}}return}function Rr(e,i,r,f,n,a,s,l,o){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,c=0;u=(t[e+(i*5640|0)+420>>2]|0)+1|0;t[e+(i*5640|0)+500>>2]=t[e+(i*5640|0)+428>>2];t[e+(i*5640|0)+516>>2]=t[e+(i*5640|0)+440>>2];t[e+(i*5640|0)+496>>2]=t[e+(i*5640|0)+424>>2];t[e+(i*5640|0)+512>>2]=t[e+(i*5640|0)+436>>2];t[e+(i*5640|0)+508>>2]=t[e+(i*5640|0)+432>>2];t[e+(i*5640|0)+492>>2]=0;t[e+(i*5640|0)+460>>2]=t[e+(i*5640|0)+456>>2];t[e+(i*5640|0)+504>>2]=0;t[e+(i*5640|0)+520>>2]=s;t[e+(i*5640|0)+524>>2]=r;t[e+(i*5640|0)+528>>2]=f;t[e+(i*5640|0)+532>>2]=n;t[e+(i*5640|0)+536>>2]=a;t[e+(i*5640|0)+540>>2]=l;t[e+(i*5640|0)+544>>2]=o;if(u>>>0<=1)return;e=e+(i*5640|0)+572|0;i=1;while(1){t[e+76>>2]=t[e+4>>2];t[e+92>>2]=t[e+16>>2];t[e+72>>2]=t[e>>2];t[e+88>>2]=t[e+12>>2];c=t[e+8>>2]|0;t[e+84>>2]=c;t[e+36>>2]=t[e+32>>2];t[e+80>>2]=0;t[e+68>>2]=c>>>0>(t[e+-64>>2]|0)>>>0?c:0;t[e+96>>2]=s;t[e+100>>2]=r;t[e+104>>2]=f;t[e+108>>2]=n;t[e+112>>2]=a;t[e+116>>2]=l;t[e+120>>2]=o;i=i+1|0;if((i|0)==(u|0))break;else e=e+148|0}return}function Cr(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0;o=t[i+76>>2]|0;if((e|0)>-1)s=e;else{r=0;return r|0}e:while(1){switch(f[a+s>>0]|0){case 82:{l=3;break e}case 67:{l=5;break e}case 76:{l=7;break e}case 80:{l=9;break e}default:{}}s=s+-1|0}if((l|0)==3)if((t[o+(r*5640|0)+424+(n*148|0)+128>>2]|0)==(t[o+(r*5640|0)+424+(n*148|0)+88>>2]|0))return(Cr(e+-1|0,i,r,n,a)|0)!=0|0;else{r=1;return r|0}else if((l|0)==5)if((t[o+(r*5640|0)+424+(n*148|0)+132>>2]|0)==(t[o+(r*5640|0)+424+(n*148|0)+92>>2]|0))return(Cr(e+-1|0,i,r,n,a)|0)!=0|0;else{r=1;return r|0}else if((l|0)==7)if((t[o+(r*5640|0)+424+(n*148|0)+124>>2]|0)==(t[o+(r*5640|0)+424+(n*148|0)+84>>2]|0))return(Cr(e+-1|0,i,r,n,a)|0)!=0|0;else{r=1;return r|0}else if((l|0)==9){if((t[o+(r*5640|0)+424+(n*148|0)+36>>2]|0)>>>0<2)if((t[o+(r*5640|0)+424+(n*148|0)+136>>2]|0)==(t[o+(r*5640|0)+424+(n*148|0)+96>>2]|0))return(Cr(s+-1|0,i,r,n,a)|0)!=0|0;else{r=1;return r|0}if((t[o+(r*5640|0)+424+(n*148|0)+140>>2]|0)!=(t[o+(r*5640|0)+424+(n*148|0)+104>>2]|0)){r=1;return r|0}if((t[o+(r*5640|0)+424+(n*148|0)+144>>2]|0)==(t[o+(r*5640|0)+424+(n*148|0)+112>>2]|0))return(Cr(s+-1|0,i,r,n,a)|0)!=0|0;else{r=1;return r|0}}return 0}function Pr(e){e=e|0;var i=0,r=0;i=Fn(1,44)|0;if(!i){e=0;return e|0}r=i+40|0;f[r>>0]=f[r>>0]&-2|(e|0)!=0;e=Fn(1,4)|0;t[i+20>>2]=e;if(e){r=i;return r|0}Yn(i);r=0;return r|0}function Ir(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0.0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0;H=c;c=c+1200|0;F=H;f=t[t[e+20>>2]>>2]|0;N=f+16|0;n=t[N>>2]|0;if(!n){c=H;return}B=f+20|0;z=(t[e+32>>2]|0)+8|0;D=(t[e+28>>2]|0)+88|0;x=e+24|0;L=(i|0)==0;I=(r|0)==0;O=i+-1|0;f=n;P=0;do{l=t[B>>2]|0;o=t[z>>2]|0;R=t[l+(P*52|0)+16>>2]|0;if(o){if(R){e=t[D>>2]|0;a=+((t[(t[(t[x>>2]|0)+24>>2]|0)+(P*52|0)+24>>2]|0)>>>0)*.0625;n=0;do{r=ie(R,n)|0;s=0;do{C=(r+s|0)*3|0;t[F+(n*120|0)+(s*12|0)>>2]=~~(+(t[e+(C<<2)>>2]|0)*a);t[F+(n*120|0)+(s*12|0)+4>>2]=~~(+(t[e+(C+1<<2)>>2]|0)*a);t[F+(n*120|0)+(s*12|0)+8>>2]=~~(+(t[e+(C+2<<2)>>2]|0)*a);s=s+1|0}while(s>>>0>>0);n=n+1|0}while(n>>>0>>0);C=9}}else C=9;if((C|0)==9){C=0;if(R){y=l+(P*52|0)+24|0;T=0;do{M=t[y>>2]|0;A=M+(T*136|0)+24|0;f=t[A>>2]|0;if(f){E=M+(T*136|0)+16|0;S=M+(T*136|0)+20|0;e=t[S>>2]|0;r=t[E>>2]|0;g=0;do{if(ie(e,r)|0){m=M+(T*136|0)+28+(g*36|0)+20|0;v=F+(i*120|0)+(T*12|0)+(g<<2)|0;p=F+(O*120|0)+(T*12|0)+(g<<2)|0;w=0;do{f=t[m>>2]|0;k=ie(t[f+(w*40|0)+20>>2]|0,t[f+(w*40|0)+16>>2]|0)|0;if(k){h=f+(w*40|0)+24|0;d=t[v>>2]|0;_=0;do{o=t[h>>2]|0;u=o+(_*52|0)|0;b=t[o+(_*52|0)+4>>2]|0;f=(t[(t[(t[x>>2]|0)+24>>2]|0)+(P*52|0)+24>>2]|0)-(t[o+(_*52|0)+28>>2]|0)|0;if(!L){e=t[p>>2]|0;r=d-e|0;if((e|0)<=(f|0)){r=r+(e-f)|0;r=(r|0)<0?0:r}}else{t[o+(_*52|0)+44>>2]=0;r=(d|0)>(f|0)?d-f|0:0}l=o+(_*52|0)+44|0;n=t[l>>2]|0;s=(n|0)==0;if(s)if(!r)r=0;else r=(r*3|0)+-2|0;else r=(r*3|0)+n|0;t[b+(i*24|0)>>2]=r-n;do{if((r|0)!=(n|0)){e=t[o+(_*52|0)+8>>2]|0;f=t[e+((r+-1|0)*24|0)>>2]|0;if(s)t[b+(i*24|0)+16>>2]=t[u>>2];else{o=t[e+((n+-1|0)*24|0)>>2]|0;t[b+(i*24|0)+16>>2]=(t[u>>2]|0)+o;f=f-o|0}t[b+(i*24|0)+4>>2]=f;if(I)break;t[l>>2]=r}}while(0);_=_+1|0}while(_>>>0>>0);e=t[S>>2]|0;r=t[E>>2]|0}w=w+1|0}while(w>>>0<(ie(e,r)|0)>>>0);f=t[A>>2]|0}g=g+1|0}while(g>>>0>>0)}T=T+1|0}while(T>>>0>>0);f=t[N>>2]|0}}P=P+1|0}while(P>>>0>>0);c=H;return}function Or(e,i,r,f){e=e|0;i=i|0;r=+r;f=f|0;var n=0,a=0.0,s=0,l=0,o=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0;e=t[t[e+20>>2]>>2]|0;O=e+40+(i<<3)|0;u[O>>3]=0.0;x=e+16|0;n=t[x>>2]|0;if(!n)return;P=e+20|0;I=(i|0)==0;C=(f|0)==0;e=n;R=0;do{n=t[P>>2]|0;T=t[n+(R*52|0)+16>>2]|0;if(T){g=n+(R*52|0)+24|0;S=0;do{y=t[g>>2]|0;M=y+(S*136|0)+24|0;e=t[M>>2]|0;if(e){A=y+(S*136|0)+16|0;E=y+(S*136|0)+20|0;n=t[E>>2]|0;f=t[A>>2]|0;p=0;do{if(ie(n,f)|0){v=y+(S*136|0)+28+(p*36|0)+20|0;m=0;do{e=t[v>>2]|0;w=ie(t[e+(m*40|0)+20>>2]|0,t[e+(m*40|0)+16>>2]|0)|0;if(w){d=e+(m*40|0)+24|0;k=0;do{o=t[d>>2]|0;c=o+(k*52|0)|0;b=t[o+(k*52|0)+4>>2]|0;_=o+(k*52|0)+44|0;if(I){t[_>>2]=0;h=0}else h=t[_>>2]|0;f=t[o+(k*52|0)+48>>2]|0;if(h>>>0>>0){s=t[o+(k*52|0)+8>>2]|0;e=h;l=h;do{n=t[s+(l*24|0)>>2]|0;a=+u[s+(l*24|0)+8>>3];if(e){B=e+-1|0;a=a-+u[s+(B*24|0)+8>>3];n=n-(t[s+(B*24|0)>>2]|0)|0}do{if(!n){if(!(a!=0.0))break;e=l+1|0}else{if(!(r-a/+(n>>>0)<2.220446049250313e-16))break;e=l+1|0}}while(0);l=l+1|0}while(l>>>0>>0);s=e;t[b+(i*24|0)>>2]=s-h;if((s|0)!=(h|0)){f=s+-1|0;n=t[o+(k*52|0)+8>>2]|0;e=t[n+(f*24|0)>>2]|0;if(!h){t[b+(i*24|0)+16>>2]=t[c>>2];a=+u[n+(f*24|0)+8>>3]}else{h=h+-1|0;B=t[n+(h*24|0)>>2]|0;t[b+(i*24|0)+16>>2]=(t[c>>2]|0)+B;a=+u[n+(f*24|0)+8>>3]-+u[n+(h*24|0)+8>>3];e=e-B|0}t[b+(i*24|0)+4>>2]=e;u[b+(i*24|0)+8>>3]=a;u[O>>3]=a+ +u[O>>3];if(!C)t[_>>2]=s}else L=26}else{t[b+(i*24|0)>>2]=0;L=26}if((L|0)==26){L=0;u[b+(i*24|0)+8>>3]=0.0}k=k+1|0}while(k>>>0>>0);n=t[E>>2]|0;f=t[A>>2]|0}m=m+1|0}while(m>>>0<(ie(n,f)|0)>>>0);e=t[M>>2]|0}p=p+1|0}while(p>>>0>>0)}S=S+1|0}while(S>>>0>>0);e=t[x>>2]|0}R=R+1|0}while(R>>>0>>0);return}function xr(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,h=0,d=0.0,b=0.0,_=0.0,k=0.0,w=0.0,m=0.0,v=0,p=0,g=0,y=0,M=0.0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0.0,z=0,D=0,N=0,F=0,H=0,U=0,j=0,Y=0,$=0,V=0,X=0,G=0,K=0;G=c;c=c+800|0;X=G;Y=t[e+28>>2]|0;$=t[t[e+20>>2]>>2]|0;V=t[e+32>>2]|0;H=$+24|0;t[H>>2]=0;U=t[$+16>>2]|0;if(!U){l=0;B=0.0;d=0.0;_=1797693134862315708145274.0e284}else{N=t[$+20>>2]|0;F=t[(t[e+24>>2]|0)+24>>2]|0;l=0;j=0;b=0.0;d=0.0;_=1797693134862315708145274.0e284;do{L=N+(j*52|0)+48|0;t[L>>2]=0;z=t[N+(j*52|0)+16>>2]|0;if(!z)h=0;else{D=t[N+(j*52|0)+24>>2]|0;h=0;x=0;do{P=t[D+(x*136|0)+24>>2]|0;if(P){I=ie(t[D+(x*136|0)+20>>2]|0,t[D+(x*136|0)+16>>2]|0)|0;O=(I|0)==0;C=0;do{if(!O){R=t[D+(x*136|0)+28+(C*36|0)+20>>2]|0;T=0;do{E=ie(t[R+(T*40|0)+20>>2]|0,t[R+(T*40|0)+16>>2]|0)|0;if(E){S=t[R+(T*40|0)+24>>2]|0;A=0;do{g=t[S+(A*52|0)+48>>2]|0;if(g){y=t[S+(A*52|0)+8>>2]|0;p=0;do{v=t[y+(p*24|0)>>2]|0;k=+u[y+(p*24|0)+8>>3];if(p){K=p+-1|0;k=k-+u[y+(K*24|0)+8>>3];v=v-(t[y+(K*24|0)>>2]|0)|0}do{if(v){k=k/+(v|0);_=k<_?k:_;if(!(k>b))break;b=k}}while(0);p=p+1|0}while(p>>>0>>0)}K=ie((t[S+(A*52|0)+24>>2]|0)-(t[S+(A*52|0)+16>>2]|0)|0,(t[S+(A*52|0)+20>>2]|0)-(t[S+(A*52|0)+12>>2]|0)|0)|0;l=K+l|0;h=K+h|0;A=A+1|0}while(A>>>0>>0);t[H>>2]=l;t[L>>2]=h}T=T+1|0}while(T>>>0>>0)}C=C+1|0}while(C>>>0

>>0)}x=x+1|0}while(x>>>0>>0)}B=+(1<>2]|0)+-1.0;d=d+ +(h|0)*(B*B);j=j+1|0}while(j>>>0>>0);B=b}L=(s|0)!=0;if(L){j=t[e+36>>2]|0;U=t[s+88>>2]|0;t[U+(j*592|0)+552>>2]=l;u[U+(j*592|0)+560>>3]=+u[$+32>>3];l=V+8|0;K=Nn(t[l>>2]<<3)|0;t[U+(j*592|0)>>2]=K;if(!K){K=0;c=G;return K|0}}else l=V+8|0;if(!(t[l>>2]|0)){K=1;c=G;return K|0}E=$+32|0;S=Y+93|0;T=e+36|0;R=s+88|0;C=$+40|0;P=e+24|0;I=e+8|0;O=e+16|0;x=0;while(1){b=+o[V+20+(x<<2)>>2];if(b!=0.0){y=~~+ee(+b)>>>0;y=y>>>0>>0?y:a}else y=a;m=+o[V+5184+(x<<2)>>2];M=+u[E>>3]-d/+q(10.0,+(m/10.0));K=f[S>>0]|0;if(!((K&1)!=0&b>0.0)?!((K&4)!=0&m>0.0):0)b=_;else{A=Ga(t[P>>2]|0,Y)|0;if(!A){l=0;h=57;break}g=x+1|0;h=X+(x+-1<<3)|0;v=$+40+(x<<3)|0;if(!x){w=B;h=0;m=_;k=0.0;do{b=(m+w)*.5;Or(e,0,b,0);do{if(f[S>>0]&4){if(((n[Y>>1]|0)+-3&65535)>=4){K=+u[C>>3]>2]|0,$,g,i,r,y,s,t[I>>2]|0,t[e>>2]|0,t[O>>2]|0,0)|0))m=b;else{K=+u[C>>3]>2]|0,$,g,i,r,y,s,t[I>>2]|0,t[e>>2]|0,t[O>>2]|0,0)|0)==0;w=K?w:b;m=K?b:m;k=K?k:b}}while(0);h=h+1|0}while((h|0)!=128)}else{w=B;p=0;m=_;k=0.0;do{b=(m+w)*.5;Or(e,x,b,0);do{if(f[S>>0]&4){if(((n[Y>>1]|0)+-3&65535)>=4){K=+u[h>>3]+ +u[v>>3]>2]|0,$,g,i,r,y,s,t[I>>2]|0,t[e>>2]|0,t[O>>2]|0,0)|0))m=b;else{K=+u[h>>3]+ +u[v>>3]>2]|0,$,g,i,r,y,s,t[I>>2]|0,t[e>>2]|0,t[O>>2]|0,0)|0)==0;w=K?w:b;m=K?b:m;k=K?k:b}}while(0);p=p+1|0}while((p|0)!=128)}Ka(A);b=k==0.0?b:k}if(L)u[(t[(t[R>>2]|0)+((t[T>>2]|0)*592|0)>>2]|0)+(x<<3)>>3]=b;Or(e,x,b,1);if(!x)b=+u[C>>3];else b=+u[X+(x+-1<<3)>>3]+ +u[$+40+(x<<3)>>3];u[X+(x<<3)>>3]=b;x=x+1|0;if(x>>>0>=(t[l>>2]|0)>>>0){l=1;h=57;break}}if((h|0)==57){c=G;return l|0}return 0}function Lr(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0;t[e+24>>2]=i;t[e+28>>2]=r;n=Fn(1,848)|0;f=e+20|0;t[t[f>>2]>>2]=n;if(!n){e=0;return e|0}n=i+16|0;a=Fn(t[n>>2]|0,52)|0;i=t[t[f>>2]>>2]|0;t[i+20>>2]=a;if(!a){a=0;return a|0}t[i+16>>2]=t[n>>2];t[e>>2]=t[r+84>>2];a=1;return a|0}function Br(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0;if(!e)return;m=e+20|0;i=t[m>>2]|0;do{if(i){w=(f[e+40>>0]&1)==0?3:4;r=t[i>>2]|0;if(r){b=r+20|0;u=r+16|0;if(t[u>>2]|0){h=0;d=t[b>>2]|0;while(1){c=d+24|0;i=t[c>>2]|0;if(i){l=t[d+28>>2]|0;o=(l>>>0)/136|0;if(l>>>0>135){l=0;while(1){s=i+48|0;r=t[s>>2]|0;if(r){n=t[i+52>>2]|0;a=(n>>>0)/40|0;if(n>>>0>39){n=0;while(1){v=r+32|0;fa(t[v>>2]|0);t[v>>2]=0;v=r+36|0;fa(t[v>>2]|0);t[v>>2]=0;yo[w&7](r);n=n+1|0;if(n>>>0>=a>>>0)break;else r=r+40|0}r=t[s>>2]|0}Yn(r);t[s>>2]=0}s=i+84|0;r=t[s>>2]|0;if(r){v=t[i+88>>2]|0;a=(v>>>0)/40|0;if(v>>>0>39){n=0;while(1){v=r+32|0;fa(t[v>>2]|0);t[v>>2]=0;v=r+36|0;fa(t[v>>2]|0);t[v>>2]=0;yo[w&7](r);n=n+1|0;if(n>>>0>=a>>>0)break;else r=r+40|0}r=t[s>>2]|0}Yn(r);t[s>>2]=0}s=i+120|0;r=t[s>>2]|0;if(r){v=t[i+124>>2]|0;a=(v>>>0)/40|0;if(v>>>0>39){n=0;while(1){v=r+32|0;fa(t[v>>2]|0);t[v>>2]=0;v=r+36|0;fa(t[v>>2]|0);t[v>>2]=0;yo[w&7](r);n=n+1|0;if(n>>>0>=a>>>0)break;else r=r+40|0}r=t[s>>2]|0}Yn(r);t[s>>2]=0}l=l+1|0;if(l>>>0>=o>>>0)break;else i=i+136|0}i=t[c>>2]|0}Yn(i);t[c>>2]=0}if((t[d+36>>2]|0)!=0?(_=d+32|0,k=t[_>>2]|0,(k|0)!=0):0){Un(k);t[_>>2]=0;t[_+4>>2]=0;t[_+8>>2]=0;t[_+12>>2]=0}h=h+1|0;if(h>>>0>=(t[u>>2]|0)>>>0)break;else d=d+52|0}}Yn(t[b>>2]|0);t[b>>2]=0;Yn(t[t[m>>2]>>2]|0);i=t[m>>2]|0;t[i>>2]=0;if(!i)break}Yn(i);t[m>>2]=0}}while(0);Yn(e);return}function zr(e){e=e|0;var i=0,r=0,f=0,n=0,a=0;f=e+32|0;n=t[f>>2]|0;i=e+40|0;r=t[i>>2]|0;if(n){a=e+44|0;if(r>>>0<=(t[a>>2]|0)>>>0){e=1;return e|0}if(t[e+36>>2]|0){Un(n);n=Hn(t[i>>2]|0)|0;t[f>>2]=n;if(!n){t[a>>2]=0;t[i>>2]=0;t[e+36>>2]=0;e=0;return e|0}else{t[a>>2]=t[i>>2];t[e+36>>2]=1;e=1;return e|0}}}a=Hn(r)|0;t[f>>2]=a;if(!a){e=0;return e|0}t[e+44>>2]=t[i>>2];t[e+36>>2]=1;e=1;return e|0}function Dr(e,i,r){e=e|0;i=i|0;r=r|0;return Xr(e,i,1,1.0,52,r)|0}function Nr(e,i,r){e=e|0;i=i|0;r=r|0;return Xr(e,i,0,.5,56,r)|0}function Fr(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0,l=0;r=t[e+24>>2]|0;n=t[r+16>>2]|0;if(!n){a=0;return a|0}a=0;i=0;f=t[r+24>>2]|0;r=t[(t[t[e+20>>2]>>2]|0)+20>>2]|0;while(1){l=t[f+24>>2]|0;l=((l&7|0)!=0&1)+(l>>>3)|0;s=t[r+24>>2]|0;e=(t[r+20>>2]|0)+-1|0;i=(ie(ie((l|0)==3?4:l,(t[s+(e*136|0)+8>>2]|0)-(t[s+(e*136|0)>>2]|0)|0)|0,(t[s+(e*136|0)+12>>2]|0)-(t[s+(e*136|0)+4>>2]|0)|0)|0)+i|0;a=a+1|0;if(a>>>0>=n>>>0)break;else{f=f+52|0;r=r+52|0}}return i|0}function Hr(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0;A=c;c=c+16|0;y=A;if(!(t[e+8>>2]|0)){t[e+36>>2]=i;p=e+28|0;l=t[(t[p>>2]|0)+76>>2]|0;M=e+32|0;t[M>>2]=l+(i*5640|0);g=(s|0)==0;v=e+20|0;if(!g){o=t[(t[t[v>>2]>>2]|0)+20>>2]|0;b=t[l+(i*5640|0)+5584>>2]|0;_=o+16|0;if(!(t[_>>2]|0)){o=s+88|0;l=0}else{u=t[o+24>>2]|0;o=s+88|0;h=t[o>>2]|0;d=0;l=0;do{m=u+(d*136|0)+16|0;t[h+(i*592|0)+20+(d<<2)>>2]=t[m>>2];w=u+(d*136|0)+20|0;t[h+(i*592|0)+152+(d<<2)>>2]=t[w>>2];l=(ie(t[w>>2]|0,t[m>>2]|0)|0)+l|0;t[h+(i*592|0)+284+(d<<2)>>2]=t[b+812+(d<<2)>>2];t[h+(i*592|0)+416+(d<<2)>>2]=t[b+944+(d<<2)>>2];d=d+1|0}while(d>>>0<(t[_>>2]|0)>>>0)}m=Fn(ie(ie(t[s+52>>2]|0,l)|0,t[s+56>>2]|0)|0,32)|0;t[(t[o>>2]|0)+(i*592|0)+548>>2]=m;if(!m){e=0;c=A;return e|0}}l=t[t[v>>2]>>2]|0;m=l+16|0;if(!(t[m>>2]|0)){d=t[M>>2]|0;u=0;o=t[l+20>>2]|0}else{d=t[M>>2]|0;o=t[l+20>>2]|0;i=0;k=t[d+5584>>2]|0;w=o;while(1){b=t[w+32>>2]|0;_=ie((t[w+12>>2]|0)-(t[w+4>>2]|0)|0,(t[w+8>>2]|0)-(t[w>>2]|0)|0)|0;l=(_|0)==0;if((t[k+20>>2]|0)==1){if(!l){u=k+1076|0;h=0;l=b;while(1){t[l>>2]=(t[l>>2]|0)-(t[u>>2]|0);h=h+1|0;if((h|0)==(_|0))break;else l=l+4|0}}}else if(!l){u=k+1076|0;h=0;l=b;while(1){t[l>>2]=(t[l>>2]|0)-(t[u>>2]|0)<<11;h=h+1|0;if((h|0)==(_|0))break;else l=l+4|0}}i=i+1|0;u=t[m>>2]|0;if(i>>>0>=u>>>0)break;else{k=k+1080|0;w=w+52|0}}}b=ie((t[o+12>>2]|0)-(t[o+4>>2]|0)|0,(t[o+8>>2]|0)-(t[o>>2]|0)|0)|0;e:do{switch(t[d+16>>2]|0){case 0:break;case 2:{if(t[d+5608>>2]|0){h=Nn(u<<2)|0;if(!h){e=0;c=A;return e|0}l=t[m>>2]|0;if(!l)l=0;else{u=0;while(1){t[h+(u<<2)>>2]=t[o+32>>2];u=u+1|0;if((u|0)==(l|0))break;else o=o+52|0}}m=(wr(t[(t[M>>2]|0)+5608>>2]|0,b,h,l,t[(t[(t[e+24>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Yn(h);if(m){e=0;c=A;return e|0}}break}default:{u=t[o+32>>2]|0;h=t[o+84>>2]|0;l=t[o+136>>2]|0;if(!(t[(t[d+5584>>2]|0)+20>>2]|0)){_r(u,h,l,b);break e}else{dr(u,h,l,b);break e}}}}while(0);l=t[t[v>>2]>>2]|0;o=l+16|0;e:do{if(t[o>>2]|0){u=0;h=t[(t[M>>2]|0)+5584>>2]|0;l=t[l+20>>2]|0;i:while(1){switch(t[h+20>>2]|0){case 1:{if(!(ya(l)|0)){l=0;o=54;break i}break}case 0:{if(!(Sa(l)|0)){l=0;o=54;break i}break}default:{}}u=u+1|0;if(u>>>0>=(t[o>>2]|0)>>>0)break e;else{h=h+1080|0;l=l+52|0}}if((o|0)==54){c=A;return l|0}}}while(0);l=t[M>>2]|0;o=Fa(1)|0;if(!o){e=0;c=A;return e|0}do{if((t[l+16>>2]|0)==1)if(!(t[(t[l+5584>>2]|0)+20>>2]|0)){u=hr()|0;h=3;break}else{u=cr()|0;h=3;break}else{u=t[l+5600>>2]|0;h=t[(t[e+24>>2]|0)+16>>2]|0}}while(0);v=ja(o,t[t[v>>2]>>2]|0,l,u,h)|0;Ha(o);if(!v){e=0;c=A;return e|0}l=t[p>>2]|0;t[y>>2]=0;if(!g)t[s+12>>2]=0;if(!(f[l+93>>0]&5)){if(t[(t[M>>2]|0)+8>>2]|0){l=0;do{Ir(e,l,1);l=l+1|0}while(l>>>0<(t[(t[M>>2]|0)+8>>2]|0)>>>0)}}else if(!(xr(e,r,y,a,s)|0)){e=0;c=A;return e|0}}if(s)t[s+12>>2]=1;l=Ga(t[e+24>>2]|0,t[e+28>>2]|0)|0;if(!l)l=1;else{e=Va(l,t[e+36>>2]|0,t[t[e+20>>2]>>2]|0,t[(t[e+32>>2]|0)+8>>2]|0,r,n,a,s,t[e+4>>2]|0,t[e>>2]|0,t[e+16>>2]|0,1)|0;Ka(l);l=(e|0)==0}e=l&1^1;c=A;return e|0}function Ur(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0;p=c;c=c+16|0;h=p+8|0;u=p;l=p+12|0;s=e+36|0;t[s>>2]=f;v=t[e+28>>2]|0;_=e+32|0;t[_>>2]=(t[v+76>>2]|0)+(f*5640|0);t[l>>2]=0;b=e+24|0;f=Ga(t[b>>2]|0,v)|0;if(!f){v=0;c=p;return v|0}d=e+20|0;v=Xa(f,t[s>>2]|0,t[t[d>>2]>>2]|0,i,l,r,n,a)|0;Ka(f);if(!v){v=0;c=p;return v|0}f=t[t[d>>2]>>2]|0;e=t[(t[_>>2]|0)+5584>>2]|0;s=t[f+20>>2]|0;r=Fa(0)|0;if(!r){v=0;c=p;return v|0}l=f+16|0;e:do{if(t[l>>2]|0){n=0;f=s;while(1){if(!(Ua(r,f,e)|0))break;n=n+1|0;if(n>>>0>=(t[l>>2]|0)>>>0)break e;else{e=e+1080|0;f=f+52|0}}Ha(r);v=0;c=p;return v|0}}while(0);Ha(r);f=t[t[d>>2]>>2]|0;s=f+16|0;do{if(t[s>>2]|0){l=0;n=t[(t[b>>2]|0)+24>>2]|0;r=t[(t[_>>2]|0)+5584>>2]|0;e=t[f+20>>2]|0;while(1){f=(t[n+36>>2]|0)+1|0;if((t[r+20>>2]|0)==1){if(!(Ma(e,f)|0)){f=0;e=49;break}}else if(!(Pa(e,f)|0)){f=0;e=49;break}l=l+1|0;if(l>>>0>=(t[s>>2]|0)>>>0){e=14;break}else{n=n+52|0;r=r+1080|0;e=e+52|0}}if((e|0)==14){f=t[t[d>>2]>>2]|0;break}else if((e|0)==49){c=p;return f|0}}}while(0);l=t[_>>2]|0;e=t[f+20>>2]|0;s=t[l+16>>2]|0;do{if(s){i=ie((t[e+12>>2]|0)-(t[e+4>>2]|0)|0,(t[e+8>>2]|0)-(t[e>>2]|0)|0)|0;r=f+16|0;f=t[r>>2]|0;if(f>>>0<=2){t[h>>2]=f;jf(a,1,19703,h)|0;break}if((ie((t[e+64>>2]|0)-(t[e+56>>2]|0)|0,(t[e+60>>2]|0)-(t[e+52>>2]|0)|0)|0)>=(i|0)?(ie((t[e+116>>2]|0)-(t[e+108>>2]|0)|0,(t[e+112>>2]|0)-(t[e+104>>2]|0)|0)|0)>=(i|0):0){if((s|0)!=2){f=t[e+32>>2]|0;if((t[(t[l+5584>>2]|0)+20>>2]|0)==1){br(f,t[e+84>>2]|0,t[e+136>>2]|0,i);break}else{kr(f,t[e+84>>2]|0,t[e+136>>2]|0,i);break}}n=l+5604|0;if(!(t[n>>2]|0))break;l=Nn(f<<2)|0;if(!l){v=0;c=p;return v|0}f=t[r>>2]|0;if(!f)f=0;else{s=0;while(1){t[l+(s<<2)>>2]=t[e+32>>2];s=s+1|0;if((s|0)==(f|0))break;else e=e+52|0}}v=(mr(t[n>>2]|0,i,l,f,t[(t[(t[b>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Yn(l);if(v)f=0;else break;c=p;return f|0}jf(a,1,19642,u)|0;v=0;c=p;return v|0}}while(0);f=t[t[d>>2]>>2]|0;m=f+16|0;if(!(t[m>>2]|0)){v=1;c=p;return v|0}v=0;w=t[(t[b>>2]|0)+24>>2]|0;k=t[(t[_>>2]|0)+5584>>2]|0;_=t[f+20>>2]|0;while(1){b=t[_+24>>2]|0;a=t[w+36>>2]|0;s=t[b+(a*136|0)+8>>2]|0;l=t[b+(a*136|0)>>2]|0;d=s-l|0;n=t[b+(a*136|0)+12>>2]|0;a=t[b+(a*136|0)+4>>2]|0;b=(t[_+8>>2]|0)-(t[_>>2]|0)-d|0;f=t[w+24>>2]|0;if(!(t[w+32>>2]|0)){f=1<>2]|0;e=(n|0)==(a|0);if((t[k+20>>2]|0)==1){if(!e){r=(s|0)==(l|0);i=k+1076|0;l=n-a|0;n=0;while(1){if(!r){e=0;s=f;while(1){a=(t[i>>2]|0)+(t[s>>2]|0)|0;t[s>>2]=(a|0)<(h|0)?h:(a|0)>(u|0)?u:a;e=e+1|0;if((e|0)==(d|0))break;else s=s+4|0}f=f+(d<<2)|0}n=n+1|0;if((n|0)==(l|0))break;else f=f+(b<<2)|0}}}else if(!e){r=(s|0)==(l|0);i=k+1076|0;l=n-a|0;n=0;while(1){if(!r){e=0;s=f;while(1){a=As(+o[s>>2])|0;a=(t[i>>2]|0)+a|0;t[s>>2]=(a|0)<(h|0)?h:(a|0)>(u|0)?u:a;e=e+1|0;if((e|0)==(d|0))break;else s=s+4|0}f=f+(d<<2)|0}n=n+1|0;if((n|0)==(l|0))break;else f=f+(b<<2)|0}}v=v+1|0;if(v>>>0>=(t[m>>2]|0)>>>0){f=1;break}else{w=w+52|0;k=k+1080|0;_=_+52|0}}c=p;return f|0}function jr(e,i,r){e=e|0;i=i|0;r=r|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0;k=e+24|0;h=t[k>>2]|0;s=t[h+16>>2]|0;c=(s|0)==0;if(c){k=1;return k|0}l=0;a=0;o=t[h+24>>2]|0;u=t[(t[t[e+20>>2]>>2]|0)+20>>2]|0;while(1){d=t[o+24>>2]|0;d=((d&7|0)!=0&1)+(d>>>3)|0;b=t[u+24>>2]|0;_=(t[u+20>>2]|0)+-1|0;a=(ie(ie((d|0)==3?4:d,(t[b+(_*136|0)+8>>2]|0)-(t[b+(_*136|0)>>2]|0)|0)|0,(t[b+(_*136|0)+12>>2]|0)-(t[b+(_*136|0)+4>>2]|0)|0)|0)+a|0;l=l+1|0;if((l|0)==(s|0))break;else{o=o+52|0;u=u+52|0}}a=a>>>0>r>>>0;if(a|c){k=a&1^1;return k|0}_=0;b=t[h+24>>2]|0;d=t[(t[t[e+20>>2]>>2]|0)+20>>2]|0;while(1){c=t[b+24>>2]|0;e=t[d+24>>2]|0;r=t[b+36>>2]|0;l=t[e+(r*136|0)+8>>2]|0;o=t[e+(r*136|0)>>2]|0;h=l-o|0;u=t[e+(r*136|0)+12>>2]|0;r=t[e+(r*136|0)+4>>2]|0;e=(t[d+8>>2]|0)-(t[d>>2]|0)-h|0;c=((c&7|0)!=0&1)+(c>>>3)|0;e:do{switch(((c|0)==3?4:c)|0){case 1:{a=t[d+32>>2]|0;s=(u|0)==(r|0);if(!(t[b+32>>2]|0)){if(s)break e;c=(l|0)==(o|0);u=u-r|0;r=0;while(1){if(!c){o=i+h|0;l=0;s=a;while(1){f[i>>0]=t[s>>2];l=l+1|0;if((l|0)==(h|0))break;else{i=i+1|0;s=s+4|0}}i=o;a=a+(h<<2)|0}r=r+1|0;if((r|0)==(u|0))break;else a=a+(e<<2)|0}}else{if(s)break e;c=(l|0)==(o|0);u=u-r|0;r=0;while(1){if(!c){o=i+h|0;l=0;s=a;while(1){f[i>>0]=t[s>>2];l=l+1|0;if((l|0)==(h|0))break;else{i=i+1|0;s=s+4|0}}i=o;a=a+(h<<2)|0}r=r+1|0;if((r|0)==(u|0))break;else a=a+(e<<2)|0}}break}case 2:{a=t[d+32>>2]|0;s=(u|0)==(r|0);if(!(t[b+32>>2]|0)){if(!s){c=(l|0)==(o|0);u=u-r|0;r=0;while(1){if(!c){o=i+(h<<1)|0;l=0;s=a;while(1){n[i>>1]=t[s>>2];l=l+1|0;if((l|0)==(h|0))break;else{i=i+2|0;s=s+4|0}}i=o;a=a+(h<<2)|0}r=r+1|0;if((r|0)==(u|0))break;else a=a+(e<<2)|0}}}else if(!s){c=(l|0)==(o|0);u=u-r|0;r=0;while(1){if(!c){o=i+(h<<1)|0;l=0;s=a;while(1){n[i>>1]=t[s>>2];l=l+1|0;if((l|0)==(h|0))break;else{i=i+2|0;s=s+4|0}}i=o;a=a+(h<<2)|0}r=r+1|0;if((r|0)==(u|0))break;else a=a+(e<<2)|0}}break}case 4:{if((u|0)!=(r|0)){c=(l|0)==(o|0);u=u-r|0;r=0;a=t[d+32>>2]|0;while(1){if(!c){o=i+(h<<2)|0;l=0;s=a;while(1){t[i>>2]=t[s>>2];l=l+1|0;if((l|0)==(h|0))break;else{i=i+4|0;s=s+4|0}}i=o;a=a+(h<<2)|0}r=r+1|0;if((r|0)==(u|0))break;else a=a+(e<<2)|0}}break}default:{}}}while(0);_=_+1|0;if(_>>>0>=(t[(t[k>>2]|0)+16>>2]|0)>>>0){i=1;break}else{b=b+52|0;d=d+52|0}}return i|0}function Yr(e){e=e|0;var i=0,r=0,f=0,n=0,a=0;r=t[e+24>>2]|0;n=t[r+16>>2]|0;if(!n){a=0;return a|0}a=0;i=0;f=t[r+24>>2]|0;r=t[(t[t[e+20>>2]>>2]|0)+20>>2]|0;while(1){e=t[f+24>>2]|0;e=((e&7|0)!=0&1)+(e>>>3)|0;i=(ie(ie((t[r+12>>2]|0)-(t[r+4>>2]|0)|0,(t[r+8>>2]|0)-(t[r>>2]|0)|0)|0,(e|0)==3?4:e)|0)+i|0;a=a+1|0;if(a>>>0>=n>>>0)break;else{f=f+52|0;r=r+52|0}}return i|0}function qr(e,i,r){e=e|0;i=i|0;r=r|0;var l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0;b=t[e+24>>2]|0;k=b+16|0;o=t[k>>2]|0;d=(o|0)==0;if(d)l=0;else{u=0;l=0;c=t[b+24>>2]|0;h=t[(t[t[e+20>>2]>>2]|0)+20>>2]|0;while(1){_=t[c+24>>2]|0;_=((_&7|0)!=0&1)+(_>>>3)|0;l=(ie(ie((t[h+12>>2]|0)-(t[h+4>>2]|0)|0,(t[h+8>>2]|0)-(t[h>>2]|0)|0)|0,(_|0)==3?4:_)|0)+l|0;u=u+1|0;if((u|0)==(o|0))break;else{c=c+52|0;h=h+52|0}}}l=(l|0)!=(r|0);if(l|d){k=l&1^1;return k|0}_=0;d=t[b+24>>2]|0;r=t[(t[t[e+20>>2]>>2]|0)+20>>2]|0;while(1){e=t[d+24>>2]|0;l=(t[r+8>>2]|0)-(t[r>>2]|0)|0;o=(t[r+12>>2]|0)-(t[r+4>>2]|0)|0;h=ie(o,l)|0;e=((e&7|0)!=0&1)+(e>>>3)|0;e:do{switch(((e|0)==3?4:e)|0){case 1:{o=t[r+32>>2]|0;l=(h|0)==0;if(!(t[d+32>>2]|0)){if(l)break e;else{u=0;l=o;o=i}while(1){t[l>>2]=a[o>>0];u=u+1|0;if((u|0)==(h|0))break;else{l=l+4|0;o=o+1|0}}i=i+h|0;break e}else{if(l)break e;else{u=0;l=o;o=i}while(1){t[l>>2]=f[o>>0];u=u+1|0;if((u|0)==(h|0))break;else{l=l+4|0;o=o+1|0}}i=i+h|0;break e}}case 2:{c=t[r+32>>2]|0;u=(h|0)==0;if(!(t[d+32>>2]|0)){if(!u){u=i+(ie(o<<1,l)|0)|0;o=0;l=c;while(1){t[l>>2]=s[i>>1];o=o+1|0;if((o|0)==(h|0))break;else{l=l+4|0;i=i+2|0}}i=u}}else if(!u){u=i+(ie(o<<1,l)|0)|0;o=0;l=c;while(1){t[l>>2]=n[i>>1];o=o+1|0;if((o|0)==(h|0))break;else{l=l+4|0;i=i+2|0}}i=u}break}case 4:{if(h){u=i+(ie(o<<2,l)|0)|0;l=0;o=t[r+32>>2]|0;while(1){t[o>>2]=t[i>>2];l=l+1|0;if((l|0)==(h|0))break;else{o=o+4|0;i=i+4|0}}i=u}break}default:{}}}while(0);_=_+1|0;if(_>>>0>=(t[k>>2]|0)>>>0){i=1;break}else{d=d+52|0;r=r+52|0}}return i|0}function $r(e){e=e|0;var i=0,r=0,f=0,n=0,a=0;a=e+24|0;i=t[a>>2]|0;if(!i)return;n=t[e+28>>2]|0;f=(n>>>0)/52|0;if(n>>>0>51){n=0;while(1){e=t[i>>2]|0;if(e){Yn(e+-1|0);t[i>>2]=0}e=i+4|0;r=t[e>>2]|0;if(r){Yn(r);t[e>>2]=0}e=i+8|0;r=t[e>>2]|0;if(r){Yn(r);t[e>>2]=0}n=n+1|0;if(n>>>0>=f>>>0)break;else i=i+52|0}i=t[a>>2]|0}Yn(i);t[a>>2]=0;return}function Vr(e){e=e|0;var i=0,r=0,f=0,n=0,a=0;a=e+24|0;i=t[a>>2]|0;if(!i)return;n=t[e+28>>2]|0;f=(n>>>0)/56|0;if(n>>>0>55){n=0;while(1){e=t[i>>2]|0;if(e){Yn(e);t[i>>2]=0}r=i+4|0;e=t[r>>2]|0;if(e){Yn(e);t[r>>2]=0}n=n+1|0;if(n>>>0>=f>>>0)break;else i=i+56|0}i=t[a>>2]|0}Yn(i);t[a>>2]=0;return}function Xr(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=+n;a=a|0;s=s|0;var l=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,U=0,j=0,Y=0,q=0,$=0,V=0,X=0,G=0,K=0,W=0,Z=0,J=0,Q=0,ee=0,re=0,fe=0,ne=0,te=0,ae=0,se=0,le=0,oe=0,ue=0,ce=0,he=0,de=0,be=0,_e=0,ke=0,we=0,me=0,ve=0,pe=0,ge=0,ye=0,Me=0,Ae=0,Ee=0,Se=0,Te=0,Re=0,Ce=0,Pe=0,Ie=0,Oe=0,xe=0,Le=0,Be=0,ze=0,De=0,Ne=0,Fe=0,He=0,Ue=0,je=0,Ye=0,qe=0,$e=0.0;qe=c;c=c+80|0;De=qe+64|0;ze=qe+56|0;Fe=qe+48|0;Ue=qe+40|0;He=qe+32|0;je=qe+24|0;Ne=qe+16|0;Be=qe+8|0;l=t[e+28>>2]|0;Le=t[t[e+20>>2]>>2]|0;_=t[(t[l+76>>2]|0)+(i*5640|0)+5584>>2]|0;k=t[Le+20>>2]|0;d=t[e+24>>2]|0;b=t[d+24>>2]|0;Ie=t[l+24>>2]|0;h=t[l+12>>2]|0;xe=(ie(h,(i>>>0)%(Ie>>>0)|0)|0)+(t[l+4>>2]|0)|0;u=t[d>>2]|0;u=xe>>>0>u>>>0?xe:u;t[Le>>2]=u;xe=Bl(h|0,0,xe|0,0)|0;xe=xe|0-I;h=t[d+8>>2]|0;h=xe>>>0>>0?xe:h;xe=Le+8|0;t[xe>>2]=h;Oe=t[l+16>>2]|0;Ie=(ie(Oe,(i>>>0)/(Ie>>>0)|0)|0)+(t[l+8>>2]|0)|0;i=t[d+4>>2]|0;i=Ie>>>0>i>>>0?Ie:i;Pe=Le+4|0;t[Pe>>2]=i;Ie=Bl(Oe|0,0,Ie|0,0)|0;Ie=Ie|0-I;d=t[d+12>>2]|0;d=Ie>>>0>>0?Ie:d;Ie=Le+12|0;t[Ie>>2]=d;if(!(t[_+4>>2]|0)){jf(s,1,19777,qe)|0;Ye=0;c=qe;return Ye|0}Oe=Le+16|0;if(!(t[Oe>>2]|0)){Ye=1;c=qe;return Ye|0}Ce=l+80|0;Re=e+40|0;Te=(r|0)==0;l=i;Se=0;e:while(1){t[b+36>>2]=0;ge=t[b>>2]|0;i=(u+-1+ge|0)/(ge|0)|0;t[k>>2]=i;ye=t[b+4>>2]|0;l=(l+-1+ye|0)/(ye|0)|0;Ee=k+4|0;t[Ee>>2]=l;ge=(h+-1+ge|0)/(ge|0)|0;Ae=k+8|0;t[Ae>>2]=ge;ye=(d+-1+ye|0)/(ye|0)|0;Me=k+12|0;t[Me>>2]=ye;i=ge-i|0;l=ye-l|0;if((4294967295/(i>>>0)|0)>>>0>>0){Ye=6;break}i=ie(l,i)|0;if(i>>>0>1073741823){Ye=8;break}h=i<<2;ge=t[_+4>>2]|0;ye=k+16|0;t[ye>>2]=ge;e=t[Ce>>2]|0;t[k+20>>2]=ge>>>0>>0?1:ge-e|0;e=k+40|0;t[e>>2]=h;do{if(f[Re>>0]&1){r=k+32|0;u=t[r>>2]|0;if(u){l=k+44|0;if(h>>>0<=(t[l>>2]|0)>>>0)break;i=k+36|0;if(t[i>>2]|0){Un(u);ge=Hn(t[e>>2]|0)|0;t[r>>2]=ge;if(!ge){Ye=16;break e}t[l>>2]=t[e>>2];t[i>>2]=1;break}}ge=Hn(h)|0;t[r>>2]=ge;if(!ge)break e;t[k+44>>2]=t[e>>2];t[k+36>>2]=1}}while(0);r=(t[ye>>2]|0)*136|0;l=k+24|0;e=t[l>>2]|0;if(e){i=k+28|0;if(r>>>0>(t[i>>2]|0)>>>0){e=jn(e,r)|0;if(!e){Ye=24;break}t[l>>2]=e;ge=t[i>>2]|0;xl(e+ge|0,0,r-ge|0)|0;t[i>>2]=r}}else{i=Nn(r)|0;t[l>>2]=i;if(!i){i=0;Ye=87;break}t[k+28>>2]=r;xl(i|0,0,r|0)|0}i=t[ye>>2]|0;ge=(t[_+20>>2]|0)==0?7:8;if(i){we=_+8|0;me=_+12|0;ve=b+24|0;pe=_+804|0;ke=t[l>>2]|0;l=_+28|0;e=0;while(1){be=i;_e=i+-1|0;ce=t[k>>2]|0;he=Ll(1,0,_e|0)|0;he=Bl(he|0,I|0,-1,-1)|0;de=I;ce=Bl(he|0,de|0,ce|0,((ce|0)<0)<<31>>31|0)|0;ce=Ol(ce|0,I|0,_e|0)|0;t[ke>>2]=ce;r=t[Ee>>2]|0;r=Bl(he|0,de|0,r|0,((r|0)<0)<<31>>31|0)|0;r=Ol(r|0,I|0,_e|0)|0;t[ke+4>>2]=r;i=t[Ae>>2]|0;i=Bl(he|0,de|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Ol(i|0,I|0,_e|0)|0;t[ke+8>>2]=i;u=t[Me>>2]|0;u=Bl(he|0,de|0,u|0,((u|0)<0)<<31>>31|0)|0;u=Ol(u|0,I|0,_e|0)|0;t[ke+12>>2]=u;w=t[_+812+(e<<2)>>2]|0;d=t[_+944+(e<<2)>>2]|0;m=ce>>w<>d<>31|0)|0;h=Ol(h|0,I|0,d|0)|0;if((ce|0)==(i|0))i=0;else{ce=Ll(1,0,w|0)|0;ce=Bl(ce|0,I|0,-1,-1)|0;i=Bl(ce|0,I|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Ol(i|0,I|0,w|0)|0;i=(i<>w}ce=ke+16|0;t[ce>>2]=i;le=(r|0)==(u|0)?0:(h<>d;t[ke+20>>2]=le;le=ie(le,i)|0;oe=le*40|0;ue=(e|0)==0;if(ue)i=1;else{m=Bl(m|0,((m|0)<0)<<31>>31|0,1,0)|0;m=zl(m|0,I|0,1)|0;v=Bl(v|0,((v|0)<0)<<31>>31|0,1,0)|0;v=zl(v|0,I|0,1)|0;i=3;d=d+-1|0;w=w+-1|0}se=ke+24|0;t[se>>2]=i;q=t[we>>2]|0;q=q>>>0>>0?q:w;$=t[me>>2]|0;$=$>>>0>>0?$:d;V=(le|0)!=0;X=(le|0)==0;G=1<>2]|0;i=Bl(he|0,de|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Ol(i|0,I|0,_e|0)|0;l=t[Ee>>2]|0;l=Bl(he|0,de|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Ol(l|0,I|0,_e|0)|0;r=t[Ae>>2]|0;r=Bl(he|0,de|0,r|0,((r|0)<0)<<31>>31|0)|0;r=Ol(r|0,I|0,_e|0)|0;h=t[Me>>2]|0;h=Bl(he|0,de|0,h|0,((h|0)<0)<<31>>31|0)|0;h=Ol(h|0,I|0,_e|0)|0;u=0}else{u=te+1|0;i=t[k>>2]|0;H=Ll(u&1|0,0,_e|0)|0;H=Il(fe|0,ne|0,H|0,I|0)|0;h=I;i=Bl(H|0,h|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Ol(i|0,I|0,be|0)|0;l=t[Ee>>2]|0;U=Ll(u>>>1|0,0,_e|0)|0;U=Il(fe|0,ne|0,U|0,I|0)|0;j=I;l=Bl(U|0,j|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Ol(l|0,I|0,be|0)|0;r=t[Ae>>2]|0;r=Bl(H|0,h|0,r|0,((r|0)<0)<<31>>31|0)|0;r=Ol(r|0,I|0,be|0)|0;h=t[Me>>2]|0;h=Bl(U|0,j|0,h|0,((h|0)<0)<<31>>31|0)|0;h=Ol(h|0,I|0,be|0)|0}t[ae+16>>2]=u;t[ae>>2]=i;j=ae+4|0;t[j>>2]=l;U=ae+8|0;t[U>>2]=r;H=ae+12|0;t[H>>2]=h;l=Eo[ge&15](u)|0;$e=+(t[Y+4>>2]|0)*.00048828125+1.0;o[ae+32>>2]=+Ms(1.0,(t[ve>>2]|0)+l-(t[Y>>2]|0)|0)*$e*n;t[ae+28>>2]=(t[Y>>2]|0)+-1+(t[pe>>2]|0);l=ae+20|0;r=t[l>>2]|0;if(!(V&(r|0)==0)){i=ae+24|0;if((t[i>>2]|0)>>>0>>0){r=jn(r,oe)|0;if(!r){Ye=41;break e}t[l>>2]=r;F=t[i>>2]|0;xl(r+F|0,0,oe-F|0)|0;t[i>>2]=oe}}else{i=Nn(oe)|0;t[l>>2]=i;if(!i){i=0;Ye=87;break e}xl(i|0,0,oe|0)|0;t[ae+24>>2]=oe}if(!X){N=t[l>>2]|0;F=0;while(1){P=t[ce>>2]|0;B=(((F>>>0)%(P>>>0)|0)<>>0)/(P>>>0)|0)<>2]|0;L=(B|0)>(L|0)?B:L;t[N>>2]=L;B=t[j>>2]|0;B=(P|0)>(B|0)?P:B;P=N+4|0;t[P>>2]=B;D=t[U>>2]|0;D=(O|0)<(D|0)?O:D;O=N+8|0;t[O>>2]=D;u=t[H>>2]|0;u=(x|0)<(u|0)?x:u;x=N+12|0;t[x>>2]=u;L=L>>q<>$<<$;D=Bl(W|0,Z|0,D|0,((D|0)<0)<<31>>31|0)|0;D=Ol(D|0,I|0,q|0)|0;u=Bl(J|0,Q|0,u|0,((u|0)<0)<<31>>31|0)|0;u=Ol(u|0,I|0,$|0)|0;D=(D<>q;z=N+16|0;t[z>>2]=D;u=(u<<$)-B>>$;p=N+20|0;t[p>>2]=u;D=ie(u,D)|0;u=ie(D,a)|0;l=N+24|0;r=t[l>>2]|0;do{if((r|0)==0&(D|0)!=0){i=Nn(u)|0;t[l>>2]=i;if(!i){i=0;Ye=87;break e}xl(i|0,0,u|0)|0;t[N+28>>2]=u}else{i=N+28|0;if(u>>>0<=(t[i>>2]|0)>>>0)break;r=jn(r,u)|0;if(!r){Ye=50;break e}t[l>>2]=r;C=t[i>>2]|0;xl(r+C|0,0,u-C|0)|0;t[i>>2]=u}}while(0);h=N+32|0;i=t[h>>2]|0;r=t[z>>2]|0;u=t[p>>2]|0;if(!i)i=Gr(r,u,s)|0;else i=ra(i,r,u,s)|0;t[h>>2]=i;if(!i)jf(s,2,19990,ze)|0;h=N+36|0;r=t[h>>2]|0;u=t[z>>2]|0;i=t[p>>2]|0;if(!r)i=Gr(u,i,s)|0;else i=ra(r,u,i,s)|0;t[h>>2]=i;if(!i)jf(s,2,20012,De)|0;if(D){C=0;do{S=t[z>>2]|0;E=(((C>>>0)%(S>>>0)|0)<>>0)/(S>>>0)|0)<<$)+B|0;T=E+ee|0;R=S+re|0;do{if(Te){i=t[l>>2]|0;r=i+(C*56|0)|0;u=t[r>>2]|0;if(!u){A=Nn(8192)|0;t[r>>2]=A;if(!A){i=0;Ye=87;break e}t[i+(C*56|0)+32>>2]=8192;A=Fn(10,32)|0;t[i+(C*56|0)+4>>2]=A;if(!A){i=0;Ye=87;break e}t[i+(C*56|0)+52>>2]=10}else{h=i+(C*56|0)+32|0;p=t[h>>2]|0;g=i+(C*56|0)+4|0;y=t[g>>2]|0;M=r;A=M+52|0;do{t[M>>2]=0;M=M+4|0}while((M|0)<(A|0));t[r>>2]=u;t[h>>2]=p;t[g>>2]=y}A=t[N>>2]|0;t[i+(C*56|0)+8>>2]=(E|0)>(A|0)?E:A;E=t[P>>2]|0;t[i+(C*56|0)+12>>2]=(S|0)>(E|0)?S:E;S=t[O>>2]|0;t[i+(C*56|0)+16>>2]=(T|0)<(S|0)?T:S;T=t[x>>2]|0;t[i+(C*56|0)+20>>2]=(R|0)<(T|0)?R:T}else{r=t[l>>2]|0;i=r+(C*52|0)+4|0;if((t[i>>2]|0)==0?(A=Fn(100,24)|0,t[i>>2]=A,(A|0)==0):0){i=0;Ye=87;break e}i=r+(C*52|0)+8|0;if((t[i>>2]|0)==0?(A=Fn(100,24)|0,t[i>>2]=A,(A|0)==0):0){i=0;Ye=87;break e}h=t[N>>2]|0;h=(E|0)>(h|0)?E:h;t[r+(C*52|0)+12>>2]=h;i=t[P>>2]|0;S=(S|0)>(i|0)?S:i;t[r+(C*52|0)+16>>2]=S;i=t[O>>2]|0;i=(T|0)<(i|0)?T:i;t[r+(C*52|0)+20>>2]=i;T=t[x>>2]|0;R=(R|0)<(T|0)?R:T;t[r+(C*52|0)+24>>2]=R;h=ie(R-S|0,i-h<<2)|0;i=r+(C*52|0)+36|0;if(h>>>0<=(t[i>>2]|0)>>>0)break;u=r+(C*52|0)|0;r=t[u>>2]|0;if(r)Yn(r+-1|0);r=Nn(h|1)|0;t[u>>2]=r;if(!r){Ye=74;break e}t[i>>2]=h;f[r>>0]=0;t[u>>2]=(t[u>>2]|0)+1}}while(0);C=C+1|0}while(C>>>0>>0)}F=F+1|0;if(F>>>0>=le>>>0)break;else N=N+40|0}}l=Y+8|0;te=te+1|0;if(te>>>0>=(t[se>>2]|0)>>>0)break;else{ae=ae+36|0;Y=l}}e=e+1|0;if(e>>>0<(t[ye>>2]|0)>>>0){i=_e;ke=ke+136|0}else break}}i=Se+1|0;if(i>>>0>=(t[Oe>>2]|0)>>>0){i=1;Ye=87;break}u=t[Le>>2]|0;l=t[Pe>>2]|0;h=t[xe>>2]|0;d=t[Ie>>2]|0;Se=i;b=b+52|0;_=_+1080|0;k=k+52|0}if((Ye|0)==6){jf(s,1,19816,Be)|0;Ye=0;c=qe;return Ye|0}else if((Ye|0)==8){jf(s,1,19816,Ne)|0;Ye=0;c=qe;return Ye|0}else if((Ye|0)==16){t[l>>2]=0;t[e>>2]=0;t[i>>2]=0}else if((Ye|0)==24){jf(s,1,19849,He)|0;Yn(t[l>>2]|0);t[l>>2]=0;t[i>>2]=0;Ye=0;c=qe;return Ye|0}else if((Ye|0)==41){jf(s,1,19889,Ue)|0;Yn(t[l>>2]|0);t[l>>2]=0;t[i>>2]=0;Ye=0;c=qe;return Ye|0}else if((Ye|0)==50){Yn(t[l>>2]|0);t[l>>2]=0;t[i>>2]=0;jf(s,1,19932,Fe)|0;Ye=0;c=qe;return Ye|0}else if((Ye|0)==74){t[i>>2]=0;Ye=0;c=qe;return Ye|0}else if((Ye|0)==87){c=qe;return i|0}jf(s,1,19816,je)|0;Ye=0;c=qe;return Ye|0}function Gr(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0;g=c;c=c+288|0;u=g+16|0;l=g+8|0;v=g+152|0;p=g+24|0;f=Fn(1,20)|0;if(!f){jf(r,1,20034,g)|0;p=0;c=g;return p|0}t[f>>2]=e;h=f+4|0;t[h>>2]=i;t[v>>2]=e;t[p>>2]=i;o=f+8|0;t[o>>2]=0;n=0;s=0;while(1){m=ie(i,e)|0;e=(e+1|0)/2|0;a=s+1|0;t[v+(a<<2)>>2]=e;i=(i+1|0)/2|0;t[p+(a<<2)>>2]=i;n=n+m|0;if(m>>>0<=1)break;else s=a}t[o>>2]=n;if(!n){Yn(f);jf(r,2,20072,l)|0;p=0;c=g;return p|0}n=Fn(n,16)|0;t[f+12>>2]=n;if(!n){jf(r,1,20122,u)|0;Yn(f);p=0;c=g;return p|0}m=t[o>>2]|0;t[f+16>>2]=m<<4;i=n+((ie(t[h>>2]|0,t[f>>2]|0)|0)<<4)|0;if(!s)i=n;else{w=0;a=i;e=i;i=n;do{_=t[p+(w<<2)>>2]|0;e:do{if((_|0)>0){k=t[v+(w<<2)>>2]|0;if((k|0)<=0){o=_+-1|0;r=0;while(1){b=(r&1|0)!=0|(r|0)==(o|0);l=b?a:e;e=b?a:e+(k<<4)|0;r=r+1|0;if((r|0)>=(_|0)){a=l;break e}else a=l}}b=((k+2+((k|0)<2?~k:-3)|0)>>>1)+1|0;h=_+-1|0;d=0;do{r=k;u=a;while(1){t[i>>2]=u;l=i+16|0;o=r;r=r+-2|0;if((r|0)>-1){t[l>>2]=u;i=i+32|0}else i=l;if((o|0)<=2)break;else u=u+16|0}u=a+(b<<4)|0;r=(d&1|0)!=0|(d|0)==(h|0);a=r?u:e;e=r?u:e+(k<<4)|0;d=d+1|0}while((d|0)<(_|0))}}while(0);w=w+1|0}while((w|0)!=(s|0))}t[i>>2]=0;if(!m){p=f;c=g;return p|0}else i=0;while(1){t[n+4>>2]=999;t[n+8>>2]=0;t[n+12>>2]=0;i=i+1|0;if((i|0)==(m|0))break;else n=n+16|0}c=g;return f|0}function Kr(e){e=e|0;var i=0,r=0;if(!e)return;i=t[e+8>>2]|0;if(!i)return;r=0;e=t[e+12>>2]|0;while(1){t[e+4>>2]=999;t[e+8>>2]=0;t[e+12>>2]=0;r=r+1|0;if(r>>>0>=i>>>0)break;else e=e+16|0}return}function Wr(e){e=e|0;var i=0;i=c;c=c+e|0;c=c+15&-16;return i|0}function Zr(){return c|0}function Jr(e){e=e|0;c=e}function Qr(e,i){e=e|0;i=i|0;c=e;h=i}function ef(e,i){e=e|0;i=i|0;if(!k){k=e;w=i}}function rf(e){e=e|0;f[d>>0]=f[e>>0];f[d+1>>0]=f[e+1>>0];f[d+2>>0]=f[e+2>>0];f[d+3>>0]=f[e+3>>0]}function ff(e){e=e|0;f[d>>0]=f[e>>0];f[d+1>>0]=f[e+1>>0];f[d+2>>0]=f[e+2>>0];f[d+3>>0]=f[e+3>>0];f[d+4>>0]=f[e+4>>0];f[d+5>>0]=f[e+5>>0];f[d+6>>0]=f[e+6>>0];f[d+7>>0]=f[e+7>>0]}function nf(e){e=e|0;I=e}function tf(){return I|0}function af(e,i,r,f,n,a,s){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+8272|0;o=b+16|0;h=b+12|0;l=b;t[h>>2]=0;if((t[e>>2]|0)==1375686655)d=fn(0)|0;else d=fn(2)|0;Zf(d,1,0)|0;Jf(d,2,0)|0;Qf(d,3,0)|0;nn(o);t[l>>2]=e;t[l+4>>2]=e;t[l+8>>2]=i;u=en(l,1)|0;if(!(tn(d,o)|0)){fl(4476)|0;Tf(u);yn(d);a=1;c=b;return a|0}if(!(an(u,d,h)|0)){fl(4528)|0;Tf(u);yn(d);Xf(t[h>>2]|0);a=1;c=b;return a|0}if(!(cn(d,u,t[h>>2]|0,t[o+8228>>2]|0)|0)){fl(4578)|0;yn(d);Tf(u);Xf(t[h>>2]|0);a=1;c=b;return a|0}l=t[h>>2]|0;t[n>>2]=t[l+8>>2];t[a>>2]=t[l+12>>2];e=t[l+16>>2]|0;t[s>>2]=e;e=ie(ie(e<<2,t[n>>2]|0)|0,t[a>>2]|0)|0;t[f>>2]=e;f=yl(e)|0;t[r>>2]=f;switch(t[s>>2]|0){case 1:{Dl(f|0,t[(t[l+24>>2]|0)+44>>2]|0,e|0)|0;break}case 3:{if((ie(t[a>>2]|0,t[n>>2]|0)|0)>0){i=t[l+24>>2]|0;l=t[i+44>>2]|0;e=t[i+96>>2]|0;i=t[i+148>>2]|0;o=0;do{s=o*3|0;t[f+(s<<2)>>2]=t[l+(o<<2)>>2];t[f+(s+1<<2)>>2]=t[e+(o<<2)>>2];t[f+(s+2<<2)>>2]=t[i+(o<<2)>>2];o=o+1|0}while((o|0)<(ie(t[a>>2]|0,t[n>>2]|0)|0))}break}default:{}}Tf(u);yn(d);Xf(t[h>>2]|0);a=0;c=b;return a|0}function sf(){return rn()|0}function lf(e,i){e=e|0;i=i|0;return}function of(e,i){e=e|0;i=i|0;return}function uf(e,i){e=e|0;i=i|0;var r=0;i=c;c=c+16|0;r=i;t[r>>2]=e;rl(4625,r)|0;c=i;return}function cf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;s=c;c=c+16|0;a=s;t[a>>2]=i;if(!r){c=s;return}i=e;n=0;e=a+(r+-1)|0;while(1){f[i>>0]=f[e>>0]|0;n=n+1|0;if((n|0)==(r|0))break;else{i=i+1|0;e=e+-1|0}}c=s;return}function hf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;t[i>>2]=0;if(!r)return;n=0;i=i+(r+-1)|0;while(1){f[i>>0]=f[e>>0]|0;n=n+1|0;if((n|0)==(r|0))break;else{e=e+1|0;i=i+-1|0}}return}function df(e,i){e=e|0;i=+i;var r=0,n=0,a=0,s=0,l=0;r=c;c=c+16|0;s=r;u[s>>3]=i;s=s+8|0;u[d>>3]=i;n=t[d>>2]|0;a=t[d+4>>2]|0;l=zl(n|0,a|0,56)|0;f[e>>0]=l;l=zl(n|0,a|0,48)|0;f[e+1>>0]=l;l=zl(n|0,a|0,40)|0;f[e+2>>0]=l;f[e+3>>0]=a;f[e+4>>0]=f[s+-5>>0]|0;f[e+5>>0]=f[s+-6>>0]|0;a=zl(n|0,a|0,8)|0;f[e+6>>0]=a;f[e+7>>0]=n;c=r;return}function bf(e,i){e=e|0;i=i|0;var r=0;r=i+8|0;f[r+-1>>0]=f[e>>0]|0;f[r+-2>>0]=f[e+1>>0]|0;f[r+-3>>0]=f[e+2>>0]|0;f[r+-4>>0]=f[e+3>>0]|0;f[r+-5>>0]=f[e+4>>0]|0;f[r+-6>>0]=f[e+5>>0]|0;f[r+-7>>0]=f[e+6>>0]|0;f[i>>0]=f[e+7>>0]|0;return}function _f(e,i){e=e|0;i=+i;var r=0;r=(o[d>>2]=i,t[d>>2]|0);f[e>>0]=r>>>24;f[e+1>>0]=r>>>16;f[e+2>>0]=r>>>8;f[e+3>>0]=r;return}function kf(e,i){e=e|0;i=i|0;var r=0;r=i+4|0;f[r+-1>>0]=f[e>>0]|0;f[r+-2>>0]=f[e+1>>0]|0;f[r+-3>>0]=f[e+2>>0]|0;f[i>>0]=f[e+3>>0]|0;return}function wf(e,i){e=e|0;i=i|0;var r=0,f=0;f=Fn(1,72)|0;if(!f){i=0;return i|0}t[f+64>>2]=e;e=Nn(e)|0;t[f+32>>2]=e;if(!e){Yn(f);i=0;return i|0}t[f+36>>2]=e;e=f+68|0;r=t[e>>2]|0;if(!i){t[e>>2]=r|1;t[f+40>>2]=31;t[f+44>>2]=32}else{t[e>>2]=r|2;t[f+40>>2]=29;t[f+44>>2]=30}t[f+16>>2]=4;t[f+20>>2]=5;t[f+24>>2]=6;t[f+28>>2]=7;i=f;return i|0}function mf(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0;d=c;c=c+16|0;h=d;n=e+48|0;a=t[n>>2]|0;if(a>>>0>=i>>>0){h=e+36|0;t[h>>2]=(t[h>>2]|0)+i;t[n>>2]=a-i;h=e+56|0;e=h;e=Bl(t[e>>2]|0,t[e+4>>2]|0,i|0,r|0)|0;t[h>>2]=e;t[h+4>>2]=I;h=r;e=i;I=h;c=d;return e|0}u=e+68|0;if(t[u>>2]&4){h=e+36|0;t[h>>2]=(t[h>>2]|0)+a;t[n>>2]=0;e=e+56|0;h=e;h=Bl(t[h>>2]|0,t[h+4>>2]|0,a|0,0)|0;t[e>>2]=h;t[e+4>>2]=I;e=(a|0)!=0;h=e?0:-1;e=e?a:-1;I=h;c=d;return e|0}if(!a){a=0;n=0}else{t[e+36>>2]=t[e+32>>2];i=Il(i|0,r|0,a|0,0)|0;t[n>>2]=0;n=0;r=I}e:do{if((r|0)>0|(r|0)==0&i>>>0>0){o=e+24|0;while(1){s=po[t[o>>2]&63](i,r,t[e>>2]|0)|0;l=I;if((s|0)==-1&(l|0)==-1)break;i=Il(i|0,r|0,s|0,l|0)|0;r=I;a=Bl(s|0,l|0,a|0,n|0)|0;n=I;if(!((r|0)>0|(r|0)==0&i>>>0>0))break e}jf(f,4,4636,h)|0;t[u>>2]=t[u>>2]|4;e=e+56|0;h=e;h=Bl(t[h>>2]|0,t[h+4>>2]|0,a|0,n|0)|0;t[e>>2]=h;t[e+4>>2]=I;e=(a|0)!=0|(n|0)!=0;h=e?n:-1;e=e?a:-1;I=h;c=d;return e|0}}while(0);h=e+56|0;e=h;e=Bl(t[e>>2]|0,t[e+4>>2]|0,a|0,n|0)|0;t[h>>2]=e;t[h+4>>2]=I;h=n;e=a;I=h;c=d;return e|0}function vf(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0;t[e+36>>2]=t[e+32>>2];t[e+48>>2]=0;a=(po[t[e+28>>2]&63](i,r,t[e>>2]|0)|0)==0;f=e+68|0;n=t[f>>2]|0;if(a){t[f>>2]=n|4;a=0;return a|0}else{t[f>>2]=n&-5;a=e+56|0;t[a>>2]=i;t[a+4>>2]=r;a=1;return a|0}return 0}function pf(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0;w=c;c=c+16|0;k=w+8|0;h=w;_=e+68|0;if(t[_>>2]&8){k=-1;e=-1;I=k;c=w;return e|0}o=e+32|0;n=t[o>>2]|0;b=e+36|0;t[b>>2]=n;u=e+48|0;a=t[u>>2]|0;do{if(a){l=e+20|0;while(1){s=po[t[l>>2]&63](n,a,t[e>>2]|0)|0;if((s|0)==-1)break;n=(t[b>>2]|0)+s|0;t[b>>2]=n;m=t[u>>2]|0;a=m-s|0;t[u>>2]=a;if((m|0)==(s|0)){d=6;break}}if((d|0)==6){n=t[o>>2]|0;break}t[_>>2]=t[_>>2]|8;jf(f,4,4662,h)|0;t[_>>2]=t[_>>2]|8;t[u>>2]=0;e=-1;m=-1;I=e;c=w;return m|0}}while(0);t[b>>2]=n;e:do{if((r|0)>0|(r|0)==0&i>>>0>0){o=e+24|0;a=0;n=0;while(1){s=po[t[o>>2]&63](i,r,t[e>>2]|0)|0;l=I;if((s|0)==-1&(l|0)==-1)break;i=Il(i|0,r|0,s|0,l|0)|0;r=I;a=Bl(s|0,l|0,a|0,n|0)|0;n=I;if(!((r|0)>0|(r|0)==0&i>>>0>0))break e}jf(f,4,4688,k)|0;t[_>>2]=t[_>>2]|8;m=e+56|0;e=m;e=Bl(t[e>>2]|0,t[e+4>>2]|0,a|0,n|0)|0;t[m>>2]=e;t[m+4>>2]=I;m=(a|0)!=0|(n|0)!=0;e=m?n:-1;m=m?a:-1;I=e;c=w;return m|0}else{a=0;n=0}}while(0);e=e+56|0;m=e;m=Bl(t[m>>2]|0,t[m+4>>2]|0,a|0,n|0)|0;t[e>>2]=m;t[e+4>>2]=I;e=n;m=a;I=e;c=w;return m|0}function gf(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0;_=c;c=c+16|0;o=_;h=e+32|0;n=t[h>>2]|0;d=e+36|0;t[d>>2]=n;b=e+48|0;a=t[b>>2]|0;do{if(!a)a=e;else{l=e+20|0;while(1){s=po[t[l>>2]&63](n,a,t[e>>2]|0)|0;if((s|0)==-1)break;n=(t[d>>2]|0)+s|0;t[d>>2]=n;k=t[b>>2]|0;a=k-s|0;t[b>>2]=a;if((k|0)==(s|0)){u=6;break}}if((u|0)==6){a=e;n=t[h>>2]|0;break}k=e+68|0;t[k>>2]=t[k>>2]|8;jf(f,4,4662,o)|0;t[k>>2]=t[k>>2]|8;k=0;c=_;return k|0}}while(0);t[d>>2]=n;t[b>>2]=0;if(!(po[t[e+28>>2]&63](i,r,t[a>>2]|0)|0)){k=e+68|0;t[k>>2]=t[k>>2]|8;k=0;c=_;return k|0}else{k=e+56|0;t[k>>2]=i;t[k+4>>2]=r;k=1;c=_;return k|0}return 0}function yf(e,i,r){e=e|0;i=i|0;r=r|0;return-1}function Mf(e,i,r){e=e|0;i=i|0;r=r|0;return-1}function Af(e,i,r){e=e|0;i=i|0;r=r|0;I=-1;return-1}function Ef(e,i,r){e=e|0;i=i|0;r=r|0;return 0}function Sf(e){e=e|0;var i=0,r=0,f=0;f=Fn(1,72)|0;if(!f){e=0;return e|0}t[f+64>>2]=1048576;i=Nn(1048576)|0;t[f+32>>2]=i;if(!i){Yn(f);e=0;return e|0}t[f+36>>2]=i;i=f+68|0;r=t[i>>2]|0;if(!e){t[i>>2]=r|1;t[f+40>>2]=31;t[f+44>>2]=32}else{t[i>>2]=r|2;t[f+40>>2]=29;t[f+44>>2]=30}t[f+16>>2]=4;t[f+20>>2]=5;t[f+24>>2]=6;t[f+28>>2]=7;e=f;return e|0}function Tf(e){e=e|0;var i=0;if(!e)return;i=t[e+4>>2]|0;if(i)yo[i&7](t[e>>2]|0);i=e+32|0;Yn(t[i>>2]|0);t[i>>2]=0;Yn(e);return}function Rf(e,i){e=e|0;i=i|0;if(!e)return;if(!(t[e+68>>2]&2))return;t[e+16>>2]=i;return}function Cf(e,i){e=e|0;i=i|0;if(!e)return;t[e+28>>2]=i;return}function Pf(e,i){e=e|0;i=i|0;if(!e)return;if(!(t[e+68>>2]&1))return;t[e+20>>2]=i;return}function If(e,i){e=e|0;i=i|0;if(!e)return;t[e+24>>2]=i;return}function Of(e,i,r){e=e|0;i=i|0;r=r|0;if(!e)return;t[e>>2]=i;t[e+4>>2]=r;return}function xf(e,i,r){e=e|0;i=i|0;r=r|0;if(!e)return;e=e+8|0;t[e>>2]=i;t[e+4>>2]=r;return}function Lf(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0;y=c;c=c+16|0;m=y+8|0;w=y;g=e+48|0;n=t[g>>2]|0;if(n>>>0>=r>>>0){p=e+36|0;Dl(i|0,t[p>>2]|0,r|0)|0;t[p>>2]=(t[p>>2]|0)+r;t[g>>2]=(t[g>>2]|0)-r;g=e+56|0;p=g;p=Bl(t[p>>2]|0,t[p+4>>2]|0,r|0,0)|0;t[g>>2]=p;t[g+4>>2]=I;g=r;c=y;return g|0}v=e+68|0;if(t[v>>2]&4){p=e+36|0;Dl(i|0,t[p>>2]|0,n|0)|0;f=t[g>>2]|0;t[p>>2]=(t[p>>2]|0)+f;p=e+56|0;v=p;f=Bl(t[v>>2]|0,t[v+4>>2]|0,f|0,0)|0;t[p>>2]=f;t[p+4>>2]=I;t[g>>2]=0;g=(n|0)!=0?n:-1;c=y;return g|0}if(!n){b=e+32|0;a=t[b>>2]|0;_=e+36|0;t[_>>2]=a;k=_;p=e+56|0;n=0}else{_=e+36|0;Dl(i|0,t[_>>2]|0,n|0)|0;b=e+32|0;a=t[b>>2]|0;t[_>>2]=a;k=t[g>>2]|0;p=e+56|0;h=p;h=Bl(t[h>>2]|0,t[h+4>>2]|0,k|0,0)|0;d=p;t[d>>2]=h;t[d+4>>2]=I;t[g>>2]=0;r=r-k|0;i=i+k|0;k=_}h=e+64|0;d=e+16|0;u=i;s=a;while(1){i=t[h>>2]|0;a=t[d>>2]|0;if(r>>>0>>0){a=po[a&63](s,i,t[e>>2]|0)|0;t[g>>2]=a;if((a|0)==-1){a=11;break}if(a>>>0>=r>>>0){i=u;a=14;break}Dl(u|0,t[k>>2]|0,a|0)|0;s=t[b>>2]|0;t[_>>2]=s;i=t[g>>2]|0;l=p;l=Bl(t[l>>2]|0,t[l+4>>2]|0,i|0,0)|0;o=I;n=a+n|0}else{i=po[a&63](u,r,t[e>>2]|0)|0;t[g>>2]=i;if((i|0)==-1){a=16;break}n=i+n|0;if(i>>>0>=r>>>0){a=20;break}s=t[b>>2]|0;t[_>>2]=s;l=p;l=Bl(t[l>>2]|0,t[l+4>>2]|0,i|0,0)|0;o=I}a=p;t[a>>2]=l;t[a+4>>2]=o;t[g>>2]=0;r=r-i|0;u=u+i|0}if((a|0)==11){jf(f,4,4636,w)|0;t[g>>2]=0;t[v>>2]=t[v>>2]|4;g=(n|0)!=0?n:-1;c=y;return g|0}else if((a|0)==14){Dl(i|0,t[k>>2]|0,r|0)|0;t[k>>2]=(t[k>>2]|0)+r;t[g>>2]=(t[g>>2]|0)-r;f=p;f=Bl(t[f>>2]|0,t[f+4>>2]|0,r|0,0)|0;g=p;t[g>>2]=f;t[g+4>>2]=I;g=n+r|0;c=y;return g|0}else if((a|0)==16){jf(f,4,4636,m)|0;t[g>>2]=0;t[v>>2]=t[v>>2]|4;g=(n|0)!=0?n:-1;c=y;return g|0}else if((a|0)==20){f=p;f=Bl(t[f>>2]|0,t[f+4>>2]|0,i|0,0)|0;t[p>>2]=f;t[p+4>>2]=I;t[_>>2]=t[b>>2];t[g>>2]=0;g=n;c=y;return g|0}return 0}function Bf(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0;p=c;c=c+16|0;w=p;d=e+68|0;if(t[d>>2]&8){v=-1;c=p;return v|0}k=e+64|0;n=t[k>>2]|0;v=e+48|0;o=t[v>>2]|0;a=n-o|0;do{if(a>>>0>>0){b=e+32|0;s=e+36|0;_=e+20|0;l=e+56|0;u=n;h=a;n=0;e:while(1){if((u|0)==(o|0))a=t[b>>2]|0;else{Dl(t[s>>2]|0,i|0,h|0)|0;a=t[b>>2]|0;t[s>>2]=a;o=(t[v>>2]|0)+h|0;t[v>>2]=o;g=l;g=Bl(t[g>>2]|0,t[g+4>>2]|0,h|0,0)|0;u=l;t[u>>2]=g;t[u+4>>2]=I;r=r-h|0;i=i+h|0;n=h+n|0}t[s>>2]=a;if(!o)o=0;else{do{u=po[t[_>>2]&63](a,o,t[e>>2]|0)|0;if((u|0)==-1)break e;a=(t[s>>2]|0)+u|0;t[s>>2]=a;g=t[v>>2]|0;o=g-u|0;t[v>>2]=o}while((g|0)!=(u|0));a=t[b>>2]|0}t[s>>2]=a;u=t[k>>2]|0;h=u-o|0;if(r>>>0<=h>>>0){m=5;break}}if((m|0)==5)break;t[d>>2]=t[d>>2]|8;jf(f,4,4662,w)|0;g=-1;c=p;return g|0}else{a=e+36|0;l=e+56|0;s=a;a=t[a>>2]|0;n=0}}while(0);Dl(a|0,i|0,r|0)|0;t[s>>2]=(t[s>>2]|0)+r;t[v>>2]=(t[v>>2]|0)+r;v=l;v=Bl(t[v>>2]|0,t[v+4>>2]|0,r|0,0)|0;g=l;t[g>>2]=v;t[g+4>>2]=I;g=n+r|0;c=p;return g|0}function zf(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0;d=c;c=c+16|0;o=d;a=e+32|0;r=t[a>>2]|0;h=e+36|0;t[h>>2]=r;s=e+48|0;f=t[s>>2]|0;do{if(f){l=e+20|0;while(1){n=po[t[l>>2]&63](r,f,t[e>>2]|0)|0;if((n|0)==-1)break;r=(t[h>>2]|0)+n|0;t[h>>2]=r;b=t[s>>2]|0;f=b-n|0;t[s>>2]=f;if((b|0)==(n|0)){u=6;break}}if((u|0)==6){r=t[a>>2]|0;break}b=e+68|0;t[b>>2]=t[b>>2]|8;jf(i,4,4662,o)|0;b=0;c=d;return b|0}}while(0);t[h>>2]=r;b=1;c=d;return b|0}function Df(e){e=e|0;e=e+56|0;I=t[e+4>>2]|0;return t[e>>2]|0}function Nf(e){e=e|0;var i=0,r=0;r=e+8|0;i=t[r>>2]|0;r=t[r+4>>2]|0;if((i|0)==0&(r|0)==0){r=0;e=0;I=r;return e|0}e=e+56|0;e=Il(i|0,r|0,t[e>>2]|0,t[e+4>>2]|0)|0;r=I;I=r;return e|0}function Ff(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;e=Ro[t[e+40>>2]&63](e,i,r,f)|0;return e|0}function Hf(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;return Ro[t[e+44>>2]&63](e,i,r,f)|0}function Uf(e){e=e|0;return(t[e+28>>2]|0)!=7|0}function jf(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0;l=c;c=c+528|0;a=l;s=l+16|0;e:do{if(e){switch(i|0){case 1:{i=e;n=e+12|0;break}case 2:{i=e+4|0;n=e+16|0;break}case 4:{i=e+8|0;n=e+20|0;break}default:{i=0;break e}}e=t[i>>2]|0;i=t[n>>2]|0;if(i)if(!r)i=1;else{xl(s|0,0,512)|0;t[a>>2]=f;al(s,512,r,a)|0;Mo[i&7](s,e);i=1}else i=0}else i=0}while(0);c=l;return i|0}function Yf(e){e=e|0;t[e>>2]=0;t[e+4>>2]=0;t[e+8>>2]=0;t[e+12>>2]=4;t[e+20>>2]=4;t[e+16>>2]=4;return}function qf(e,i){e=e|0;i=i|0;return}function $f(){return Fn(1,36)|0}function Vf(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0;f=Fn(1,36)|0;if(!f){l=f;return l|0}t[f+20>>2]=r;s=f+16|0;t[s>>2]=e;r=Fn(1,e*52|0)|0;l=f+24|0;t[l>>2]=r;if(!r){r=t[f+28>>2]|0;if(r)Yn(r);Yn(f);l=0;return l|0}if(!e){l=f;return l|0}n=0;while(1){t[r+(n*52|0)>>2]=t[i+(n*36|0)>>2];t[r+(n*52|0)+4>>2]=t[i+(n*36|0)+4>>2];o=t[i+(n*36|0)+8>>2]|0;t[r+(n*52|0)+8>>2]=o;u=t[i+(n*36|0)+12>>2]|0;t[r+(n*52|0)+12>>2]=u;t[r+(n*52|0)+16>>2]=t[i+(n*36|0)+16>>2];t[r+(n*52|0)+20>>2]=t[i+(n*36|0)+20>>2];t[r+(n*52|0)+24>>2]=t[i+(n*36|0)+24>>2];t[r+(n*52|0)+28>>2]=t[i+(n*36|0)+28>>2];t[r+(n*52|0)+32>>2]=t[i+(n*36|0)+32>>2];o=Fn(ie(u,o)|0,4)|0;t[r+(n*52|0)+44>>2]=o;n=n+1|0;if(!o)break;if(n>>>0>=e>>>0){a=22;break}r=t[l>>2]|0}if((a|0)==22)return f|0;r=t[l>>2]|0;if(r){n=t[s>>2]|0;if(n){i=0;while(1){r=t[r+(i*52|0)+44>>2]|0;if(r){Yn(r);n=t[s>>2]|0}i=i+1|0;if(i>>>0>=n>>>0)break;r=t[l>>2]|0}r=t[l>>2]|0}Yn(r)}r=t[f+28>>2]|0;if(r)Yn(r);Yn(f);u=0;return u|0}function Xf(e){e=e|0;var i=0,r=0,f=0,n=0,a=0;if(!e)return;n=e+24|0;i=t[n>>2]|0;if(i){a=e+16|0;r=t[a>>2]|0;if(r){f=0;while(1){i=t[i+(f*52|0)+44>>2]|0;if(i){Yn(i);r=t[a>>2]|0}f=f+1|0;if(f>>>0>=r>>>0)break;i=t[n>>2]|0}i=t[n>>2]|0}Yn(i)}i=t[e+28>>2]|0;if(i)Yn(i);Yn(e);return}function Gf(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0;r=t[i+4>>2]|0;f=t[e>>2]|0;a=t[i+8>>2]|0;s=t[e+4>>2]|0;n=t[i+12>>2]|0;c=(ie((t[i+24>>2]|0)+-1|0,n)|0)+r|0;l=t[i+16>>2]|0;o=(ie((t[i+28>>2]|0)+-1|0,l)|0)+a|0;i=Bl(c|0,0,n|0,0)|0;i=i|0-I;n=t[e+8>>2]|0;l=Bl(o|0,0,l|0,0)|0;l=l|0-I;o=t[e+12>>2]|0;c=t[e+16>>2]|0;if(!c)return;u=(r>>>0>f>>>0?r:f)+-1|0;a=(a>>>0>s>>>0?a:s)+-1|0;n=(i>>>0>>0?i:n)+-1|0;r=(l>>>0>>0?l:o)+-1|0;f=0;i=t[e+24>>2]|0;while(1){s=t[i>>2]|0;o=((u+s|0)>>>0)/(s>>>0)|0;b=t[i+4>>2]|0;e=((a+b|0)>>>0)/(b>>>0)|0;l=t[i+40>>2]|0;d=Ll(1,0,l|0)|0;h=I;s=Bl((((n+s|0)>>>0)/(s>>>0)|0)-o|0,0,-1,-1)|0;s=Bl(s|0,I|0,d|0,h|0)|0;s=zl(s|0,I|0,l|0)|0;b=Bl((((r+b|0)>>>0)/(b>>>0)|0)-e|0,0,-1,-1)|0;h=Bl(b|0,I|0,d|0,h|0)|0;l=zl(h|0,I|0,l|0)|0;t[i+8>>2]=s;t[i+12>>2]=l;t[i+16>>2]=o;t[i+20>>2]=e;f=f+1|0;if(f>>>0>=c>>>0)break;else i=i+52|0}return}function Kf(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0,s=0,l=0,o=0;t[i>>2]=t[e>>2];t[i+4>>2]=t[e+4>>2];t[i+8>>2]=t[e+8>>2];t[i+12>>2]=t[e+12>>2];o=i+24|0;f=t[o>>2]|0;l=i+16|0;if(!f)r=o;else{r=t[l>>2]|0;if(!r)r=o;else{n=0;while(1){f=t[f+(n*52|0)+44>>2]|0;if(f){Yn(f);r=t[l>>2]|0}n=n+1|0;if(n>>>0>=r>>>0)break;f=t[o>>2]|0}r=o;f=t[o>>2]|0}Yn(f);t[o>>2]=0}f=t[e+16>>2]|0;t[l>>2]=f;f=Nn(f*52|0)|0;t[r>>2]=f;if(!f){t[o>>2]=0;t[l>>2]=0;return}if(t[l>>2]|0){s=e+24|0;a=0;do{r=f+(a*52|0)|0;f=(t[s>>2]|0)+(a*52|0)|0;n=r+52|0;do{t[r>>2]=t[f>>2];r=r+4|0;f=f+4|0}while((r|0)<(n|0));f=t[o>>2]|0;t[f+(a*52|0)+44>>2]=0;a=a+1|0}while(a>>>0<(t[l>>2]|0)>>>0)}t[i+20>>2]=t[e+20>>2];n=e+32|0;r=t[n>>2]|0;a=i+32|0;t[a>>2]=r;if(!r){t[i+28>>2]=0;return}f=Nn(r)|0;r=i+28|0;t[r>>2]=f;if(!f){t[r>>2]=0;t[a>>2]=0;return}else{Dl(f|0,t[e+28>>2]|0,t[n>>2]|0)|0;return}}function Wf(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0;f=Fn(1,36)|0;if(!f){e=f;return e|0}t[f+20>>2]=r;t[f+16>>2]=e;r=Fn(e,52)|0;t[f+24>>2]=r;if(!r){r=t[f+28>>2]|0;if(r)Yn(r);Yn(f);e=0;return e|0}else{if(!e){e=f;return e|0}else n=0;do{t[r+(n*52|0)>>2]=t[i+(n*36|0)>>2];t[r+(n*52|0)+4>>2]=t[i+(n*36|0)+4>>2];t[r+(n*52|0)+8>>2]=t[i+(n*36|0)+8>>2];t[r+(n*52|0)+12>>2]=t[i+(n*36|0)+12>>2];t[r+(n*52|0)+16>>2]=t[i+(n*36|0)+16>>2];t[r+(n*52|0)+20>>2]=t[i+(n*36|0)+20>>2];t[r+(n*52|0)+24>>2]=t[i+(n*36|0)+24>>2];t[r+(n*52|0)+32>>2]=t[i+(n*36|0)+32>>2];t[r+(n*52|0)+44>>2]=0;n=n+1|0}while((n|0)!=(e|0));return f|0}return 0}function Zf(e,i,r){e=e|0;i=i|0;r=r|0;if(!e){r=0;return r|0}t[e+64>>2]=i;t[e+52>>2]=r;r=1;return r|0}function Jf(e,i,r){e=e|0;i=i|0;r=r|0;if(!e){r=0;return r|0}t[e+60>>2]=i;t[e+48>>2]=r;r=1;return r|0}function Qf(e,i,r){e=e|0;i=i|0;r=r|0;if(!e){r=0;return r|0}t[e+56>>2]=i;t[e+44>>2]=r;r=1;return r|0}function en(e,i){e=e|0;i=i|0;var r=0;if(!e){e=0;return e|0}r=Sf(i)|0;if(!r){e=0;return e|0}Of(r,e,0);xf(r,t[e+8>>2]|0,0);if(!i)Pf(r,9);else Rf(r,8);If(r,1);Cf(r,10);e=r;return e|0}function rn(){return 4703}function fn(e){e=e|0;var i=0;i=Fn(1,84)|0;if(!i){e=0;return e|0}t[i+68>>2]=1;switch(e|0){case 0:{t[i+72>>2]=13;t[i+76>>2]=2;t[i+80>>2]=3;t[i+4>>2]=33;t[i+16>>2]=11;t[i>>2]=34;t[i+20>>2]=1;t[i+24>>2]=5;t[i+8>>2]=1;t[i+12>>2]=1;t[i+28>>2]=1;t[i+32>>2]=1;t[i+36>>2]=12;e=rt()|0;t[i+40>>2]=e;if(!e){Yn(i);e=0;return e|0}break}case 2:{t[i+72>>2]=14;t[i+76>>2]=4;t[i+80>>2]=5;t[i+4>>2]=35;t[i+16>>2]=13;t[i>>2]=36;t[i+8>>2]=2;t[i+12>>2]=2;t[i+20>>2]=2;t[i+24>>2]=6;t[i+28>>2]=2;t[i+32>>2]=2;t[i+36>>2]=14;e=zi(1)|0;t[i+40>>2]=e;if(!e){Yn(i);e=0;return e|0}break}default:{Yn(i);e=0;return e|0}}Yf(i+44|0);e=i;return e|0}function nn(e){e=e|0;if(!e)return;xl(e|0,0,8248)|0;t[e+8200>>2]=-1;t[e+8204>>2]=-1;t[e+8248>>2]=0;return}function tn(e,i){e=e|0;i=i|0;var r=0;r=c;c=c+16|0;if(!((e|0)!=0&(i|0)!=0)){i=0;c=r;return i|0}if(!(t[e+68>>2]|0)){jf(e+44|0,1,4709,r)|0;i=0;c=r;return i|0}else{Mo[t[e+24>>2]&7](t[e+40>>2]|0,i);i=1;c=r;return i|0}return 0}function an(e,i,r){e=e|0;i=i|0;r=r|0;var f=0;f=c;c=c+16|0;if(!((e|0)!=0&(i|0)!=0)){e=0;c=f;return e|0}if(!(t[i+68>>2]|0)){jf(i+44|0,1,4790,f)|0;e=0;c=f;return e|0}else{e=Ro[t[i>>2]&63](e,t[i+40>>2]|0,r,i+44|0)|0;c=f;return e|0}return 0}function sn(e,i,r){e=e|0;i=i|0;r=r|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(!(t[e+68>>2]|0)){i=0;return i|0}i=Ro[t[e+4>>2]&63](t[e+40>>2]|0,i,r,e+44|0)|0;return i|0}function ln(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;if(!e){f=0;return f|0}if(!(t[e+68>>2]|0)){f=0;return f|0}f=vo[t[e+28>>2]&3](t[e+40>>2]|0,i,r,f,n,a,e+44|0)|0;return f|0}function on(e,i,r,f,n,a,s,l,o,u){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;if(!((r|0)!=0&((e|0)!=0&(i|0)!=0&(f|0)!=0))){l=0;return l|0}if(!(t[e+68>>2]|0)){l=0;return l|0}l=To[t[e+8>>2]&3](t[e+40>>2]|0,r,f,n,a,s,l,o,u,i,e+44|0)|0;return l|0}function un(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;if(!((e|0)!=0&(r|0)!=0&(n|0)!=0)){i=0;return i|0}if(!(t[e+68>>2]|0)){i=0;return i|0}i=Ao[t[e+12>>2]&7](t[e+40>>2]|0,i,r,f,n,e+44|0)|0;return i|0}function cn(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;if(!((e|0)!=0&(i|0)!=0)){f=0;return f|0}if(!(t[e+68>>2]|0)){f=0;return f|0}f=Po[t[e+32>>2]&3](t[e+40>>2]|0,i,r,e+44|0,f)|0;return f|0}function hn(e,i){e=e|0;i=i|0;if(!e){i=0;return i|0}i=po[t[e+36>>2]&63](t[e+40>>2]|0,i,e+44|0)|0;return i|0}function dn(e){e=e|0;var i=0;i=Fn(1,84)|0;if(!i){e=0;return e|0}t[i+68>>2]=0;switch(e|0){case 0:{t[i+4>>2]=15;t[i+12>>2]=16;t[i>>2]=37;t[i+8>>2]=3;t[i+16>>2]=1;t[i+20>>2]=38;e=Vn()|0;t[i+40>>2]=e;if(!e){Yn(i);e=0;return e|0}break}case 2:{t[i+4>>2]=17;t[i+12>>2]=18;t[i>>2]=39;t[i+8>>2]=4;t[i+16>>2]=2;t[i+20>>2]=40;e=zi(0)|0;t[i+40>>2]=e;if(!e){Yn(i);e=0;return e|0}break}default:{Yn(i);e=0;return e|0}}Yf(i+44|0);e=i;return e|0}function bn(e){e=e|0;if(!e)return;xl(e|0,0,18708)|0;t[e+5592>>2]=6;t[e+18684>>2]=0;t[e+5596>>2]=64;t[e+5600>>2]=64;t[e+44>>2]=0;t[e+5612>>2]=-1;t[e+18188>>2]=1;t[e+18192>>2]=1;f[e+18688>>0]=0;t[e+18196>>2]=-1;t[e+18200>>2]=-1;o[e+4792>>2]=0.0;t[e+4788>>2]=0;t[e+20>>2]=0;t[e+24>>2]=0;t[e+28>>2]=0;t[e+18692>>2]=0;return}function _n(e,i,r){e=e|0;i=i|0;r=r|0;if(!((e|0)!=0&(i|0)!=0&(r|0)!=0)){i=0;return i|0}if(t[e+68>>2]|0){i=0;return i|0}i=Ro[t[e+20>>2]&63](t[e+40>>2]|0,i,r,e+44|0)|0;return i|0}function kn(e,i,r){e=e|0;i=i|0;r=r|0;if(!((e|0)!=0&(r|0)!=0)){r=0;return r|0}if(t[e+68>>2]|0){r=0;return r|0}r=Ro[t[e>>2]&63](t[e+40>>2]|0,r,i,e+44|0)|0;return r|0}function wn(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(t[e+68>>2]|0){i=0;return i|0}i=po[t[e+4>>2]&63](t[e+40>>2]|0,i,e+44|0)|0;return i|0}function mn(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(t[e+68>>2]|0){i=0;return i|0}i=po[t[e+12>>2]&63](t[e+40>>2]|0,i,e+44|0)|0;return i|0}function vn(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(!(t[e+68>>2]|0)){i=0;return i|0}i=po[t[e+16>>2]&63](t[e+40>>2]|0,i,e+44|0)|0;return i|0}function pn(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var l=0,o=0,u=0;u=a<<2;l=ie(u,a)|0;o=e+18704|0;a=s[o>>1]|0;n[o>>1]=(a&32768|0)==0?-32512:(a|256)&65535;t[e+5608>>2]=1;f[e+18690>>0]=2;o=Nn(l+u|0)|0;a=e+18696|0;t[a>>2]=o;if(!o){r=0;return r|0}Dl(o|0,i|0,l|0)|0;Dl((t[a>>2]|0)+l|0,r|0,u|0)|0;r=1;return r|0}function gn(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;if(!((r|0)!=0&((e|0)!=0&(n|0)!=0))){i=0;return i|0}if(t[e+68>>2]|0){i=0;return i|0}i=Ao[t[e+8>>2]&7](t[e+40>>2]|0,i,r,f,n,e+44|0)|0;return i|0}function yn(e){e=e|0;var i=0,r=0;if(!e)return;i=e+40|0;r=t[i>>2]|0;if(!(t[e+68>>2]|0))yo[t[e+16>>2]&7](r);else yo[t[e+20>>2]&7](r);t[i>>2]=0;Yn(e);return}function Mn(e,i,r){e=e|0;i=i|0;r=r|0;if(!e)return;So[t[e+72>>2]&15](t[e+40>>2]|0,i,r);return}function An(e){e=e|0;if(!e){e=0;return e|0}e=Eo[t[e+76>>2]&15](t[e+40>>2]|0)|0;return e|0}function En(e){e=e|0;var i=0,r=0;if(!e)return;i=t[e>>2]|0;r=t[i+48>>2]|0;if(r){Yn(r);i=t[e>>2]|0}Yn(i);t[e>>2]=0;return}function Sn(e){e=e|0;if(!e){e=0;return e|0}e=Eo[t[e+80>>2]&15](t[e+40>>2]|0)|0;return e|0}function Tn(e){e=e|0;var i=0;i=t[e>>2]|0;if(!i)return;Jn(i);t[e>>2]=0;return}function Rn(e,i){e=e|0;i=i|0;return Cn(e,1048576,i)|0}function Cn(e,i,r){e=e|0;i=i|0;r=r|0;var f=0;if(!e){i=0;return i|0}f=Ys(e,(r|0)==0?4869:4872)|0;if(!f){i=0;return i|0}e=wf(i,r)|0;if(!e){Us(f)|0;i=0;return i|0}else{Of(e,f,6);Ws(f,0,2)|0;i=Qs(f)|0;Ws(f,0,0)|0;xf(e,i,((i|0)<0)<<31>>31);Rf(e,19);Pf(e,20);If(e,21);Cf(e,22);i=e;return i|0}return 0}function Pn(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0;a=(t[r>>2]|0)+(t[r+8>>2]|0)|0;r=r+4|0;f=t[r>>2]|0;n=a-f|0;if((a|0)==(f|0)){a=-1;return a|0}a=n>>>0>i>>>0?i:n;Dl(e|0,f|0,a|0)|0;t[r>>2]=(t[r>>2]|0)+a;return a|0}function In(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0;u=r+4|0;f=t[u>>2]|0;l=r+8|0;a=t[l>>2]|0;o=f-(t[r>>2]|0)|0;n=(a|0)==0?1:a;while(1)if((n-o|0)>>>0>>0)n=n<<1;else{s=n;break}if((s|0)!=(a|0)){f=Nn(s)|0;if(!f){i=-1;return i|0}n=t[r>>2]|0;if(n){Dl(f|0,n|0,o|0)|0;Yn(t[r>>2]|0)}t[r>>2]=f;f=f+o|0;t[u>>2]=f;t[l>>2]=s}Dl(f|0,e|0,i|0)|0;t[u>>2]=(t[u>>2]|0)+i;return i|0}function On(e,i){e=e|0;i=i|0;var r=0,f=0,n=0;n=(t[i>>2]|0)+(t[i+8>>2]|0)|0;i=i+4|0;r=t[i>>2]|0;f=n-r|0;if((n|0)==(r|0)){n=-1;return n|0}t[i>>2]=r+e;n=f>>>0>e>>>0?e:f;return n|0}function xn(e,i,r){e=e|0;i=i|0;r=r|0;var f=0;f=t[r+8>>2]|0;t[r+4>>2]=(t[r>>2]|0)+(0>(i|0)|0==(i|0)&f>>>0>e>>>0?e:f);return 1}function Ln(e,i,r){e=e|0;i=i|0;r=r|0;i=Xs(e,1,i,r)|0;return((i|0)!=0?i:-1)|0}function Bn(e,i,r){e=e|0;i=i|0;r=r|0;return il(e,1,i,r)|0}function zn(e,i,r){e=e|0;i=i|0;r=r|0;r=(Ws(r,e,1)|0)==0;I=r?i:-1;return(r?e:-1)|0}function Dn(e,i,r){e=e|0;i=i|0;r=r|0;return(Ws(r,e,0)|0)==0|0}function Nn(e){e=e|0;if(!e)e=0;else e=yl(e)|0;return e|0}function Fn(e,i){e=e|0;i=i|0;if(!i)e=0;else e=Al(e,i)|0;return e|0}function Hn(e){e=e|0;var i=0,r=0;r=c;c=c+16|0;i=r;do{if(e)if(!(Sl(i,16,e)|0)){i=t[i>>2]|0;break}else{t[i>>2]=0;i=0;break}else i=0}while(0);c=r;return i|0}function Un(e){e=e|0;Ml(e);return}function jn(e,i){e=e|0;i=i|0;if(!i)i=0;else i=El(e,i)|0;return i|0}function Yn(e){e=e|0;Ml(e);return}function qn(e){e=e|0;var i=0,r=0;i=696;while(1){r=t[i>>2]|0;if((r|0)==-1|(r|0)==(e|0))break;else i=i+12|0}return i+4|0}function $n(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0))return;t[e+172>>2]=t[i+4>>2];t[e+168>>2]=t[i>>2];return}function Vn(){var e=0,i=0;e=Fn(1,208)|0;if(!e){e=0;return e|0}t[e>>2]=0;i=e+184|0;f[i>>0]=f[i>>0]&-3;i=Nn(1e3)|0;t[e+44>>2]=i;if(!i){Xn(e);i=0;return i|0}t[e+48>>2]=1e3;i=sa()|0;t[e+192>>2]=i;if(!i){Xn(e);i=0;return i|0}i=sa()|0;t[e+188>>2]=i;if(i){i=e;return i|0}Xn(e);i=0;return i|0}function Xn(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0;if(!e)return;if(!(t[e>>2]|0)){i=e+36|0;r=t[i>>2]|0;if(r){Yn(r);t[i>>2]=0}i=e+24|0;r=t[i>>2]|0;if(r){Yn(r);t[i>>2]=0;t[e+28>>2]=0}i=e+44|0;r=t[i>>2]|0;if(r){Yn(r);t[i>>2]=0;t[e+48>>2]=0}}else{i=e+12|0;r=t[i>>2]|0;if(r){_t(r);Yn(t[i>>2]|0);t[i>>2]=0}i=e+16|0;r=t[i>>2]|0;if(r){Yn(r);t[i>>2]=0;t[e+20>>2]=0}}Br(t[e+204>>2]|0);i=e+88|0;s=e+164|0;r=t[s>>2]|0;if(r){n=ie(t[e+112>>2]|0,t[e+116>>2]|0)|0;if(n){a=0;while(1){_t(r);a=a+1|0;if((a|0)==(n|0))break;else r=r+5640|0}r=t[s>>2]|0}Yn(r);t[s>>2]=0}s=e+124|0;r=t[s>>2]|0;if(r){l=e+120|0;n=t[l>>2]|0;if(n){a=0;while(1){r=t[r+(a<<3)>>2]|0;if(r){Yn(r);n=t[l>>2]|0}a=a+1|0;if(a>>>0>=n>>>0)break;r=t[s>>2]|0}r=t[s>>2]|0}t[l>>2]=0;Yn(r);t[s>>2]=0}l=e+144|0;Yn(t[l>>2]|0);t[l>>2]=0;t[e+128>>2]=0;l=e+108|0;Yn(t[l>>2]|0);t[l>>2]=0;if(!(f[e+184>>0]&2)){l=e+176|0;Yn(t[l>>2]|0);t[l>>2]=0}r=i+100|0;do{t[i>>2]=0;i=i+4|0}while((i|0)<(r|0));l=e+188|0;la(t[l>>2]|0);t[l>>2]=0;la(t[e+192>>2]|0);t[l>>2]=0;l=e+196|0;Jn(t[l>>2]|0);t[l>>2]=0;l=e+80|0;Xf(t[l>>2]|0);t[l>>2]=0;l=e+84|0;Xf(t[l>>2]|0);t[l>>2]=0;Yn(e);return}function Gn(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,h=0,d=0,b=0,_=0,k=0,w=0.0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,j=0,Y=0,q=0,$=0,V=0,X=0,G=0,K=0,W=0,Z=0,J=0,Q=0,ee=0,re=0,fe=0,ne=0,te=0,ae=0,se=0,le=0,oe=0,ue=0,ce=0.0;ue=c;c=c+320|0;te=ue+296|0;ne=ue+288|0;oe=ue+280|0;le=ue+272|0;se=ue+264|0;ae=ue+256|0;fe=ue+248|0;re=ue+240|0;G=ue+232|0;V=ue+224|0;$=ue+216|0;q=ue+208|0;Y=ue+200|0;j=ue+192|0;H=ue+184|0;g=ue+176|0;p=ue+168|0;v=ue+160|0;m=ue+152|0;k=ue+144|0;L=ue+136|0;x=ue+128|0;N=ue+112|0;O=ue+104|0;I=ue+96|0;P=ue+88|0;R=ue+80|0;T=ue+72|0;S=ue+64|0;E=ue+56|0;A=ue+48|0;M=ue+32|0;y=ue+24|0;_=ue+16|0;h=ue+8|0;l=ue;z=ue+309|0;D=ue+300|0;if(!((e|0)!=0&(i|0)!=0&(r|0)!=0)){a=0;c=ue;return a|0}ee=i+5592|0;s=t[ee>>2]|0;if((s+-1|0)>>>0>32){t[l>>2]=s;t[l+4>>2]=33;jf(a,1,4875,l)|0;a=0;c=ue;return a|0}J=e+112|0;t[J>>2]=1;Q=e+116|0;t[Q>>2]=1;B=i+18704|0;do{if(!(n[B>>1]|0)){switch(t[i+18676>>2]|0){case 1:{n[B>>1]=3;t[i+18700>>2]=1302083;t[i+18680>>2]=1041666;l=1;break}case 2:{n[B>>1]=3;t[i+18700>>2]=651041;t[i+18680>>2]=520833;l=1;break}case 3:{n[B>>1]=4;t[i+18700>>2]=1302083;t[i+18680>>2]=1041666;l=1;break}default:l=0}s=t[i+18684>>2]|0;e:do{if((s|0)>=4)if((s|0)<33024){switch(s|0){case 4:break;default:{Z=13;break e}}n[B>>1]=4;break}else{switch(s|0){case 33024:break;default:{Z=13;break e}}n[B>>1]=-32512;break}else{switch(s|0){case 3:break;default:{Z=13;break e}}n[B>>1]=3}}while(0);if((Z|0)==13?(l|0)==0:0)break;jf(a,2,4931,h)|0}}while(0);C=i+18700|0;s=t[C>>2]|0;do{if((s|0)<1){w=+o[i+4792+((t[i+4788>>2]|0)+-1<<2)>>2];if(w>0.0){K=t[r+24>>2]|0;_=ie(t[K+8>>2]|0,t[r+16>>2]|0)|0;_=ie(_,t[K+12>>2]|0)|0;ce=+((ie(_,t[K+24>>2]|0)|0)>>>0);t[C>>2]=~~+U(+(ce/(w*8.0*+((t[K>>2]|0)>>>0)*+((t[K+4>>2]|0)>>>0))));break}else{t[C>>2]=0;break}}else{b=t[r+24>>2]|0;K=ie(t[b+8>>2]|0,t[r+16>>2]|0)|0;K=ie(K,t[b+12>>2]|0)|0;w=+((ie(K,t[b+24>>2]|0)|0)>>>0);s=ie(s<<3,t[b>>2]|0)|0;w=w/+((ie(s,t[b+4>>2]|0)|0)>>>0);b=i+4788|0;s=t[b>>2]|0;if(s){h=s;s=0;d=0;while(1){l=i+4792+(d<<2)|0;if(+o[l>>2]>2]=w;l=t[b>>2]|0;s=1}else l=h;d=d+1|0;if(d>>>0>=l>>>0)break;else h=l}if(s)jf(a,2,5068,_)|0}}}while(0);s=n[B>>1]|0;e:do{if((s+-3&65535)>=4){if(s<<16>>16==7){jf(a,2,7228,k)|0;n[B>>1]=0;s=0;break}if((s+-256&65535)<524){jf(a,2,7283,m)|0;n[B>>1]=0;s=0;break}if((s+-1024&65535)<1180){jf(a,2,7331,v)|0;n[B>>1]=0;s=0;break}if(s<<16>>16<=-1)switch(s<<16>>16){case-32512:{s=-32512;break e}case-32768:{jf(a,2,7373,p)|0;n[B>>1]=0;s=0;break e}default:{jf(a,2,7461,g)|0;n[B>>1]=0;s=0;break e}}}else{if((s+-5&65535)<2){jf(a,2,5160,y)|0;n[B>>1]=0;s=0;break}t[i>>2]=0;t[i+12>>2]=1;t[i+16>>2]=1;f[i+18689>>0]=67;f[i+18688>>0]=1;t[i+4>>2]=0;t[i+8>>2]=0;t[i+18180>>2]=0;t[i+18184>>2]=0;t[i+5596>>2]=32;t[i+5600>>2]=32;t[i+5604>>2]=0;t[i+5612>>2]=-1;t[i+18188>>2]=1;t[i+18192>>2]=1;t[i+5608>>2]=1;l=i+4788|0;h=t[l>>2]|0;if((h|0)>1){ce=+o[i+4792+(h+-1<<2)>>2];t[M>>2]=h;u[M+8>>3]=ce;jf(a,2,5222,M)|0;t[i+4792>>2]=t[i+4792+((t[l>>2]|0)+-1<<2)>>2];t[l>>2]=1;s=n[B>>1]|0}i:do{switch(s&65535|0){case 3:{s=t[ee>>2]|0;if((s|0)>6){t[A>>2]=s+1;jf(a,2,5395,A)|0;t[ee>>2]=6;s=6}break}case 4:{s=t[ee>>2]|0;if((s|0)<2){t[E>>2]=s+1;jf(a,2,5541,E)|0;t[ee>>2]=1;s=1;break i}if((s|0)>7){t[S>>2]=s+1;jf(a,2,5695,S)|0;t[ee>>2]=7;s=7}break}default:s=t[ee>>2]|0}}while(0);l=i+40|0;t[l>>2]=t[l>>2]|1;l=i+5620|0;t[l>>2]=s+-1;if((s|0)>1){s=0;do{t[i+5624+(s<<2)>>2]=256;t[i+5756+(s<<2)>>2]=256;s=s+1|0}while((s|0)<(t[l>>2]|0))}t[i+44>>2]=4;if((n[B>>1]|0)==4){s=t[ee>>2]|0;t[i+96>>2]=1;t[i+48>>2]=0;t[i+52>>2]=0;t[i+56>>2]=1;K=s+-1|0;t[i+60>>2]=K;t[i+64>>2]=3;t[i+80>>2]=4;t[i+244>>2]=1;t[i+196>>2]=K;t[i+200>>2]=0;t[i+204>>2]=1;t[i+208>>2]=s;t[i+212>>2]=3;t[i+228>>2]=4;s=2}else s=0;t[i+4784>>2]=s;t[i+20>>2]=1;s=t[C>>2]|0;if((s|0)>=1){if((s|0)>1302083){jf(a,2,5998,R)|0;t[C>>2]=1302083}}else{t[C>>2]=1302083;jf(a,2,5849,T)|0}s=i+18680|0;l=t[s>>2]|0;if((l|0)>=1){if((l|0)>1041666){jf(a,2,6320,I)|0;t[s>>2]=1041666}}else{t[s>>2]=1041666;jf(a,2,6171,P)|0}l=t[r+16>>2]|0;d=t[r+24>>2]|0;b=t[d+8>>2]|0;s=ie(b,l)|0;_=t[d+12>>2]|0;s=ie(s,_)|0;ce=+((ie(s,t[d+24>>2]|0)|0)>>>0);s=ie(t[C>>2]<<3,t[d>>2]|0)|0;o[i+4792>>2]=ce/+((ie(s,t[d+4>>2]|0)|0)>>>0);s=n[B>>1]|0;i:do{if((l|0)==3){l=d+28|0;h=d+32|0;if(!((t[l>>2]|0)!=12|t[h>>2])){l=d+80|0;h=d+84|0;if(!((t[l>>2]|0)!=12|t[h>>2])){l=d+132|0;h=d+136|0;if(!((t[l>>2]|0)!=12|t[h>>2])){switch(s&65535|0){case 3:{if(_>>>0>1080|b>>>0>2048){t[x>>2]=b;t[x+4>>2]=_;jf(a,2,6892,x)|0;break i}break}case 4:{if(_>>>0>2160|b>>>0>4096){t[L>>2]=b;t[L+4>>2]=_;jf(a,2,7063,L)|0;break i}break}default:{}}break e}else{_=l;s=h;l=2}}else{_=l;s=h;l=1}}else{_=l;s=h;l=0}f[z>>0]=f[6659]|0;f[z+1>>0]=f[6660]|0;f[z+2>>0]=f[6661]|0;f[z+3>>0]=f[6662]|0;f[z+4>>0]=f[6663]|0;f[z+5>>0]=f[6664]|0;f[z+6>>0]=f[6665]|0;h=D;d=6666;b=h+9|0;do{f[h>>0]=f[d>>0]|0;h=h+1|0;d=d+1|0}while((h|0)<(b|0));K=(t[s>>2]|0)!=0?z:D;D=t[_>>2]|0;t[N>>2]=l;t[N+4>>2]=D;t[N+8>>2]=K;jf(a,2,6675,N)|0}else{t[O>>2]=l;jf(a,2,6493,O)|0}}while(0);n[B>>1]=0;s=0}}while(0);t[e+168>>2]=t[i+18680>>2];K=e+88|0;n[K>>1]=s;N=e+181|0;z=f[N>>0]&-2|t[i+20>>2]&1;f[N>>0]=z;D=i+24|0;z=(t[D>>2]&255)<<1&2|z&-3;f[N>>0]=z;f[N>>0]=z&-5|(t[i+28>>2]&255)<<2&4;do{if((t[D>>2]|0)!=0?(F=i+32|0,(t[F>>2]|0)!=0):0){s=ie((t[i+4788>>2]|0)*12|0,t[ee>>2]|0)|0;l=Nn(s)|0;t[e+176>>2]=l;if(l){Dl(l|0,t[F>>2]|0,s|0)|0;break}jf(a,1,7520,H)|0;a=0;c=ue;return a|0}}while(0);d=e+100|0;t[d>>2]=t[i+12>>2];b=e+104|0;t[b>>2]=t[i+16>>2];h=e+92|0;t[h>>2]=t[i+4>>2];_=e+96|0;t[_>>2]=t[i+8>>2];l=i+36|0;s=t[l>>2]|0;do{if(!s){s=rn()|0;l=Nn((dl(s)|0)+29|0)|0;t[e+108>>2]=l;if(l){t[q>>2]=7697;t[q+4>>2]=s;nl(l,7692,q)|0;break}jf(a,1,7646,Y)|0;a=0;c=ue;return a|0}else{s=Nn((dl(s)|0)+1|0)|0;t[e+108>>2]=s;if(s){hl(s,t[l>>2]|0)|0;break}jf(a,1,7592,j)|0;a=0;c=ue;return a|0}}while(0);s=(t[r+8>>2]|0)-(t[h>>2]|0)|0;l=t[r+12>>2]|0;if(!(t[i>>2]|0)){t[d>>2]=s;t[b>>2]=l-(t[_>>2]|0)}else{q=t[d>>2]|0;t[J>>2]=(s+-1+q|0)/(q|0)|0;q=t[b>>2]|0;t[Q>>2]=(l+-1-(t[_>>2]|0)+q|0)/(q|0)|0}if(f[i+18688>>0]|0){f[e+180>>0]=f[i+18689>>0]|0;f[N>>0]=f[N>>0]|8}q=Fn(ie(t[Q>>2]|0,t[J>>2]|0)|0,5640)|0;D=e+164|0;t[D>>2]=q;if(!q){jf(a,1,7726,$)|0;a=0;c=ue;return a|0}z=i+4784|0;S=t[z>>2]|0;do{if(S){y=i+48|0;T=t[ee>>2]|0;R=t[r+16>>2]|0;C=t[i+4788>>2]|0;P=ie(R,T)|0;I=Fn(ie(P,C)|0,4)|0;if(!I){jf(a,1,7780,V)|0;break}h=t[y>>2]|0;m=i+60|0;s=t[m>>2]|0;if(h>>>0>>0){k=ie(h,R)|0;v=i+52|0;p=i+64|0;g=i+56|0;l=t[p>>2]|0;while(1){d=t[v>>2]|0;if(d>>>0>>0){s=t[g>>2]|0;_=d;b=d+k|0;while(1){if(!s)s=0;else{l=b;d=0;while(1){t[I+(l<<2)>>2]=1;d=d+1|0;s=t[g>>2]|0;if(d>>>0>=s>>>0)break;else l=l+P|0}l=t[p>>2]|0}_=_+1|0;if(_>>>0>=l>>>0)break;else b=b+1|0}s=t[m>>2]|0}h=h+1|0;if(h>>>0>=s>>>0)break;else k=k+R|0}}if(S>>>0>1){E=1;do{s=y;y=y+148|0;g=t[s+8>>2]|0;p=s+156|0;d=t[p>>2]|0;g=d>>>0>g>>>0?g:0;b=t[y>>2]|0;M=s+160|0;l=t[M>>2]|0;if(b>>>0>>0){k=ie(b,R)|0;A=s+152|0;m=s+164|0;v=ie(g,P)|0;h=t[m>>2]|0;s=d;while(1){d=t[A>>2]|0;if(d>>>0>>0){_=d;d=d+k|0;while(1){if(g>>>0>>0){l=d+v|0;h=g;while(1){t[I+(l<<2)>>2]=1;h=h+1|0;s=t[p>>2]|0;if(h>>>0>=s>>>0)break;else l=l+P|0}h=t[m>>2]|0}_=_+1|0;if(_>>>0>=h>>>0)break;else d=d+1|0}l=t[M>>2]|0}b=b+1|0;if(b>>>0>=l>>>0)break;else k=k+R|0}}E=E+1|0}while((E|0)!=(S|0))}if((C|0)!=0?(X=(R|0)==0,(T|0)!=0):0){l=0;k=0;s=0;do{if(!X){_=l;b=0;while(1){h=0;d=_;while(1){s=(t[I+(d<<2)>>2]|0)!=1|s;h=h+1|0;if((h|0)==(R|0))break;else d=d+1|0}b=b+1|0;if((b|0)==(T|0))break;else _=_+R|0}l=P+l|0}k=k+1|0}while((k|0)!=(C|0));if(s)jf(a,1,7828,G)|0}Yn(I)}}while(0);e:do{if(ie(t[Q>>2]|0,t[J>>2]|0)|0){y=i+4788|0;M=i+40|0;A=i+44|0;E=i+18690|0;S=r+16|0;l=i+18696|0;T=r+24|0;R=i+5596|0;C=i+5600|0;P=i+5604|0;I=i+5608|0;O=i+5612|0;x=i+5616|0;L=i+5620|0;B=0;i:while(1){k=t[D>>2]|0;m=k+(B*5640|0)|0;G=t[y>>2]|0;s=k+(B*5640|0)+8|0;t[s>>2]=G;if(G){h=((n[K>>1]|0)+-3&65535)<4;b=0;do{d=(f[N>>0]&4)==0;do{if(!h)if(d){t[k+(B*5640|0)+20+(b<<2)>>2]=t[i+4792+(b<<2)>>2];break}else{t[k+(B*5640|0)+5184+(b<<2)>>2]=t[i+5192+(b<<2)>>2];break}else{if(!d)t[k+(B*5640|0)+5184+(b<<2)>>2]=t[i+5192+(b<<2)>>2];t[k+(B*5640|0)+20+(b<<2)>>2]=t[i+4792+(b<<2)>>2]}}while(0);b=b+1|0}while(b>>>0<(t[s>>2]|0)>>>0)}t[m>>2]=t[M>>2];t[k+(B*5640|0)+4>>2]=t[A>>2];_=k+(B*5640|0)+16|0;t[_>>2]=f[E>>0];s=k+(B*5640|0)+5636|0;h=f[s>>0]|0;f[s>>0]=h&-5;if(!(t[z>>2]|0))t[k+(B*5640|0)+420>>2]=0;else{f[s>>0]=h|4;h=t[z>>2]|0;if(!h)s=0;else{d=B+1|0;b=0;s=0;do{if((d|0)==(t[i+48+(b*148|0)+48>>2]|0)){t[k+(B*5640|0)+424+(s*148|0)>>2]=t[i+48+(s*148|0)>>2];t[k+(B*5640|0)+424+(s*148|0)+4>>2]=t[i+48+(s*148|0)+4>>2];t[k+(B*5640|0)+424+(s*148|0)+8>>2]=t[i+48+(s*148|0)+8>>2];t[k+(B*5640|0)+424+(s*148|0)+12>>2]=t[i+48+(s*148|0)+12>>2];t[k+(B*5640|0)+424+(s*148|0)+16>>2]=t[i+48+(s*148|0)+16>>2];t[k+(B*5640|0)+424+(s*148|0)+32>>2]=t[i+48+(s*148|0)+32>>2];t[k+(B*5640|0)+424+(s*148|0)+48>>2]=t[i+48+(s*148|0)+48>>2];s=s+1|0}b=b+1|0}while(b>>>0>>0)}t[k+(B*5640|0)+420>>2]=s+-1}G=Fn(t[S>>2]|0,1080)|0;g=k+(B*5640|0)+5584|0;t[g>>2]=G;if(!G){Z=149;break}do{if(!(t[l>>2]|0)){r:do{if((t[_>>2]|0)==1){s=t[S>>2]|0;if(s>>>0<=2){d=s;break}h=t[T>>2]|0;s=t[h>>2]|0;do{if((s|0)==(t[h+52>>2]|0)){if((s|0)!=(t[h+104>>2]|0))break;s=t[h+4>>2]|0;if((s|0)!=(t[h+56>>2]|0))break;if((s|0)==(t[h+108>>2]|0)){Z=175;break r}}}while(0);jf(a,2,8224,te)|0;t[_>>2]=0;Z=175}else Z=175}while(0);if((Z|0)==175){Z=0;d=t[S>>2]|0}if(!d)break;s=t[T>>2]|0;h=0;do{if(!(t[s+(h*52|0)+32>>2]|0))t[(t[g>>2]|0)+(h*1080|0)+1076>>2]=1<<(t[s+(h*52|0)+24>>2]|0)+-1;h=h+1|0}while(h>>>0>>0);W=d;Z=166}else{d=t[S>>2]|0;d=ie(d<<2,d)|0;s=Nn(d)|0;b=(t[l>>2]|0)+d|0;if(!s){Z=152;break i}t[_>>2]=2;h=Nn(d)|0;t[k+(B*5640|0)+5608>>2]=h;if(!h){Z=154;break i}Dl(h|0,t[l>>2]|0,d|0)|0;Dl(s|0,t[l>>2]|0,d|0)|0;h=Nn(d)|0;d=k+(B*5640|0)+5604|0;t[d>>2]=h;if(!h){Z=156;break i}if(!(Na(s,h,t[S>>2]|0)|0)){Z=158;break i}h=Nn(t[S>>2]<<3)|0;t[k+(B*5640|0)+5600>>2]=h;if(!h){Z=160;break i}vr(h,t[S>>2]|0,t[d>>2]|0);Yn(s);s=t[S>>2]|0;if(s){h=t[g>>2]|0;d=0;do{t[h+(d*1080|0)+1076>>2]=t[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(!(Kn(m,r)|0)){Z=167;break i}W=t[S>>2]|0;Z=166}}while(0);if((Z|0)==166?(Z=0,(W|0)!=0):0){p=0;do{m=t[g>>2]|0;v=m+(p*1080|0)|0;t[v>>2]=t[M>>2]&1;d=t[ee>>2]|0;b=m+(p*1080|0)+4|0;t[b>>2]=d;s=t[R>>2]|0;if((s|0)>1){h=0;do{s=s>>1;h=h+1|0}while((s|0)>1);s=h}else s=0;t[m+(p*1080|0)+8>>2]=s;s=t[C>>2]|0;if((s|0)>1){h=0;do{s=s>>1;h=h+1|0}while((s|0)>1);s=h}else s=0;t[m+(p*1080|0)+12>>2]=s;t[m+(p*1080|0)+16>>2]=t[P>>2];G=t[I>>2]|0;t[m+(p*1080|0)+20>>2]=(G|0)==0&1;t[m+(p*1080|0)+24>>2]=(G|0)!=0?2:0;t[m+(p*1080|0)+804>>2]=2;if((p|0)==(t[O>>2]|0))s=t[x>>2]|0;else s=0;t[m+(p*1080|0)+808>>2]=s;do{if(!(t[M>>2]&1)){if(!d)break;else s=0;do{t[m+(p*1080|0)+812+(s<<2)>>2]=15;t[m+(p*1080|0)+944+(s<<2)>>2]=15;s=s+1|0}while(s>>>0<(t[b>>2]|0)>>>0)}else{if((d|0)>0){b=d;k=0}else break;while(1){_=b;b=b+-1|0;s=t[L>>2]|0;do{if((k|0)<(s|0)){s=t[i+5624+(k<<2)>>2]|0;if((s|0)<1)t[m+(p*1080|0)+812+(b<<2)>>2]=1;else{if((s|0)>1){h=0;do{s=s>>1;h=h+1|0}while((s|0)>1);s=h}else s=0;t[m+(p*1080|0)+812+(b<<2)>>2]=s}s=t[i+5756+(k<<2)>>2]|0;if((s|0)<1){t[m+(p*1080|0)+944+(b<<2)>>2]=1;break}if((s|0)>1){h=0;do{s=s>>1;h=h+1|0}while((s|0)>1);s=h}else s=0;t[m+(p*1080|0)+944+(b<<2)>>2]=s}else{G=s+-1|0;h=k-G|0;s=t[i+5624+(G<<2)>>2]>>h;h=t[i+5756+(G<<2)>>2]>>h;if((s|0)<1)t[m+(p*1080|0)+812+(b<<2)>>2]=1;else{if((s|0)>1){d=0;do{s=s>>1;d=d+1|0}while((s|0)>1);s=d}else s=0;t[m+(p*1080|0)+812+(b<<2)>>2]=s}if((h|0)<1){t[m+(p*1080|0)+944+(b<<2)>>2]=1;break}if((h|0)>1){s=0;do{h=h>>1;s=s+1|0}while((h|0)>1)}else s=0;t[m+(p*1080|0)+944+(b<<2)>>2]=s}}while(0);if((_|0)<=1)break;else k=k+1|0}}}while(0);Ca(v,t[(t[T>>2]|0)+(p*52|0)+24>>2]|0);p=p+1|0}while(p>>>0<(t[S>>2]|0)>>>0)}B=B+1|0;if(B>>>0>=(ie(t[Q>>2]|0,t[J>>2]|0)|0)>>>0)break e}if((Z|0)==149){jf(a,1,7867,re)|0;a=0;c=ue;return a|0}else if((Z|0)==152){jf(a,1,7931,fe)|0;a=0;c=ue;return a|0}else if((Z|0)==154){Yn(s);jf(a,1,7974,ae)|0;a=0;c=ue;return a|0}else if((Z|0)==156){Yn(s);jf(a,1,8032,se)|0;a=0;c=ue;return a|0}else if((Z|0)==158){Yn(s);jf(a,1,8092,le)|0;a=0;c=ue;return a|0}else if((Z|0)==160){Yn(s);jf(a,1,8140,oe)|0;a=0;c=ue;return a|0}else if((Z|0)==167){jf(a,1,8190,ne)|0;a=0;c=ue;return a|0}}else l=i+18696|0}while(0);s=t[l>>2]|0;if(!s){a=1;c=ue;return a|0}Yn(s);t[l>>2]=0;a=1;c=ue;return a|0}function Kn(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0;if((t[e+16>>2]|0)!=2){e=1;return e|0}h=e+5604|0;w=e+5616|0;r=t[w>>2]|0;d=e+5620|0;do{if(t[h>>2]|0){do{if((r|0)==(t[d>>2]|0)){r=r+10|0;t[d>>2]=r;n=e+5612|0;r=jn(t[n>>2]|0,r*20|0)|0;if(r){t[n>>2]=r;k=t[w>>2]|0;xl(r+(k*20|0)|0,0,((t[d>>2]|0)-k|0)*20|0)|0;r=t[w>>2]|0;break}Yn(t[n>>2]|0);t[n>>2]=0;t[d>>2]=0;t[w>>2]=0;e=0;return e|0}else n=e+5612|0}while(0);u=t[n>>2]|0;s=u+(r*20|0)|0;c=u+(r*20|0)+12|0;n=t[c>>2]|0;if(n){Yn(n);t[c>>2]=0}t[u+(r*20|0)+8>>2]=1;t[u+(r*20|0)+4>>2]=1;t[s>>2]=2;n=t[i+16>>2]|0;n=ie(n,n)|0;a=n<<2;l=Nn(a)|0;t[c>>2]=l;if(!l){e=0;return e|0}else{So[t[768+(t[s>>2]<<2)>>2]&15](t[h>>2]|0,l,n);t[u+(r*20|0)+16>>2]=a;r=(t[w>>2]|0)+1|0;t[w>>2]=r;l=2;break}}else{l=1;s=0}}while(0);do{if((r|0)==(t[d>>2]|0)){n=r+10|0;t[d>>2]=n;r=e+5612|0;n=jn(t[r>>2]|0,n*20|0)|0;if(!n){Yn(t[r>>2]|0);t[r>>2]=0;t[d>>2]=0;t[w>>2]=0;e=0;return e|0}else{t[r>>2]=n;a=t[w>>2]|0;xl(n+(a*20|0)|0,0,((t[d>>2]|0)-a|0)*20|0)|0;if(!s){s=0;break}s=n+((a+-1|0)*20|0)|0;break}}else r=e+5612|0}while(0);h=t[r>>2]|0;d=t[w>>2]|0;k=h+(d*20|0)|0;b=h+(d*20|0)+12|0;r=t[b>>2]|0;if(r){Yn(r);t[b>>2]=0}_=l+1|0;t[h+(d*20|0)+8>>2]=l;t[h+(d*20|0)+4>>2]=2;t[k>>2]=2;i=i+16|0;r=t[i>>2]|0;n=r<<2;c=Nn(n)|0;t[b>>2]=c;if(!c){e=0;return e|0}a=Nn(n)|0;if(!a){Yn(t[b>>2]|0);t[b>>2]=0;e=0;return e|0}if(r){l=0;u=a;c=t[e+5584>>2]|0;while(1){o[u>>2]=+(t[c+1076>>2]|0);l=l+1|0;if((l|0)==(r|0))break;else{u=u+4|0;c=c+1080|0}}}So[t[768+(t[k>>2]<<2)>>2]&15](a,t[b>>2]|0,r);Yn(a);t[h+(d*20|0)+16>>2]=n;t[w>>2]=(t[w>>2]|0)+1;l=e+5628|0;r=t[l>>2]|0;a=e+5632|0;do{if((r|0)==(t[a>>2]|0)){r=r+10|0;t[a>>2]=r;n=e+5624|0;r=jn(t[n>>2]|0,r*20|0)|0;if(r){t[n>>2]=r;e=t[l>>2]|0;xl(r+(e*20|0)|0,0,((t[a>>2]|0)-e|0)*20|0)|0;r=t[l>>2]|0;break}Yn(t[n>>2]|0);t[n>>2]=0;t[a>>2]=0;t[l>>2]=0;e=0;return e|0}else n=e+5624|0}while(0);e=t[n>>2]|0;t[e+(r*20|0)+8>>2]=s;w=e+(r*20|0)+16|0;f[w>>0]=f[w>>0]|1;t[e+(r*20|0)+4>>2]=t[i>>2];t[e+(r*20|0)>>2]=_;t[e+(r*20|0)+12>>2]=k;t[l>>2]=(t[l>>2]|0)+1;e=1;return e|0}function Wn(e,i,r){e=e|0;i=i|0;r=r|0;return 1}function Zn(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0;o=$f()|0;u=i+80|0;t[u>>2]=o;if(!o){u=0;return u|0}n=i+192|0;if((oa(t[n>>2]|0,23,f)|0)!=0?(oa(t[n>>2]|0,24,f)|0)!=0:0){s=t[n>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(po[t[n>>2]&63](i,e,f)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}ha(s);if(!a){Xf(t[u>>2]|0);t[u>>2]=0;u=0;return u|0}}else ha(s);n=i+188|0;if((oa(t[n>>2]|0,25,f)|0)!=0?(oa(t[n>>2]|0,26,f)|0)!=0:0){s=t[n>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(po[t[n>>2]&63](i,e,f)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}ha(s);if(!a){Xf(t[u>>2]|0);t[u>>2]=0;u=0;return u|0}}else ha(s);n=$f()|0;t[r>>2]=n;if(!n){u=0;return u|0}Kf(t[u>>2]|0,n);n=ie(t[i+116>>2]|0,t[i+112>>2]|0)|0;l=i+196|0;t[(t[l>>2]|0)+36>>2]=n;n=Fn(n,40)|0;a=t[l>>2]|0;t[a+40>>2]=n;if(!n){u=0;return u|0}if(!(t[a+36>>2]|0)){u=1;return u|0}s=0;while(1){t[n+(s*40|0)+28>>2]=100;t[n+(s*40|0)+20>>2]=0;u=Fn(100,24)|0;a=t[l>>2]|0;n=t[a+40>>2]|0;t[n+(s*40|0)+24>>2]=u;s=s+1|0;if(!u){n=0;a=30;break}if(s>>>0>=(t[a+36>>2]|0)>>>0){n=1;a=30;break}}if((a|0)==30)return n|0}Xf(t[u>>2]|0);t[u>>2]=0;u=0;return u|0}Xf(t[u>>2]|0);t[u>>2]=0;u=0;return u|0}function Jn(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0;if(!e)return;i=e+28|0;r=t[i>>2]|0;if(r){Yn(r);t[i>>2]=0}s=e+40|0;i=t[s>>2]|0;if(i){a=e+36|0;if(t[a>>2]|0){r=i;n=0;do{f=t[r+(n*40|0)+36>>2]|0;if(f){Yn(f);i=t[s>>2]|0;t[i+(n*40|0)+36>>2]=0;r=i}f=t[r+(n*40|0)+16>>2]|0;if(f){Yn(f);i=t[s>>2]|0;t[i+(n*40|0)+16>>2]=0;r=i}f=t[r+(n*40|0)+24>>2]|0;if(f){Yn(f);r=t[s>>2]|0;t[r+(n*40|0)+24>>2]=0;i=r}n=n+1|0}while(n>>>0<(t[a>>2]|0)>>>0)}Yn(i);t[s>>2]=0}Yn(e);return}function Qn(e,i,r,a,s,l,o,u,h,d,b){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;d=d|0;b=b|0;var _=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,U=0,j=0,Y=0,q=0,$=0,V=0,X=0,G=0,K=0,W=0,Z=0,J=0,Q=0,ee=0,re=0,fe=0,ne=0,te=0,ae=0,se=0,le=0,oe=0,ue=0,ce=0,he=0,de=0,be=0,_e=0,ke=0,we=0,me=0,ve=0,pe=0,ge=0,ye=0,Me=0,Ae=0,Ee=0,Se=0,Te=0,Re=0,Ce=0;Ce=c;c=c+256|0;Re=Ce+200|0;Te=Ce+192|0;Ee=Ce+184|0;Ae=Ce+176|0;_e=Ce+168|0;be=Ce+160|0;de=Ce+152|0;he=Ce+144|0;ce=Ce+136|0;ue=Ce+128|0;le=Ce+120|0;se=Ce+112|0;ye=Ce+104|0;pe=Ce+96|0;ae=Ce+88|0;te=Ce+80|0;ne=Ce+72|0;ge=Ce+64|0;fe=Ce+56|0;re=Ce+48|0;me=Ce+40|0;we=Ce+32|0;ke=Ce+24|0;oe=Ce+16|0;ee=Ce+8|0;Q=Ce;X=Ce+240|0;$=Ce+236|0;K=Ce+232|0;Z=Ce+228|0;J=Ce+224|0;V=Ce+220|0;W=Ce+216|0;q=Ce+212|0;G=Ce+208|0;t[q>>2]=65424;Se=e+8|0;e:do{switch(t[Se>>2]|0){case 256:{t[q>>2]=65497;_=e+76|0;Me=117;break}case 8:{ve=e+76|0;if(!(f[ve>>0]&1)){H=e+200|0;U=e+164|0;j=e+72|0;Y=e+24|0;T=e+196|0;R=e+112|0;C=e+116|0;O=X+2|0;x=X+6|0;L=X+7|0;B=e+16|0;z=e+20|0;D=e+64|0;_=65424;i:while(1){r:do{if((_|0)!=65427){while(1){S=Nf(d)|0;if((S|0)==0&(I|0)==0){Me=7;break}if((Lf(d,t[B>>2]|0,2,b)|0)!=2){Me=9;break i}hf(t[B>>2]|0,G,2);if((t[G>>2]|0)>>>0<2){Me=11;break i}if((t[q>>2]|0)==32896?(S=Nf(d)|0,(S|0)==0&(I|0)==0):0){Me=14;break}m=t[Se>>2]|0;_=t[G>>2]|0;if(m&16)t[Y>>2]=-2-_+(t[Y>>2]|0);k=_+-2|0;t[G>>2]=k;_=t[q>>2]|0;w=784;while(1){S=t[w>>2]|0;if((S|0)==0|(S|0)==(_|0)){A=w;break}else w=w+12|0}if(!(t[w+4>>2]&m)){Me=20;break i}if(k>>>0>(t[z>>2]|0)>>>0){S=Nf(d)|0;E=I;if(0>(E|0)|0==(E|0)&k>>>0>S>>>0){Me=24;break i}_=jn(t[B>>2]|0,t[G>>2]|0)|0;if(!_){Me=26;break i}t[B>>2]=_;k=t[G>>2]|0;t[z>>2]=k}else _=t[B>>2]|0;k=Lf(d,_,k,b)|0;if((k|0)!=(t[G>>2]|0)){Me=29;break i}_=t[w+8>>2]|0;if(!_){Me=31;break i}if(!(Ro[_&63](e,t[B>>2]|0,k,b)|0)){Me=33;break i}w=t[H>>2]|0;k=t[T>>2]|0;g=t[A>>2]|0;y=Df(d)|0;M=t[G>>2]|0;y=y-M+-4|0;M=M+4|0;k=k+40|0;p=t[k>>2]|0;_=t[p+(w*40|0)+20>>2]|0;m=p+(w*40|0)+28|0;v=t[m>>2]|0;if((_+1|0)>>>0>v>>>0){v=~~(+(v>>>0)+100.0)>>>0;t[m>>2]=v;m=jn(t[p+(w*40|0)+24>>2]|0,v*24|0)|0;v=t[k>>2]|0;_=v+(w*40|0)+24|0;if(!m){Me=41;break i}t[_>>2]=m;k=v;_=t[v+(w*40|0)+20>>2]|0}else{k=p;m=t[p+(w*40|0)+24>>2]|0}n[m+(_*24|0)>>1]=g;S=m+(_*24|0)+8|0;t[S>>2]=y;t[S+4>>2]=((y|0)<0)<<31>>31;t[m+(_*24|0)+16>>2]=M;t[k+(w*40|0)+20>>2]=_+1;if((g|0)==65424?(P=t[k+(w*40|0)+16>>2]|0,(P|0)!=0):0){S=P+((t[k+(w*40|0)+12>>2]|0)*24|0)|0;t[S>>2]=y;t[S+4>>2]=0}do{if((t[A>>2]|0)==65424){_=Df(d)|0;_=-4-(t[G>>2]|0)+_|0;S=D;E=t[S+4>>2]|0;if(!(0>(E|0)|(0==(E|0)?_>>>0>(t[S>>2]|0)>>>0:0)))break;S=D;t[S>>2]=_;t[S+4>>2]=0}}while(0);if(f[ve>>0]&4){Me=46;break}if((Lf(d,t[B>>2]|0,2,b)|0)!=2){Me=50;break i}hf(t[B>>2]|0,q,2);if((t[q>>2]|0)==65427)break r}if((Me|0)==7){Me=0;t[Se>>2]=64;break}else if((Me|0)==14){Me=0;t[Se>>2]=64;break}else if((Me|0)==46){Me=0;S=Ff(d,t[Y>>2]|0,0,b)|0;if(!((I|0)==0?(S|0)==(t[Y>>2]|0):0)){Me=47;break i}t[q>>2]=65427;break}}}while(0);S=Nf(d)|0;if((S|0)==0&(I|0)==0?(t[Se>>2]|0)==64:0){Me=115;break}_=f[ve>>0]|0;if(!(_&4)){k=t[H>>2]|0;w=t[U>>2]|0;if(!(t[j>>2]|0)){_=t[Y>>2]|0;if(_>>>0>1){m=_+-2|0;t[Y>>2]=m}else m=_}else{m=Nf(d)|0;m=Bl(m|0,I|0,-2,0)|0;t[Y>>2]=m}_=w+(k*5640|0)+5592|0;S=w+(k*5640|0)+5596|0;do{if(!m)E=1;else{E=Nf(d)|0;A=I;if(0>(A|0)|0==(A|0)&m>>>0>E>>>0)jf(b,2,8573,ae)|0;k=t[_>>2]|0;if(!k){E=Nn(t[Y>>2]|0)|0;t[_>>2]=E;if(!E)break i;else{E=0;break}}k=jn(k,(t[Y>>2]|0)+(t[S>>2]|0)|0)|0;if(!k){Me=65;break i}t[_>>2]=k;E=0}}while(0);k=t[T>>2]|0;if(k){y=Df(d)|0;m=I;A=Bl(y|0,m|0,-2,-1)|0;w=t[H>>2]|0;k=k+40|0;p=t[k>>2]|0;g=t[p+(w*40|0)+12>>2]|0;v=t[p+(w*40|0)+16>>2]|0;M=v+(g*24|0)+8|0;t[M>>2]=A;t[M+4>>2]=I;M=t[Y>>2]|0;m=Bl(M|0,0,y|0,m|0)|0;g=v+(g*24|0)+16|0;t[g>>2]=m;t[g+4>>2]=I;M=M+2|0;g=t[p+(w*40|0)+20>>2]|0;m=p+(w*40|0)+28|0;v=t[m>>2]|0;if((g+1|0)>>>0>v>>>0){v=~~(+(v>>>0)+100.0)>>>0;t[m>>2]=v;m=jn(t[p+(w*40|0)+24>>2]|0,v*24|0)|0;v=t[k>>2]|0;p=v+(w*40|0)+24|0;if(!m){_=p;Me=74;break}t[p>>2]=m;y=v;k=t[v+(w*40|0)+20>>2]|0}else{y=p;m=t[p+(w*40|0)+24>>2]|0;k=g}n[m+(k*24|0)>>1]=-109;g=Ol(0,A|0,32)|0;A=m+(k*24|0)+8|0;t[A>>2]=g;t[A+4>>2]=I;t[m+(k*24|0)+16>>2]=M;t[y+(w*40|0)+20>>2]=k+1}if(!E)_=Lf(d,(t[_>>2]|0)+(t[S>>2]|0)|0,t[Y>>2]|0,b)|0;else _=0;t[Se>>2]=(_|0)==(t[Y>>2]|0)?8:64;t[S>>2]=(t[S>>2]|0)+_;_=f[ve>>0]|0;if((_&9)==1){f[ve>>0]=_|8;k=t[H>>2]|0;do{if((Uf(d)|0)!=0?(N=Df(d)|0,F=I,!((N|0)==-1&(F|0)==-1)):0){while(1){if((Lf(d,X,2,b)|0)!=2){Me=81;break}hf(X,$,2);if((t[$>>2]|0)!=65424){Me=83;break}if((Lf(d,X,2,b)|0)!=2){Me=85;break}hf(X,K,2);if((t[K>>2]|0)!=10){Me=87;break}t[K>>2]=8;_=Lf(d,X,8,b)|0;if((_|0)!=(t[K>>2]|0)){Me=89;break}if((_|0)!=8){Me=91;break}hf(X,Z,2);hf(O,J,4);hf(x,V,1);hf(L,W,1);if((t[Z>>2]|0)==(k|0)){Me=97;break}_=t[J>>2]|0;if(_>>>0<14){Me=94;break}Me=_+-12|0;t[J>>2]=Me;Me=Ff(d,Me,0,b)|0;if(!((I|0)==0?(Me|0)==(t[J>>2]|0):0)){Me=96;break}}if((Me|0)==81){Me=0;_=(Hf(d,N,F,b)|0)!=0&1;k=0;break}else if((Me|0)==83){Me=0;_=(Hf(d,N,F,b)|0)!=0&1;k=0;break}else if((Me|0)==85){Me=0;jf(b,1,8295,se)|0;_=0;k=0;break}else if((Me|0)==87){Me=0;jf(b,1,8313,le)|0;_=0;k=0;break}else if((Me|0)==89){Me=0;jf(b,1,8295,ue)|0;_=0;k=0;break}else if((Me|0)==91){Me=0;jf(b,1,8662,ce)|0;_=0;k=0;break}else if((Me|0)==94){Me=0;_=(Hf(d,N,F,b)|0)!=0&1;k=0;break}else if((Me|0)==96){Me=0;_=(Hf(d,N,F,b)|0)!=0&1;k=0;break}else if((Me|0)==97){Me=0;k=(t[V>>2]|0)==(t[W>>2]|0)&1;_=(Hf(d,N,F,b)|0)!=0&1;break}}else{_=1;k=0}}while(0);if(!_){Me=99;break}if(k){_=ie(t[C>>2]|0,t[R>>2]|0)|0;f[ve>>0]=f[ve>>0]&-18|16;if(_){k=t[U>>2]|0;v=0;do{w=k+(v*5640|0)+5588|0;m=t[w>>2]|0;if(m)t[w>>2]=m+1;v=v+1|0}while((v|0)!=(_|0))}jf(b,2,8734,de)|0}}if(!(f[ve>>0]&1)){if((Lf(d,t[B>>2]|0,2,b)|0)!=2){Me=109;break}hf(t[B>>2]|0,q,2)}}else{f[ve>>0]=_&-6;t[Se>>2]=8;if((Lf(d,t[B>>2]|0,2,b)|0)!=2){Me=113;break}hf(t[B>>2]|0,q,2)}_=t[q>>2]|0;if(!((_|0)!=65497&(f[ve>>0]&1)==0)){Me=116;break}}switch(Me|0){case 9:{jf(b,1,8295,Q)|0;b=0;c=Ce;return b|0}case 11:{jf(b,1,8313,ee)|0;b=0;c=Ce;return b|0}case 20:{jf(b,1,8339,oe)|0;b=0;c=Ce;return b|0}case 24:{jf(b,1,8382,ke)|0;b=0;c=Ce;return b|0}case 26:{Yn(t[B>>2]|0);t[B>>2]=0;t[z>>2]=0;jf(b,1,8427,we)|0;b=0;c=Ce;return b|0}case 29:{jf(b,1,8295,me)|0;b=0;c=Ce;return b|0}case 31:{jf(b,1,8461,re)|0;b=0;c=Ce;return b|0}case 33:{t[fe>>2]=t[q>>2];jf(b,1,8490,fe)|0;b=0;c=Ce;return b|0}case 41:{Yn(t[_>>2]|0);Re=t[k>>2]|0;t[Re+(w*40|0)+24>>2]=0;t[Re+(w*40|0)+28>>2]=0;t[Re+(w*40|0)+20>>2]=0;jf(b,1,8537,ge)|0;b=0;c=Ce;return b|0}case 47:{jf(b,1,8295,ne)|0;b=0;c=Ce;return b|0}case 50:{jf(b,1,8295,te)|0;b=0;c=Ce;return b|0}case 65:{Yn(t[_>>2]|0);t[_>>2]=0;break}case 74:{Yn(t[_>>2]|0);Re=t[k>>2]|0;t[Re+(w*40|0)+24>>2]=0;t[Re+(w*40|0)+28>>2]=0;t[Re+(w*40|0)+20>>2]=0;jf(b,1,8537,ye)|0;b=0;c=Ce;return b|0}case 99:{jf(b,1,8688,he)|0;b=0;c=Ce;return b|0}case 109:{jf(b,1,8295,be)|0;b=0;c=Ce;return b|0}case 113:{jf(b,1,8295,_e)|0;b=0;c=Ce;return b|0}case 115:{_=t[q>>2]|0;Me=116;break}}if((Me|0)==116)if((_|0)==65497){_=ve;Me=117;break e}else{_=ve;break e}jf(b,1,8628,pe)|0;b=0;c=Ce;return b|0}else _=ve;break}default:{b=0;c=Ce;return b|0}}}while(0);if((Me|0)==117)if((t[Se>>2]|0)!=256){t[e+200>>2]=0;t[Se>>2]=256}if(!(f[_>>0]&1)){m=ie(t[e+112>>2]|0,t[e+116>>2]|0)|0;v=e+200|0;k=t[v>>2]|0;e:do{if(k>>>0>>0){_=k;w=(t[e+164>>2]|0)+(k*5640|0)|0;while(1){if(t[w+5592>>2]|0){k=_;break e}k=_+1|0;t[v>>2]=k;if(k>>>0>>0){_=k;w=w+5640|0}else break}}}while(0);if((k|0)==(m|0)){t[h>>2]=0;b=1;c=Ce;return b|0}}else{k=e+200|0;v=k;k=t[k>>2]|0}S=t[e+164>>2]|0;if(f[S+(k*5640|0)+5636>>0]&2){T=S+(k*5640|0)+5160|0;w=t[T>>2]|0;if(!w)_=0;else{m=t[S+(k*5640|0)+5164>>2]|0;p=0;_=0;do{_=(t[m+(p<<3)+4>>2]|0)+_|0;p=p+1|0}while((p|0)!=(w|0))}Me=Nn(_)|0;E=S+(k*5640|0)+5172|0;t[E>>2]=Me;if(!Me){jf(b,1,8775,Ae)|0;jf(b,1,8813,Ee)|0;b=0;c=Ce;return b|0}A=S+(k*5640|0)+5180|0;t[A>>2]=_;w=t[T>>2]|0;M=S+(k*5640|0)+5164|0;if(!w)_=t[M>>2]|0;else{_=t[M>>2]|0;g=_;y=0;p=0;while(1){m=t[g+(y<<3)>>2]|0;if(!m)m=g;else{Dl((t[E>>2]|0)+p|0,m|0,t[g+(y<<3)+4>>2]|0)|0;m=t[M>>2]|0;p=(t[m+(y<<3)+4>>2]|0)+p|0;Yn(t[m+(y<<3)>>2]|0);m=t[M>>2]|0;t[m+(y<<3)>>2]=0;t[m+(y<<3)+4>>2]=0;w=t[T>>2]|0;_=m}y=y+1|0;if(y>>>0>=w>>>0)break;else g=m}}t[T>>2]=0;Yn(_);t[M>>2]=0;t[S+(k*5640|0)+5168>>2]=t[E>>2];t[S+(k*5640|0)+5176>>2]=t[A>>2];k=t[v>>2]|0}_=e+204|0;if(!(Nr(t[_>>2]|0,k,b)|0)){jf(b,1,8839,Te)|0;b=0;c=Ce;return b|0}else{Te=ie(t[e+112>>2]|0,t[e+116>>2]|0)|0;t[Re>>2]=(t[v>>2]|0)+1;t[Re+4>>2]=Te;jf(b,4,8873,Re)|0;t[i>>2]=t[v>>2];t[h>>2]=1;t[r>>2]=Fr(t[_>>2]|0)|0;b=t[t[(t[_>>2]|0)+20>>2]>>2]|0;t[a>>2]=t[b>>2];t[s>>2]=t[b+4>>2];t[l>>2]=t[b+8>>2];t[o>>2]=t[b+12>>2];t[u>>2]=t[b+16>>2];t[Se>>2]=t[Se>>2]|128;b=1;c=Ce;return b|0}return 0}function et(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0;v=c;c=c+48|0;w=v+28|0;m=v+32|0;b=e+8|0;if(!(t[b>>2]&128)){a=0;c=v;return a|0}k=e+200|0;if((t[k>>2]|0)!=(i|0)){a=0;c=v;return a|0}l=t[e+164>>2]|0;d=l+(i*5640|0)|0;_=l+(i*5640|0)+5592|0;o=t[_>>2]|0;if(!o){_t(d);a=0;c=v;return a|0}u=e+204|0;h=l+(i*5640|0)+5596|0;if(!(Ur(t[u>>2]|0,o,t[h>>2]|0,i,t[e+196>>2]|0,s)|0)){_t(d);t[b>>2]=t[b>>2]|32768;jf(s,1,8912,v)|0;a=0;c=v;return a|0}if(!(jr(t[u>>2]|0,r,n)|0)){a=0;c=v;return a|0}l=t[_>>2]|0;if(l){Yn(l);t[_>>2]=0;t[h>>2]=0}_=e+76|0;f[_>>0]=f[_>>0]&-2;t[b>>2]=t[b>>2]&-129;_=Nf(a)|0;e=t[b>>2]|0;if((e|0)==256|(_|0)==0&(I|0)==0&(e|0)==64){a=1;c=v;return a|0}if((Lf(a,m,2,s)|0)!=2){jf(s,2,8931,v+8|0)|0;a=1;c=v;return a|0}hf(m,w,2);switch(t[w>>2]|0){case 65497:{t[k>>2]=0;t[b>>2]=256;a=1;c=v;return a|0}case 65424:{a=1;c=v;return a|0}default:if((Nf(a)|0)==0&(I|0)==0){t[b>>2]=64;jf(s,2,8975,v+16|0)|0;a=1;c=v;return a|0}else{jf(s,1,9005,v+24|0)|0;a=0;c=v;return a|0}}return 0}function it(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;E=c;c=c+112|0;A=E+96|0;M=E+88|0;y=E+80|0;g=E+72|0;p=E+64|0;m=E+56|0;w=E+48|0;b=E+40|0;d=E+32|0;h=E+24|0;u=E+16|0;_=t[e+80>>2]|0;if((t[e+8>>2]|0)!=8){jf(l,1,9037,E)|0;l=0;c=E;return l|0}if(!(n|r|a|s)){jf(l,4,9116,E+8|0)|0;t[e+28>>2]=0;t[e+32>>2]=0;t[e+36>>2]=t[e+112>>2];t[e+40>>2]=t[e+116>>2];l=1;c=E;return l|0}v=_+8|0;o=t[v>>2]|0;if(o>>>0>>0){t[u>>2]=r;t[u+4>>2]=o;jf(l,1,9185,u)|0;l=0;c=E;return l|0}o=t[_>>2]|0;if(o>>>0>r>>>0){t[h>>2]=r;t[h+4>>2]=o;jf(l,2,9272,h)|0;o=0;r=t[_>>2]|0}else o=((r-(t[e+92>>2]|0)|0)>>>0)/((t[e+100>>2]|0)>>>0)|0;t[e+28>>2]=o;t[i>>2]=r;k=_+12|0;r=t[k>>2]|0;if(r>>>0>>0){t[d>>2]=n;t[d+4>>2]=r;jf(l,1,9360,d)|0;l=0;c=E;return l|0}u=_+4|0;r=t[u>>2]|0;if(r>>>0>n>>>0){t[b>>2]=n;t[b+4>>2]=r;jf(l,2,9445,b)|0;r=0;n=t[u>>2]|0}else r=((n-(t[e+96>>2]|0)|0)>>>0)/((t[e+104>>2]|0)>>>0)|0;t[e+32>>2]=r;h=i+4|0;t[h>>2]=n;r=t[_>>2]|0;if(r>>>0>a>>>0){t[w>>2]=a;t[w+4>>2]=r;jf(l,1,9531,w)|0;l=0;c=E;return l|0}r=t[v>>2]|0;if(r>>>0>>0){t[m>>2]=a;t[m+4>>2]=r;jf(l,2,9620,m)|0;r=t[e+112>>2]|0;a=t[v>>2]|0}else{r=t[e+100>>2]|0;r=(a+-1-(t[e+92>>2]|0)+r|0)/(r|0)|0}t[e+36>>2]=r;o=i+8|0;t[o>>2]=a;a=t[u>>2]|0;if(a>>>0>s>>>0){t[p>>2]=s;t[p+4>>2]=a;jf(l,1,9708,p)|0;l=0;c=E;return l|0}a=t[k>>2]|0;if(a>>>0>>0){t[g>>2]=s;t[g+4>>2]=a;jf(l,2,9798,g)|0;r=t[k>>2]|0;a=t[e+116>>2]|0}else{a=t[e+104>>2]|0;r=s;a=(s+-1-(t[e+96>>2]|0)+a|0)/(a|0)|0}t[e+40>>2]=a;s=i+12|0;t[s>>2]=r;g=e+76|0;f[g>>0]=f[g>>0]|2;g=t[i+16>>2]|0;e=t[i>>2]|0;e:do{if(g){n=t[h>>2]|0;v=n+-1|0;p=t[o>>2]|0;k=p+-1|0;w=e+-1|0;a=0;_=t[i+24>>2]|0;while(1){i=t[_>>2]|0;r=(w+i|0)/(i|0)|0;t[_+16>>2]=r;b=t[_+4>>2]|0;o=(v+b|0)/(b|0)|0;t[_+20>>2]=o;i=(k+i|0)/(i|0)|0;u=t[_+40>>2]|0;h=Ll(1,0,u|0)|0;d=I;i=Bl(i|0,((i|0)<0)<<31>>31|0,-1,-1)|0;i=Bl(i|0,I|0,h|0,d|0)|0;i=Ol(i|0,I|0,u|0)|0;r=Bl(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;r=Bl(r|0,I|0,h|0,d|0)|0;r=Ol(r|0,I|0,u|0)|0;r=i-r|0;if((r|0)<0){o=29;break}m=t[s>>2]|0;i=(b+-1+m|0)/(b|0)|0;t[_+8>>2]=r;i=Bl(i|0,((i|0)<0)<<31>>31|0,-1,-1)|0;i=Bl(i|0,I|0,h|0,d|0)|0;i=Ol(i|0,I|0,u|0)|0;r=Bl(o|0,((o|0)<0)<<31>>31|0,-1,-1)|0;r=Bl(r|0,I|0,h|0,d|0)|0;r=Ol(r|0,I|0,u|0)|0;r=i-r|0;if((r|0)<0){o=31;break}t[_+12>>2]=r;a=a+1|0;if(a>>>0>=g>>>0){r=p;a=m;break e}else _=_+52|0}if((o|0)==29){t[y>>2]=a;t[y+4>>2]=r;jf(l,1,9887,y)|0;l=0;c=E;return l|0}else if((o|0)==31){t[M>>2]=a;t[M+4>>2]=r;jf(l,1,9956,M)|0;l=0;c=E;return l|0}}else{n=t[h>>2]|0;r=t[o>>2]|0;a=t[s>>2]|0}}while(0);t[A>>2]=e;t[A+4>>2]=n;t[A+8>>2]=r;t[A+12>>2]=a;jf(l,4,10025,A)|0;l=1;c=E;return l|0}function rt(){var e=0,i=0,r=0;e=Fn(1,208)|0;if(!e){i=0;return i|0}t[e>>2]=1;i=e+184|0;f[i>>0]=f[i>>0]|2;i=Fn(1,5640)|0;t[e+12>>2]=i;if(!i){Xn(e);i=0;return i|0}i=Fn(1,1e3)|0;t[e+16>>2]=i;if(!i){Xn(e);i=0;return i|0}t[e+20>>2]=1e3;t[e+60>>2]=-1;i=e+64|0;t[i>>2]=0;t[i+4>>2]=0;i=Fn(1,48)|0;do{if(i){t[i+32>>2]=100;t[i+24>>2]=0;r=Fn(100,24)|0;t[i+28>>2]=r;if(!r){Yn(i);break}t[i+40>>2]=0;t[e+196>>2]=i;r=sa()|0;t[e+192>>2]=r;if(!r){Xn(e);r=0;return r|0}r=sa()|0;t[e+188>>2]=r;if(r){r=e;return r|0}Xn(e);r=0;return r|0}}while(0);t[e+196>>2]=0;Xn(e);r=0;return r|0}function ft(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0;v=c;c=c+128|0;m=v+104|0;w=v+72|0;k=v+64|0;d=v+40|0;u=v+24|0;l=v+16|0;a=v+8|0;n=v;if(i&384){il(10063,11,1,r)|0;c=v;return}if((i&1|0)!=0?(f=t[e+80>>2]|0,(f|0)!=0):0)nt(f,0,r);if(i&2){il(10075,36,1,r)|0;f=t[e+96>>2]|0;t[n>>2]=t[e+92>>2];t[n+4>>2]=f;qs(r,10112,n)|0;n=t[e+104>>2]|0;t[a>>2]=t[e+100>>2];t[a+4>>2]=n;qs(r,10130,a)|0;a=t[e+116>>2]|0;t[l>>2]=t[e+112>>2];t[l+4>>2]=a;qs(r,10148,l)|0;pt(t[e+12>>2]|0,t[(t[e+80>>2]|0)+16>>2]|0,r);il(10164,2,1,r)|0}if((i&8|0)!=0?(o=ie(t[e+112>>2]|0,t[e+116>>2]|0)|0,(o|0)!=0):0){f=e+80|0;n=0;a=t[e+164>>2]|0;while(1){pt(a,t[(t[f>>2]|0)+16>>2]|0,r);n=n+1|0;if((n|0)==(o|0))break;else a=a+5640|0}}if(!(i&16)){c=v;return}l=t[e+196>>2]|0;il(10167,37,1,r)|0;o=l;i=t[o+4>>2]|0;f=l+8|0;e=t[f>>2]|0;f=t[f+4>>2]|0;a=u;t[a>>2]=t[o>>2];t[a+4>>2]=i;a=u+8|0;t[a>>2]=e;t[a+4>>2]=f;qs(r,10205,u)|0;il(10272,17,1,r)|0;a=l+28|0;f=t[a>>2]|0;e:do{if((f|0)!=0?(h=l+24|0,(t[h>>2]|0)!=0):0){n=0;while(1){i=f+(n*24|0)+8|0;o=t[i>>2]|0;i=t[i+4>>2]|0;u=t[f+(n*24|0)+16>>2]|0;t[d>>2]=s[f+(n*24|0)>>1];e=d+8|0;t[e>>2]=o;t[e+4>>2]=i;t[d+16>>2]=u;qs(r,10290,d)|0;n=n+1|0;if(n>>>0>=(t[h>>2]|0)>>>0)break e;f=t[a>>2]|0}}}while(0);il(10321,4,1,r)|0;i=l+40|0;a=t[i>>2]|0;if((a|0)!=0?(_=l+36|0,b=t[_>>2]|0,(b|0)!=0):0){n=0;f=0;do{f=(t[a+(n*40|0)+4>>2]|0)+f|0;n=n+1|0}while((n|0)!=(b|0));if(f){il(10326,16,1,r)|0;if(t[_>>2]|0){f=t[i>>2]|0;o=0;do{l=t[f+(o*40|0)+4>>2]|0;t[k>>2]=o;t[k+4>>2]=l;qs(r,10343,k)|0;f=t[i>>2]|0;n=t[f+(o*40|0)+16>>2]|0;e:do{if(!((l|0)==0|(n|0)==0)){f=0;while(1){e=n+(f*24|0)|0;p=t[e>>2]|0;e=t[e+4>>2]|0;h=n+(f*24|0)+8|0;u=t[h>>2]|0;h=t[h+4>>2]|0;b=n+(f*24|0)+16|0;d=t[b>>2]|0;b=t[b+4>>2]|0;t[w>>2]=f;a=w+8|0;t[a>>2]=p;t[a+4>>2]=e;a=w+16|0;t[a>>2]=u;t[a+4>>2]=h;a=w+24|0;t[a>>2]=d;t[a+4>>2]=b;qs(r,10379,w)|0;a=f+1|0;f=t[i>>2]|0;if((a|0)==(l|0))break e;n=t[f+(o*40|0)+16>>2]|0;f=a}}}while(0);n=t[f+(o*40|0)+24>>2]|0;e:do{if((n|0)!=0?(t[f+(o*40|0)+20>>2]|0)!=0:0){f=0;while(1){b=n+(f*24|0)+8|0;d=t[b>>2]|0;b=t[b+4>>2]|0;a=t[n+(f*24|0)+16>>2]|0;t[m>>2]=s[n+(f*24|0)>>1];p=m+8|0;t[p>>2]=d;t[p+4>>2]=b;t[m+16>>2]=a;qs(r,10290,m)|0;a=f+1|0;f=t[i>>2]|0;if(a>>>0>=(t[f+(o*40|0)+20>>2]|0)>>>0)break e;n=t[f+(o*40|0)+24>>2]|0;f=a}}}while(0);o=o+1|0}while(o>>>0<(t[_>>2]|0)>>>0)}il(10321,4,1,r)|0}}il(10164,2,1,r)|0;c=v;return}function nt(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0;d=c;c=c+64|0;h=d+48|0;u=d+40|0;l=d+32|0;s=d+16|0;a=d;o=d+52|0;if(!i){il(10482,13,1,r)|0;f[o+1>>0]=0;n=9}else{il(10445,36,1,t[676]|0)|0;n=0}f[o>>0]=n;b=t[e>>2]|0;n=t[e+4>>2]|0;t[a>>2]=o;t[a+4>>2]=b;t[a+8>>2]=n;qs(r,10496,a)|0;a=t[e+8>>2]|0;n=t[e+12>>2]|0;t[s>>2]=o;t[s+4>>2]=a;t[s+8>>2]=n;qs(r,10513,s)|0;s=e+16|0;n=t[s>>2]|0;t[l>>2]=o;t[l+4>>2]=n;qs(r,10530,l)|0;n=e+24|0;if(!(t[n>>2]|0)){il(10164,2,1,r)|0;c=d;return}if(!(t[s>>2]|0)){il(10164,2,1,r)|0;c=d;return}else a=0;do{t[u>>2]=o;t[u+4>>2]=a;qs(r,10546,u)|0;tt((t[n>>2]|0)+(a*52|0)|0,i,r);t[h>>2]=o;qs(r,10566,h)|0;a=a+1|0}while(a>>>0<(t[s>>2]|0)>>>0);il(10164,2,1,r)|0;c=d;return}function tt(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0;u=c;c=c+48|0;o=u+24|0;l=u+16|0;s=u;a=u+32|0;n=(i|0)!=0;if(n){il(10571,41,1,t[676]|0)|0;i=0}else{f[a+1>>0]=9;f[a+2>>0]=0;i=9}f[a>>0]=i;h=t[e>>2]|0;i=t[e+4>>2]|0;t[s>>2]=a;t[s+4>>2]=h;t[s+8>>2]=i;qs(r,10613,s)|0;s=t[e+24>>2]|0;t[l>>2]=a;t[l+4>>2]=s;qs(r,10630,l)|0;l=t[e+32>>2]|0;t[o>>2]=a;t[o+4>>2]=l;qs(r,10642,o)|0;if(!n){c=u;return}il(10164,2,1,r)|0;c=u;return}function at(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+16|0;f=h;i=e+80|0;o=t[(t[i>>2]|0)+16>>2]|0;r=Fn(1,56)|0;t[f>>2]=r;if(!r){u=0;c=h;return u|0}t[r+24>>2]=t[(t[i>>2]|0)+16>>2];t[r>>2]=t[e+92>>2];t[r+4>>2]=t[e+96>>2];t[r+8>>2]=t[e+100>>2];t[r+12>>2]=t[e+104>>2];t[r+16>>2]=t[e+112>>2];t[r+20>>2]=t[e+116>>2];t[r+52>>2]=0;r=t[e+12>>2]|0;i=t[f>>2]|0;t[i+32>>2]=t[r>>2];t[i+36>>2]=t[r+4>>2];t[i+40>>2]=t[r+8>>2];t[i+44>>2]=t[r+16>>2];t[i+48>>2]=Fn(t[i+24>>2]|0,1080)|0;i=t[f>>2]|0;l=i+48|0;e=t[l>>2]|0;if(!e){En(f);u=0;c=h;return u|0}if(!o){u=i;c=h;return u|0}s=r+5584|0;r=0;while(1){a=t[s>>2]|0;t[e+(r*1080|0)+4>>2]=t[a+(r*1080|0)>>2];f=a+(r*1080|0)+4|0;n=t[f>>2]|0;t[e+(r*1080|0)+8>>2]=n;t[e+(r*1080|0)+12>>2]=t[a+(r*1080|0)+8>>2];t[e+(r*1080|0)+16>>2]=t[a+(r*1080|0)+12>>2];t[e+(r*1080|0)+20>>2]=t[a+(r*1080|0)+16>>2];t[e+(r*1080|0)+24>>2]=t[a+(r*1080|0)+20>>2];if(n>>>0<33){Dl(e+(r*1080|0)+948|0,a+(r*1080|0)+944|0,n|0)|0;Dl(e+(r*1080|0)+816|0,a+(r*1080|0)+812|0,t[f>>2]|0)|0}n=t[a+(r*1080|0)+24>>2]|0;t[e+(r*1080|0)+28>>2]=n;t[e+(r*1080|0)+808>>2]=t[a+(r*1080|0)+804>>2];if((n|0)!=1){n=(t[f>>2]|0)*3|0;f=n+-2|0;if((f|0)<97&(n|0)>2)u=10}else{f=1;u=10}if((u|0)==10){u=0;n=0;do{t[e+(r*1080|0)+32+(n<<2)>>2]=t[a+(r*1080|0)+28+(n<<3)+4>>2];t[e+(r*1080|0)+420+(n<<2)>>2]=t[a+(r*1080|0)+28+(n<<3)>>2];n=n+1|0}while((n|0)!=(f|0))}t[e+(r*1080|0)+812>>2]=t[a+(r*1080|0)+808>>2];r=r+1|0;if((r|0)==(o|0))break;e=t[l>>2]|0}c=h;return i|0}function st(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0;i=Fn(1,48)|0;if(!i){u=0;return u|0}s=e+196|0;r=t[s>>2]|0;l=r;u=t[l+4>>2]|0;e=i;t[e>>2]=t[l>>2];t[e+4>>2]=u;e=r+8|0;u=t[e+4>>2]|0;l=i+8|0;t[l>>2]=t[e>>2];t[l+4>>2]=u;l=r+16|0;u=t[l+4>>2]|0;e=i+16|0;t[e>>2]=t[l>>2];t[e+4>>2]=u;r=t[r+24>>2]|0;e=i+24|0;t[e>>2]=r;r=Nn(r*24|0)|0;u=i+28|0;t[u>>2]=r;if(!r){Yn(i);u=0;return u|0}f=t[(t[s>>2]|0)+28>>2]|0;if(!f){Yn(r);t[u>>2]=0}else Dl(r|0,f|0,(t[e>>2]|0)*24|0)|0;e=t[(t[s>>2]|0)+36>>2]|0;a=i+36|0;t[a>>2]=e;e=Fn(e,40)|0;l=i+40|0;t[l>>2]=e;if(!e){Yn(t[u>>2]|0);Yn(i);u=0;return u|0}r=t[(t[s>>2]|0)+40>>2]|0;if(!r){Yn(e);t[l>>2]=0;u=i;return u|0}if(!(t[a>>2]|0)){u=i;return u|0}r=t[r+20>>2]|0;t[e+20>>2]=r;r=Nn(r*24|0)|0;e=t[l>>2]|0;t[e+24>>2]=r;e:do{if(!r)r=0;else{n=r;r=0;while(1){f=t[(t[(t[s>>2]|0)+40>>2]|0)+(r*40|0)+24>>2]|0;if(!f){Yn(n);e=t[l>>2]|0;t[e+(r*40|0)+24>>2]=0}else{Dl(n|0,f|0,(t[e+(r*40|0)+20>>2]|0)*24|0)|0;e=t[l>>2]|0}f=t[(t[(t[s>>2]|0)+40>>2]|0)+(r*40|0)+4>>2]|0;t[e+(r*40|0)+4>>2]=f;f=Nn(f*24|0)|0;e=t[l>>2]|0;t[e+(r*40|0)+16>>2]=f;if(!f)break;n=t[(t[(t[s>>2]|0)+40>>2]|0)+(r*40|0)+16>>2]|0;if(!n){Yn(f);e=t[l>>2]|0;t[e+(r*40|0)+16>>2]=0}else{Dl(f|0,n|0,(t[e+(r*40|0)+4>>2]|0)*24|0)|0;e=t[l>>2]|0}t[e+(r*40|0)+32>>2]=0;t[e+(r*40|0)+36>>2]=0;r=r+1|0;if(r>>>0>=(t[a>>2]|0)>>>0){o=32;break}n=t[(t[(t[s>>2]|0)+40>>2]|0)+(r*40|0)+20>>2]|0;t[e+(r*40|0)+20>>2]=n;n=Nn(n*24|0)|0;e=t[l>>2]|0;t[e+(r*40|0)+24>>2]=n;if(!n)break e}if((o|0)==32)return i|0;if(r){Yn(t[e+24>>2]|0);Yn(t[(t[l>>2]|0)+16>>2]|0);if((r|0)!=1){e=1;do{Yn(t[(t[l>>2]|0)+(e*40|0)+24>>2]|0);Yn(t[(t[l>>2]|0)+(e*40|0)+16>>2]|0);e=e+1|0}while((e|0)!=(r|0))}e=t[l>>2]|0}Yn(e);Yn(t[u>>2]|0);Yn(i);u=0;return u|0}}while(0);if(r){Yn(t[e+24>>2]|0);if((r|0)!=1){e=1;do{Yn(t[(t[l>>2]|0)+(e*40|0)+24>>2]|0);e=e+1|0}while((e|0)!=(r|0))}e=t[l>>2]|0}Yn(e);Yn(t[u>>2]|0);Yn(i);u=0;return u|0}function lt(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0;if(!r){r=0;return r|0}n=$f()|0;u=e+84|0;t[u>>2]=n;if(!n){r=0;return r|0}Kf(r,n);s=e+188|0;oa(t[s>>2]|0,27,f)|0;s=t[s>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(po[t[n>>2]&63](e,i,f)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}ha(s);if(!a){r=e+80|0;Xf(t[r>>2]|0);t[r>>2]=0;r=0;return r|0}}else ha(s);l=t[r+16>>2]|0;if(!l){r=1;return r|0}s=t[(t[u>>2]|0)+24>>2]|0;n=t[r+24>>2]|0;a=0;do{t[n+(a*52|0)+36>>2]=t[s+(a*52|0)+36>>2];r=s+(a*52|0)+44|0;t[n+(a*52|0)+44>>2]=t[r>>2];t[r>>2]=0;a=a+1|0}while(a>>>0>>0);n=1;return n|0}function ot(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;v=c;c=c+16|0;l=v+8|0;if(!r){jf(f,1,10654,v)|0;m=0;c=v;return m|0}a=t[e+112>>2]|0;s=ie(t[e+116>>2]|0,a)|0;if(s>>>0<=n>>>0){t[l>>2]=n;t[l+4>>2]=s+-1;jf(f,1,10692,l)|0;m=0;c=v;return m|0}m=(n>>>0)%(a>>>0)|0;w=(n>>>0)/(a>>>0)|0;l=t[e+100>>2]|0;s=ie(l,m)|0;o=t[e+92>>2]|0;s=s+o|0;t[r>>2]=s;k=e+80|0;a=t[k>>2]|0;u=t[a>>2]|0;s=s>>>0>>0?u:s;t[r>>2]=s;o=(ie(l,m+1|0)|0)+o|0;m=r+8|0;t[m>>2]=o;l=t[a+8>>2]|0;o=o>>>0>l>>>0?l:o;t[m>>2]=o;m=t[e+104>>2]|0;l=ie(m,w)|0;u=t[e+96>>2]|0;l=l+u|0;_=r+4|0;t[_>>2]=l;b=t[a+4>>2]|0;l=l>>>0>>0?b:l;t[_>>2]=l;u=(ie(m,w+1|0)|0)+u|0;w=r+12|0;t[w>>2]=u;m=t[a+12>>2]|0;u=u>>>0>m>>>0?m:u;t[w>>2]=u;w=r+24|0;m=r+16|0;_=t[m>>2]|0;if(_){b=t[a+24>>2]|0;d=s+-1|0;h=l+-1|0;o=o+-1|0;a=u+-1|0;s=0;l=t[w>>2]|0;while(1){u=t[b+(s*52|0)+40>>2]|0;t[l+40>>2]=u;E=t[l>>2]|0;A=(d+E|0)/(E|0)|0;t[l+16>>2]=A;p=t[l+4>>2]|0;M=(h+p|0)/(p|0)|0;t[l+20>>2]=M;E=(o+E|0)/(E|0)|0;p=(a+p|0)/(p|0)|0;y=Ll(1,0,u|0)|0;g=I;E=Bl(E|0,((E|0)<0)<<31>>31|0,-1,-1)|0;E=Bl(E|0,I|0,y|0,g|0)|0;E=Ol(E|0,I|0,u|0)|0;A=Bl(A|0,((A|0)<0)<<31>>31|0,-1,-1)|0;A=Bl(A|0,I|0,y|0,g|0)|0;A=Ol(A|0,I|0,u|0)|0;t[l+8>>2]=E-A;p=Bl(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;p=Bl(p|0,I|0,y|0,g|0)|0;p=Ol(p|0,I|0,u|0)|0;M=Bl(M|0,((M|0)<0)<<31>>31|0,-1,-1)|0;g=Bl(M|0,I|0,y|0,g|0)|0;u=Ol(g|0,I|0,u|0)|0;t[l+12>>2]=p-u;s=s+1|0;if(s>>>0>=_>>>0)break;else l=l+52|0}}h=e+84|0;a=t[h>>2]|0;if(a)Xf(a);a=$f()|0;t[h>>2]=a;if(!a){E=0;c=v;return E|0}Kf(r,a);t[e+60>>2]=n;l=e+188|0;oa(t[l>>2]|0,28,f)|0;l=t[l>>2]|0;o=ua(l)|0;a=ca(l)|0;if(o){u=0;s=1;while(1){if(!s)s=0;else s=(po[t[a>>2]&63](e,i,f)|0)!=0;u=u+1|0;if((u|0)==(o|0))break;else{a=a+4|0;s=s&1}}ha(l);if(!s){Xf(t[k>>2]|0);t[k>>2]=0;E=0;c=v;return E|0}}else ha(l);a=t[m>>2]|0;if(!a){E=1;c=v;return E|0}o=t[(t[h>>2]|0)+24>>2]|0;l=t[w>>2]|0;u=0;while(1){t[l+(u*52|0)+36>>2]=t[o+(u*52|0)+36>>2];s=t[l+(u*52|0)+44>>2]|0;if(!s)s=o;else{Yn(s);s=t[(t[h>>2]|0)+24>>2]|0;l=t[w>>2]|0;a=t[m>>2]|0}E=s+(u*52|0)+44|0;t[l+(u*52|0)+44>>2]=t[E>>2];t[E>>2]=0;u=u+1|0;if(u>>>0>=a>>>0){a=1;break}else o=s}c=v;return a|0}function ut(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0;o=c;c=c+16|0;l=o;t[e+168>>2]=i;f=t[e+80>>2]|0;e:do{if((((f|0)!=0?(s=t[f+24>>2]|0,(s|0)!=0):0)?(n=t[e+12>>2]|0,(n|0)!=0):0)?(a=t[n+5584>>2]|0,(a|0)!=0):0){f=t[f+16>>2]|0;if(!f)f=1;else{n=0;while(1){if((t[a+(n*1080|0)+4>>2]|0)>>>0<=i>>>0)break;t[s+(n*52|0)+40>>2]=i;n=n+1|0;if(n>>>0>=f>>>0){f=1;break e}}jf(r,1,10753,l)|0;f=0}}else f=0}while(0);c=o;return f|0}function ct(e,i,r){e=e|0;i=i|0;r=r|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,U=0,j=0,Y=0,q=0,$=0;j=c;c=c+48|0;H=j+32|0;F=j+24|0;N=j+16|0;z=j+8|0;D=j;S=e+204|0;a=t[S>>2]|0;I=e+116|0;O=e+112|0;x=ie(t[O>>2]|0,t[I>>2]|0)|0;L=(x|0)==1;if(!x){U=1;c=j;return U|0}B=e+200|0;T=e+12|0;R=e+164|0;C=e+8|0;P=a+20|0;A=a+24|0;E=0;a=0;u=0;e:while(1){if((t[B>>2]|0)!=(E|0)){U=5;break}y=E;E=E+1|0;M=ie(t[I>>2]|0,t[O>>2]|0)|0;t[z>>2]=E;t[z+4>>2]=M;jf(r,4,10866,z)|0;t[T>>2]=0;M=t[S>>2]|0;t[M+12>>2]=t[(t[R>>2]|0)+(y*5640|0)+5588>>2];t[C>>2]=0;if(!(Dr(M,t[B>>2]|0,r)|0))break;s=t[S>>2]|0;if(t[(t[s+24>>2]|0)+16>>2]|0){o=0;do{l=t[(t[t[P>>2]>>2]|0)+20>>2]|0;if(L){t[l+(o*52|0)+32>>2]=t[(t[(t[A>>2]|0)+24>>2]|0)+(o*52|0)+44>>2];t[l+(o*52|0)+36>>2]=0}else{if(!(zr(l+(o*52|0)|0)|0)){U=14;break e}s=t[S>>2]|0}o=o+1|0}while(o>>>0<(t[(t[s+24>>2]|0)+16>>2]|0)>>>0)}M=Yr(s)|0;if(!L){if(M>>>0>u>>>0){s=jn(a,M)|0;if(!s){U=20;break}else{a=s;s=M}}else s=u;l=t[S>>2]|0;y=l+24|0;o=t[y>>2]|0;if(t[o+16>>2]|0){g=l+20|0;l=a;p=0;do{w=t[(t[t[g>>2]>>2]|0)+20>>2]|0;h=t[o+24>>2]|0;k=t[h+(p*52|0)+24>>2]|0;k=((k&7|0)!=0&1)+(k>>>3)|0;d=t[w+(p*52|0)+8>>2]|0;b=t[w+(p*52|0)>>2]|0;v=d-b|0;_=t[w+(p*52|0)+12>>2]|0;w=t[w+(p*52|0)+4>>2]|0;$=t[o>>2]|0;q=t[h+(p*52|0)>>2]|0;u=t[h+(p*52|0)+4>>2]|0;Y=(q+~$+(t[o+8>>2]|0)|0)/(q|0)|0;m=Y-v|0;o=b-(($+-1+q|0)/(q|0)|0)+(ie(Y,w-(((t[o+4>>2]|0)+-1+u|0)/(u|0)|0)|0)|0)|0;o=(t[h+(p*52|0)+44>>2]|0)+(o<<2)|0;i:do{switch(((k|0)==3?4:k)|0){case 1:{u=(_|0)==(w|0);if(!(t[h+(p*52|0)+32>>2]|0)){if(u)break i;k=(d|0)==(b|0);b=_-w|0;_=0;while(1){if(!k){u=0;h=l;d=o;while(1){f[h>>0]=t[d>>2];u=u+1|0;if((u|0)==(v|0))break;else{h=h+1|0;d=d+4|0}}l=l+v|0;o=o+(v<<2)|0}_=_+1|0;if((_|0)==(b|0))break;else o=o+(m<<2)|0}}else{if(u)break i;k=(d|0)==(b|0);b=_-w|0;_=0;while(1){if(!k){u=0;h=l;d=o;while(1){f[h>>0]=t[d>>2];u=u+1|0;if((u|0)==(v|0))break;else{h=h+1|0;d=d+4|0}}l=l+v|0;o=o+(v<<2)|0}_=_+1|0;if((_|0)==(b|0))break;else o=o+(m<<2)|0}}break}case 2:{u=(_|0)==(w|0);if(!(t[h+(p*52|0)+32>>2]|0)){if(!u){k=(d|0)==(b|0);b=_-w|0;_=0;while(1){if(!k){u=0;h=l;d=o;while(1){n[h>>1]=t[d>>2];u=u+1|0;if((u|0)==(v|0))break;else{h=h+2|0;d=d+4|0}}l=l+(v<<1)|0;o=o+(v<<2)|0}_=_+1|0;if((_|0)==(b|0))break;else o=o+(m<<2)|0}}}else if(!u){k=(d|0)==(b|0);b=_-w|0;_=0;while(1){if(!k){u=0;h=l;d=o;while(1){n[h>>1]=t[d>>2];u=u+1|0;if((u|0)==(v|0))break;else{h=h+2|0;d=d+4|0}}l=l+(v<<1)|0;o=o+(v<<2)|0}_=_+1|0;if((_|0)==(b|0))break;else o=o+(m<<2)|0}}break}case 4:{if((_|0)!=(w|0)){k=(d|0)==(b|0);b=_-w|0;_=0;while(1){if(!k){u=0;h=l;d=o;while(1){t[h>>2]=t[d>>2];u=u+1|0;if((u|0)==(v|0))break;else{h=h+4|0;d=d+4|0}}l=l+(v<<2)|0;o=o+(v<<2)|0}_=_+1|0;if((_|0)==(b|0))break;else o=o+(m<<2)|0}}break}default:{}}}while(0);p=p+1|0;o=t[y>>2]|0}while(p>>>0<(t[o+16>>2]|0)>>>0);l=t[S>>2]|0}if(!(qr(l,a,M)|0)){U=63;break}}else s=u;if(!(Mt(e,i,r)|0)){U=65;break}if(E>>>0>=x>>>0){U=67;break}else u=s}if((U|0)==5)jf(r,1,10829,D)|0;else if((U|0)==14){jf(r,1,10887,N)|0;if(!a){$=0;c=j;return $|0}Yn(a);$=0;c=j;return $|0}else if((U|0)==20){if(a)Yn(a);jf(r,1,10925,F)|0;$=0;c=j;return $|0}else if((U|0)==63){jf(r,1,10964,H)|0;Yn(a);$=0;c=j;return $|0}else if((U|0)==65){if(!a){$=0;c=j;return $|0}Yn(a);$=0;c=j;return $|0}else if((U|0)==67){if(!a){$=1;c=j;return $|0}Yn(a);$=1;c=j;return $|0}if(!a){$=0;c=j;return $|0}Yn(a);$=0;c=j;return $|0}function ht(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,a=0,s=0,l=0,o=0;f=e+188|0;if(!(oa(t[f>>2]|0,29,r)|0)){i=0;return i|0}if(((n[e+88>>1]|0)+-3&65535)<4?(oa(t[f>>2]|0,30,r)|0)==0:0){i=0;return i|0}if(!(oa(t[f>>2]|0,31,r)|0)){i=0;return i|0}if(!(oa(t[f>>2]|0,32,r)|0)){i=0;return i|0}if(!(oa(t[f>>2]|0,33,r)|0)){i=0;return i|0}o=t[f>>2]|0;s=ua(o)|0;f=ca(o)|0;if(!s)f=1;else{l=0;a=f;f=1;while(1){if(!f)f=0;else f=(po[t[a>>2]&63](e,i,r)|0)!=0;f=f&1;l=l+1|0;if((l|0)==(s|0))break;else a=a+4|0}}ha(o);i=f;return i|0}function dt(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var a=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+16|0;a=$f()|0;o=e+80|0;t[o>>2]=a;if(!a){jf(f,1,11011,h)|0;i=0;c=h;return i|0}Kf(r,a);l=t[r+24>>2]|0;if((l|0)!=0?(u=t[r+16>>2]|0,(u|0)!=0):0){s=0;do{r=l+(s*52|0)+44|0;a=t[r>>2]|0;if(a){t[(t[(t[o>>2]|0)+24>>2]|0)+(s*52|0)+44>>2]=a;t[r>>2]=0}s=s+1|0}while(s>>>0>>0)}a=e+192|0;if(!(oa(t[a>>2]|0,34,f)|0)){i=0;c=h;return i|0}if(!(oa(t[a>>2]|0,35,f)|0)){i=0;c=h;return i|0}if(!(oa(t[a>>2]|0,36,f)|0)){i=0;c=h;return i|0}s=t[a>>2]|0;l=ua(s)|0;a=ca(s)|0;if(l){o=0;r=1;while(1){if(!r)r=0;else r=(po[t[a>>2]&63](e,i,f)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{a=a+4|0;r=r&1}}ha(s);if(!r){i=0;c=h;return i|0}}else ha(s);a=e+188|0;if(!(oa(t[a>>2]|0,37,f)|0)){i=0;c=h;return i|0}if(!(oa(t[a>>2]|0,38,f)|0)){i=0;c=h;return i|0}if(!(oa(t[a>>2]|0,39,f)|0)){i=0;c=h;return i|0}if(!(oa(t[a>>2]|0,40,f)|0)){i=0;c=h;return i|0}if(!(oa(t[a>>2]|0,41,f)|0)){i=0;c=h;return i|0}if(!(oa(t[a>>2]|0,42,f)|0)){i=0;c=h;return i|0}if(!(oa(t[a>>2]|0,43,f)|0)){i=0;c=h;return i|0}r=e+88|0;if(((n[r>>1]|0)+-3&65535)<4){if(!(oa(t[a>>2]|0,44,f)|0)){i=0;c=h;return i|0}if((n[r>>1]|0)==4?(oa(t[a>>2]|0,45,f)|0)==0:0){i=0;c=h;return i|0}}if(!(oa(t[a>>2]|0,46,f)|0)){i=0;c=h;return i|0}if((t[e+108>>2]|0)!=0?(oa(t[a>>2]|0,47,f)|0)==0:0){i=0;c=h;return i|0}if((n[r>>1]&256)!=0?(oa(t[a>>2]|0,48,f)|0)==0:0){i=0;c=h;return i|0}if((t[e+196>>2]|0)!=0?(oa(t[a>>2]|0,49,f)|0)==0:0){i=0;c=h;return i|0}if(!(oa(t[a>>2]|0,50,f)|0)){i=0;c=h;return i|0}if(!(oa(t[a>>2]|0,51,f)|0)){i=0;c=h;return i|0}o=t[a>>2]|0;s=ua(o)|0;a=ca(o)|0;if(!s)a=1;else{l=0;r=a;a=1;while(1){if(!a)a=0;else a=(po[t[r>>2]&63](e,i,f)|0)!=0;a=a&1;l=l+1|0;if((l|0)==(s|0))break;else r=r+4|0}}ha(o);i=a;c=h;return i|0}function bt(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0;k=c;c=c+48|0;b=k+40|0;_=k+32|0;d=k+24|0;u=k+16|0;l=k+8|0;s=k;o=e+200|0;if((t[o>>2]|0)==(i|0)){h=ie(t[e+116>>2]|0,t[e+112>>2]|0)|0;t[l>>2]=i+1;t[l+4>>2]=h;jf(a,4,10866,l)|0;t[e+12>>2]=0;h=e+204|0;l=t[h>>2]|0;t[l+12>>2]=t[(t[e+164>>2]|0)+(i*5640|0)+5588>>2];t[e+8>>2]=0;if(Dr(l,t[o>>2]|0,a)|0){s=t[h>>2]|0;e:do{if(t[(t[s+24>>2]|0)+16>>2]|0){l=0;while(1){if(!(zr((t[(t[t[s+20>>2]>>2]|0)+20>>2]|0)+(l*52|0)|0)|0))break;l=l+1|0;s=t[h>>2]|0;if(l>>>0>=(t[(t[s+24>>2]|0)+16>>2]|0)>>>0)break e}jf(a,1,10887,d)|0;_=0;c=k;return _|0}}while(0);if(!(qr(s,r,f)|0)){jf(a,1,10964,_)|0;_=0;c=k;return _|0}if(Mt(e,n,a)|0){_=1;c=k;return _|0}t[b>>2]=i;jf(a,1,11101,b)|0;_=0;c=k;return _|0}}else jf(a,1,10829,s)|0;t[u>>2]=i;jf(a,1,11044,u)|0;_=0;c=k;return _|0}function _t(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0,l=0;if(!e)return;n=e+5164|0;i=t[n>>2]|0;if(i){a=e+5160|0;r=t[a>>2]|0;if(r){f=0;while(1){i=t[i+(f<<3)>>2]|0;if(i){Yn(i);r=t[a>>2]|0}f=f+1|0;if(f>>>0>=r>>>0)break;i=t[n>>2]|0}i=t[n>>2]|0}t[a>>2]=0;Yn(i);t[n>>2]=0}i=e+5172|0;r=t[i>>2]|0;if(r){Yn(r);t[i>>2]=0}i=e+5584|0;r=t[i>>2]|0;if(r){Yn(r);t[i>>2]=0}i=e+5608|0;r=t[i>>2]|0;if(r){Yn(r);t[i>>2]=0}i=e+5604|0;r=t[i>>2]|0;if(r){Yn(r);t[i>>2]=0}i=e+5624|0;r=t[i>>2]|0;if(r){Yn(r);t[i>>2]=0;t[e+5632>>2]=0;t[e+5628>>2]=0}l=e+5612|0;i=t[l>>2]|0;if(i){s=e+5616|0;r=t[s>>2]|0;if(r){a=0;while(1){f=i+12|0;n=t[f>>2]|0;if(n){Yn(n);t[f>>2]=0;r=t[s>>2]|0}a=a+1|0;if(a>>>0>=r>>>0)break;else i=i+20|0}i=t[l>>2]|0}Yn(i);t[l>>2]=0}i=e+5600|0;r=t[i>>2]|0;if(r){Yn(r);t[i>>2]=0}i=e+5592|0;r=t[i>>2]|0;if(!r)return;Yn(r);t[i>>2]=0;t[e+5596>>2]=0;return}function kt(e,i,r){e=e|0;i=i|0;r=r|0;return 1}function wt(e,i,r){e=e|0;i=i|0;r=r|0;return(t[e+8>>2]|0)==0&(t[e+188>>2]|0)!=0&(t[e+192>>2]|0)!=0&1|0}function mt(e,i,r){e=e|0;i=i|0;r=r|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,U=0,j=0,Y=0,q=0,$=0,V=0,X=0,G=0,K=0,W=0;W=c;c=c+224|0;K=W+200|0;V=W+192|0;$=W+184|0;j=W+176|0;U=W+168|0;H=W+160|0;N=W+152|0;D=W+144|0;z=W+136|0;C=W+128|0;B=W+120|0;R=W+112|0;T=W+104|0;S=W+96|0;E=W+88|0;A=W+80|0;L=W+72|0;x=W+64|0;M=W+56|0;y=W+48|0;g=W+40|0;P=W+32|0;_=W+24|0;h=W+16|0;u=W+8|0;F=W;q=W+216|0;a=W+204|0;O=W+212|0;p=W+208|0;G=e+8|0;t[G>>2]=1;e:do{if((Lf(i,q,2,r)|0)==2?(hf(q,a,2),(t[a>>2]|0)==65359):0){t[G>>2]=2;b=Df(i)|0;b=Bl(b|0,I|0,-2,-1)|0;d=I;X=e+196|0;s=t[X>>2]|0;t[s>>2]=b;t[s+4>>2]=d;s=F;t[s>>2]=b;t[s+4>>2]=d;jf(r,4,15766,F)|0;s=t[X>>2]|0;d=t[s>>2]|0;b=s+24|0;a=t[b>>2]|0;o=s+32|0;l=t[o>>2]|0;do{if((a+1|0)>>>0>l>>>0){v=~~(+(l>>>0)+100.0)>>>0;t[o>>2]=v;a=s+28|0;s=jn(t[a>>2]|0,v*24|0)|0;if(!s){Yn(t[a>>2]|0);t[a>>2]=0;t[o>>2]=0;t[b>>2]=0;jf(r,1,15803,u)|0;break e}else{t[a>>2]=s;a=t[b>>2]|0;break}}else s=t[s+28>>2]|0}while(0);n[s+(a*24|0)>>1]=-177;m=Ol(0,d|0,32)|0;v=s+(a*24|0)+8|0;t[v>>2]=m;t[v+4>>2]=I;t[s+(a*24|0)+16>>2]=2;t[b>>2]=a+1;v=e+16|0;if((Lf(i,t[v>>2]|0,2,r)|0)!=2){jf(r,1,8295,_)|0;r=0;c=W;return r|0}hf(t[v>>2]|0,O,2);a=t[O>>2]|0;if((a|0)!=65424){m=e+20|0;k=0;l=0;w=0;i:while(1){if(a>>>0<65280){Y=14;break}else u=784;while(1){s=t[u>>2]|0;o=(s|0)==0;if(o|(s|0)==(a|0))break;else u=u+12|0}if(o){jf(r,2,15914,g)|0;h=2;r:while(1){do{if((Lf(i,t[v>>2]|0,2,r)|0)!=2){Y=20;break i}hf(t[v>>2]|0,F,2);a=t[F>>2]|0}while(a>>>0<65280);u=784;while(1){s=t[u>>2]|0;if((s|0)==0|(s|0)==(a|0)){o=u;a=u;break}else u=u+12|0}if(!(t[a+4>>2]&t[G>>2])){Y=25;break i}if((s|0)>=65424){Y=100;break}switch(s|0){case 0:break;default:{_=o;b=h;break r}}h=h+2|0}if((Y|0)==100){Y=0;switch(s|0){case 65424:{s=k;a=w;Y=27;break i}default:{_=o;b=h}}}u=t[X>>2]|0;d=Df(i)|0;d=d-b|0;o=u+24|0;a=t[o>>2]|0;s=u+32|0;h=t[s>>2]|0;if((a+1|0)>>>0>h>>>0){a=~~(+(h>>>0)+100.0)>>>0;t[s>>2]=a;u=u+28|0;a=jn(t[u>>2]|0,a*24|0)|0;if(!a){l=u;a=u;Y=32;break}t[u>>2]=a;s=a;a=t[o>>2]|0}else s=t[u+28>>2]|0;n[s+(a*24|0)>>1]=0;h=s+(a*24|0)+8|0;t[h>>2]=d;t[h+4>>2]=((d|0)<0)<<31>>31;t[s+(a*24|0)+16>>2]=b;t[o>>2]=a+1;a=t[_>>2]|0;t[O>>2]=a;if((a|0)==65424){s=k;a=w;break}else o=784;while(1){s=t[o>>2]|0;if((s|0)==0|(s|0)==(a|0))break;else o=o+12|0}}else o=u;w=(s|0)==65361?1:w;k=(s|0)==65362?1:k;l=(s|0)==65372?1:l;if(!(t[o+4>>2]&t[G>>2])){Y=38;break}if((Lf(i,t[v>>2]|0,2,r)|0)!=2){Y=40;break}hf(t[v>>2]|0,p,2);s=(t[p>>2]|0)+-2|0;t[p>>2]=s;a=t[v>>2]|0;if(s>>>0>(t[m>>2]|0)>>>0){a=jn(a,s)|0;if(!a){Y=43;break}t[v>>2]=a;s=t[p>>2]|0;t[m>>2]=s}a=Lf(i,a,s,r)|0;if((a|0)!=(t[p>>2]|0)){Y=46;break}if(!(Ro[t[o+8>>2]&63](e,t[v>>2]|0,a,r)|0)){Y=48;break}h=t[X>>2]|0;d=t[o>>2]|0;b=Df(i)|0;_=t[p>>2]|0;b=-4-_+b|0;_=_+4|0;o=h+24|0;a=t[o>>2]|0;s=h+32|0;u=t[s>>2]|0;if((a+1|0)>>>0>u>>>0){a=~~(+(u>>>0)+100.0)>>>0;t[s>>2]=a;u=h+28|0;a=jn(t[u>>2]|0,a*24|0)|0;if(!a){l=u;a=u;Y=53;break}t[u>>2]=a;s=a;a=t[o>>2]|0}else s=t[h+28>>2]|0;n[s+(a*24|0)>>1]=d;d=s+(a*24|0)+8|0;t[d>>2]=b;t[d+4>>2]=((b|0)<0)<<31>>31;t[s+(a*24|0)+16>>2]=_;t[o>>2]=a+1;if((Lf(i,t[v>>2]|0,2,r)|0)!=2){Y=55;break}hf(t[v>>2]|0,O,2);a=t[O>>2]|0;if((a|0)==65424){s=k;a=w;break}}switch(Y|0){case 14:{t[P>>2]=a;jf(r,1,15863,P)|0;r=0;c=W;return r|0}case 20:{jf(r,1,8295,y)|0;Y=34;break}case 25:{jf(r,1,8339,M)|0;Y=34;break}case 27:{t[O>>2]=65424;break}case 32:{Yn(t[a>>2]|0);t[l>>2]=0;t[s>>2]=0;t[o>>2]=0;jf(r,1,15803,x)|0;Y=34;break}case 38:{jf(r,1,8339,A)|0;r=0;c=W;return r|0}case 40:{jf(r,1,8295,E)|0;r=0;c=W;return r|0}case 43:{Yn(t[v>>2]|0);t[v>>2]=0;t[m>>2]=0;jf(r,1,8427,S)|0;r=0;c=W;return r|0}case 46:{jf(r,1,8295,T)|0;r=0;c=W;return r|0}case 48:{jf(r,1,15985,R)|0;r=0;c=W;return r|0}case 53:{Yn(t[a>>2]|0);t[l>>2]=0;t[s>>2]=0;t[o>>2]=0;jf(r,1,15803,B)|0;r=0;c=W;return r|0}case 55:{jf(r,1,8295,C)|0;r=0;c=W;return r|0}}if((Y|0)==34){jf(r,1,15930,L)|0;r=0;c=W;return r|0}if(a){if(!s){jf(r,1,16090,D)|0;r=0;c=W;return r|0}if(!l){jf(r,1,16136,N)|0;r=0;c=W;return r|0}i:do{if(f[e+184>>0]&1){m=e+120|0;do{if(t[m>>2]|0){d=e+124|0;b=0;a=0;s=0;r:do{l=t[d>>2]|0;o=t[l+(b<<3)>>2]|0;f:do{if(o){u=t[l+(b<<3)+4>>2]|0;l=a>>>0>>0;h=l?0:a-u|0;if((u|0)==(a|0)|l^1)a=h;else{o=l?o+a|0:o;a=u-a|0;while(1){if(a>>>0<4){Y=70;break r}hf(o,F,4);l=a+-4|0;a=t[F>>2]|0;s=a+s|0;if(l>>>0>>0)break;if((l|0)==(a|0)){a=h;break f}else{o=o+(a+4)|0;a=l-a|0}}a=a-l|0}}}while(0);b=b+1|0}while(b>>>0<(t[m>>2]|0)>>>0);if((Y|0)==70){jf(r,1,16182,H)|0;break}if(!a)Y=77;else jf(r,1,16213,U)|0}else{s=0;Y=77}}while(0);r:do{if((Y|0)==77){l=Nn(s)|0;_=e+144|0;t[_>>2]=l;if(!l){jf(r,1,13302,j)|0;break}k=e+132|0;t[k>>2]=s;o=t[m>>2]|0;w=e+124|0;do{if(o){a=t[w>>2]|0;l=a;b=0;d=0;s=0;f:while(1){u=t[l+(b<<3)>>2]|0;if(!u)u=d;else{l=t[l+(b<<3)+4>>2]|0;a=(t[_>>2]|0)+s|0;n:do{if(d>>>0>>0){Dl(a|0,u|0,d|0)|0;s=s+d|0;if((l|0)==(d|0)){u=0;break}h=u+d|0;a=l-d|0;while(1){if(a>>>0<4){Y=88;break f}hf(h,q,4);u=h+4|0;o=a+-4|0;l=t[q>>2]|0;a=(t[_>>2]|0)+s|0;if(o>>>0>>0){l=u;break}Dl(a|0,u|0,l|0)|0;a=t[q>>2]|0;s=a+s|0;if((o|0)==(a|0)){u=0;break n}else{h=h+(a+4)|0;a=o-a|0}}Dl(a|0,l|0,o|0)|0;u=(t[q>>2]|0)-o|0;s=o+s|0}else{Dl(a|0,u|0,l|0)|0;u=d-l|0;s=l+s|0}}while(0);Yn(t[(t[w>>2]|0)+(b<<3)>>2]|0);l=t[w>>2]|0;t[l+(b<<3)>>2]=0;t[l+(b<<3)+4>>2]=0;o=t[m>>2]|0;a=l}b=b+1|0;if(b>>>0>=o>>>0){Y=94;break}else d=u}if((Y|0)==88){jf(r,1,16182,$)|0;break r}else if((Y|0)==94){l=t[_>>2]|0;s=t[k>>2]|0;break}}else a=t[w>>2]|0}while(0);t[e+128>>2]=l;t[e+152>>2]=s;t[m>>2]=0;Yn(a);t[w>>2]=0;break i}}while(0);jf(r,1,16236,V)|0;r=0;c=W;return r|0}}while(0);jf(r,4,16262,K)|0;K=Df(i)|0;r=(t[X>>2]|0)+8|0;t[r>>2]=K+-2;t[r+4>>2]=0;t[G>>2]=8;r=1;c=W;return r|0}}jf(r,1,16044,z)|0;r=0;c=W;return r|0}}while(0);jf(r,1,15839,h)|0;r=0;c=W;return r|0}function vt(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0;O=c;c=c+16|0;I=O;C=t[e+80>>2]|0;P=e+88|0;S=ie(t[e+112>>2]|0,t[e+116>>2]|0)|0;k=t[C+16>>2]|0;b=k*1080|0;_=t[e+12>>2]|0;k=ie(k<<2,k)|0;e:do{if(S){w=_+5604|0;m=_+5620|0;v=_+5612|0;p=_+5616|0;g=_+5632|0;y=_+5624|0;M=_+5584|0;T=0;R=t[e+164>>2]|0;i:while(1){o=R+5584|0;A=t[o>>2]|0;Dl(R|0,_|0,5640)|0;i=R+5636|0;f[i>>0]=f[i>>0]&-4;t[R+5168>>2]=0;i=R+5604|0;t[i>>2]=0;u=R+5620|0;t[u>>2]=0;E=R+5612|0;t[E>>2]=0;h=R+5632|0;t[h>>2]=0;d=R+5624|0;t[d>>2]=0;t[o>>2]=A;if(t[w>>2]|0){n=Nn(k)|0;t[i>>2]=n;if(!n){i=0;n=25;break}Dl(n|0,t[w>>2]|0,k|0)|0}i=(t[m>>2]|0)*20|0;n=Nn(i)|0;t[E>>2]=n;if(!n){i=0;n=25;break}Dl(n|0,t[v>>2]|0,i|0)|0;i=t[p>>2]|0;if(i){s=0;l=t[E>>2]|0;o=t[v>>2]|0;while(1){a=o+12|0;if(t[a>>2]|0){i=o+16|0;n=Nn(t[i>>2]|0)|0;t[l+12>>2]=n;if(!n){i=0;n=25;break i}Dl(n|0,t[a>>2]|0,t[i>>2]|0)|0;i=t[p>>2]|0}t[u>>2]=(t[u>>2]|0)+1;s=s+1|0;if(s>>>0>=i>>>0)break;else{l=l+20|0;o=o+20|0}}}i=(t[g>>2]|0)*20|0;n=Nn(i)|0;t[d>>2]=n;if(!n){i=0;n=25;break}Dl(n|0,t[y>>2]|0,i|0)|0;t[h>>2]=t[g>>2];s=t[g>>2]|0;if(s){l=0;n=t[d>>2]|0;a=t[y>>2]|0;while(1){i=t[a+8>>2]|0;if(i)t[n+8>>2]=(t[E>>2]|0)+(((i-(t[v>>2]|0)|0)/20|0)*20|0);i=t[a+12>>2]|0;if(i)t[n+12>>2]=(t[E>>2]|0)+(((i-(t[v>>2]|0)|0)/20|0)*20|0);l=l+1|0;if(l>>>0>=s>>>0)break;else{n=n+20|0;a=a+20|0}}}Dl(A|0,t[M>>2]|0,b|0)|0;T=T+1|0;if(T>>>0>=S>>>0)break e;else R=R+5640|0}if((n|0)==25){c=O;return i|0}}}while(0);n=Pr(1)|0;i=e+204|0;t[i>>2]=n;if(!n){r=0;c=O;return r|0}if(Lr(n,C,P)|0){r=1;c=O;return r|0}Br(t[i>>2]|0);t[i>>2]=0;jf(r,1,8839,I)|0;r=0;c=O;return r|0}function pt(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0;y=c;c=c+128|0;p=y+120|0;v=y+112|0;m=y+104|0;w=y+96|0;k=y+88|0;_=y+80|0;b=y+72|0;d=y+64|0;h=y+56|0;u=y+48|0;o=y+40|0;l=y+32|0;s=y+24|0;a=y+16|0;n=y+8|0;f=y;if(!e){c=y;return}il(12191,17,1,r)|0;t[f>>2]=t[e>>2];qs(r,12209,f)|0;t[n>>2]=t[e+4>>2];qs(r,12222,n)|0;t[a>>2]=t[e+8>>2];qs(r,12234,a)|0;t[s>>2]=t[e+16>>2];qs(r,12251,s)|0;if((i|0)>0){a=e+5584|0;s=0;do{n=t[a>>2]|0;t[l>>2]=s;qs(r,12262,l)|0;t[o>>2]=t[n+(s*1080|0)>>2];qs(r,12276,o)|0;e=n+(s*1080|0)+4|0;t[u>>2]=t[e>>2];qs(r,12290,u)|0;t[h>>2]=t[n+(s*1080|0)+8>>2];qs(r,12313,h)|0;t[d>>2]=t[n+(s*1080|0)+12>>2];qs(r,12329,d)|0;t[b>>2]=t[n+(s*1080|0)+16>>2];qs(r,12345,b)|0;t[_>>2]=t[n+(s*1080|0)+20>>2];qs(r,12362,_)|0;il(12377,23,1,r)|0;if(t[e>>2]|0){f=0;do{M=t[n+(s*1080|0)+944+(f<<2)>>2]|0;t[k>>2]=t[n+(s*1080|0)+812+(f<<2)>>2];t[k+4>>2]=M;qs(r,12401,k)|0;f=f+1|0}while(f>>>0<(t[e>>2]|0)>>>0)}$s(10,r)|0;M=n+(s*1080|0)+24|0;t[w>>2]=t[M>>2];qs(r,12410,w)|0;t[m>>2]=t[n+(s*1080|0)+804>>2];qs(r,12425,m)|0;il(12442,20,1,r)|0;if((t[M>>2]|0)!=1){e=(t[e>>2]|0)*3|0;if((e|0)>2){e=e+-2|0;g=8}}else{e=1;g=8}if((g|0)==8){g=0;f=0;do{M=t[n+(s*1080|0)+28+(f<<3)>>2]|0;t[v>>2]=t[n+(s*1080|0)+28+(f<<3)+4>>2];t[v+4>>2]=M;qs(r,12401,v)|0;f=f+1|0}while((f|0)!=(e|0))}$s(10,r)|0;t[p>>2]=t[n+(s*1080|0)+808>>2];qs(r,12463,p)|0;il(12480,5,1,r)|0;s=s+1|0}while((s|0)!=(i|0))}il(10321,4,1,r)|0;c=y;return}function gt(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0;T=c;c=c+80|0;p=T+32|0;g=T+24|0;A=T+16|0;M=T+8|0;b=T+64|0;y=T+60|0;d=T+56|0;k=T+52|0;m=T+48|0;w=T+44|0;v=T+40|0;_=T+36|0;t[b>>2]=1;f=Nn(1e3)|0;if(!f){jf(r,1,12127,T)|0;r=0;c=T;return r|0}E=e+116|0;S=e+112|0;o=e+204|0;u=e+84|0;h=e+8|0;n=1e3;l=0;while(1){if(!(Qn(e,y,d,k,m,w,v,_,b,i,r)|0)){a=5;break}if(!(t[b>>2]|0)){a=17;break}s=t[d>>2]|0;if(s>>>0>n>>>0){n=jn(f,s)|0;if(!n){a=9;break}else{f=n;a=s}}else a=n;n=t[y>>2]|0;if(!(et(e,n,f,s,i,r)|0)){a=11;break}n=n+1|0;s=ie(t[S>>2]|0,t[E>>2]|0)|0;t[g>>2]=n;t[g+4>>2]=s;jf(r,4,11986,g)|0;s=t[o>>2]|0;if(!(Qt(t[(t[t[s+20>>2]>>2]|0)+20>>2]|0,t[s+24>>2]|0,f,t[(t[u>>2]|0)+24>>2]|0)|0)){a=13;break}t[p>>2]=n;jf(r,4,12016,p)|0;s=Nf(i)|0;if((s|0)==0&(I|0)==0?(t[h>>2]|0)==64:0){a=17;break}l=l+1|0;if((l|0)==(ie(t[S>>2]|0,t[E>>2]|0)|0)){a=17;break}else n=a}if((a|0)==5){Yn(f);r=0;c=T;return r|0}else if((a|0)==9){Yn(f);S=ie(t[S>>2]|0,t[E>>2]|0)|0;t[M>>2]=(t[y>>2]|0)+1;t[M+4>>2]=S;jf(r,1,11946,M)|0;r=0;c=T;return r|0}else if((a|0)==11){Yn(f);S=ie(t[S>>2]|0,t[E>>2]|0)|0;t[A>>2]=n+1;t[A+4>>2]=S;jf(r,1,12162,A)|0;r=0;c=T;return r|0}else if((a|0)==13){Yn(f);r=0;c=T;return r|0}else if((a|0)==17){Yn(f);r=1;c=T;return r|0}return 0}function yt(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,O=0;O=c;c=c+96|0;A=O+56|0;R=O+48|0;M=O+40|0;E=O+32|0;C=O+24|0;o=O+16|0;l=O+8|0;w=O+92|0;T=O+88|0;k=O+84|0;v=O+80|0;g=O+76|0;p=O+72|0;y=O+68|0;m=O+64|0;t[w>>2]=1;f=Nn(1e3)|0;if(!f){jf(r,1,11880,O)|0;P=0;c=O;return P|0}S=e+196|0;a=t[S>>2]|0;n=t[a+40>>2]|0;e:do{if(!n){n=ie(t[e+116>>2]|0,t[e+112>>2]|0)|0;t[a+36>>2]=n;n=Fn(n,40)|0;a=t[S>>2]|0;t[a+40>>2]=n;i:do{if(n){if(t[a+36>>2]|0){s=0;do{t[n+(s*40|0)+28>>2]=100;t[n+(s*40|0)+20>>2]=0;_=Fn(100,24)|0;a=t[S>>2]|0;n=t[a+40>>2]|0;t[n+(s*40|0)+24>>2]=_;s=s+1|0;if(!_)break i}while(s>>>0<(t[a+36>>2]|0)>>>0)}a=t[e+60>>2]|0;if(!n)break e;else{P=12;break e}}}while(0);Yn(f);P=0;c=O;return P|0}else{a=t[e+60>>2]|0;P=12}}while(0);if((P|0)==12)if(t[n+16>>2]|0){if(!(t[n+(a*40|0)+4>>2]|0)){_=e+64|0;_=Bl(t[_>>2]|0,t[_+4>>2]|0,2,0)|0;if(!(vf(i,_,I,r)|0)){jf(r,1,11918,l)|0;Yn(f);P=0;c=O;return P|0}}else{_=t[n+(a*40|0)+16>>2]|0;_=Bl(t[_>>2]|0,t[_+4>>2]|0,2,0)|0;if(!(vf(i,_,I,r)|0)){jf(r,1,11918,o)|0;Yn(f);P=0;c=O;return P|0}}n=e+8|0;if((t[n>>2]|0)==256)t[n>>2]=8}e:do{if(Qn(e,T,k,v,g,p,y,m,w,i,r)|0){b=e+116|0;_=e+112|0;u=e+204|0;h=e+84|0;d=a+1|0;n=1e3;while(1){if(!(t[w>>2]|0))break;o=t[k>>2]|0;if(o>>>0>n>>>0){n=jn(f,o)|0;if(!n){P=26;break}else{f=n;l=o}}else l=n;s=t[T>>2]|0;if(!(et(e,s,f,o,i,r)|0)){P=28;break}n=s+1|0;o=ie(t[_>>2]|0,t[b>>2]|0)|0;t[E>>2]=n;t[E+4>>2]=o;jf(r,4,11986,E)|0;o=t[u>>2]|0;if(!(Qt(t[(t[t[o+20>>2]>>2]|0)+20>>2]|0,t[o+24>>2]|0,f,t[(t[h>>2]|0)+24>>2]|0)|0)){P=30;break}t[M>>2]=n;jf(r,4,12016,M)|0;if((s|0)==(a|0)){P=32;break}t[A>>2]=n;t[A+4>>2]=d;jf(r,2,12060,A)|0;if(!(Qn(e,T,k,v,g,p,y,m,w,i,r)|0))break e;else n=l}if((P|0)==26){Yn(f);P=ie(t[_>>2]|0,t[b>>2]|0)|0;t[C>>2]=(t[T>>2]|0)+1;t[C+4>>2]=P;jf(r,1,11946,C)|0;P=0;c=O;return P|0}else if((P|0)==28){Yn(f);P=0;c=O;return P|0}else if((P|0)==30){Yn(f);P=0;c=O;return P|0}else if((P|0)==32){P=(t[S>>2]|0)+8|0;P=Bl(t[P>>2]|0,t[P+4>>2]|0,2,0)|0;if(!(vf(i,P,I,r)|0)){jf(r,1,11918,R)|0;Yn(f);P=0;c=O;return P|0}}Yn(f);P=1;c=O;return P|0}}while(0);Yn(f);P=0;c=O;return P|0}function Mt(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0;x=c;c=c+32|0;C=x+16|0;v=x+8|0;u=x;R=x+20|0;P=t[e+40>>2]|0;O=e+36|0;d=t[O>>2]|0;b=e+204|0;o=t[b>>2]|0;t[o+16>>2]=0;T=e+8|0;t[T>>2]=0;t[R>>2]=0;cf(d,65424,2);cf(d+2|0,10,2);I=e+200|0;cf(d+4|0,t[I>>2]|0,2);E=e+12|0;cf(d+10|0,t[E>>2]|0,1);S=e+164|0;cf(d+11|0,t[(t[S>>2]|0)+((t[I>>2]|0)*5640|0)+5588>>2]|0,1);t[R>>2]=12;s=d+12|0;f=P+-12|0;h=e+88|0;if(((n[h>>1]|0)+-3&65535)>=4?(a=t[I>>2]|0,l=t[S>>2]|0,(t[l+(a*5640|0)+420>>2]|0)!=0):0){t[R>>2]=0;Kt(t[(t[e+80>>2]|0)+16>>2]|0,l,a,s,R);A=t[R>>2]|0;a=A+12|0;s=d+a|0;f=f-A|0}else a=12;t[R>>2]=0;cf(s,65427,2);t[o+4>>2]=t[T>>2];A=t[E>>2]|0;t[o+8>>2]=A;if(!A)t[(t[t[o+20>>2]>>2]|0)+840>>2]=0;t[R>>2]=0;if(!(Hr(o,t[I>>2]|0,s+2|0,R,f+-4|0,0)|0)){jf(r,1,11860,u)|0;i=0;c=x;return i|0}f=(t[R>>2]|0)+2|0;t[R>>2]=f;f=f+a|0;cf(d+6|0,f,4);if(((n[h>>1]|0)+-3&65535)<4){A=e+28|0;cf(t[A>>2]|0,t[I>>2]|0,1);M=(t[A>>2]|0)+1|0;t[A>>2]=M;cf(M,f,4);t[A>>2]=(t[A>>2]|0)+4}a=d+f|0;A=P-f|0;g=t[b>>2]|0;y=e+88|0;w=t[S>>2]|0;m=t[I>>2]|0;h=Jt(y,0,m)|0;M=e+8|0;t[E>>2]=(t[E>>2]|0)+1;e:do{if(h>>>0>1){d=g+4|0;b=g+8|0;_=g+20|0;k=e+28|0;l=a;a=A;f=0;u=1;while(1){t[M>>2]=u;t[R>>2]=0;cf(l,65424,2);cf(l+2|0,10,2);cf(l+4|0,t[I>>2]|0,2);cf(l+10|0,t[E>>2]|0,1);cf(l+11|0,t[(t[S>>2]|0)+((t[I>>2]|0)*5640|0)+5588>>2]|0,1);t[R>>2]=0;cf(l+12|0,65427,2);t[d>>2]=t[T>>2];o=t[E>>2]|0;t[b>>2]=o;if(!o)t[(t[t[_>>2]>>2]|0)+840>>2]=0;t[R>>2]=0;if(!(Hr(g,t[I>>2]|0,l+14|0,R,a+-16|0,0)|0))break;L=t[R>>2]|0;B=L+2|0;t[R>>2]=B;o=L+14|0;s=l+o|0;f=f+12+B|0;a=a+-12+(-2-L)|0;cf(l+6|0,o,4);if(((n[y>>1]|0)+-3&65535)<4){cf(t[k>>2]|0,t[I>>2]|0,1);B=(t[k>>2]|0)+1|0;t[k>>2]=B;cf(B,o,4);t[k>>2]=(t[k>>2]|0)+4}t[E>>2]=(t[E>>2]|0)+1;u=u+1|0;if(u>>>0>=h>>>0){p=12;break e}else l=s}jf(r,1,11860,v)|0}else{s=a;a=A;f=0;p=12}}while(0);e:do{if((p|0)==12){_=w+(m*5640|0)+420|0;i:do{if(t[_>>2]|0){k=g+16|0;w=g+4|0;m=g+8|0;v=g+20|0;b=e+28|0;d=1;r:while(1){t[k>>2]=d;h=Jt(y,d,t[I>>2]|0)|0;if(h){u=0;while(1){t[M>>2]=u;t[R>>2]=0;cf(s,65424,2);cf(s+2|0,10,2);cf(s+4|0,t[I>>2]|0,2);cf(s+10|0,t[E>>2]|0,1);cf(s+11|0,t[(t[S>>2]|0)+((t[I>>2]|0)*5640|0)+5588>>2]|0,1);t[R>>2]=0;cf(s+12|0,65427,2);t[w>>2]=t[T>>2];B=t[E>>2]|0;t[m>>2]=B;if(!B)t[(t[t[v>>2]>>2]|0)+840>>2]=0;t[R>>2]=0;if(!(Hr(g,t[I>>2]|0,s+14|0,R,a+-16|0,0)|0))break r;B=t[R>>2]|0;l=B+2|0;t[R>>2]=l;f=f+12+l|0;l=B+14|0;o=s+l|0;a=a+-12+(-2-B)|0;cf(s+6|0,l,4);if(((n[y>>1]|0)+-3&65535)<4){cf(t[b>>2]|0,t[I>>2]|0,1);B=(t[b>>2]|0)+1|0;t[b>>2]=B;cf(B,l,4);t[b>>2]=(t[b>>2]|0)+4}t[E>>2]=(t[E>>2]|0)+1;u=u+1|0;if(u>>>0>=h>>>0){s=o;break}else s=o}}d=d+1|0;if(d>>>0>(t[_>>2]|0)>>>0)break i}jf(r,1,11860,C)|0;break e}}while(0);B=f-A+P|0;if((Bf(i,t[O>>2]|0,B,r)|0)!=(B|0)){B=0;c=x;return B|0}t[I>>2]=(t[I>>2]|0)+1;B=1;c=x;return B|0}}while(0);B=0;c=x;return B|0}function At(e,i,r){e=e|0;i=i|0;r=r|0;e=e+44|0;cf(t[e>>2]|0,65497,2);if((Bf(i,t[e>>2]|0,2,r)|0)!=2){i=0;return i|0}i=(zf(i,r)|0)!=0&1;return i|0}function Et(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0;a=(t[e+32>>2]|0)*5|0;l=e+16|0;l=Bl(t[l>>2]|0,t[l+4>>2]|0,6,0)|0;s=I;f=Df(i)|0;n=I;if(!(Hf(i,l,s,r)|0)){l=0;return l|0}if((Bf(i,t[e+24>>2]|0,a,r)|0)!=(a|0)){l=0;return l|0}l=(Hf(i,f,n,r)|0)!=0&1;return l|0}function St(e,i,r){e=e|0;i=i|0;r=r|0;e=t[e+196>>2]|0;if(!e)return 1;i=Df(i)|0;r=e;r=Il(i|0,I|0,t[r>>2]|0,t[r+4>>2]|0)|0;i=e+16|0;t[i>>2]=r;t[i+4>>2]=I;return 1}function Tt(e,i,r){e=e|0;i=i|0;r=r|0;r=e+204|0;Br(t[r>>2]|0);t[r>>2]=0;r=e+24|0;i=t[r>>2]|0;if(i){Yn(i);t[r>>2]=0;t[e+28>>2]=0}r=e+36|0;i=t[r>>2]|0;if(!i){e=e+40|0;t[e>>2]=0;return 1}Yn(i);t[r>>2]=0;e=e+40|0;t[e>>2]=0;return 1}function Rt(e,i,r){e=e|0;i=i|0;r=r|0;r=e+44|0;i=t[r>>2]|0;if(i){Yn(i);t[r>>2]=0}t[e+48>>2]=0;return 1}function Ct(e,i,r){e=e|0;i=i|0;r=r|0;return 1}function Pt(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0;n=c;c=c+32|0;f=(t[e+8>>2]|0)==0&(t[e+188>>2]|0)!=0&(t[e+192>>2]|0)!=0&1;i=(t[(t[(t[e+164>>2]|0)+5584>>2]|0)+4>>2]|0)+-1|0;if(i>>>0>31){jf(r,1,11790,n)|0;r=0;c=n;return r|0}i=1<>2]|0)>>>0>>0){jf(r,1,11790,n+8|0)|0;r=0;c=n;return r|0}if((t[e+104>>2]|0)>>>0>=i>>>0){r=f;c=n;return r|0}jf(r,1,11790,n+16|0)|0;r=0;c=n;return r|0}function It(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,a=0,s=0,l=0,o=0;if((n[e+88>>1]&-32256)<<16>>16!=-32256){o=1;return o|0}l=ie(t[e+112>>2]|0,t[e+116>>2]|0)|0;if(!l){o=1;return o|0}s=e+80|0;o=0;r=1;a=t[e+164>>2]|0;while(1){if((t[a+16>>2]|0)==2){r=(t[a+5608>>2]|0)!=0&r;e=t[(t[s>>2]|0)+16>>2]|0;if(e){f=0;i=t[a+5584>>2]|0;while(1){r=(t[i+20>>2]&1^1)&r;f=f+1|0;if(f>>>0>=e>>>0)break;else i=i+1080|0}}}o=o+1|0;if((o|0)==(l|0))break;else a=a+5640|0}return r|0}function Ot(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0;a=e+88|0;s=e+32|0;l=t[e+80>>2]|0;o=ie(t[e+116>>2]|0,t[e+112>>2]|0)|0;t[s>>2]=0;if(!o)return 1;f=t[e+164>>2]|0;n=0;while(1){Ar(l,a,n);i=f+420|0;r=0;e=0;do{u=Jt(a,e,n)|0;t[s>>2]=(t[s>>2]|0)+u;r=u+r|0;e=e+1|0}while(e>>>0<=(t[i>>2]|0)>>>0);t[f+5588>>2]=r;n=n+1|0;if((n|0)==(o|0))break;else f=f+5640|0}return 1}function xt(e,i,r){e=e|0;i=i|0;r=r|0;e=t[e+44>>2]|0;cf(e,65359,2);return(Bf(i,e,2,r)|0)==2|0}function Lt(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0;_=c;c=c+16|0;l=_;o=t[e+80>>2]|0;d=o+16|0;u=(t[d>>2]|0)*3|0;b=u+40|0;f=t[o+24>>2]|0;a=e+48|0;h=e+44|0;n=t[h>>2]|0;do{if(b>>>0>(t[a>>2]|0)>>>0){n=jn(n,b)|0;if(n){t[h>>2]=n;t[a>>2]=b;break}Yn(t[h>>2]|0);t[h>>2]=0;t[a>>2]=0;jf(r,1,11752,l)|0;i=0;c=_;return i|0}}while(0);cf(n,65361,2);cf(n+2|0,u+38|0,2);cf(n+4|0,s[e+88>>1]|0,2);cf(n+6|0,t[o+8>>2]|0,4);cf(n+10|0,t[o+12>>2]|0,4);cf(n+14|0,t[o>>2]|0,4);cf(n+18|0,t[o+4>>2]|0,4);cf(n+22|0,t[e+100>>2]|0,4);cf(n+26|0,t[e+104>>2]|0,4);cf(n+30|0,t[e+92>>2]|0,4);cf(n+34|0,t[e+96>>2]|0,4);cf(n+38|0,t[d>>2]|0,2);if(t[d>>2]|0){a=0;n=n+40|0;while(1){cf(n,(t[f+24>>2]|0)+-1+(t[f+32>>2]<<7)|0,1);cf(n+1|0,t[f>>2]|0,1);cf(n+2|0,t[f+4>>2]|0,1);a=a+1|0;if(a>>>0>=(t[d>>2]|0)>>>0)break;else{n=n+3|0;f=f+52|0}}}i=(Bf(i,t[h>>2]|0,b,r)|0)==(b|0)&1;c=_;return i|0}function Bt(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0;w=c;c=c+32|0;k=w+16|0;_=w+8|0;l=w;b=w+20|0;o=e+200|0;u=t[o>>2]|0;h=e+164|0;d=t[h>>2]|0;f=t[d+(u*5640|0)+5584>>2]|0;if(!(t[f>>2]&1))a=5;else a=(t[f+4>>2]|0)+5|0;s=a+9|0;t[b>>2]=s;n=e+48|0;e=e+44|0;f=t[e>>2]|0;do{if(s>>>0>(t[n>>2]|0)>>>0){f=jn(f,s)|0;if(f){t[e>>2]=f;t[n>>2]=s;break}Yn(t[e>>2]|0);t[e>>2]=0;t[n>>2]=0;jf(r,1,11687,l)|0;k=0;c=w;return k|0}}while(0);cf(f,65362,2);cf(f+2|0,a+7|0,2);cf(f+4|0,t[d+(u*5640|0)>>2]|0,1);cf(f+5|0,t[d+(u*5640|0)+4>>2]|0,1);cf(f+6|0,t[d+(u*5640|0)+8>>2]|0,2);cf(f+8|0,t[d+(u*5640|0)+16>>2]|0,1);t[b>>2]=a;if(!(Zt(t[h>>2]|0,t[o>>2]|0,f+9|0,b,r)|0)){jf(r,1,11726,_)|0;k=0;c=w;return k|0}if(!(t[b>>2]|0)){k=(Bf(i,t[e>>2]|0,s,r)|0)==(s|0)&1;c=w;return k|0}else{jf(r,1,11726,k)|0;k=0;c=w;return k|0}return 0}function zt(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0;_=c;c=c+32|0;b=_+16|0;d=_+8|0;l=_;u=_+20|0;o=e+200|0;h=e+164|0;f=t[(t[h>>2]|0)+((t[o>>2]|0)*5640|0)+5584>>2]|0;n=t[f+24>>2]|0;if((n|0)==1)f=1;else f=((t[f+4>>2]|0)*3|0)+-2|0;a=(n|0)==0?f+1|0:f<<1|1;s=a+4|0;t[u>>2]=s;n=e+48|0;e=e+44|0;f=t[e>>2]|0;do{if(s>>>0>(t[n>>2]|0)>>>0){f=jn(f,s)|0;if(f){t[e>>2]=f;t[n>>2]=s;break}Yn(t[e>>2]|0);t[e>>2]=0;t[n>>2]=0;jf(r,1,11622,l)|0;b=0;c=_;return b|0}}while(0);cf(f,65372,2);cf(f+2|0,a+2|0,2);t[u>>2]=a;if(!(Wt(t[h>>2]|0,t[o>>2]|0,0,f+4|0,u,r)|0)){jf(r,1,11661,d)|0;b=0;c=_;return b|0}if(!(t[u>>2]|0)){b=(Bf(i,t[e>>2]|0,s,r)|0)==(s|0)&1;c=_;return b|0}else{jf(r,1,11661,b)|0;b=0;c=_;return b|0}return 0}function Dt(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0;y=c;c=c+16|0;p=y;w=y+4|0;b=e+80|0;f=t[(t[b>>2]|0)+16>>2]|0;if(f>>>0<=1){g=1;c=y;return g|0}m=e+164|0;v=e+200|0;k=e+48|0;d=e+44|0;h=1;while(1){s=t[m>>2]|0;o=t[v>>2]|0;a=t[s+(o*5640|0)+5584>>2]|0;l=t[a+(h*1080|0)>>2]|0;e:do{if((((((t[a>>2]|0)==(l|0)?(_=t[a+4>>2]|0,(_|0)==(t[a+(h*1080|0)+4>>2]|0)):0)?(t[a+8>>2]|0)==(t[a+(h*1080|0)+8>>2]|0):0)?(t[a+12>>2]|0)==(t[a+(h*1080|0)+12>>2]|0):0)?(t[a+16>>2]|0)==(t[a+(h*1080|0)+16>>2]|0):0)?(t[a+20>>2]|0)==(t[a+(h*1080|0)+20>>2]|0):0){if(_){e=0;do{if((t[a+812+(e<<2)>>2]|0)!=(t[a+(h*1080|0)+812+(e<<2)>>2]|0)){g=13;break e}if((t[a+944+(e<<2)>>2]|0)!=(t[a+(h*1080|0)+944+(e<<2)>>2]|0)){g=13;break e}e=e+1|0}while(e>>>0<_>>>0)}}else g=13}while(0);if((g|0)==13){g=0;if(!(l&1))e=5;else e=(t[a+(h*1080|0)+4>>2]|0)+5|0;u=e+(f>>>0<257?6:7)|0;n=t[d>>2]|0;if(u>>>0>(t[k>>2]|0)>>>0){e=jn(n,u)|0;if(!e){g=17;break}t[d>>2]=e;t[k>>2]=u;o=t[v>>2]|0;s=t[m>>2]|0;a=t[s+(o*5640|0)+5584>>2]|0;f=t[(t[b>>2]|0)+16>>2]|0;l=t[a+(h*1080|0)>>2]|0;n=e}f=f>>>0<257?1:2;if(!(l&1))e=5;else e=(t[a+(h*1080|0)+4>>2]|0)+5|0;cf(n,65363,2);cf(n+2|0,f+3+e|0,2);cf(n+4|0,h,f);l=f|4;cf(n+l|0,t[(t[s+(o*5640|0)+5584>>2]|0)+(h*1080|0)>>2]|0,1);t[w>>2]=e;Zt(t[m>>2]|0,t[v>>2]|0,n+(l+1)|0,w,r)|0;if((Bf(i,t[d>>2]|0,u,r)|0)!=(u|0)){e=0;g=24;break}f=t[(t[b>>2]|0)+16>>2]|0}h=h+1|0;if(h>>>0>=f>>>0){e=1;g=24;break}}if((g|0)==17){Yn(t[d>>2]|0);t[d>>2]=0;t[k>>2]=0;jf(r,1,11548,p)|0;g=0;c=y;return g|0}else if((g|0)==24){c=y;return e|0}return 0}function Nt(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0;v=c;c=c+16|0;w=v;b=v+4|0;h=e+80|0;f=t[(t[h>>2]|0)+16>>2]|0;if(f>>>0<=1){m=1;c=v;return m|0}_=e+164|0;k=e+200|0;d=e+48|0;u=e+44|0;o=1;while(1){l=t[(t[_>>2]|0)+((t[k>>2]|0)*5640|0)+5584>>2]|0;a=t[l+24>>2]|0;s=t[l+(o*1080|0)+24>>2]|0;e:do{if((a|0)==(s|0)?(t[l+804>>2]|0)==(t[l+(o*1080|0)+804>>2]|0):0){if((a|0)!=1){n=(t[l+4>>2]|0)*3|0;e=n+-2|0;if((n|0)!=((t[l+(o*1080|0)+4>>2]|0)*3|0)){m=14;break}if(!e)break}else e=1;n=0;do{if((t[l+28+(n<<3)>>2]|0)!=(t[l+(o*1080|0)+28+(n<<3)>>2]|0)){m=14;break e}n=n+1|0}while(n>>>0>>0);if(a){n=0;do{if((t[l+28+(n<<3)+4>>2]|0)!=(t[l+(o*1080|0)+28+(n<<3)+4>>2]|0)){m=14;break e}n=n+1|0}while(n>>>0>>0)}}else m=14}while(0);if((m|0)==14){m=0;if((s|0)==1)e=1;else e=((t[l+(o*1080|0)+4>>2]|0)*3|0)+-2|0;a=((s|0)==0?e+1|0:e<<1|1)+5+(f>>>0>256&1)|0;e=t[u>>2]|0;if(a>>>0>(t[d>>2]|0)>>>0){e=jn(e,a)|0;if(!e){m=18;break}t[u>>2]=e;t[d>>2]=a;f=t[(t[_>>2]|0)+((t[k>>2]|0)*5640|0)+5584>>2]|0;n=t[f+(o*1080|0)+24>>2]|0}else{n=s;f=l}if((n|0)==1)f=1;else f=((t[f+(o*1080|0)+4>>2]|0)*3|0)+-2|0;n=(n|0)==0?f+1|0:f<<1|1;t[b>>2]=n+6;cf(e,65373,2);f=e+2|0;if((t[(t[h>>2]|0)+16>>2]|0)>>>0<257){cf(f,n+3|0,2);cf(e+4|0,o,1);e=e+5|0}else{cf(f,n+4|0,2);cf(e+4|0,o,2);e=e+6|0}t[b>>2]=n;Wt(t[_>>2]|0,t[k>>2]|0,o,e,b,r)|0;if((Bf(i,t[u>>2]|0,a,r)|0)!=(a|0)){e=0;m=28;break}f=t[(t[h>>2]|0)+16>>2]|0}o=o+1|0;if(o>>>0>=f>>>0){e=1;m=28;break}}if((m|0)==18){Yn(t[u>>2]|0);t[u>>2]=0;t[d>>2]=0;jf(r,1,11476,w)|0;m=0;c=v;return m|0}else if((m|0)==28){c=v;return e|0}return 0}function Ft(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0;u=c;c=c+16|0;a=u;s=(t[e+32>>2]|0)*5|0;l=s+6|0;n=e+48|0;o=e+44|0;f=t[o>>2]|0;do{if(l>>>0>(t[n>>2]|0)>>>0){f=jn(f,l)|0;if(f){t[o>>2]=f;t[n>>2]=l;break}Yn(t[o>>2]|0);t[o>>2]=0;t[n>>2]=0;jf(r,1,11437,a)|0;i=0;c=u;return i|0}}while(0);a=Df(i)|0;e=e+16|0;t[e>>2]=a;t[e+4>>2]=I;cf(f,65365,2);cf(f+2|0,s+4|0,2);cf(f+4|0,0,1);cf(f+5|0,80,1);i=(Bf(i,t[o>>2]|0,l,r)|0)==(l|0)&1;c=u;return i|0}function Ht(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0;k=c;c=c+16|0;l=k;_=k+4|0;t[_>>2]=0;h=e+200|0;f=t[h>>2]|0;u=e+164|0;n=t[u>>2]|0;o=e+80|0;s=t[(t[o>>2]|0)+16>>2]|0;b=(ie(s>>>0<257?7:9,(t[n+(f*5640|0)+420>>2]|0)+1|0)|0)+4|0;a=e+48|0;d=e+44|0;e=t[d>>2]|0;do{if(b>>>0>(t[a>>2]|0)>>>0){f=jn(e,b)|0;if(f){t[d>>2]=f;t[a>>2]=b;a=f;e=t[(t[o>>2]|0)+16>>2]|0;n=t[u>>2]|0;f=t[h>>2]|0;break}Yn(t[d>>2]|0);t[d>>2]=0;t[a>>2]=0;jf(r,1,11398,l)|0;i=0;c=k;return i|0}else{a=e;e=s}}while(0);Kt(e,n,f,a,_);i=(Bf(i,t[d>>2]|0,b,r)|0)==(b|0)&1;c=k;return i|0}function Ut(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0;l=e+164|0;o=e+80|0;n=t[o>>2]|0;f=t[n+16>>2]|0;if(!f){i=1;return i|0}s=e+44|0;e=0;a=t[(t[l>>2]|0)+5584>>2]|0;while(1){if(t[a+808>>2]|0){u=t[(t[l>>2]|0)+5584>>2]|0;h=f>>>0<257?1:2;n=h+6|0;c=t[s>>2]|0;cf(c,65374,2);f=h|4;cf(c+2|0,f,2);cf(c+4|0,e,h);cf(c+f|0,0,1);cf(c+(f+1)|0,t[u+(e*1080|0)+808>>2]|0,1);if((Bf(i,t[s>>2]|0,n,r)|0)!=(n|0)){e=0;f=7;break}n=t[o>>2]|0}e=e+1|0;f=t[n+16>>2]|0;if(e>>>0>=f>>>0){e=1;f=7;break}else a=a+1080|0}if((f|0)==7)return e|0;return 0}function jt(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0;u=c;c=c+16|0;a=u;s=t[e+108>>2]|0;l=dl(s)|0;o=l+6|0;f=e+48|0;n=e+44|0;e=t[n>>2]|0;do{if(o>>>0>(t[f>>2]|0)>>>0){e=jn(e,o)|0;if(e){t[n>>2]=e;t[f>>2]=o;break}Yn(t[n>>2]|0);t[n>>2]=0;t[f>>2]=0;jf(r,1,11355,a)|0;i=0;c=u;return i|0}}while(0);cf(e,65380,2);cf(e+2|0,l+4|0,2);cf(e+4|0,1,2);Dl(e+6|0,s|0,l|0)|0;i=(Bf(i,t[n>>2]|0,o,r)|0)==(o|0)&1;c=u;return i|0}function Yt(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0;S=c;c=c+32|0;y=S+24|0;v=S+16|0;b=S+8|0;a=S;l=t[e+80>>2]|0;o=l+16|0;s=t[o>>2]|0;u=s+6|0;g=e+48|0;E=e+44|0;n=t[E>>2]|0;do{if(u>>>0>(t[g>>2]|0)>>>0){n=jn(n,u)|0;if(n){t[E>>2]=n;t[g>>2]=u;break}Yn(t[E>>2]|0);t[E>>2]=0;t[g>>2]=0;jf(r,1,11199,a)|0;i=0;c=S;return i|0}}while(0);cf(n,65400,2);cf(n+2|0,s+4|0,2);cf(n+4|0,t[o>>2]|0,2);if(t[o>>2]|0){s=0;a=t[l+24>>2]|0;n=n+6|0;while(1){cf(n,(t[a+24>>2]|0)+-1|t[a+32>>2]<<7,1);s=s+1|0;if(s>>>0>=(t[o>>2]|0)>>>0)break;else{a=a+52|0;n=n+1|0}}}if((Bf(i,t[E>>2]|0,u,r)|0)!=(u|0)){i=0;c=S;return i|0}k=e+200|0;d=t[k>>2]|0;w=e+164|0;h=t[w>>2]|0;a=h+(d*5640|0)+5616|0;e:do{if(t[a>>2]|0){u=0;e=t[h+(d*5640|0)+5612>>2]|0;while(1){s=e+16|0;l=t[s>>2]|0;o=l+10|0;n=t[E>>2]|0;if(o>>>0>(t[g>>2]|0)>>>0){n=jn(n,o)|0;if(!n)break;t[E>>2]=n;t[g>>2]=o}cf(n,65396,2);cf(n+2|0,l+8|0,2);cf(n+4|0,0,2);cf(n+6|0,t[e+4>>2]<<8|t[e+8>>2]&255|t[e>>2]<<10,2);cf(n+8|0,0,2);Dl(n+10|0,t[e+12>>2]|0,t[s>>2]|0)|0;if((Bf(i,t[E>>2]|0,o,r)|0)!=(o|0)){m=0;M=42;break}u=u+1|0;if(u>>>0>=(t[a>>2]|0)>>>0)break e;else e=e+20|0}if((M|0)==42){c=S;return m|0}Yn(t[E>>2]|0);t[E>>2]=0;t[g>>2]=0;jf(r,1,11238,b)|0;i=0;c=S;return i|0}}while(0);b=h+(d*5640|0)+5628|0;e:do{if(t[b>>2]|0){_=0;h=t[h+(d*5640|0)+5624>>2]|0;while(1){u=h+4|0;a=t[u>>2]|0;l=a>>>0>255;o=l?2:1;l=l?32768:0;a=ie(o,a<<1)|0;e=a+19|0;n=t[E>>2]|0;if(e>>>0>(t[g>>2]|0)>>>0){n=jn(n,e)|0;if(!n)break;t[E>>2]=n;t[g>>2]=e}cf(n,65397,2);cf(n+2|0,a+17|0,2);cf(n+4|0,0,2);cf(n+6|0,t[h>>2]|0,1);cf(n+7|0,0,2);cf(n+9|0,1,2);cf(n+11|0,1,1);cf(n+12|0,t[u>>2]|l,2);n=n+14|0;if(!(t[u>>2]|0))a=0;else{s=0;do{cf(n,s,o);n=n+o|0;s=s+1|0;a=t[u>>2]|0}while(s>>>0>>0)}cf(n,a|l,2);n=n+2|0;if(!(t[u>>2]|0))s=n;else{a=0;do{cf(n,a,o);n=n+o|0;a=a+1|0}while(a>>>0<(t[u>>2]|0)>>>0);s=n}n=((f[h+16>>0]^1)&255)<<16&65536;a=t[h+8>>2]|0;if(a)n=t[a+8>>2]|n;a=t[h+12>>2]|0;if(a)n=t[a+8>>2]<<8|n;cf(s,n,3);if((Bf(i,t[E>>2]|0,e,r)|0)!=(e|0)){m=0;M=42;break}_=_+1|0;if(_>>>0>=(t[b>>2]|0)>>>0)break e;else h=h+20|0}if((M|0)==42){c=S;return m|0}Yn(t[E>>2]|0);t[E>>2]=0;t[g>>2]=0;jf(r,1,11277,v)|0;i=0;c=S;return i|0}}while(0);o=t[k>>2]|0;l=t[w>>2]|0;u=l+(o*5640|0)+5628|0;a=t[u>>2]|0;e=a+5|0;n=t[E>>2]|0;do{if(e>>>0>(t[g>>2]|0)>>>0){n=jn(n,e)|0;if(!n){Yn(t[E>>2]|0);t[E>>2]=0;t[g>>2]=0;jf(r,1,11316,y)|0;p=1;break}else{t[E>>2]=n;t[g>>2]=e;A=n;M=37;break}}else{A=n;M=37}}while(0);if((M|0)==37){cf(A,65399,2);cf(A+2|0,a+3|0,2);cf(A+4|0,t[u>>2]|0,1);if(t[u>>2]|0){s=0;a=A+5|0;n=t[l+(o*5640|0)+5624>>2]|0;while(1){cf(a,t[n>>2]|0,1);s=s+1|0;if(s>>>0>=(t[u>>2]|0)>>>0)break;else{a=a+1|0;n=n+20|0}}}p=(Bf(i,t[E>>2]|0,e,r)|0)!=(e|0)}i=p&1^1;c=S;return i|0}function qt(e,i,r){e=e|0;i=i|0;r=r|0;r=Df(i)|0;i=(t[e+196>>2]|0)+8|0;t[i>>2]=r;t[i+4>>2]=I;return 1}function $t(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0;n=c;c=c+16|0;i=Pr(0)|0;f=e+204|0;t[f>>2]=i;if(!i){jf(r,1,11159,n)|0;r=0;c=n;return r|0}if(Lr(i,t[e+80>>2]|0,e+88|0)|0){r=1;c=n;return r|0}Br(t[f>>2]|0);t[f>>2]=0;r=0;c=n;return r|0}function Vt(e,i,r){e=e|0;i=i|0;r=r|0;var a=0,s=0,l=0,u=0,c=0,h=0,d=0.0,b=0,_=0,k=0,w=0,m=0,v=0.0,p=0,g=0,y=0.0,M=0.0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,O=0.0,x=0.0,L=0.0,B=0.0,z=0,D=0,N=0,F=0,H=0,U=0,j=0,Y=0;H=e+80|0;C=t[H>>2]|0;U=e+164|0;s=t[U>>2]|0;F=C+24|0;P=t[F>>2]|0;r=t[P>>2]|0;a=t[P+4>>2]|0;N=C+16|0;P=ie(t[P+24>>2]|0,t[N>>2]|0)|0;R=Df(i)|0;k=e+116|0;c=t[k>>2]|0;w=e+112|0;i=t[w>>2]|0;O=(+(R>>>0)+4294967296.0*+(I|0))/+((ie(i,c)|0)>>>0);R=(f[e+181>>0]&8)==0?1:2;if(c){m=e+92|0;p=e+100|0;g=e+96|0;A=e+104|0;E=C+4|0;S=C+8|0;T=C+12|0;M=+((ie(r<<3,a)|0)>>>0);h=i;r=i;_=0;i=s;do{b=_;_=_+1|0;if(!r)r=0;else{h=0;do{y=+go[R&3](i);c=t[i+8>>2]|0;y=y/+(c>>>0);j=t[m>>2]|0;s=t[p>>2]|0;u=(ie(s,h)|0)+j|0;r=t[C>>2]|0;r=(u|0)>(r|0)?u:r;u=t[g>>2]|0;l=t[A>>2]|0;Y=(ie(l,b)|0)+u|0;a=t[E>>2]|0;a=(Y|0)>(a|0)?Y:a;h=h+1|0;j=(ie(s,h)|0)+j|0;s=t[S>>2]|0;s=(j|0)<(s|0)?j:s;u=(ie(l,_)|0)+u|0;l=t[T>>2]|0;l=(u|0)<(l|0)?u:l;u=i+20|0;d=+o[u>>2];if(d!=0.0)o[u>>2]=+((ie(ie(s-r|0,P)|0,l-a|0)|0)>>>0)/(M*d)-y;if(c>>>0>1){d=+((ie(ie(s-r|0,P)|0,l-a|0)|0)>>>0);r=1;a=i+24|0;while(1){v=+o[a>>2];if(v!=0.0)o[a>>2]=d/(M*v)-y;r=r+1|0;if(r>>>0>=c>>>0)break;else a=a+4|0}}i=i+5640|0;r=t[w>>2]|0}while(h>>>0>>0);c=t[k>>2]|0;h=r}}while(_>>>0>>0);if(!c)c=0;else{m=(h|0)==0;v=O+2.0;g=h>>>0>1?h:1;p=0;r=t[U>>2]|0;do{if(!m){_=r+16|0;k=0;w=r;while(1){i=w+20|0;d=+o[i>>2];if(d!=0.0?(M=d-O,o[i>>2]=M,M<30.0):0)o[i>>2]=30.0;l=w+24|0;i=t[w+8>>2]|0;b=i+-1|0;d=+o[l>>2];a=d!=0.0;if(b>>>0>1){u=_+(i<<2)|0;s=1;i=l;do{if(a?(M=d-O,o[i>>2]=M,L=+o[i+-4>>2],M>2]=L+20.0;i=i+4|0;s=s+1|0;d=+o[i>>2];a=d!=0.0}while((s|0)!=(b|0));if(a){x=d;z=u;D=29}}else if(a){x=d;z=l;D=29}if((D|0)==29?(D=0,M=x-v,o[z>>2]=M,B=+o[z+-4>>2],M>2]=B+20.0;k=k+1|0;if(k>>>0>=h>>>0)break;else{_=_+5640|0;w=w+5640|0}}r=r+(g*5640|0)|0}p=p+1|0}while(p>>>0>>0)}}else{h=i;c=0}a=t[N>>2]|0;if(!a)p=0;else{s=(t[e+100>>2]|0)+-1|0;l=(t[e+104>>2]|0)+-1|0;u=0;i=t[F>>2]|0;r=0;while(1){Y=t[i>>2]|0;j=t[i+4>>2]|0;Y=ie(((l+j|0)>>>0)/(j>>>0)|0,((s+Y|0)>>>0)/(Y>>>0)|0)|0;r=(ie(Y,t[i+24>>2]|0)|0)+r|0;u=u+1|0;if(u>>>0>=a>>>0)break;else i=i+52|0}p=~~(+(r>>>0)*.1625)>>>0}b=t[(t[H>>2]|0)+16>>2]|0;k=b+-1|0;m=ie(c,h)|0;_=(m|0)==0;if(_)s=0;else{i=0;r=0;a=t[U>>2]|0;while(1){Y=t[a+5588>>2]|0;r=r>>>0>Y>>>0?r:Y;i=i+1|0;if((i|0)==(m|0))break;else a=a+5640|0}s=r*12|0}w=e+88|0;if(((n[w>>1]|0)+-3&65535)>=4){if(_){i=0;r=0}else{h=(b|0)==0;u=0;r=0;do{if(!h){a=t[(t[U>>2]|0)+(u*5640|0)+5584>>2]|0;l=0;do{if(!(t[a+(l*1080|0)>>2]&1))i=5;else i=(t[a+(l*1080|0)+4>>2]|0)+5|0;r=r>>>0>i>>>0?r:i;l=l+1|0}while((l|0)!=(b|0))}u=u+1|0}while((u|0)!=(m|0));c=0;i=0;do{if(!h){l=t[(t[U>>2]|0)+(c*5640|0)+5584>>2]|0;u=0;do{if(!(t[l+(u*1080|0)>>2]&1))a=5;else a=(t[l+(u*1080|0)+4>>2]|0)+5|0;i=i>>>0>a>>>0?i:a;u=u+1|0}while((u|0)!=(b|0))}c=c+1|0}while((c|0)!=(m|0))}s=(ie(r+12+i|0,k)|0)+s|0}if(_)r=13;else{a=0;r=0;i=t[U>>2]|0;while(1){Y=t[i+420>>2]|0;r=r>>>0>Y>>>0?r:Y;a=a+1|0;if((a|0)==(m|0))break;else i=i+5640|0}r=(r*9|0)+13|0}Y=s+p+r|0;t[e+40>>2]=Y;Y=Nn(Y)|0;t[e+36>>2]=Y;if(!Y){Y=0;return Y|0}if(((n[w>>1]|0)+-3&65535)>=4){Y=1;return Y|0}r=Nn((t[e+32>>2]|0)*5|0)|0;t[e+24>>2]=r;if(!r){Y=0;return Y|0}t[e+28>>2]=r;Y=1;return Y|0}function Xt(e){e=e|0;return 0.0}function Gt(e){e=e|0;return+ +((((t[e+5588>>2]|0)*14|0)+-14|0)>>>0)}function Kt(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0;a=t[i+(r*5640|0)+5584>>2]|0;k=(t[i+(r*5640|0)+420>>2]|0)+1|0;o=e>>>0<257?1:2;_=ie(k,(o<<1)+5|0)|0;w=_+4|0;cf(f,65375,2);cf(f+2|0,_+2|0,2);if(!k){t[n>>2]=w;return}u=o+1|0;c=o+3|0;h=o|4;d=h+o|0;b=d+1|0;_=i+(r*5640|0)+8|0;s=a+4|0;l=0;f=f+4|0;a=i+(r*5640|0)+424|0;while(1){cf(f,t[a>>2]|0,1);cf(f+1|0,t[a+4>>2]|0,o);v=a+8|0;cf(f+u|0,t[v>>2]|0,2);i=a+12|0;cf(f+c|0,t[i>>2]|0,1);r=a+16|0;cf(f+h|0,t[r>>2]|0,o);cf(f+d|0,t[a+36>>2]|0,1);p=t[v>>2]|0;m=t[_>>2]|0;t[v>>2]=(p|0)<(m|0)?p:m;v=t[i>>2]|0;m=t[s>>2]|0;t[i>>2]=(v|0)<(m|0)?v:m;i=t[r>>2]|0;t[r>>2]=(i|0)<(e|0)?i:e;l=l+1|0;if((l|0)==(k|0))break;else{f=f+b|0;a=a+148|0}}t[n>>2]=w;return}function Wt(e,i,r,f,n,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,h=0,d=0;d=c;c=c+16|0;o=d+8|0;l=d;u=t[e+(i*5640|0)+5584>>2]|0;i=t[u+(r*1080|0)+24>>2]|0;do{if((i|0)!=1){e=(t[u+(r*1080|0)+4>>2]|0)*3|0;s=e+-2|0;if(!i){e=e+-1|0;if((t[n>>2]|0)>>>0>>0){jf(a,1,11515,l)|0;n=0;c=d;return n|0}else{cf(f,t[u+(r*1080|0)+804>>2]<<5,1);if(!s)break;else i=0;do{f=f+1|0;cf(f,t[u+(r*1080|0)+28+(i<<3)>>2]<<3,1);i=i+1|0}while((i|0)!=(s|0))}}else h=7}else{s=1;i=1;h=7}}while(0);if((h|0)==7){e=s<<1|1;if((t[n>>2]|0)>>>0>>0){jf(a,1,11515,o)|0;n=0;c=d;return n|0}cf(f,(t[u+(r*1080|0)+804>>2]<<5)+i|0,1);if(s){f=f+1|0;i=0;while(1){cf(f,(t[u+(r*1080|0)+28+(i<<3)>>2]<<11)+(t[u+(r*1080|0)+28+(i<<3)+4>>2]|0)|0,2);i=i+1|0;if((i|0)==(s|0))break;else f=f+2|0}}}t[n>>2]=(t[n>>2]|0)-e;n=1;c=d;return n|0}function Zt(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0;l=c;c=c+16|0;a=t[e+(i*5640|0)+5584>>2]|0;if((t[f>>2]|0)>>>0<5){jf(n,1,11587,l)|0;f=0;c=l;return f|0}s=a+4|0;cf(r,(t[s>>2]|0)+-1|0,1);cf(r+1|0,(t[a+8>>2]|0)+-2|0,1);cf(r+2|0,(t[a+12>>2]|0)+-2|0,1);cf(r+3|0,t[a+16>>2]|0,1);cf(r+4|0,t[a+20>>2]|0,1);i=(t[f>>2]|0)+-5|0;t[f>>2]=i;if(!(t[a>>2]&1)){f=1;c=l;return f|0}e=t[s>>2]|0;if(i>>>0>>0){jf(n,1,11587,l+8|0)|0;f=0;c=l;return f|0}if(!e)e=0;else{i=r+5|0;r=0;while(1){cf(i,(t[a+944+(r<<2)>>2]<<4)+(t[a+812+(r<<2)>>2]|0)|0,1);r=r+1|0;e=t[s>>2]|0;if(r>>>0>=e>>>0)break;else i=i+1|0}i=t[f>>2]|0}t[f>>2]=i-e;f=1;c=l;return f|0}function Jt(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,h=0;l=t[e+76>>2]|0;n=t[l+(r*5640|0)+4>>2]|0;s=696;while(1){h=t[s>>2]|0;if((h|0)==-1|(h|0)==(n|0))break;else s=s+12|0}if(!(f[e+93>>0]&8)){e=1;return e|0}h=a[e+92>>0]|0;o=l+(r*5640|0)+424+(i*148|0)+92|0;u=l+(r*5640|0)+424+(i*148|0)+88|0;c=l+(r*5640|0)+424+(i*148|0)+96|0;i=l+(r*5640|0)+424+(i*148|0)+84|0;l=f[s+4>>0]|0;switch(l|0){case 67:{n=t[o>>2]|0;break}case 82:{n=t[u>>2]|0;break}case 80:{n=t[c>>2]|0;break}case 76:{n=t[i>>2]|0;break}default:n=1}if((h|0)!=(l|0)){l=f[s+5>>0]|0;switch(l|0){case 67:{n=ie(t[o>>2]|0,n)|0;break}case 82:{n=ie(t[u>>2]|0,n)|0;break}case 80:{n=ie(t[c>>2]|0,n)|0;break}case 76:{n=ie(t[i>>2]|0,n)|0;break}default:{}}if((h|0)!=(l|0)){l=f[s+6>>0]|0;switch(l|0){case 67:{n=ie(t[o>>2]|0,n)|0;break}case 82:{n=ie(t[u>>2]|0,n)|0;break}case 80:{n=ie(t[c>>2]|0,n)|0;break}case 76:{n=ie(t[i>>2]|0,n)|0;break}default:{}}if((h|0)!=(l|0)){s=f[s+7>>0]|0;switch(s|0){case 67:{n=ie(t[o>>2]|0,n)|0;break}case 82:{n=ie(t[u>>2]|0,n)|0;break}case 80:{n=ie(t[c>>2]|0,n)|0;break}case 76:{n=ie(t[i>>2]|0,n)|0;break}default:{}}if((h|0)==(s|0))s=3;else{e=n;return e|0}}else s=2}else s=1}else s=0;t[e+84>>2]=s;e=n;return e|0}function Qt(e,i,r,l){e=e|0;i=i|0;r=r|0;l=l|0;var o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0;T=i+16|0;if(!(t[T>>2]|0)){T=1;return T|0}S=0;E=t[i+24>>2]|0;while(1){u=l+44|0;o=t[u>>2]|0;c=l+8|0;if(!o){i=l+12|0;o=Fn(ie(t[i>>2]|0,t[c>>2]|0)|0,4)|0;t[u>>2]=o;if(!o){r=0;l=61;break}}else i=l+12|0;k=E+36|0;t[l+36>>2]=t[k>>2];M=t[E+24>>2]|0;v=t[e+24>>2]|0;k=t[k>>2]|0;M=((M&7|0)!=0&1)+(M>>>3)|0;M=(M|0)==3?4:M;d=t[v+(k*136|0)+8>>2]|0;h=t[v+(k*136|0)>>2]|0;g=d-h|0;m=t[v+(k*136|0)+12>>2]|0;k=t[v+(k*136|0)+4>>2]|0;v=m-k|0;u=t[l+16>>2]|0;_=t[l+40>>2]|0;b=Ll(1,0,_|0)|0;y=I;u=Bl(u|0,0,-1,-1)|0;u=Bl(u|0,I|0,b|0,y|0)|0;u=zl(u|0,I|0,_|0)|0;w=Bl(t[l+20>>2]|0,0,-1,-1)|0;y=Bl(w|0,I|0,b|0,y|0)|0;_=zl(y|0,I|0,_|0)|0;y=t[c>>2]|0;c=u+y|0;b=t[i>>2]|0;w=_+b|0;do{if(u>>>0>>0){i=h-u|0;if(d>>>0>c>>>0){A=c-h|0;p=0;h=g-A|0;d=i}else{p=0;h=0;d=i;A=g}}else{i=u-h|0;if(d>>>0>c>>>0){p=i;h=d-c|0;d=0;A=y;break}else{p=i;h=0;d=0;A=g-i|0;break}}}while(0);do{if(_>>>0>>0){c=k-_|0;if(m>>>0>w>>>0){u=w-k|0;b=u;i=0;u=v-u|0}else{b=v;i=0;u=0}}else{i=_-k|0;if(m>>>0>w>>>0){u=m-w|0;c=0;break}else{b=v-i|0;u=0;c=0;break}}}while(0);if((p|h|A|u|i|b|0)<0){r=0;l=61;break}i=(ie(i,g)|0)+p|0;k=p+h|0;w=(ie(u,g)|0)-p|0;_=y-A|0;o=o+((ie(y,c)|0)+d<<2)|0;switch(M|0){case 1:{r=r+i|0;i=(b|0)==0;if(!(t[E+32>>2]|0)){if(!i){h=(A|0)==0;d=0;i=o;while(1){if(!h){c=i+(A<<2)|0;u=0;o=r;while(1){t[i>>2]=a[o>>0];u=u+1|0;if((u|0)==(A|0))break;else{i=i+4|0;o=o+1|0}}i=c;r=r+A|0}r=r+k|0;d=d+1|0;if((d|0)==(b|0))break;else i=i+(_<<2)|0}}}else if(!i){h=(A|0)==0;d=0;i=o;while(1){if(!h){c=i+(A<<2)|0;u=0;o=r;while(1){t[i>>2]=f[o>>0];u=u+1|0;if((u|0)==(A|0))break;else{i=i+4|0;o=o+1|0}}i=c;r=r+A|0}r=r+k|0;d=d+1|0;if((d|0)==(b|0))break;else i=i+(_<<2)|0}}r=r+w|0;break}case 2:{r=r+(i<<1)|0;i=(b|0)==0;if(!(t[E+32>>2]|0)){if(!i){h=(A|0)==0;d=0;i=o;while(1){if(!h){c=i+(A<<2)|0;u=0;o=r;while(1){t[i>>2]=s[o>>1];u=u+1|0;if((u|0)==(A|0))break;else{i=i+4|0;o=o+2|0}}i=c;r=r+(A<<1)|0}r=r+(k<<1)|0;d=d+1|0;if((d|0)==(b|0))break;else i=i+(_<<2)|0}}}else if(!i){h=(A|0)==0;d=0;i=o;while(1){if(!h){c=i+(A<<2)|0;u=0;o=r;while(1){t[i>>2]=n[o>>1];u=u+1|0;if((u|0)==(A|0))break;else{i=i+4|0;o=o+2|0}}i=c;r=r+(A<<1)|0}r=r+(k<<1)|0;d=d+1|0;if((d|0)==(b|0))break;else i=i+(_<<2)|0}}r=r+(w<<1)|0;break}case 4:{r=r+(i<<2)|0;if(b){h=(A|0)==0;d=0;i=o;while(1){if(!h){c=i+(A<<2)|0;u=0;o=r;while(1){t[i>>2]=t[o>>2];u=u+1|0;if((u|0)==(A|0))break;else{i=i+4|0;o=o+4|0}}i=c;r=r+(A<<2)|0}r=r+(k<<2)|0;d=d+1|0;if((d|0)==(b|0))break;else i=i+(_<<2)|0}}r=r+(w<<2)|0;break}default:{}}S=S+1|0;if(S>>>0>=(t[T>>2]|0)>>>0){r=1;l=61;break}else{l=l+52|0;E=E+52|0;e=e+52|0}}if((l|0)==61)return r|0;return 0}function ea(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;E=c;c=c+112|0;M=E+88|0;p=E+80|0;g=E+72|0;v=E+64|0;k=E+56|0;_=E+48|0;h=E+40|0;o=E+32|0;l=E+24|0;s=E+16|0;w=E+100|0;m=E+96|0;y=E+92|0;t[m>>2]=0;A=e+200|0;if((r|0)!=8){jf(n,1,8662,E)|0;jf(n,1,8662,E+8|0)|0;n=0;c=E;return n|0}hf(i,A,2);hf(i+2|0,w,4);hf(i+6|0,y,1);hf(i+7|0,m,1);u=t[A>>2]|0;i=t[e+112>>2]|0;if(u>>>0>=(ie(t[e+116>>2]|0,i)|0)>>>0){t[s>>2]=u;jf(n,1,15258,s)|0;n=0;c=E;return n|0}r=t[e+164>>2]|0;b=(u>>>0)%(i>>>0)|0;d=(u>>>0)/(i>>>0)|0;i=t[w>>2]|0;do{if((i+-1|0)>>>0<13){if((i|0)==12){t[l>>2]=12;jf(n,2,15282,l)|0;i=t[w>>2]|0;break}t[o>>2]=i;jf(n,1,15319,o)|0;n=0;c=E;return n|0}}while(0);if(!i){jf(n,4,15380,h)|0;t[e+72>>2]=1}i=t[m>>2]|0;do{if(!i)i=t[r+(u*5640|0)+5588>>2]|0;else{i=((a[e+76>>0]|0)>>>4&1)+i|0;t[m>>2]=i;s=r+(u*5640|0)+5588|0;l=t[s>>2]|0;r=t[y>>2]|0;if((l+-1|0)>>>0>>0){t[_>>2]=r;t[_+4>>2]=l;jf(n,1,15491,_)|0;t[e+72>>2]=1;n=0;c=E;return n|0}if(r>>>0>>0){t[s>>2]=i;break}t[k>>2]=r;t[k+4>>2]=i;jf(n,1,15590,k)|0;t[e+72>>2]=1;n=0;c=E;return n|0}}while(0);if((i|0)!=0?(i|0)==((t[y>>2]|0)+1|0):0){k=e+76|0;f[k>>0]=f[k>>0]|1}t[e+24>>2]=(t[e+72>>2]|0)==0?(t[w>>2]|0)+-12|0:0;t[e+8>>2]=16;i=t[e+60>>2]|0;if((i|0)==-1){if((b>>>0>=(t[e+28>>2]|0)>>>0?b>>>0<(t[e+36>>2]|0)>>>0:0)?d>>>0>=(t[e+32>>2]|0)>>>0:0)i=(d>>>0>=(t[e+40>>2]|0)>>>0&1)<<2&255;else i=4;w=e+76|0;f[w>>0]=f[w>>0]&-5|i}else{w=e+76|0;f[w>>0]=((t[A>>2]|0)!=(i|0)&1)<<2&255|f[w>>0]&-5}o=e+196|0;i=t[o>>2]|0;if(!i){n=1;c=E;return n|0}l=t[A>>2]|0;i=t[i+40>>2]|0;t[i+(l*40|0)>>2]=l;t[i+(l*40|0)+12>>2]=t[y>>2];r=t[m>>2]|0;if(r){t[i+(l*40|0)+4>>2]=r;t[i+(l*40|0)+8>>2]=t[m>>2];i=t[i+(l*40|0)+16>>2]|0;if(!i){M=Fn(t[m>>2]|0,24)|0;t[(t[(t[o>>2]|0)+40>>2]|0)+((t[A>>2]|0)*40|0)+16>>2]=M;if(M){n=1;c=E;return n|0}jf(n,1,15698,v)|0;n=0;c=E;return n|0}i=jn(i,(t[m>>2]|0)*24|0)|0;r=(t[(t[o>>2]|0)+40>>2]|0)+((t[A>>2]|0)*40|0)+16|0;if(!i){Yn(t[r>>2]|0);t[(t[(t[o>>2]|0)+40>>2]|0)+((t[A>>2]|0)*40|0)+16>>2]=0;jf(n,1,15698,g)|0;n=0;c=E;return n|0}else{t[r>>2]=i;n=1;c=E;return n|0}}if(!(t[i+(l*40|0)+16>>2]|0)){t[i+(l*40|0)+8>>2]=10;g=Fn(10,24)|0;r=t[A>>2]|0;i=t[(t[o>>2]|0)+40>>2]|0;t[i+(r*40|0)+16>>2]=g;if(!g){t[i+(r*40|0)+8>>2]=0;jf(n,1,15698,p)|0;n=0;c=E;return n|0}else l=r}r=t[y>>2]|0;s=i+(l*40|0)+8|0;if(r>>>0<(t[s>>2]|0)>>>0){n=1;c=E;return n|0}r=r+1|0;t[s>>2]=r;i=jn(t[i+(l*40|0)+16>>2]|0,r*24|0)|0;r=(t[(t[o>>2]|0)+40>>2]|0)+((t[A>>2]|0)*40|0)+16|0;if(!i){Yn(t[r>>2]|0);A=t[A>>2]|0;y=t[(t[o>>2]|0)+40>>2]|0;t[y+(A*40|0)+16>>2]=0;t[y+(A*40|0)+8>>2]=0;jf(n,1,15698,M)|0;n=0;c=E;return n|0}else{t[r>>2]=i;n=1;c=E;return n|0}return 0}function ia(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0;m=c;c=c+64|0;_=m+48|0;k=m+40|0;o=m+32|0;d=m+56|0;l=m+52|0;t[d>>2]=r;w=e+80|0;u=t[w>>2]|0;b=e+8|0;if((t[b>>2]|0)==16)h=(t[e+164>>2]|0)+((t[e+200>>2]|0)*5640|0)|0;else h=t[e+12>>2]|0;a=h+5636|0;s=f[a>>0]|0;if(s&1){jf(n,1,15025,m)|0;w=0;c=m;return w|0}f[a>>0]=s|1;if(r>>>0<5){jf(n,1,15089,m+8|0)|0;w=0;c=m;return w|0}hf(i,h,1);if((t[h>>2]|0)>>>0>7){jf(n,1,15115,m+16|0)|0;w=0;c=m;return w|0}hf(i+1|0,l,1);l=t[l>>2]|0;a=h+4|0;t[a>>2]=l;if((l|0)>4){jf(n,1,15149,m+24|0)|0;t[a>>2]=-1}a=h+8|0;hf(i+2|0,a,2);a=t[a>>2]|0;if((a+-1|0)>>>0>65534){t[o>>2]=a;jf(n,1,15190,o)|0;w=0;c=m;return w|0}o=t[e+172>>2]|0;t[h+12>>2]=(o|0)==0?a:o;hf(i+4|0,h+16|0,1);o=i+5|0;t[d>>2]=r+-5;l=t[u+16>>2]|0;if(l){i=t[h>>2]&1;a=t[h+5584>>2]|0;s=0;do{t[a+(s*1080|0)>>2]=i;s=s+1|0}while(s>>>0>>0)}if(!(wi(e,0,o,d,n)|0)){jf(n,1,15089,k)|0;w=0;c=m;return w|0}if(t[d>>2]|0){jf(n,1,15089,_)|0;w=0;c=m;return w|0}if((t[b>>2]|0)==16)a=(t[e+164>>2]|0)+((t[e+200>>2]|0)*5640|0)|0;else a=t[e+12>>2]|0;a=t[a+5584>>2]|0;r=a+4|0;s=t[r>>2]|0;h=s<<2;if((t[(t[w>>2]|0)+16>>2]|0)>>>0<=1){w=1;c=m;return w|0}d=a+8|0;b=a+12|0;e=a+16|0;n=a+20|0;_=a+812|0;k=a+944|0;t[a+1084>>2]=s;l=t[d>>2]|0;t[a+1088>>2]=l;i=t[b>>2]|0;t[a+1092>>2]=i;o=t[e>>2]|0;t[a+1096>>2]=o;u=t[n>>2]|0;t[a+1100>>2]=u;Dl(a+1892|0,_|0,h|0)|0;Dl(a+2024|0,k|0,h|0)|0;if((t[(t[w>>2]|0)+16>>2]|0)>>>0<=2){w=1;c=m;return w|0}t[a+2164>>2]=s;t[a+2168>>2]=l;t[a+2172>>2]=i;t[a+2176>>2]=o;t[a+2180>>2]=u;Dl(a+2972|0,_|0,h|0)|0;Dl(a+3104|0,k|0,h|0)|0;if((t[(t[w>>2]|0)+16>>2]|0)>>>0>3)s=3;else{w=1;c=m;return w|0}while(1){l=t[d>>2]|0;i=t[b>>2]|0;o=t[e>>2]|0;u=t[n>>2]|0;t[a+3244>>2]=t[r>>2];t[a+3248>>2]=l;t[a+3252>>2]=i;t[a+3256>>2]=o;t[a+3260>>2]=u;Dl(a+4052|0,_|0,h|0)|0;Dl(a+4184|0,k|0,h|0)|0;s=s+1|0;if(s>>>0>=(t[(t[w>>2]|0)+16>>2]|0)>>>0){a=1;break}else a=a+1080|0}c=m;return a|0}function ra(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0;p=c;c=c+272|0;d=p;m=p+136|0;v=p+8|0;if(!e){v=0;c=p;return v|0}h=e+4|0;if((t[e>>2]|0)==(i|0)?(t[h>>2]|0)==(r|0):0)n=e+8|0;else{t[e>>2]=i;t[h>>2]=r;t[m>>2]=i;t[v>>2]=r;n=e+8|0;t[n>>2]=0;a=0;l=r;o=i;u=0;while(1){w=ie(l,o)|0;o=(o+1|0)/2|0;s=u+1|0;t[m+(s<<2)>>2]=o;l=(l+1|0)/2|0;t[v+(s<<2)>>2]=l;a=a+w|0;if(w>>>0<=1)break;else u=s}t[n>>2]=a;if(!a){n=e+12|0;a=t[n>>2]|0;if(a){Yn(a);t[n>>2]=0}Yn(e);v=0;c=p;return v|0}s=a<<4;l=e+16|0;o=e+12|0;do{if(s>>>0>(t[l>>2]|0)>>>0){a=jn(t[o>>2]|0,s)|0;if(a){t[o>>2]=a;r=t[l>>2]|0;xl(a+r|0,0,s-r|0)|0;t[l>>2]=s;r=t[h>>2]|0;i=t[e>>2]|0;break}jf(f,1,20166,d)|0;n=t[o>>2]|0;if(n){Yn(n);t[o>>2]=0}Yn(e);v=0;c=p;return v|0}}while(0);a=t[o>>2]|0;i=a+((ie(r,i)|0)<<4)|0;if(u){w=0;r=i;do{_=t[v+(w<<2)>>2]|0;e:do{if((_|0)>0){k=t[m+(w<<2)>>2]|0;if((k|0)<=0){s=_+-1|0;l=0;while(1){b=(l&1|0)!=0|(l|0)==(s|0);o=b?r:i+(k<<4)|0;r=b?r:i;l=l+1|0;if((l|0)>=(_|0)){i=o;break e}else i=o}}b=((k+2+((k|0)<2?~k:-3)|0)>>>1)+1|0;f=_+-1|0;d=0;while(1){h=k;o=r;while(1){t[a>>2]=o;s=a+16|0;l=h;h=h+-2|0;if((h|0)>-1){t[s>>2]=o;a=a+32|0}else a=s;if((l|0)<=2)break;else o=o+16|0}r=r+(b<<4)|0;h=(d&1|0)!=0|(d|0)==(f|0);s=h?r:i+(k<<4)|0;r=h?r:i;d=d+1|0;if((d|0)>=(_|0)){i=s;break}else i=s}}}while(0);w=w+1|0}while((w|0)!=(u|0))}t[a>>2]=0}n=t[n>>2]|0;if(!n){v=e;c=p;return v|0}a=0;i=t[e+12>>2]|0;while(1){t[i+4>>2]=999;t[i+8>>2]=0;t[i+12>>2]=0;a=a+1|0;if((a|0)==(n|0))break;else i=i+16|0}c=p;return e|0}function fa(e){e=e|0;var i=0,r=0;if(!e)return;i=e+12|0;r=t[i>>2]|0;if(r){Yn(r);t[i>>2]=0}Yn(e);return}function na(e,i,r){e=e|0;i=i|0;r=r|0;i=(t[e+12>>2]|0)+(i<<4)|0;if(!i)return;while(1){e=i+4|0;if((t[e>>2]|0)<=(r|0)){i=4;break}t[e>>2]=r;i=t[i>>2]|0;if(!i){i=4;break}}if((i|0)==4)return}function ta(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0;o=c;c=c+128|0;l=o;r=(t[i+12>>2]|0)+(r<<4)|0;if(!(t[r>>2]|0)){n=0;a=l}else{n=r;i=l;while(1){a=i+4|0;t[i>>2]=r;r=t[n>>2]|0;if(!(t[r>>2]|0)){n=0;break}else{n=r;i=a}}}while(1){s=r+8|0;i=t[s>>2]|0;if((n|0)>(i|0)){t[s>>2]=n;i=n}e:do{if((i|0)<(f|0)){n=r+4|0;while(1){if((i|0)>=(t[n>>2]|0))break;ma(e,0,1);i=i+1|0;if((i|0)>=(f|0)){r=i;break e}}r=r+12|0;if(!(t[r>>2]|0)){ma(e,1,1);t[r>>2]=1;r=i}else r=i}else r=i}while(0);t[s>>2]=r;if((a|0)==(l|0))break;s=a+-4|0;n=r;r=t[s>>2]|0;a=s}c=o;return}function aa(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0;o=c;c=c+128|0;l=o;r=(t[i+12>>2]|0)+(r<<4)|0;if(!(t[r>>2]|0)){i=0;a=l}else{n=r;i=l;while(1){a=i+4|0;t[i>>2]=r;r=t[n>>2]|0;if(!(t[r>>2]|0)){i=0;break}else{n=r;i=a}}}while(1){s=r+8|0;n=t[s>>2]|0;if((i|0)>(n|0))t[s>>2]=i;else i=n;r=r+4|0;e:do{if((i|0)<(f|0)){while(1){if((i|0)>=(t[r>>2]|0))break e;if(va(e,1)|0)break;i=i+1|0;if((i|0)>=(f|0))break e}t[r>>2]=i}}while(0);t[s>>2]=i;if((a|0)==(l|0))break;s=a+-4|0;r=t[s>>2]|0;a=s}c=o;return(t[r>>2]|0)<(f|0)|0}function sa(){var e=0,i=0;e=Fn(1,12)|0;if(!e){e=0;return e|0}t[e+4>>2]=10;i=Fn(10,4)|0;t[e+8>>2]=i;if(i){i=e;return i|0}Yn(e);i=0;return i|0}function la(e){e=e|0;var i=0;if(!e)return;i=t[e+8>>2]|0;if(i)Yn(i);Yn(e);return}function oa(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0;l=c;c=c+16|0;s=l;a=e+4|0;n=t[a>>2]|0;f=t[e>>2]|0;do{if((n|0)==(f|0)){n=n+10|0;t[a>>2]=n;f=e+8|0;n=jn(t[f>>2]|0,n<<2)|0;if(n){t[f>>2]=n;f=t[e>>2]|0;break}Yn(t[f>>2]|0);t[a>>2]=0;t[e>>2]=0;jf(r,1,20214,s)|0;e=0;c=l;return e|0}else n=t[e+8>>2]|0}while(0);t[n+(f<<2)>>2]=i;t[e>>2]=f+1;e=1;c=l;return e|0}function ua(e){e=e|0;return t[e>>2]|0}function ca(e){e=e|0;return t[e+8>>2]|0}function ha(e){e=e|0;t[e>>2]=0;return}function da(){return Nn(20)|0}function ba(e){e=e|0;if(!e)return;Yn(e);return}function _a(e){e=e|0;return(t[e+8>>2]|0)-(t[e>>2]|0)|0}function ka(e,i,r){e=e|0;i=i|0;r=r|0;t[e>>2]=i;t[e+4>>2]=i+r;t[e+8>>2]=i;t[e+12>>2]=0;t[e+16>>2]=8;return}function wa(e,i,r){e=e|0;i=i|0;r=r|0;t[e>>2]=i;t[e+4>>2]=i+r;t[e+8>>2]=i;t[e+12>>2]=0;t[e+16>>2]=0;return}function ma(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0;if(!r)return;u=e+16|0;c=e+12|0;h=e+8|0;s=e+4|0;e=t[u>>2]|0;o=r+-1|0;do{l=i>>>o&1;if(!e){a=t[c>>2]|0;e=a<<8&65280;t[c>>2]=e;e=(e|0)==65280?7:8;t[u>>2]=e;n=t[h>>2]|0;if(n>>>0<(t[s>>2]|0)>>>0){t[h>>2]=n+1;f[n>>0]=a;e=t[u>>2]|0}}e=e+-1|0;t[u>>2]=e;t[c>>2]=l<>2];o=o+-1|0}while(o>>>0>>0);return}function va(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,s=0,l=0,o=0,u=0,c=0;if(!i){i=0;return i|0}o=e+16|0;u=e+12|0;c=e+8|0;s=e+4|0;r=t[o>>2]|0;f=t[u>>2]|0;l=i+-1|0;e=0;do{if(!r){n=f<<8&65280;t[u>>2]=n;r=(n|0)==65280?7:8;t[o>>2]=r;f=t[c>>2]|0;if(f>>>0<(t[s>>2]|0)>>>0){t[c>>2]=f+1;f=a[f>>0]|0|n;t[u>>2]=f}else f=n}r=r+-1|0;t[o>>2]=r;e=((f>>>r&1)<>>0>>0);return e|0}function pa(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0;n=e+12|0;i=t[n>>2]|0;l=i<<8&65280;t[n>>2]=l;a=e+16|0;t[a>>2]=(l|0)==65280?7:8;l=e+8|0;r=t[l>>2]|0;s=e+4|0;if(r>>>0>=(t[s>>2]|0)>>>0){l=0;return l|0}t[l>>2]=r+1;f[r>>0]=i;if((t[a>>2]|0)!=7){l=1;return l|0}i=t[n>>2]|0;e=i<<8&65280;t[n>>2]=e;t[a>>2]=(e|0)==65280?7:8;e=t[l>>2]|0;if(e>>>0>=(t[s>>2]|0)>>>0){l=0;return l|0}t[l>>2]=e+1;f[e>>0]=i;l=1;return l|0}function ga(e){e=e|0;var i=0,r=0,f=0,n=0,s=0;s=e+12|0;i=t[s>>2]|0;do{if((i&255|0)==255){f=i<<8&65280;t[s>>2]=f;i=e+16|0;t[i>>2]=(f|0)==65280?7:8;n=e+8|0;r=t[n>>2]|0;if(r>>>0<(t[e+4>>2]|0)>>>0){t[n>>2]=r+1;t[s>>2]=a[r>>0]|0|f;break}else{e=0;return e|0}}else i=e+16|0}while(0);t[i>>2]=0;e=1;return e|0}function ya(e){e=e|0;return Oa(e,1)|0}function Ma(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0;C=c;c=c+32|0;T=C+16|0;R=C;o=t[e+24>>2]|0;l=(t[o+8>>2]|0)-(t[o>>2]|0)|0;s=(t[o+12>>2]|0)-(t[o+4>>2]|0)|0;S=(t[e+8>>2]|0)-(t[e>>2]|0)|0;if((i|0)==1){R=1;c=C;return R|0}a=i+-1|0;n=(a|0)==0;if(n)i=0;else{r=o;f=a;i=0;do{E=r;r=r+136|0;A=(t[E+144>>2]|0)-(t[r>>2]|0)|0;i=i>>>0>>0?A:i;E=(t[E+148>>2]|0)-(t[E+140>>2]|0)|0;i=i>>>0>>0?E:i;f=f+-1|0}while((f|0)!=0);i=i<<2}E=Hn(i)|0;t[T>>2]=E;if(!E){R=0;c=C;return R|0}t[R>>2]=E;if(!n){m=e+32|0;v=T+8|0;p=R+8|0;g=T+4|0;y=T+12|0;M=R+4|0;A=R+12|0;do{k=t[m>>2]|0;d=o;o=o+136|0;t[v>>2]=l;t[p>>2]=s;b=t[d+144>>2]|0;_=t[o>>2]|0;f=l;l=b-_|0;i=t[d+148>>2]|0;d=d+140|0;w=t[d>>2]|0;r=s;s=i-w|0;t[g>>2]=l-f;t[y>>2]=(_|0)%2|0;w=(i|0)==(w|0);if(!w){h=l<<2;i=0;while(1){e=ie(i,S)|0;u=k+(e<<2)|0;if(f){r=u;n=E+(t[y>>2]<<2)|0;while(1){f=f+-1|0;t[n>>2]=t[r>>2];if(!f)break;else{r=r+4|0;n=n+8|0}}}r=t[g>>2]|0;if(r){f=k+((t[v>>2]|0)+e<<2)|0;n=E+(1-(t[y>>2]|0)<<2)|0;while(1){r=r+-1|0;t[n>>2]=t[f>>2];if(!r)break;else{f=f+4|0;n=n+8|0}}}xa(T);Dl(u|0,E|0,h|0)|0;i=i+1|0;if((i|0)==(s|0))break;f=t[v>>2]|0}r=t[p>>2]|0;i=t[d>>2]|0}t[M>>2]=s-r;t[A>>2]=(i|0)%2|0;e:do{if((b|0)!=(_|0)){i=0;while(1){if(r){f=k+(i<<2)|0;n=E+(t[A>>2]<<2)|0;while(1){r=r+-1|0;t[n>>2]=t[f>>2];if(!r)break;else{f=f+(S<<2)|0;n=n+8|0}}}r=t[M>>2]|0;if(r){f=k+((ie(t[p>>2]|0,S)|0)+i<<2)|0;n=E+(1-(t[A>>2]|0)<<2)|0;while(1){r=r+-1|0;t[n>>2]=t[f>>2];if(!r)break;else{f=f+(S<<2)|0;n=n+8|0}}}xa(R);if(!w){r=0;do{t[k+((ie(r,S)|0)+i<<2)>>2]=t[E+(r<<2)>>2];r=r+1|0}while((r|0)!=(s|0))}i=i+1|0;if((i|0)==(l|0))break e;r=t[p>>2]|0}}}while(0);a=a+-1|0}while((a|0)!=0)}Un(E);R=1;c=C;return R|0}function Aa(e){e=e|0;if(!e){e=0;return e|0}e=(e+-1|0)>>>0<2?1:2;return e|0}function Ea(e,i){e=e|0;i=i|0;return+ +u[56+(i*80|0)+(e<<3)>>3]}function Sa(e){e=e|0;return Oa(e,2)|0}function Ta(e){e=e|0;return 0}function Ra(e,i){e=e|0;i=i|0;return+ +u[376+(i*80|0)+(e<<3)>>3]}function Ca(e,i){e=e|0;i=i|0;var r=0.0,f=0,n=0,a=0,s=0,l=0,o=0,c=0,h=0,d=0,b=0;o=e+4|0;c=((t[o>>2]|0)*3|0)+-2|0;if(!c)return;h=e+20|0;d=e+24|0;b=0;do{if(!b){f=0;n=0}else{n=b+-1|0;f=((n>>>0)/3|0)+1|0;n=((n>>>0)%3|0)+1|0}if((n|0)==0|(t[h>>2]|0)==0)a=0;else a=(n+-1|0)>>>0<2?1:2;if(!(t[d>>2]|0))r=1.0;else r=+(1<>2]|0)+~f<<3)>>3];l=~~+U(+(r*8192.0));s=a+i|0;if((l|0)>1){f=l;n=0;while(1){f=f>>1;if((f|0)<=1)break;else n=n+1|0}a=l;f=0;do{a=a>>1;f=f+1|0}while((a|0)>1);n=n+-12|0}else{n=-13;f=0}a=11-f|0;t[e+28+(b<<3)+4>>2]=((a|0)<0?l>>0-a:l<>2]=s-n;b=b+1|0}while((b|0)!=(c|0));return}function Pa(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,U=0,j=0,Y=0,q=0,$=0;$=c;c=c+32|0;j=$+16|0;Y=$;h=t[e+24>>2]|0;d=t[h+8>>2]|0;b=t[h>>2]|0;o=t[h+12>>2]|0;u=t[h+4>>2]|0;U=e+8|0;s=t[U>>2]|0;l=t[e>>2]|0;H=s-l|0;a=i+-1|0;n=(a|0)==0;if(n)i=80;else{r=h;f=a;i=0;do{F=r;r=r+136|0;N=(t[F+144>>2]|0)-(t[r>>2]|0)|0;i=i>>>0>>0?N:i;F=(t[F+148>>2]|0)-(t[F+140>>2]|0)|0;i=i>>>0>>0?F:i;f=f+-1|0}while((f|0)!=0);i=(i<<4)+80|0}F=Hn(i)|0;t[j>>2]=F;if(!F){q=0;c=$;return q|0}t[Y>>2]=F;e:do{if(!n){A=e+32|0;E=e+12|0;S=e+4|0;T=j+8|0;R=Y+8|0;C=j+4|0;P=j+12|0;I=Y+4|0;O=Y+12|0;x=H<<1;L=H<<2;B=H*3|0;D=l<<2;N=s<<2;z=D-N|0;D=N-D|0;N=s-l<<2;i=a;r=F;a=s;f=l;w=o-u|0;n=h;s=d-b|0;while(1){m=t[A>>2]|0;f=ie((t[E>>2]|0)-(t[S>>2]|0)|0,a-f|0)|0;t[T>>2]=s;t[R>>2]=w;y=n+136|0;_=t[n+144>>2]|0;k=t[y>>2]|0;M=_-k|0;p=t[n+148>>2]|0;d=n+140|0;v=t[d>>2]|0;g=p-v|0;t[C>>2]=M-s;t[P>>2]=(k|0)%2|0;if((g|0)>3){a=(M|0)>0;s=(p+-4-v|0)>>>2;h=ie(z,s)|0;s=m+(D+(ie(N,s)|0)<<2)|0;l=m;o=f;u=g;while(1){Ba(j,l,H,o);za(j);if(a){n=M;do{b=n;n=n+-1|0;t[l+(n<<2)>>2]=t[F+(n<<4)>>2];t[l+(n+H<<2)>>2]=t[F+(n<<4)+4>>2];t[l+(n+x<<2)>>2]=t[F+(n<<4)+8>>2];t[l+(n+B<<2)>>2]=t[F+(n<<4)+12>>2]}while((b|0)>1)}u=u+-4|0;if((u|0)<=3)break;else{l=l+(L<<2)|0;o=o-L|0}}f=z+f+h|0}else s=m;a=g&3;i:do{if(!a)q=21;else{Ba(j,s,H,f);za(j);if((M|0)>0)f=M;else{o=g-w|0;t[I>>2]=o;a=(t[d>>2]|0)%2|0;t[O>>2]=a;u=w;l=m;break}while(1){n=f;f=f+-1|0;switch(a|0){case 3:{t[s+(f+x<<2)>>2]=t[F+(f<<4)+8>>2];q=18;break}case 2:{q=18;break}case 1:{q=19;break}default:{}}if((q|0)==18){t[s+(f+H<<2)>>2]=t[F+(f<<4)+4>>2];q=19}if((q|0)==19){q=0;t[s+(f<<2)>>2]=t[F+(f<<4)>>2]}if((n|0)<=1){q=21;break i}}}}while(0);if((q|0)==21){q=0;o=g-w|0;t[I>>2]=o;a=(t[d>>2]|0)%2|0;t[O>>2]=a;if((M|0)>3){b=(p|0)==(v|0);_=_+-4-k|0;d=t[R>>2]|0;u=(d|0)>0;l=1-a|0;h=(o|0)>0;n=m;s=M;while(1){if(u){f=0;do{w=r+((f<<1)+a<<4)|0;k=n+((ie(f,H)|0)<<2)|0;t[w>>2]=t[k>>2];t[w+4>>2]=t[k+4>>2];t[w+8>>2]=t[k+8>>2];t[w+12>>2]=t[k+12>>2];f=f+1|0}while((f|0)!=(d|0))}if(h){f=0;do{w=r+(l+(f<<1)<<4)|0;k=n+((ie(f+d|0,H)|0)<<2)|0;t[w>>2]=t[k>>2];t[w+4>>2]=t[k+4>>2];t[w+8>>2]=t[k+8>>2];t[w+12>>2]=t[k+12>>2];f=f+1|0}while((f|0)!=(o|0))}za(Y);if(!b){r=t[Y>>2]|0;f=0;do{w=n+((ie(f,H)|0)<<2)|0;k=r+(f<<4)|0;t[w>>2]=t[k>>2];t[w+4>>2]=t[k+4>>2];t[w+8>>2]=t[k+8>>2];t[w+12>>2]=t[k+12>>2];f=f+1|0}while((f|0)!=(g|0))}s=s+-4|0;if((s|0)<=3)break;else n=n+16|0}u=d;l=m+((_+4&-4)<<2)|0}else{u=w;l=m}}s=M&3;if(s){r=t[Y>>2]|0;if((u|0)>0){f=s<<2;n=0;do{Dl(r+((n<<1)+a<<4)|0,l+((ie(n,H)|0)<<2)|0,f|0)|0;n=n+1|0}while((n|0)!=(u|0))}f=1-a|0;if((o|0)>0){n=s<<2;a=0;do{Dl(r+(f+(a<<1)<<4)|0,l+((ie(a+u|0,H)|0)<<2)|0,n|0)|0;a=a+1|0}while((a|0)!=(o|0))}za(Y);if((p|0)!=(v|0)){f=s<<2;n=0;do{Dl(l+((ie(n,H)|0)<<2)|0,r+(n<<4)|0,f|0)|0;n=n+1|0}while((n|0)!=(g|0))}}i=i+-1|0;if(!i)break e;a=t[U>>2]|0;f=t[e>>2]|0;w=g;n=y;s=M}}}while(0);Un(F);q=1;c=$;return q|0}function Ia(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0;if(!f){f=(i|0)>0;if(!(f|(r|0)>1))return;if(f){f=e+((r<<1)+-2<<2)|0;n=0;do{o=n;n=n+1|0;u=e+((o<<1|1)<<2)|0;t[u>>2]=(t[u>>2]|0)-((t[((n|0)<(r|0)?e+(n<<1<<2)|0:f)>>2]|0)+(t[((o|0)<(r|0)?e+(o<<1<<2)|0:f)>>2]|0)>>1)}while((n|0)!=(i|0))}if((r|0)<=0)return;n=e+4|0;a=(i<<1)+-1|0;s=0;do{if((s|0)<1)f=n;else f=e+((((s|0)>(i|0)?i:s)<<1)+-1<<2)|0;u=e+(s<<1<<2)|0;t[u>>2]=((t[f>>2]|0)+2+(t[e+(((s|0)<(i|0)?s<<1|1:a)<<2)>>2]|0)>>2)+(t[u>>2]|0);s=s+1|0}while((s|0)!=(r|0));return}if((i|0)==1&(r|0)==0){t[e>>2]=t[e>>2]<<1;return}if((i|0)>0){n=e+4|0;a=(r<<1)+-1|0;s=e+(a<<2)|0;u=0;do{l=u<<1;o=t[e+(((u|0)<(r|0)?l|1:a)<<2)>>2]|0;if((u|0)>=1)if((u|0)>(r|0))f=s;else f=e+(l+-1<<2)|0;else f=n;l=e+(l<<2)|0;t[l>>2]=(t[l>>2]|0)-((t[f>>2]|0)+o>>1);u=u+1|0}while((u|0)!=(i|0))}if((r|0)<=0)return;f=e+((i<<1)+-2<<2)|0;n=0;do{o=n;n=n+1|0;u=e+((o<<1|1)<<2)|0;t[u>>2]=((t[((o|0)<(i|0)?e+(o<<1<<2)|0:f)>>2]|0)+2+(t[((n|0)<(i|0)?e+(n<<1<<2)|0:f)>>2]|0)>>2)+(t[u>>2]|0)}while((n|0)!=(r|0));return}function Oa(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0;y=(t[e+8>>2]|0)-(t[e>>2]|0)|0;a=t[e+16>>2]|0;l=a+-1|0;M=t[e+32>>2]|0;s=t[e+24>>2]|0;n=(l|0)==0;if(n)e=0;else{r=s;f=l;e=0;do{g=r;r=r+136|0;p=(t[g+144>>2]|0)-(t[r>>2]|0)|0;e=e>>>0

>>0?p:e;g=(t[g+148>>2]|0)-(t[g+140>>2]|0)|0;e=e>>>0>>0?g:e;f=f+-1|0}while((f|0)!=0);e=e<<2}g=Nn(e)|0;if(!((e|0)==0|(g|0)!=0)){i=0;return i|0}if(!n){v=a+-2|0;p=v;e=s+(l*136|0)|0;v=s+(v*136|0)|0;while(1){k=t[e>>2]|0;m=(t[e+8>>2]|0)-k|0;h=t[e+4>>2]|0;b=(t[e+12>>2]|0)-h|0;_=(t[v+8>>2]|0)-(t[v>>2]|0)|0;e=t[v+12>>2]|0;r=t[v+4>>2]|0;c=e-r|0;k=k&1;h=h&1;d=b-c|0;w=(m|0)>0;e:do{if(w){n=(e|0)==(r|0);l=(b|0)==(c|0);o=g+((h^1)<<2)|0;u=ie(c,y)|0;s=g+(h<<2)|0;if((b|0)>0){a=0;while(1){r=M+(a<<2)|0;e=0;do{t[g+(e<<2)>>2]=t[M+((ie(e,y)|0)+a<<2)>>2];e=e+1|0}while((e|0)!=(b|0));Io[i&3](g,d,c,h);if(!n){f=c;e=s;while(1){f=f+-1|0;t[r>>2]=t[e>>2];if(!f)break;else{r=r+(y<<2)|0;e=e+8|0}}}if(!l){e=d;r=M+(a+u<<2)|0;f=o;while(1){e=e+-1|0;t[r>>2]=t[f>>2];if(!e)break;else{r=r+(y<<2)|0;f=f+8|0}}}a=a+1|0;if((a|0)==(m|0))break e}}if(n){r=0;while(1){Io[i&3](g,d,c,h);if(!l){e=d;f=M+(r+u<<2)|0;n=o;while(1){e=e+-1|0;t[f>>2]=t[n>>2];if(!e)break;else{f=f+(y<<2)|0;n=n+8|0}}}r=r+1|0;if((r|0)==(m|0))break e}}else n=0;do{Io[i&3](g,d,c,h);e=c;r=M+(n<<2)|0;f=s;while(1){e=e+-1|0;t[r>>2]=t[f>>2];if(!e)break;else{r=r+(y<<2)|0;f=f+8|0}}if(!l){e=d;r=M+(n+u<<2)|0;f=o;while(1){e=e+-1|0;t[r>>2]=t[f>>2];if(!e)break;else{r=r+(y<<2)|0;f=f+8|0}}}n=n+1|0}while((n|0)!=(m|0))}}while(0);a=m-_|0;if((b|0)>0){s=(_|0)>0;l=g+(k<<2)|0;o=(a|0)>0;u=g+((k^1)<<2)|0;c=0;do{n=ie(c,y)|0;r=M+(n<<2)|0;if(w){e=0;do{t[g+(e<<2)>>2]=t[M+(e+n<<2)>>2];e=e+1|0}while((e|0)!=(m|0))}Io[i&3](g,a,_,k);if(s){f=0;e=l;while(1){t[r>>2]=t[e>>2];f=f+1|0;if((f|0)==(_|0))break;else{r=r+4|0;e=e+8|0}}}if(o){f=0;e=M+(n+_<<2)|0;r=u;while(1){t[e>>2]=t[r>>2];f=f+1|0;if((f|0)==(a|0))break;else{e=e+4|0;r=r+8|0}}}c=c+1|0}while((c|0)!=(b|0))}if(!p)break;else{e=v;p=p+-1|0;v=v+-136|0}}}Yn(g);i=1;return i|0}function xa(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0;l=t[e>>2]|0;o=t[e+4>>2]|0;u=t[e+8>>2]|0;if(!(t[e+12>>2]|0)){f=(o|0)>0;if(!(f|(u|0)>1))return;if((u|0)>0){i=l+4|0;r=(o<<1)+-1|0;n=0;do{if((n|0)<1)e=i;else e=l+((((n|0)>(o|0)?o:n)<<1)+-1<<2)|0;a=n<<1;s=l+(a<<2)|0;t[s>>2]=(t[s>>2]|0)-((t[e>>2]|0)+2+(t[l+(((n|0)<(o|0)?a|1:r)<<2)>>2]|0)>>2);n=n+1|0}while((n|0)!=(u|0))}if(!f)return;e=l+((u<<1)+-2<<2)|0;i=0;do{a=i<<1;n=i;i=i+1|0;s=l+((a|1)<<2)|0;t[s>>2]=((t[((i|0)<(u|0)?l+(i<<1<<2)|0:e)>>2]|0)+(t[((n|0)<(u|0)?l+(a<<2)|0:e)>>2]|0)>>1)+(t[s>>2]|0)}while((i|0)!=(o|0));return}if((o|0)==1&(u|0)==0){t[l>>2]=(t[l>>2]|0)/2|0;return}if((u|0)>0){e=l+((o<<1)+-2<<2)|0;i=0;do{a=i<<1;n=i;i=i+1|0;s=l+((a|1)<<2)|0;t[s>>2]=(t[s>>2]|0)-((t[((n|0)<(o|0)?l+(a<<2)|0:e)>>2]|0)+2+(t[((i|0)<(o|0)?l+(i<<1<<2)|0:e)>>2]|0)>>2)}while((i|0)!=(u|0))}if((o|0)<=0)return;i=l+4|0;r=(u<<1)+-1|0;f=l+(r<<2)|0;s=0;do{n=s<<1;a=t[l+(((s|0)<(u|0)?n|1:r)<<2)>>2]|0;if((s|0)>=1)if((s|0)>(u|0))e=f;else e=l+(n+-1<<2)|0;else e=i;n=l+(n<<2)|0;t[n>>2]=((t[e>>2]|0)+a>>1)+(t[n>>2]|0);s=s+1|0}while((s|0)!=(o|0));return}function La(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0;if(!f){o=(i|0)>0;if(!(o|(r|0)>1))return;if(o){f=e+((r<<1)+-2<<2)|0;n=0;do{h=n;n=n+1|0;c=(t[((n|0)<(r|0)?e+(n<<1<<2)|0:f)>>2]|0)+(t[((h|0)<(r|0)?e+(h<<1<<2)|0:f)>>2]|0)|0;c=jl(c|0,((c|0)<0)<<31>>31|0,12993,0)|0;c=Bl(c|0,I|0,4096,0)|0;c=zl(c|0,I|0,13)|0;h=e+((h<<1|1)<<2)|0;t[h>>2]=(t[h>>2]|0)-c}while((n|0)!=(i|0))}l=(r|0)>0;if(l){n=e+4|0;a=(i<<1)+-1|0;s=0;do{if((s|0)<1)f=n;else f=e+((((s|0)>(i|0)?i:s)<<1)+-1<<2)|0;c=(t[e+(((s|0)<(i|0)?s<<1|1:a)<<2)>>2]|0)+(t[f>>2]|0)|0;c=jl(c|0,((c|0)<0)<<31>>31|0,434,0)|0;c=Bl(c|0,I|0,4096,0)|0;c=zl(c|0,I|0,13)|0;h=e+(s<<1<<2)|0;t[h>>2]=(t[h>>2]|0)-c;s=s+1|0}while((s|0)!=(r|0))}if(o){f=e+((r<<1)+-2<<2)|0;n=0;do{h=n;n=n+1|0;c=(t[((n|0)<(r|0)?e+(n<<1<<2)|0:f)>>2]|0)+(t[((h|0)<(r|0)?e+(h<<1<<2)|0:f)>>2]|0)|0;c=jl(c|0,((c|0)<0)<<31>>31|0,7233,0)|0;c=Bl(c|0,I|0,4096,0)|0;c=zl(c|0,I|0,13)|0;h=e+((h<<1|1)<<2)|0;t[h>>2]=c+(t[h>>2]|0)}while((n|0)!=(i|0))}if(l){n=e+4|0;a=(i<<1)+-1|0;s=0;do{if((s|0)<1)f=n;else f=e+((((s|0)>(i|0)?i:s)<<1)+-1<<2)|0;c=(t[e+(((s|0)<(i|0)?s<<1|1:a)<<2)>>2]|0)+(t[f>>2]|0)|0;c=jl(c|0,((c|0)<0)<<31>>31|0,3633,0)|0;c=Bl(c|0,I|0,4096,0)|0;c=zl(c|0,I|0,13)|0;h=e+(s<<1<<2)|0;t[h>>2]=c+(t[h>>2]|0);s=s+1|0}while((s|0)!=(r|0))}if(o){f=0;do{h=e+((f<<1|1)<<2)|0;c=t[h>>2]|0;c=jl(c|0,((c|0)<0)<<31>>31|0,5038,0)|0;c=Bl(c|0,I|0,4096,0)|0;c=zl(c|0,I|0,13)|0;t[h>>2]=c;f=f+1|0}while((f|0)!=(i|0))}if(l)f=0;else return;do{i=e+(f<<1<<2)|0;h=t[i>>2]|0;h=jl(h|0,((h|0)<0)<<31>>31|0,6659,0)|0;h=Bl(h|0,I|0,4096,0)|0;h=zl(h|0,I|0,13)|0;t[i>>2]=h;f=f+1|0}while((f|0)!=(r|0));return}h=(r|0)>0;if(!((i|0)>1|h))return;c=(i|0)>0;if(c){n=e+4|0;a=(r<<1)+-1|0;s=e+(a<<2)|0;u=0;do{l=u<<1;o=t[e+(((u|0)<(r|0)?l|1:a)<<2)>>2]|0;if((u|0)>=1)if((u|0)>(r|0))f=s;else f=e+(l+-1<<2)|0;else f=n;f=(t[f>>2]|0)+o|0;f=jl(f|0,((f|0)<0)<<31>>31|0,12993,0)|0;f=Bl(f|0,I|0,4096,0)|0;f=zl(f|0,I|0,13)|0;o=e+(l<<2)|0;t[o>>2]=(t[o>>2]|0)-f;u=u+1|0}while((u|0)!=(i|0))}if(h){f=e+((i<<1)+-2<<2)|0;n=0;do{u=n;n=n+1|0;o=(t[((n|0)<(i|0)?e+(n<<1<<2)|0:f)>>2]|0)+(t[((u|0)<(i|0)?e+(u<<1<<2)|0:f)>>2]|0)|0;o=jl(o|0,((o|0)<0)<<31>>31|0,434,0)|0;o=Bl(o|0,I|0,4096,0)|0;o=zl(o|0,I|0,13)|0;u=e+((u<<1|1)<<2)|0;t[u>>2]=(t[u>>2]|0)-o}while((n|0)!=(r|0))}if(c){n=e+4|0;a=(r<<1)+-1|0;s=e+(a<<2)|0;u=0;do{l=u<<1;o=t[e+(((u|0)<(r|0)?l|1:a)<<2)>>2]|0;if((u|0)>=1)if((u|0)>(r|0))f=s;else f=e+(l+-1<<2)|0;else f=n;f=(t[f>>2]|0)+o|0;f=jl(f|0,((f|0)<0)<<31>>31|0,7233,0)|0;f=Bl(f|0,I|0,4096,0)|0;f=zl(f|0,I|0,13)|0;o=e+(l<<2)|0;t[o>>2]=f+(t[o>>2]|0);u=u+1|0}while((u|0)!=(i|0))}if(h){f=e+((i<<1)+-2<<2)|0;n=0;do{u=n;n=n+1|0;o=(t[((n|0)<(i|0)?e+(n<<1<<2)|0:f)>>2]|0)+(t[((u|0)<(i|0)?e+(u<<1<<2)|0:f)>>2]|0)|0;o=jl(o|0,((o|0)<0)<<31>>31|0,3633,0)|0;o=Bl(o|0,I|0,4096,0)|0;o=zl(o|0,I|0,13)|0;u=e+((u<<1|1)<<2)|0;t[u>>2]=o+(t[u>>2]|0)}while((n|0)!=(r|0))}if(c){f=0;do{c=e+(f<<1<<2)|0;u=t[c>>2]|0;u=jl(u|0,((u|0)<0)<<31>>31|0,5038,0)|0;u=Bl(u|0,I|0,4096,0)|0;u=zl(u|0,I|0,13)|0;t[c>>2]=u;f=f+1|0}while((f|0)!=(i|0))}if(h)f=0;else return;do{i=e+((f<<1|1)<<2)|0;h=t[i>>2]|0;h=jl(h|0,((h|0)<0)<<31>>31|0,6659,0)|0;h=Bl(h|0,I|0,4096,0)|0;h=zl(h|0,I|0,13)|0;t[i>>2]=h;f=f+1|0}while((f|0)!=(r|0));return}function Ba(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0;h=t[e>>2]|0;l=t[e+12>>2]|0;k=t[e+8>>2]|0;d=r*3|0;c=1-l|0;u=e+4|0;o=k;e=0;while(1){s=h+(l<<4)|0;if(((o+d|0)<(f|0)?(i&15|0)==0:0)?((s|r)&15|0)==0:0){if((o|0)>0){n=0;do{s=n<<3;t[h+(l<<4)+(s<<2)>>2]=t[i+(n<<2)>>2];a=n+r|0;t[h+(l<<4)+((s|1)<<2)>>2]=t[i+(a<<2)>>2];a=a+r|0;t[h+(l<<4)+((s|2)<<2)>>2]=t[i+(a<<2)>>2];t[h+(l<<4)+((s|3)<<2)>>2]=t[i+(a+r<<2)>>2];n=n+1|0}while((n|0)!=(o|0))}}else w=3;if((w|0)==3?(w=0,(o|0)>0):0){s=0;do{n=s<<3;t[h+(l<<4)+(n<<2)>>2]=t[i+(s<<2)>>2];a=s+r|0;if(((a|0)<(f|0)?(t[h+(l<<4)+((n|1)<<2)>>2]=t[i+(a<<2)>>2],b=a+r|0,(b|0)<(f|0)):0)?(t[h+(l<<4)+((n|2)<<2)>>2]=t[i+(b<<2)>>2],_=b+r|0,(_|0)<(f|0)):0)t[h+(l<<4)+((n|3)<<2)>>2]=t[i+(_<<2)>>2];s=s+1|0}while((s|0)!=(o|0))}e=e+1|0;if((e|0)==2)break;else{i=i+(k<<2)|0;f=f-k|0;l=c;o=t[u>>2]|0}}return}function za(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0,l=0,u=0.0,c=0.0,h=0,d=0.0,b=0,_=0;do{if(!(t[e+12>>2]|0)){r=t[e+8>>2]|0;if((t[e+4>>2]|0)>0){i=t[e>>2]|0;if((r|0)>0){s=0;n=1;l=9;break}else{s=0;a=1;break}}if((r|0)>1){f=0;n=1;l=7}else return}else{r=t[e+8>>2]|0;if((r|0)<=0)if((t[e+4>>2]|0)>1){i=t[e>>2]|0;s=1;a=0;break}else return;else{f=1;n=0;l=7}}}while(0);if((l|0)==7){i=t[e>>2]|0;s=f;l=9}if((l|0)==9){f=0;do{l=f<<3;b=i+(s<<4)+(l<<2)|0;h=i+(s<<4)+((l|1)<<2)|0;d=+o[h>>2];a=i+(s<<4)+((l|2)<<2)|0;c=+o[a>>2];l=i+(s<<4)+((l|3)<<2)|0;u=+o[l>>2];o[b>>2]=+o[b>>2]*1.2301740646362305;o[h>>2]=d*1.2301740646362305;o[a>>2]=c*1.2301740646362305;o[l>>2]=u*1.2301740646362305;f=f+1|0}while((f|0)!=(r|0));a=n}f=t[e+4>>2]|0;if((f|0)>0){n=0;do{b=n<<3;l=i+(a<<4)+(b<<2)|0;e=i+(a<<4)+((b|1)<<2)|0;u=+o[e>>2];h=i+(a<<4)+((b|2)<<2)|0;c=+o[h>>2];b=i+(a<<4)+((b|3)<<2)|0;d=+o[b>>2];o[l>>2]=+o[l>>2]*1.625732421875;o[e>>2]=u*1.625732421875;o[h>>2]=c*1.625732421875;o[b>>2]=d*1.625732421875;n=n+1|0}while((n|0)!=(f|0))}_=i+(a<<4)|0;n=i+(s+1<<4)|0;l=f-s|0;l=(r|0)<(l|0)?r:l;Da(_,n,r,l,-.4435068666934967);e=i+(s<<4)|0;h=i+(a+1<<4)|0;b=r-a|0;b=(f|0)<(b|0)?f:b;Da(e,h,f,b,-.8829110860824585);Da(_,n,r,l,.05298011749982834);Da(e,h,f,b,1.5861343145370483);return}function Da(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=+n;var t=0.0,a=0.0,s=0.0,l=0.0,u=0,c=0,h=0,d=0,b=0.0,_=0.0,k=0,w=0.0,m=0.0,v=0,p=0.0,g=0.0,y=0,M=0.0;if((f|0)>0){h=f<<1;c=h+-2|0;a=+o[e>>2];s=+o[e+4>>2];l=+o[e+8>>2];t=+o[e+12>>2];e=i;u=0;while(1){y=e+-16|0;v=e+-12|0;g=+o[v>>2];k=e+-8|0;m=+o[k>>2];d=e+-4|0;_=+o[d>>2];M=a;a=+o[e>>2];p=s;s=+o[e+4>>2];w=l;l=+o[e+8>>2];b=t;t=+o[e+12>>2];o[y>>2]=+o[y>>2]+(M+a)*n;o[v>>2]=g+(p+s)*n;o[k>>2]=m+(w+l)*n;o[d>>2]=_+(b+t)*n;u=u+1|0;if((u|0)==(f|0))break;else e=e+32|0}e=i+(c<<4)|0;i=i+(h<<4)|0}if((f|0)>=(r|0))return;t=n+n;a=t*+o[e>>2];s=t*+o[e+4>>2];l=t*+o[e+8>>2];t=t*+o[e+12>>2];while(1){d=i+-16|0;k=i+-12|0;p=+o[k>>2];v=i+-8|0;g=+o[v>>2];y=i+-4|0;M=+o[y>>2];o[d>>2]=a+ +o[d>>2];o[k>>2]=s+p;o[v>>2]=l+g;o[y>>2]=t+M;f=f+1|0;if((f|0)==(r|0))break;else i=i+32|0}return}function Na(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0.0,s=0,l=0,u=0,c=0,h=0,d=0,b=0.0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0;M=r<<2;A=Nn(r<<4)|0;if(!A){e=0;return e|0}E=A+M|0;xl(A|0,0,M|0)|0;g=r+-1|0;p=(r|0)==0;if(!p){f=0;n=A;while(1){t[n>>2]=f;f=f+1|0;if((f|0)==(r|0))break;else n=n+4|0}}e:do{if(g){k=g;l=0;f=0;w=e;m=1;v=A;while(1){u=w+(l<<2)|0;if(l>>>0>>0){s=l;n=u;a=0.0}else break;while(1){b=+o[n>>2];b=b>0.0?b:-b;y=b>a;f=y?s:f;a=y?b:a;s=s+1|0;if((s|0)==(r|0))break;else n=n+(r<<2)|0}if(a==0.0)break;if((f|0)!=(l|0)){y=f-l|0;_=v+(y<<2)|0;d=t[v>>2]|0;t[v>>2]=t[_>>2];t[_>>2]=d;y=w+((ie(y,r)|0)<<2)|0;Dl(E|0,y|0,M|0)|0;Dl(y|0,w|0,M|0)|0;Dl(w|0,E|0,M|0)|0}n=l;_=l+1|0;b=+o[u>>2];if(m>>>0>>0){c=w+(_<<2)|0;d=_+k|0;h=m;s=w+(n+r<<2)|0;while(1){a=+o[s>>2]/b;o[s>>2]=a;n=m;l=s;u=c;while(1){l=l+4|0;o[l>>2]=+o[l>>2]-a*+o[u>>2];n=n+1|0;if((n|0)==(r|0))break;else u=u+4|0}h=h+1|0;if((h|0)==(r|0))break;else s=s+(d<<2)|0}}if(_>>>0>>0){k=k+-1|0;l=_;w=w+(r<<2)|0;m=m+1|0;v=v+4|0}else break e}Yn(A);e=0;return e|0}}while(0);f=r<<1;y=E+(f<<2)|0;if(!p){p=E+(g+r<<2)|0;k=E+(f+g<<2)|0;w=e+((ie(r,r)|0)+-1<<2)|0;m=~r;v=0;_=i;while(1){xl(E|0,0,M|0)|0;o[E+(v<<2)>>2]=1.0;l=0;u=1;c=A;h=y;d=e;while(1){if(!l)a=0.0;else{f=1;n=y;s=d;a=0.0;while(1){a=a+ +o[s>>2]*+o[n>>2];f=f+1|0;if((f|0)==(u|0))break;else{n=n+4|0;s=s+4|0}}}o[h>>2]=+o[E+(t[c>>2]<<2)>>2]-a;l=l+1|0;if((l|0)==(r|0)){l=r;u=p;c=y;h=k;d=w;break}else{u=u+1|0;c=c+4|0;h=h+4|0;d=d+(r<<2)|0}}while(1){f=l;l=l+-1|0;b=+o[d>>2];if(f>>>0>>0){n=c;s=d;a=0.0;while(1){s=s+4|0;a=a+ +o[s>>2]*+o[n>>2];f=f+1|0;if((f|0)==(r|0))break;else n=n+4|0}}else a=0.0;c=c+-4|0;o[u>>2]=(+o[h>>2]-a)/b;if(!l){f=0;n=_;break}else{u=u+-4|0;h=h+-4|0;d=d+(m<<2)|0}}while(1){t[n>>2]=t[E+(f+r<<2)>>2];f=f+1|0;if((f|0)==(r|0))break;else n=n+(r<<2)|0}v=v+1|0;if((v|0)==(r|0))break;else _=_+4|0}}Yn(A);e=1;return e|0}function Fa(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0;a=Fn(1,44)|0;if(!a){a=0;return a|0}s=Ja()|0;t[a>>2]=s;if(!s){Qa(0);t[a>>2]=0;s=a+4|0;_s(t[s>>2]|0);t[s>>2]=0;if((t[a+40>>2]|0)==0?(r=a+8|0,i=t[r>>2]|0,(i|0)!=0):0){Un(i);t[r>>2]=0}i=a+12|0;r=t[i>>2]|0;if(r){Un(r);t[i>>2]=0}Yn(a);s=0;return s|0}s=bs()|0;i=a+4|0;t[i>>2]=s;if(s){t[a+40>>2]=e;s=a;return s|0}Qa(t[a>>2]|0);t[a>>2]=0;_s(t[i>>2]|0);t[i>>2]=0;if((t[a+40>>2]|0)==0?(f=a+8|0,n=t[f>>2]|0,(n|0)!=0):0){Un(n);t[f>>2]=0}i=a+12|0;r=t[i>>2]|0;if(r){Un(r);t[i>>2]=0}Yn(a);s=0;return s|0}function Ha(e){e=e|0;var i=0,r=0,f=0;if(!e)return;Qa(t[e>>2]|0);t[e>>2]=0;f=e+4|0;_s(t[f>>2]|0);t[f>>2]=0;if((t[e+40>>2]|0)==0?(i=e+8|0,r=t[i>>2]|0,(r|0)!=0):0){Un(r);t[i>>2]=0}i=e+12|0;r=t[i>>2]|0;if(r){Un(r);t[i>>2]=0}Yn(e);return}function Ua(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,l=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,U=0,j=0,Y=0,q=0,$=0,V=0,X=0,G=0,K=0,W=0,Z=0,J=0,Q=0,ee=0,re=0,fe=0,ne=0,te=0,ae=0,se=0,le=0,oe=0,ue=0,ce=0,he=0,de=0,be=0,_e=0,ke=0,we=0,me=0,ve=0,pe=0,ge=0,ye=0,Me=0,Ae=0,Ee=0,Se=0,Te=0,Re=0,Ce=0;Ae=(t[i+8>>2]|0)-(t[i>>2]|0)|0;Ee=i+20|0;f=t[Ee>>2]|0;if(!f){e=1;return e|0}Se=i+24|0;Te=r+808|0;Re=r+16|0;ve=e+4|0;ge=e+8|0;ye=e+16|0;Me=e+20|0;me=r+20|0;_e=i+32|0;ke=e+32|0;we=e+12|0;r=f;be=0;e:while(1){he=t[Se>>2]|0;de=he+(be*136|0)+24|0;i=t[de>>2]|0;if(i){oe=he+(be*136|0)+16|0;ue=he+(be*136|0)+20|0;ce=be+-1|0;r=t[ue>>2]|0;f=t[oe>>2]|0;le=0;do{if(ie(r,f)|0){fe=he+(be*136|0)+28+(le*36|0)+20|0;ne=he+(be*136|0)+28+(le*36|0)+16|0;te=he+(be*136|0)+28+(le*36|0)|0;ae=he+(be*136|0)+28+(le*36|0)+4|0;se=he+(be*136|0)+28+(le*36|0)+32|0;re=0;do{i=t[fe>>2]|0;Q=i+(re*40|0)+16|0;ee=i+(re*40|0)+20|0;if(ie(t[ee>>2]|0,t[Q>>2]|0)|0){Z=i+(re*40|0)+24|0;J=0;do{r=t[Z>>2]|0;q=t[ne>>2]|0;l=t[Te>>2]|0;i=t[Re>>2]|0;$=t[ve>>2]|0;V=t[e>>2]|0;X=r+(J*56|0)+8|0;W=r+(J*56|0)+12|0;if(!(Ya(e,(t[r+(J*56|0)+16>>2]|0)-(t[X>>2]|0)|0,(t[r+(J*56|0)+20>>2]|0)-(t[W>>2]|0)|0)|0)){r=0;O=201;break e}G=r+(J*56|0)+24|0;u=t[G>>2]|0;ss(V);ls(V,18,0,46);ls(V,17,0,3);ls(V,0,0,4);K=r+(J*56|0)+48|0;f=t[K>>2]|0;if(f){F=r+(J*56|0)+4|0;H=(i&1|0)!=0;U=(i&2|0)==0;j=(i&8|0)==0;Y=q<<8;N=(i&32|0)==0;i=u+l|0;r=2;D=0;do{u=t[F>>2]|0;z=H&(r>>>0<2?(i|0)<=((t[G>>2]|0)+-4|0):0);l=t[u+(D<<5)>>2]|0;if(l){f=(t[l>>2]|0)+(t[u+(D<<5)+4>>2]|0)|0;l=t[u+(D<<5)+16>>2]|0;if(!z){if(!(hs(V,f,l)|0)){r=0;O=201;break e}}else ks($,f,l);L=u+(D<<5)+12|0;i:do{if(t[L>>2]|0){B=U|z;x=0;while(1){r:do{switch(r|0){case 0:{if(z){y=1<>1|y;l=t[Me>>2]|0;if(!l)break r;g=0-y|0;f=t[ye>>2]|0;p=0;while(1){v=p;p=p+4|0;if(!f)f=0;else{k=(v|0)==-4;w=v|3;m=0;do{f:do{if(!k)if(j){b=v;do{if(b>>>0>=(t[Me>>2]|0)>>>0)break f;h=b;b=b+1|0;f=(ie(t[ke>>2]|0,b)|0)+m|0;l=f+1|0;u=t[we>>2]|0;c=u+(l<<1)|0;h=(ie(t[ye>>2]|0,h)|0)+m|0;h=(t[ge>>2]|0)+(h<<2)|0;d=t[ve>>2]|0;O=n[c>>1]|0;if((O&255|0)!=0&(O&20480|0)==0){if(ws(d)|0){C=ws(d)|0;t[h>>2]=(C|0)!=0?g:y;I=t[ke>>2]|0;O=u+(l-I<<1)|0;P=u+(I+l<<1)|0;R=u+(l+~I<<1)|0;n[R>>1]=s[R>>1]|2;n[O>>1]=n[O>>1]|n[3436+(C<<1)>>1];O=f+2|0;R=u+(O-I<<1)|0;n[R>>1]=s[R>>1]|4;R=u+(f<<1)|0;n[R>>1]=n[R>>1]|n[3436+(C+2<<1)>>1];n[c>>1]=s[c>>1]|4096;R=u+(O<<1)|0;n[R>>1]=n[R>>1]|n[3436+(C+4<<1)>>1];R=u+(I+f<<1)|0;n[R>>1]=s[R>>1]|1;n[P>>1]=n[P>>1]|n[3436+(C+6<<1)>>1];O=u+(I+O<<1)|0;n[O>>1]=s[O>>1]|8}n[c>>1]=s[c>>1]|16384}}while(b>>>0

>>0)}else{_=v;do{f=t[Me>>2]|0;if(_>>>0>=f>>>0)break f;I=_;_=_+1|0;l=(ie(t[ke>>2]|0,_)|0)+m|0;u=l+1|0;c=t[we>>2]|0;h=c+(u<<1)|0;d=(ie(t[ye>>2]|0,I)|0)+m|0;d=(t[ge>>2]|0)+(d<<2)|0;b=t[ve>>2]|0;O=n[h>>1]|0;O=(I|0)==(w|0)|(I|0)==(f+-1|0)?O&-1095:O;if((O&255|0)!=0&(O&20480|0)==0){if(ws(b)|0){C=ws(b)|0;t[d>>2]=(C|0)!=0?g:y;I=t[ke>>2]|0;O=c+(u-I<<1)|0;P=c+(I+u<<1)|0;R=c+(u+~I<<1)|0;n[R>>1]=s[R>>1]|2;n[O>>1]=n[O>>1]|n[3436+(C<<1)>>1];O=l+2|0;R=c+(O-I<<1)|0;n[R>>1]=s[R>>1]|4;R=c+(l<<1)|0;n[R>>1]=n[R>>1]|n[3436+(C+2<<1)>>1];n[h>>1]=s[h>>1]|4096;R=c+(O<<1)|0;n[R>>1]=n[R>>1]|n[3436+(C+4<<1)>>1];R=c+(I+l<<1)|0;n[R>>1]=s[R>>1]|1;n[P>>1]=n[P>>1]|n[3436+(C+6<<1)>>1];O=c+(I+O<<1)|0;n[O>>1]=s[O>>1]|8}n[h>>1]=s[h>>1]|16384}}while(_>>>0

>>0)}}while(0);m=m+1|0;f=t[ye>>2]|0}while(m>>>0>>0);l=t[Me>>2]|0}if(p>>>0>=l>>>0){O=163;break r}}}if(j){u=t[ge>>2]|0;c=(t[we>>2]|0)+2|0;w=1<>1|w;f=t[Me>>2]|0;l=t[ye>>2]|0;if(f>>>0>3){b=l;d=0;while(1){if(!l){l=b;h=0}else{l=0;do{O=(t[ke>>2]|0)+l|0;qa(e,c+(O<<1)|0,u+(l<<2)|0,q,w);f=(t[ye>>2]|0)+l|0;O=(t[ke>>2]|0)+O|0;qa(e,c+(O<<1)|0,u+(f<<2)|0,q,w);f=(t[ye>>2]|0)+f|0;O=(t[ke>>2]|0)+O|0;qa(e,c+(O<<1)|0,u+(f<<2)|0,q,w);qa(e,c+((t[ke>>2]|0)+O<<1)|0,u+((t[ye>>2]|0)+f<<2)|0,q,w);l=l+1|0;f=t[ye>>2]|0}while(l>>>0>>0);l=f;h=f;f=t[Me>>2]|0}u=u+(h<<2<<2)|0;c=c+(t[ke>>2]<<2<<1)|0;d=d+4|0;if(d>>>0<(f&-4)>>>0){b=l;l=h}else{k=c;_=d;break}}}else{k=c;_=0}if(!l){O=163;break r}else b=0;while(1){if(_>>>0>>0){c=u+(b<<2)|0;h=k+(b<<1)|0;d=_;while(1){h=h+(t[ke>>2]<<1)|0;qa(e,h,c,q,w);l=t[ye>>2]|0;d=d+1|0;f=t[Me>>2]|0;if(d>>>0>=f>>>0)break;else c=c+(l<<2)|0}}b=b+1|0;if(b>>>0>=l>>>0){O=163;break r}}}y=1<>1|y;f=t[Me>>2]|0;if(!f){O=163;break r}M=0-y|0;l=t[ye>>2]|0;c=l;g=0;while(1){p=g;g=g+4|0;do{if(!l){u=c;l=0}else{v=p|3;if((p|0)==-4){u=c;l=c;break}else m=0;do{w=p;do{f=t[Me>>2]|0;if(w>>>0>=f>>>0)break;O=w;w=w+1|0;c=(ie(t[ke>>2]|0,w)|0)+m|0;h=c+1|0;d=t[we>>2]|0;b=d+(h<<1)|0;_=(ie(t[ye>>2]|0,O)|0)+m|0;_=(t[ge>>2]|0)+(_<<2)|0;k=t[e>>2]|0;l=n[b>>1]|0;f=(O|0)==(v|0)|(O|0)==(f+-1|0)?l&-1095:l;l=f&255;if((l|0)!=0&(f&20480|0)==0){u=k+100|0;t[u>>2]=k+24+(a[20267+(l|Y)>>0]<<2);if(ds(k)|0){I=f>>>4&255;t[u>>2]=k+24+(a[21291+I>>0]<<2);O=ds(k)|0;I=a[21547+I>>0]|0;C=I^O;t[_>>2]=(O|0)!=(I|0)?M:y;I=t[ke>>2]|0;O=d+(h-I<<1)|0;P=d+(I+h<<1)|0;R=d+(h+~I<<1)|0;n[R>>1]=s[R>>1]|2;n[O>>1]=n[O>>1]|n[3436+(C<<1)>>1];O=c+2|0;R=d+(O-I<<1)|0;n[R>>1]=s[R>>1]|4;R=d+(c<<1)|0;n[R>>1]=n[R>>1]|n[3436+(C+2<<1)>>1];n[b>>1]=s[b>>1]|4096;R=d+(O<<1)|0;n[R>>1]=n[R>>1]|n[3436+(C+4<<1)>>1];R=d+(I+c<<1)|0;n[R>>1]=s[R>>1]|1;n[P>>1]=n[P>>1]|n[3436+(C+6<<1)>>1];O=d+(I+O<<1)|0;n[O>>1]=s[O>>1]|8}n[b>>1]=s[b>>1]|16384}}while(w>>>0>>0);m=m+1|0;f=t[ye>>2]|0}while(m>>>0>>0);u=f;l=f;f=t[Me>>2]|0}}while(0);if(g>>>0>=f>>>0){O=163;break}else c=u}break}case 1:{if(z){k=1<>1;w=(i|0)>0?0-k|0:-1;l=t[Me>>2]|0;if(!l)break r;u=t[ye>>2]|0;f=u;_=0;while(1){b=_;_=_+4|0;if(!u){c=f;u=0}else{d=(b|0)==-4;h=0;do{c=h;h=h+1|0;if(!d){u=b;do{if(u>>>0>=(t[Me>>2]|0)>>>0)break;l=u;u=u+1|0;f=(ie(t[ke>>2]|0,u)|0)+h|0;f=(t[we>>2]|0)+(f<<1)|0;l=(ie(t[ye>>2]|0,l)|0)+c|0;l=(t[ge>>2]|0)+(l<<2)|0;if((n[f>>1]&20480)==4096){I=(ws(t[ve>>2]|0)|0)!=0;I=I?k:w;O=t[l>>2]|0;t[l>>2]=((O|0)<0?0-I|0:I)+O;n[f>>1]=s[f>>1]|8192}}while(u>>>0<_>>>0);f=t[ye>>2]|0}}while(h>>>0>>0);c=f;u=f;l=t[Me>>2]|0}if(_>>>0>=l>>>0){O=163;break r}else f=c}}if(!j){v=1<>1;p=(i|0)>0?0-v|0:-1;f=t[Me>>2]|0;if(!f){O=163;break r}l=t[ye>>2]|0;u=l;m=0;while(1){w=m;m=m+4|0;if(!l)l=0;else{_=(w|0)==-4;k=w|3;f=u;b=0;do{d=b;b=b+1|0;if(!_){c=w;do{f=t[Me>>2]|0;if(c>>>0>=f>>>0)break;I=c;c=c+1|0;l=(ie(t[ke>>2]|0,c)|0)+b|0;l=(t[we>>2]|0)+(l<<1)|0;u=(ie(t[ye>>2]|0,I)|0)+d|0;u=(t[ge>>2]|0)+(u<<2)|0;h=t[e>>2]|0;O=n[l>>1]|0;f=(I|0)==(k|0)|(I|0)==(f+-1|0)?O&-1095:O;if((f&20480|0)==4096){t[h+100>>2]=h+24+(((f&8192|0)!=0?16:(f&255|0)!=0?15:14)<<2);I=(ds(h)|0)!=0;I=I?v:p;O=t[u>>2]|0;t[u>>2]=((O|0)<0?0-I|0:I)+O;n[l>>1]=s[l>>1]|8192}}while(c>>>0>>0);f=t[ye>>2]|0}}while(b>>>0>>0);u=f;l=f;f=t[Me>>2]|0}if(m>>>0>=f>>>0){O=163;break r}}}u=t[ge>>2]|0;c=(t[we>>2]|0)+2|0;g=1<>1;y=(i|0)>0?0-g|0:-1;f=t[Me>>2]|0;l=t[ye>>2]|0;if(f>>>0>3){d=l;v=c;p=0;while(1){if(!l){l=d;h=0}else{f=d;m=0;do{l=u+(m<<2)|0;d=t[ke>>2]|0;_=d+m|0;c=v+(_<<1)|0;b=t[e>>2]|0;h=n[c>>1]|0;if((h&20480|0)==4096){t[b+100>>2]=b+24+(((h&8192|0)!=0?16:(h&255|0)!=0?15:14)<<2);d=(ds(b)|0)!=0;d=d?g:y;f=t[l>>2]|0;t[l>>2]=((f|0)<0?0-d|0:d)+f;n[c>>1]=s[c>>1]|8192;f=t[ye>>2]|0;l=t[ke>>2]|0;d=t[e>>2]|0}else{l=d;d=b}k=f+m|0;b=u+(k<<2)|0;w=l+_|0;c=v+(w<<1)|0;h=n[c>>1]|0;if((h&20480|0)==4096){t[d+100>>2]=d+24+(((h&8192|0)!=0?16:(h&255|0)!=0?15:14)<<2);l=(ds(d)|0)!=0;l=l?g:y;f=t[b>>2]|0;t[b>>2]=((f|0)<0?0-l|0:l)+f;n[c>>1]=s[c>>1]|8192;f=t[ye>>2]|0;l=t[ke>>2]|0;d=t[e>>2]|0}_=f+k|0;b=u+(_<<2)|0;k=l+w|0;c=v+(k<<1)|0;h=n[c>>1]|0;if((h&20480|0)==4096){t[d+100>>2]=d+24+(((h&8192|0)!=0?16:(h&255|0)!=0?15:14)<<2);l=(ds(d)|0)!=0;l=l?g:y;f=t[b>>2]|0;t[b>>2]=((f|0)<0?0-l|0:l)+f;n[c>>1]=s[c>>1]|8192;f=t[ye>>2]|0;l=t[ke>>2]|0;d=t[e>>2]|0}h=u+(f+_<<2)|0;l=v+(l+k<<1)|0;c=n[l>>1]|0;if((c&20480|0)==4096){t[d+100>>2]=d+24+(((c&8192|0)!=0?16:(c&255|0)!=0?15:14)<<2);O=(ds(d)|0)!=0;O=O?g:y;f=t[h>>2]|0;t[h>>2]=((f|0)<0?0-O|0:O)+f;n[l>>1]=s[l>>1]|8192;f=t[ye>>2]|0}m=m+1|0}while(m>>>0>>0);l=f;h=f;f=t[Me>>2]|0}u=u+(h<<2<<2)|0;c=v+(t[ke>>2]<<2<<1)|0;b=p+4|0;if(b>>>0<(f&-4)>>>0){d=l;l=h;v=c;p=b}else{m=b;break}}}else m=0;if(!l){O=163;break r}else w=0;do{if(m>>>0>>0){b=u+(w<<2)|0;_=c+(w<<1)|0;k=m;while(1){_=_+(t[ke>>2]<<1)|0;d=t[e>>2]|0;h=n[_>>1]|0;if((h&20480|0)==4096){t[d+100>>2]=d+24+(((h&8192|0)!=0?16:(h&255|0)!=0?15:14)<<2);f=(ds(d)|0)!=0;f=f?g:y;h=t[b>>2]|0;t[b>>2]=((h|0)<0?0-f|0:f)+h;n[_>>1]=s[_>>1]|8192;h=t[ye>>2]|0;f=t[Me>>2]|0}else h=l;k=k+1|0;if(k>>>0>=f>>>0){l=h;break}else{l=h;b=b+(h<<2)|0}}}w=w+1|0}while(w>>>0>>0);O=163;break}case 2:{P=t[e>>2]|0;I=1<>1|I;do{if(j){u=t[ge>>2]|0;c=(t[we>>2]|0)+2|0;l=t[Me>>2]|0;if(l>>>0>3){y=P+92|0;M=P+100|0;A=P+96|0;E=0-I|0;h=t[ye>>2]|0;f=h;b=0;while(1){if(!h)h=0;else{w=b|1;m=w+1|0;v=b|3;p=w+3|0;g=0;do{f=t[ke>>2]|0;l=g;g=g+1|0;C=(ie(f,w)|0)+g|0;O=t[we>>2]|0;C=n[O+((ie(f,m)|0)+g<<1)>>1]|n[O+(C<<1)>>1];C=C|n[O+((ie(f,v)|0)+g<<1)>>1];f:do{if(!((C|n[O+((ie(f,p)|0)+g<<1)>>1])&20735)){t[M>>2]=y;if(!(ds(P)|0))break;t[M>>2]=A;_=(ds(P)|0)<<1;_=_|(ds(P)|0);if(_>>>0>=4)break;k=u+((ie(t[ye>>2]|0,_)|0)+l<<2)|0;l=c+((ie(t[ke>>2]|0,_)|0)+l<<1)|0;d=_;while(1){if(d>>>0>=(t[Me>>2]|0)>>>0)break f;f=t[ke>>2]|0;h=l;l=l+(f<<1)|0;if((d|0)==(_|0)){O=t[e>>2]|0;C=(s[l>>1]|0)>>>4&255;t[O+100>>2]=O+24+(a[21291+C>>0]<<2);O=ds(O)|0;C=a[21547+C>>0]|0;T=C^O;t[k>>2]=(O|0)!=(C|0)?E:I;C=t[ke>>2]|0;O=h+(f-C<<1)|0;R=h+(C+f<<1)|0;S=h+(f+~C<<1)|0;n[S>>1]=s[S>>1]|2;n[O>>1]=n[O>>1]|n[3436+(T<<1)>>1];O=f+1|0;S=h+(O-C<<1)|0;n[S>>1]=s[S>>1]|4;S=f+-1|0;f=h+(S<<1)|0;n[f>>1]=n[f>>1]|n[3436+(T+2<<1)>>1];n[l>>1]=s[l>>1]|4096;f=h+(O<<1)|0;n[f>>1]=n[f>>1]|n[3436+(T+4<<1)>>1];S=h+(C+S<<1)|0;n[S>>1]=s[S>>1]|1;n[R>>1]=n[R>>1]|n[3436+(T+6<<1)>>1];O=h+(C+O<<1)|0;n[O>>1]=s[O>>1]|8;n[l>>1]=s[l>>1]&49151}else $a(e,l,k,q,I);d=d+1|0;if(d>>>0>=4)break;else k=k+(t[ye>>2]<<2)|0}}else{C=f+l|0;$a(e,c+(C<<1)|0,u+(l<<2)|0,q,I);O=(t[ye>>2]|0)+l|0;C=(t[ke>>2]|0)+C|0;$a(e,c+(C<<1)|0,u+(O<<2)|0,q,I);O=(t[ye>>2]|0)+O|0;C=(t[ke>>2]|0)+C|0;$a(e,c+(C<<1)|0,u+(O<<2)|0,q,I);$a(e,c+((t[ke>>2]|0)+C<<1)|0,u+((t[ye>>2]|0)+O<<2)|0,q,I)}}while(0);f=t[ye>>2]|0}while(g>>>0>>0);h=f;l=t[Me>>2]|0}u=u+(h<<2<<2)|0;c=c+(t[ke>>2]<<2<<1)|0;b=b+4|0;if(b>>>0>=(l&-4)>>>0){k=u;_=c;break}}}else{f=t[ye>>2]|0;k=u;_=c;b=0}if(!f)break;else d=0;do{if(b>>>0>>0){u=k+(d<<2)|0;c=_+(d<<1)|0;h=b;while(1){c=c+(t[ke>>2]<<1)|0;$a(e,c,u,q,I);f=t[ye>>2]|0;h=h+1|0;l=t[Me>>2]|0;if(h>>>0>=l>>>0)break;else u=u+(f<<2)|0}}d=d+1|0}while(d>>>0>>0)}else{f=t[Me>>2]|0;if(!f)break;S=P+92|0;T=P+100|0;R=P+96|0;C=0-I|0;l=t[ye>>2]|0;E=0;while(1){if(!l){u=E+4|0;l=0}else{g=E|3;y=E|1;M=y+1|0;A=y+3|0;u=E+4|0;p=0;while(1){do{if(g>>>0>>0){f=t[ke>>2]|0;c=p+1|0;v=(ie(f,y)|0)+c|0;l=t[we>>2]|0;if(n[l+(v<<1)>>1]&20735){v=0;f=0;O=127;break}if(n[l+((ie(f,M)|0)+c<<1)>>1]&20735){v=0;f=0;O=127;break}if(n[l+((ie(f,g)|0)+c<<1)>>1]&20735){v=0;f=0;O=127;break}if(n[l+((ie(f,A)|0)+c<<1)>>1]&20665){v=0;f=0;O=127;break}t[T>>2]=S;if(!(ds(P)|0))break;t[T>>2]=R;f=(ds(P)|0)<<1;v=1;f=f|(ds(P)|0);O=127}else{v=0;f=0;O=127}}while(0);if((O|0)==127){O=0;c=f+E|0;f:do{if(c>>>0>>0){m=c;do{f=t[Me>>2]|0;if(m>>>0>=f>>>0)break f;Ce=m;m=m+1|0;h=(ie(t[ke>>2]|0,m)|0)+p|0;d=h+1|0;b=t[we>>2]|0;_=b+(d<<1)|0;k=(ie(t[ye>>2]|0,Ce)|0)+p|0;k=(t[ge>>2]|0)+(k<<2)|0;w=t[e>>2]|0;l=n[_>>1]|0;l=(Ce|0)==(g|0)|(Ce|0)==(f+-1|0)?l&-1095:l;do{if(!(v&(Ce|0)==(c|0))){if(l&20480)break;f=w+100|0;t[f>>2]=w+24+(a[20267+(l&255|Y)>>0]<<2);if(ds(w)|0)O=133}else{f=w+100|0;O=133}}while(0);if((O|0)==133){O=0;l=l>>>4&255;t[f>>2]=w+24+(a[21291+l>>0]<<2);Ce=ds(w)|0;w=a[21547+l>>0]|0;l=w^Ce;t[k>>2]=(Ce|0)!=(w|0)?C:I;w=t[ke>>2]|0;Ce=b+(d-w<<1)|0;k=b+(w+d<<1)|0;d=b+(d+~w<<1)|0;n[d>>1]=s[d>>1]|2;n[Ce>>1]=n[Ce>>1]|n[3436+(l<<1)>>1];Ce=h+2|0;d=b+(Ce-w<<1)|0;n[d>>1]=s[d>>1]|4;d=b+(h<<1)|0;n[d>>1]=n[d>>1]|n[3436+(l+2<<1)>>1];n[_>>1]=s[_>>1]|4096;d=b+(Ce<<1)|0;n[d>>1]=n[d>>1]|n[3436+(l+4<<1)>>1];d=b+(w+h<<1)|0;n[d>>1]=s[d>>1]|1;n[k>>1]=n[k>>1]|n[3436+(l+6<<1)>>1];Ce=b+(w+Ce<<1)|0;n[Ce>>1]=s[Ce>>1]|8}n[_>>1]=s[_>>1]&49151}while(m>>>0>>0)}}while(0);c=p+1|0}l=t[ye>>2]|0;f=t[Me>>2]|0;if(c>>>0>>0)p=c;else break}}if(u>>>0>>0)E=u;else break}}}while(0);if(N){O=163;break r}t[P+100>>2]=P+96;ds(P)|0;ds(P)|0;ds(P)|0;ds(P)|0;O=163;break}default:O=163}}while(0);do{if((O|0)==163){O=0;if(B)break;ss(V);ls(V,18,0,46);ls(V,17,0,3);ls(V,0,0,4)}}while(0);r=r+1|0;Ce=(r|0)==3;i=(Ce<<31>>31)+i|0;r=Ce?0:r;x=x+1|0;if(x>>>0>=(t[L>>2]|0)>>>0)break i}}}while(0);f=t[K>>2]|0}D=D+1|0}while(D>>>0>>0)}r=(t[X>>2]|0)-(t[te>>2]|0)|0;i=(t[W>>2]|0)-(t[ae>>2]|0)|0;f=t[ne>>2]|0;if(f&1){Ce=t[Se>>2]|0;r=(t[Ce+(ce*136|0)+8>>2]|0)+r-(t[Ce+(ce*136|0)>>2]|0)|0}if(f&2){Ce=t[Se>>2]|0;i=(t[Ce+(ce*136|0)+12>>2]|0)+i-(t[Ce+(ce*136|0)+4>>2]|0)|0}_=t[ge>>2]|0;k=t[ye>>2]|0;w=t[Me>>2]|0;f=t[Te>>2]|0;if((f|0)!=0?(pe=1<>2]|0;h=(c|0)>-1?c:0-c|0;if((h|0)>=(pe|0)){Ce=h>>t[Te>>2];t[u>>2]=(c|0)<0?0-Ce|0:Ce}d=d+1|0}while((d|0)!=(k|0))}b=b+1|0}while((b|0)!=(w|0))}d=(ie(i,Ae)|0)+r|0;b=t[_e>>2]|0;r=(w|0)==0;if((t[me>>2]|0)==1){if(!r){r=(k|0)==0;u=0;do{if(!r){i=ie(u,k)|0;f=(ie(u,Ae)|0)+d|0;l=0;do{t[b+(f+l<<2)>>2]=(t[_+(l+i<<2)>>2]|0)/2|0;l=l+1|0}while((l|0)!=(k|0))}u=u+1|0}while((u|0)!=(w|0))}}else if(!r){h=(k|0)==0;r=_;c=0;u=b+(d<<2)|0;while(1){if(!h){i=r;f=0;l=u;while(1){o[l>>2]=+(t[i>>2]|0)*+o[se>>2];f=f+1|0;if((f|0)==(k|0))break;else{i=i+4|0;l=l+4|0}}r=r+(k<<2)|0}c=c+1|0;if((c|0)==(w|0))break;else u=u+(Ae<<2)|0}}J=J+1|0}while(J>>>0<(ie(t[ee>>2]|0,t[Q>>2]|0)|0)>>>0);r=t[ue>>2]|0;f=t[oe>>2]|0}re=re+1|0}while(re>>>0<(ie(r,f)|0)>>>0);i=t[de>>2]|0}le=le+1|0}while(le>>>0>>0);r=t[Ee>>2]|0}be=be+1|0;if(be>>>0>=r>>>0){r=1;O=201;break}}if((O|0)==201)return r|0;return 0}function ja(e,i,r,l,c){e=e|0;i=i|0;r=r|0;l=l|0;c=c|0;var h=0,d=0,b=0,_=0,k=0,w=0,m=0.0,v=0.0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,j=0,Y=0,q=0,$=0,V=0.0,X=0,G=0,K=0,W=0,Z=0,J=0,Q=0,ee=0,re=0,fe=0,ne=0,te=0,ae=0,se=0,le=0.0,oe=0,ue=0,ce=0,he=0,de=0,be=0,_e=0,ke=0,we=0,me=0,ve=0,pe=0,ge=0,ye=0,Me=0,Ae=0,Ee=0,Se=0,Te=0,Re=0,Ce=0,Pe=0,Ie=0,Oe=0,xe=0,Le=0,Be=0,ze=0,De=0,Ne=0,Fe=0,He=0,Ue=0,je=0,Ye=0,qe=0,$e=0,Ve=0,Xe=0,Ge=0,Ke=0,We=0,Ze=0,Je=0,Qe=0;We=i+32|0;u[We>>3]=0.0;Ze=i+16|0;h=t[Ze>>2]|0;if(!h){Je=1;return Je|0}Ke=i+20|0;qe=r+5584|0;$e=e+16|0;Ve=e+20|0;Xe=e+8|0;Ge=e+36|0;Ue=(l|0)!=0;je=e+32|0;Ye=e+12|0;i=h;He=0;e:while(1){r=t[Ke>>2]|0;h=t[qe>>2]|0;Ne=(t[r+(He*52|0)+8>>2]|0)-(t[r+(He*52|0)>>2]|0)|0;Fe=r+(He*52|0)+16|0;d=t[Fe>>2]|0;if(d){De=r+(He*52|0)+24|0;Be=r+(He*52|0)+32|0;ze=h+(He*1080|0)+20|0;Oe=h+(He*1080|0)+16|0;Le=Ue&He>>>0>>0;xe=l+(He<<3)|0;i=d;Ie=0;do{Ce=t[De>>2]|0;Pe=Ce+(Ie*136|0)+24|0;r=t[Pe>>2]|0;if(r){Ee=Ce+(Ie*136|0)+16|0;Se=Ce+(Ie*136|0)+20|0;Te=~Ie;Re=Ie+-1|0;i=t[Se>>2]|0;h=t[Ee>>2]|0;Ae=0;do{Me=Ce+(Ie*136|0)+28+(Ae*36|0)+32|0;if(ie(i,h)|0){we=67108864/(~~+U(+(+o[Me>>2]*8192.0))|0)|0;me=Ce+(Ie*136|0)+28+(Ae*36|0)+20|0;ve=Ce+(Ie*136|0)+28+(Ae*36|0)|0;pe=Ce+(Ie*136|0)+28+(Ae*36|0)+4|0;ge=Ce+(Ie*136|0)+28+(Ae*36|0)+16|0;ye=((we|0)<0)<<31>>31;ke=0;do{r=t[me>>2]|0;be=r+(ke*40|0)+16|0;_e=r+(ke*40|0)+20|0;if(ie(t[_e>>2]|0,t[be>>2]|0)|0){he=r+(ke*40|0)+24|0;de=0;do{ce=t[he>>2]|0;d=t[ce+(de*52|0)+12>>2]|0;i=d-(t[ve>>2]|0)|0;b=t[ce+(de*52|0)+16>>2]|0;r=b-(t[pe>>2]|0)|0;h=t[ge>>2]|0;if(h&1){ue=t[De>>2]|0;i=(t[ue+(Re*136|0)+8>>2]|0)+i-(t[ue+(Re*136|0)>>2]|0)|0}if(h&2){ue=t[De>>2]|0;r=(t[ue+(Re*136|0)+12>>2]|0)+r-(t[ue+(Re*136|0)+4>>2]|0)|0}if(!(Ya(e,(t[ce+(de*52|0)+20>>2]|0)-d|0,(t[ce+(de*52|0)+24>>2]|0)-b|0)|0)){i=0;Je=173;break e}_=t[$e>>2]|0;k=t[Ve>>2]|0;w=Ne-_|0;p=(ie(r,Ne)|0)+i|0;g=t[Be>>2]|0;t[Xe>>2]=g+(p<<2);t[Ge>>2]=Ne;i=(k|0)==0;if((t[ze>>2]|0)==1){if(!i){d=(_|0)==0;b=0;i=0;while(1){if(!d){r=0;h=i;while(1){ue=g+(h+p<<2)|0;t[ue>>2]=t[ue>>2]<<6;r=r+1|0;if((r|0)==(_|0))break;else h=h+1|0}i=_+i|0}b=b+1|0;if((b|0)==(k|0))break;else i=i+w|0}}}else if(!i){d=(_|0)==0;b=0;i=0;while(1){if(!d){r=0;h=i;while(1){ue=g+(h+p<<2)|0;oe=t[ue>>2]|0;oe=jl(oe|0,((oe|0)<0)<<31>>31|0,we|0,ye|0)|0;oe=Bl(oe|0,I|0,4096,0)|0;oe=zl(oe|0,I|0,18)|0;t[ue>>2]=oe;r=r+1|0;if((r|0)==(_|0))break;else h=h+1|0}i=_+i|0}b=b+1|0;if((b|0)==(k|0))break;else i=i+w|0}}ae=t[ge>>2]|0;se=(t[Fe>>2]|0)+Te|0;w=t[ze>>2]|0;le=+o[Me>>2];oe=t[Oe>>2]|0;ue=t[e>>2]|0;d=t[$e>>2]|0;do{if(!d)i=0;else{b=t[Ve>>2]|0;_=(b|0)==0;k=0;i=0;do{if(!_){r=t[Ge>>2]|0;h=0;do{te=t[g+(p+((ie(h,r)|0)+k)<<2)>>2]|0;te=(te|0)>-1?te:0-te|0;i=(i|0)>(te|0)?i:te;h=h+1|0}while((h|0)!=(b|0))}k=k+1|0}while((k|0)!=(d|0));if(!i){i=0;break}if((i|0)>1){r=i;i=0}else{i=-5;break}while(1){r=r>>1;if((r|0)<=1)break;else i=i+1|0}i=i+-4|0}}while(0);ne=ce+(de*52|0)+28|0;t[ne>>2]=i;i=i+-1|0;ss(ue);ls(ue,18,0,46);ls(ue,17,0,3);ls(ue,0,0,4);te=ce+(de*52|0)|0;is(ue,t[te>>2]|0);i:do{if((i|0)>-1){re=ce+(de*52|0)+8|0;G=oe&1;fe=(G|0)!=0;K=(w|0)==1;W=(oe&4|0)==0;G=(G|0)==0;Z=(oe&2|0)==0;J=(oe&8|0)==0;Q=ae<<8;ee=(oe&32|0)==0;r=0;$=i;V=0.0;i=0;X=2;while(1){q=t[re>>2]|0;L=fe&(X>>>0<2?($|0)<((t[ne>>2]|0)+-4|0):0);r:do{switch(X|0){case 0:{O=1<<$+6;r=t[Ve>>2]|0;if(!r){d=0;break r}x=($|0)==0;b=t[$e>>2]|0;h=b;d=0;P=0;do{C=P;P=P+4|0;if(!h)h=0;else{T=(C|0)==-4;R=C|3;h=b;S=0;do{if(!T){E=C;do{r=t[Ve>>2]|0;if(E>>>0>=r>>>0)break;do{if(J)r=0;else{if((E|0)==(R|0)){r=1;break}r=(E|0)==(r+-1|0)}}while(0);_=E;E=E+1|0;p=(ie(t[je>>2]|0,E)|0)+S|0;g=p+1|0;y=t[Ye>>2]|0;A=y+(g<<1)|0;_=(ie(t[Ge>>2]|0,_)|0)+S|0;_=(t[Xe>>2]|0)+(_<<2)|0;M=t[e>>2]|0;k=n[A>>1]|0;k=r?k&-1095:k;r=k&255;if((r|0)!=0&(k&20480|0)==0){h=t[_>>2]|0;h=(((h|0)<0?0-h|0:h)&O|0)!=0;b=h&1;w=M+100|0;t[w>>2]=M+24+(a[20267+(r|Q)>>0]<<2);if(L)ts(M,b);else rs(M,b);if(h){r=t[_>>2]|0;h=r>>>31;r=(r|0)<0?0-r|0:r;if(x)r=3708+((r&127)<<1)|0;else r=3452+((r>>>$&127)<<1)|0;d=(n[r>>1]|0)+d|0;r=k>>>4&255;t[w>>2]=M+24+(a[21291+r>>0]<<2);if(L)ts(M,h);else rs(M,a[21547+r>>0]^h);j=t[je>>2]|0;Y=y+(g-j<<1)|0;H=y+(j+g<<1)|0;F=y+(g+~j<<1)|0;n[F>>1]=s[F>>1]|2;n[Y>>1]=n[Y>>1]|n[3436+(h<<1)>>1];Y=p+2|0;F=y+(Y-j<<1)|0;n[F>>1]=s[F>>1]|4;F=y+(p<<1)|0;n[F>>1]=n[F>>1]|n[3436+((h|2)<<1)>>1];n[A>>1]=s[A>>1]|4096;F=y+(Y<<1)|0;n[F>>1]=n[F>>1]|n[3436+((h|4)<<1)>>1];F=y+(j+p<<1)|0;n[F>>1]=s[F>>1]|1;n[H>>1]=n[H>>1]|n[3436+((h|6)<<1)>>1];Y=y+(j+Y<<1)|0;n[Y>>1]=s[Y>>1]|8}n[A>>1]=s[A>>1]|16384}}while(E>>>0

>>0);h=t[$e>>2]|0}S=S+1|0}while(S>>>0>>0);r=t[Ve>>2]|0;b=h}}while(P>>>0>>0);break}case 1:{S=1<<$+6;r=t[Ve>>2]|0;if(!r){d=0;break r}T=($|0)==0;b=t[$e>>2]|0;h=b;d=0;E=0;do{A=E;E=E+4|0;if(!h)h=0;else{y=(A|0)==-4;M=A|3;h=b;g=0;do{p=g;g=g+1|0;if(!y){w=A;do{r=t[Ve>>2]|0;if(w>>>0>=r>>>0)break;do{if(J)r=0;else{if((w|0)==(M|0)){r=1;break}r=(w|0)==(r+-1|0)}}while(0);h=w;w=w+1|0;_=(ie(t[je>>2]|0,w)|0)+g|0;_=(t[Ye>>2]|0)+(_<<1)|0;k=t[e>>2]|0;b=n[_>>1]|0;b=r?b&-1095:b;if((b&20480|0)==4096){h=t[(t[Xe>>2]|0)+((ie(t[Ge>>2]|0,h)|0)+p<<2)>>2]|0;h=(h|0)<0?0-h|0:h;if(T)r=4220+((h&127)<<1)|0;else r=3964+((h>>>$&127)<<1)|0;d=(n[r>>1]|0)+d|0;r=(h&S|0)!=0&1;t[k+100>>2]=k+24+(((b&8192|0)!=0?16:(b&255|0)!=0?15:14)<<2);if(L)ts(k,r);else rs(k,r);n[_>>1]=s[_>>1]|8192}}while(w>>>0>>0);h=t[$e>>2]|0}}while(g>>>0>>0);r=t[Ve>>2]|0;b=h}}while(E>>>0>>0);break}case 2:{D=t[e>>2]|0;N=1<<$+6;h=t[Ve>>2]|0;if(!h)r=0;else{F=D+92|0;H=D+100|0;j=D+96|0;Y=($|0)==0;d=t[$e>>2]|0;r=0;z=0;while(1){if(!d){b=z+4|0;d=0}else{R=z|3;C=z|1;P=C+1|0;O=C+3|0;b=z+4|0;x=z+1|0;L=z+2|0;B=z+3|0;T=0;while(1){do{if(R>>>0>>0){h=t[je>>2]|0;k=T+1|0;_=(ie(h,C)|0)+k|0;d=t[Ye>>2]|0;_=n[d+(_<<1)>>1]|0;if(J){S=n[d+((ie(h,P)|0)+k<<1)>>1]|_;S=S|n[d+((ie(h,R)|0)+k<<1)>>1];h=((S|n[d+((ie(h,O)|0)+k<<1)>>1])&20735)==0&1}else{do{if(!(_&20735)){if(n[d+((ie(h,P)|0)+k<<1)>>1]&20735){h=1;break}if(n[d+((ie(h,R)|0)+k<<1)>>1]&20735){h=1;break}h=(n[d+((ie(h,O)|0)+k<<1)>>1]&20665)!=0}else h=1}while(0);h=h&1^1}if(!h){S=0;h=0;Je=109;break}h=t[Ge>>2]|0;d=t[Xe>>2]|0;S=t[d+((ie(h,z)|0)+T<<2)>>2]|0;do{if(!(((S|0)<0?0-S|0:S)&N)){S=t[d+((ie(h,x)|0)+T<<2)>>2]|0;if(((S|0)<0?0-S|0:S)&N){h=1;break}S=t[d+((ie(h,L)|0)+T<<2)>>2]|0;if(((S|0)<0?0-S|0:S)&N){h=2;break}h=t[d+((ie(h,B)|0)+T<<2)>>2]|0;h=(((h|0)<0?0-h|0:h)&N|0)==0?4:3}else h=0}while(0);t[H>>2]=F;rs(D,(h|0)!=4&1);if((h|0)==4){_=k;break}t[H>>2]=j;rs(D,h>>>1);rs(D,h&1);S=1;Je=109}else{S=0;h=0;Je=109}}while(0);if((Je|0)==109){Je=0;E=h+z|0;f:do{if(E>>>0>>0){A=E;do{h=t[Ve>>2]|0;if(A>>>0>=h>>>0)break f;do{if(J)h=0;else{if((A|0)==(R|0)){h=1;break}h=(A|0)==(h+-1|0)}}while(0);Qe=A;A=A+1|0;w=(ie(t[je>>2]|0,A)|0)+T|0;p=w+1|0;g=t[Ye>>2]|0;M=g+(p<<1)|0;d=(ie(t[Ge>>2]|0,Qe)|0)+T|0;d=(t[Xe>>2]|0)+(d<<2)|0;y=t[e>>2]|0;_=n[M>>1]|0;k=h?_&-1095:_;do{if(!(S&(Qe|0)==(E|0))){if(_&20480)break;t[y+100>>2]=y+24+(a[20267+(k&255|Q)>>0]<<2);Qe=t[d>>2]|0;Qe=(((Qe|0)<0?0-Qe|0:Qe)&N|0)!=0;rs(y,Qe&1);if(Qe)Je=117}else Je=117}while(0);if((Je|0)==117){Je=0;d=t[d>>2]|0;h=(d|0)<0?0-d|0:d;if(Y)h=3708+((h&127)<<1)|0;else h=3452+((h>>>$&127)<<1)|0;r=(n[h>>1]|0)+r|0;Qe=k>>>4&255;t[y+100>>2]=y+24+(a[21291+Qe>>0]<<2);_=d>>>31;rs(y,a[21547+Qe>>0]^_);y=t[je>>2]|0;Qe=g+(p-y<<1)|0;k=g+(y+p<<1)|0;p=g+(p+~y<<1)|0;n[p>>1]=s[p>>1]|2;n[Qe>>1]=n[Qe>>1]|n[3436+(_<<1)>>1];Qe=w+2|0;p=g+(Qe-y<<1)|0;n[p>>1]=s[p>>1]|4;p=g+(w<<1)|0;n[p>>1]=n[p>>1]|n[3436+((_|2)<<1)>>1];n[M>>1]=s[M>>1]|4096;p=g+(Qe<<1)|0;n[p>>1]=n[p>>1]|n[3436+((_|4)<<1)>>1];p=g+(y+w<<1)|0;n[p>>1]=s[p>>1]|1;n[k>>1]=n[k>>1]|n[3436+((_|6)<<1)>>1];Qe=g+(y+Qe<<1)|0;n[Qe>>1]=s[Qe>>1]|8}n[M>>1]=s[M>>1]&49151}while(A>>>0>>0)}}while(0);_=T+1|0}d=t[$e>>2]|0;h=t[Ve>>2]|0;if(_>>>0>>0)T=_;else break}}if(b>>>0>>0)z=b;else break}}if(ee){d=r;break r}cs(ue);d=r;break}default:d=r}}while(0);if(Le)m=+u[xe>>3];else m=1.0;if(K)v=+Ea(se,ae);else v=+Ra(se,ae);v=+(1<<$|0)*(le*(m*v));v=v*(+(d|0)*v*.0001220703125);V=V+v;u[We>>3]=+u[We>>3]+v;do{if(W)Je=137;else{if(($|0)<1&(X|0)==2){Je=137;break}fs(ue);h=q+(i*24|0)+20|0;r=f[h>>0]|1;f[h>>0]=r;h=1}}while(0);do{if((Je|0)==137){r=(t[ne>>2]|0)+-4|0;if((X|0)!=0&($|0)<(r|0))if(G)Je=141;else Je=140;else if(G|((X|0)!=2|($|0)!=(r|0)))Je=141;else Je=140;if((Je|0)==140){Je=0;fs(ue);h=q+(i*24|0)+20|0;r=f[h>>0]|1;f[h>>0]=r;h=1;break}else if((Je|0)==141){Je=0;h=q+(i*24|0)+20|0;r=f[h>>0]&-2;f[h>>0]=r;h=3;break}}}while(0);Y=X+1|0;Qe=(Y|0)==3;X=Qe?0:Y;$=(Qe<<31>>31)+$|0;do{if(($|0)>0&(r&1)!=0)if(fe&(X>>>0<2?($|0)<((t[ne>>2]|0)+-4|0):0)){ns(ue);break}else{os(ue);break}}while(0);u[q+(i*24|0)+8>>3]=V;t[q+(i*24|0)>>2]=(es(ue)|0)+h;if(!Z)as(ue);i=i+1|0;if(($|0)<=-1)break i;else r=d}}else i=0}while(0);do{if(!(oe&16)){if(oe&1)break;fs(ue)}else us(ue)}while(0);k=ce+(de*52|0)+48|0;t[k>>2]=i;if(i){d=ce+(de*52|0)+8|0;_=0;do{b=t[d>>2]|0;r=b+(_*24|0)|0;Qe=t[r>>2]|0;if(Qe>>>0>(es(ue)|0)>>>0){i=es(ue)|0;t[r>>2]=i}else i=t[r>>2]|0;do{if(i>>>0>1){h=i+-1|0;if((f[(t[te>>2]|0)+h>>0]|0)!=-1)break;t[r>>2]=h;i=h}}while(0);if(!_)r=0;else r=t[(t[d>>2]|0)+((_+-1|0)*24|0)>>2]|0;t[b+(_*24|0)+16>>2]=i-r;_=_+1|0}while(_>>>0<(t[k>>2]|0)>>>0)}de=de+1|0}while(de>>>0<(ie(t[_e>>2]|0,t[be>>2]|0)|0)>>>0);i=t[Se>>2]|0;h=t[Ee>>2]|0}ke=ke+1|0}while(ke>>>0<(ie(i,h)|0)>>>0);r=t[Pe>>2]|0}Ae=Ae+1|0}while(Ae>>>0>>0);i=t[Fe>>2]|0}Ie=Ie+1|0}while(Ie>>>0>>0);i=t[Ze>>2]|0}He=He+1|0;if(He>>>0>=i>>>0){i=1;Je=173;break}}if((Je|0)==173)return i|0;return 0}function Ya(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0;a=ie(r,i)|0;if(!(t[e+40>>2]|0)){s=e+24|0;l=e+8|0;f=t[l>>2]|0;do{if(a>>>0>(t[s>>2]|0)>>>0){Un(f);n=a<<2;f=Hn(n)|0;t[l>>2]=f;if(!f){i=0;return i|0}else{t[s>>2]=a;break}}else n=a<<2}while(0);xl(f|0,0,n|0)|0}a=i+2|0;t[e+32>>2]=a;a=ie(r+2|0,a)|0;s=e+28|0;l=e+12|0;f=t[l>>2]|0;do{if(a>>>0>(t[s>>2]|0)>>>0){Un(f);n=a<<1;f=Hn(n)|0;t[l>>2]=f;if(!f){i=0;return i|0}else{t[s>>2]=a;break}}else n=a<<1}while(0);xl(f|0,0,n|0)|0;t[e+16>>2]=i;t[e+20>>2]=r;i=1;return i|0}function qa(e,i,r,f,l){e=e|0;i=i|0;r=r|0;f=f|0;l=l|0;var o=0,u=0,c=0,h=0;o=t[e>>2]|0;c=n[i>>1]|0;h=c&255;if(!((h|0)!=0&(c&20480|0)==0))return;u=o+100|0;t[u>>2]=o+24+(a[20267+(h|f<<8)>>0]<<2);if(ds(o)|0){f=c>>>4&255;t[u>>2]=o+24+(a[21291+f>>0]<<2);c=ds(o)|0;f=a[21547+f>>0]|0;h=f^c;t[r>>2]=(c|0)!=(f|0)?0-l|0:l;e=t[e+32>>2]|0;l=i+(0-e<<1)|0;f=i+(e<<1)|0;r=i+(~e<<1)|0;n[r>>1]=s[r>>1]|2;n[l>>1]=n[l>>1]|n[3436+(h<<1)>>1];l=i+(1-e<<1)|0;n[l>>1]=s[l>>1]|4;l=i+-2|0;n[l>>1]=n[l>>1]|n[3436+(h+2<<1)>>1];n[i>>1]=s[i>>1]|4096;l=i+2|0;n[l>>1]=n[l>>1]|n[3436+(h+4<<1)>>1];l=i+(e+-1<<1)|0;n[l>>1]=s[l>>1]|1;n[f>>1]=n[f>>1]|n[3436+(h+6<<1)>>1];e=i+(e+1<<1)|0;n[e>>1]=s[e>>1]|8}n[i>>1]=s[i>>1]|16384;return}function $a(e,i,r,f,l){e=e|0;i=i|0;r=r|0;f=f|0;l=l|0;var o=0,u=0,c=0;o=t[e>>2]|0;c=n[i>>1]|0;if(c&20480){e=n[i>>1]|0;e=e&65535;e=e&49151;e=e&65535;n[i>>1]=e;return}u=o+100|0;t[u>>2]=o+24+(a[20267+(c&255|f<<8)>>0]<<2);if(!(ds(o)|0)){e=n[i>>1]|0;e=e&65535;e=e&49151;e=e&65535;n[i>>1]=e;return}f=c>>>4&255;t[u>>2]=o+24+(a[21291+f>>0]<<2);u=ds(o)|0;f=a[21547+f>>0]|0;c=f^u;t[r>>2]=(u|0)!=(f|0)?0-l|0:l;e=t[e+32>>2]|0;l=i+(0-e<<1)|0;f=i+(e<<1)|0;r=i+(~e<<1)|0;n[r>>1]=s[r>>1]|2;n[l>>1]=n[l>>1]|n[3436+(c<<1)>>1];l=i+(1-e<<1)|0;n[l>>1]=s[l>>1]|4;l=i+-2|0;n[l>>1]=n[l>>1]|n[3436+(c+2<<1)>>1];n[i>>1]=s[i>>1]|4096;l=i+2|0;n[l>>1]=n[l>>1]|n[3436+(c+4<<1)>>1];l=i+(e+-1<<1)|0;n[l>>1]=s[l>>1]|1;n[f>>1]=n[f>>1]|n[3436+(c+6<<1)>>1];e=i+(e+1<<1)|0;n[e>>1]=s[e>>1]|8;e=n[i>>1]|0;e=e&65535;e=e&49151;e=e&65535;n[i>>1]=e;return}function Va(e,i,r,f,s,l,o,u,h,d,b,_){e=e|0;i=i|0;r=r|0;f=f|0;s=s|0;l=l|0;o=o|0;u=u|0;h=h|0;d=d|0;b=b|0;_=_|0;var k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,O=0,x=0,L=0;L=c;c=c+16|0;x=L;t[x>>2]=0;k=t[e>>2]|0;R=t[e+4>>2]|0;e=t[R+76>>2]|0;P=e+(i*5640|0)|0;m=(n[R>>1]|0)==4?2:1;v=R+80|0;if(!(t[v>>2]|0))w=1;else w=t[k+16>>2]|0;O=(t[e+(i*5640|0)+420>>2]|0)+1|0;C=yr(k,R,i,_)|0;if(!C){i=0;c=L;return i|0}t[l>>2]=0;e:do{if(!_){if(w){e=0;i:while(1){_=0;b=C;k=0;while(1){Mr(C,R,i,k,e,d,0);if((t[b+80>>2]|0)==-1){e=9;break i}h=b+36|0;r:while(1){do{if(!(Er(b)|0))break r}while((t[h>>2]|0)>>>0>=f>>>0);t[x>>2]=0;if(!(Wa(i,r,P,b,s,x,o,u)|0)){e=13;break i}T=t[x>>2]|0;t[l>>2]=(t[l>>2]|0)+T;o=o-T|0;_=T+_|0;s=s+T|0}T=t[v>>2]|0;if((T|0)!=0&_>>>0>T>>>0){e=17;break i}k=k+1|0;if(k>>>0>>0)b=b+232|0;else break}e=e+1|0;if(e>>>0>=w>>>0)break e}if((e|0)==9){gr(C,O);i=0;c=L;return i|0}else if((e|0)==13){gr(C,O);i=0;c=L;return i|0}else if((e|0)==17){gr(C,O);i=0;c=L;return i|0}}}else{Mr(C,R,i,b,h,d,_);E=C+(b*232|0)|0;if((t[C+(b*232|0)+80>>2]|0)==-1){gr(C,O);i=0;c=L;return i|0}d=C+(b*232|0)+36|0;p=(u|0)==0;g=r+840|0;y=u+12|0;M=u+8|0;A=u+88|0;v=R+93|0;m=e+(i*5640|0)+5636|0;while(1){do{if(!(Er(E)|0))break e}while((t[d>>2]|0)>>>0>=f>>>0);t[x>>2]=0;if(!(Wa(i,r,P,E,s,x,o,u)|0))break;w=t[x>>2]|0;s=s+w|0;o=o-w|0;t[l>>2]=(t[l>>2]|0)+w;if(!p){if(!(t[y>>2]|0))e=t[M>>2]|0;else{k=t[A>>2]|0;e=t[M>>2]|0;b=t[k+(i*592|0)+548>>2]|0;_=b+(e<<5)|0;if(!e){h=(t[k+(i*592|0)+12>>2]|0)+1|0;k=((h|0)<0)<<31>>31;R=_;t[R>>2]=h;t[R+4>>2]=k}else{if((((a[m>>0]|0)>>>2|(a[v>>0]|0)>>>3)&1)!=0?(T=_,S=t[T>>2]|0,T=t[T+4>>2]|0,!((S|0)==0&(T|0)==0)):0){h=S;k=T}else{h=b+(e+-1<<5)+16|0;h=Bl(t[h>>2]|0,t[h+4>>2]|0,1,0)|0;k=I}R=_;t[R>>2]=h;t[R+4>>2]=k}_=Bl(h|0,k|0,-1,-1)|0;h=I;w=Bl(_|0,h|0,w|0,0)|0;R=b+(e<<5)+16|0;t[R>>2]=w;t[R+4>>2]=I;R=b+(e<<5)+8|0;w=R;w=Bl(_|0,h|0,t[w>>2]|0,t[w+4>>2]|0)|0;t[R>>2]=w;t[R+4>>2]=I}t[M>>2]=e+1}t[g>>2]=(t[g>>2]|0)+1}gr(C,O);i=0;c=L;return i|0}}while(0);gr(C,O);i=1;c=L;return i|0}function Xa(e,i,r,f,n,a,s,l){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,U=0,j=0,Y=0,q=0,$=0,V=0,X=0,G=0,K=0,W=0,Z=0,J=0,Q=0;J=c;c=c+112|0;G=J+64|0;K=J+32|0;q=J;Y=J+96|0;j=J+92|0;o=t[e>>2]|0;N=e+4|0;Z=t[N>>2]|0;s=t[Z+76>>2]|0;H=s+(i*5640|0)|0;U=s+(i*5640|0)+420|0;W=(t[U>>2]|0)+1|0;Z=pr(o,Z,i)|0;if(!Z){Q=0;c=J;return Q|0}F=o+16|0;D=s+(i*5640|0)+12|0;z=r+20|0;B=o+24|0;i=a;e=f;x=Z;L=0;e:while(1){if((t[x+80>>2]|0)==-1){Q=4;break}s=Nn(t[F>>2]<<2)|0;if(!s){Q=6;break}xl(s|0,1,t[F>>2]<<2|0)|0;if(Er(x)|0){a=x+24|0;r=x+28|0;O=x+36|0;o=x+32|0;I=i;P=e;while(1){if((t[D>>2]|0)>>>0>(t[O>>2]|0)>>>0){i=t[a>>2]|0;e=t[z>>2]|0;if((t[r>>2]|0)>>>0<(t[e+(i*52|0)+20>>2]|0)>>>0){t[s+(i<<2)>>2]=0;C=t[N>>2]|0;t[j>>2]=0;if(!(Za(C,e,H,x,Y,P,j,I,l)|0)){Q=45;break e}R=t[j>>2]|0;if(!(t[Y>>2]|0))e=R;else{T=I-R|0;E=P+R|0;t[j>>2]=0;i=t[r>>2]|0;u=t[(t[z>>2]|0)+((t[a>>2]|0)*52|0)+24>>2]|0;M=u+(i*136|0)+24|0;e=t[M>>2]|0;i:do{if(!e){e=E;Q=43}else{A=P+I|0;h=e;C=0;y=u+(i*136|0)+28|0;u=E;r:while(1){e=t[o>>2]|0;i=t[y+20>>2]|0;if(((t[y+8>>2]|0)!=(t[y>>2]|0)?(t[y+12>>2]|0)!=(t[y+4>>2]|0):0)?(X=ie(t[i+(e*40|0)+20>>2]|0,t[i+(e*40|0)+16>>2]|0)|0,(X|0)!=0):0){S=0;e=t[i+(e*40|0)+24>>2]|0;_=u;while(1){p=e+40|0;if(!(t[p>>2]|0))i=_;else{g=e+44|0;i=t[g>>2]|0;do{if(!i){b=t[e+4>>2]|0;t[g>>2]=1;t[e+36>>2]=0}else{u=i+-1|0;h=t[e+4>>2]|0;if((t[h+(u<<5)+8>>2]|0)!=(t[h+(u<<5)+20>>2]|0)){b=h+(u<<5)|0;break}t[g>>2]=i+1;b=h+(i<<5)|0}}while(0);v=e+36|0;i=e+32|0;m=_;d=b+28|0;u=t[d>>2]|0;if((u+m|0)>>>0>>0|(_+u|0)>>>0>A>>>0){i=C;e=S;break r}h=t[v>>2]|0;m=_;w=b;while(1){b=u+h|0;if(b>>>0>>0){i=C;e=S;Q=29;break e}_=t[e>>2]|0;if(b>>>0>(t[i>>2]|0)>>>0){u=jn(_,b)|0;if(!u){Q=32;break e}h=t[v>>2]|0;k=t[d>>2]|0;t[i>>2]=k+h;t[e>>2]=u;_=u;u=k}Dl(_+h|0,m|0,u|0)|0;u=w+8|0;h=t[u>>2]|0;if(!h){t[w>>2]=e;b=t[v>>2]|0;t[w+4>>2]=b}else b=t[v>>2]|0;_=t[d>>2]|0;k=m;m=m+_|0;d=t[w+24>>2]|0;h=d+h|0;t[u>>2]=h;u=t[p>>2]|0;t[p>>2]=u-d;t[w+12>>2]=h;h=_+b|0;t[v>>2]=h;b=w+16|0;t[b>>2]=(t[b>>2]|0)+_;if((u|0)==(d|0)){i=m;break}t[g>>2]=(t[g>>2]|0)+1;b=m;d=w+60|0;u=t[d>>2]|0;if((u+b|0)>>>0>>0?1:(k+(u+_)|0)>>>0>A>>>0){i=C;e=S;break r}else w=w+32|0}t[e+48>>2]=t[g>>2]}S=S+1|0;if(S>>>0>=X>>>0){e=i;break}else{e=e+56|0;_=i}}i=t[M>>2]|0}else{i=h;e=u}C=C+1|0;if(C>>>0>=i>>>0){Q=43;break i}else{h=i;y=y+36|0;u=e}}E=t[o>>2]|0;S=t[r>>2]|0;C=t[a>>2]|0;t[q>>2]=u;t[q+4>>2]=T;t[q+8>>2]=e;t[q+12>>2]=E;t[q+16>>2]=i;t[q+20>>2]=S;t[q+24>>2]=C;jf(l,2,21803,q)|0;e=t[j>>2]|0}}while(0);if((Q|0)==43){Q=0;e=e-E|0;t[j>>2]=e}e=e+R|0}u=t[a>>2]|0;R=t[r>>2]|0;i=(t[B>>2]|0)+(u*52|0)+36|0;C=t[i>>2]|0;t[i>>2]=R>>>0>C>>>0?R:C;i=e}else Q=47}else{e=t[z>>2]|0;Q=47}if((Q|0)==47){Q=0;C=t[N>>2]|0;t[j>>2]=0;if(!(Za(C,e,H,x,Y,P,j,I,l)|0)){Q=69;break e}p=t[j>>2]|0;if(!(t[Y>>2]|0))e=p;else{u=I-p|0;y=t[r>>2]|0;M=t[a>>2]|0;e=t[(t[z>>2]|0)+(M*52|0)+24>>2]|0;t[j>>2]=0;v=t[e+(y*136|0)+24>>2]|0;if(!v)e=0;else{g=t[o>>2]|0;i=0;m=e+(y*136|0)+28|0;while(1){h=t[m+20>>2]|0;if(((t[m+8>>2]|0)!=(t[m>>2]|0)?(t[m+12>>2]|0)!=(t[m+4>>2]|0):0)?($=ie(t[h+(g*40|0)+20>>2]|0,t[h+(g*40|0)+16>>2]|0)|0,($|0)!=0):0){e=0;w=t[h+(g*40|0)+24>>2]|0;while(1){_=w+40|0;i:do{if(t[_>>2]|0){k=w+44|0;h=t[k>>2]|0;do{if(!h){b=t[w+4>>2]|0;t[k>>2]=1;t[w+36>>2]=0}else{d=h+-1|0;b=t[w+4>>2]|0;if((t[b+(d<<5)+8>>2]|0)!=(t[b+(d<<5)+20>>2]|0)){b=b+(d<<5)|0;break}t[k>>2]=h+1;b=b+(h<<5)|0}}while(0);C=t[j>>2]|0;h=t[b+28>>2]|0;d=h+C|0;if(d>>>0>>0|d>>>0>u>>>0){a=g;r=y;o=M;Q=65;break e}while(1){t[j>>2]=d;C=t[b+24>>2]|0;R=b+8|0;t[R>>2]=(t[R>>2]|0)+C;R=t[_>>2]|0;t[_>>2]=R-C;if((R|0)==(C|0))break i;t[k>>2]=(t[k>>2]|0)+1;C=t[j>>2]|0;h=t[b+60>>2]|0;d=h+C|0;if(d>>>0>>0|d>>>0>u>>>0){a=g;r=y;o=M;Q=65;break e}else b=b+32|0}}}while(0);e=e+1|0;if(e>>>0>=$>>>0)break;else w=w+56|0}}i=i+1|0;if(i>>>0>=v>>>0)break;else m=m+36|0}e=t[j>>2]|0}e=e+p|0}u=t[a>>2]|0;i=e}if((t[s+(u<<2)>>2]|0)!=0?(V=(t[B>>2]|0)+(u*52|0)+36|0,(t[V>>2]|0)==0):0)t[V>>2]=(t[(t[z>>2]|0)+(u*52|0)+20>>2]|0)+-1;e=P+i|0;i=I-i|0;if(!(Er(x)|0))break;else{I=i;P=e}}}Yn(s);L=L+1|0;if(L>>>0>(t[U>>2]|0)>>>0){s=e;Q=75;break}else x=x+232|0}if((Q|0)==4){gr(Z,W);Q=0;c=J;return Q|0}else if((Q|0)==6){gr(Z,W);Q=0;c=J;return Q|0}else if((Q|0)==29){n=t[o>>2]|0;f=t[r>>2]|0;G=t[a>>2]|0;t[K>>2]=u;t[K+4>>2]=h;t[K+8>>2]=~u;t[K+12>>2]=e;t[K+16>>2]=n;t[K+20>>2]=i;t[K+24>>2]=f;t[K+28>>2]=G;jf(l,1,21888,K)|0;Q=45}else if((Q|0)==32){Yn(t[e>>2]|0);t[e>>2]=0;t[i>>2]=0;Q=45}else if((Q|0)==65){t[G>>2]=h;t[G+4>>2]=u;t[G+8>>2]=e;t[G+12>>2]=a;t[G+16>>2]=i;t[G+20>>2]=r;t[G+24>>2]=o;jf(l,1,21987,G)|0;Q=69}else if((Q|0)==75){gr(Z,W);t[n>>2]=s-f;Q=1;c=J;return Q|0}if((Q|0)==45){gr(Z,W);Yn(s);Q=0;c=J;return Q|0}else if((Q|0)==69){gr(Z,W);Yn(s);Q=0;c=J;return Q|0}return 0}function Ga(e,i){e=e|0;i=i|0;var r=0;r=Fn(1,8)|0;if(!r){e=0;return e|0}t[r>>2]=e;t[r+4>>2]=i;e=r;return e|0}function Ka(e){e=e|0;if(!e)return;Yn(e);return}function Wa(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0.0,B=0,z=0;m=t[n+28>>2]|0;B=t[n+32>>2]|0;z=t[n+36>>2]|0;w=t[(t[i+20>>2]|0)+((t[n+24>>2]|0)*52|0)+24>>2]|0;if(!(t[r>>2]&2))O=a;else{f[a>>0]=-1;f[a+1>>0]=-111;f[a+2>>0]=0;f[a+3>>0]=4;O=i+840|0;f[a+4>>0]=(t[O>>2]|0)>>>8;f[a+5>>0]=t[O>>2];l=l+-6|0;O=a+6|0}if((z|0)==0?(k=w+(m*136|0)+24|0,(t[k>>2]|0)!=0):0){b=w+(m*136|0)+28|0;_=0;while(1){n=t[b+20>>2]|0;Kr(t[n+(B*40|0)+32>>2]|0);h=n+(B*40|0)+36|0;Kr(t[h>>2]|0);d=ie(t[n+(B*40|0)+20>>2]|0,t[n+(B*40|0)+16>>2]|0)|0;if(d){n=n+(B*40|0)+24|0;i=b+28|0;c=0;do{x=t[n>>2]|0;t[x+(c*52|0)+40>>2]=0;na(t[h>>2]|0,c,(t[i>>2]|0)-(t[x+(c*52|0)+28>>2]|0)|0);c=c+1|0}while((c|0)!=(d|0))}_=_+1|0;if(_>>>0>=(t[k>>2]|0)>>>0)break;else b=b+36|0}}P=da()|0;if(!P){s=0;return s|0}ka(P,O,l);ma(P,1,1);I=w+(m*136|0)+28|0;x=w+(m*136|0)+24|0;if(t[x>>2]|0){S=z+1|0;R=I;C=0;while(1){d=t[R+20>>2]|0;T=ie(t[d+(B*40|0)+20>>2]|0,t[d+(B*40|0)+16>>2]|0)|0;b=d+(B*40|0)+24|0;n=(T|0)==0;if(!n){i=d+(B*40|0)+32|0;c=t[b>>2]|0;h=0;while(1){if((t[c+40>>2]|0)==0?(t[(t[c+4>>2]|0)+(z*24|0)>>2]|0)!=0:0)na(t[i>>2]|0,h,z);h=h+1|0;if((h|0)==(T|0))break;else c=c+52|0}if(!n){E=d+(B*40|0)+32|0;A=d+(B*40|0)+36|0;y=t[b>>2]|0;M=0;while(1){n=(t[y+4>>2]|0)+(z*24|0)|0;g=y+40|0;if(!(t[g>>2]|0))ta(P,t[E>>2]|0,M,S);else ma(P,(t[n>>2]|0)!=0&1,1);i=t[n>>2]|0;if(i){if(!(t[g>>2]|0)){t[y+32>>2]=3;ta(P,t[A>>2]|0,M,999);i=t[n>>2]|0}e:do{switch(i|0){case 1:{ma(P,0,1);break}case 2:{ma(P,2,2);break}default:{if(i>>>0<6){ma(P,i+-3|12,4);break e}if(i>>>0<37){ma(P,i+-6|480,9);break e}if(i>>>0<165)ma(P,i+-37|65408,16)}}}while(0);b=t[g>>2]|0;i=t[n>>2]|0;p=i+b|0;v=y+8|0;if(b>>>0

>>0){m=y+32|0;k=b+-1+i|0;h=0;d=0;c=0;w=(t[v>>2]|0)+(b*24|0)|0;while(1){c=c+1|0;d=(t[w+16>>2]|0)+d|0;if((f[w+20>>0]&1)!=0|(b|0)==(k|0)){if((d|0)>1){i=0;do{d=d>>1;i=i+1|0}while((d|0)>1)}else i=0;_=t[m>>2]|0;if((c|0)>1){d=0;do{c=c>>1;d=d+1|0}while((c|0)>1);c=d}else c=0;d=i+1-_-c|0;h=(h|0)>(d|0)?h:d;d=0;c=0}b=b+1|0;if((b|0)==(p|0))break;else w=w+24|0}if((h|0)>0){i=h;while(1){ma(P,1,1);if((i|0)>1)i=i+-1|0;else{i=d;break}}}else i=d}else{h=0;i=0;c=0}ma(P,0,1);k=y+32|0;t[k>>2]=(t[k>>2]|0)+h;h=t[g>>2]|0;if(h>>>0

>>0){_=(t[v>>2]|0)+(h*24|0)|0;while(1){c=c+1|0;d=(t[_+16>>2]|0)+i|0;if((f[_+20>>0]&1)==0?(h|0)!=((t[g>>2]|0)+-1+(t[n>>2]|0)|0):0)i=d;else{b=t[k>>2]|0;if((c|0)>1){i=0;do{c=c>>1;i=i+1|0}while((c|0)>1)}else i=0;ma(P,d,i+b|0);i=0;c=0}h=h+1|0;if((h|0)==(p|0))break;else _=_+24|0}}}M=M+1|0;if((M|0)==(T|0))break;else y=y+52|0}}}C=C+1|0;if(C>>>0>=(t[x>>2]|0)>>>0)break;else R=R+36|0}}if(!(pa(P)|0)){ba(P);s=0;return s|0}i=_a(P)|0;n=O+i|0;l=l-i|0;ba(P);if(t[r>>2]&4){f[n>>0]=-1;f[O+(i+1)>>0]=-110;l=l+-2|0;n=O+(i+2)|0}v=(o|0)!=0;if(v?(t[o+12>>2]|0)!=0:0){O=n-a|0;r=(t[(t[o+88>>2]|0)+(e*592|0)+548>>2]|0)+(t[o+8>>2]<<5)+8|0;t[r>>2]=O;t[r+4>>2]=((O|0)<0)<<31>>31}i=t[x>>2]|0;e:do{if(i){p=o+12|0;g=o+8|0;y=o+88|0;w=I;m=0;i:while(1){c=t[w+20>>2]|0;k=ie(t[c+(B*40|0)+20>>2]|0,t[c+(B*40|0)+16>>2]|0)|0;c=t[c+(B*40|0)+24>>2]|0;if(k){if(v){_=0;while(1){b=t[c+4>>2]|0;i=b+(z*24|0)|0;if(t[i>>2]|0){h=b+(z*24|0)+4|0;d=t[h>>2]|0;if(d>>>0>l>>>0){n=0;l=81;break i}Dl(n|0,t[b+(z*24|0)+16>>2]|0,d|0)|0;r=c+40|0;t[r>>2]=(t[r>>2]|0)+(t[i>>2]|0);r=t[h>>2]|0;n=n+r|0;l=l-r|0;if((t[p>>2]|0)!=0?(r=(t[(t[y>>2]|0)+(e*592|0)+548>>2]|0)+(t[g>>2]<<5)+24|0,L=+u[b+(z*24|0)+8>>3]+ +u[r>>3],u[r>>3]=L,+u[o>>3]>3]=L}_=_+1|0;if(_>>>0>=k>>>0)break;else c=c+52|0}}else{_=0;while(1){i=t[c+4>>2]|0;h=i+(z*24|0)|0;if(t[h>>2]|0){d=i+(z*24|0)+4|0;b=t[d>>2]|0;if(b>>>0>l>>>0){n=0;l=81;break i}Dl(n|0,t[i+(z*24|0)+16>>2]|0,b|0)|0;r=c+40|0;t[r>>2]=(t[r>>2]|0)+(t[h>>2]|0);r=t[d>>2]|0;l=l-r|0;n=n+r|0}_=_+1|0;if(_>>>0>=k>>>0)break;else c=c+52|0}}i=t[x>>2]|0}m=m+1|0;if(m>>>0>=i>>>0)break e;else w=w+36|0}if((l|0)==81)return n|0}}while(0);t[s>>2]=n-a+(t[s>>2]|0);s=1;return s|0}function Za(e,i,r,n,a,s,l,o,u){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;var h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0;F=c;c=c+64|0;D=F+40|0;z=F+32|0;M=F+24|0;y=F+16|0;p=F+8|0;v=F;g=F+48|0;N=F+44|0;t[N>>2]=s;E=t[n+28>>2]|0;B=n+24|0;A=t[i+((t[B>>2]|0)*52|0)+24>>2]|0;x=n+36|0;if((t[x>>2]|0)==0?(m=A+(E*136|0)+24|0,h=t[m>>2]|0,(h|0)!=0):0){w=n+32|0;_=0;k=A+(E*136|0)+28|0;while(1){i=t[w>>2]|0;d=t[k+20>>2]|0;if((t[k+8>>2]|0)!=(t[k>>2]|0)?(t[k+12>>2]|0)!=(t[k+4>>2]|0):0){Kr(t[d+(i*40|0)+32>>2]|0);Kr(t[d+(i*40|0)+36>>2]|0);h=ie(t[d+(i*40|0)+20>>2]|0,t[d+(i*40|0)+16>>2]|0)|0;if(h){b=0;i=t[d+(i*40|0)+24>>2]|0;while(1){t[i+44>>2]=0;t[i+48>>2]=0;b=b+1|0;if((b|0)==(h|0))break;else i=i+56|0}}h=t[m>>2]|0}_=_+1|0;if(_>>>0>=h>>>0)break;else k=k+36|0}}do{if(t[r>>2]&2){if(o>>>0<6){jf(u,2,22072,v)|0;break}i=t[N>>2]|0;if((f[i>>0]|0)==-1?(f[i+1>>0]|0)==-111:0){t[N>>2]=i+6;break}jf(u,2,22114,p)|0}}while(0);O=da()|0;if(!O){s=0;c=F;return s|0}do{if(!(f[e+96>>0]&1))if(!(f[r+5636>>0]&2)){P=t[N>>2]|0;t[g>>2]=s+o-P;I=N;break}else{I=r+5168|0;P=t[I>>2]|0;g=r+5180|0;break}else{I=e+40|0;P=t[I>>2]|0;g=e+44|0}}while(0);wa(O,P,t[g>>2]|0);if(!(va(O,1)|0)){ga(O)|0;h=_a(O)|0;i=P+h|0;ba(O);do{if(t[r>>2]&4){if(((t[g>>2]|0)-i+(t[I>>2]|0)|0)>>>0<2){jf(u,2,22135,y)|0;break}if((f[i>>0]|0)==-1?(f[P+(h+1)>>0]|0)==-110:0){i=P+(h+2)|0;break}jf(u,2,22177,M)|0}}while(0);t[g>>2]=(t[g>>2]|0)+((t[I>>2]|0)-i);t[I>>2]=i;t[a>>2]=0;t[l>>2]=(t[N>>2]|0)-s;s=1;c=F;return s|0}C=A+(E*136|0)+24|0;i=t[C>>2]|0;e:do{if(i){T=n+32|0;R=r+5584|0;S=0;A=A+(E*136|0)+28|0;i:while(1){h=t[T>>2]|0;d=t[A+20>>2]|0;if(((t[A+8>>2]|0)!=(t[A>>2]|0)?(t[A+12>>2]|0)!=(t[A+4>>2]|0):0)?(L=ie(t[d+(h*40|0)+20>>2]|0,t[d+(h*40|0)+16>>2]|0)|0,(L|0)!=0):0){e=d+(h*40|0)+32|0;n=d+(h*40|0)+36|0;y=A+28|0;M=0;o=t[d+(h*40|0)+24>>2]|0;while(1){h=o+44|0;if(!(t[h>>2]|0))i=aa(O,t[e>>2]|0,M,(t[x>>2]|0)+1|0)|0;else i=va(O,1)|0;r:do{if(!i)t[o+40>>2]=0;else{if(!(t[h>>2]|0)){i=0;while(1)if(!(aa(O,t[n>>2]|0,M,i)|0))i=i+1|0;else break;t[o+24>>2]=1-i+(t[y>>2]|0);t[o+28>>2]=3}do{if(va(O,1)|0)if(va(O,1)|0){i=va(O,2)|0;if((i|0)!=3){i=i+3|0;break}i=va(O,5)|0;if((i|0)==31){i=(va(O,7)|0)+37|0;break}else{i=i+6|0;break}}else i=2;else i=1}while(0);v=o+40|0;t[v>>2]=i;i=0;while(1)if(!(va(O,1)|0))break;else i=i+1|0;p=o+28|0;t[p>>2]=(t[p>>2]|0)+i;h=t[h>>2]|0;do{if(!h){d=t[(t[R>>2]|0)+((t[B>>2]|0)*1080|0)+16>>2]|0;i=o+52|0;if(!(t[i>>2]|0)){t[i>>2]=10;b=o+4|0;h=jn(t[b>>2]|0,320)|0;if(!h){h=i;d=b;i=b;b=66;break i}t[b>>2]=h}else h=t[o+4>>2]|0;t[h>>2]=0;t[h+4>>2]=0;t[h+8>>2]=0;t[h+12>>2]=0;t[h+16>>2]=0;t[h+20>>2]=0;t[h+24>>2]=0;t[h+28>>2]=0;if(d&4){t[h+20>>2]=1;h=0;break}h=h+20|0;if(!(d&1)){t[h>>2]=109;h=0;break}else{t[h>>2]=10;h=0;break}}else{k=h+-1|0;w=o+4|0;d=t[w>>2]|0;if((t[d+(k<<5)+8>>2]|0)!=(t[d+(k<<5)+20>>2]|0)){i=o+52|0;h=k;break}_=t[(t[R>>2]|0)+((t[B>>2]|0)*1080|0)+16>>2]|0;i=o+52|0;b=t[i>>2]|0;if((h+1|0)>>>0>b>>>0){E=b+10|0;t[i>>2]=E;d=jn(d,E<<5)|0;if(!d){d=w;h=i;i=w;b=77;break i}t[w>>2]=d}E=d+(h<<5)|0;t[E>>2]=0;t[E+4>>2]=0;t[E+8>>2]=0;t[E+12>>2]=0;t[E+16>>2]=0;t[E+20>>2]=0;t[E+24>>2]=0;t[E+28>>2]=0;if(_&4){t[d+(h<<5)+20>>2]=1;break}if(!(_&1)){t[d+(h<<5)+20>>2]=109;break}else{E=t[d+(k<<5)+20>>2]|0;t[d+(h<<5)+20>>2]=(E|0)==1|(E|0)==10?2:1;break}}}while(0);m=o+4|0;k=t[v>>2]|0;while(1){_=t[m>>2]|0;d=(t[_+(h<<5)+20>>2]|0)-(t[_+(h<<5)+8>>2]|0)|0;d=(d|0)<(k|0)?d:k;t[_+(h<<5)+24>>2]=d;_=t[p>>2]|0;if(d>>>0>1){b=0;while(1){b=b+1|0;if(d>>>0>3)d=d>>>1;else{d=b;break}}}else d=0;_=va(O,d+_|0)|0;d=t[m>>2]|0;t[d+(h<<5)+28>>2]=_;_=k-(t[d+(h<<5)+24>>2]|0)|0;if((_|0)<=0)break r;k=h+1|0;w=t[(t[R>>2]|0)+((t[B>>2]|0)*1080|0)+16>>2]|0;b=t[i>>2]|0;if((h+2|0)>>>0>b>>>0){E=b+10|0;t[i>>2]=E;d=jn(d,E<<5)|0;if(!d){d=m;h=m;b=90;break i}t[m>>2]=d}E=d+(k<<5)|0;t[E>>2]=0;t[E+4>>2]=0;t[E+8>>2]=0;t[E+12>>2]=0;t[E+16>>2]=0;t[E+20>>2]=0;t[E+24>>2]=0;t[E+28>>2]=0;if(w&4){t[d+(k<<5)+20>>2]=1;h=k;k=_;continue}if(!(w&1)){t[d+(k<<5)+20>>2]=109;h=k;k=_;continue}else{E=t[d+(h<<5)+20>>2]|0;t[d+(k<<5)+20>>2]=(E|0)==1|(E|0)==10?2:1;h=k;k=_;continue}}}}while(0);M=M+1|0;if(M>>>0>=L>>>0)break;else o=o+56|0}i=t[C>>2]|0}S=S+1|0;if(S>>>0>=i>>>0)break e;else A=A+36|0}if((b|0)==66){Yn(t[i>>2]|0);t[d>>2]=0;t[h>>2]=0;ba(O);s=0;c=F;return s|0}else if((b|0)==77){Yn(t[i>>2]|0);t[d>>2]=0;t[h>>2]=0;ba(O);s=0;c=F;return s|0}else if((b|0)==90){Yn(t[h>>2]|0);t[d>>2]=0;t[i>>2]=0;ba(O);s=0;c=F;return s|0}}}while(0);if(!(ga(O)|0)){ba(O);s=0;c=F;return s|0}h=_a(O)|0;i=P+h|0;ba(O);do{if(t[r>>2]&4){if(((t[g>>2]|0)-i+(t[I>>2]|0)|0)>>>0<2){jf(u,2,22135,z)|0;break}if((f[i>>0]|0)==-1?(f[P+(h+1)>>0]|0)==-110:0){i=P+(h+2)|0;break}jf(u,2,22177,D)|0}}while(0);t[g>>2]=(t[g>>2]|0)+((t[I>>2]|0)-i);t[I>>2]=i;t[a>>2]=1;t[l>>2]=(t[N>>2]|0)-s;s=1;c=F;return s|0}function Ja(){return Nn(104)|0}function Qa(e){e=e|0;if(!e)return;Yn(e);return}function es(e){e=e|0;return(t[e+12>>2]|0)-(t[e+16>>2]|0)|0}function is(e,i){e=e|0;i=i|0;var r=0,n=0;t[e+100>>2]=e+24;t[e+4>>2]=32768;t[e>>2]=0;n=i+-1|0;t[e+12>>2]=n;r=e+8|0;t[r>>2]=12;t[r>>2]=(f[n>>0]|0)==-1?13:12;t[e+16>>2]=i;return}function rs(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0;a=t[e+100>>2]|0;s=t[a>>2]|0;o=(t[s+4>>2]|0)==(i|0);n=t[s>>2]|0;u=e+4|0;i=(t[u>>2]|0)-n|0;t[u>>2]=i;if(!o){if(i>>>0>>0){o=(t[e>>2]|0)+n|0;t[e>>2]=o;n=i;i=o;o=e}else{t[u>>2]=n;i=t[e>>2]|0;o=e}t[a>>2]=t[s+12>>2];l=e+8|0;s=e+12|0;a=i;i=t[l>>2]|0;while(1){n=n<<1;t[u>>2]=n;r=a<<1;t[o>>2]=r;i=i+-1|0;t[l>>2]=i;if(!i){i=t[s>>2]|0;n=f[i>>0]|0;do{if(n<<24>>24!=-1){if(!(r&134217728)){r=i+1|0;t[s>>2]=r;f[r>>0]=a>>>18;r=t[o>>2]&524287;t[o>>2]=r;t[l>>2]=8;i=8;break}f[i>>0]=n+1<<24>>24;i=t[s>>2]|0;if((f[i>>0]|0)==-1){e=t[o>>2]&134217727;t[o>>2]=e;r=i+1|0;t[s>>2]=r;f[r>>0]=e>>>20;r=t[o>>2]&1048575;t[o>>2]=r;t[l>>2]=7;i=7;break}else{r=i+1|0;t[s>>2]=r;f[r>>0]=(t[o>>2]|0)>>>19;r=t[o>>2]&524287;t[o>>2]=r;t[l>>2]=8;i=8;break}}else{r=i+1|0;t[s>>2]=r;f[r>>0]=a>>>19;r=t[o>>2]&1048575;t[o>>2]=r;t[l>>2]=7;i=7}}while(0);n=t[u>>2]|0}if(!(n&32768))a=r;else break}return}if(i&32768){t[e>>2]=(t[e>>2]|0)+n;return}if(i>>>0>>0){t[u>>2]=n;r=t[e>>2]|0;o=e}else{r=(t[e>>2]|0)+n|0;t[e>>2]=r;n=i;o=e}t[a>>2]=t[s+8>>2];l=e+8|0;s=e+12|0;a=r;i=t[l>>2]|0;while(1){n=n<<1;t[u>>2]=n;r=a<<1;t[o>>2]=r;i=i+-1|0;t[l>>2]=i;if(!i){i=t[s>>2]|0;n=f[i>>0]|0;do{if(n<<24>>24!=-1){if(!(r&134217728)){r=i+1|0;t[s>>2]=r;f[r>>0]=a>>>18;r=t[o>>2]&524287;t[o>>2]=r;t[l>>2]=8;i=8;break}f[i>>0]=n+1<<24>>24;i=t[s>>2]|0;if((f[i>>0]|0)==-1){e=t[o>>2]&134217727;t[o>>2]=e;r=i+1|0;t[s>>2]=r;f[r>>0]=e>>>20;r=t[o>>2]&1048575;t[o>>2]=r;t[l>>2]=7;i=7;break}else{r=i+1|0;t[s>>2]=r;f[r>>0]=(t[o>>2]|0)>>>19;r=t[o>>2]&524287;t[o>>2]=r;t[l>>2]=8;i=8;break}}else{r=i+1|0;t[s>>2]=r;f[r>>0]=a>>>19;r=t[o>>2]&1048575;t[o>>2]=r;t[l>>2]=7;i=7}}while(0);n=t[u>>2]|0}if(!(n&32768))a=r;else break}return}function fs(e){e=e|0;var i=0,r=0,n=0,a=0,s=0;s=t[e>>2]|0;n=s|65535;a=e+8|0;n=(n>>>0<((t[e+4>>2]|0)+s|0)>>>0?n:n+-32768|0)<>2];t[e>>2]=n;s=e+12|0;i=t[s>>2]|0;r=f[i>>0]|0;do{if(r<<24>>24!=-1){if(!(n&134217728)){i=i+1|0;t[s>>2]=i;f[i>>0]=n>>>19;i=t[e>>2]&524287;t[e>>2]=i;t[a>>2]=8;r=8;break}f[i>>0]=r+1<<24>>24;i=t[s>>2]|0;if((f[i>>0]|0)==-1){r=t[e>>2]&134217727;t[e>>2]=r;i=i+1|0;t[s>>2]=i;f[i>>0]=r>>>20;i=t[e>>2]&1048575;t[e>>2]=i;t[a>>2]=7;r=7;break}else{i=i+1|0;t[s>>2]=i;f[i>>0]=(t[e>>2]|0)>>>19;i=t[e>>2]&524287;t[e>>2]=i;t[a>>2]=8;r=8;break}}else{i=i+1|0;t[s>>2]=i;f[i>>0]=n>>>20;i=t[e>>2]&1048575;t[e>>2]=i;t[a>>2]=7;r=7}}while(0);i=i<>2]=i;r=t[s>>2]|0;n=f[r>>0]|0;do{if(n<<24>>24!=-1){if(!(i&134217728)){n=r+1|0;t[s>>2]=n;f[n>>0]=i>>>19;t[e>>2]=t[e>>2]&524287;t[a>>2]=8;break}f[r>>0]=n+1<<24>>24;i=t[s>>2]|0;if((f[i>>0]|0)==-1){r=t[e>>2]&134217727;t[e>>2]=r;n=i+1|0;t[s>>2]=n;f[n>>0]=r>>>20;t[e>>2]=t[e>>2]&1048575;t[a>>2]=7;break}else{n=i+1|0;t[s>>2]=n;f[n>>0]=(t[e>>2]|0)>>>19;t[e>>2]=t[e>>2]&524287;t[a>>2]=8;break}}else{n=r+1|0;t[s>>2]=n;f[n>>0]=i>>>20;t[e>>2]=t[e>>2]&1048575;t[a>>2]=7}}while(0);i=t[s>>2]|0;if((f[i>>0]|0)==-1)return;t[s>>2]=i+1;return}function ns(e){e=e|0;t[e>>2]=0;t[e+8>>2]=8;return}function ts(e,i){e=e|0;i=i|0;var r=0,n=0,a=0;r=e+8|0;n=(t[r>>2]|0)+-1|0;t[r>>2]=n;i=(i<>2]|0)|0;t[e>>2]=i;if(n)return;n=e+12|0;a=(t[n>>2]|0)+1|0;t[n>>2]=a;f[a>>0]=i;t[r>>2]=8;t[r>>2]=(f[t[n>>2]>>0]|0)==-1?7:8;t[e>>2]=0;return}function as(e){e=e|0;t[e+28>>2]=1156;t[e+32>>2]=1156;t[e+36>>2]=1156;t[e+40>>2]=1156;t[e+44>>2]=1156;t[e+48>>2]=1156;t[e+52>>2]=1156;t[e+56>>2]=1156;t[e+60>>2]=1156;t[e+64>>2]=1156;t[e+68>>2]=1156;t[e+72>>2]=1156;t[e+76>>2]=1156;t[e+80>>2]=1156;t[e+84>>2]=1156;t[e+88>>2]=1156;t[e+96>>2]=2628;t[e+92>>2]=1252;t[e+24>>2]=1284;return}function ss(e){e=e|0;t[e+24>>2]=1156;t[e+28>>2]=1156;t[e+32>>2]=1156;t[e+36>>2]=1156;t[e+40>>2]=1156;t[e+44>>2]=1156;t[e+48>>2]=1156;t[e+52>>2]=1156;t[e+56>>2]=1156;t[e+60>>2]=1156;t[e+64>>2]=1156;t[e+68>>2]=1156;t[e+72>>2]=1156;t[e+76>>2]=1156;t[e+80>>2]=1156;t[e+84>>2]=1156;t[e+88>>2]=1156;t[e+92>>2]=1156;t[e+96>>2]=1156;return}function ls(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;t[e+24+(i<<2)>>2]=1156+((f<<1)+r<<4);return}function os(e){e=e|0;var i=0,r=0;t[e+100>>2]=e+24;t[e+4>>2]=32768;t[e>>2]=0;i=e+8|0;t[i>>2]=12;r=e+12|0;e=(t[r>>2]|0)+-1|0;t[r>>2]=e;if((f[e>>0]|0)!=-1)return;t[i>>2]=13;return}function us(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0;l=e+8|0;i=t[l>>2]|0;n=12-i|0;if((n|0)>0){a=e+12|0;r=t[e>>2]|0;do{i=r<>2]=i;t[l>>2]=0;r=t[a>>2]|0;s=f[r>>0]|0;do{if(s<<24>>24!=-1){if(!(i&134217728)){r=r+1|0;t[a>>2]=r;f[r>>0]=i>>>19;r=t[e>>2]&524287;t[e>>2]=r;t[l>>2]=8;i=8;break}f[r>>0]=s+1<<24>>24;i=t[a>>2]|0;if((f[i>>0]|0)==-1){s=t[e>>2]&134217727;t[e>>2]=s;r=i+1|0;t[a>>2]=r;f[r>>0]=s>>>20;r=t[e>>2]&1048575;t[e>>2]=r;t[l>>2]=7;i=7;break}else{r=i+1|0;t[a>>2]=r;f[r>>0]=(t[e>>2]|0)>>>19;r=t[e>>2]&524287;t[e>>2]=r;t[l>>2]=8;i=8;break}}else{r=r+1|0;t[a>>2]=r;f[r>>0]=i>>>20;r=t[e>>2]&1048575;t[e>>2]=r;t[l>>2]=7;i=7}}while(0);n=n-i|0}while((n|0)>0)}else a=e+12|0;i=t[a>>2]|0;r=f[i>>0]|0;if(r<<24>>24==-1)return;n=t[e>>2]|0;if(!(n&134217728)){s=i+1|0;t[a>>2]=s;f[s>>0]=n>>>19;t[e>>2]=t[e>>2]&524287;t[l>>2]=8;return}f[i>>0]=r+1<<24>>24;i=t[a>>2]|0;if((f[i>>0]|0)==-1){n=t[e>>2]&134217727;t[e>>2]=n;s=i+1|0;t[a>>2]=s;f[s>>0]=n>>>20;t[e>>2]=t[e>>2]&1048575;t[l>>2]=7;return}else{s=i+1|0;t[a>>2]=s;f[s>>0]=(t[e>>2]|0)>>>19;t[e>>2]=t[e>>2]&524287;t[l>>2]=8;return}}function cs(e){e=e|0;t[e+100>>2]=e+96;rs(e,1);rs(e,0);rs(e,1);rs(e,0);return}function hs(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0;t[e+100>>2]=e+24;t[e+16>>2]=i;t[e+20>>2]=i+r;s=e+12|0;t[s>>2]=i;do{if(r){l=a[i>>0]<<16;t[e>>2]=l;n=i+1|0;if((r|0)==1)r=255;else r=a[n>>0]|0;if((f[i>>0]|0)!=-1){t[s>>2]=n;n=l|r<<8;t[e>>2]=n;r=e+8|0;t[r>>2]=8;s=e;l=1;break}if(r>>>0>143){n=l|65280;t[e>>2]=n;r=e+8|0;t[r>>2]=8;s=e;l=1;break}else{t[s>>2]=n;n=l+(r<<9)|0;t[e>>2]=n;r=e+8|0;t[r>>2]=7;s=e;l=0;break}}else{t[e>>2]=16776960;r=e+8|0;t[r>>2]=8;n=16776960;s=e;l=1}}while(0);t[s>>2]=n<<7;t[r>>2]=l;t[e+4>>2]=32768;return 1}function ds(e){e=e|0;var i=0,r=0,n=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0;r=t[e+100>>2]|0;n=t[r>>2]|0;o=t[n>>2]|0;d=e+4|0;l=(t[d>>2]|0)-o|0;t[d>>2]=l;s=t[e>>2]|0;if(s>>>16>>>0>>0){t[d>>2]=o;i=t[n+4>>2]|0;if(l>>>0>>0)t[r>>2]=t[n+8>>2];else{t[r>>2]=t[n+12>>2];i=1-i|0}u=e+8|0;c=e+12|0;h=e+20|0;n=t[u>>2]|0;r=s;do{do{if(!n){s=t[c>>2]|0;n=t[h>>2]|0;if((s|0)==(n|0)){r=r+65280|0;t[e>>2]=r;t[u>>2]=8;n=8;break}l=s+1|0;if((l|0)==(n|0))n=255;else n=a[l>>0]|0;if((f[s>>0]|0)!=-1){t[c>>2]=l;r=r+(n<<8)|0;t[e>>2]=r;t[u>>2]=8;n=8;break}if(n>>>0>143){r=r+65280|0;t[e>>2]=r;t[u>>2]=8;n=8;break}else{t[c>>2]=l;r=r+(n<<9)|0;t[e>>2]=r;t[u>>2]=7;n=7;break}}}while(0);o=o<<1;t[d>>2]=o;r=r<<1;t[e>>2]=r;n=n+-1|0;t[u>>2]=n}while(o>>>0<32768);return i|0}s=s-(o<<16)|0;t[e>>2]=s;if(l&32768){e=t[n+4>>2]|0;return e|0}i=t[n+4>>2]|0;if(o>>>0>l>>>0){t[r>>2]=t[n+12>>2];i=1-i|0}else t[r>>2]=t[n+8>>2];u=e+8|0;c=e+12|0;h=e+20|0;n=t[u>>2]|0;r=s;o=l;do{do{if(!n){s=t[c>>2]|0;n=t[h>>2]|0;if((s|0)==(n|0)){r=r+65280|0;t[e>>2]=r;t[u>>2]=8;n=8;break}l=s+1|0;if((l|0)==(n|0))n=255;else n=a[l>>0]|0;if((f[s>>0]|0)!=-1){t[c>>2]=l;r=r+(n<<8)|0;t[e>>2]=r;t[u>>2]=8;n=8;break}if(n>>>0>143){r=r+65280|0;t[e>>2]=r;t[u>>2]=8;n=8;break}else{t[c>>2]=l;r=r+(n<<9)|0;t[e>>2]=r;t[u>>2]=7;n=7;break}}}while(0);o=o<<1;t[d>>2]=o;r=r<<1;t[e>>2]=r;n=n+-1|0;t[u>>2]=n}while(o>>>0<32768);return i|0}function bs(){return Nn(28)|0}function _s(e){e=e|0;if(!e)return;Yn(e);return}function ks(e,i,r){e=e|0;i=i|0;r=r|0;t[e+20>>2]=i;t[e+8>>2]=r;t[e+12>>2]=0;f[e>>0]=0;t[e+4>>2]=0;return}function ws(e){e=e|0;var i=0,r=0,n=0,a=0,s=0;a=e+4|0;i=t[a>>2]|0;do{if(!i){t[a>>2]=8;r=e+12|0;n=t[r>>2]|0;if((n|0)==(t[e+8>>2]|0)){f[e>>0]=-1;i=8;r=-1;break}if((f[e>>0]|0)==-1){t[a>>2]=7;i=7}else i=8;s=f[(t[e+20>>2]|0)+n>>0]|0;f[e>>0]=s;t[r>>2]=n+1;r=s}else r=f[e>>0]|0}while(0);s=i+-1|0;t[a>>2]=s;return(r&255)>>>s&1|0}function ms(){var e=0;if(!(t[665]|0))e=2712;else e=t[(Ie()|0)+60>>2]|0;return e|0}function vs(e){e=e|0;var i=0,r=0;i=0;while(1){if((a[22198+i>>0]|0)==(e|0)){r=2;break}i=i+1|0;if((i|0)==87){i=87;e=22286;r=5;break}}if((r|0)==2)if(!i)e=22286;else{e=22286;r=5}if((r|0)==5)while(1){r=e;while(1){e=r+1|0;if(!(f[r>>0]|0))break;else r=e}i=i+-1|0;if(!i)break;else r=5}return e|0}function ps(e){e=e|0;if(e>>>0>4294963200){t[(ms()|0)>>2]=0-e;e=-1}return e|0}function gs(e,i){e=+e;i=i|0;var r=0,f=0,n=0;u[d>>3]=e;r=t[d>>2]|0;f=t[d+4>>2]|0;n=zl(r|0,f|0,52)|0;n=n&2047;switch(n|0){case 0:{if(e!=0.0){e=+gs(e*18446744073709551616.0,i);r=(t[i>>2]|0)+-64|0}else r=0;t[i>>2]=r;break}case 2047:break;default:{t[i>>2]=n+-1022;t[d>>2]=r;t[d+4>>2]=f&-2146435073|1071644672;e=+u[d>>3]}}return+e}function ys(e,i){e=+e;i=i|0;return+ +gs(e,i)}function Ms(e,i){e=+e;i=i|0;return+ +Ss(e,i)}function As(e){e=+e;return~~+Es(e)|0}function Es(e){e=+e;var i=0;i=(o[d>>2]=e,t[d>>2]|0);if((i&2130706432)>>>0<=1249902592){i=(i|0)<0;e=i?e+-8388608.0+8388608.0:e+8388608.0+-8388608.0;if(e==0.0)e=i?-0.0:0.0}return+e}function Ss(e,i){e=+e;i=i|0;var r=0;if((i|0)>1023){e=e*8988465674311579538646525.0e283;r=i+-1023|0;if((r|0)>1023){r=i+-2046|0;r=(r|0)>1023?1023:r;e=e*8988465674311579538646525.0e283}}else if((i|0)<-1022){e=e*2.2250738585072014e-308;r=i+1022|0;if((r|0)<-1022){r=i+2044|0;r=(r|0)<-1022?-1022:r;e=e*2.2250738585072014e-308}}else r=i;r=Ll(r+1023|0,0,52)|0;i=I;t[d>>2]=r;t[d+4>>2]=i;return+(e*+u[d>>3])}function Ts(e,i,r){e=e|0;i=i|0;r=r|0;do{if(e){if(i>>>0<128){f[e>>0]=i;e=1;break}if(i>>>0<2048){f[e>>0]=i>>>6|192;f[e+1>>0]=i&63|128;e=2;break}if(i>>>0<55296|(i&-8192|0)==57344){f[e>>0]=i>>>12|224;f[e+1>>0]=i>>>6&63|128;f[e+2>>0]=i&63|128;e=3;break}if((i+-65536|0)>>>0<1048576){f[e>>0]=i>>>18|240;f[e+1>>0]=i>>>12&63|128;f[e+2>>0]=i>>>6&63|128;f[e+3>>0]=i&63|128;e=4;break}else{t[(ms()|0)>>2]=84;e=-1;break}}else e=1}while(0);return e|0}function Rs(e,i){e=e|0;i=i|0;if(!e)e=0;else e=Ts(e,i,0)|0;return e|0}function Cs(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0;b=c;c=c+112|0;d=b+40|0;u=b+24|0;o=b+16|0;a=b;h=b+52|0;n=f[i>>0]|0;if(ll(24090,n<<24>>24,4)|0){r=yl(1144)|0;if(!r)r=0;else{s=r;l=s+112|0;do{t[s>>2]=0;s=s+4|0}while((s|0)<(l|0));if(!(ul(i,43)|0))t[r>>2]=n<<24>>24==114?8:4;if(ul(i,101)|0){t[a>>2]=e;t[a+4>>2]=2;t[a+8>>2]=1;pe(221,a|0)|0;n=f[i>>0]|0}if(n<<24>>24==97){t[o>>2]=e;t[o+4>>2]=3;n=pe(221,o|0)|0;if(!(n&1024)){t[u>>2]=e;t[u+4>>2]=4;t[u+8>>2]=n|1024;pe(221,u|0)|0}i=t[r>>2]|128;t[r>>2]=i}else i=t[r>>2]|0;t[r+60>>2]=e;t[r+44>>2]=r+120;t[r+48>>2]=1024;n=r+75|0;f[n>>0]=-1;if((i&8|0)==0?(t[d>>2]=e,t[d+4>>2]=21505,t[d+8>>2]=h,(Le(54,d|0)|0)==0):0)f[n>>0]=10;t[r+32>>2]=60;t[r+36>>2]=61;t[r+40>>2]=3;t[r+12>>2]=1;if(!(t[666]|0))t[r+76>>2]=-1;De(2688);n=t[671]|0;t[r+56>>2]=n;if(n)t[n+52>>2]=r;t[671]=r;Be(2688)}}else{t[(ms()|0)>>2]=22;r=0}c=b;return r|0}function Ps(e){e=e|0;var i=0,r=0,n=0;r=(ul(e,43)|0)==0;i=f[e>>0]|0;r=r?i<<24>>24!=114&1:2;n=(ul(e,120)|0)==0;r=n?r:r|128;e=(ul(e,101)|0)==0;e=e?r:r|524288;e=i<<24>>24==114?e:e|64;e=i<<24>>24==119?e|512:e;return(i<<24>>24==97?e|1024:e)|0}function Is(e){e=e|0;return 0}function Os(e){e=e|0;return}function xs(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,h=0;h=c;c=c+16|0;u=h;o=i&255;f[u>>0]=o;n=e+16|0;s=t[n>>2]|0;if(!s)if(!(Hs(e)|0)){s=t[n>>2]|0;l=4}else r=-1;else l=4;do{if((l|0)==4){n=e+20|0;l=t[n>>2]|0;if(l>>>0>>0?(r=i&255,(r|0)!=(f[e+75>>0]|0)):0){t[n>>2]=l+1;f[l>>0]=o;break}if((po[t[e+36>>2]&63](e,u,1)|0)==1)r=a[u>>0]|0;else r=-1}}while(0);c=h;return r|0}function Ls(e){e=e|0;var i=0,r=0;i=c;c=c+16|0;r=i;t[r>>2]=t[e+60>>2];e=ps(Ne(6,r|0)|0)|0;c=i;return e|0}function Bs(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0;h=c;c=c+48|0;s=h+16|0;a=h;n=h+32|0;t[n>>2]=i;l=n+4|0;u=e+48|0;d=t[u>>2]|0;t[l>>2]=r-((d|0)!=0&1);o=e+44|0;t[n+8>>2]=t[o>>2];t[n+12>>2]=d;if(!(t[665]|0)){t[s>>2]=t[e+60>>2];t[s+4>>2]=n;t[s+8>>2]=2;n=ps(je(145,s|0)|0)|0}else{Me(5,e|0);t[a>>2]=t[e+60>>2];t[a+4>>2]=n;t[a+8>>2]=2;n=ps(je(145,a|0)|0)|0;ve(0)}if((n|0)>=1){l=t[l>>2]|0;if(n>>>0>l>>>0){s=t[o>>2]|0;a=e+4|0;t[a>>2]=s;t[e+8>>2]=s+(n-l);if(!(t[u>>2]|0))n=r;else{t[a>>2]=s+1;f[i+(r+-1)>>0]=f[s>>0]|0;n=r}}}else{t[e>>2]=t[e>>2]|n&48^16;t[e+8>>2]=0;t[e+4>>2]=0}c=h;return n|0}function zs(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0;n=c;c=c+32|0;a=n;f=n+20|0;t[a>>2]=t[e+60>>2];t[a+4>>2]=0;t[a+8>>2]=i;t[a+12>>2]=f;t[a+16>>2]=r;if((ps(Ue(140,a|0)|0)|0)<0){t[f>>2]=-1;e=-1}else e=t[f>>2]|0;c=n;return e|0}function Ds(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0;k=c;c=c+48|0;d=k+16|0;h=k;f=k+32|0;b=e+28|0;n=t[b>>2]|0;t[f>>2]=n;_=e+20|0;n=(t[_>>2]|0)-n|0;t[f+4>>2]=n;t[f+8>>2]=i;t[f+12>>2]=r;o=e+60|0;u=e+44|0;i=2;n=n+r|0;while(1){if(!(t[665]|0)){t[d>>2]=t[o>>2];t[d+4>>2]=f;t[d+8>>2]=i;s=ps(Ye(146,d|0)|0)|0}else{Me(6,e|0);t[h>>2]=t[o>>2];t[h+4>>2]=f;t[h+8>>2]=i;s=ps(Ye(146,h|0)|0)|0;ve(0)}if((n|0)==(s|0)){n=6;break}if((s|0)<0){n=8;break}n=n-s|0;a=t[f+4>>2]|0;if(s>>>0<=a>>>0)if((i|0)==2){t[b>>2]=(t[b>>2]|0)+s;l=a;i=2}else l=a;else{l=t[u>>2]|0;t[b>>2]=l;t[_>>2]=l;l=t[f+12>>2]|0;s=s-a|0;f=f+8|0;i=i+-1|0}t[f>>2]=(t[f>>2]|0)+s;t[f+4>>2]=l-s}if((n|0)==6){d=t[u>>2]|0;t[e+16>>2]=d+(t[e+48>>2]|0);e=d;t[b>>2]=e;t[_>>2]=e}else if((n|0)==8){t[e+16>>2]=0;t[b>>2]=0;t[_>>2]=0;t[e>>2]=t[e>>2]|32;if((i|0)==2)r=0;else r=r-(t[f+4>>2]|0)|0}c=k;return r|0}function Ns(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;a=c;c=c+80|0;n=a;t[e+36>>2]=61;if((t[e>>2]&64|0)==0?(t[n>>2]=t[e+60>>2],t[n+4>>2]=21505,t[n+8>>2]=a+12,(Le(54,n|0)|0)!=0):0)f[e+75>>0]=-1;n=Ds(e,i,r)|0;c=a;return n|0}function Fs(e){e=e|0;var i=0,r=0;i=e+74|0;r=f[i>>0]|0;f[i>>0]=r+255|r;i=e+20|0;r=e+44|0;if((t[i>>2]|0)>>>0>(t[r>>2]|0)>>>0)po[t[e+36>>2]&63](e,0,0)|0;t[e+16>>2]=0;t[e+28>>2]=0;t[i>>2]=0;i=t[e>>2]|0;if(i&20)if(!(i&4))i=-1;else{t[e>>2]=i|32;i=-1}else{i=t[r>>2]|0;t[e+8>>2]=i;t[e+4>>2]=i;i=0}return i|0}function Hs(e){e=e|0;var i=0,r=0;i=e+74|0;r=f[i>>0]|0;f[i>>0]=r+255|r;i=t[e>>2]|0;if(!(i&8)){t[e+8>>2]=0;t[e+4>>2]=0;i=t[e+44>>2]|0;t[e+28>>2]=i;t[e+20>>2]=i;t[e+16>>2]=i+(t[e+48>>2]|0);i=0}else{t[e>>2]=i|32;i=-1}return i|0}function Us(e){e=e|0;var i=0,r=0,f=0;f=(t[e>>2]&1|0)!=0;if(!f){De(2688);r=t[e+52>>2]|0;i=e+56|0;if(r)t[r+56>>2]=t[i>>2];i=t[i>>2]|0;if(i)t[i+52>>2]=r;if((t[671]|0)==(e|0))t[671]=i;Be(2688)}i=js(e)|0;i=Eo[t[e+12>>2]&15](e)|0|i;r=t[e+92>>2]|0;if(r)Ml(r);if(!f)Ml(e);return i|0}function js(e){e=e|0;var i=0,r=0;do{if(e){if((t[e+76>>2]|0)<=-1){i=kl(e)|0;break}r=(Is(e)|0)==0;i=kl(e)|0;if(!r)Os(e)}else{if(!(t[677]|0))i=0;else i=js(t[677]|0)|0;De(2688);e=t[671]|0;if(e)do{if((t[e+76>>2]|0)>-1)r=Is(e)|0;else r=0;if((t[e+20>>2]|0)>>>0>(t[e+28>>2]|0)>>>0)i=kl(e)|0|i;if(r)Os(e);e=t[e+56>>2]|0}while((e|0)!=0);Be(2688)}}while(0);return i|0}function Ys(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0;a=c;c=c+32|0;n=a+16|0;r=a;if(ll(24090,f[i>>0]|0,4)|0){s=Ps(i)|0|32768;t[r>>2]=e;t[r+4>>2]=s;t[r+8>>2]=438;r=ps(Fe(5,r|0)|0)|0;if((r|0)>=0){e=Cs(r,i)|0;if(!e){t[n>>2]=r;Ne(6,n|0)|0;e=0}}else e=0}else{t[(ms()|0)>>2]=22;e=0}c=a;return e|0}function qs(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0;f=c;c=c+16|0;n=f;t[n>>2]=r;r=tl(e,i,n)|0;c=f;return r|0}function $s(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0;if((t[i+76>>2]|0)>=0?(Is(i)|0)!=0:0){if((f[i+75>>0]|0)!=(e|0)?(n=i+20|0,a=t[n>>2]|0,a>>>0<(t[i+16>>2]|0)>>>0):0){t[n>>2]=a+1;f[a>>0]=e;r=e&255}else r=xs(i,e)|0;Os(i)}else l=3;do{if((l|0)==3){if((f[i+75>>0]|0)!=(e|0)?(s=i+20|0,r=t[s>>2]|0,r>>>0<(t[i+16>>2]|0)>>>0):0){t[s>>2]=r+1;f[r>>0]=e;r=e&255;break}r=xs(i,e)|0}}while(0);return r|0}function Vs(e,i){e=e|0;i=i|0;return(il(e,dl(e)|0,1,i)|0)+-1|0}function Xs(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0;o=ie(r,i)|0;if((t[n+76>>2]|0)>-1)u=Is(n)|0;else u=0;a=n+74|0;s=f[a>>0]|0;f[a>>0]=s+255|s;a=n+4|0;s=t[a>>2]|0;l=(t[n+8>>2]|0)-s|0;if((l|0)>0){l=l>>>0>>0?l:o;Dl(e|0,s|0,l|0)|0;t[a>>2]=s+l;e=e+l|0;a=o-l|0}else a=o;e:do{if(!a)c=13;else{l=n+32|0;s=a;while(1){if(Fs(n)|0){r=s;break}a=po[t[l>>2]&63](n,e,s)|0;if((a+1|0)>>>0<2){r=s;break}if((s|0)==(a|0)){c=13;break e}else{e=e+a|0;s=s-a|0}}if(u)Os(n);r=((o-r|0)>>>0)/(i>>>0)|0}}while(0);if((c|0)==13)if(u)Os(n);return r|0}function Gs(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0;if((r|0)==1)i=i-(t[e+8>>2]|0)+(t[e+4>>2]|0)|0;n=e+20|0;f=e+28|0;if((t[n>>2]|0)>>>0>(t[f>>2]|0)>>>0?(po[t[e+36>>2]&63](e,0,0)|0,(t[n>>2]|0)==0):0)i=-1;else{t[e+16>>2]=0;t[f>>2]=0;t[n>>2]=0;if((po[t[e+40>>2]&63](e,i,r)|0)<0)i=-1;else{t[e+8>>2]=0;t[e+4>>2]=0;t[e>>2]=t[e>>2]&-17;i=0}}return i|0}function Ks(e,i,r){e=e|0;i=i|0;r=r|0;var f=0;if((t[e+76>>2]|0)>-1){f=(Is(e)|0)==0;i=Gs(e,i,r)|0;if(!f)Os(e)}else i=Gs(e,i,r)|0;return i|0}function Ws(e,i,r){e=e|0;i=i|0;r=r|0;return Ks(e,i,r)|0}function Zs(e){e=e|0;var i=0;if(!(t[e>>2]&128))i=1;else i=(t[e+20>>2]|0)>>>0>(t[e+28>>2]|0)>>>0?2:1;i=po[t[e+40>>2]&63](e,0,i)|0;if((i|0)>=0)i=i-(t[e+8>>2]|0)+(t[e+4>>2]|0)+(t[e+20>>2]|0)-(t[e+28>>2]|0)|0;return i|0}function Js(e){e=e|0;var i=0;if((t[e+76>>2]|0)>-1){i=(Is(e)|0)==0;e=Zs(e)|0}else e=Zs(e)|0;return e|0}function Qs(e){e=e|0;return Js(e)|0}function el(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;n=r+16|0;a=t[n>>2]|0;if(!a)if(!(Hs(r)|0)){a=t[n>>2]|0;s=4}else n=0;else s=4;e:do{if((s|0)==4){l=r+20|0;s=t[l>>2]|0;if((a-s|0)>>>0>>0){n=po[t[r+36>>2]&63](r,e,i)|0;break}i:do{if((f[r+75>>0]|0)>-1){n=i;while(1){if(!n){a=s;n=0;break i}a=n+-1|0;if((f[e+a>>0]|0)==10)break;else n=a}if((po[t[r+36>>2]&63](r,e,n)|0)>>>0>>0)break e;i=i-n|0;e=e+n|0;a=t[l>>2]|0}else{a=s;n=0}}while(0);Dl(a|0,e|0,i|0)|0;t[l>>2]=(t[l>>2]|0)+i;n=n+i|0}}while(0);return n|0}function il(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0;n=ie(r,i)|0;if((t[f+76>>2]|0)>-1){a=(Is(f)|0)==0;e=el(e,n,f)|0;if(!a)Os(f)}else e=el(e,n,f)|0;if((e|0)!=(n|0))r=(e>>>0)/(i>>>0)|0;return r|0}function rl(e,i){e=e|0;i=i|0;var r=0,f=0;r=c;c=c+16|0;f=r;t[f>>2]=i;i=tl(t[676]|0,e,f)|0;c=r;return i|0}function fl(e){e=e|0;var i=0,r=0,n=0,a=0;n=t[676]|0;if((t[n+76>>2]|0)>-1)a=Is(n)|0;else a=0;do{if((Vs(e,n)|0)<0)i=1;else{if((f[n+75>>0]|0)!=10?(i=n+20|0,r=t[i>>2]|0,r>>>0<(t[n+16>>2]|0)>>>0):0){t[i>>2]=r+1;f[r>>0]=10;i=0;break}i=(xs(n,10)|0)<0}}while(0);if(a)Os(n);return i<<31>>31|0}function nl(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0;f=c;c=c+16|0;n=f;t[n>>2]=r;r=sl(e,i,n)|0;c=f;return r|0}function tl(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0;m=c;c=c+224|0;b=m+80|0;w=m+96|0;k=m;_=m+136|0;n=w;a=n+40|0;do{t[n>>2]=0;n=n+4|0}while((n|0)<(a|0));t[b>>2]=t[r>>2];if((wl(0,i,b,k,w)|0)<0)r=-1;else{if((t[e+76>>2]|0)>-1)h=Is(e)|0;else h=0;r=t[e>>2]|0;d=r&32;if((f[e+74>>0]|0)<1)t[e>>2]=r&-33;r=e+48|0;if(!(t[r>>2]|0)){a=e+44|0;s=t[a>>2]|0;t[a>>2]=_;l=e+28|0;t[l>>2]=_;o=e+20|0;t[o>>2]=_;t[r>>2]=80;u=e+16|0;t[u>>2]=_+80;n=wl(e,i,b,k,w)|0;if(s){po[t[e+36>>2]&63](e,0,0)|0;n=(t[o>>2]|0)==0?-1:n;t[a>>2]=s;t[r>>2]=0;t[u>>2]=0;t[l>>2]=0;t[o>>2]=0}}else n=wl(e,i,b,k,w)|0;r=t[e>>2]|0;t[e>>2]=r|d;if(h)Os(e);r=(r&32|0)==0?n:-1}c=m;return r|0}function al(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,h=0,d=0;d=c;c=c+128|0;a=d+112|0;h=d;s=h;l=2716;o=s+112|0;do{t[s>>2]=t[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0));if((i+-1|0)>>>0>2147483646)if(!i){i=1;u=4}else{t[(ms()|0)>>2]=75;i=-1}else{a=e;u=4}if((u|0)==4){u=-2-a|0;u=i>>>0>u>>>0?u:i;t[h+48>>2]=u;e=h+20|0;t[e>>2]=a;t[h+44>>2]=a;i=a+u|0;a=h+16|0;t[a>>2]=i;t[h+28>>2]=i;i=tl(h,r,n)|0;if(u){r=t[e>>2]|0;f[r+(((r|0)==(t[a>>2]|0))<<31>>31)>>0]=0}}c=d;return i|0}function sl(e,i,r){e=e|0;i=i|0;r=r|0;return al(e,2147483647,i,r)|0}function ll(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;s=i&255;n=(r|0)!=0;e:do{if(n&(e&3|0)!=0){a=i&255;while(1){if((f[e>>0]|0)==a<<24>>24){l=6;break e}e=e+1|0;r=r+-1|0;n=(r|0)!=0;if(!(n&(e&3|0)!=0)){l=5;break}}}else l=5}while(0);if((l|0)==5)if(n)l=6;else r=0;e:do{if((l|0)==6){a=i&255;if((f[e>>0]|0)!=a<<24>>24){n=ie(s,16843009)|0;i:do{if(r>>>0>3)while(1){s=t[e>>2]^n;if((s&-2139062144^-2139062144)&s+-16843009)break;e=e+4|0;r=r+-4|0;if(r>>>0<=3){l=11;break i}}else l=11}while(0);if((l|0)==11)if(!r){r=0;break}while(1){if((f[e>>0]|0)==a<<24>>24)break e;e=e+1|0;r=r+-1|0;if(!r){r=0;break}}}}}while(0);return((r|0)!=0?e:0)|0}function ol(e,i){e=e|0;i=i|0;var r=0,n=0;r=i;e:do{if(!((r^e)&3)){if(r&3)do{r=f[i>>0]|0;f[e>>0]=r;if(!(r<<24>>24))break e;i=i+1|0;e=e+1|0}while((i&3|0)!=0);r=t[i>>2]|0;if(!((r&-2139062144^-2139062144)&r+-16843009)){n=e;while(1){i=i+4|0;e=n+4|0;t[n>>2]=r;r=t[i>>2]|0;if((r&-2139062144^-2139062144)&r+-16843009)break;else n=e}}n=8}else n=8}while(0);if((n|0)==8){n=f[i>>0]|0;f[e>>0]=n;if(n<<24>>24)do{i=i+1|0;e=e+1|0;n=f[i>>0]|0;f[e>>0]=n}while(n<<24>>24!=0)}return e|0}function ul(e,i){e=e|0;i=i|0;e=cl(e,i)|0;return((f[e>>0]|0)==(i&255)<<24>>24?e:0)|0}function cl(e,i){e=e|0;i=i|0;var r=0,n=0,a=0;n=i&255;e:do{if(!n)e=e+(dl(e)|0)|0;else{if(e&3){r=i&255;do{a=f[e>>0]|0;if(a<<24>>24==0?1:a<<24>>24==r<<24>>24)break e;e=e+1|0}while((e&3|0)!=0)}n=ie(n,16843009)|0;r=t[e>>2]|0;i:do{if(!((r&-2139062144^-2139062144)&r+-16843009))do{a=r^n;if((a&-2139062144^-2139062144)&a+-16843009)break i;e=e+4|0;r=t[e>>2]|0}while(((r&-2139062144^-2139062144)&r+-16843009|0)==0)}while(0);r=i&255;while(1){a=f[e>>0]|0;if(a<<24>>24==0?1:a<<24>>24==r<<24>>24)break;else e=e+1|0}}}while(0);return e|0}function hl(e,i){e=e|0;i=i|0;ol(e,i)|0;return e|0}function dl(e){e=e|0;var i=0,r=0,n=0;n=e;e:do{if(!(n&3))r=4;else{i=e;e=n;while(1){if(!(f[i>>0]|0))break e;i=i+1|0;e=i;if(!(e&3)){e=i;r=4;break}}}}while(0);if((r|0)==4){while(1){i=t[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009))e=e+4|0;else break}if((i&255)<<24>>24)do{e=e+1|0}while((f[e>>0]|0)!=0)}return e-n|0}function bl(e){e=e|0;if(!(t[e+68>>2]|0))Os(e);return}function _l(e){e=e|0;if(!(t[e+68>>2]|0))Os(e);return}function kl(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0;i=e+20|0;a=e+28|0;if((t[i>>2]|0)>>>0>(t[a>>2]|0)>>>0?(po[t[e+36>>2]&63](e,0,0)|0,(t[i>>2]|0)==0):0)i=-1;else{s=e+4|0;r=t[s>>2]|0;f=e+8|0;n=t[f>>2]|0;if(r>>>0>>0)po[t[e+40>>2]&63](e,r-n|0,1)|0;t[e+16>>2]=0;t[a>>2]=0;t[i>>2]=0;t[f>>2]=0;t[s>>2]=0;i=0}return i|0}function wl(e,i,r,s,l){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;var o=0,h=0,b=0,_=0,k=0.0,w=0,m=0,v=0,p=0,g=0.0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0,F=0,H=0,U=0,j=0,Y=0,q=0,$=0,V=0,X=0,G=0,K=0,W=0,Z=0,J=0,Q=0,ee=0,re=0,fe=0,ne=0,te=0,ae=0,se=0;se=c;c=c+624|0;re=se+24|0;ne=se+16|0;fe=se+588|0;W=se+576|0;ee=se;X=se+536|0;ae=se+8|0;te=se+528|0;N=(e|0)!=0;F=X+40|0;V=F;X=X+39|0;G=ae+4|0;K=W+12|0;W=W+11|0;Z=fe;J=K;Q=J-Z|0;H=-2-Z|0;U=J+2|0;j=re+288|0;Y=fe+9|0;q=Y;$=fe+8|0;o=0;y=i;h=0;i=0;e:while(1){do{if((o|0)>-1)if((h|0)>(2147483647-o|0)){t[(ms()|0)>>2]=75;o=-1;break}else{o=h+o|0;break}}while(0);h=f[y>>0]|0;if(!(h<<24>>24)){D=245;break}else b=y;i:while(1){switch(h<<24>>24){case 37:{h=b;D=9;break i}case 0:{h=b;break i}default:{}}z=b+1|0;h=f[z>>0]|0;b=z}i:do{if((D|0)==9)while(1){D=0;if((f[h+1>>0]|0)!=37)break i;b=b+1|0;h=h+2|0;if((f[h>>0]|0)==37)D=9;else break}}while(0);A=b-y|0;if(N?(t[e>>2]&32|0)==0:0)el(y,A,e)|0;if((b|0)!=(y|0)){y=h;h=A;continue}w=h+1|0;b=f[w>>0]|0;_=(b<<24>>24)+-48|0;if(_>>>0<10){z=(f[h+2>>0]|0)==36;w=z?h+3|0:w;b=f[w>>0]|0;p=z?_:-1;i=z?1:i}else p=-1;h=b<<24>>24;i:do{if((h&-32|0)==32){_=0;while(1){if(!(1<>24)+-32|_;w=w+1|0;b=f[w>>0]|0;h=b<<24>>24;if((h&-32|0)!=32){m=_;h=w;break}}}else{m=0;h=w}}while(0);do{if(b<<24>>24==42){_=h+1|0;b=(f[_>>0]|0)+-48|0;if(b>>>0<10?(f[h+2>>0]|0)==36:0){t[l+(b<<2)>>2]=10;i=1;h=h+3|0;b=t[s+((f[_>>0]|0)+-48<<3)>>2]|0}else{if(i){o=-1;break e}if(!N){M=m;h=_;i=0;z=0;break}i=(t[r>>2]|0)+(4-1)&~(4-1);b=t[i>>2]|0;t[r>>2]=i+4;i=0;h=_}if((b|0)<0){M=m|8192;z=0-b|0}else{M=m;z=b}}else{_=(b<<24>>24)+-48|0;if(_>>>0<10){b=0;do{b=(b*10|0)+_|0;h=h+1|0;_=(f[h>>0]|0)+-48|0}while(_>>>0<10);if((b|0)<0){o=-1;break e}else{M=m;z=b}}else{M=m;z=0}}}while(0);i:do{if((f[h>>0]|0)==46){_=h+1|0;b=f[_>>0]|0;if(b<<24>>24!=42){w=(b<<24>>24)+-48|0;if(w>>>0<10){h=_;b=0}else{h=_;w=0;break}while(1){b=(b*10|0)+w|0;h=h+1|0;w=(f[h>>0]|0)+-48|0;if(w>>>0>=10){w=b;break i}}}_=h+2|0;b=(f[_>>0]|0)+-48|0;if(b>>>0<10?(f[h+3>>0]|0)==36:0){t[l+(b<<2)>>2]=10;h=h+4|0;w=t[s+((f[_>>0]|0)+-48<<3)>>2]|0;break}if(i){o=-1;break e}if(N){h=(t[r>>2]|0)+(4-1)&~(4-1);w=t[h>>2]|0;t[r>>2]=h+4;h=_}else{h=_;w=0}}else w=-1}while(0);v=0;while(1){b=(f[h>>0]|0)+-65|0;if(b>>>0>57){o=-1;break e}_=h+1|0;b=f[25126+(v*58|0)+b>>0]|0;m=b&255;if((m+-1|0)>>>0<8){h=_;v=m}else{B=_;break}}if(!(b<<24>>24)){o=-1;break}_=(p|0)>-1;do{if(b<<24>>24==19)if(_){o=-1;break e}else D=52;else{if(_){t[l+(p<<2)>>2]=m;x=s+(p<<3)|0;L=t[x+4>>2]|0;D=ee;t[D>>2]=t[x>>2];t[D+4>>2]=L;D=52;break}if(!N){o=0;break e}vl(ee,m,r)}}while(0);if((D|0)==52?(D=0,!N):0){y=B;h=A;continue}p=f[h>>0]|0;p=(v|0)!=0&(p&15|0)==3?p&-33:p;_=M&-65537;L=(M&8192|0)==0?M:_;i:do{switch(p|0){case 110:switch(v|0){case 0:{t[t[ee>>2]>>2]=o;y=B;h=A;continue e}case 1:{t[t[ee>>2]>>2]=o;y=B;h=A;continue e}case 2:{y=t[ee>>2]|0;t[y>>2]=o;t[y+4>>2]=((o|0)<0)<<31>>31;y=B;h=A;continue e}case 3:{n[t[ee>>2]>>1]=o;y=B;h=A;continue e}case 4:{f[t[ee>>2]>>0]=o;y=B;h=A;continue e}case 6:{t[t[ee>>2]>>2]=o;y=B;h=A;continue e}case 7:{y=t[ee>>2]|0;t[y>>2]=o;t[y+4>>2]=((o|0)<0)<<31>>31;y=B;h=A;continue e}default:{y=B;h=A;continue e}}case 112:{v=L|8;w=w>>>0>8?w:8;p=120;D=64;break}case 88:case 120:{v=L;D=64;break}case 111:{_=ee;b=t[_>>2]|0;_=t[_+4>>2]|0;if((b|0)==0&(_|0)==0)h=F;else{h=F;do{h=h+-1|0;f[h>>0]=b&7|48;b=zl(b|0,_|0,3)|0;_=I}while(!((b|0)==0&(_|0)==0))}if(!(L&8)){b=L;v=0;m=25606;D=77}else{v=V-h+1|0;b=L;w=(w|0)<(v|0)?v:w;v=0;m=25606;D=77}break}case 105:case 100:{b=ee;h=t[b>>2]|0;b=t[b+4>>2]|0;if((b|0)<0){h=Il(0,0,h|0,b|0)|0;b=I;_=ee;t[_>>2]=h;t[_+4>>2]=b;_=1;m=25606;D=76;break i}if(!(L&2048)){m=L&1;_=m;m=(m|0)==0?25606:25608;D=76}else{_=1;m=25607;D=76}break}case 117:{b=ee;h=t[b>>2]|0;b=t[b+4>>2]|0;_=0;m=25606;D=76;break}case 99:{f[X>>0]=t[ee>>2];y=X;b=1;v=0;p=25606;h=F;break}case 109:{h=vs(t[(ms()|0)>>2]|0)|0;D=82;break}case 115:{h=t[ee>>2]|0;h=(h|0)!=0?h:25616;D=82;break}case 67:{t[ae>>2]=t[ee>>2];t[G>>2]=0;t[ee>>2]=ae;w=-1;D=86;break}case 83:{if(!w){gl(e,32,z,0,L);h=0;D=98}else D=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{k=+u[ee>>3];t[ne>>2]=0;u[d>>3]=k;if((t[d+4>>2]|0)>=0)if(!(L&2048)){x=L&1;O=x;x=(x|0)==0?25624:25629}else{O=1;x=25626}else{k=-k;O=1;x=25623}u[d>>3]=k;P=t[d+4>>2]&2146435072;do{if(P>>>0<2146435072|(P|0)==2146435072&0<0){g=+ys(k,ne)*2.0;b=g!=0.0;if(b)t[ne>>2]=(t[ne>>2]|0)+-1;R=p|32;if((R|0)==97){y=p&32;A=(y|0)==0?x:x+9|0;M=O|2;h=12-w|0;do{if(!(w>>>0>11|(h|0)==0)){k=8.0;do{h=h+-1|0;k=k*16.0}while((h|0)!=0);if((f[A>>0]|0)==45){k=-(k+(-g-k));break}else{k=g+k-k;break}}else k=g}while(0);b=t[ne>>2]|0;h=(b|0)<0?0-b|0:b;h=pl(h,((h|0)<0)<<31>>31,K)|0;if((h|0)==(K|0)){f[W>>0]=48;h=W}f[h+-1>>0]=(b>>31&2)+43;v=h+-2|0;f[v>>0]=p+15;m=(w|0)<1;_=(L&8|0)==0;b=fe;while(1){x=~~k;h=b+1|0;f[b>>0]=a[25590+x>>0]|y;k=(k-+(x|0))*16.0;do{if((h-Z|0)==1){if(_&(m&k==0.0))break;f[h>>0]=46;h=b+2|0}}while(0);if(!(k!=0.0))break;else b=h}w=(w|0)!=0&(H+h|0)<(w|0)?U+w-v|0:Q-v+h|0;_=w+M|0;gl(e,32,z,_,L);if(!(t[e>>2]&32))el(A,M,e)|0;gl(e,48,z,_,L^65536);h=h-Z|0;if(!(t[e>>2]&32))el(fe,h,e)|0;b=J-v|0;gl(e,48,w-(h+b)|0,0,0);if(!(t[e>>2]&32))el(v,b,e)|0;gl(e,32,z,_,L^8192);h=(_|0)<(z|0)?z:_;break}h=(w|0)<0?6:w;if(b){b=(t[ne>>2]|0)+-28|0;t[ne>>2]=b;k=g*268435456.0}else{k=g;b=t[ne>>2]|0}P=(b|0)<0?re:j;C=P;b=P;do{T=~~k>>>0;t[b>>2]=T;b=b+4|0;k=(k-+(T>>>0))*1.0e9}while(k!=0.0);_=b;b=t[ne>>2]|0;if((b|0)>0){m=P;while(1){v=(b|0)>29?29:b;w=_+-4|0;do{if(w>>>0>>0)w=m;else{b=0;do{T=Ll(t[w>>2]|0,0,v|0)|0;T=Bl(T|0,I|0,b|0,0)|0;b=I;S=ql(T|0,b|0,1e9,0)|0;t[w>>2]=S;b=Yl(T|0,b|0,1e9,0)|0;w=w+-4|0}while(w>>>0>=m>>>0);if(!b){w=m;break}w=m+-4|0;t[w>>2]=b}}while(0);while(1){if(_>>>0<=w>>>0)break;b=_+-4|0;if(!(t[b>>2]|0))_=b;else break}b=(t[ne>>2]|0)-v|0;t[ne>>2]=b;if((b|0)>0)m=w;else break}}else w=P;if((b|0)<0){A=((h+25|0)/9|0)+1|0;E=(R|0)==102;y=w;while(1){M=0-b|0;M=(M|0)>9?9:M;do{if(y>>>0<_>>>0){b=(1<>>M;w=0;v=y;do{T=t[v>>2]|0;t[v>>2]=(T>>>M)+w;w=ie(T&b,m)|0;v=v+4|0}while(v>>>0<_>>>0);b=(t[y>>2]|0)==0?y+4|0:y;if(!w){w=b;break}t[_>>2]=w;w=b;_=_+4|0}else w=(t[y>>2]|0)==0?y+4|0:y}while(0);b=E?P:w;_=(_-b>>2|0)>(A|0)?b+(A<<2)|0:_;b=(t[ne>>2]|0)+M|0;t[ne>>2]=b;if((b|0)>=0){y=w;break}else y=w}}else y=w;do{if(y>>>0<_>>>0){b=(C-y>>2)*9|0;m=t[y>>2]|0;if(m>>>0<10)break;else w=10;do{w=w*10|0;b=b+1|0}while(m>>>0>=w>>>0)}else b=0}while(0);S=(R|0)==103;T=(h|0)!=0;w=h-((R|0)!=102?b:0)+((T&S)<<31>>31)|0;if((w|0)<(((_-C>>2)*9|0)+-9|0)){v=w+9216|0;E=(v|0)/9|0;w=P+(E+-1023<<2)|0;v=((v|0)%9|0)+1|0;if((v|0)<9){m=10;do{m=m*10|0;v=v+1|0}while((v|0)!=9)}else m=10;M=t[w>>2]|0;A=(M>>>0)%(m>>>0)|0;if((A|0)==0?(P+(E+-1022<<2)|0)==(_|0):0)m=y;else D=163;do{if((D|0)==163){D=0;g=(((M>>>0)/(m>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(m|0)/2|0;do{if(A>>>0>>0)k=.5;else{if((A|0)==(v|0)?(P+(E+-1022<<2)|0)==(_|0):0){k=1.0;break}k=1.5}}while(0);do{if(O){if((f[x>>0]|0)!=45)break;g=-g;k=-k}}while(0);v=M-A|0;t[w>>2]=v;if(!(g+k!=g)){m=y;break}R=v+m|0;t[w>>2]=R;if(R>>>0>999999999){b=y;while(1){m=w+-4|0;t[w>>2]=0;if(m>>>0>>0){b=b+-4|0;t[b>>2]=0}R=(t[m>>2]|0)+1|0;t[m>>2]=R;if(R>>>0>999999999)w=m;else{y=b;w=m;break}}}b=(C-y>>2)*9|0;v=t[y>>2]|0;if(v>>>0<10){m=y;break}else m=10;do{m=m*10|0;b=b+1|0}while(v>>>0>=m>>>0);m=y}}while(0);R=w+4|0;y=m;_=_>>>0>R>>>0?R:_}A=0-b|0;while(1){if(_>>>0<=y>>>0){E=0;R=_;break}w=_+-4|0;if(!(t[w>>2]|0))_=w;else{E=1;R=_;break}}do{if(S){h=(T&1^1)+h|0;if((h|0)>(b|0)&(b|0)>-5){p=p+-1|0;h=h+-1-b|0}else{p=p+-2|0;h=h+-1|0}_=L&8;if(_)break;do{if(E){_=t[R+-4>>2]|0;if(!_){w=9;break}if(!((_>>>0)%10|0)){m=10;w=0}else{w=0;break}do{m=m*10|0;w=w+1|0}while(((_>>>0)%(m>>>0)|0|0)==0)}else w=9}while(0);_=((R-C>>2)*9|0)+-9|0;if((p|32|0)==102){_=_-w|0;_=(_|0)<0?0:_;h=(h|0)<(_|0)?h:_;_=0;break}else{_=_+b-w|0;_=(_|0)<0?0:_;h=(h|0)<(_|0)?h:_;_=0;break}}else _=L&8}while(0);M=h|_;m=(M|0)!=0&1;v=(p|32|0)==102;if(v){b=(b|0)>0?b:0;p=0}else{w=(b|0)<0?A:b;w=pl(w,((w|0)<0)<<31>>31,K)|0;if((J-w|0)<2)do{w=w+-1|0;f[w>>0]=48}while((J-w|0)<2);f[w+-1>>0]=(b>>31&2)+43;C=w+-2|0;f[C>>0]=p;b=J-C|0;p=C}A=O+1+h+m+b|0;gl(e,32,z,A,L);if(!(t[e>>2]&32))el(x,O,e)|0;gl(e,48,z,A,L^65536);do{if(v){w=y>>>0>P>>>0?P:y;b=w;do{_=pl(t[b>>2]|0,0,Y)|0;do{if((b|0)==(w|0)){if((_|0)!=(Y|0))break;f[$>>0]=48;_=$}else{if(_>>>0<=fe>>>0)break;do{_=_+-1|0;f[_>>0]=48}while(_>>>0>fe>>>0)}}while(0);if(!(t[e>>2]&32))el(_,q-_|0,e)|0;b=b+4|0}while(b>>>0<=P>>>0);do{if(M){if(t[e>>2]&32)break;el(25658,1,e)|0}}while(0);if((h|0)>0&b>>>0>>0){_=b;while(1){b=pl(t[_>>2]|0,0,Y)|0;if(b>>>0>fe>>>0)do{b=b+-1|0;f[b>>0]=48}while(b>>>0>fe>>>0);if(!(t[e>>2]&32))el(b,(h|0)>9?9:h,e)|0;_=_+4|0;b=h+-9|0;if(!((h|0)>9&_>>>0>>0)){h=b;break}else h=b}}gl(e,48,h+9|0,9,0)}else{v=E?R:y+4|0;if((h|0)>-1){m=(_|0)==0;w=y;do{b=pl(t[w>>2]|0,0,Y)|0;if((b|0)==(Y|0)){f[$>>0]=48;b=$}do{if((w|0)==(y|0)){_=b+1|0;if(!(t[e>>2]&32))el(b,1,e)|0;if(m&(h|0)<1){b=_;break}if(t[e>>2]&32){b=_;break}el(25658,1,e)|0;b=_}else{if(b>>>0<=fe>>>0)break;do{b=b+-1|0;f[b>>0]=48}while(b>>>0>fe>>>0)}}while(0);_=q-b|0;if(!(t[e>>2]&32))el(b,(h|0)>(_|0)?_:h,e)|0;h=h-_|0;w=w+4|0}while(w>>>0>>0&(h|0)>-1)}gl(e,48,h+18|0,18,0);if(t[e>>2]&32)break;el(p,J-p|0,e)|0}}while(0);gl(e,32,z,A,L^8192);h=(A|0)<(z|0)?z:A}else{v=(p&32|0)!=0;m=k!=k|0.0!=0.0;b=m?0:O;w=b+3|0;gl(e,32,z,w,_);h=t[e>>2]|0;if(!(h&32)){el(x,b,e)|0;h=t[e>>2]|0}if(!(h&32))el(m?v?25650:25654:v?25642:25646,3,e)|0;gl(e,32,z,w,L^8192);h=(w|0)<(z|0)?z:w}}while(0);y=B;continue e}default:{_=L;b=w;v=0;p=25606;h=F}}}while(0);i:do{if((D|0)==64){_=ee;b=t[_>>2]|0;_=t[_+4>>2]|0;m=p&32;if(!((b|0)==0&(_|0)==0)){h=F;do{h=h+-1|0;f[h>>0]=a[25590+(b&15)>>0]|m;b=zl(b|0,_|0,4)|0;_=I}while(!((b|0)==0&(_|0)==0));D=ee;if((v&8|0)==0|(t[D>>2]|0)==0&(t[D+4>>2]|0)==0){b=v;v=0;m=25606;D=77}else{b=v;v=2;m=25606+(p>>4)|0;D=77}}else{h=F;b=v;v=0;m=25606;D=77}}else if((D|0)==76){h=pl(h,b,F)|0;b=L;v=_;D=77}else if((D|0)==82){D=0;L=ll(h,0,w)|0;x=(L|0)==0;y=h;b=x?w:L-h|0;v=0;p=25606;h=x?h+w|0:L}else if((D|0)==86){D=0;b=0;h=0;m=t[ee>>2]|0;while(1){_=t[m>>2]|0;if(!_)break;h=Rs(te,_)|0;if((h|0)<0|h>>>0>(w-b|0)>>>0)break;b=h+b|0;if(w>>>0>b>>>0)m=m+4|0;else break}if((h|0)<0){o=-1;break e}gl(e,32,z,b,L);if(!b){h=0;D=98}else{_=0;w=t[ee>>2]|0;while(1){h=t[w>>2]|0;if(!h){h=b;D=98;break i}h=Rs(te,h)|0;_=h+_|0;if((_|0)>(b|0)){h=b;D=98;break i}if(!(t[e>>2]&32))el(te,h,e)|0;if(_>>>0>=b>>>0){h=b;D=98;break}else w=w+4|0}}}}while(0);if((D|0)==98){D=0;gl(e,32,z,h,L^8192);y=B;h=(z|0)>(h|0)?z:h;continue}if((D|0)==77){D=0;_=(w|0)>-1?b&-65537:b;b=ee;b=(t[b>>2]|0)!=0|(t[b+4>>2]|0)!=0;if((w|0)!=0|b){b=(b&1^1)+(V-h)|0;y=h;b=(w|0)>(b|0)?w:b;p=m;h=F}else{y=F;b=0;p=m;h=F}}m=h-y|0;b=(b|0)<(m|0)?m:b;w=v+b|0;h=(z|0)<(w|0)?w:z;gl(e,32,h,w,_);if(!(t[e>>2]&32))el(p,v,e)|0;gl(e,48,h,w,_^65536);gl(e,48,b,m,0);if(!(t[e>>2]&32))el(y,m,e)|0;gl(e,32,h,w,_^8192);y=B}e:do{if((D|0)==245)if(!e)if(i){o=1;while(1){i=t[l+(o<<2)>>2]|0;if(!i)break;vl(s+(o<<3)|0,i,r);o=o+1|0;if((o|0)>=10){o=1;break e}}if((o|0)<10)while(1){if(t[l+(o<<2)>>2]|0){o=-1;break e}o=o+1|0;if((o|0)>=10){o=1;break}}else o=1}else o=0}while(0);c=se;return o|0}function ml(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0;f=e+20|0;n=t[f>>2]|0;e=(t[e+16>>2]|0)-n|0;e=e>>>0>r>>>0?r:e;Dl(n|0,i|0,e|0)|0;t[f>>2]=(t[f>>2]|0)+e;return r|0}function vl(e,i,r){e=e|0;i=i|0;r=r|0;var f=0,n=0,a=0.0;e:do{if(i>>>0<=20)do{switch(i|0){case 9:{f=(t[r>>2]|0)+(4-1)&~(4-1);i=t[f>>2]|0;t[r>>2]=f+4;t[e>>2]=i;break e}case 10:{f=(t[r>>2]|0)+(4-1)&~(4-1);i=t[f>>2]|0;t[r>>2]=f+4;f=e;t[f>>2]=i;t[f+4>>2]=((i|0)<0)<<31>>31;break e}case 11:{f=(t[r>>2]|0)+(4-1)&~(4-1);i=t[f>>2]|0;t[r>>2]=f+4;f=e;t[f>>2]=i;t[f+4>>2]=0;break e}case 12:{f=(t[r>>2]|0)+(8-1)&~(8-1);i=f;n=t[i>>2]|0;i=t[i+4>>2]|0;t[r>>2]=f+8;f=e;t[f>>2]=n;t[f+4>>2]=i;break e}case 13:{n=(t[r>>2]|0)+(4-1)&~(4-1);f=t[n>>2]|0;t[r>>2]=n+4;f=(f&65535)<<16>>16;n=e;t[n>>2]=f;t[n+4>>2]=((f|0)<0)<<31>>31;break e}case 14:{n=(t[r>>2]|0)+(4-1)&~(4-1);f=t[n>>2]|0;t[r>>2]=n+4;n=e;t[n>>2]=f&65535;t[n+4>>2]=0;break e}case 15:{n=(t[r>>2]|0)+(4-1)&~(4-1);f=t[n>>2]|0;t[r>>2]=n+4;f=(f&255)<<24>>24;n=e;t[n>>2]=f;t[n+4>>2]=((f|0)<0)<<31>>31;break e}case 16:{n=(t[r>>2]|0)+(4-1)&~(4-1);f=t[n>>2]|0;t[r>>2]=n+4;n=e;t[n>>2]=f&255;t[n+4>>2]=0;break e}case 17:{n=(t[r>>2]|0)+(8-1)&~(8-1);a=+u[n>>3];t[r>>2]=n+8;u[e>>3]=a;break e}case 18:{n=(t[r>>2]|0)+(8-1)&~(8-1);a=+u[n>>3];t[r>>2]=n+8;u[e>>3]=a;break e}default:break e}}while(0)}while(0);return}function pl(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;if(i>>>0>0|(i|0)==0&e>>>0>4294967295)while(1){n=ql(e|0,i|0,10,0)|0;r=r+-1|0;f[r>>0]=n|48;n=Yl(e|0,i|0,10,0)|0;if(i>>>0>9|(i|0)==9&e>>>0>4294967295){e=n;i=I}else{e=n;break}}if(e)while(1){r=r+-1|0;f[r>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return r|0}function gl(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0;l=c;c=c+256|0;s=l;do{if((r|0)>(f|0)&(n&73728|0)==0){n=r-f|0;xl(s|0,i|0,(n>>>0>256?256:n)|0)|0;i=t[e>>2]|0;a=(i&32|0)==0;if(n>>>0>255){f=r-f|0;do{if(a){el(s,256,e)|0;i=t[e>>2]|0}n=n+-256|0;a=(i&32|0)==0}while(n>>>0>255);if(a)n=f&255;else break}else if(!a)break;el(s,n,e)|0}}while(0);c=l;return}function yl(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0,g=0,y=0,M=0,A=0,E=0,S=0,T=0,R=0,C=0,P=0,I=0,O=0,x=0,L=0,B=0,z=0,D=0,N=0;do{if(e>>>0<245){b=e>>>0<11?16:e+11&-8;e=b>>>3;l=t[735]|0;r=l>>>e;if(r&3){e=(r&1^1)+e|0;f=e<<1;r=2980+(f<<2)|0;f=2980+(f+2<<2)|0;n=t[f>>2]|0;a=n+8|0;s=t[a>>2]|0;do{if((r|0)!=(s|0)){if(s>>>0<(t[739]|0)>>>0)ye();i=s+12|0;if((t[i>>2]|0)==(n|0)){t[i>>2]=r;t[f>>2]=s;break}else ye()}else t[735]=l&~(1<>2]=N|3;N=n+(N|4)|0;t[N>>2]=t[N>>2]|1;N=a;return N|0}s=t[737]|0;if(b>>>0>s>>>0){if(r){f=2<>>12&16;f=f>>>o;n=f>>>5&8;f=f>>>n;a=f>>>2&4;f=f>>>a;r=f>>>1&2;f=f>>>r;e=f>>>1&1;e=(n|o|a|r|e)+(f>>>e)|0;f=e<<1;r=2980+(f<<2)|0;f=2980+(f+2<<2)|0;a=t[f>>2]|0;o=a+8|0;n=t[o>>2]|0;do{if((r|0)!=(n|0)){if(n>>>0<(t[739]|0)>>>0)ye();i=n+12|0;if((t[i>>2]|0)==(a|0)){t[i>>2]=r;t[f>>2]=n;u=t[737]|0;break}else ye()}else{t[735]=l&~(1<>2]=b|3;l=a+b|0;t[a+(b|4)>>2]=s|1;t[a+N>>2]=s;if(u){n=t[740]|0;r=u>>>3;i=r<<1;f=2980+(i<<2)|0;e=t[735]|0;r=1<>2]|0;if(i>>>0<(t[739]|0)>>>0)ye();else{c=e;h=i}}else{t[735]=e|r;c=2980+(i+2<<2)|0;h=f}t[c>>2]=n;t[h+12>>2]=n;t[n+8>>2]=h;t[n+12>>2]=f}t[737]=s;t[740]=l;N=o;return N|0}e=t[736]|0;if(e){r=(e&0-e)+-1|0;D=r>>>12&16;r=r>>>D;z=r>>>5&8;r=r>>>z;N=r>>>2&4;r=r>>>N;e=r>>>1&2;r=r>>>e;f=r>>>1&1;f=t[3244+((z|D|N|e|f)+(r>>>f)<<2)>>2]|0;r=(t[f+4>>2]&-8)-b|0;e=f;while(1){i=t[e+16>>2]|0;if(!i){i=t[e+20>>2]|0;if(!i){o=r;break}}e=(t[i+4>>2]&-8)-b|0;N=e>>>0>>0;r=N?e:r;e=i;f=N?i:f}a=t[739]|0;if(f>>>0>>0)ye();l=f+b|0;if(f>>>0>=l>>>0)ye();s=t[f+24>>2]|0;r=t[f+12>>2]|0;do{if((r|0)==(f|0)){e=f+20|0;i=t[e>>2]|0;if(!i){e=f+16|0;i=t[e>>2]|0;if(!i){d=0;break}}while(1){r=i+20|0;n=t[r>>2]|0;if(n){i=n;e=r;continue}r=i+16|0;n=t[r>>2]|0;if(!n)break;else{i=n;e=r}}if(e>>>0>>0)ye();else{t[e>>2]=0;d=i;break}}else{n=t[f+8>>2]|0;if(n>>>0>>0)ye();i=n+12|0;if((t[i>>2]|0)!=(f|0))ye();e=r+8|0;if((t[e>>2]|0)==(f|0)){t[i>>2]=r;t[e>>2]=n;d=r;break}else ye()}}while(0);do{if(s){i=t[f+28>>2]|0;e=3244+(i<<2)|0;if((f|0)==(t[e>>2]|0)){t[e>>2]=d;if(!d){t[736]=t[736]&~(1<>>0<(t[739]|0)>>>0)ye();i=s+16|0;if((t[i>>2]|0)==(f|0))t[i>>2]=d;else t[s+20>>2]=d;if(!d)break}e=t[739]|0;if(d>>>0>>0)ye();t[d+24>>2]=s;i=t[f+16>>2]|0;do{if(i)if(i>>>0>>0)ye();else{t[d+16>>2]=i;t[i+24>>2]=d;break}}while(0);i=t[f+20>>2]|0;if(i)if(i>>>0<(t[739]|0)>>>0)ye();else{t[d+20>>2]=i;t[i+24>>2]=d;break}}}while(0);if(o>>>0<16){N=o+b|0;t[f+4>>2]=N|3;N=f+(N+4)|0;t[N>>2]=t[N>>2]|1}else{t[f+4>>2]=b|3;t[f+(b|4)>>2]=o|1;t[f+(o+b)>>2]=o;i=t[737]|0;if(i){a=t[740]|0;r=i>>>3;i=r<<1;n=2980+(i<<2)|0;e=t[735]|0;r=1<>2]|0;if(e>>>0<(t[739]|0)>>>0)ye();else{_=i;k=e}}else{t[735]=e|r;_=2980+(i+2<<2)|0;k=n}t[_>>2]=a;t[k+12>>2]=a;t[a+8>>2]=k;t[a+12>>2]=n}t[737]=o;t[740]=l}N=f+8|0;return N|0}else k=b}else k=b}else if(e>>>0<=4294967231){e=e+11|0;h=e&-8;c=t[736]|0;if(c){r=0-h|0;e=e>>>8;if(e)if(h>>>0>16777215)u=31;else{k=(e+1048320|0)>>>16&8;g=e<>>16&4;g=g<<_;u=(g+245760|0)>>>16&2;u=14-(_|k|u)+(g<>>15)|0;u=h>>>(u+7|0)&1|u<<1}else u=0;e=t[3244+(u<<2)>>2]|0;e:do{if(!e){n=0;e=0;g=86}else{s=r;n=0;l=h<<((u|0)==31?0:25-(u>>>1)|0);o=e;e=0;while(1){a=t[o+4>>2]&-8;r=a-h|0;if(r>>>0>>0)if((a|0)==(h|0)){a=o;e=o;g=90;break e}else e=o;else r=s;g=t[o+20>>2]|0;o=t[o+16+(l>>>31<<2)>>2]|0;n=(g|0)==0|(g|0)==(o|0)?n:g;if(!o){g=86;break}else{s=r;l=l<<1}}}}while(0);if((g|0)==86){if((n|0)==0&(e|0)==0){e=2<>>12&16;e=e>>>d;c=e>>>5&8;e=e>>>c;_=e>>>2&4;e=e>>>_;k=e>>>1&2;e=e>>>k;n=e>>>1&1;n=t[3244+((c|d|_|k|n)+(e>>>n)<<2)>>2]|0;e=0}if(!n){l=r;o=e}else{a=n;g=90}}if((g|0)==90)while(1){g=0;k=(t[a+4>>2]&-8)-h|0;n=k>>>0>>0;r=n?k:r;e=n?a:e;n=t[a+16>>2]|0;if(n){a=n;g=90;continue}a=t[a+20>>2]|0;if(!a){l=r;o=e;break}else g=90}if((o|0)!=0?l>>>0<((t[737]|0)-h|0)>>>0:0){n=t[739]|0;if(o>>>0>>0)ye();s=o+h|0;if(o>>>0>=s>>>0)ye();a=t[o+24>>2]|0;r=t[o+12>>2]|0;do{if((r|0)==(o|0)){e=o+20|0;i=t[e>>2]|0;if(!i){e=o+16|0;i=t[e>>2]|0;if(!i){b=0;break}}while(1){r=i+20|0;f=t[r>>2]|0;if(f){i=f;e=r;continue}r=i+16|0;f=t[r>>2]|0;if(!f)break;else{i=f;e=r}}if(e>>>0>>0)ye();else{t[e>>2]=0;b=i;break}}else{f=t[o+8>>2]|0;if(f>>>0>>0)ye();i=f+12|0;if((t[i>>2]|0)!=(o|0))ye();e=r+8|0;if((t[e>>2]|0)==(o|0)){t[i>>2]=r;t[e>>2]=f;b=r;break}else ye()}}while(0);do{if(a){i=t[o+28>>2]|0;e=3244+(i<<2)|0;if((o|0)==(t[e>>2]|0)){t[e>>2]=b;if(!b){t[736]=t[736]&~(1<>>0<(t[739]|0)>>>0)ye();i=a+16|0;if((t[i>>2]|0)==(o|0))t[i>>2]=b;else t[a+20>>2]=b;if(!b)break}e=t[739]|0;if(b>>>0>>0)ye();t[b+24>>2]=a;i=t[o+16>>2]|0;do{if(i)if(i>>>0>>0)ye();else{t[b+16>>2]=i;t[i+24>>2]=b;break}}while(0);i=t[o+20>>2]|0;if(i)if(i>>>0<(t[739]|0)>>>0)ye();else{t[b+20>>2]=i;t[i+24>>2]=b;break}}}while(0);e:do{if(l>>>0>=16){t[o+4>>2]=h|3;t[o+(h|4)>>2]=l|1;t[o+(l+h)>>2]=l;i=l>>>3;if(l>>>0<256){e=i<<1;f=2980+(e<<2)|0;r=t[735]|0;i=1<>2]|0;if(e>>>0<(t[739]|0)>>>0)ye();else{m=i;v=e}}else{t[735]=r|i;m=2980+(e+2<<2)|0;v=f}t[m>>2]=s;t[v+12>>2]=s;t[o+(h+8)>>2]=v;t[o+(h+12)>>2]=f;break}i=l>>>8;if(i)if(l>>>0>16777215)f=31;else{D=(i+1048320|0)>>>16&8;N=i<>>16&4;N=N<>>16&2;f=14-(z|D|f)+(N<>>15)|0;f=l>>>(f+7|0)&1|f<<1}else f=0;i=3244+(f<<2)|0;t[o+(h+28)>>2]=f;t[o+(h+20)>>2]=0;t[o+(h+16)>>2]=0;e=t[736]|0;r=1<>2]=s;t[o+(h+24)>>2]=i;t[o+(h+12)>>2]=s;t[o+(h+8)>>2]=s;break}i=t[i>>2]|0;i:do{if((t[i+4>>2]&-8|0)!=(l|0)){f=l<<((f|0)==31?0:25-(f>>>1)|0);while(1){e=i+16+(f>>>31<<2)|0;r=t[e>>2]|0;if(!r)break;if((t[r+4>>2]&-8|0)==(l|0)){A=r;break i}else{f=f<<1;i=r}}if(e>>>0<(t[739]|0)>>>0)ye();else{t[e>>2]=s;t[o+(h+24)>>2]=i;t[o+(h+12)>>2]=s;t[o+(h+8)>>2]=s;break e}}else A=i}while(0);i=A+8|0;e=t[i>>2]|0;N=t[739]|0;if(e>>>0>=N>>>0&A>>>0>=N>>>0){t[e+12>>2]=s;t[i>>2]=s;t[o+(h+8)>>2]=e;t[o+(h+12)>>2]=A;t[o+(h+24)>>2]=0;break}else ye()}else{N=l+h|0;t[o+4>>2]=N|3;N=o+(N+4)|0;t[N>>2]=t[N>>2]|1}}while(0);N=o+8|0;return N|0}else k=h}else k=h}else k=-1}while(0);r=t[737]|0;if(r>>>0>=k>>>0){i=r-k|0;e=t[740]|0;if(i>>>0>15){t[740]=e+k;t[737]=i;t[e+(k+4)>>2]=i|1;t[e+r>>2]=i;t[e+4>>2]=k|3}else{t[737]=0;t[740]=0;t[e+4>>2]=r|3;N=e+(r+4)|0;t[N>>2]=t[N>>2]|1}N=e+8|0;return N|0}e=t[738]|0;if(e>>>0>k>>>0){D=e-k|0;t[738]=D;N=t[741]|0;t[741]=N+k;t[N+(k+4)>>2]=D|1;t[N+4>>2]=k|3;N=N+8|0;return N|0}do{if(!(t[853]|0)){e=Re(30)|0;if(!(e+-1&e)){t[855]=e;t[854]=e;t[856]=-1;t[857]=-1;t[858]=0;t[846]=0;t[853]=(He(0)|0)&-16^1431655768;break}else ye()}}while(0);o=k+48|0;l=t[855]|0;u=k+47|0;s=l+u|0;l=0-l|0;c=s&l;if(c>>>0<=k>>>0){N=0;return N|0}e=t[845]|0;if((e|0)!=0?(v=t[843]|0,A=v+c|0,A>>>0<=v>>>0|A>>>0>e>>>0):0){N=0;return N|0}e:do{if(!(t[846]&4)){e=t[741]|0;i:do{if(e){n=3388;while(1){r=t[n>>2]|0;if(r>>>0<=e>>>0?(w=n+4|0,(r+(t[w>>2]|0)|0)>>>0>e>>>0):0){a=n;e=w;break}n=t[n+8>>2]|0;if(!n){g=174;break i}}r=s-(t[738]|0)&l;if(r>>>0<2147483647){n=Se(r|0)|0;A=(n|0)==((t[a>>2]|0)+(t[e>>2]|0)|0);e=A?r:0;if(A){if((n|0)!=(-1|0)){y=n;_=e;g=194;break e}}else g=184}else e=0}else g=174}while(0);do{if((g|0)==174){a=Se(0)|0;if((a|0)!=(-1|0)){e=a;r=t[854]|0;n=r+-1|0;if(!(n&e))r=c;else r=c-e+(n+e&0-r)|0;e=t[843]|0;n=e+r|0;if(r>>>0>k>>>0&r>>>0<2147483647){A=t[845]|0;if((A|0)!=0?n>>>0<=e>>>0|n>>>0>A>>>0:0){e=0;break}n=Se(r|0)|0;A=(n|0)==(a|0);e=A?r:0;if(A){y=a;_=e;g=194;break e}else g=184}else e=0}else e=0}}while(0);i:do{if((g|0)==184){a=0-r|0;do{if(o>>>0>r>>>0&(r>>>0<2147483647&(n|0)!=(-1|0))?(p=t[855]|0,p=u-r+p&0-p,p>>>0<2147483647):0)if((Se(p|0)|0)==(-1|0)){Se(a|0)|0;break i}else{r=p+r|0;break}}while(0);if((n|0)!=(-1|0)){y=n;_=r;g=194;break e}}}while(0);t[846]=t[846]|4;g=191}else{e=0;g=191}}while(0);if((((g|0)==191?c>>>0<2147483647:0)?(y=Se(c|0)|0,M=Se(0)|0,y>>>0>>0&((y|0)!=(-1|0)&(M|0)!=(-1|0))):0)?(E=M-y|0,S=E>>>0>(k+40|0)>>>0,S):0){_=S?E:e;g=194}if((g|0)==194){e=(t[843]|0)+_|0;t[843]=e;if(e>>>0>(t[844]|0)>>>0)t[844]=e;s=t[741]|0;e:do{if(s){a=3388;do{e=t[a>>2]|0;r=a+4|0;n=t[r>>2]|0;if((y|0)==(e+n|0)){T=e;R=r;C=n;P=a;g=204;break}a=t[a+8>>2]|0}while((a|0)!=0);if(((g|0)==204?(t[P+12>>2]&8|0)==0:0)?s>>>0>>0&s>>>0>=T>>>0:0){t[R>>2]=C+_;N=(t[738]|0)+_|0;D=s+8|0;D=(D&7|0)==0?0:0-D&7;z=N-D|0;t[741]=s+D;t[738]=z;t[s+(D+4)>>2]=z|1;t[s+(N+4)>>2]=40;t[742]=t[857];break}e=t[739]|0;if(y>>>0>>0){t[739]=y;e=y}r=y+_|0;a=3388;while(1){if((t[a>>2]|0)==(r|0)){n=a;r=a;g=212;break}a=t[a+8>>2]|0;if(!a){r=3388;break}}if((g|0)==212)if(!(t[r+12>>2]&8)){t[n>>2]=y;d=r+4|0;t[d>>2]=(t[d>>2]|0)+_;d=y+8|0;d=(d&7|0)==0?0:0-d&7;u=y+(_+8)|0;u=(u&7|0)==0?0:0-u&7;i=y+(u+_)|0;h=d+k|0;b=y+h|0;c=i-(y+d)-k|0;t[y+(d+4)>>2]=k|3;i:do{if((i|0)!=(s|0)){if((i|0)==(t[740]|0)){N=(t[737]|0)+c|0;t[737]=N;t[740]=b;t[y+(h+4)>>2]=N|1;t[y+(N+h)>>2]=N;break}l=_+4|0;r=t[y+(l+u)>>2]|0;if((r&3|0)==1){o=r&-8;a=r>>>3;r:do{if(r>>>0>=256){s=t[y+((u|24)+_)>>2]|0;f=t[y+(_+12+u)>>2]|0;do{if((f|0)==(i|0)){n=u|16;f=y+(l+n)|0;r=t[f>>2]|0;if(!r){f=y+(n+_)|0;r=t[f>>2]|0;if(!r){B=0;break}}while(1){n=r+20|0;a=t[n>>2]|0;if(a){r=a;f=n;continue}n=r+16|0;a=t[n>>2]|0;if(!a)break;else{r=a;f=n}}if(f>>>0>>0)ye();else{t[f>>2]=0;B=r;break}}else{n=t[y+((u|8)+_)>>2]|0;if(n>>>0>>0)ye();e=n+12|0;if((t[e>>2]|0)!=(i|0))ye();r=f+8|0;if((t[r>>2]|0)==(i|0)){t[e>>2]=f;t[r>>2]=n;B=f;break}else ye()}}while(0);if(!s)break;e=t[y+(_+28+u)>>2]|0;r=3244+(e<<2)|0;do{if((i|0)!=(t[r>>2]|0)){if(s>>>0<(t[739]|0)>>>0)ye();e=s+16|0;if((t[e>>2]|0)==(i|0))t[e>>2]=B;else t[s+20>>2]=B;if(!B)break r}else{t[r>>2]=B;if(B)break;t[736]=t[736]&~(1<>>0>>0)ye();t[B+24>>2]=s;i=u|16;e=t[y+(i+_)>>2]|0;do{if(e)if(e>>>0>>0)ye();else{t[B+16>>2]=e;t[e+24>>2]=B;break}}while(0);i=t[y+(l+i)>>2]|0;if(!i)break;if(i>>>0<(t[739]|0)>>>0)ye();else{t[B+20>>2]=i;t[i+24>>2]=B;break}}else{f=t[y+((u|8)+_)>>2]|0;n=t[y+(_+12+u)>>2]|0;r=2980+(a<<1<<2)|0;do{if((f|0)!=(r|0)){if(f>>>0>>0)ye();if((t[f+12>>2]|0)==(i|0))break;ye()}}while(0);if((n|0)==(f|0)){t[735]=t[735]&~(1<>>0>>0)ye();e=n+8|0;if((t[e>>2]|0)==(i|0)){I=e;break}ye()}}while(0);t[f+12>>2]=n;t[I>>2]=f}}while(0);i=y+((o|u)+_)|0;n=o+c|0}else n=c;i=i+4|0;t[i>>2]=t[i>>2]&-2;t[y+(h+4)>>2]=n|1;t[y+(n+h)>>2]=n;i=n>>>3;if(n>>>0<256){e=i<<1;f=2980+(e<<2)|0;r=t[735]|0;i=1<>2]|0;if(e>>>0>=(t[739]|0)>>>0){z=i;D=e;break}ye()}}while(0);t[z>>2]=b;t[D+12>>2]=b;t[y+(h+8)>>2]=D;t[y+(h+12)>>2]=f;break}i=n>>>8;do{if(!i)f=0;else{if(n>>>0>16777215){f=31;break}z=(i+1048320|0)>>>16&8;D=i<>>16&4;D=D<>>16&2;f=14-(B|z|f)+(D<>>15)|0;f=n>>>(f+7|0)&1|f<<1}}while(0);i=3244+(f<<2)|0;t[y+(h+28)>>2]=f;t[y+(h+20)>>2]=0;t[y+(h+16)>>2]=0;e=t[736]|0;r=1<>2]=b;t[y+(h+24)>>2]=i;t[y+(h+12)>>2]=b;t[y+(h+8)>>2]=b;break}i=t[i>>2]|0;r:do{if((t[i+4>>2]&-8|0)!=(n|0)){f=n<<((f|0)==31?0:25-(f>>>1)|0);while(1){e=i+16+(f>>>31<<2)|0;r=t[e>>2]|0;if(!r)break;if((t[r+4>>2]&-8|0)==(n|0)){N=r;break r}else{f=f<<1;i=r}}if(e>>>0<(t[739]|0)>>>0)ye();else{t[e>>2]=b;t[y+(h+24)>>2]=i;t[y+(h+12)>>2]=b;t[y+(h+8)>>2]=b;break i}}else N=i}while(0);i=N+8|0;e=t[i>>2]|0;D=t[739]|0;if(e>>>0>=D>>>0&N>>>0>=D>>>0){t[e+12>>2]=b;t[i>>2]=b;t[y+(h+8)>>2]=e;t[y+(h+12)>>2]=N;t[y+(h+24)>>2]=0;break}else ye()}else{N=(t[738]|0)+c|0;t[738]=N;t[741]=b;t[y+(h+4)>>2]=N|1}}while(0);N=y+(d|8)|0;return N|0}else r=3388;while(1){e=t[r>>2]|0;if(e>>>0<=s>>>0?(i=t[r+4>>2]|0,f=e+i|0,f>>>0>s>>>0):0)break;r=t[r+8>>2]|0}n=e+(i+-39)|0;e=e+(i+-47+((n&7|0)==0?0:0-n&7))|0;n=s+16|0;e=e>>>0>>0?s:e;i=e+8|0;r=y+8|0;r=(r&7|0)==0?0:0-r&7;N=_+-40-r|0;t[741]=y+r;t[738]=N;t[y+(r+4)>>2]=N|1;t[y+(_+-36)>>2]=40;t[742]=t[857];r=e+4|0;t[r>>2]=27;t[i>>2]=t[847];t[i+4>>2]=t[848];t[i+8>>2]=t[849];t[i+12>>2]=t[850];t[847]=y;t[848]=_;t[850]=0;t[849]=i;i=e+28|0;t[i>>2]=7;if((e+32|0)>>>0>>0)do{N=i;i=i+4|0;t[i>>2]=7}while((N+8|0)>>>0>>0);if((e|0)!=(s|0)){a=e-s|0;t[r>>2]=t[r>>2]&-2;t[s+4>>2]=a|1;t[e>>2]=a;i=a>>>3;if(a>>>0<256){e=i<<1;f=2980+(e<<2)|0;r=t[735]|0;i=1<>2]|0;if(e>>>0<(t[739]|0)>>>0)ye();else{O=i;x=e}}else{t[735]=r|i;O=2980+(e+2<<2)|0;x=f}t[O>>2]=s;t[x+12>>2]=s;t[s+8>>2]=x;t[s+12>>2]=f;break}i=a>>>8;if(i)if(a>>>0>16777215)f=31;else{D=(i+1048320|0)>>>16&8;N=i<>>16&4;N=N<>>16&2;f=14-(z|D|f)+(N<>>15)|0;f=a>>>(f+7|0)&1|f<<1}else f=0;r=3244+(f<<2)|0;t[s+28>>2]=f;t[s+20>>2]=0;t[n>>2]=0;i=t[736]|0;e=1<>2]=s;t[s+24>>2]=r;t[s+12>>2]=s;t[s+8>>2]=s;break}i=t[r>>2]|0;i:do{if((t[i+4>>2]&-8|0)!=(a|0)){f=a<<((f|0)==31?0:25-(f>>>1)|0);while(1){e=i+16+(f>>>31<<2)|0;r=t[e>>2]|0;if(!r)break;if((t[r+4>>2]&-8|0)==(a|0)){L=r;break i}else{f=f<<1;i=r}}if(e>>>0<(t[739]|0)>>>0)ye();else{t[e>>2]=s;t[s+24>>2]=i;t[s+12>>2]=s;t[s+8>>2]=s;break e}}else L=i}while(0);i=L+8|0;e=t[i>>2]|0;N=t[739]|0;if(e>>>0>=N>>>0&L>>>0>=N>>>0){t[e+12>>2]=s;t[i>>2]=s;t[s+8>>2]=e;t[s+12>>2]=L;t[s+24>>2]=0;break}else ye()}}else{N=t[739]|0;if((N|0)==0|y>>>0>>0)t[739]=y;t[847]=y;t[848]=_;t[850]=0;t[744]=t[853];t[743]=-1;i=0;do{N=i<<1;D=2980+(N<<2)|0;t[2980+(N+3<<2)>>2]=D;t[2980+(N+2<<2)>>2]=D;i=i+1|0}while((i|0)!=32);N=y+8|0;N=(N&7|0)==0?0:0-N&7;D=_+-40-N|0;t[741]=y+N;t[738]=D;t[y+(N+4)>>2]=D|1;t[y+(_+-36)>>2]=40;t[742]=t[857]}}while(0);i=t[738]|0;if(i>>>0>k>>>0){D=i-k|0;t[738]=D;N=t[741]|0;t[741]=N+k;t[N+(k+4)>>2]=D|1;t[N+4>>2]=k|3;N=N+8|0;return N|0}}t[(ms()|0)>>2]=12;N=0;return N|0}function Ml(e){e=e|0;var i=0,r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0,p=0;if(!e)return;i=e+-8|0;l=t[739]|0;if(i>>>0>>0)ye();r=t[e+-4>>2]|0;f=r&3;if((f|0)==1)ye();b=r&-8;k=e+(b+-8)|0;do{if(!(r&1)){i=t[i>>2]|0;if(!f)return;o=-8-i|0;c=e+o|0;h=i+b|0;if(c>>>0>>0)ye();if((c|0)==(t[740]|0)){i=e+(b+-4)|0;r=t[i>>2]|0;if((r&3|0)!=3){p=c;a=h;break}t[737]=h;t[i>>2]=r&-2;t[e+(o+4)>>2]=h|1;t[k>>2]=h;return}n=i>>>3;if(i>>>0<256){f=t[e+(o+8)>>2]|0;r=t[e+(o+12)>>2]|0;i=2980+(n<<1<<2)|0;if((f|0)!=(i|0)){if(f>>>0>>0)ye();if((t[f+12>>2]|0)!=(c|0))ye()}if((r|0)==(f|0)){t[735]=t[735]&~(1<>>0>>0)ye();i=r+8|0;if((t[i>>2]|0)==(c|0))s=i;else ye()}else s=r+8|0;t[f+12>>2]=r;t[s>>2]=f;p=c;a=h;break}s=t[e+(o+24)>>2]|0;f=t[e+(o+12)>>2]|0;do{if((f|0)==(c|0)){r=e+(o+20)|0;i=t[r>>2]|0;if(!i){r=e+(o+16)|0;i=t[r>>2]|0;if(!i){u=0;break}}while(1){f=i+20|0;n=t[f>>2]|0;if(n){i=n;r=f;continue}f=i+16|0;n=t[f>>2]|0;if(!n)break;else{i=n;r=f}}if(r>>>0>>0)ye();else{t[r>>2]=0;u=i;break}}else{n=t[e+(o+8)>>2]|0;if(n>>>0>>0)ye();i=n+12|0;if((t[i>>2]|0)!=(c|0))ye();r=f+8|0;if((t[r>>2]|0)==(c|0)){t[i>>2]=f;t[r>>2]=n;u=f;break}else ye()}}while(0);if(s){i=t[e+(o+28)>>2]|0;r=3244+(i<<2)|0;if((c|0)==(t[r>>2]|0)){t[r>>2]=u;if(!u){t[736]=t[736]&~(1<>>0<(t[739]|0)>>>0)ye();i=s+16|0;if((t[i>>2]|0)==(c|0))t[i>>2]=u;else t[s+20>>2]=u;if(!u){p=c;a=h;break}}r=t[739]|0;if(u>>>0>>0)ye();t[u+24>>2]=s;i=t[e+(o+16)>>2]|0;do{if(i)if(i>>>0>>0)ye();else{t[u+16>>2]=i;t[i+24>>2]=u;break}}while(0);i=t[e+(o+20)>>2]|0;if(i)if(i>>>0<(t[739]|0)>>>0)ye();else{t[u+20>>2]=i;t[i+24>>2]=u;p=c;a=h;break}else{p=c;a=h}}else{p=c;a=h}}else{p=i;a=b}}while(0);if(p>>>0>=k>>>0)ye();i=e+(b+-4)|0;r=t[i>>2]|0;if(!(r&1))ye();if(!(r&2)){if((k|0)==(t[741]|0)){v=(t[738]|0)+a|0;t[738]=v;t[741]=p;t[p+4>>2]=v|1;if((p|0)!=(t[740]|0))return;t[740]=0;t[737]=0;return}if((k|0)==(t[740]|0)){v=(t[737]|0)+a|0;t[737]=v;t[740]=p;t[p+4>>2]=v|1;t[p+v>>2]=v;return}a=(r&-8)+a|0;n=r>>>3;do{if(r>>>0>=256){s=t[e+(b+16)>>2]|0;i=t[e+(b|4)>>2]|0;do{if((i|0)==(k|0)){r=e+(b+12)|0;i=t[r>>2]|0;if(!i){r=e+(b+8)|0;i=t[r>>2]|0;if(!i){_=0;break}}while(1){f=i+20|0;n=t[f>>2]|0;if(n){i=n;r=f;continue}f=i+16|0;n=t[f>>2]|0;if(!n)break;else{i=n;r=f}}if(r>>>0<(t[739]|0)>>>0)ye();else{t[r>>2]=0;_=i;break}}else{r=t[e+b>>2]|0;if(r>>>0<(t[739]|0)>>>0)ye();f=r+12|0;if((t[f>>2]|0)!=(k|0))ye();n=i+8|0;if((t[n>>2]|0)==(k|0)){t[f>>2]=i;t[n>>2]=r;_=i;break}else ye()}}while(0);if(s){i=t[e+(b+20)>>2]|0;r=3244+(i<<2)|0;if((k|0)==(t[r>>2]|0)){t[r>>2]=_;if(!_){t[736]=t[736]&~(1<>>0<(t[739]|0)>>>0)ye();i=s+16|0;if((t[i>>2]|0)==(k|0))t[i>>2]=_;else t[s+20>>2]=_;if(!_)break}r=t[739]|0;if(_>>>0>>0)ye();t[_+24>>2]=s;i=t[e+(b+8)>>2]|0;do{if(i)if(i>>>0>>0)ye();else{t[_+16>>2]=i;t[i+24>>2]=_;break}}while(0);i=t[e+(b+12)>>2]|0;if(i)if(i>>>0<(t[739]|0)>>>0)ye();else{t[_+20>>2]=i;t[i+24>>2]=_;break}}}else{f=t[e+b>>2]|0;r=t[e+(b|4)>>2]|0;i=2980+(n<<1<<2)|0;if((f|0)!=(i|0)){if(f>>>0<(t[739]|0)>>>0)ye();if((t[f+12>>2]|0)!=(k|0))ye()}if((r|0)==(f|0)){t[735]=t[735]&~(1<>>0<(t[739]|0)>>>0)ye();i=r+8|0;if((t[i>>2]|0)==(k|0))d=i;else ye()}else d=r+8|0;t[f+12>>2]=r;t[d>>2]=f}}while(0);t[p+4>>2]=a|1;t[p+a>>2]=a;if((p|0)==(t[740]|0)){t[737]=a;return}}else{t[i>>2]=r&-2;t[p+4>>2]=a|1;t[p+a>>2]=a}i=a>>>3;if(a>>>0<256){r=i<<1;n=2980+(r<<2)|0;f=t[735]|0;i=1<>2]|0;if(r>>>0<(t[739]|0)>>>0)ye();else{w=i;m=r}}else{t[735]=f|i;w=2980+(r+2<<2)|0;m=n}t[w>>2]=p;t[m+12>>2]=p;t[p+8>>2]=m;t[p+12>>2]=n;return}i=a>>>8;if(i)if(a>>>0>16777215)n=31;else{w=(i+1048320|0)>>>16&8;m=i<>>16&4;m=m<>>16&2;n=14-(k|w|n)+(m<>>15)|0;n=a>>>(n+7|0)&1|n<<1}else n=0;i=3244+(n<<2)|0;t[p+28>>2]=n;t[p+20>>2]=0;t[p+16>>2]=0;r=t[736]|0;f=1<>2]|0;i:do{if((t[i+4>>2]&-8|0)!=(a|0)){n=a<<((n|0)==31?0:25-(n>>>1)|0);while(1){r=i+16+(n>>>31<<2)|0;f=t[r>>2]|0;if(!f)break;if((t[f+4>>2]&-8|0)==(a|0)){v=f;break i}else{n=n<<1;i=f}}if(r>>>0<(t[739]|0)>>>0)ye();else{t[r>>2]=p;t[p+24>>2]=i;t[p+12>>2]=p;t[p+8>>2]=p;break e}}else v=i}while(0);i=v+8|0;r=t[i>>2]|0;m=t[739]|0;if(r>>>0>=m>>>0&v>>>0>=m>>>0){t[r+12>>2]=p;t[i>>2]=p;t[p+8>>2]=r;t[p+12>>2]=v;t[p+24>>2]=0;break}else ye()}else{t[736]=r|f;t[i>>2]=p;t[p+24>>2]=i;t[p+12>>2]=p;t[p+8>>2]=p}}while(0);p=(t[743]|0)+-1|0;t[743]=p;if(!p)i=3396;else return;while(1){i=t[i>>2]|0;if(!i)break;else i=i+8|0}t[743]=-1;return}function Al(e,i){e=e|0;i=i|0;var r=0;if(e){r=ie(i,e)|0;if((i|e)>>>0>65535)r=((r>>>0)/(e>>>0)|0|0)==(i|0)?r:-1}else r=0;i=yl(r)|0;if(!i)return i|0;if(!(t[i+-4>>2]&3))return i|0;xl(i|0,0,r|0)|0;return i|0}function El(e,i){e=e|0;i=i|0;var r=0,f=0;if(!e){e=yl(i)|0;return e|0}if(i>>>0>4294967231){t[(ms()|0)>>2]=12;e=0;return e|0}r=Tl(e+-8|0,i>>>0<11?16:i+11&-8)|0;if(r){e=r+8|0;return e|0}r=yl(i)|0;if(!r){e=0;return e|0}f=t[e+-4>>2]|0;f=(f&-8)-((f&3|0)==0?8:4)|0;Dl(r|0,e|0,(f>>>0>>0?f:i)|0)|0;Ml(e);e=r;return e|0}function Sl(e,i,r){e=e|0;i=i|0;r=r|0;var f=0;do{if((i|0)!=8){f=i>>>2;if((i&3|0)!=0|(f|0)==0){e=22;return e|0}if(f+1073741823&f){e=22;return e|0}if((-64-i|0)>>>0>>0){e=12;return e|0}else{f=Rl(i>>>0<16?16:i,r)|0;break}}else f=yl(r)|0}while(0);if(!f){e=12;return e|0}t[e>>2]=f;e=0;return e|0}function Tl(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0;b=e+4|0;_=t[b>>2]|0;o=_&-8;c=e+o|0;l=t[739]|0;r=_&3;if(!((r|0)!=1&e>>>0>=l>>>0&e>>>0>>0))ye();f=e+(o|4)|0;n=t[f>>2]|0;if(!(n&1))ye();if(!r){if(i>>>0<256){e=0;return e|0}if(o>>>0>=(i+4|0)>>>0?(o-i|0)>>>0<=t[855]<<1>>>0:0)return e|0;e=0;return e|0}if(o>>>0>=i>>>0){r=o-i|0;if(r>>>0<=15)return e|0;t[b>>2]=_&1|i|2;t[e+(i+4)>>2]=r|3;t[f>>2]=t[f>>2]|1;Cl(e+i|0,r);return e|0}if((c|0)==(t[741]|0)){r=(t[738]|0)+o|0;if(r>>>0<=i>>>0){e=0;return e|0}d=r-i|0;t[b>>2]=_&1|i|2;t[e+(i+4)>>2]=d|1;t[741]=e+i;t[738]=d;return e|0}if((c|0)==(t[740]|0)){f=(t[737]|0)+o|0;if(f>>>0>>0){e=0;return e|0}r=f-i|0;if(r>>>0>15){t[b>>2]=_&1|i|2;t[e+(i+4)>>2]=r|1;t[e+f>>2]=r;f=e+(f+4)|0;t[f>>2]=t[f>>2]&-2;f=e+i|0}else{t[b>>2]=_&1|f|2;f=e+(f+4)|0;t[f>>2]=t[f>>2]|1;f=0;r=0}t[737]=r;t[740]=f;return e|0}if(n&2){e=0;return e|0}h=(n&-8)+o|0;if(h>>>0>>0){e=0;return e|0}d=h-i|0;a=n>>>3;do{if(n>>>0>=256){s=t[e+(o+24)>>2]|0;a=t[e+(o+12)>>2]|0;do{if((a|0)==(c|0)){f=e+(o+20)|0;r=t[f>>2]|0;if(!r){f=e+(o+16)|0;r=t[f>>2]|0;if(!r){u=0;break}}while(1){n=r+20|0;a=t[n>>2]|0;if(a){r=a;f=n;continue}n=r+16|0;a=t[n>>2]|0;if(!a)break;else{r=a;f=n}}if(f>>>0>>0)ye();else{t[f>>2]=0;u=r;break}}else{n=t[e+(o+8)>>2]|0;if(n>>>0>>0)ye();r=n+12|0;if((t[r>>2]|0)!=(c|0))ye();f=a+8|0;if((t[f>>2]|0)==(c|0)){t[r>>2]=a;t[f>>2]=n;u=a;break}else ye()}}while(0);if(s){r=t[e+(o+28)>>2]|0;f=3244+(r<<2)|0;if((c|0)==(t[f>>2]|0)){t[f>>2]=u;if(!u){t[736]=t[736]&~(1<>>0<(t[739]|0)>>>0)ye();r=s+16|0;if((t[r>>2]|0)==(c|0))t[r>>2]=u;else t[s+20>>2]=u;if(!u)break}f=t[739]|0;if(u>>>0>>0)ye();t[u+24>>2]=s;r=t[e+(o+16)>>2]|0;do{if(r)if(r>>>0>>0)ye();else{t[u+16>>2]=r;t[r+24>>2]=u;break}}while(0);r=t[e+(o+20)>>2]|0;if(r)if(r>>>0<(t[739]|0)>>>0)ye();else{t[u+20>>2]=r;t[r+24>>2]=u;break}}}else{n=t[e+(o+8)>>2]|0;f=t[e+(o+12)>>2]|0;r=2980+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)ye();if((t[n+12>>2]|0)!=(c|0))ye()}if((f|0)==(n|0)){t[735]=t[735]&~(1<>>0>>0)ye();r=f+8|0;if((t[r>>2]|0)==(c|0))s=r;else ye()}else s=f+8|0;t[n+12>>2]=f;t[s>>2]=n}}while(0);if(d>>>0<16){t[b>>2]=h|_&1|2;i=e+(h|4)|0;t[i>>2]=t[i>>2]|1;return e|0}else{t[b>>2]=_&1|i|2;t[e+(i+4)>>2]=d|3;_=e+(h|4)|0;t[_>>2]=t[_>>2]|1;Cl(e+i|0,d);return e|0}return 0}function Rl(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0,s=0,l=0;e=e>>>0<16?16:e;if(e+-1&e){r=16;while(1)if(r>>>0>>0)r=r<<1;else{e=r;break}}if((-64-e|0)>>>0<=i>>>0){t[(ms()|0)>>2]=12;l=0;return l|0}s=i>>>0<11?16:i+11&-8;f=yl(s+12+e|0)|0;if(!f){l=0;return l|0}i=f+-8|0;r=e+-1|0;do{if(f&r){n=f+r&0-e;r=n+-8|0;a=i;n=(r-a|0)>>>0>15?r:n+(e+-8)|0;a=n-a|0;e=f+-4|0;f=t[e>>2]|0;r=(f&-8)-a|0;if(!(f&3)){t[n>>2]=(t[i>>2]|0)+a;t[n+4>>2]=r;i=n;break}else{f=n+4|0;t[f>>2]=r|t[f>>2]&1|2;r=n+(r+4)|0;t[r>>2]=t[r>>2]|1;t[e>>2]=a|t[e>>2]&1|2;t[f>>2]=t[f>>2]|1;Cl(i,a);i=n;break}}}while(0);e=i+4|0;r=t[e>>2]|0;if((r&3|0)!=0?(l=r&-8,l>>>0>(s+16|0)>>>0):0){a=l-s|0;t[e>>2]=s|r&1|2;t[i+(s|4)>>2]=a|3;l=i+(l|4)|0;t[l>>2]=t[l>>2]|1;Cl(i+s|0,a)}l=i+8|0;return l|0}function Cl(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0,k=0,w=0,m=0,v=0;k=e+i|0;r=t[e+4>>2]|0;do{if(!(r&1)){u=t[e>>2]|0;if(!(r&3))return;d=e+(0-u)|0;h=u+i|0;o=t[739]|0;if(d>>>0>>0)ye();if((d|0)==(t[740]|0)){f=e+(i+4)|0;r=t[f>>2]|0;if((r&3|0)!=3){v=d;s=h;break}t[737]=h;t[f>>2]=r&-2;t[e+(4-u)>>2]=h|1;t[k>>2]=h;return}a=u>>>3;if(u>>>0<256){n=t[e+(8-u)>>2]|0;f=t[e+(12-u)>>2]|0;r=2980+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)ye();if((t[n+12>>2]|0)!=(d|0))ye()}if((f|0)==(n|0)){t[735]=t[735]&~(1<>>0>>0)ye();r=f+8|0;if((t[r>>2]|0)==(d|0))l=r;else ye()}else l=f+8|0;t[n+12>>2]=f;t[l>>2]=n;v=d;s=h;break}l=t[e+(24-u)>>2]|0;n=t[e+(12-u)>>2]|0;do{if((n|0)==(d|0)){n=16-u|0;f=e+(n+4)|0;r=t[f>>2]|0;if(!r){f=e+n|0;r=t[f>>2]|0;if(!r){c=0;break}}while(1){n=r+20|0;a=t[n>>2]|0;if(a){r=a;f=n;continue}n=r+16|0;a=t[n>>2]|0;if(!a)break;else{r=a;f=n}}if(f>>>0>>0)ye();else{t[f>>2]=0;c=r;break}}else{a=t[e+(8-u)>>2]|0;if(a>>>0>>0)ye();r=a+12|0;if((t[r>>2]|0)!=(d|0))ye();f=n+8|0;if((t[f>>2]|0)==(d|0)){t[r>>2]=n;t[f>>2]=a;c=n;break}else ye()}}while(0);if(l){r=t[e+(28-u)>>2]|0;f=3244+(r<<2)|0;if((d|0)==(t[f>>2]|0)){t[f>>2]=c;if(!c){t[736]=t[736]&~(1<>>0<(t[739]|0)>>>0)ye();r=l+16|0;if((t[r>>2]|0)==(d|0))t[r>>2]=c;else t[l+20>>2]=c;if(!c){v=d;s=h;break}}n=t[739]|0;if(c>>>0>>0)ye();t[c+24>>2]=l;r=16-u|0;f=t[e+r>>2]|0;do{if(f)if(f>>>0>>0)ye();else{t[c+16>>2]=f;t[f+24>>2]=c;break}}while(0);r=t[e+(r+4)>>2]|0;if(r)if(r>>>0<(t[739]|0)>>>0)ye();else{t[c+20>>2]=r;t[r+24>>2]=c;v=d;s=h;break}else{v=d;s=h}}else{v=d;s=h}}else{v=e;s=i}}while(0);o=t[739]|0;if(k>>>0>>0)ye();r=e+(i+4)|0;f=t[r>>2]|0;if(!(f&2)){if((k|0)==(t[741]|0)){m=(t[738]|0)+s|0;t[738]=m;t[741]=v;t[v+4>>2]=m|1;if((v|0)!=(t[740]|0))return;t[740]=0;t[737]=0;return}if((k|0)==(t[740]|0)){m=(t[737]|0)+s|0;t[737]=m;t[740]=v;t[v+4>>2]=m|1;t[v+m>>2]=m;return}s=(f&-8)+s|0;a=f>>>3;do{if(f>>>0>=256){l=t[e+(i+24)>>2]|0;n=t[e+(i+12)>>2]|0;do{if((n|0)==(k|0)){f=e+(i+20)|0;r=t[f>>2]|0;if(!r){f=e+(i+16)|0;r=t[f>>2]|0;if(!r){_=0;break}}while(1){n=r+20|0;a=t[n>>2]|0;if(a){r=a;f=n;continue}n=r+16|0;a=t[n>>2]|0;if(!a)break;else{r=a;f=n}}if(f>>>0>>0)ye();else{t[f>>2]=0;_=r;break}}else{a=t[e+(i+8)>>2]|0;if(a>>>0>>0)ye();r=a+12|0;if((t[r>>2]|0)!=(k|0))ye();f=n+8|0;if((t[f>>2]|0)==(k|0)){t[r>>2]=n;t[f>>2]=a;_=n;break}else ye()}}while(0);if(l){r=t[e+(i+28)>>2]|0;f=3244+(r<<2)|0;if((k|0)==(t[f>>2]|0)){t[f>>2]=_;if(!_){t[736]=t[736]&~(1<>>0<(t[739]|0)>>>0)ye();r=l+16|0;if((t[r>>2]|0)==(k|0))t[r>>2]=_;else t[l+20>>2]=_;if(!_)break}f=t[739]|0;if(_>>>0>>0)ye();t[_+24>>2]=l;r=t[e+(i+16)>>2]|0;do{if(r)if(r>>>0>>0)ye();else{t[_+16>>2]=r;t[r+24>>2]=_;break}}while(0);r=t[e+(i+20)>>2]|0;if(r)if(r>>>0<(t[739]|0)>>>0)ye();else{t[_+20>>2]=r;t[r+24>>2]=_;break}}}else{n=t[e+(i+8)>>2]|0;f=t[e+(i+12)>>2]|0;r=2980+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)ye();if((t[n+12>>2]|0)!=(k|0))ye()}if((f|0)==(n|0)){t[735]=t[735]&~(1<>>0>>0)ye();r=f+8|0;if((t[r>>2]|0)==(k|0))b=r;else ye()}else b=f+8|0;t[n+12>>2]=f;t[b>>2]=n}}while(0);t[v+4>>2]=s|1;t[v+s>>2]=s;if((v|0)==(t[740]|0)){t[737]=s;return}}else{t[r>>2]=f&-2;t[v+4>>2]=s|1;t[v+s>>2]=s}r=s>>>3;if(s>>>0<256){f=r<<1;a=2980+(f<<2)|0;n=t[735]|0;r=1<>2]|0;if(f>>>0<(t[739]|0)>>>0)ye();else{w=r;m=f}}else{t[735]=n|r;w=2980+(f+2<<2)|0;m=a}t[w>>2]=v;t[m+12>>2]=v;t[v+8>>2]=m;t[v+12>>2]=a;return}r=s>>>8;if(r)if(s>>>0>16777215)a=31;else{w=(r+1048320|0)>>>16&8;m=r<>>16&4;m=m<>>16&2;a=14-(k|w|a)+(m<>>15)|0;a=s>>>(a+7|0)&1|a<<1}else a=0;r=3244+(a<<2)|0;t[v+28>>2]=a;t[v+20>>2]=0;t[v+16>>2]=0;f=t[736]|0;n=1<>2]=v;t[v+24>>2]=r;t[v+12>>2]=v;t[v+8>>2]=v;return}r=t[r>>2]|0;e:do{if((t[r+4>>2]&-8|0)!=(s|0)){a=s<<((a|0)==31?0:25-(a>>>1)|0);while(1){f=r+16+(a>>>31<<2)|0;n=t[f>>2]|0;if(!n)break;if((t[n+4>>2]&-8|0)==(s|0)){r=n;break e}else{a=a<<1;r=n}}if(f>>>0<(t[739]|0)>>>0)ye();t[f>>2]=v;t[v+24>>2]=r;t[v+12>>2]=v;t[v+8>>2]=v;return}}while(0);f=r+8|0;n=t[f>>2]|0;m=t[739]|0;if(!(n>>>0>=m>>>0&r>>>0>=m>>>0))ye();t[n+12>>2]=v;t[f>>2]=v;t[v+8>>2]=n;t[v+12>>2]=r;t[v+24>>2]=0;return}function Pl(){}function Il(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;f=i-f-(r>>>0>e>>>0|0)>>>0;return(I=f,e-r>>>0|0)|0}function Ol(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){I=i>>r;return e>>>r|(i&(1<>r-32|0}function xl(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;n=e+r|0;if((r|0)>=20){i=i&255;s=e&3;l=i|i<<8|i<<16|i<<24;a=n&~3;if(s){s=e+4-s|0;while((e|0)<(s|0)){f[e>>0]=i;e=e+1|0}}while((e|0)<(a|0)){t[e>>2]=l;e=e+4|0}}while((e|0)<(n|0)){f[e>>0]=i;e=e+1|0}return e-r|0}function Ll(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){I=i<>>32-r;return e<>>0;return(I=i+f+(r>>>0>>0|0)>>>0,r|0)|0}function zl(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){I=i>>>r;return e>>>r|(i&(1<>>r-32|0}function Dl(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;if((r|0)>=4096)return Te(e|0,i|0,r|0)|0;n=e|0;if((e&3)==(i&3)){while(e&3){if(!r)return n|0;f[e>>0]=f[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}while((r|0)>=4){t[e>>2]=t[i>>2];e=e+4|0;i=i+4|0;r=r-4|0}}while((r|0)>0){f[e>>0]=f[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}return n|0}function Nl(e){e=e|0;var i=0;i=f[_+(e&255)>>0]|0;if((i|0)<8)return i|0;i=f[_+(e>>8&255)>>0]|0;if((i|0)<8)return i+8|0;i=f[_+(e>>16&255)>>0]|0;if((i|0)<8)return i+16|0;return(f[_+(e>>>24)>>0]|0)+24|0}function Fl(e,i){e=e|0;i=i|0;var r=0,f=0,n=0,t=0;t=e&65535;n=i&65535;r=ie(n,t)|0;f=e>>>16;e=(r>>>16)+(ie(n,f)|0)|0;n=i>>>16;i=ie(n,t)|0;return(I=(e>>>16)+(ie(n,f)|0)+(((e&65535)+i|0)>>>16)|0,e+i<<16|r&65535|0)|0}function Hl(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,t=0,a=0,s=0,l=0,o=0;o=i>>31|((i|0)<0?-1:0)<<1;l=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;t=f>>31|((f|0)<0?-1:0)<<1;n=((f|0)<0?-1:0)>>31|((f|0)<0?-1:0)<<1;s=Il(o^e,l^i,o,l)|0;a=I;e=t^o;i=n^l;return Il(($l(s,a,Il(t^r,n^f,t,n)|0,I,0)|0)^e,I^i,e,i)|0}function Ul(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0,s=0,l=0,o=0,u=0;n=c;c=c+16|0;l=n|0;s=i>>31|((i|0)<0?-1:0)<<1;a=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;u=f>>31|((f|0)<0?-1:0)<<1;o=((f|0)<0?-1:0)>>31|((f|0)<0?-1:0)<<1;e=Il(s^e,a^i,s,a)|0;i=I;$l(e,i,Il(u^r,o^f,u,o)|0,I,l)|0;f=Il(t[l>>2]^s,t[l+4>>2]^a,s,a)|0;r=I;c=n;return(I=r,f)|0}function jl(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,t=0;n=e;t=r;r=Fl(n,t)|0;e=I;return(I=(ie(i,t)|0)+(ie(f,n)|0)+e|e&0,r|0|0)|0}function Yl(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;return $l(e,i,r,f,0)|0}function ql(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;var n=0,a=0;a=c;c=c+16|0;n=a|0;$l(e,i,r,f,n)|0;c=a;return(I=t[n+4>>2]|0,t[n>>2]|0)|0}function $l(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,h=0,d=0,b=0,_=0;c=e;o=i;u=o;s=r;d=f;l=d;if(!u){a=(n|0)!=0;if(!l){if(a){t[n>>2]=(c>>>0)%(s>>>0);t[n+4>>2]=0}d=0;n=(c>>>0)/(s>>>0)>>>0;return(I=d,n)|0}else{if(!a){d=0;n=0;return(I=d,n)|0}t[n>>2]=e|0;t[n+4>>2]=i&0;d=0;n=0;return(I=d,n)|0}}a=(l|0)==0;do{if(s){if(!a){a=(fe(l|0)|0)-(fe(u|0)|0)|0;if(a>>>0<=31){h=a+1|0;l=31-a|0;i=a-31>>31;s=h;e=c>>>(h>>>0)&i|u<>>(h>>>0)&i;a=0;l=c<>2]=e|0;t[n+4>>2]=o|i&0;d=0;n=0;return(I=d,n)|0}a=s-1|0;if(a&s){l=(fe(s|0)|0)+33-(fe(u|0)|0)|0;_=64-l|0;h=32-l|0;o=h>>31;b=l-32|0;i=b>>31;s=l;e=h-1>>31&u>>>(b>>>0)|(u<>>(l>>>0))&i;i=i&u>>>(l>>>0);a=c<<_&o;l=(u<<_|c>>>(b>>>0))&o|c<>31;break}if(n){t[n>>2]=a&c;t[n+4>>2]=0}if((s|0)==1){b=o|i&0;_=e|0|0;return(I=b,_)|0}else{_=Nl(s|0)|0;b=u>>>(_>>>0)|0;_=u<<32-_|c>>>(_>>>0)|0;return(I=b,_)|0}}else{if(a){if(n){t[n>>2]=(u>>>0)%(s>>>0);t[n+4>>2]=0}b=0;_=(u>>>0)/(s>>>0)>>>0;return(I=b,_)|0}if(!c){if(n){t[n>>2]=0;t[n+4>>2]=(u>>>0)%(l>>>0)}b=0;_=(u>>>0)/(l>>>0)>>>0;return(I=b,_)|0}a=l-1|0;if(!(a&l)){if(n){t[n>>2]=e|0;t[n+4>>2]=a&u|i&0}b=0;_=u>>>((Nl(l|0)|0)>>>0);return(I=b,_)|0}a=(fe(l|0)|0)-(fe(u|0)|0)|0;if(a>>>0<=30){i=a+1|0;l=31-a|0;s=i;e=u<>>(i>>>0);i=u>>>(i>>>0);a=0;l=c<>2]=e|0;t[n+4>>2]=o|i&0;b=0;_=0;return(I=b,_)|0}}while(0);if(!s){u=l;o=0;l=0}else{h=r|0|0;c=d|f&0;u=Bl(h|0,c|0,-1,-1)|0;r=I;o=l;l=0;do{f=o;o=a>>>31|o<<1;a=l|a<<1;f=e<<1|f>>>31|0;d=e>>>31|i<<1|0;Il(u,r,f,d)|0;_=I;b=_>>31|((_|0)<0?-1:0)<<1;l=b&1;e=Il(f,d,b&h,(((_|0)<0?-1:0)>>31|((_|0)<0?-1:0)<<1)&c)|0;i=I;s=s-1|0}while((s|0)!=0);u=o;o=0}s=0;if(n){t[n>>2]=e;t[n+4>>2]=i}b=(a|0)>>>31|(u|s)<<1|(s<<1|a>>>31)&0|o;_=(a<<1|0>>>31)&-2|l;return(I=b,_)|0}function Vl(e,i,r,f,n,t,a,s){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;s=s|0;return vo[e&3](i|0,r|0,f|0,n|0,t|0,a|0,s|0)|0}function Xl(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;return po[e&63](i|0,r|0,f|0)|0}function Gl(e,i){e=e|0;i=i|0;return+go[e&3](i|0)}function Kl(e,i){e=e|0;i=i|0;yo[e&7](i|0)}function Wl(e,i,r){e=e|0;i=i|0;r=r|0;Mo[e&7](i|0,r|0)}function Zl(e,i,r,f,n,t,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;return Ao[e&7](i|0,r|0,f|0,n|0,t|0,a|0)|0}function Jl(e,i){e=e|0;i=i|0;return Eo[e&15](i|0)|0}function Ql(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;So[e&15](i|0,r|0,f|0)}function eo(e,i,r,f,n,t,a,s,l,o,u,c){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;return To[e&3](i|0,r|0,f|0,n|0,t|0,a|0,s|0,l|0,o|0,u|0,c|0)|0}function io(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;return Ro[e&63](i|0,r|0,f|0,n|0)|0}function ro(e,i,r){e=e|0;i=i|0;r=r|0;return Co[e&7](i|0,r|0)|0}function fo(e,i,r,f,n,t){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;return Po[e&3](i|0,r|0,f|0,n|0,t|0)|0}function no(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;Io[e&3](i|0,r|0,f|0,n|0)}function to(e,i,r,f,n,t,a){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;ne(0);return 0}function ao(e,i,r){e=e|0;i=i|0;r=r|0;ne(1);return 0}function so(e){e=e|0;ne(2);return 0.0}function lo(e){e=e|0;ne(3)}function oo(e,i){e=e|0;i=i|0;ne(4)}function uo(e,i,r,f,n,t){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;ne(5);return 0}function co(e){e=e|0;ne(6);return 0}function ho(e,i,r){e=e|0;i=i|0;r=r|0;ne(7)}function bo(e,i,r,f,n,t,a,s,l,o,u){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;t=t|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;ne(8);return 0}function _o(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;ne(9);return 0}function ko(e,i){e=e|0;i=i|0;ne(10);return 0}function wo(e,i,r,f,n){e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;ne(11);return 0}function mo(e,i,r,f){e=e|0;i=i|0;r=r|0;f=f|0;ne(12)}var vo=[to,it,Li,to];var po=[ao,ml,Ns,zs,yf,Mf,Af,Ef,Pn,In,xn,Wn,ut,Si,Hi,ct,ht,Ei,Ti,Ln,Bn,zn,Dn,kt,wt,mt,vt,gt,yt,At,Et,St,Tt,Rt,Ct,Pt,It,Ot,xt,Lt,Bt,zt,Dt,Nt,Ft,Ht,Ut,jt,Yt,qt,$t,Vt,qi,$i,Vi,Xi,Gi,Ki,Wi,Zi,Bs,Ds,ao,ao];var go=[so,Xt,Gt,so];var yo=[lo,Xn,xi,$r,Vr,bl,_l,lo];var Mo=[oo,lf,of,uf,qf,$n,Mi,oo];var Ao=[uo,et,Oi,bt,Ii,uo,uo,uo];var Eo=[co,Ls,at,st,Fi,Ni,Us,Ta,Aa,co,co,co,co,co,co,co];var So=[ho,mi,vi,pi,gi,hi,di,bi,_i,li,oi,ui,ci,ft,Di,ho];var To=[bo,Qn,Pi,bo];var Ro=[_o,ea,ia,$e,Ve,Xe,Ge,Ke,We,Ze,Je,Qe,ei,ii,ri,fi,ni,ti,ai,si,lr,or,ur,rr,fr,nr,tr,ar,sr,mf,vf,pf,gf,lt,Zn,yi,Ci,dt,Gn,Ri,Ai,_o,_o,_o,_o,_o,_o,_o,_o,_o,_o,_o,_o,_o,_o,_o,_o,_o,_o,_o,_o,_o,_o,_o];var Co=[ko,On,Ji,Qi,er,ir,ko,ko];var Po=[wo,ot,Bi,wo];var Io=[mo,Ia,La,mo];return{_opj_stream_destroy:Tf,_opj_stream_set_read_function:Rf,_opj_read_tile_header:on,_opj_set_warning_handler:Jf,_opj_destroy_cstr_info:En,_opj_image_create:Vf,_opj_set_error_handler:Qf,_opj_stream_set_user_data:Of,_opj_end_decompress:vn,_bitshift64Lshr:zl,_opj_stream_set_seek_function:Cf,_opj_decode:sn,_opj_set_decoded_resolution_factor:hn,_i64Add:Bl,_opj_stream_create_default_file_stream:Rn,_opj_set_default_decoder_parameters:nn,_bitshift64Ashr:Ol,_opj_get_decoded_tile:cn,_memset:xl,_opj_version:rn,_memcpy:Dl,_opj_destroy_cstr_index:Tn,_opj_stream_set_user_data_length:xf,_opj_stream_set_skip_function:If,_opj_image_destroy:Xf,_opj_stream_create_file_stream:Cn,_opj_setup_encoder:_n,_opj_stream_default_create:Sf,_bitshift64Shl:Ll,_opj_stream_create:wf,_jp2_version:sf,_i64Subtract:Il,_opj_get_cstr_index:Sn,_opj_encode:wn,_opj_read_header:an,_opj_get_cstr_info:An,_opj_set_default_encoder_parameters:bn,_opj_set_decode_area:ln,_opj_stream_set_write_function:Pf,_opj_dump_codec:Mn,_opj_create_decompress:fn,_opj_decode_tile_data:un,_free:Ml,_opj_image_tile_create:Wf,_opj_set_MCT:pn,_opj_set_info_handler:Zf,_opj_start_compress:kn,_opj_write_tile:gn,_opj_setup_decoder:tn,_malloc:yl,_opj_end_compress:mn,_opj_destroy_codec:yn,_jp2_decode:af,_opj_stream_create_buffer_stream:en,_opj_create_compress:dn,runPostSets:Pl,stackAlloc:Wr,stackSave:Zr,stackRestore:Jr,establishStackSpace:Qr,setThrew:ef,setTempRet0:nf,getTempRet0:tf,dynCall_iiiiiiii:Vl,dynCall_iiii:Xl,dynCall_di:Gl,dynCall_vi:Kl,dynCall_vii:Wl,dynCall_iiiiiii:Zl,dynCall_ii:Jl,dynCall_viii:Ql,dynCall_iiiiiiiiiiii:eo,dynCall_iiiii:io,dynCall_iii:ro,dynCall_iiiiii:fo,dynCall_viiii:no}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_opj_stream_destroy=Module._opj_stream_destroy=asm._opj_stream_destroy,_opj_stream_set_read_function=Module._opj_stream_set_read_function=asm._opj_stream_set_read_function,_opj_read_tile_header=Module._opj_read_tile_header=asm._opj_read_tile_header,_opj_set_warning_handler=Module._opj_set_warning_handler=asm._opj_set_warning_handler,_opj_destroy_cstr_info=Module._opj_destroy_cstr_info=asm._opj_destroy_cstr_info,_opj_image_create=Module._opj_image_create=asm._opj_image_create,_opj_set_error_handler=Module._opj_set_error_handler=asm._opj_set_error_handler,_opj_image_tile_create=Module._opj_image_tile_create=asm._opj_image_tile_create,_opj_end_decompress=Module._opj_end_decompress=asm._opj_end_decompress,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_opj_stream_set_seek_function=Module._opj_stream_set_seek_function=asm._opj_stream_set_seek_function,_opj_decode=Module._opj_decode=asm._opj_decode,_opj_set_decoded_resolution_factor=Module._opj_set_decoded_resolution_factor=asm._opj_set_decoded_resolution_factor,_opj_stream_create_default_file_stream=Module._opj_stream_create_default_file_stream=asm._opj_stream_create_default_file_stream,_opj_encode=Module._opj_encode=asm._opj_encode,_bitshift64Ashr=Module._bitshift64Ashr=asm._bitshift64Ashr,_opj_get_decoded_tile=Module._opj_get_decoded_tile=asm._opj_get_decoded_tile,_memset=Module._memset=asm._memset,_opj_version=Module._opj_version=asm._opj_version,_memcpy=Module._memcpy=asm._memcpy,_opj_destroy_cstr_index=Module._opj_destroy_cstr_index=asm._opj_destroy_cstr_index,_opj_stream_set_user_data_length=Module._opj_stream_set_user_data_length=asm._opj_stream_set_user_data_length,_opj_stream_set_skip_function=Module._opj_stream_set_skip_function=asm._opj_stream_set_skip_function,_opj_image_destroy=Module._opj_image_destroy=asm._opj_image_destroy,_opj_stream_create_file_stream=Module._opj_stream_create_file_stream=asm._opj_stream_create_file_stream,_opj_setup_encoder=Module._opj_setup_encoder=asm._opj_setup_encoder,_opj_stream_default_create=Module._opj_stream_default_create=asm._opj_stream_default_create,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_opj_stream_create=Module._opj_stream_create=asm._opj_stream_create,_jp2_version=Module._jp2_version=asm._jp2_version,_i64Subtract=Module._i64Subtract=asm._i64Subtract,_opj_get_cstr_index=Module._opj_get_cstr_index=asm._opj_get_cstr_index,_opj_set_default_decoder_parameters=Module._opj_set_default_decoder_parameters=asm._opj_set_default_decoder_parameters,_i64Add=Module._i64Add=asm._i64Add,_opj_get_cstr_info=Module._opj_get_cstr_info=asm._opj_get_cstr_info,_opj_set_default_encoder_parameters=Module._opj_set_default_encoder_parameters=asm._opj_set_default_encoder_parameters,_opj_set_decode_area=Module._opj_set_decode_area=asm._opj_set_decode_area,_opj_stream_set_write_function=Module._opj_stream_set_write_function=asm._opj_stream_set_write_function,_opj_dump_codec=Module._opj_dump_codec=asm._opj_dump_codec,_opj_read_header=Module._opj_read_header=asm._opj_read_header,_opj_create_decompress=Module._opj_create_decompress=asm._opj_create_decompress,_opj_decode_tile_data=Module._opj_decode_tile_data=asm._opj_decode_tile_data,_opj_set_info_handler=Module._opj_set_info_handler=asm._opj_set_info_handler,_opj_stream_set_user_data=Module._opj_stream_set_user_data=asm._opj_stream_set_user_data,_opj_set_MCT=Module._opj_set_MCT=asm._opj_set_MCT,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,_opj_start_compress=Module._opj_start_compress=asm._opj_start_compress,_opj_write_tile=Module._opj_write_tile=asm._opj_write_tile,_opj_setup_decoder=Module._opj_setup_decoder=asm._opj_setup_decoder,_malloc=Module._malloc=asm._malloc,_opj_end_compress=Module._opj_end_compress=asm._opj_end_compress,_opj_destroy_codec=Module._opj_destroy_codec=asm._opj_destroy_codec,_jp2_decode=Module._jp2_decode=asm._jp2_decode,_opj_stream_create_buffer_stream=Module._opj_stream_create_buffer_stream=asm._opj_stream_create_buffer_stream,_opj_create_compress=Module._opj_create_compress=asm._opj_create_compress,dynCall_iiiiiiii=Module.dynCall_iiiiiiii=asm.dynCall_iiiiiiii,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_iiiiiii=Module.dynCall_iiiiiii=asm.dynCall_iiiiiii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_iiiiiiiiiiii=Module.dynCall_iiiiiiiiiiii=asm.dynCall_iiiiiiiiiiii,dynCall_iiiii=Module.dynCall_iiiii=asm.dynCall_iiiii,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii,initialStackTop;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}Runtime.stackAlloc=asm.stackAlloc,Runtime.stackSave=asm.stackSave,Runtime.stackRestore=asm.stackRestore,Runtime.establishStackSpace=asm.establishStackSpace,Runtime.setTempRet0=asm.setTempRet0,Runtime.getTempRet0=asm.getTempRet0,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var preloadStartTime=null,calledMain=!1;function run(e){function i(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Module.setStatus("")}),1),i()}),1)):i()))}function exit(e,i){if(!i||!Module.noExitRuntime)throw Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE?(process.stdout.once("drain",(function(){process.exit(e)})),console.log(" "),setTimeout((function(){process.exit(e)}),500)):ENVIRONMENT_IS_SHELL&&"function"==typeof quit&&quit(e),new ExitStatus(e)}dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){assert(0==runDependencies,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),assert(0==__ATPRERUN__.length,"cannot call main when preRun functions remain to be called"),e=e||[],ensureInitRuntime();var i=e.length+1;function r(){for(var e=0;e<3;e++)f.push(0)}var f=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];r();for(var n=0;n0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),Module};module.exports=OpenJPEG},function(e,i){"use strict";var r={};function f(e){r.verbosity>=r.VERBOSITY_LEVELS.infos&&console.log("Info: "+e)}function n(e){r.verbosity>=r.VERBOSITY_LEVELS.warnings&&console.log("Warning: "+e)}function t(e,i,r){return Object.defineProperty(e,i,{value:r,enumerable:!0,configurable:!0,writable:!1}),r}function a(e){for(var i=1,r=0;e>i;)i<<=1,r++;return r}function s(e,i){return e[i]<<8|e[i+1]}function l(e,i){return(e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3])>>>0}function o(){var e={};return e.promise=new Promise((function(i,r){e.resolve=i,e.reject=r})),e}var u=function(){function e(){this.failOnCorruptedImage=!1}function i(e,i){e.x0=Math.ceil(i.XOsiz/e.XRsiz),e.x1=Math.ceil(i.Xsiz/e.XRsiz),e.y0=Math.ceil(i.YOsiz/e.YRsiz),e.y1=Math.ceil(i.Ysiz/e.YRsiz),e.width=e.x1-e.x0,e.height=e.y1-e.y0}function r(e,i){for(var r,f=e.SIZ,n=[],t=Math.ceil((f.Xsiz-f.XTOsiz)/f.XTsiz),a=Math.ceil((f.Ysiz-f.YTOsiz)/f.YTsiz),s=0;a>s;s++)for(var l=0;t>l;l++)(r={}).tx0=Math.max(f.XTOsiz+l*f.XTsiz,f.XOsiz),r.ty0=Math.max(f.YTOsiz+s*f.YTsiz,f.YOsiz),r.tx1=Math.min(f.XTOsiz+(l+1)*f.XTsiz,f.Xsiz),r.ty1=Math.min(f.YTOsiz+(s+1)*f.YTsiz,f.Ysiz),r.width=r.tx1-r.tx0,r.height=r.ty1-r.ty0,r.components=[],n.push(r);e.tiles=n;for(var o=0,u=f.Csiz;u>o;o++)for(var c=i[o],h=0,d=n.length;d>h;h++){var b={};r=n[h],b.tcx0=Math.ceil(r.tx0/c.XRsiz),b.tcy0=Math.ceil(r.ty0/c.YRsiz),b.tcx1=Math.ceil(r.tx1/c.XRsiz),b.tcy1=Math.ceil(r.ty1/c.YRsiz),b.width=b.tcx1-b.tcx0,b.height=b.tcy1-b.tcy0,r.components[o]=b}}function t(e,i,r){var f=i.codingStyleParameters,n={};return f.entropyCoderWithCustomPrecincts?(n.PPx=f.precinctsSizes[r].PPx,n.PPy=f.precinctsSizes[r].PPy):(n.PPx=15,n.PPy=15),n.xcb_=r>0?Math.min(f.xcb,n.PPx-1):Math.min(f.xcb,n.PPx),n.ycb_=r>0?Math.min(f.ycb,n.PPy-1):Math.min(f.ycb,n.PPy),n}function o(e,i,r){var f=1<i.trx0?Math.ceil(i.trx1/f)-Math.floor(i.trx0/f):0,o=i.try1>i.try0?Math.ceil(i.try1/n)-Math.floor(i.try0/n):0,u=l*o;i.precinctParameters={precinctWidth:f,precinctHeight:n,numprecinctswide:l,numprecinctshigh:o,numprecincts:u,precinctWidthInSubband:a,precinctHeightInSubband:s}}function u(e,i,r){var f,n,t,a,s=r.xcb_,l=r.ycb_,o=1<>s,h=i.tby0>>l,d=i.tbx1+o-1>>s,b=i.tby1+u-1>>l,_=i.resolution.precinctParameters,k=[],w=[];for(n=h;b>n;n++)for(f=c;d>f;f++){if((t={cbx:f,cby:n,tbx0:o*f,tby0:u*n,tbx1:o*(f+1),tby1:u*(n+1)}).tbx0_=Math.max(i.tbx0,t.tbx0),t.tby0_=Math.max(i.tby0,t.tby0),t.tbx1_=Math.min(i.tbx1,t.tbx1),t.tby1_=Math.min(i.tby1,t.tby1),a=Math.floor((t.tbx0_-i.tbx0)/_.precinctWidthInSubband)+Math.floor((t.tby0_-i.tby0)/_.precinctHeightInSubband)*_.numprecinctswide,t.precinctNumber=a,t.subbandType=i.type,t.Lblock=3,!(t.tbx1_<=t.tbx0_||t.tby1_<=t.tby0_)){k.push(t);var m=w[a];void 0!==m?(fm.cbxMax&&(m.cbxMax=f),nm.cbyMax&&(m.cbyMax=n)):w[a]=m={cbxMin:f,cbyMin:n,cbxMax:f,cbyMax:n},t.precinct=m}}i.codeblockParameters={codeblockWidth:s,codeblockHeight:l,numcodeblockwide:d-c+1,numcodeblockhigh:b-h+1},i.codeblocks=k,i.precincts=w}function h(e,i,r){for(var f=[],n=e.subbands,t=0,a=n.length;a>t;t++)for(var s=n[t].codeblocks,l=0,o=s.length;o>l;l++){var u=s[l];u.precinctNumber===i&&f.push(u)}return{layerNumber:r,codeblocks:f}}function d(e){for(var i=e.SIZ,r=e.currentTile.index,f=e.tiles[r],n=f.codingStyleDefaultParameters.layersCount,t=i.Csiz,a=0,s=0;t>s;s++)a=Math.max(a,f.components[s].codingStyleParameters.decompositionLevelsCount);var l=0,o=0,u=0,c=0;this.nextPacket=function(){for(;n>l;l++){for(;a>=o;o++){for(;t>u;u++){var e=f.components[u];if(!(o>e.codingStyleParameters.decompositionLevelsCount)){for(var i=e.resolutions[o],r=i.precinctParameters.numprecincts;r>c;){var s=h(i,c,l);return c++,s}c=0}}u=0}o=0}}}function b(e){for(var i=e.SIZ,r=e.currentTile.index,f=e.tiles[r],n=f.codingStyleDefaultParameters.layersCount,t=i.Csiz,a=0,s=0;t>s;s++)a=Math.max(a,f.components[s].codingStyleParameters.decompositionLevelsCount);var l=0,o=0,u=0,c=0;this.nextPacket=function(){for(;a>=l;l++){for(;n>o;o++){for(;t>u;u++){var e=f.components[u];if(!(l>e.codingStyleParameters.decompositionLevelsCount)){for(var i=e.resolutions[l],r=i.precinctParameters.numprecincts;r>c;){var s=h(i,c,o);return c++,s}c=0}}u=0}o=0}}}function _(e){var i,r,f,n,t=e.SIZ,a=e.currentTile.index,s=e.tiles[a],l=s.codingStyleDefaultParameters.layersCount,o=t.Csiz,u=0;for(f=0;o>f;f++){var c=s.components[f];u=Math.max(u,c.codingStyleParameters.decompositionLevelsCount)}var d=new Int32Array(u+1);for(r=0;u>=r;++r){var b=0;for(f=0;o>f;++f){var _=s.components[f].resolutions;r<_.length&&(b=Math.max(b,_[r].precinctParameters.numprecincts))}d[r]=b}i=0,r=0,f=0,n=0,this.nextPacket=function(){for(;u>=r;r++){for(;nf;f++){var e=s.components[f];if(!(r>e.codingStyleParameters.decompositionLevelsCount)){var t=e.resolutions[r],a=t.precinctParameters.numprecincts;if(!(n>=a)){for(;l>i;){var c=h(t,n,i);return i++,c}i=0}}}f=0}n=0}}}function k(e){var i=e.SIZ,r=e.currentTile.index,f=e.tiles[r],n=f.codingStyleDefaultParameters.layersCount,t=i.Csiz,a=v(f),s=a,l=0,o=0,u=0,c=0,d=0;this.nextPacket=function(){for(;du;u++){for(var e=f.components[u],i=e.codingStyleParameters.decompositionLevelsCount;i>=o;o++){var r=e.resolutions[o],b=a.components[u].resolutions[o],_=m(c,d,b,s,r);if(null!==_){for(;n>l;){var k=h(r,_,l);return l++,k}l=0}}o=0}u=0}c=0}}}function w(e){var i=e.SIZ,r=e.currentTile.index,f=e.tiles[r],n=f.codingStyleDefaultParameters.layersCount,t=i.Csiz,a=v(f),s=0,l=0,o=0,u=0,c=0;this.nextPacket=function(){for(;t>o;++o){for(var e=f.components[o],i=a.components[o],r=e.codingStyleParameters.decompositionLevelsCount;c=l;l++){var d=e.resolutions[l],b=i.resolutions[l],_=m(u,c,b,i,d);if(null!==_){for(;n>s;){var k=h(d,_,s);return s++,k}s=0}}l=0}u=0}c=0}}}function m(e,i,r,f,n){var t=e*f.minWidth,a=i*f.minHeight;if(t%r.width!=0||a%r.height!=0)return null;var s=a/r.width*n.precinctParameters.numprecinctswide;return t/r.height+s}function v(e){for(var i=e.components.length,r=Number.MAX_VALUE,f=Number.MAX_VALUE,n=0,t=0,a=new Array(i),s=0;i>s;s++){for(var l=e.components[s],o=l.codingStyleParameters.decompositionLevelsCount,u=new Array(o+1),c=Number.MAX_VALUE,h=Number.MAX_VALUE,d=0,b=0,_=1,k=o;k>=0;--k){var w=l.resolutions[k],m=_*w.precinctParameters.precinctWidth,v=_*w.precinctParameters.precinctHeight;c=Math.min(c,m),h=Math.min(h,v),d=Math.max(d,w.precinctParameters.numprecinctswide),b=Math.max(b,w.precinctParameters.numprecinctshigh),u[k]={width:m,height:v},_<<=1}r=Math.min(r,c),f=Math.min(f,h),n=Math.max(n,d),t=Math.max(t,b),a[s]={resolutions:u,minWidth:c,minHeight:h,maxNumWide:d,maxNumHigh:b}}return{components:a,minWidth:r,minHeight:f,maxNumWide:n,maxNumHigh:t}}function p(e){for(var i=e.SIZ,r=e.currentTile.index,f=e.tiles[r],n=i.Csiz,a=0;n>a;a++){for(var s=f.components[a],l=s.codingStyleParameters.decompositionLevelsCount,c=[],h=[],m=0;l>=m;m++){var v,p=t(0,s,m),g={},y=1<h;){if(r+c>=i.length)throw new Error("Unexpected EOF");var f=i[r+c];c++,d?(u=u<<7|f,h+=7,d=!1):(u=u<<8|f,h+=8),255===f&&(d=!0)}return u>>>(h-=e)&(1<e?e+3:31>(e=n(5))?e+6:(e=n(7))+37}for(var u,c=0,h=0,d=!1,b=e.currentTile.index,_=e.tiles[b],k=e.COD.sopMarkerUsed,w=e.COD.ephMarkerUsed,m=_.packetsIterator;f>c;)try{l(),k&&t(145)&&s(4);var v=m.nextPacket();if(void 0===v)return;if(!n(1))continue;for(var p,g=v.layerNumber,y=[],M=0,A=v.codeblocks.length;A>M;M++){var E=(p=v.codeblocks[M]).precinct,S=p.cbx-E.cbxMin,C=p.cby-E.cbyMin,P=!1,I=!1;if(void 0!==p.included)P=!!n(1);else{var O,x;if(void 0!==(E=p.precinct).inclusionTree)O=E.inclusionTree;else{var L=E.cbxMax-E.cbxMin+1,B=E.cbyMax-E.cbyMin+1;O=new R(L,B),x=new T(L,B),E.inclusionTree=O,E.zeroBitPlanesTree=x}for(O.reset(S,C,g);;){if(c>=i.length)return;if(O.isAboveThreshold())break;if(O.isKnown())O.nextLevel();else if(n(1)){if(O.setKnown(),O.isLeaf()){p.included=!0,P=I=!0;break}O.nextLevel()}else O.incrementValue()}}if(P){if(I){for((x=E.zeroBitPlanesTree).reset(S,C);;){if(c>=i.length)return;if(n(1)){if(!x.nextLevel())break}else x.incrementValue()}p.zeroBitPlanes=x.value}for(var z=o();n(1);)p.Lblock++;var D=a(z),N=n((1<z?D-1:D)+p.Lblock);y.push({codeblock:p,codingpasses:z,dataLength:N})}}for(l(),w&&t(146);y.length>0;){var F=y.shift();void 0===(p=F.codeblock).data&&(p.data=[]),p.data.push({data:i,start:r+c,end:r+c+F.dataLength,codingpasses:F.codingpasses}),c+=F.dataLength}}catch(e){return}return c}function y(e,i,r,f,n,t,a,s){for(var l=f.tbx0,o=f.tby0,u=f.tbx1-f.tbx0,h=f.codeblocks,d="H"===f.type.charAt(0)?1:0,b="H"===f.type.charAt(1)?i:0,_=0,k=h.length;k>_;++_){var w=h[_],m=w.tbx1_-w.tbx0_,v=w.tby1_-w.tby0_;if(0!==m&&0!==v&&void 0!==w.data){var p,g;p=new C(m,v,w.subbandType,w.zeroBitPlanes,t),g=2;var y,M,A,E=w.data,S=0,T=0;for(y=0,M=E.length;M>y;y++)S+=(A=E[y]).end-A.start,T+=A.codingpasses;var R=new Int16Array(S),P=0;for(y=0,M=E.length;M>y;y++){var I=(A=E[y]).data.subarray(A.start,A.end);R.set(I,P),P+=I.length}var O=new c(R,0,S);for(p.setDecoder(O),y=0;T>y;y++){switch(g){case 0:p.runSignificancePropogationPass();break;case 1:p.runMagnitudeRefinementPass();break;case 2:p.runCleanupPass(),s&&p.checkSegmentationSymbol()}g=(g+1)%3}var x,L,B,z=w.tbx0_-l+(w.tby0_-o)*u,D=p.coefficentsSign,N=p.coefficentsMagnitude,F=p.bitsDecoded,H=a?0:.5;P=0;var U="LL"!==f.type;for(y=0;v>y;y++){var j=2*(z/u|0)*(i-u)+d+b;for(x=0;m>x;x++){if(0!==(L=N[P])){L=(L+H)*n,0!==D[P]&&(L=-L),B=F[P];var Y=U?j+(z<<1):z;e[Y]=a&&B>=t?L:L*(1<=k;k++){for(var w=f.resolutions[k],m=w.trx1-w.trx0,v=w.try1-w.try0,p=new Float32Array(m*v),g=0,M=w.subbands.length;M>g;g++){var A,E;l?(A=s[_].mu,E=s[_].epsilon,_++):(A=s[0].mu,E=s[0].epsilon+(k>0?1-k:0));var T=w.subbands[g],R=S[T.type];y(p,m,0,T,h?1:Math.pow(2,c+R-E)*(1+A/2048),o+E-1,h,u)}b.push({width:m,height:v,items:p})}var C=d.calculate(b,f.tcx0,f.tcy0);return{left:f.tcx0,top:f.tcy0,width:C.width,height:C.height,items:C.items}}function A(e){for(var i=e.SIZ,r=e.components,f=i.Csiz,n=[],t=0,a=e.tiles.length;a>t;t++){var s,l=e.tiles[t],o=[];for(s=0;f>s;s++)o[s]=M(e,l,s);var u=o[0];if(N=r[0].isSigned)var c=new Int16Array(u.items.length*f);else c=new Uint16Array(u.items.length*f);var h,d,b,_,k,w,m,v,p,g,y,A,E,S,T,R={left:u.left,top:u.top,width:u.width,height:u.height,items:c},C=0;if(l.codingStyleDefaultParameters.multipleComponentTransform){var P=4===f,I=o[0].items,O=o[1].items,x=o[2].items,L=P?o[3].items:null;d=.5+(128<<(h=r[0].precision-8)),_=-(k=.5*(b=255*(1<w;w++,C+=z)v=I[w]+d,p=O[w],y=(A=v-((g=x[w])+p>>2))+g,E=A+p,c[C++]=0>=y?0:y>=b?255:y>>h,c[C++]=0>=A?0:A>=b?255:A>>h,c[C++]=0>=E?0:E>=b?255:E>>h;else for(w=0;m>w;w++,C+=z)v=I[w]+d,p=O[w],y=v+1.402*(g=x[w]),A=v-.34413*p-.71414*g,E=v+1.772*p,c[C++]=0>=y?0:y>=b?255:y>>h,c[C++]=0>=A?0:A>=b?255:A>>h,c[C++]=0>=E?0:E>=b?255:E>>h;if(P)for(w=0,C=3;m>w;w++,C+=4)S=L[w],c[C]=_>=S?0:S>=k?255:S+d>>h}else for(s=0;f>s;s++)if(8===r[s].precision){var D=o[s].items;for(d=.5+(128<<(h=r[s].precision-8)),_=-(b=127.5*(1<w;w++)T=D[w],c[C]=_>=T?0:T>=b?255:T+d>>h,C+=f}else{var N=r[s].isSigned;D=o[s].items;if(N)for(C=s,w=0,m=D.length;m>w;w++)c[C]=D[w],C+=f;else{d=.5+(128<<(h=r[s].precision-8));var F=Math.pow(2,r[s].precision)-1;for(C=s,w=0,m=D.length;m>w;w++)T=D[w],c[C]=Math.max(Math.min(T+d,F),0),C+=f}}n.push(R)}return n}function E(e,i){for(var r=e.SIZ.Csiz,f=e.tiles[i],n=0;r>n;n++){var t=f.components[n],a=void 0!==e.currentTile.QCC[n]?e.currentTile.QCC[n]:e.currentTile.QCD;t.quantizationParameters=a;var s=void 0!==e.currentTile.COC[n]?e.currentTile.COC[n]:e.currentTile.COD;t.codingStyleParameters=s}f.codingStyleDefaultParameters=e.currentTile.COD}var S={LL:0,LH:1,HL:1,HH:2};e.prototype={parse:function(e){if(65359!==s(e,0))for(var i=0,r=e.length;r>i;){var t=8,a=l(e,i),o=l(e,i+4);if(i+=t,1===a&&(a=4294967296*l(e,i)+l(e,i+4),i+=8,t+=8),0===a&&(a=r-i+t),t>a)throw new Error("JPX Error: Invalid box field size");var u=a-t,c=!0;switch(o){case 1785737832:c=!1;break;case 1668246642:var h=e[i];if(e[i+1],e[i+2],1===h){var d=l(e,i+3);switch(d){case 16:case 17:case 18:break;default:n("Unknown colorspace "+d)}}else 2===h&&f("ICC profile not supported");break;case 1785737827:this.parseCodestream(e,i,i+u);break;case 1783636e3:218793738!==l(e,i)&&n("Invalid JP2 signature");break;case 1783634458:case 1718909296:case 1920099697:case 1919251232:case 1768449138:break;default:n("Unsupported header type "+o+" ("+String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,255&o)+")")}c&&(i+=u)}else this.parseCodestream(e,0,e.length)},parseImageProperties:function(e){for(var i=e.getByte();i>=0;){if(65361===(i<<8|(i=e.getByte()))){e.skip(4);var r=e.getInt32()>>>0,f=e.getInt32()>>>0,n=e.getInt32()>>>0,t=e.getInt32()>>>0;e.skip(16);var a=e.getUint16();return this.width=r-n,this.height=f-t,this.componentsCount=a,void(this.bitsPerComponent=8)}}throw new Error("JPX Error: No size marker found in JPX stream")},parseCodestream:function(e,f,t){var a={};try{for(var o=!1,u=f;t>u+1;){var c=s(e,u);u+=2;var h,d,b,_,k,w,m=0;switch(c){case 65359:a.mainHeader=!0;break;case 65497:break;case 65361:m=s(e,u);var v={};v.Xsiz=l(e,u+4),v.Ysiz=l(e,u+8),v.XOsiz=l(e,u+12),v.YOsiz=l(e,u+16),v.XTsiz=l(e,u+20),v.YTsiz=l(e,u+24),v.XTOsiz=l(e,u+28),v.YTOsiz=l(e,u+32);var y=s(e,u+36);v.Csiz=y;var M=[];h=u+38;for(var S=0;y>S;S++){var T={precision:1+(127&e[h]),isSigned:!!(128&e[h]),XRsiz:e[h+1],YRsiz:e[h+1]};i(T,v),M.push(T)}a.SIZ=v,a.components=M,r(a,M),a.QCC=[],a.COC=[];break;case 65372:m=s(e,u);var R={};switch(h=u+2,31&(d=e[h++])){case 0:_=8,k=!0;break;case 1:_=16,k=!1;break;case 2:_=16,k=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+d)}for(R.noQuantization=8===_,R.scalarExpounded=k,R.guardBits=d>>5,b=[];m+u>h;){var C={};8===_?(C.epsilon=e[h++]>>3,C.mu=0):(C.epsilon=e[h]>>3,C.mu=(7&e[h])<<8|e[h+1],h+=2),b.push(C)}R.SPqcds=b,a.mainHeader?a.QCD=R:(a.currentTile.QCD=R,a.currentTile.QCC=[]);break;case 65373:m=s(e,u);var P,I={};switch(h=u+2,a.SIZ.Csiz<257?P=e[h++]:(P=s(e,h),h+=2),31&(d=e[h++])){case 0:_=8,k=!0;break;case 1:_=16,k=!1;break;case 2:_=16,k=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+d)}for(I.noQuantization=8===_,I.scalarExpounded=k,I.guardBits=d>>5,b=[];m+u>h;)C={},8===_?(C.epsilon=e[h++]>>3,C.mu=0):(C.epsilon=e[h]>>3,C.mu=(7&e[h])<<8|e[h+1],h+=2),b.push(C);I.SPqcds=b,a.mainHeader?a.QCC[P]=I:a.currentTile.QCC[P]=I;break;case 65362:m=s(e,u);var O={};h=u+2;var x=e[h++];O.entropyCoderWithCustomPrecincts=!!(1&x),O.sopMarkerUsed=!!(2&x),O.ephMarkerUsed=!!(4&x),O.progressionOrder=e[h++],O.layersCount=s(e,h),h+=2,O.multipleComponentTransform=e[h++],O.decompositionLevelsCount=e[h++],O.xcb=2+(15&e[h++]),O.ycb=2+(15&e[h++]);var L=e[h++];if(O.selectiveArithmeticCodingBypass=!!(1&L),O.resetContextProbabilities=!!(2&L),O.terminationOnEachCodingPass=!!(4&L),O.verticalyStripe=!!(8&L),O.predictableTermination=!!(16&L),O.segmentationSymbolUsed=!!(32&L),O.reversibleTransformation=e[h++],O.entropyCoderWithCustomPrecincts){for(var B=[];m+u>h;){var z=e[h++];B.push({PPx:15&z,PPy:z>>4})}O.precinctsSizes=B}var D=[];if(O.selectiveArithmeticCodingBypass&&D.push("selectiveArithmeticCodingBypass"),O.resetContextProbabilities&&D.push("resetContextProbabilities"),O.terminationOnEachCodingPass&&D.push("terminationOnEachCodingPass"),O.verticalyStripe&&D.push("verticalyStripe"),O.predictableTermination&&D.push("predictableTermination"),D.length>0)throw o=!0,new Error("JPX Error: Unsupported COD options ("+D.join(", ")+")");a.mainHeader?a.COD=O:(a.currentTile.COD=O,a.currentTile.COC=[]);break;case 65424:m=s(e,u),(w={}).index=s(e,u+2),w.length=l(e,u+4),w.dataEnd=w.length+u-2,w.partIndex=e[u+8],w.partsCount=e[u+9],a.mainHeader=!1,0===w.partIndex&&(w.COD=a.COD,w.COC=a.COC.slice(0),w.QCD=a.QCD,w.QCC=a.QCC.slice(0)),a.currentTile=w;break;case 65427:0===(w=a.currentTile).partIndex&&(E(a,w.index),p(a)),g(a,e,u,m=w.dataEnd-u);break;case 65365:case 65367:case 65368:case 65380:m=s(e,u);break;case 65363:throw new Error("JPX Error: Codestream code 0xFF53 (COC) is not implemented");default:throw new Error("JPX Error: Unknown codestream code: "+c.toString(16))}u+=m}}catch(e){if(o||this.failOnCorruptedImage)throw e;n("Trying to recover from "+e.message)}this.tiles=A(a),this.width=a.SIZ.Xsiz-a.SIZ.XOsiz,this.height=a.SIZ.Ysiz-a.SIZ.YOsiz,this.componentsCount=a.SIZ.Csiz}};var T=function(){function e(e,i){var r=a(Math.max(e,i))+1;this.levels=[];for(var f=0;r>f;f++){var n={width:e,height:i,items:[]};this.levels.push(n),e=Math.ceil(e/2),i=Math.ceil(i/2)}}return e.prototype={reset:function(e,i){for(var r,f=0,n=0;f>=1,i>>=1,f++}f--,(r=this.levels[f]).items[r.index]=n,this.currentLevel=f,delete this.value},incrementValue:function(){var e=this.levels[this.currentLevel];e.items[e.index]++},nextLevel:function(){var e=this.currentLevel,i=this.levels[e],r=i.items[i.index];return 0>--e?(this.value=r,!1):(this.currentLevel=e,(i=this.levels[e]).items[i.index]=r,!0)}},e}(),R=function(){function e(e,i){var r=a(Math.max(e,i))+1;this.levels=[];for(var f=0;r>f;f++){for(var n=new Uint8Array(e*i),t=new Uint8Array(e*i),s=0,l=n.length;l>s;s++)n[s]=0,t[s]=0;var o={width:e,height:i,items:n,status:t};this.levels.push(o),e=Math.ceil(e/2),i=Math.ceil(i/2)}}return e.prototype={reset:function(e,i,r){this.currentStopValue=r;for(var f=0;f>=1,i>>=1,f++}this.currentLevel=this.levels.length-1,this.minValue=this.levels[this.currentLevel].items[0]},incrementValue:function(){var e=this.levels[this.currentLevel];e.items[e.index]=e.items[e.index]+1,e.items[e.index]>this.minValue&&(this.minValue=e.items[e.index])},nextLevel:function(){var e=this.currentLevel;if(0>--e)return!1;this.currentLevel=e;var i=this.levels[e];return i.items[i.index]this.minValue&&(this.minValue=i.items[i.index]),!0},isLeaf:function(){return 0===this.currentLevel},isAboveThreshold:function(){var e=this.currentLevel,i=this.levels[e];return i.items[i.index]>this.currentStopValue},isKnown:function(){var e=this.currentLevel,i=this.levels[e];return i.status[i.index]>0},setKnown:function(){var e=this.currentLevel,i=this.levels[e];i.status[i.index]=1}},e}(),C=function(){function e(e,i,t,a,s){this.width=e,this.height=i,this.contextLabelTable="HH"===t?n:"HL"===t?f:r;var l=e*i;this.neighborsSignificance=new Uint8Array(l),this.coefficentsSign=new Uint8Array(l),this.coefficentsMagnitude=s>14?new Uint32Array(l):s>6?new Uint16Array(l):new Uint8Array(l),this.processingFlags=new Uint8Array(l);var o=new Uint8Array(l);if(0!==a)for(var u=0;l>u;u++)o[u]=a;this.bitsDecoded=o,this.reset()}var i=17,r=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]),f=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8]),n=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]);return e.prototype={setDecoder:function(e){this.decoder=e},reset:function(){this.contexts=new Int8Array(19),this.contexts[0]=8,this.contexts[i]=92,this.contexts[18]=6},setNeighborsSignificance:function(e,i,r){var f,n=this.neighborsSignificance,t=this.width,a=this.height,s=i>0,l=t>i+1;e>0&&(f=r-t,s&&(n[f-1]+=16),l&&(n[f+1]+=16),n[f]+=4),a>e+1&&(f=r+t,s&&(n[f-1]+=16),l&&(n[f+1]+=16),n[f]+=4),s&&(n[r-1]+=1),l&&(n[r+1]+=1),n[r]|=128},runSignificancePropogationPass:function(){for(var e=this.decoder,i=this.width,r=this.height,f=this.coefficentsMagnitude,n=this.coefficentsSign,t=this.neighborsSignificance,a=this.processingFlags,s=this.contexts,l=this.contextLabelTable,o=this.bitsDecoded,u=0;r>u;u+=4)for(var c=0;i>c;c++)for(var h=u*i+c,d=0;4>d;d++,h+=i){var b=u+d;if(b>=r)break;if(a[h]&=-2,!f[h]&&t[h]){var _=l[t[h]];if(e.readBit(s,_)){var k=this.decodeSignBit(b,c,h);n[h]=k,f[h]=1,this.setNeighborsSignificance(b,c,h),a[h]|=2}o[h]++,a[h]|=1}}},decodeSignBit:function(e,i,r){var f,n,t,a,s,l,o=this.width,u=this.height,c=this.coefficentsMagnitude,h=this.coefficentsSign;a=i>0&&0!==c[r-1],o>i+1&&0!==c[r+1]?(t=h[r+1],a?f=1-t-(n=h[r-1]):f=1-t-t):a?f=1-(n=h[r-1])-n:f=0;var d=3*f;return a=e>0&&0!==c[r-o],u>e+1&&0!==c[r+o]?(t=h[r+o],a?f=1-t-(n=h[r-o])+d:f=1-t-t+d):a?f=1-(n=h[r-o])-n+d:f=d,f>=0?(s=9+f,l=this.decoder.readBit(this.contexts,s)):(s=9-f,l=1^this.decoder.readBit(this.contexts,s)),l},runMagnitudeRefinementPass:function(){for(var e,i=this.decoder,r=this.width,f=this.height,n=this.coefficentsMagnitude,t=this.neighborsSignificance,a=this.contexts,s=this.bitsDecoded,l=this.processingFlags,o=r*f,u=4*r,c=0;o>c;c=e){e=Math.min(o,c+u);for(var h=0;r>h;h++)for(var d=c+h;e>d;d+=r)if(n[d]&&0==(1&l[d])){var b=16;if(0!=(2&l[d]))l[d]^=2,b=0===(127&t[d])?15:14;var _=i.readBit(a,b);n[d]=n[d]<<1|_,s[d]++,l[d]|=1}}},runCleanupPass:function(){for(var e,r=this.decoder,f=this.width,n=this.height,t=this.neighborsSignificance,a=this.coefficentsMagnitude,s=this.coefficentsSign,l=this.contexts,o=this.contextLabelTable,u=this.bitsDecoded,c=this.processingFlags,h=f,d=2*f,b=3*f,_=0;n>_;_=e){e=Math.min(_+4,n);for(var k=_*f,w=n>_+3,m=0;f>m;m++){var v,p=k+m,g=0,y=p,M=_;if(w&&0===c[p]&&0===c[p+h]&&0===c[p+d]&&0===c[p+b]&&0===t[p]&&0===t[p+h]&&0===t[p+d]&&0===t[p+b]){if(!r.readBit(l,18)){u[p]++,u[p+h]++,u[p+d]++,u[p+b]++;continue}0!==(g=r.readBit(l,i)<<1|r.readBit(l,i))&&(M=_+g,y+=g*f),v=this.decodeSignBit(M,m,y),s[y]=v,a[y]=1,this.setNeighborsSignificance(M,m,y),c[y]|=2,y=p;for(var A=_;M>=A;A++,y+=f)u[y]++;g++}for(M=_+g;e>M;M++,y+=f)if(!a[y]&&0==(1&c[y])){var E=o[t[y]];1===r.readBit(l,E)&&(v=this.decodeSignBit(M,m,y),s[y]=v,a[y]=1,this.setNeighborsSignificance(M,m,y),c[y]|=2),u[y]++}}}},checkSegmentationSymbol:function(){var e=this.decoder,r=this.contexts;if(10!==(e.readBit(r,i)<<3|e.readBit(r,i)<<2|e.readBit(r,i)<<1|e.readBit(r,i)))throw new Error("JPX Error: Invalid segmentation symbol")}},e}(),P=function(){function e(){}return e.prototype.calculate=function(e,i,r){for(var f=e[0],n=1,t=e.length;t>n;n++)f=this.iterate(f,e[n],i,r);return f},e.prototype.extend=function(e,i,r){var f=i-1,n=i+1,t=i+r-2,a=i+r;e[f--]=e[n++],e[a++]=e[t--],e[f--]=e[n++],e[a++]=e[t--],e[f--]=e[n++],e[a++]=e[t--],e[f]=e[n],e[a]=e[t]},e.prototype.iterate=function(e,i,r,f){var n,t,a,s,l,o,u=e.width,c=e.height,h=e.items,d=i.width,b=i.height,_=i.items;for(a=0,n=0;c>n;n++)for(s=2*n*d,t=0;u>t;t++,a++,s+=2)_[s]=h[a];h=e.items=null;var k=new Float32Array(d+8);if(1===d){if(0!=(1&r))for(o=0,a=0;b>o;o++,a+=d)_[a]*=.5}else for(o=0,a=0;b>o;o++,a+=d)k.set(_.subarray(a,a+d),4),this.extend(k,4,d),this.filter(k,4,d),_.set(k.subarray(4,4+d),a);var w=16,m=[];for(n=0;w>n;n++)m.push(new Float32Array(b+8));var v,p=0;if(e=4+b,1===b){if(0!=(1&f))for(l=0;d>l;l++)_[l]*=.5}else for(l=0;d>l;l++){if(0===p){for(w=Math.min(d-l,w),a=l,s=4;e>s;a+=d,s++)for(v=0;w>v;v++)m[v][s]=_[a+v];p=w}var g=m[--p];if(this.extend(g,4,b),this.filter(g,4,b),0===p)for(a=l-w+1,s=4;e>s;a+=d,s++)for(v=0;w>v;v++)_[a+v]=m[v][s]}return{width:d,height:b,items:_}},e}(),I=function(){function e(){P.call(this)}return e.prototype=Object.create(P.prototype),e.prototype.filter=function(e,i,r){var f,n,t,a,s=r>>1,l=-1.586134342059924,o=-.052980118572961,u=.882911075530934,c=.443506852043971,h=1.230174104914001;for(f=(i|=0)-3,n=s+4;n--;f+=2)e[f]*=.8128930661159609;for(t=c*e[(f=i-2)-1],n=s+3;n--&&(a=c*e[f+1],e[f]=h*e[f]-t-a,n--);f+=2)t=c*e[(f+=2)+1],e[f]=h*e[f]-t-a;for(t=u*e[(f=i-1)-1],n=s+2;n--&&(a=u*e[f+1],e[f]-=t+a,n--);f+=2)t=u*e[(f+=2)+1],e[f]-=t+a;for(t=o*e[(f=i)-1],n=s+1;n--&&(a=o*e[f+1],e[f]-=t+a,n--);f+=2)t=o*e[(f+=2)+1],e[f]-=t+a;if(0!==s)for(t=l*e[(f=i+1)-1],n=s;n--&&(a=l*e[f+1],e[f]-=t+a,n--);f+=2)t=l*e[(f+=2)+1],e[f]-=t+a},e}(),O=function(){function e(){P.call(this)}return e.prototype=Object.create(P.prototype),e.prototype.filter=function(e,i,r){var f,n,t=r>>1;for(f=i|=0,n=t+1;n--;f+=2)e[f]-=e[f-1]+e[f+1]+2>>2;for(f=i+1,n=t;n--;f+=2)e[f]+=e[f-1]+e[f+1]>>1},e}();return e}(),c=function(){function e(e,i,r){this.data=e,this.bp=i,this.dataEnd=r,this.chigh=e[i],this.clow=0,this.byteIn(),this.chigh=this.chigh<<7&65535|this.clow>>9&127,this.clow=this.clow<<7&65535,this.ct-=7,this.a=32768}var i=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];return e.prototype={byteIn:function(){var e=this.data,i=this.bp;255===e[i]?e[i+1]>143?(this.clow+=65280,this.ct=8):(i++,this.clow+=e[i]<<9,this.ct=7,this.bp=i):(i++,this.clow+=i65535&&(this.chigh+=this.clow>>16,this.clow&=65535)},readBit:function(e,r){var f,n=e[r]>>1,t=1&e[r],a=i[n],s=a.qe,l=this.a-s;if(this.chighl?(l=s,f=t,n=a.nmps):(l=s,f=1^t,1===a.switchFlag&&(t=f),n=a.nlps);else{if(this.chigh-=s,0!=(32768&l))return this.a=l,t;s>l?(f=1^t,1===a.switchFlag&&(t=f),n=a.nlps):(f=t,n=a.nmps)}do{0===this.ct&&this.byteIn(),l<<=1,this.chigh=this.chigh<<1&65535|this.clow>>15&1,this.clow=this.clow<<1&65535,this.ct--}while(0==(32768&l));return this.a=l,e[r]=n<<1|t,f}},e}(),h="undefined"==typeof window?this:window;h.PDFJS||(h.PDFJS={}),h.PDFJS.pdfBug=!1,r.VERBOSITY_LEVELS={errors:0,warnings:1,infos:5};var d;r.OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91},r.UNSUPPORTED_FEATURES={unknown:"unknown",forms:"forms",javaScript:"javaScript",smask:"smask",shadingPattern:"shadingPattern",font:"font"},r.UnsupportedManager=(d=[],{listen:function(e){d.push(e)},notify:function(e){n('Unsupported feature "'+e+'"');for(var i=0,r=d.length;r>i;i++)d[i](e)}});r.isValidUrl=function(e,i){if(!e)return!1;var r=/^[a-z][a-z0-9+\-.]*(?=:)/i.exec(e);if(!r)return i;switch(r=r[0].toLowerCase()){case"http":case"https":case"ftp":case"mailto":case"tel":return!0;default:return!1}},r.shadow=t;r.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};var b=function(){function e(e,i){this.name="PasswordException",this.message=e,this.code=i}return e.prototype=new Error,e.constructor=e,e}();r.PasswordException=b;var _=function(){function e(e,i){this.name="UnknownErrorException",this.message=e,this.details=i}return e.prototype=new Error,e.constructor=e,e}();r.UnknownErrorException=_;var k=function(){function e(e){this.name="InvalidPDFException",this.message=e}return e.prototype=new Error,e.constructor=e,e}();r.InvalidPDFException=k;var w=function(){function e(e){this.name="MissingPDFException",this.message=e}return e.prototype=new Error,e.constructor=e,e}();r.MissingPDFException=w;var m=function(){function e(e,i){this.name="UnexpectedResponseException",this.message=e,this.status=i}return e.prototype=new Error,e.constructor=e,e}();r.UnexpectedResponseException=m;(function(){function e(e){this.message=e}e.prototype=new Error,e.prototype.name="NotImplementedException",e.constructor=e})(),function(){function e(e,i){this.begin=e,this.end=i,this.message="Missing data ["+e+", "+i+")"}e.prototype=new Error,e.prototype.name="MissingDataException",e.constructor=e}(),function(){function e(e){this.message=e}e.prototype=new Error,e.prototype.name="XRefParseException",e.constructor=e}();Object.defineProperty(r,"isLittleEndian",{configurable:!0,get:function(){return t(r,"isLittleEndian",function(){var e=new Uint8Array(2);return e[0]=1,1===new Uint16Array(e.buffer)[0]}())}}),Object.defineProperty(r,"hasCanvasTypedArrays",{configurable:!0,get:function(){return t(r,"hasCanvasTypedArrays",function(){var e=document.createElement("canvas");return e.width=e.height=1,void 0!==e.getContext("2d").createImageData(1,1).data.buffer}())}});!function(){function e(e,i){this.buffer=e,this.byteLength=e.length,this.length=void 0===i?this.byteLength>>2:i,r(this.length)}function i(e){return{get:function(){var i=this.buffer,r=e<<2;return(i[r]|i[r+1]<<8|i[r+2]<<16|i[r+3]<<24)>>>0},set:function(i){var r=this.buffer,f=e<<2;r[f]=255&i,r[f+1]=i>>8&255,r[f+2]=i>>16&255,r[f+3]=i>>>24&255}}}function r(r){for(;r>f;)Object.defineProperty(e.prototype,f,i(f)),f++}e.prototype=Object.create(null);var f=0}();var v=r.Util=function(){function e(){}var i=["rgb(",0,",",0,",",0,")"];return e.makeCssRgb=function(e,r,f){return i[1]=e,i[3]=r,i[5]=f,i.join("")},e.transform=function(e,i){return[e[0]*i[0]+e[2]*i[1],e[1]*i[0]+e[3]*i[1],e[0]*i[2]+e[2]*i[3],e[1]*i[2]+e[3]*i[3],e[0]*i[4]+e[2]*i[5]+e[4],e[1]*i[4]+e[3]*i[5]+e[5]]},e.applyTransform=function(e,i){return[e[0]*i[0]+e[1]*i[2]+i[4],e[0]*i[1]+e[1]*i[3]+i[5]]},e.applyInverseTransform=function(e,i){var r=i[0]*i[3]-i[1]*i[2];return[(e[0]*i[3]-e[1]*i[2]+i[2]*i[5]-i[4]*i[3])/r,(-e[0]*i[1]+e[1]*i[0]+i[4]*i[1]-i[5]*i[0])/r]},e.getAxialAlignedBoundingBox=function(i,r){var f=e.applyTransform(i,r),n=e.applyTransform(i.slice(2,4),r),t=e.applyTransform([i[0],i[3]],r),a=e.applyTransform([i[2],i[1]],r);return[Math.min(f[0],n[0],t[0],a[0]),Math.min(f[1],n[1],t[1],a[1]),Math.max(f[0],n[0],t[0],a[0]),Math.max(f[1],n[1],t[1],a[1])]},e.inverseTransform=function(e){var i=e[0]*e[3]-e[1]*e[2];return[e[3]/i,-e[1]/i,-e[2]/i,e[0]/i,(e[2]*e[5]-e[4]*e[3])/i,(e[4]*e[1]-e[5]*e[0])/i]},e.apply3dTransform=function(e,i){return[e[0]*i[0]+e[1]*i[1]+e[2]*i[2],e[3]*i[0]+e[4]*i[1]+e[5]*i[2],e[6]*i[0]+e[7]*i[1]+e[8]*i[2]]},e.singularValueDecompose2dScale=function(e){var i=[e[0],e[2],e[1],e[3]],r=e[0]*i[0]+e[1]*i[2],f=e[0]*i[1]+e[1]*i[3],n=e[2]*i[0]+e[3]*i[2],t=e[2]*i[1]+e[3]*i[3],a=(r+t)/2,s=Math.sqrt((r+t)*(r+t)-4*(r*t-n*f))/2,l=a+s||1,o=a-s||1;return[Math.sqrt(l),Math.sqrt(o)]},e.normalizeRect=function(e){var i=e.slice(0);return e[0]>e[2]&&(i[0]=e[2],i[2]=e[0]),e[1]>e[3]&&(i[1]=e[3],i[3]=e[1]),i},e.intersect=function(i,r){function f(e,i){return e-i}var n=[i[0],i[2],r[0],r[2]].sort(f),t=[i[1],i[3],r[1],r[3]].sort(f),a=[];return i=e.normalizeRect(i),r=e.normalizeRect(r),(n[0]===i[0]&&n[1]===r[0]||n[0]===r[0]&&n[1]===i[0])&&(a[0]=n[1],a[2]=n[2],(t[0]===i[1]&&t[1]===r[1]||t[0]===r[1]&&t[1]===i[1])&&(a[1]=t[1],a[3]=t[2],a))},e.sign=function(e){return 0>e?-1:1},e.appendToArray=function(e,i){Array.prototype.push.apply(e,i)},e.prependToArray=function(e,i){Array.prototype.unshift.apply(e,i)},e.extendObj=function(e,i){for(var r in i)e[r]=i[r]},e.getInheritableProperty=function(e,i){for(;e&&!e.has(i);)e=e.get("Parent");return e?e.get(i):null},e.inherit=function(e,i,r){for(var f in e.prototype=Object.create(i.prototype),e.prototype.constructor=e,r)e.prototype[f]=r[f]},e.loadScript=function(e,i){var r=document.createElement("script"),f=!1;r.setAttribute("src",e),i&&(r.onload=function(){f||i(),f=!0}),document.getElementsByTagName("head")[0].appendChild(r)},e}();r.PageViewport=function(){function e(e,i,r,f,n,t){this.viewBox=e,this.scale=i,this.rotation=r,this.offsetX=f,this.offsetY=n;var a,s,l,o,u,c,h,d,b=(e[2]+e[0])/2,_=(e[3]+e[1])/2;switch(r=0>(r%=360)?r+360:r){case 180:a=-1,s=0,l=0,o=1;break;case 90:a=0,s=1,l=1,o=0;break;case 270:a=0,s=-1,l=-1,o=0;break;default:a=1,s=0,l=0,o=-1}t&&(l=-l,o=-o),0===a?(u=Math.abs(_-e[1])*i+f,c=Math.abs(b-e[0])*i+n,h=Math.abs(e[3]-e[1])*i,d=Math.abs(e[2]-e[0])*i):(u=Math.abs(b-e[0])*i+f,c=Math.abs(_-e[1])*i+n,h=Math.abs(e[2]-e[0])*i,d=Math.abs(e[3]-e[1])*i),this.transform=[a*i,s*i,l*i,o*i,u-a*i*b-l*i*_,c-s*i*b-o*i*_],this.width=h,this.height=d,this.fontScale=i}return e.prototype={clone:function(i){var r="scale"in(i=i||{})?i.scale:this.scale,f="rotation"in i?i.rotation:this.rotation;return new e(this.viewBox.slice(),r,f,this.offsetX,this.offsetY,i.dontFlip)},convertToViewportPoint:function(e,i){return v.applyTransform([e,i],this.transform)},convertToViewportRectangle:function(e){var i=v.applyTransform([e[0],e[1]],this.transform),r=v.applyTransform([e[2],e[3]],this.transform);return[i[0],i[1],r[0],r[1]]},convertToPdfPoint:function(e,i){return v.applyInverseTransform([e,i],this.transform)}},e}();r.createPromiseCapability=o,function(){function e(e){this._status=i,this._handlers=[];try{e.call(this,this._resolve.bind(this),this._reject.bind(this))}catch(e){this._reject(e)}}if(h.Promise)return"function"!=typeof h.Promise.all&&(h.Promise.all=function(e){var i,r,f=0,n=[],t=new h.Promise((function(e,f){i=e,r=f}));return e.forEach((function(e,t){f++,e.then((function(e){n[t]=e,0===--f&&i(n)}),r)})),0===f&&i(n),t}),"function"!=typeof h.Promise.resolve&&(h.Promise.resolve=function(e){return new h.Promise((function(i){i(e)}))}),"function"!=typeof h.Promise.reject&&(h.Promise.reject=function(e){return new h.Promise((function(i,r){r(e)}))}),void("function"!=typeof h.Promise.prototype.catch&&(h.Promise.prototype.catch=function(e){return h.Promise.prototype.then(void 0,e)}));var i=0,r=2,f={handlers:[],running:!1,unhandledRejections:[],pendingRejectionCheck:!1,scheduleHandlers:function(e){e._status!==i&&(this.handlers=this.handlers.concat(e._handlers),e._handlers=[],this.running||(this.running=!0,setTimeout(this.runHandlers.bind(this),0)))},runHandlers:function(){for(var e=Date.now()+1;this.handlers.length>0;){var i=this.handlers.shift(),f=i.thisPromise._status,n=i.thisPromise._value;try{1===f?"function"==typeof i.onResolve&&(n=i.onResolve(n)):"function"==typeof i.onReject&&(n=i.onReject(n),f=1,i.thisPromise._unhandledRejection&&this.removeUnhandeledRejection(i.thisPromise))}catch(e){f=r,n=e}if(i.nextPromise._updateStatus(f,n),Date.now()>=e)break}return this.handlers.length>0?void setTimeout(this.runHandlers.bind(this),0):void(this.running=!1)},addUnhandledRejection:function(e){this.unhandledRejections.push({promise:e,time:Date.now()}),this.scheduleRejectionCheck()},removeUnhandeledRejection:function(e){e._unhandledRejection=!1;for(var i=0;i500){var r=this.unhandledRejections[i].promise._value,f="Unhandled rejection: "+r;r.stack&&(f+="\n"+r.stack),n(f),this.unhandledRejections.splice(i),i--}this.unhandledRejections.length&&this.scheduleRejectionCheck()}.bind(this),500))}};e.all=function(i){function f(e){a._status!==r&&(l=[],t(e))}var n,t,a=new e((function(e,i){n=e,t=i})),s=i.length,l=[];if(0===s)return n(l),a;for(var o=0,u=i.length;u>o;++o){var c=i[o],h=function(e){return function(i){a._status!==r&&(l[e]=i,0===--s&&n(l))}}(o);e.isPromise(c)?c.then(h,f):h(c)}return a},e.isPromise=function(e){return e&&"function"==typeof e.then},e.resolve=function(i){return new e((function(e){e(i)}))},e.reject=function(i){return new e((function(e,r){r(i)}))},e.prototype={_status:null,_value:null,_handlers:null,_unhandledRejection:null,_updateStatus:function(i,n){if(1!==this._status&&this._status!==r){if(1===i&&e.isPromise(n))return void n.then(this._updateStatus.bind(this,1),this._updateStatus.bind(this,r));this._status=i,this._value=n,i===r&&0===this._handlers.length&&(this._unhandledRejection=!0,f.addUnhandledRejection(this)),f.scheduleHandlers(this)}},_resolve:function(e){this._updateStatus(1,e)},_reject:function(e){this._updateStatus(r,e)},then:function(i,r){var n=new e((function(e,i){this.resolve=e,this.reject=i}));return this._handlers.push({thisPromise:this,onResolve:i,onReject:r,nextPromise:n}),f.scheduleHandlers(this),n},catch:function(e){return this.then(void 0,e)}},h.Promise=e}();!function(){function e(e,i,r){for(;e.lengthi;++i){var a=f[i].name;a.length>t&&(t=a.length)}for(i=0,r=f.length;r>i;++i){var s=f[i],l=s.end-s.start;n+=e(s.name," ",t)+" "+l+"ms\n"}return n}}}();r.createBlob=function(e,i){if("undefined"!=typeof Blob)return new Blob([e],{type:i});var r=new MozBlobBuilder;return r.append(e),r.getBlob(i)},r.createObjectURL=function(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return function(i,f){if(!r.disableCreateObjectURL&&"undefined"!=typeof URL&&URL.createObjectURL){var n=r.createBlob(i,f);return URL.createObjectURL(n)}for(var t="data:"+f+";base64,",a=0,s=i.length;s>a;a+=3){var l=255&i[a],o=255&i[a+1],u=255&i[a+2];t+=e[l>>2]+e[(3&l)<<4|o>>4]+e[s>a+1?(15&o)<<2|u>>6:64]+e[s>a+2?63&u:64]}return t}}(),e.exports=u},function(e,i,r){"use strict";r.r(i);var f=function(e,i){if(void 0===e)throw new Error("decodeRGB: rgbBuffer must not be undefined");if(e.length%3!=0)throw new Error("decodeRGB: rgbBuffer length must be divisible by 3");for(var r=e.length/3,f=0,n=0,t=0;t>i;return f}var l=function(e,i){for(var r=e.columns*e.rows,f=e.pixelData,n=e.redPaletteColorLookupTableData,t=e.greenPaletteColorLookupTableData,a=e.bluePaletteColorLookupTableData,l=e.redPaletteColorLookupTableData.length,o=0,u=0,c=e.redPaletteColorLookupTableDescriptor[1],h=8===e.redPaletteColorLookupTableDescriptor[2]?0:8,d=s(n,h),b=s(t,h),_=s(a,h),k=0;kc+l-1?w=l-1:w-=c,i[u++]=d[w],i[u++]=b[w],i[u++]=_[w],i[u++]=255}};function o(e,i){if(e.elements[i]&&6===e.elements[i].length)return[e.uint16(i,0),e.uint16(i,1),e.uint16(i,2)]}function u(e,i,r){for(var f=[],n=e.elements[i],t=0;t0?0:e.uint16("x00280103")};var _=function(e,i,r){var f=[],n=e.string(i);if(n){var t=n.split("\\");if(!(r&&t.length>s&1}i.push({rows:m(e["".concat(f,"0010")]),columns:m(e["".concat(f,"0011")]),type:k(e["".concat(f,"0040")]),x:m(e["".concat(f,"0050")],1)-1,y:m(e["".concat(f,"0050")],0)-1,pixelData:t,description:k(e["".concat(f,"0022")]),label:k(e["".concat(f,"1500")]),roiArea:k(e["".concat(f,"1301")]),roiMean:k(e["".concat(f,"1302")]),roiStandardDeviation:k(e["".concat(f,"1303")])})}}return{overlays:i}}(f):void 0}};function M(e,i,r){if(r+e.length>i.length)return!1;for(var f=r,n=0;n2&&void 0!==arguments[2]?arguments[2]:{},f=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=Le.cornerstone,t=T();return new Promise((function(a,s){var l=new XMLHttpRequest;l.open("get",e,!0),l.responseType="arraybuffer",t.beforeSend(l,i,r,f),Object.keys(r).forEach((function(e){l.setRequestHeader(e,r[e])})),f.deferred={resolve:a,reject:s},f.url=e,f.imageId=i,l.onloadstart=function(r){t.onloadstart&&t.onloadstart(r,f);var a={url:e,imageId:i};n.triggerEvent(n.events,"cornerstoneimageloadstart",a)},l.onloadend=function(r){t.onloadend&&t.onloadend(r,f);var a={url:e,imageId:i};n.triggerEvent(n.events,"cornerstoneimageloadend",a)},l.onreadystatechange=function(e){t.onreadystatechange?t.onreadystatechange(e,f):4===l.readyState&&(200===l.status?a(l.response,l):s(l))},l.onprogress=function(r){var a,s,l=r.loaded;r.lengthComputable&&(a=r.total,s=Math.round(l/a*100)),t.onprogress&&t.onprogress(r,f);var o={url:e,imageId:i,loaded:l,total:a,percentComplete:s};n.triggerEvent(n.events,"cornerstoneimageloadprogress",o)},l.send()}))},C={xhrRequest:R,setOptions:S,getOptions:T};function P(e){for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:"application/octet-stream"};return new Promise((function(f,n){R(e,i,r).then((function(e){var i=new Uint8Array(e),r=A(i,"\r\n\r\n");-1===r&&n(new Error("invalid response - no multipart mime header"));var t=function(e,i,r){i=i||0,r=r||e.length-i;for(var f="",n=i;n=O.maxWebWorkers)){var e=new B.a;N.push({worker:e,status:"initializing"}),e.addEventListener("message",Y),e.postMessage({taskType:"initialize",workerIndex:N.length-1,config:O})}}function $(e){if(e=e||H,O)throw new Error("WebWorkerManager already initialized");if((O=e).maxWebWorkers=O.maxWebWorkers||navigator.hardwareConcurrency||1,!O.startWebWorkersOnDemand)for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:0,f=arguments.length>3?arguments[3]:void 0;O||$();var n,t={},a=new Promise((function(e,i){t={resolve:e,reject:i}}));for(n=0;n1&&void 0!==arguments[1]?arguments[1]:0,r=0;r>8&255}else 8===e.bitsAllocated&&(e.pixelData=i);var a;return e};var J=function(e,i){if(8===e.bitsAllocated)return e.planarConfiguration?function(e,i){for(var r=i,f=e.rows*e.columns,n=new ArrayBuffer(f*e.samplesPerPixel),t=new DataView(r.buffer,r.byteOffset),a=new Int8Array(r.buffer,r.byteOffset),s=new Int8Array(n),l=0,o=t.getInt32(0,!0),u=0;u=0&&b<=127)for(var _=0;_=-127)for(var k=a[c++],w=0;w<1-b&&l=0&&b<=127)for(var _=0;_=-127)for(var k=a[c++],w=0;w<1-b&&l=0&&b<=127)for(var _=0;_=-127)for(var k=a[h++],w=0;w<1-b&&u1&&(e.photometricInterpretation="RGB"),e}function ke(e){if(!e.usePDFJS&&void 0===he.a)throw new Error("OpenJPEG decoder not loaded");if(!(oe||(oe=he()())&&oe._jp2_decode))throw new Error("OpenJPEG failed to initialize")}var we=function(e,i,r){var f=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return ke(r),f.usePDFJS||r.usePDFJS?function(e,i){var r=new be.a;r.parse(i);var f=r.tiles.length;if(1!==f)throw new Error("JPEG2000 decoder returned a tileCount of ".concat(f,", when 1 is expected"));return e.columns=r.width,e.rows=r.height,e.pixelData=r.tiles[0].items,e}(e,i):_e(e,i)};var me=function(e,i,r,f,n){var t=(new Date).getTime();if("1.2.840.10008.1.2"===i)e=W(e,r);else if("1.2.840.10008.1.2.1"===i)e=W(e,r);else if("1.2.840.10008.1.2.2"===i)e=Z(e,r);else if("1.2.840.10008.1.2.1.99"===i)e=W(e,r);else if("1.2.840.10008.1.2.5"===i)e=J(e,r);else if("1.2.840.10008.1.2.4.50"===i)e=ie(e,r);else if("1.2.840.10008.1.2.4.51"===i)e=ie(e,r);else if("1.2.840.10008.1.2.4.57"===i)e=te(e,r);else if("1.2.840.10008.1.2.4.70"===i)e=te(e,r);else if("1.2.840.10008.1.2.4.80"===i)e=ue(e,r);else if("1.2.840.10008.1.2.4.81"===i)e=ue(e,r);else if("1.2.840.10008.1.2.4.90"===i)e=we(e,r,f,n);else{if("1.2.840.10008.1.2.4.91"!==i)throw new Error("no decoder for transfer syntax ".concat(i));e=we(e,r,f,n)}var a=void 0!==e.pixelRepresentation&&1===e.pixelRepresentation,s=a&&void 0!==e.bitsStored?32-e.bitsStored:void 0;if(a&&void 0!==s)for(var l=0;l>s;var o=(new Date).getTime();return e.decodeTimeInMS=o-t,e};function ve(e){return"number"==typeof e}var pe=!1;function ge(e,i,r,f){var n=f.priority||void 0,t=f.transferPixelData?[r.buffer]:void 0,a=T(),s=a.strict,l=a.decodeConfig;return!1===a.useWebWorkers?(!1===pe&&(ke(l),le(),pe=!0),new Promise((function(n,t){try{var a=[e,i,r,l,f],o=me.apply(void 0,a);!function(e){var i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=X(e.pixelData),f=!(ve(e.smallestPixelValue)&&ve(e.largestPixelValue));!0!==i||f?(e.smallestPixelValue=r.min,e.largestPixelValue=r.max):(e.smallestPixelValue!==r.min&&console.warn("Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably."),e.largestPixelValue!==r.max&&console.warn("Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably."))}(o,s),n(o)}catch(e){t(e)}}))):V.addTask("decodeTask",{imageFrame:e,transferSyntax:i,pixelData:r,options:f},n,t).promise}var ye=function(e,i,r,f){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return"1.2.840.10008.1.2"===i?ge(e,i,r,n):"1.2.840.10008.1.2.1"===i?ge(e,i,r,n):"1.2.840.10008.1.2.2"===i?ge(e,i,r,n):"1.2.840.10008.1.2.1.99"===i?ge(e,i,r,n):"1.2.840.10008.1.2.5"===i?ge(e,i,r,n):"1.2.840.10008.1.2.4.50"===i?8!==e.bitsAllocated||3!==e.samplesPerPixel&&4!==e.samplesPerPixel?ge(e,i,r,n):K(e,r,f):"1.2.840.10008.1.2.4.51"===i?ge(e,i,r,n):"1.2.840.10008.1.2.4.57"===i?ge(e,i,r,n):"1.2.840.10008.1.2.4.70"===i?ge(e,i,r,n):"1.2.840.10008.1.2.4.80"===i?ge(e,i,r,n):"1.2.840.10008.1.2.4.81"===i?ge(e,i,r,n):"1.2.840.10008.1.2.4.90"===i?ge(e,i,r,n):"1.2.840.10008.1.2.4.91"===i?ge(e,i,r,n):new Promise((function(e,r){r(new Error("No decoder for transfer syntax ".concat(i)))}))},Me=function(e){return"RGB"===e||"PALETTE COLOR"===e||"YBR_FULL"===e||"YBR_FULL_422"===e||"YBR_PARTIAL_422"===e||"YBR_PARTIAL_420"===e||"YBR_RCT"===e||"YBR_ICT"===e};function Ae(e,i){0===e.planarConfiguration?f(e.pixelData,i):n(e.pixelData,i)}function Ee(e,i){var r=i.data;if("RGB"===e.photometricInterpretation)Ae(e,r);else if("YBR_RCT"===e.photometricInterpretation)Ae(e,r);else if("YBR_ICT"===e.photometricInterpretation)Ae(e,r);else if("PALETTE COLOR"===e.photometricInterpretation)l(e,r);else if("YBR_FULL_422"===e.photometricInterpretation)Ae(e,r);else{if("YBR_FULL"!==e.photometricInterpretation)throw new Error("No color space conversion for photometric interpretation ".concat(e.photometricInterpretation));!function(e,i){0===e.planarConfiguration?t(e.pixelData,i):a(e.pixelData,i)}(e,r)}}var Se=function(e,i){if(i=i||e.transferSyntax,8===e.bitsAllocated&&"1.2.840.10008.1.2.4.50"===i&&(3===e.samplesPerPixel||4===e.samplesPerPixel))return!0},Te="";var Re=function(e,i,r,f){if(!i||!i.length)return Promise.reject(new Error("The file does not contain image data."));var n=Le.cornerstone,t=document.createElement("canvas"),a=x(e),s=ye(a,r,i,t,f);return new Promise((function(i,f){s.then((function(f){var a=n.metaData.get("imagePlaneModule",e)||{},s=n.metaData.get("voiLutModule",e)||{},l=n.metaData.get("modalityLutModule",e)||{},o=n.metaData.get("sopCommonModule",e)||{},u=Me(f.photometricInterpretation);if(!Se(f,r)&&(function(e){32===e.bitsAllocated?e.pixelData=new Float32Array(e.pixelData):16===e.bitsAllocated?0===e.pixelRepresentation?e.pixelData=new Uint16Array(e.pixelData):e.pixelData=new Int16Array(e.pixelData):e.pixelData=new Uint8Array(e.pixelData)}(f),u)){t.height=f.rows,t.width=f.columns;var c=t.getContext("2d").createImageData(f.columns,f.rows);Ee(f,c),f.imageData=c,f.pixelData=c.data;var h=X(f.pixelData);f.smallestPixelValue=h.min,f.largestPixelValue=h.max}var d,b={imageId:e,color:u,columnPixelSpacing:a.columnPixelSpacing,columns:f.columns,height:f.rows,intercept:l.rescaleIntercept?l.rescaleIntercept:0,invert:"MONOCHROME1"===f.photometricInterpretation,minPixelValue:f.smallestPixelValue,maxPixelValue:f.largestPixelValue,rowPixelSpacing:a.rowPixelSpacing,rows:f.rows,sizeInBytes:f.pixelData.length,slope:l.rescaleSlope?l.rescaleSlope:1,width:f.columns,windowCenter:s.windowCenter?s.windowCenter[0]:void 0,windowWidth:s.windowWidth?s.windowWidth[0]:void 0,decodeTimeInMS:f.decodeTimeInMS,floatPixelData:void 0};if(f.pixelData instanceof Float32Array){var _=f.pixelData,k=function(e){for(var i=X(e),r=Math.abs(i.max-i.min)/65535,f=i.min,n=e.length,t=new Uint16Array(n),a=65535,s=0,l=0;l0&&("1.2.840.10008.5.1.4.1.1.12.1"!==(d=o.sopClassUID)&&"1.2.840.10008.5.1.4.1.1.12.2.1"!==d)&&(b.modalityLUT=l.modalityLUTSequence[0]),s.voiLUTSequence&&s.voiLUTSequence.length>0&&(b.voiLUT=s.voiLUTSequence[0]),b.color&&(b.windowWidth=255,b.windowCenter=127),void 0===b.windowCenter||void 0===b.windowWidth){var w=b.maxPixelValue*b.slope+b.intercept,m=b.minPixelValue*b.slope+b.intercept;b.windowWidth=w-m,b.windowCenter=(w+m)/2}i(b)}),f)}))};var Ce=function(e,i){var r=(new Date).getTime(),f=e.substring(7);return{promise:new Promise((function(n,t){if(void 0===g.get(e)){var a=new Error("no metadata for imageId ".concat(e));return t(a)}I(f,e,'multipart/related; type="application/octet-stream"').then((function(f){var a=function(e){if(!e)return"1.2.840.10008.1.2";var i=e.split(";"),r={};i.forEach((function(e){var i=e.split("=");if(2===i.length){var f=i[1].trim().replace(/"/g,"");r[i[0].trim()]=f}}));var f={"image/jpeg":"1.2.840.10008.1.2.4.70","image/x-dicom-rle":"1.2.840.10008.1.2.5","image/x-jls":"1.2.840.10008.1.2.4.80","image/jp2":"1.2.840.10008.1.2.4.90","image/jpx":"1.2.840.10008.1.2.4.92"};return r["transfer-syntax"]?r["transfer-syntax"]:e&&!Object.keys(r).length&&f[e]?f[e]:r.type&&f[r.type]?f[r.type]:"1.2.840.10008.1.2"}(f.contentType),s=f.imageFrame.pixelData;Re(e,s,a,i).then((function(e){var i=(new Date).getTime();e.loadTimeInMS=i-r,n(e)}),t)}),t)})),cancelFn:void 0}},Pe={metaData:{getNumberString:w,getNumberValue:m,getNumberValues:v,getValue:k,metaDataProvider:y},findIndexOfString:A,getPixelData:I,loadImage:Ce,metaDataManager:g,register:function(e){e.registerImageLoader("wadors",Ce),e.metaData.addProvider(y)}};var Ie,Oe,xe=function(e){Pe.register(e),Qe.register(e)},Le={set cornerstone(e){xe(Ie=e)},get cornerstone(){if(!Ie){if(!window||!window.cornerstone)throw new Error("cornerstoneWADOImageLoader requires a copy of Cornerstone to work properly. Please add cornerstoneWADOImageLoader.external.cornerstone = cornerstone; to your application.");Ie=window.cornerstone,xe(Ie)}return Ie},set dicomParser(e){Oe=e},get dicomParser(){if(!Oe){if(!window||!window.dicomParser)throw new Error("cornerstoneWADOImageLoader requires a copy of dicomParser to work properly. Please add cornerstoneWADOImageLoader.external.dicomParser = dicomParser; to your application.");Oe=window.dicomParser}return Oe}};var Be=function(e){var i,r=e.indexOf(":"),f=e.substring(r+1),n=f.indexOf("frame=");if(-1!==n){var t=f.substr(n+6);i=parseInt(t,10),f=f.substr(0,n-1)}return{scheme:e.substr(0,r),url:f,frame:i}},ze=0,De={},Ne={};function Fe(){return{cacheSizeInBytes:ze,numberOfDataSetsCached:Object.keys(De).length}}var He={isLoaded:function(e){return void 0!==De[e]},load:function(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:R,r=arguments.length>2?arguments[2]:void 0,f=Le.cornerstone,n=Le.dicomParser;if(De[e])return new Promise((function(i){De[e].cacheCount++,i(De[e].dataSet)}));if(Ne[e])return Ne[e].cacheCount++,Ne[e];var t=i(e,r),a=new Promise((function(i,r){t.then((function(t){var s,l=new Uint8Array(t);try{s=n.parseDicom(l)}catch(e){return r(e)}De[e]={dataSet:s,cacheCount:a.cacheCount},ze+=s.byteArray.length,i(s),f.triggerEvent(f.events,"datasetscachechanged",{uri:e,action:"loaded",cacheInfo:Fe()})}),r).then((function(){delete Ne[e]}),(function(){delete Ne[e]}))}));return a.cacheCount=1,Ne[e]=a,a},unload:function(e){var i=Le.cornerstone;De[e]&&(De[e].cacheCount--,0===De[e].cacheCount&&(ze-=De[e].dataSet.byteArray.length,delete De[e],i.triggerEvent(i.events,"datasetscachechanged",{uri:e,action:"unloaded",cacheInfo:Fe()})))},getInfo:Fe,purge:function(){De={},Ne={}},get:function(e){if(De[e])return De[e].dataSet}};var Ue=function(e,i){var r=Le.dicomParser,f=Be(i),n=He.get(f.url);if(n){if("generalSeriesModule"===e)return{modality:n.string("x00080060"),seriesInstanceUID:n.string("x0020000e"),seriesNumber:n.intString("x00200011"),studyInstanceUID:n.string("x0020000d"),seriesDate:r.parseDA(n.string("x00080021")),seriesTime:r.parseTM(n.string("x00080031")||"")};if("patientStudyModule"===e)return{patientAge:n.intString("x00101010"),patientSize:n.floatString("x00101020"),patientWeight:n.floatString("x00101030")};if("imagePlaneModule"===e){var t=_(n,"x00200037",6),a=_(n,"x00200032",3),s=_(n,"x00280030",2),l=null,o=null;s&&(o=s[0],l=s[1]);var u=null,h=null;return t&&(u=[parseFloat(t[0]),parseFloat(t[1]),parseFloat(t[2])],h=[parseFloat(t[3]),parseFloat(t[4]),parseFloat(t[5])]),{frameOfReferenceUID:n.string("x00200052"),rows:n.uint16("x00280010"),columns:n.uint16("x00280011"),imageOrientationPatient:t,rowCosines:u,columnCosines:h,imagePositionPatient:a,sliceThickness:n.floatString("x00180050"),sliceLocation:n.floatString("x00201041"),pixelSpacing:s,rowPixelSpacing:o,columnPixelSpacing:l}}if("imagePixelModule"===e)return c(n);if("modalityLutModule"===e)return{rescaleIntercept:n.floatString("x00281052"),rescaleSlope:n.floatString("x00281053"),rescaleType:n.string("x00281054"),modalityLUTSequence:d(n.uint16("x00280103"),n.elements.x00283000)};if("voiLutModule"===e){var k=b(n);return{windowCenter:_(n,"x00281050",1),windowWidth:_(n,"x00281051",1),voiLUTSequence:d(k,n.elements.x00283010)}}if("sopCommonModule"===e)return{sopClassUID:n.string("x00080016"),sopInstanceUID:n.string("x00080018")};if("petIsotopeModule"===e){var w=n.elements.x00540016;if(void 0===w)return;var m=w.items[0].dataSet;return{radiopharmaceuticalInfo:{radiopharmaceuticalStartTime:r.parseTM(m.string("x00181072")||""),radionuclideTotalDose:m.floatString("x00181074"),radionuclideHalfLife:m.floatString("x00181075")}}}return"overlayPlaneModule"===e?function(e){for(var i=[],r=0;r<=30;r+=2){var f="x60".concat(r.toString(16));4===f.length&&(f="x600".concat(r.toString(16)));var n=e.elements["".concat(f,"3000")];if(n){for(var t=[],a=0;a>s&1}i.push({rows:e.uint16("".concat(f,"0010")),columns:e.uint16("".concat(f,"0011")),type:e.string("".concat(f,"0040")),x:e.int16("".concat(f,"0050"),1)-1,y:e.int16("".concat(f,"0050"),0)-1,pixelData:t,description:e.string("".concat(f,"0022")),label:e.string("".concat(f,"1500")),roiArea:e.string("".concat(f,"1301")),roiMean:e.string("".concat(f,"1302")),roiStandardDeviation:e.string("".concat(f,"1303"))})}}return{overlays:i}}(n):void 0}},je=[];var Ye={add:function(e){var i=je.push(e);return"dicomfile:".concat(i-1)},get:function(e){return je[e]},remove:function(e){je[e]=void 0},purge:function(){je=[]}};function qe(e,i){var r=Le.dicomParser;if(e.elements.x7fe00010&&e.elements.x7fe00010.basicOffsetTable.length)return r.readEncapsulatedImageFrame(e,e.elements.x7fe00010,i);if(function(e){return e.intString("x00280008")!==e.elements.x7fe00010.fragments.length}(e)){var f=r.createJPEGBasicOffsetTable(e,e.elements.x7fe00010);return r.readEncapsulatedImageFrame(e,e.elements.x7fe00010,i,f)}return r.readEncapsulatedPixelDataFromFragments(e,e.elements.x7fe00010,i)}function $e(e,i){return e&1<=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer,r,o)}if(16===n){if((r=l+i*o*2)>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer,r,2*o)}if(1===n){if((r=l+i*o*.125)>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return Ve(e.byteArray,r,o)}if(32===n){if((r=l+i*o*4)>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer,r,4*o)}throw new Error("unsupported pixel format")};var Ge=function(e){var i=Be(e),r=parseInt(i.url,10),f=Ye.get(r);return new Promise((function(e,i){var r=new FileReader;r.onload=function(i){var r=i.target.result;e(r)},r.onerror=i,r.readAsArrayBuffer(f)}))};var Ke=function(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=e.elements.x7fe00010||e.elements.x7fe00008;return r?r.encapsulatedPixelData?qe(e,i):Xe(e,i):null};function We(e,i){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,f=arguments.length>3?arguments[3]:void 0,n=arguments.length>4?arguments[4]:void 0,t=arguments.length>5?arguments[5]:void 0,a=(new Date).getTime(),s={cancelFn:void 0};return s.promise=new Promise((function(l,o){e.then((function(e){var u=Ke(e,r),c=e.string("x00020010"),h=(new Date).getTime(),d=Re(i,u,c,n);!function(e,i){e.decache=function(){var e=Be(i);He.unload(e.url)}}(s,i),d.then((function(i){i.data=e,i.sharedCacheKey=f;var r=(new Date).getTime();i.loadTimeInMS=h-a,i.totalTimeInMS=r-a,void 0!==t&&void 0!==t.imageDoneCallback&&t.imageDoneCallback(i),l(i)}),(function(i){o({error:i,dataSet:e})}))}),(function(e){o({error:e})}))})),s}function Ze(e){return"dicomweb"===e||"wadouri"===e?R:"dicomfile"===e?Ge:void 0}function Je(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=Be(e),f=(i=Object.assign({},i)).loader;return void 0===f?f=Ze(r.scheme):delete i.loader,He.isLoaded(r.url)?function(e,i){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,f=arguments.length>3?arguments[3]:void 0,n=arguments.length>4?arguments[4]:void 0,t=(new Date).getTime();return{promise:new Promise((function(a,s){var l,o=(new Date).getTime();try{var u=Ke(e,r),c=e.string("x00020010");l=Re(i,u,c,n)}catch(i){return void s({error:i,dataSet:e})}l.then((function(i){i.data=e,i.sharedCacheKey=f;var r=(new Date).getTime();i.loadTimeInMS=o-t,i.totalTimeInMS=r-t,a(i)}),s)})),cancelFn:void 0}}(He.get(r.url,f,e),e,r.frame,r.url,i):We(He.load(r.url,f,e),e,r.frame,r.url,i)}var Qe={metaData:{getImagePixelModule:c,getLUTs:d,getModalityLUTOutputPixelRepresentation:b,getNumberValues:_,metaDataProvider:Ue},dataSetCacheManager:He,fileManager:Ye,getEncapsulatedImageFrame:qe,getUncompressedImageFrame:Xe,loadFileRequest:Ge,loadImageFromPromise:We,getLoaderForScheme:Ze,loadImage:Je,parseImageId:Be,unpackBinaryFrame:Ve,register:function(e){e.registerImageLoader("dicomweb",Je),e.registerImageLoader("wadouri",Je),e.registerImageLoader("dicomfile",Je),e.metaData.addProvider(Ue)}};var ei=function(e){S(e)};r.d(i,"convertRGBColorByPixel",(function(){return f})),r.d(i,"convertRGBColorByPlane",(function(){return n})),r.d(i,"convertYBRFullByPixel",(function(){return t})),r.d(i,"convertYBRFullByPlane",(function(){return a})),r.d(i,"convertPALETTECOLOR",(function(){return l})),r.d(i,"wadouri",(function(){return Qe})),r.d(i,"wadors",(function(){return Pe})),r.d(i,"configure",(function(){return ei})),r.d(i,"convertColorSpace",(function(){return Ee})),r.d(i,"createImage",(function(){return Re})),r.d(i,"decodeImageFrame",(function(){return ye})),r.d(i,"decodeJPEGBaseline8BitColor",(function(){return K})),r.d(i,"getImageFrame",(function(){return x})),r.d(i,"getMinMax",(function(){return X})),r.d(i,"isColorImage",(function(){return Me})),r.d(i,"isJPEGBaseline8BitColor",(function(){return Se})),r.d(i,"webWorkerManager",(function(){return V})),r.d(i,"version",(function(){return"3.0.6"})),r.d(i,"internal",(function(){return C})),r.d(i,"external",(function(){return Le}));var ii={convertRGBColorByPixel:f,convertRGBColorByPlane:n,convertYBRFullByPixel:t,convertYBRFullByPlane:a,convertPALETTECOLOR:l,wadouri:Qe,wadors:Pe,configure:ei,convertColorSpace:Ee,createImage:Re,decodeImageFrame:ye,decodeJPEGBaseline8BitColor:K,getImageFrame:x,getMinMax:X,isColorImage:Me,isJPEGBaseline8BitColor:Se,webWorkerManager:V,version:"3.0.6",internal:C,external:Le};i.default=ii}])})); +//# sourceMappingURL=cornerstoneWADOImageLoader.min.js.map \ No newline at end of file diff --git a/lib/cornerstone/dicomParser.min.js b/lib/cornerstone/dicomParser.min.js index 1c636ce..623ebae 100644 --- a/lib/cornerstone/dicomParser.min.js +++ b/lib/cornerstone/dicomParser.min.js @@ -1,17 +1,3 @@ -/*! dicom-parser - 1.8.4 - 2019-11-26 | (c) 2017 Chris Hafey | https://github.com/cornerstonejs/dicomParser */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("dicom-parser",[],t):"object"==typeof exports?exports["dicom-parser"]=t():e.dicomParser=t()}(this,function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=79)}([function(e,t){var r;r=function(){return this}();try{r=r||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";(function(e){ -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -var n=r(73),i=r(72),a=r(39);function o(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(o()=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function p(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return Z(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return j(e).length;default:if(n)return Z(e).length;t=(""+t).toLowerCase(),n=!0}}function g(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function m(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:_(e,t,r,n,i);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):_(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function _(e,t,r,n,i){var a,o=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,r/=2}function f(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var h=!0,d=0;di&&(n=i):n=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var o=0;o>8,i=r%256,a.push(i),a.push(n);return a}(t,e.length-r),e,r,n)}function S(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function k(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:f>223?3:f>191?2:1;if(i+h<=r)switch(h){case 1:f<128&&(u=f);break;case 2:128==(192&(a=e[i+1]))&&(l=(31&f)<<6|63&a)>127&&(u=l);break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(l=(15&f)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&f)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=h}return function(e){var t=e.length;if(t<=A)return String.fromCharCode.apply(String,e);var r="",n=0;for(;nthis.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return D(this,t,r);case"utf8":case"utf-8":return k(this,t,r);case"ascii":return P(this,t,r);case"latin1":case"binary":return T(this,t,r);case"base64":return S(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",r=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),""},l.prototype.compare=function(e,t,r,n,i){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;for(var a=i-n,o=r-t,s=Math.min(a,o),f=this.slice(n,i),u=e.slice(t,r),h=0;hi)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return y(this,e,t,r);case"utf8":case"utf-8":return b(this,e,t,r);case"ascii":return v(this,e,t,r);case"latin1":case"binary":return w(this,e,t,r);case"base64":return E(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function P(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function R(e,t,r,n,i,a){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function L(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function F(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function B(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function U(e,t,r,n,a){return a||B(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function M(e,t,r,n,a){return a||B(e,0,r,8),i.write(e,t,r,n,52,8),r+8}l.prototype.slice=function(e,t){var r,n=this.length;if(e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(i*=256);)n+=this[e+--t]*i;return n},l.prototype.readUInt8=function(e,t){return t||I(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||I(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||I(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||I(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||I(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||I(e,t,this.length);for(var n=this[e],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||I(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},l.prototype.readInt8=function(e,t){return t||I(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||I(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt16BE=function(e,t){t||I(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt32LE=function(e,t){return t||I(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||I(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||I(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||I(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||I(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||I(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||R(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[t]=255&e;++a=0&&(a*=256);)this[t+i]=e/a&255;return t+r},l.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||R(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||R(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):L(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||R(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):L(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||R(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):F(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||R(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):F(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);R(this,e,t,r,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a>0)-s&255;return t+r},l.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);R(this,e,t,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},l.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||R(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||R(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):L(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||R(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):L(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||R(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):F(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||R(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):F(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,r){return U(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return U(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return M(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return M(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(a<1e3||!l.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function j(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(N,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function C(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}}).call(this,r(0))},function(e,t,r){"use strict";var n=r(10),i=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.exports=h;var a=r(6);a.inherits=r(5);var o=r(36),s=r(18);a.inherits(h,o);for(var l=i(s.prototype),f=0;f1)for(var r=1;r0){var r=(0,i.readFixedString)(this.byteArray,t.dataOffset,t.length).match(/\\/g);return null===r?1:r.length+1}}},{key:"string",value:function(e,t){var r=this.elements[e];if(r&&r.length>0){var n=(0,i.readFixedString)(this.byteArray,r.dataOffset,r.length);return t>=0?n.split("\\")[t].trim():n.trim()}}},{key:"text",value:function(e,t){var r=this.elements[e];if(r&&r.length>0){var n=(0,i.readFixedString)(this.byteArray,r.dataOffset,r.length);return t>=0?n.split("\\")[t].replace(/ +$/,""):n.replace(/ +$/,"")}}},{key:"floatString",value:function(e,t){var r=this.elements[e];if(r&&r.length>0){t=void 0!==t?t:0;var n=this.string(e,t);if(void 0!==n)return parseFloat(n)}}},{key:"intString",value:function(e,t){var r=this.elements[e];if(r&&r.length>0){t=void 0!==t?t:0;var n=this.string(e,t);if(void 0!==n)return parseInt(n)}}},{key:"attributeTag",value:function(e){var t=this.elements[e];if(t&&4===t.length){var r=a(t,this.byteArrayParser).readUint16,n=this.byteArray,i=t.dataOffset;return"x"+("00000000"+(256*r(n,i)*256+r(n,i+2)).toString(16)).substr(-8)}}}]),e}();t.default=o},function(e,t,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var n in r)i(r,n)&&(e[n]=r[n])}}return e},t.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var a={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var a=0;a=n.length)throw"dicomParser.ByteStream: parameter 'position' cannot be greater than or equal to 'byteArray' length";this.byteArrayParser=r,this.byteArray=n,this.position=i||0,this.warnings=[]}return i(t,[{key:"seek",value:function(e){if(this.position+e<0)throw"dicomParser.ByteStream.prototype.seek: cannot seek to position < 0";this.position+=e}},{key:"readByteStream",value:function(e){if(this.position+e>this.byteArray.length)throw"dicomParser.ByteStream.prototype.readByteStream: readByteStream - buffer overread";var r=(0,o.default)(this.byteArray,this.position,e);return this.position+=e,new t(this.byteArrayParser,r)}},{key:"readUint16",value:function(){var e=this.byteArrayParser.readUint16(this.byteArray,this.position);return this.position+=2,e}},{key:"readUint32",value:function(){var e=this.byteArrayParser.readUint32(this.byteArray,this.position);return this.position+=4,e}},{key:"readFixedString",value:function(e){var t=(0,s.readFixedString)(this.byteArray,this.position,e);return this.position+=e,t}}]),t}();t.default=l}).call(this,r(1).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(void 0===e)throw"dicomParser.readSequenceItem: missing required parameter 'byteStream'";var t={tag:(0,a.default)(e),length:e.readUint32(),dataOffset:e.position};if("xfffee000"!==t.tag)throw"dicomParser.readSequenceItem: item tag (FFFE,E000) not found at offset "+e.position;return t};var n,i=r(4),a=(n=i)&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.readFixedString=function(e,t,r){if(r<0)throw"dicomParser.readFixedString - length cannot be less than 0";if(t+r>e.length)throw"dicomParser.readFixedString: attempt to read past end of buffer";for(var n,i="",a=0;a3&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?t.byteArray.length:r,void 0===t)throw"dicomParser.parseDicomDataSetExplicit: missing required parameter 'byteStream'";if(rt.byteArray.length)throw"dicomParser.parseDicomDataSetExplicit: invalid value for parameter 'maxP osition'";var a=e.elements;for(;t.positionr)throw"dicomParser:parseDicomDataSetExplicit: buffer overrun"},t.parseDicomDataSetImplicit=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?e.byteArray.length:r,void 0===t)throw"dicomParser.parseDicomDataSetImplicit: missing required parameter 'byteStream'";if(rt.byteArray.length)throw"dicomParser.parseDicomDataSetImplicit: invalid value for parameter 'maxPosition'";var a=e.elements;for(;t.position= 0";if(r>=t.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be < number of fragments";if(s<1)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'numFragments' must be > 0";if(r+s>t.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragment' + 'numFragments' < number of fragments";var u=new i.default(e.byteArrayParser,e.byteArray,t.dataOffset),h=(0,a.default)(u);if("xfffee000"!==h.tag)throw"dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000";u.seek(h.length);var d=u.position;if(1===s)return(0,o.default)(u.byteArray,d+f[r].offset+8,f[r].length);for(var c=l(f,r,s),p=(0,n.default)(u.byteArray,c),g=0,m=r;m-1?n:a.nextTick;y.WritableState=_;var f=r(6);f.inherits=r(5);var u={deprecate:r(61)},h=r(35),d=r(9).Buffer,c=i.Uint8Array||function(){};var p,g=r(34);function m(){}function _(e,t){s=s||r(2),e=e||{};var n=t instanceof s;this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,f=e.writableHighWaterMark,u=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(f||0===f)?f:u,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===e.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,n,i){--t.pendingcb,r?(a.nextTick(i,n),a.nextTick(S,e,t),e._writableState.errorEmitted=!0,e.emit("error",n)):(i(n),e._writableState.errorEmitted=!0,e.emit("error",n),S(e,t))}(e,r,n,t,i);else{var o=E(r);o||r.corked||r.bufferProcessing||!r.bufferedRequest||w(e,r),n?l(v,e,r,o,i):v(e,r,o,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function y(e){if(s=s||r(2),!(p.call(y,this)||this instanceof s))return new y(e);this._writableState=new _(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),h.call(this)}function b(e,t,r,n,i,a,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,r?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function v(e,t,r,n){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,n(),S(e,t)}function w(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,i=new Array(n),a=t.corkedRequestsFree;a.entry=r;for(var s=0,l=!0;r;)i[s]=r,r.isBuf||(l=!1),r=r.next,s+=1;i.allBuffers=l,b(e,t,!0,t.length,i,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new o(t),t.bufferedRequestCount=0}else{for(;r;){var f=r.chunk,u=r.encoding,h=r.callback;if(b(e,t,!1,t.objectMode?1:f.length,f,u,h),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function E(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function x(e,t){e._final(function(r){t.pendingcb--,r&&e.emit("error",r),t.prefinished=!0,e.emit("prefinish"),S(e,t)})}function S(e,t){var r=E(t);return r&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,a.nextTick(x,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),r}f.inherits(y,h),_.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(_.prototype,"buffer",{get:u.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(e){return!!p.call(this,e)||this===y&&(e&&e._writableState instanceof _)}})):p=function(e){return e instanceof this},y.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},y.prototype.write=function(e,t,r){var n,i=this._writableState,o=!1,s=!i.objectMode&&(n=e,d.isBuffer(n)||n instanceof c);return s&&!d.isBuffer(e)&&(e=function(e){return d.from(e)}(e)),"function"==typeof t&&(r=t,t=null),s?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof r&&(r=m),i.ended?function(e,t){var r=new Error("write after end");e.emit("error",r),a.nextTick(t,r)}(this,r):(s||function(e,t,r,n){var i=!0,o=!1;return null===r?o=new TypeError("May not write null values to stream"):"string"==typeof r||void 0===r||t.objectMode||(o=new TypeError("Invalid non-string/buffer chunk")),o&&(e.emit("error",o),a.nextTick(n,o),i=!1),i}(this,i,e,r))&&(i.pendingcb++,o=function(e,t,r,n,i,a){if(!r){var o=function(e,t,r){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=d.from(t,r));return t}(t,n,i);n!==o&&(r=!0,i="buffer",n=o)}var s=t.objectMode?1:n.length;t.length+=s;var l=t.length-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},y.prototype._write=function(e,t,r){r(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(e,t,r){var n=this._writableState;"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!==e&&void 0!==e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(e,t,r){t.ending=!0,S(e,t),r&&(t.finished?a.nextTick(r):e.once("finish",r));t.ended=!0,e.writable=!1}(this,n,r)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),y.prototype.destroy=g.destroy,y.prototype._undestroy=g.undestroy,y.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,r(3),r(63).setImmediate,r(0))},function(e,t,r){(t=e.exports=r(36)).Stream=t,t.Readable=t,t.Writable=r(18),t.Duplex=r(2),t.Transform=r(32),t.PassThrough=r(60)},function(e,t){function r(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function n(e){return"function"==typeof e}function i(e){return"object"==typeof e&&null!==e}function a(e){return void 0===e}e.exports=r,r.EventEmitter=r,r.prototype._events=void 0,r.prototype._maxListeners=void 0,r.defaultMaxListeners=10,r.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},r.prototype.emit=function(e){var t,r,o,s,l,f;if(this._events||(this._events={}),"error"===e&&(!this._events.error||i(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var u=new Error('Uncaught, unspecified "error" event. ('+t+")");throw u.context=t,u}if(a(r=this._events[e]))return!1;if(n(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),r.apply(this,s)}else if(i(r))for(s=Array.prototype.slice.call(arguments,1),o=(f=r.slice()).length,l=0;l0&&this._events[e].length>o&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},r.prototype.on=r.prototype.addListener,r.prototype.once=function(e,t){if(!n(t))throw TypeError("listener must be a function");var r=!1;function i(){this.removeListener(e,i),r||(r=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},r.prototype.removeListener=function(e,t){var r,a,o,s;if(!n(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(o=(r=this._events[e]).length,a=-1,r===t||n(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(r)){for(s=o;s-- >0;)if(r[s]===t||r[s].listener&&r[s].listener===t){a=s;break}if(a<0)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(a,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},r.prototype.removeAllListeners=function(e){var t,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(n(r=this._events[e]))this.removeListener(e,r);else if(r)for(;r.length;)this.removeListener(e,r[r.length-1]);return delete this._events[e],this},r.prototype.listeners=function(e){return this._events&&this._events[e]?n(this._events[e])?[this._events[e]]:this._events[e].slice():[]},r.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(n(t))return 1;if(t)return t.length}return 0},r.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={readUint16:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readUint16: position cannot be less than 0";if(t+2>e.length)throw"littleEndianByteArrayParser.readUint16: attempt to read past end of buffer";return e[t]+256*e[t+1]},readInt16:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readInt16: position cannot be less than 0";if(t+2>e.length)throw"littleEndianByteArrayParser.readInt16: attempt to read past end of buffer";var r=e[t]+(e[t+1]<<8);return 32768&r&&(r=r-65535-1),r},readUint32:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readUint32: position cannot be less than 0";if(t+4>e.length)throw"littleEndianByteArrayParser.readUint32: attempt to read past end of buffer";return e[t]+256*e[t+1]+256*e[t+2]*256+256*e[t+3]*256*256},readInt32:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readInt32: position cannot be less than 0";if(t+4>e.length)throw"littleEndianByteArrayParser.readInt32: attempt to read past end of buffer";return e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24)},readFloat:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readFloat: position cannot be less than 0";if(t+4>e.length)throw"littleEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[0]=e[t],r[1]=e[t+1],r[2]=e[t+2],r[3]=e[t+3],new Float32Array(r.buffer)[0]},readDouble:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readDouble: position cannot be less than 0";if(t+8>e.length)throw"littleEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[0]=e[t],r[1]=e[t+1],r[2]=e[t+2],r[3]=e[t+3],r[4]=e[t+4],r[5]=e[t+5],r[6]=e[t+6],r[7]=e[t+7],new Float64Array(r.buffer)[0]}}},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(t,r){if(void 0!==e&&t instanceof e)return e.alloc(r);if(t instanceof Uint8Array)return new Uint8Array(r);throw"dicomParser.alloc: unknown type for byteArray"}}).call(this,r(1).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";var r=e.byteArray.length-8;for(;e.position<=r;){var n=e.readUint16();if(65534===n){var i=e.readUint16();if(57357===i){var a=e.readUint32();return 0!==a&&e.warnings("encountered non zero length following item delimiter at position "+(e.position-4)+" while reading element of undefined length with tag "+t.tag),void(t.length=e.position-t.dataOffset)}}}t.length=e.byteArray.length-t.dataOffset,e.seek(e.byteArray.length-e.position)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";var o={tag:(0,a.default)(e),length:e.readUint32(),dataOffset:e.position};4294967295===o.length&&(o.hadUndefinedLength=!0);if(o.tag===t)return o;if(s(o,e,r))return(0,i.default)(e,o),o;if(o.hadUndefinedLength)return(0,n.default)(e,o),o;return e.seek(o.length),o};var n=o(r(23)),i=o(r(25)),a=o(r(4));function o(e){return e&&e.__esModule?e:{default:e}}var s=function(e,t,r){if(void 0!==r)return"SQ"===r(e.tag);if(t.position+4<=t.byteArray.length){var n=(0,a.default)(t);return t.seek(-4),"xfffee000"===n||"xfffee0dd"===n}return t.warnings.push("eof encountered before finding sequence item tag or sequence delimiter tag in peeking to determine VR"),!1}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if(void 0===e)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'byteStream'";if(void 0===t)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'element'";t.items=[],4294967295===t.length?function(e,t,r){for(;e.position+4<=e.byteArray.length;){var n=(0,o.default)(e);if(e.seek(-4),"xfffee0dd"===n)return t.length=e.position-t.dataOffset,e.seek(8),t;var i=f(e,r);t.items.push(i)}e.warnings.push("eof encountered before finding sequence delimiter in sequence of undefined length"),t.length=e.byteArray.length-t.dataOffset}(e,t,r):function(e,t,r){var n=t.dataOffset+t.length;for(;e.position= 0";if(r>=n.length)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be < basicOffsetTable.length";var l=n[r],f=o(i,l);if(void 0===f)throw"dicomParser.readEncapsulatedImageFrame: unable to find fragment that matches basic offset table entry";var u=s(r,n,i,f);return(0,a.default)(e,t,f,u,i)};var n,i=r(17),a=(n=i)&&n.__esModule?n:{default:n};var o=function(e,t){for(var r=0;r>>1:e>>>1;t[r]=e}return t}();e.exports=function(e,t,r,i){var a=n,o=i+r;e^=-1;for(var s=i;s>>8^a[255&(e^t[s])];return-1^e}},function(e,t,r){"use strict";e.exports=function(e,t,r,n){for(var i=65535&e|0,a=e>>>16&65535|0,o=0;0!==r;){r-=o=r>2e3?2e3:r;do{a=a+(i=i+t[n++]|0)|0}while(--o);i%=65521,a%=65521}return i|a<<16|0}},function(e,t,r){(function(e,n){var i=/%[sdj%]/g;t.format=function(e){if(!_(e)){for(var t=[],r=0;r=a)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}}),l=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),p(r)?n.showHidden=r:r&&t._extend(n,r),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,e,n.depth)}function l(e,t){var r=s.styles[t];return r?"["+s.colors[r][0]+"m"+e+"["+s.colors[r][1]+"m":e}function f(e,t){return e}function u(e,r,n){if(e.customInspect&&r&&x(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,e);return _(i)||(i=u(e,i,n)),i}var a=function(e,t){if(y(t))return e.stylize("undefined","undefined");if(_(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(m(t))return e.stylize(""+t,"number");if(p(t))return e.stylize(""+t,"boolean");if(g(t))return e.stylize("null","null")}(e,r);if(a)return a;var o=Object.keys(r),s=function(e){var t={};return e.forEach(function(e,r){t[e]=!0}),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),E(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return h(r);if(0===o.length){if(x(r)){var l=r.name?": "+r.name:"";return e.stylize("[Function"+l+"]","special")}if(b(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return e.stylize(Date.prototype.toString.call(r),"date");if(E(r))return h(r)}var f,v="",S=!1,k=["{","}"];(c(r)&&(S=!0,k=["[","]"]),x(r))&&(v=" [Function"+(r.name?": "+r.name:"")+"]");return b(r)&&(v=" "+RegExp.prototype.toString.call(r)),w(r)&&(v=" "+Date.prototype.toUTCString.call(r)),E(r)&&(v=" "+h(r)),0!==o.length||S&&0!=r.length?n<0?b(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),f=S?function(e,t,r,n,i){for(var a=[],o=0,s=t.length;o=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(f,v,k)):k[0]+v+k[1]}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(s=e.stylize("[Setter]","special")),P(n,i)||(o="["+i+"]"),s||(e.seen.indexOf(l.value)<0?(s=g(r)?u(e,l.value,null):u(e,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+s.split("\n").map(function(e){return" "+e}).join("\n")):s=e.stylize("[Circular]","special")),y(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function c(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function g(e){return null===e}function m(e){return"number"==typeof e}function _(e){return"string"==typeof e}function y(e){return void 0===e}function b(e){return v(e)&&"[object RegExp]"===S(e)}function v(e){return"object"==typeof e&&null!==e}function w(e){return v(e)&&"[object Date]"===S(e)}function E(e){return v(e)&&("[object Error]"===S(e)||e instanceof Error)}function x(e){return"function"==typeof e}function S(e){return Object.prototype.toString.call(e)}function k(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(y(a)&&(a=n.env.NODE_DEBUG||""),e=e.toUpperCase(),!o[e])if(new RegExp("\\b"+e+"\\b","i").test(a)){var r=n.pid;o[e]=function(){var n=t.format.apply(t,arguments);console.error("%s %d: %s",e,r,n)}}else o[e]=function(){};return o[e]},t.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=c,t.isBoolean=p,t.isNull=g,t.isNullOrUndefined=function(e){return null==e},t.isNumber=m,t.isString=_,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=y,t.isRegExp=b,t.isObject=v,t.isDate=w,t.isError=E,t.isFunction=x,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(54);var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function P(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,r;console.log("%s - %s",(e=new Date,r=[k(e.getHours()),k(e.getMinutes()),k(e.getSeconds())].join(":"),[e.getDate(),A[e.getMonth()],r].join(" ")),t.format.apply(t,arguments))},t.inherits=r(53),t._extend=function(e,t){if(!t||!v(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}}).call(this,r(0),r(3))},function(e,t,r){"use strict";(function(t){ -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -function n(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i=0;f--)if(u[f]!==h[f])return!1;for(f=u.length-1;f>=0;f--)if(l=u[f],!y(e[l],t[l],r,n))return!1;return!0}(e,t,r,o))}return r?e===t:e==t}function b(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function v(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function w(e,t,r,n){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=function(e){var t;try{e()}catch(e){t=e}return t}(t),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),e&&!i&&m(i,r,"Missing expected exception"+n);var o="string"==typeof n,s=!e&&a.isError(i),l=!e&&i&&!r;if((s&&o&&v(i,r)||l)&&m(i,r,"Got unwanted exception"+n),e&&i&&r&&!v(i,r)||!e&&i)throw i}h.AssertionError=function(e){var t;this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=p(g((t=this).actual),128)+" "+t.operator+" "+p(g(t.expected),128),this.generatedMessage=!0);var r=e.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var i=n.stack,a=c(r),o=i.indexOf("\n"+a);if(o>=0){var s=i.indexOf("\n",o+1);i=i.substring(s+1)}this.stack=i}}},a.inherits(h.AssertionError,Error),h.fail=m,h.ok=_,h.equal=function(e,t,r){e!=t&&m(e,t,r,"==",h.equal)},h.notEqual=function(e,t,r){e==t&&m(e,t,r,"!=",h.notEqual)},h.deepEqual=function(e,t,r){y(e,t,!1)||m(e,t,r,"deepEqual",h.deepEqual)},h.deepStrictEqual=function(e,t,r){y(e,t,!0)||m(e,t,r,"deepStrictEqual",h.deepStrictEqual)},h.notDeepEqual=function(e,t,r){y(e,t,!1)&&m(e,t,r,"notDeepEqual",h.notDeepEqual)},h.notDeepStrictEqual=function e(t,r,n){y(t,r,!0)&&m(t,r,n,"notDeepStrictEqual",e)},h.strictEqual=function(e,t,r){e!==t&&m(e,t,r,"===",h.strictEqual)},h.notStrictEqual=function(e,t,r){e===t&&m(e,t,r,"!==",h.notStrictEqual)},h.throws=function(e,t,r){w(!0,e,t,r)},h.doesNotThrow=function(e,t,r){w(!1,e,t,r)},h.ifError=function(e){if(e)throw e};var E=Object.keys||function(e){var t=[];for(var r in e)o.call(e,r)&&t.push(r);return t}}).call(this,r(0))},function(e,t,r){"use strict";e.exports=a;var n=r(2),i=r(6);function a(e){if(!(this instanceof a))return new a(e);n.call(this,e),this._transformState={afterTransform:function(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(!n)return this.emit("error",new Error("write callback called multiple times"));r.writechunk=null,r.writecb=null,null!=t&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length>5==6?2:e>>4==14?3:e>>3==30?4:-1}function s(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,"�".repeat(r);if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�".repeat(r+1);if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�".repeat(r+2)}}(this,e,t);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function f(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function u(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function c(e){return e&&e.length?this.write(e):""}t.StringDecoder=a,a.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0)return i>0&&(e.lastNeed=i-1),i;if(--n=0)return i>0&&(e.lastNeed=i-2),i;if(--n=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},a.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,r){"use strict";var n=r(10);function i(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var r=this,a=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;return a||o?(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||n.nextTick(i,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?(n.nextTick(i,r,e),r._writableState&&(r._writableState.errorEmitted=!0)):t&&t(e)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(e,t,r){e.exports=r(20).EventEmitter},function(e,t,r){"use strict";(function(t,n){var i=r(10);e.exports=b;var a,o=r(39);b.ReadableState=y;r(20).EventEmitter;var s=function(e,t){return e.listeners(t).length},l=r(35),f=r(9).Buffer,u=t.Uint8Array||function(){};var h=r(6);h.inherits=r(5);var d=r(66),c=void 0;c=d&&d.debuglog?d.debuglog("stream"):function(){};var p,g=r(65),m=r(34);h.inherits(b,l);var _=["error","close","destroy","pause","resume"];function y(e,t){a=a||r(2),e=e||{};var n=t instanceof a;this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,o=e.readableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(o||0===o)?o:s,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new g,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(p||(p=r(33).StringDecoder),this.decoder=new p(e.encoding),this.encoding=e.encoding)}function b(e){if(a=a||r(2),!(this instanceof b))return new b(e);this._readableState=new y(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),l.call(this)}function v(e,t,r,n,i){var a,o=e._readableState;null===t?(o.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,S(e)}(e,o)):(i||(a=function(e,t){var r;n=t,f.isBuffer(n)||n instanceof u||"string"==typeof t||void 0===t||e.objectMode||(r=new TypeError("Invalid non-string/buffer chunk"));var n;return r}(o,t)),a?e.emit("error",a):o.objectMode||t&&t.length>0?("string"==typeof t||o.objectMode||Object.getPrototypeOf(t)===f.prototype||(t=function(e){return f.from(e)}(t)),n?o.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):w(e,o,t,!0):o.ended?e.emit("error",new Error("stream.push() after EOF")):(o.reading=!1,o.decoder&&!r?(t=o.decoder.write(t),o.objectMode||0!==t.length?w(e,o,t,!1):A(e,o)):w(e,o,t,!1))):n||(o.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=E?e=E:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function S(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(c("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?i.nextTick(k,e):k(e))}function k(e){c("emit readable"),e.emit("readable"),O(e)}function A(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(P,e,t))}function P(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):r=function(e,t,r){var n;ea.length?a.length:e;if(o===a.length?i+=a:i+=a.slice(0,e),0===(e-=o)){o===a.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=a.slice(o));break}++n}return t.length-=n,i}(e,t):function(e,t){var r=f.allocUnsafe(e),n=t.head,i=1;n.data.copy(r),e-=n.data.length;for(;n=n.next;){var a=n.data,o=e>a.length?a.length:e;if(a.copy(r,r.length-e,0,o),0===(e-=o)){o===a.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=a.slice(o));break}++i}return t.length-=i,r}(e,t);return n}(e,t.buffer,t.decoder),r);var r}function R(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,i.nextTick(L,t,e))}function L(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function F(e,t){for(var r=0,n=e.length;r=t.highWaterMark||t.ended))return c("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?R(this):S(this),null;if(0===(e=x(e,t))&&t.ended)return 0===t.length&&R(this),null;var n,i=t.needReadable;return c("need readable",i),(0===t.length||t.length-e0?I(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&R(this)),null!==n&&this.emit("data",n),n},b.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},b.prototype.pipe=function(e,t){var r=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}a.pipesCount+=1,c("pipe count=%d opts=%j",a.pipesCount,t);var l=(!t||!1!==t.end)&&e!==n.stdout&&e!==n.stderr?u:b;function f(t,n){c("onunpipe"),t===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,c("cleanup"),e.removeListener("close",_),e.removeListener("finish",y),e.removeListener("drain",h),e.removeListener("error",m),e.removeListener("unpipe",f),r.removeListener("end",u),r.removeListener("end",b),r.removeListener("data",g),d=!0,!a.awaitDrain||e._writableState&&!e._writableState.needDrain||h())}function u(){c("onend"),e.end()}a.endEmitted?i.nextTick(l):r.once("end",l),e.on("unpipe",f);var h=function(e){return function(){var t=e._readableState;c("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&s(e,"data")&&(t.flowing=!0,O(e))}}(r);e.on("drain",h);var d=!1;var p=!1;function g(t){c("ondata"),p=!1,!1!==e.write(t)||p||((1===a.pipesCount&&a.pipes===e||a.pipesCount>1&&-1!==F(a.pipes,e))&&!d&&(c("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,p=!0),r.pause())}function m(t){c("onerror",t),b(),e.removeListener("error",m),0===s(e,"error")&&e.emit("error",t)}function _(){e.removeListener("finish",y),b()}function y(){c("onfinish"),e.removeListener("close",_),b()}function b(){c("unpipe"),r.unpipe(e)}return r.on("data",g),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?o(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",m),e.once("close",_),e.once("finish",y),e.emit("pipe",r),a.flowing||(c("pipe resume"),r.resume()),e},b.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a"x0002ffff"){r.position=n;break}s.parser=a.default,t[s.tag]=s}var l=new i.default(r.byteArrayParser,r.byteArray,t);return l.warnings=r.warnings,l.position=r.position,l}()};var n=s(r(12)),i=s(r(7)),a=s(r(21)),o=s(r(15));function s(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={readUint16:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readUint16: position cannot be less than 0";if(t+2>e.length)throw"bigEndianByteArrayParser.readUint16: attempt to read past end of buffer";return(e[t]<<8)+e[t+1]},readInt16:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readInt16: position cannot be less than 0";if(t+2>e.length)throw"bigEndianByteArrayParser.readInt16: attempt to read past end of buffer";var r=(e[t]<<8)+e[t+1];return 32768&r&&(r=r-65535-1),r},readUint32:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readUint32: position cannot be less than 0";if(t+4>e.length)throw"bigEndianByteArrayParser.readUint32: attempt to read past end of buffer";return 256*(256*(256*e[t]+e[t+1])+e[t+2])+e[t+3]},readInt32:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readInt32: position cannot be less than 0";if(t+4>e.length)throw"bigEndianByteArrayParser.readInt32: attempt to read past end of buffer";return(e[t]<<24)+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3]},readFloat:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readFloat: position cannot be less than 0";if(t+4>e.length)throw"bigEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[3]=e[t],r[2]=e[t+1],r[1]=e[t+2],r[0]=e[t+3],new Float32Array(r.buffer)[0]},readDouble:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readDouble: position cannot be less than 0";if(t+8>e.length)throw"bigEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[7]=e[t],r[6]=e[t+1],r[5]=e[t+2],r[4]=e[t+3],r[3]=e[t+4],r[2]=e[t+5],r[1]=e[t+6],r[0]=e[t+7],new Float64Array(r.buffer)[0]}}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if(void 0===e)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'byteStream'";if(void 0===t)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'element'";t.items=[],4294967295===t.length?function(e,t,r){for(;e.position+4<=e.byteArray.length;){var n=(0,o.default)(e);if(e.seek(-4),"xfffee0dd"===n)return t.length=e.position-t.dataOffset,e.seek(8),t;var i=f(e,r);t.items.push(i)}r.push("eof encountered before finding sequence delimitation tag while reading sequence of undefined length"),t.length=e.position-t.dataOffset}(e,t,r):function(e,t,r){var n=t.dataOffset+t.length;for(;e.positione.byteArray.length-e.position&&(f=e.byteArray.length-e.position),t.fragments.push({offset:e.position-s-8,position:e.position,length:f}),e.seek(f),void(t.length=e.position-t.dataOffset);t.fragments.push({offset:e.position-s-8,position:e.position,length:f}),e.seek(f)}r&&r.push("pixel data element "+t.tag+" missing sequence delimiter tag xfffee0dd")};var n,i=r(4),a=(n=i)&&n.__esModule?n:{default:n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(void 0===e||void 0===t)throw"dicomParser.explicitElementToString: missing required parameters";if(void 0===t.vr)throw"dicomParser.explicitElementToString: cannot convert implicit element to string";var r,i=t.vr,a=t.tag;function o(t,r){for(var n="",i=0;i= 0";if(0!==t.basicOffsetTable.length)return(0,n.default)(e,t,r);return(0,i.default)(e,t,0,t.fragments.length)};var n=a(r(27)),i=a(r(17));function a(e){return e&&e.__esModule?e:{default:e}}var o=!1},function(e,t,r){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(e,t,r){"use strict";var n=r(8),i=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],a=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],o=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],s=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(e,t,r,l,f,u,h,d){var c,p,g,m,_,y,b,v,w,E=d.bits,x=0,S=0,k=0,A=0,P=0,T=0,D=0,O=0,I=0,R=0,L=null,F=0,B=new n.Buf16(16),U=new n.Buf16(16),M=null,N=0;for(x=0;x<=15;x++)B[x]=0;for(S=0;S=1&&0===B[A];A--);if(P>A&&(P=A),0===A)return f[u++]=20971520,f[u++]=20971520,d.bits=1,0;for(k=1;k0&&(0===e||1!==A))return-1;for(U[1]=0,x=1;x<15;x++)U[x+1]=U[x]+B[x];for(S=0;S852||2===e&&I>592)return 1;for(;;){b=x-D,h[S]y?(v=M[N+h[S]],w=L[F+h[S]]):(v=96,w=0),c=1<>D)+(p-=c)]=b<<24|v<<16|w|0}while(0!==p);for(c=1<>=1;if(0!==c?(R&=c-1,R+=c):R=0,S++,0==--B[x]){if(x===A)break;x=t[r+h[S]]}if(x>P&&(R&m)!==g){for(0===D&&(D=P),_+=k,O=1<<(T=x-D);T+D852||2===e&&I>592)return 1;f[g=R&m]=P<<24|T<<16|_-u|0}}return 0!==R&&(f[_+R]=x-D<<24|64<<16|0),d.bits=P,0}},function(e,t,r){"use strict";e.exports=function(e,t){var r,n,i,a,o,s,l,f,u,h,d,c,p,g,m,_,y,b,v,w,E,x,S,k,A;r=e.state,n=e.next_in,k=e.input,i=n+(e.avail_in-5),a=e.next_out,A=e.output,o=a-(t-e.avail_out),s=a+(e.avail_out-257),l=r.dmax,f=r.wsize,u=r.whave,h=r.wnext,d=r.window,c=r.hold,p=r.bits,g=r.lencode,m=r.distcode,_=(1<>>=v=b>>>24,p-=v,0===(v=b>>>16&255))A[a++]=65535&b;else{if(!(16&v)){if(0==(64&v)){b=g[(65535&b)+(c&(1<>>=v,p-=v),p<15&&(c+=k[n++]<>>=v=b>>>24,p-=v,!(16&(v=b>>>16&255))){if(0==(64&v)){b=m[(65535&b)+(c&(1<l){e.msg="invalid distance too far back",r.mode=30;break e}if(c>>>=v,p-=v,E>(v=a-o)){if((v=E-v)>u&&r.sane){e.msg="invalid distance too far back",r.mode=30;break e}if(x=0,S=d,0===h){if(x+=f-v,v2;)A[a++]=S[x++],A[a++]=S[x++],A[a++]=S[x++],w-=3;w&&(A[a++]=S[x++],w>1&&(A[a++]=S[x++]))}else{x=a-E;do{A[a++]=A[x++],A[a++]=A[x++],A[a++]=A[x++],w-=3}while(w>2);w&&(A[a++]=A[x++],w>1&&(A[a++]=A[x++]))}break}}break}}while(n>3,c&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=a,e.avail_in=n>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function ie(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=E,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new n.Buf32(ee),t.distcode=t.distdyn=new n.Buf32(te),t.sane=1,t.back=-1,p):_}function ae(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,ie(e)):_}function oe(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?_:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,ae(e))):_}function se(e,t){var r,i;return e?(i=new function(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0},e.state=i,i.window=null,(r=oe(e,t))!==p&&(e.state=null),r):_}var le,fe,ue=!0;function he(e){if(ue){var t;for(le=new n.Buf32(512),fe=new n.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(s(f,e.lens,0,288,le,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;s(u,e.lens,0,32,fe,0,e.work,{bits:5}),ue=!1}e.lencode=le,e.lenbits=9,e.distcode=fe,e.distbits=5}function de(e,t,r,i){var a,o=e.state;return null===o.window&&(o.wsize=1<=o.wsize?(n.arraySet(o.window,t,r-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):((a=o.wsize-o.wnext)>i&&(a=i),n.arraySet(o.window,t,r-i,a,o.wnext),(i-=a)?(n.arraySet(o.window,t,r-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=a,o.wnext===o.wsize&&(o.wnext=0),o.whave>>8&255,r.check=a(r.check,Pe,2,0),se=0,le=0,r.mode=x;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&se)<<8)+(se>>8))%31){e.msg="incorrect header check",r.mode=X;break}if((15&se)!==w){e.msg="unknown compression method",r.mode=X;break}if(le-=4,Ee=8+(15&(se>>>=4)),0===r.wbits)r.wbits=Ee;else if(Ee>r.wbits){e.msg="invalid window size",r.mode=X;break}r.dmax=1<>8&1),512&r.flags&&(Pe[0]=255&se,Pe[1]=se>>>8&255,r.check=a(r.check,Pe,2,0)),se=0,le=0,r.mode=S;case S:for(;le<32;){if(0===ae)break e;ae--,se+=ee[re++]<>>8&255,Pe[2]=se>>>16&255,Pe[3]=se>>>24&255,r.check=a(r.check,Pe,4,0)),se=0,le=0,r.mode=k;case k:for(;le<16;){if(0===ae)break e;ae--,se+=ee[re++]<>8),512&r.flags&&(Pe[0]=255&se,Pe[1]=se>>>8&255,r.check=a(r.check,Pe,2,0)),se=0,le=0,r.mode=A;case A:if(1024&r.flags){for(;le<16;){if(0===ae)break e;ae--,se+=ee[re++]<>>8&255,r.check=a(r.check,Pe,2,0)),se=0,le=0}else r.head&&(r.head.extra=null);r.mode=P;case P:if(1024&r.flags&&((ce=r.length)>ae&&(ce=ae),ce&&(r.head&&(Ee=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),n.arraySet(r.head.extra,ee,re,ce,Ee)),512&r.flags&&(r.check=a(r.check,ee,ce,re)),ae-=ce,re+=ce,r.length-=ce),r.length))break e;r.length=0,r.mode=T;case T:if(2048&r.flags){if(0===ae)break e;ce=0;do{Ee=ee[re+ce++],r.head&&Ee&&r.length<65536&&(r.head.name+=String.fromCharCode(Ee))}while(Ee&&ce>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=L;break;case I:for(;le<32;){if(0===ae)break e;ae--,se+=ee[re++]<>>=7&le,le-=7&le,r.mode=V;break}for(;le<3;){if(0===ae)break e;ae--,se+=ee[re++]<>>=1)){case 0:r.mode=B;break;case 1:if(he(r),r.mode=j,t===c){se>>>=2,le-=2;break e}break;case 2:r.mode=N;break;case 3:e.msg="invalid block type",r.mode=X}se>>>=2,le-=2;break;case B:for(se>>>=7&le,le-=7≤le<32;){if(0===ae)break e;ae--,se+=ee[re++]<>>16^65535)){e.msg="invalid stored block lengths",r.mode=X;break}if(r.length=65535&se,se=0,le=0,r.mode=U,t===c)break e;case U:r.mode=M;case M:if(ce=r.length){if(ce>ae&&(ce=ae),ce>oe&&(ce=oe),0===ce)break e;n.arraySet(te,ee,re,ce,ie),ae-=ce,re+=ce,oe-=ce,ie+=ce,r.length-=ce;break}r.mode=L;break;case N:for(;le<14;){if(0===ae)break e;ae--,se+=ee[re++]<>>=5,le-=5,r.ndist=1+(31&se),se>>>=5,le-=5,r.ncode=4+(15&se),se>>>=4,le-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=X;break}r.have=0,r.mode=z;case z:for(;r.have>>=3,le-=3}for(;r.have<19;)r.lens[Te[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,Se={bits:r.lenbits},xe=s(l,r.lens,0,19,r.lencode,0,r.work,Se),r.lenbits=Se.bits,xe){e.msg="invalid code lengths set",r.mode=X;break}r.have=0,r.mode=Z;case Z:for(;r.have>>16&255,ye=65535&Ae,!((me=Ae>>>24)<=le);){if(0===ae)break e;ae--,se+=ee[re++]<>>=me,le-=me,r.lens[r.have++]=ye;else{if(16===ye){for(ke=me+2;le>>=me,le-=me,0===r.have){e.msg="invalid bit length repeat",r.mode=X;break}Ee=r.lens[r.have-1],ce=3+(3&se),se>>>=2,le-=2}else if(17===ye){for(ke=me+3;le>>=me)),se>>>=3,le-=3}else{for(ke=me+7;le>>=me)),se>>>=7,le-=7}if(r.have+ce>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=X;break}for(;ce--;)r.lens[r.have++]=Ee}}if(r.mode===X)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=X;break}if(r.lenbits=9,Se={bits:r.lenbits},xe=s(f,r.lens,0,r.nlen,r.lencode,0,r.work,Se),r.lenbits=Se.bits,xe){e.msg="invalid literal/lengths set",r.mode=X;break}if(r.distbits=6,r.distcode=r.distdyn,Se={bits:r.distbits},xe=s(u,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,Se),r.distbits=Se.bits,xe){e.msg="invalid distances set",r.mode=X;break}if(r.mode=j,t===c)break e;case j:r.mode=C;case C:if(ae>=6&&oe>=258){e.next_out=ie,e.avail_out=oe,e.next_in=re,e.avail_in=ae,r.hold=se,r.bits=le,o(e,ue),ie=e.next_out,te=e.output,oe=e.avail_out,re=e.next_in,ee=e.input,ae=e.avail_in,se=r.hold,le=r.bits,r.mode===L&&(r.back=-1);break}for(r.back=0;_e=(Ae=r.lencode[se&(1<>>16&255,ye=65535&Ae,!((me=Ae>>>24)<=le);){if(0===ae)break e;ae--,se+=ee[re++]<>be)])>>>16&255,ye=65535&Ae,!(be+(me=Ae>>>24)<=le);){if(0===ae)break e;ae--,se+=ee[re++]<>>=be,le-=be,r.back+=be}if(se>>>=me,le-=me,r.back+=me,r.length=ye,0===_e){r.mode=G;break}if(32&_e){r.back=-1,r.mode=L;break}if(64&_e){e.msg="invalid literal/length code",r.mode=X;break}r.extra=15&_e,r.mode=q;case q:if(r.extra){for(ke=r.extra;le>>=r.extra,le-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=Y;case Y:for(;_e=(Ae=r.distcode[se&(1<>>16&255,ye=65535&Ae,!((me=Ae>>>24)<=le);){if(0===ae)break e;ae--,se+=ee[re++]<>be)])>>>16&255,ye=65535&Ae,!(be+(me=Ae>>>24)<=le);){if(0===ae)break e;ae--,se+=ee[re++]<>>=be,le-=be,r.back+=be}if(se>>>=me,le-=me,r.back+=me,64&_e){e.msg="invalid distance code",r.mode=X;break}r.offset=ye,r.extra=15&_e,r.mode=W;case W:if(r.extra){for(ke=r.extra;le>>=r.extra,le-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=X;break}r.mode=H;case H:if(0===oe)break e;if(ce=ue-oe,r.offset>ce){if((ce=r.offset-ce)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=X;break}ce>r.wnext?(ce-=r.wnext,pe=r.wsize-ce):pe=r.wnext-ce,ce>r.length&&(ce=r.length),ge=r.window}else ge=te,pe=ie-r.offset,ce=r.length;ce>oe&&(ce=oe),oe-=ce,r.length-=ce;do{te[ie++]=ge[pe++]}while(--ce);0===r.length&&(r.mode=C);break;case G:if(0===oe)break e;te[ie++]=r.length,oe--,r.mode=C;break;case V:if(r.wrap){for(;le<32;){if(0===ae)break e;ae--,se|=ee[re++]<=0;)e[t]=0}var f=0,u=1,h=2,d=29,c=256,p=c+1+d,g=30,m=19,_=2*p+1,y=15,b=16,v=7,w=256,E=16,x=17,S=18,k=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],A=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],P=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],T=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],D=new Array(2*(p+2));l(D);var O=new Array(2*g);l(O);var I=new Array(512);l(I);var R=new Array(256);l(R);var L=new Array(d);l(L);var F,B,U,M=new Array(g);function N(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function z(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Z(e){return e<256?I[e]:I[256+(e>>>7)]}function j(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function C(e,t,r){e.bi_valid>b-r?(e.bi_buf|=t<>b-e.bi_valid,e.bi_valid+=r-b):(e.bi_buf|=t<>>=1,r<<=1}while(--t>0);return r>>>1}function W(e,t,r){var n,i,a=new Array(y+1),o=0;for(n=1;n<=y;n++)a[n]=o=o+r[n-1]<<1;for(i=0;i<=t;i++){var s=e[2*i+1];0!==s&&(e[2*i]=Y(a[s]++,s))}}function H(e){var t;for(t=0;t8?j(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function V(e,t,r,n){var i=2*t,a=2*r;return e[i]>1;r>=1;r--)J(e,a,r);i=l;do{r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],J(e,a,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,a[2*i]=a[2*r]+a[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,a[2*r+1]=a[2*n+1]=i,e.heap[1]=i++,J(e,a,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,a,o,s,l=t.dyn_tree,f=t.max_code,u=t.stat_desc.static_tree,h=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,c=t.stat_desc.extra_base,p=t.stat_desc.max_length,g=0;for(a=0;a<=y;a++)e.bl_count[a]=0;for(l[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)(a=l[2*l[2*(n=e.heap[r])+1]+1]+1)>p&&(a=p,g++),l[2*n+1]=a,n>f||(e.bl_count[a]++,o=0,n>=c&&(o=d[n-c]),s=l[2*n],e.opt_len+=s*(a+o),h&&(e.static_len+=s*(u[2*n+1]+o)));if(0!==g){do{for(a=p-1;0===e.bl_count[a];)a--;e.bl_count[a]--,e.bl_count[a+1]+=2,e.bl_count[p]--,g-=2}while(g>0);for(a=p;0!==a;a--)for(n=e.bl_count[a];0!==n;)(i=e.heap[--r])>f||(l[2*i+1]!==a&&(e.opt_len+=(a-l[2*i+1])*l[2*i],l[2*i+1]=a),n--)}}(e,t),W(a,f,e.bl_count)}function $(e,t,r){var n,i,a=-1,o=t[1],s=0,l=7,f=4;for(0===o&&(l=138,f=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=o,o=t[2*(n+1)+1],++s>=7;n0?(e.strm.data_type===s&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return a;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return o;for(t=32;t=3&&0===e.bl_tree[2*T[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),l=e.opt_len+3+7>>>3,(f=e.static_len+3+7>>>3)<=l&&(l=f)):l=f=r+5,r+4<=l&&-1!==t?te(e,t,r,n):e.strategy===i||f===l?(C(e,(u<<1)+(n?1:0),3),K(e,D,O)):(C(e,(h<<1)+(n?1:0),3),function(e,t,r,n){var i;for(C(e,t-257,5),C(e,r-1,5),C(e,n-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(R[r]+c+1)]++,e.dyn_dtree[2*Z(t)]++),e.last_lit===e.lit_bufsize-1},t._tr_align=function(e){C(e,u<<1,3),q(e,w,D),function(e){16===e.bi_valid?(j(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},function(e,t,r){"use strict";var n,i=r(8),a=r(50),o=r(29),s=r(28),l=r(49),f=0,u=1,h=3,d=4,c=5,p=0,g=1,m=-2,_=-3,y=-5,b=-1,v=1,w=2,E=3,x=4,S=0,k=2,A=8,P=9,T=15,D=8,O=286,I=30,R=19,L=2*O+1,F=15,B=3,U=258,M=U+B+1,N=32,z=42,Z=69,j=73,C=91,q=103,Y=113,W=666,H=1,G=2,V=3,J=4,K=3;function X(e,t){return e.msg=l[t],t}function $(e){return(e<<1)-(e>4?9:0)}function Q(e){for(var t=e.length;--t>=0;)e[t]=0}function ee(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(i.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function te(e,t){a._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ee(e.strm)}function re(e,t){e.pending_buf[e.pending++]=t}function ne(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function ie(e,t){var r,n,i=e.max_chain_length,a=e.strstart,o=e.prev_length,s=e.nice_match,l=e.strstart>e.w_size-M?e.strstart-(e.w_size-M):0,f=e.window,u=e.w_mask,h=e.prev,d=e.strstart+U,c=f[a+o-1],p=f[a+o];e.prev_length>=e.good_match&&(i>>=2),s>e.lookahead&&(s=e.lookahead);do{if(f[(r=t)+o]===p&&f[r+o-1]===c&&f[r]===f[a]&&f[++r]===f[a+1]){a+=2,r++;do{}while(f[++a]===f[++r]&&f[++a]===f[++r]&&f[++a]===f[++r]&&f[++a]===f[++r]&&f[++a]===f[++r]&&f[++a]===f[++r]&&f[++a]===f[++r]&&f[++a]===f[++r]&&ao){if(e.match_start=t,o=n,n>=s)break;c=f[a+o-1],p=f[a+o]}}}while((t=h[t&u])>l&&0!=--i);return o<=e.lookahead?o:e.lookahead}function ae(e){var t,r,n,a,l,f,u,h,d,c,p=e.w_size;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=p+(p-M)){i.arraySet(e.window,e.window,p,p,0),e.match_start-=p,e.strstart-=p,e.block_start-=p,t=r=e.hash_size;do{n=e.head[--t],e.head[t]=n>=p?n-p:0}while(--r);t=r=p;do{n=e.prev[--t],e.prev[t]=n>=p?n-p:0}while(--r);a+=p}if(0===e.strm.avail_in)break;if(f=e.strm,u=e.window,h=e.strstart+e.lookahead,d=a,c=void 0,(c=f.avail_in)>d&&(c=d),r=0===c?0:(f.avail_in-=c,i.arraySet(u,f.input,f.next_in,c,h),1===f.state.wrap?f.adler=o(f.adler,u,c,h):2===f.state.wrap&&(f.adler=s(f.adler,u,c,h)),f.next_in+=c,f.total_in+=c,c),e.lookahead+=r,e.lookahead+e.insert>=B)for(l=e.strstart-e.insert,e.ins_h=e.window[l],e.ins_h=(e.ins_h<=B&&(e.ins_h=(e.ins_h<=B)if(n=a._tr_tally(e,e.strstart-e.match_start,e.match_length-B),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=B){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<=B&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=B-1)),e.prev_length>=B&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-B,n=a._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-B),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=(e.ins_h<15&&(s=2,n-=16),a<1||a>P||r!==A||n<8||n>15||t<0||t>9||o<0||o>x)return X(e,m);8===n&&(n=9);var l=new function(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=A,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(2*L),this.dyn_dtree=new i.Buf16(2*(2*I+1)),this.bl_tree=new i.Buf16(2*(2*R+1)),Q(this.dyn_ltree),Q(this.dyn_dtree),Q(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(F+1),this.heap=new i.Buf16(2*O+1),Q(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(2*O+1),Q(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0};return e.state=l,l.strm=e,l.wrap=s,l.gzhead=null,l.w_bits=n,l.w_size=1<e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(ae(e),0===e.lookahead&&t===f)return H;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,te(e,!1),0===e.strm.avail_out))return H;if(e.strstart-e.block_start>=e.w_size-M&&(te(e,!1),0===e.strm.avail_out))return H}return e.insert=0,t===d?(te(e,!0),0===e.strm.avail_out?V:J):(e.strstart>e.block_start&&(te(e,!1),e.strm.avail_out),H)}),new le(4,4,8,4,oe),new le(4,5,16,8,oe),new le(4,6,32,32,oe),new le(4,4,16,16,se),new le(8,16,32,32,se),new le(8,16,128,128,se),new le(8,32,128,256,se),new le(32,128,258,1024,se),new le(32,258,258,4096,se)],t.deflateInit=function(e,t){return he(e,t,A,T,D,S)},t.deflateInit2=he,t.deflateReset=ue,t.deflateResetKeep=fe,t.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?m:(e.state.gzhead=t,p):m},t.deflate=function(e,t){var r,i,o,l;if(!e||!e.state||t>c||t<0)return e?X(e,m):m;if(i=e.state,!e.output||!e.input&&0!==e.avail_in||i.status===W&&t!==d)return X(e,0===e.avail_out?y:m);if(i.strm=e,r=i.last_flush,i.last_flush=t,i.status===z)if(2===i.wrap)e.adler=0,re(i,31),re(i,139),re(i,8),i.gzhead?(re(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),re(i,255&i.gzhead.time),re(i,i.gzhead.time>>8&255),re(i,i.gzhead.time>>16&255),re(i,i.gzhead.time>>24&255),re(i,9===i.level?2:i.strategy>=w||i.level<2?4:0),re(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(re(i,255&i.gzhead.extra.length),re(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=s(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=Z):(re(i,0),re(i,0),re(i,0),re(i,0),re(i,0),re(i,9===i.level?2:i.strategy>=w||i.level<2?4:0),re(i,K),i.status=Y);else{var _=A+(i.w_bits-8<<4)<<8;_|=(i.strategy>=w||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(_|=N),_+=31-_%31,i.status=Y,ne(i,_),0!==i.strstart&&(ne(i,e.adler>>>16),ne(i,65535&e.adler)),e.adler=1}if(i.status===Z)if(i.gzhead.extra){for(o=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>o&&(e.adler=s(e.adler,i.pending_buf,i.pending-o,o)),ee(e),o=i.pending,i.pending!==i.pending_buf_size));)re(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>o&&(e.adler=s(e.adler,i.pending_buf,i.pending-o,o)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=j)}else i.status=j;if(i.status===j)if(i.gzhead.name){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(e.adler=s(e.adler,i.pending_buf,i.pending-o,o)),ee(e),o=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindexo&&(e.adler=s(e.adler,i.pending_buf,i.pending-o,o)),0===l&&(i.gzindex=0,i.status=C)}else i.status=C;if(i.status===C)if(i.gzhead.comment){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(e.adler=s(e.adler,i.pending_buf,i.pending-o,o)),ee(e),o=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindexo&&(e.adler=s(e.adler,i.pending_buf,i.pending-o,o)),0===l&&(i.status=q)}else i.status=q;if(i.status===q&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&ee(e),i.pending+2<=i.pending_buf_size&&(re(i,255&e.adler),re(i,e.adler>>8&255),e.adler=0,i.status=Y)):i.status=Y),0!==i.pending){if(ee(e),0===e.avail_out)return i.last_flush=-1,p}else if(0===e.avail_in&&$(t)<=$(r)&&t!==d)return X(e,y);if(i.status===W&&0!==e.avail_in)return X(e,y);if(0!==e.avail_in||0!==i.lookahead||t!==f&&i.status!==W){var b=i.strategy===w?function(e,t){for(var r;;){if(0===e.lookahead&&(ae(e),0===e.lookahead)){if(t===f)return H;break}if(e.match_length=0,r=a._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(te(e,!1),0===e.strm.avail_out))return H}return e.insert=0,t===d?(te(e,!0),0===e.strm.avail_out?V:J):e.last_lit&&(te(e,!1),0===e.strm.avail_out)?H:G}(i,t):i.strategy===E?function(e,t){for(var r,n,i,o,s=e.window;;){if(e.lookahead<=U){if(ae(e),e.lookahead<=U&&t===f)return H;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=B&&e.strstart>0&&(n=s[i=e.strstart-1])===s[++i]&&n===s[++i]&&n===s[++i]){o=e.strstart+U;do{}while(n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&ie.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=B?(r=a._tr_tally(e,1,e.match_length-B),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=a._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(te(e,!1),0===e.strm.avail_out))return H}return e.insert=0,t===d?(te(e,!0),0===e.strm.avail_out?V:J):e.last_lit&&(te(e,!1),0===e.strm.avail_out)?H:G}(i,t):n[i.level].func(i,t);if(b!==V&&b!==J||(i.status=W),b===H||b===V)return 0===e.avail_out&&(i.last_flush=-1),p;if(b===G&&(t===u?a._tr_align(i):t!==c&&(a._tr_stored_block(i,0,0,!1),t===h&&(Q(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),ee(e),0===e.avail_out))return i.last_flush=-1,p}return t!==d?p:i.wrap<=0?g:(2===i.wrap?(re(i,255&e.adler),re(i,e.adler>>8&255),re(i,e.adler>>16&255),re(i,e.adler>>24&255),re(i,255&e.total_in),re(i,e.total_in>>8&255),re(i,e.total_in>>16&255),re(i,e.total_in>>24&255)):(ne(i,e.adler>>>16),ne(i,65535&e.adler)),ee(e),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?p:g)},t.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==z&&t!==Z&&t!==j&&t!==C&&t!==q&&t!==Y&&t!==W?X(e,m):(e.state=null,t===Y?X(e,_):p):m},t.deflateSetDictionary=function(e,t){var r,n,a,s,l,f,u,h,d=t.length;if(!e||!e.state)return m;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==z||r.lookahead)return m;for(1===s&&(e.adler=o(e.adler,t,d,0)),r.wrap=0,d>=r.w_size&&(0===s&&(Q(r.head),r.strstart=0,r.block_start=0,r.insert=0),h=new i.Buf8(r.w_size),i.arraySet(h,t,d-r.w_size,r.w_size,0),t=h,d=r.w_size),l=e.avail_in,f=e.next_in,u=e.input,e.avail_in=d,e.next_in=0,e.input=t,ae(r);r.lookahead>=B;){n=r.strstart,a=r.lookahead-(B-1);do{r.ins_h=(r.ins_h<t.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=e,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}u.prototype.close=function(){this.write_in_progress?this.pending_close=!0:(this.pending_close=!1,i(this.init_done,"close before init"),i(this.mode<=t.UNZIP),this.mode===t.DEFLATE||this.mode===t.GZIP||this.mode===t.DEFLATERAW?o.deflateEnd(this.strm):this.mode!==t.INFLATE&&this.mode!==t.GUNZIP&&this.mode!==t.INFLATERAW&&this.mode!==t.UNZIP||s.inflateEnd(this.strm),this.mode=t.NONE,this.dictionary=null)},u.prototype.write=function(e,t,r,n,i,a,o){return this._write(!0,e,t,r,n,i,a,o)},u.prototype.writeSync=function(e,t,r,n,i,a,o){return this._write(!1,e,t,r,n,i,a,o)},u.prototype._write=function(r,a,o,s,l,f,u,h){if(i.equal(arguments.length,8),i(this.init_done,"write before init"),i(this.mode!==t.NONE,"already finalized"),i.equal(!1,this.write_in_progress,"write already in progress"),i.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,i.equal(!1,void 0===a,"must provide flush value"),this.write_in_progress=!0,a!==t.Z_NO_FLUSH&&a!==t.Z_PARTIAL_FLUSH&&a!==t.Z_SYNC_FLUSH&&a!==t.Z_FULL_FLUSH&&a!==t.Z_FINISH&&a!==t.Z_BLOCK)throw new Error("Invalid flush value");if(null==o&&(o=e.alloc(0),l=0,s=0),this.strm.avail_in=l,this.strm.input=o,this.strm.next_in=s,this.strm.avail_out=h,this.strm.output=f,this.strm.next_out=u,this.flush=a,!r)return this._process(),this._checkError()?this._afterSync():void 0;var d=this;return n.nextTick(function(){d._process(),d._after()}),this},u.prototype._afterSync=function(){var e=this.strm.avail_out,t=this.strm.avail_in;return this.write_in_progress=!1,[t,e]},u.prototype._process=function(){var e=null;switch(this.mode){case t.DEFLATE:case t.GZIP:case t.DEFLATERAW:this.err=o.deflate(this.strm,this.flush);break;case t.UNZIP:switch(this.strm.avail_in>0&&(e=this.strm.next_in),this.gzip_id_bytes_read){case 0:if(null===e)break;if(31!==this.strm.input[e]){this.mode=t.INFLATE;break}if(this.gzip_id_bytes_read=1,e++,1===this.strm.avail_in)break;case 1:if(null===e)break;139===this.strm.input[e]?(this.gzip_id_bytes_read=2,this.mode=t.GUNZIP):this.mode=t.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case t.INFLATE:case t.GUNZIP:case t.INFLATERAW:for(this.err=s.inflate(this.strm,this.flush),this.err===t.Z_NEED_DICT&&this.dictionary&&(this.err=s.inflateSetDictionary(this.strm,this.dictionary),this.err===t.Z_OK?this.err=s.inflate(this.strm,this.flush):this.err===t.Z_DATA_ERROR&&(this.err=t.Z_NEED_DICT));this.strm.avail_in>0&&this.mode===t.GUNZIP&&this.err===t.Z_STREAM_END&&0!==this.strm.next_in[0];)this.reset(),this.err=s.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},u.prototype._checkError=function(){switch(this.err){case t.Z_OK:case t.Z_BUF_ERROR:if(0!==this.strm.avail_out&&this.flush===t.Z_FINISH)return this._error("unexpected end of file"),!1;break;case t.Z_STREAM_END:break;case t.Z_NEED_DICT:return null==this.dictionary?this._error("Missing dictionary"):this._error("Bad dictionary"),!1;default:return this._error("Zlib error"),!1}return!0},u.prototype._after=function(){if(this._checkError()){var e=this.strm.avail_out,t=this.strm.avail_in;this.write_in_progress=!1,this.callback(t,e),this.pending_close&&this.close()}},u.prototype._error=function(e){this.strm.msg&&(e=this.strm.msg),this.onerror(e,this.err),this.write_in_progress=!1,this.pending_close&&this.close()},u.prototype.init=function(e,r,n,a,o){i(4===arguments.length||5===arguments.length,"init(windowBits, level, memLevel, strategy, [dictionary])"),i(e>=8&&e<=15,"invalid windowBits"),i(r>=-1&&r<=9,"invalid compression level"),i(n>=1&&n<=9,"invalid memlevel"),i(a===t.Z_FILTERED||a===t.Z_HUFFMAN_ONLY||a===t.Z_RLE||a===t.Z_FIXED||a===t.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(r,e,n,a,o),this._setDictionary()},u.prototype.params=function(){throw new Error("deflateParams Not supported")},u.prototype.reset=function(){this._reset(),this._setDictionary()},u.prototype._init=function(e,r,n,i,l){switch(this.level=e,this.windowBits=r,this.memLevel=n,this.strategy=i,this.flush=t.Z_NO_FLUSH,this.err=t.Z_OK,this.mode!==t.GZIP&&this.mode!==t.GUNZIP||(this.windowBits+=16),this.mode===t.UNZIP&&(this.windowBits+=32),this.mode!==t.DEFLATERAW&&this.mode!==t.INFLATERAW||(this.windowBits=-1*this.windowBits),this.strm=new a,this.mode){case t.DEFLATE:case t.GZIP:case t.DEFLATERAW:this.err=o.deflateInit2(this.strm,this.level,t.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case t.INFLATE:case t.GUNZIP:case t.INFLATERAW:case t.UNZIP:this.err=s.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}this.err!==t.Z_OK&&this._error("Init error"),this.dictionary=l,this.write_in_progress=!1,this.init_done=!0},u.prototype._setDictionary=function(){if(null!=this.dictionary){switch(this.err=t.Z_OK,this.mode){case t.DEFLATE:case t.DEFLATERAW:this.err=o.deflateSetDictionary(this.strm,this.dictionary)}this.err!==t.Z_OK&&this._error("Failed to set dictionary")}},u.prototype._reset=function(){switch(this.err=t.Z_OK,this.mode){case t.DEFLATE:case t.DEFLATERAW:case t.GZIP:this.err=o.deflateReset(this.strm);break;case t.INFLATE:case t.INFLATERAW:case t.GUNZIP:this.err=s.inflateReset(this.strm)}this.err!==t.Z_OK&&this._error("Failed to reset stream")},t.Zlib=u}).call(this,r(1).Buffer,r(3))},function(e,t,r){e.exports=r(19).PassThrough},function(e,t,r){e.exports=r(19).Transform},function(e,t,r){e.exports=r(2)},function(e,t,r){e.exports=r(18)},function(e,t,r){"use strict";e.exports=a;var n=r(32),i=r(6);function a(e){if(!(this instanceof a))return new a(e);n.call(this,e)}i.inherits=r(5),i.inherits(a,n),a.prototype._transform=function(e,t,r){r(null,e)}},function(e,t,r){(function(t){function r(e){try{if(!t.localStorage)return!1}catch(e){return!1}var r=t.localStorage[e];return null!=r&&"true"===String(r).toLowerCase()}e.exports=function(e,t){if(r("noDeprecation"))return e;var n=!1;return function(){if(!n){if(r("throwDeprecation"))throw new Error(t);r("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}}}).call(this,r(0))},function(e,t,r){(function(e,t){!function(e,r){"use strict";if(!e.setImmediate){var n,i,a,o,s,l=1,f={},u=!1,h=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?n=function(e){t.nextTick(function(){p(e)})}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,r=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=r,t}}()?e.MessageChannel?((a=new MessageChannel).port1.onmessage=function(e){p(e.data)},n=function(e){a.port2.postMessage(e)}):h&&"onreadystatechange"in h.createElement("script")?(i=h.documentElement,n=function(e){var t=h.createElement("script");t.onreadystatechange=function(){p(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):n=function(e){setTimeout(p,0,e)}:(o="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(o)&&p(+t.data.slice(o.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),n=function(t){e.postMessage(o+t,"*")}),d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},r(62),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,r(0))},function(e,t){},function(e,t,r){"use strict";var n=r(9).Buffer,i=r(64);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},e.prototype.concat=function(e){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;for(var t,r,i,a=n.allocUnsafe(e>>>0),o=this.head,s=0;o;)t=o.data,r=a,i=s,t.copy(r,i),s+=o.data.length,o=o.next;return a},e}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var e=i.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,r){e.exports=i;var n=r(20).EventEmitter;function i(){n.call(this)}r(5)(i,n),i.Readable=r(19),i.Writable=r(59),i.Duplex=r(58),i.Transform=r(57),i.PassThrough=r(56),i.Stream=i,i.prototype.pipe=function(e,t){var r=this;function i(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function a(){r.readable&&r.resume&&r.resume()}r.on("data",i),e.on("drain",a),e._isStdio||t&&!1===t.end||(r.on("end",s),r.on("close",l));var o=!1;function s(){o||(o=!0,e.end())}function l(){o||(o=!0,"function"==typeof e.destroy&&e.destroy())}function f(e){if(u(),0===n.listenerCount(this,"error"))throw e}function u(){r.removeListener("data",i),e.removeListener("drain",a),r.removeListener("end",s),r.removeListener("close",l),r.removeListener("error",f),e.removeListener("error",f),r.removeListener("end",u),r.removeListener("close",u),e.removeListener("close",u)}return r.on("error",f),e.on("error",f),r.on("end",u),r.on("close",u),e.on("close",u),e.emit("pipe",r),e}},function(e,t,r){"use strict";(function(e){var n=r(1).Buffer,i=r(67).Transform,a=r(55),o=r(30),s=r(31).ok,l=r(1).kMaxLength,f="Cannot create final Buffer. It would be larger than 0x"+l.toString(16)+" bytes";a.Z_MIN_WINDOWBITS=8,a.Z_MAX_WINDOWBITS=15,a.Z_DEFAULT_WINDOWBITS=15,a.Z_MIN_CHUNK=64,a.Z_MAX_CHUNK=1/0,a.Z_DEFAULT_CHUNK=16384,a.Z_MIN_MEMLEVEL=1,a.Z_MAX_MEMLEVEL=9,a.Z_DEFAULT_MEMLEVEL=8,a.Z_MIN_LEVEL=-1,a.Z_MAX_LEVEL=9,a.Z_DEFAULT_LEVEL=a.Z_DEFAULT_COMPRESSION;for(var u=Object.keys(a),h=0;h=l?o=new RangeError(f):t=n.concat(i,a),i=[],e.close(),r(o,t)}e.on("error",function(t){e.removeListener("end",s),e.removeListener("readable",o),r(t)}),e.on("end",s),e.end(t),o()}function y(e,t){if("string"==typeof t&&(t=n.from(t)),!n.isBuffer(t))throw new TypeError("Not a string or buffer");var r=e._finishFlushFlag;return e._processChunk(t,r)}function b(e){if(!(this instanceof b))return new b(e);P.call(this,e,a.DEFLATE)}function v(e){if(!(this instanceof v))return new v(e);P.call(this,e,a.INFLATE)}function w(e){if(!(this instanceof w))return new w(e);P.call(this,e,a.GZIP)}function E(e){if(!(this instanceof E))return new E(e);P.call(this,e,a.GUNZIP)}function x(e){if(!(this instanceof x))return new x(e);P.call(this,e,a.DEFLATERAW)}function S(e){if(!(this instanceof S))return new S(e);P.call(this,e,a.INFLATERAW)}function k(e){if(!(this instanceof k))return new k(e);P.call(this,e,a.UNZIP)}function A(e){return e===a.Z_NO_FLUSH||e===a.Z_PARTIAL_FLUSH||e===a.Z_SYNC_FLUSH||e===a.Z_FULL_FLUSH||e===a.Z_FINISH||e===a.Z_BLOCK}function P(e,r){var o=this;if(this._opts=e=e||{},this._chunkSize=e.chunkSize||t.Z_DEFAULT_CHUNK,i.call(this,e),e.flush&&!A(e.flush))throw new Error("Invalid flush flag: "+e.flush);if(e.finishFlush&&!A(e.finishFlush))throw new Error("Invalid flush flag: "+e.finishFlush);if(this._flushFlag=e.flush||a.Z_NO_FLUSH,this._finishFlushFlag=void 0!==e.finishFlush?e.finishFlush:a.Z_FINISH,e.chunkSize&&(e.chunkSizet.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+e.chunkSize);if(e.windowBits&&(e.windowBitst.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+e.windowBits);if(e.level&&(e.levelt.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+e.level);if(e.memLevel&&(e.memLevelt.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+e.memLevel);if(e.strategy&&e.strategy!=t.Z_FILTERED&&e.strategy!=t.Z_HUFFMAN_ONLY&&e.strategy!=t.Z_RLE&&e.strategy!=t.Z_FIXED&&e.strategy!=t.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+e.strategy);if(e.dictionary&&!n.isBuffer(e.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._handle=new a.Zlib(r);var s=this;this._hadError=!1,this._handle.onerror=function(e,r){T(s),s._hadError=!0;var n=new Error(e);n.errno=r,n.code=t.codes[r],s.emit("error",n)};var l=t.Z_DEFAULT_COMPRESSION;"number"==typeof e.level&&(l=e.level);var f=t.Z_DEFAULT_STRATEGY;"number"==typeof e.strategy&&(f=e.strategy),this._handle.init(e.windowBits||t.Z_DEFAULT_WINDOWBITS,l,e.memLevel||t.Z_DEFAULT_MEMLEVEL,f,e.dictionary),this._buffer=n.allocUnsafe(this._chunkSize),this._offset=0,this._level=l,this._strategy=f,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!o._handle},configurable:!0,enumerable:!0})}function T(t,r){r&&e.nextTick(r),t._handle&&(t._handle.close(),t._handle=null)}function D(e){e.emit("close")}Object.defineProperty(t,"codes",{enumerable:!0,value:Object.freeze(c),writable:!1}),t.Deflate=b,t.Inflate=v,t.Gzip=w,t.Gunzip=E,t.DeflateRaw=x,t.InflateRaw=S,t.Unzip=k,t.createDeflate=function(e){return new b(e)},t.createInflate=function(e){return new v(e)},t.createDeflateRaw=function(e){return new x(e)},t.createInflateRaw=function(e){return new S(e)},t.createGzip=function(e){return new w(e)},t.createGunzip=function(e){return new E(e)},t.createUnzip=function(e){return new k(e)},t.deflate=function(e,t,r){return"function"==typeof t&&(r=t,t={}),_(new b(t),e,r)},t.deflateSync=function(e,t){return y(new b(t),e)},t.gzip=function(e,t,r){return"function"==typeof t&&(r=t,t={}),_(new w(t),e,r)},t.gzipSync=function(e,t){return y(new w(t),e)},t.deflateRaw=function(e,t,r){return"function"==typeof t&&(r=t,t={}),_(new x(t),e,r)},t.deflateRawSync=function(e,t){return y(new x(t),e)},t.unzip=function(e,t,r){return"function"==typeof t&&(r=t,t={}),_(new k(t),e,r)},t.unzipSync=function(e,t){return y(new k(t),e)},t.inflate=function(e,t,r){return"function"==typeof t&&(r=t,t={}),_(new v(t),e,r)},t.inflateSync=function(e,t){return y(new v(t),e)},t.gunzip=function(e,t,r){return"function"==typeof t&&(r=t,t={}),_(new E(t),e,r)},t.gunzipSync=function(e,t){return y(new E(t),e)},t.inflateRaw=function(e,t,r){return"function"==typeof t&&(r=t,t={}),_(new S(t),e,r)},t.inflateRawSync=function(e,t){return y(new S(t),e)},o.inherits(P,i),P.prototype.params=function(r,n,i){if(rt.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+r);if(n!=t.Z_FILTERED&&n!=t.Z_HUFFMAN_ONLY&&n!=t.Z_RLE&&n!=t.Z_FIXED&&n!=t.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+n);if(this._level!==r||this._strategy!==n){var o=this;this.flush(a.Z_SYNC_FLUSH,function(){s(o._handle,"zlib binding closed"),o._handle.params(r,n),o._hadError||(o._level=r,o._strategy=n,i&&i())})}else e.nextTick(i)},P.prototype.reset=function(){return s(this._handle,"zlib binding closed"),this._handle.reset()},P.prototype._flush=function(e){this._transform(n.alloc(0),"",e)},P.prototype.flush=function(t,r){var i=this,o=this._writableState;("function"==typeof t||void 0===t&&!r)&&(r=t,t=a.Z_FULL_FLUSH),o.ended?r&&e.nextTick(r):o.ending?r&&this.once("end",r):o.needDrain?r&&this.once("drain",function(){return i.flush(t,r)}):(this._flushFlag=t,this.write(n.alloc(0),"",r))},P.prototype.close=function(t){T(this,t),e.nextTick(D,this)},P.prototype._transform=function(e,t,r){var i,o=this._writableState,s=(o.ending||o.ended)&&(!e||o.length===e.length);return null===e||n.isBuffer(e)?this._handle?(s?i=this._finishFlushFlag:(i=this._flushFlag,e.length>=o.length&&(this._flushFlag=this._opts.flush||a.Z_NO_FLUSH)),void this._processChunk(e,i,r)):r(new Error("zlib binding closed")):r(new Error("invalid input"))},P.prototype._processChunk=function(e,t,r){var i=e&&e.length,a=this._chunkSize-this._offset,o=0,u=this,h="function"==typeof r;if(!h){var d,c=[],p=0;this.on("error",function(e){d=e}),s(this._handle,"zlib binding closed");do{var g=this._handle.writeSync(t,e,o,i,this._buffer,this._offset,a)}while(!this._hadError&&y(g[0],g[1]));if(this._hadError)throw d;if(p>=l)throw T(this),new RangeError(f);var m=n.concat(c,p);return T(this),m}s(this._handle,"zlib binding closed");var _=this._handle.write(t,e,o,i,this._buffer,this._offset,a);function y(l,f){if(this&&(this.buffer=null,this.callback=null),!u._hadError){var d=a-f;if(s(d>=0,"have should not go down"),d>0){var g=u._buffer.slice(u._offset,u._offset+d);u._offset+=d,h?u.push(g):(c.push(g),p+=g.length)}if((0===f||u._offset>=u._chunkSize)&&(a=u._chunkSize,u._offset=0,u._buffer=n.allocUnsafe(u._chunkSize)),0===f){if(o+=i-l,i=l,!h)return!0;var m=u._handle.write(t,e,o,i,u._buffer,u._offset,u._chunkSize);return m.callback=y,void(m.buffer=e)}if(!h)return!1;r()}}_.buffer=e,_.callback=y},o.inherits(b,P),o.inherits(v,P),o.inherits(w,P),o.inherits(E,P),o.inherits(x,P),o.inherits(S,P),o.inherits(k,P)}).call(this,r(3))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(t,d){if(void 0===t)throw"dicomParser.parseDicom: missing required parameter 'byteArray'";function c(l){var c=function(e){if(void 0===e.elements.x00020010)throw"dicomParser.parseDicom: missing required meta header attribute 0002,0010";var r=e.elements.x00020010;return u.readFixedString(t,r.dataOffset,r.length)}(l),p=function(e){if("1.2.840.10008.1.2"===e)return!1;return!0}(c),g=function(o,l){if("1.2.840.10008.1.2.1.99"===o){if(d&&d.inflater){var u=d.inflater(t,l);return new a.default(s.default,u,0)}if(void 0!==e&&this.module!==e){var h=r(68),c=(0,f.default)(t,l,t.length-l),p=h.inflateRawSync(c),g=(0,n.default)(t,p.length+l);return t.copy(g,0,0,l),p.copy(g,l),new a.default(s.default,g,0)}if("undefined"!=typeof pako){var m=t.slice(l),_=pako.inflateRaw(m),y=(0,n.default)(t,_.length+l);return y.set(t.slice(0,l),0),y.set(_,l),new a.default(s.default,y,0)}throw"dicomParser.parseDicom: no inflater available to handle deflate transfer syntax"}if("1.2.840.10008.1.2.2"===o)return new a.default(i.default,t,l);return new a.default(s.default,t,l)}(c,l.position),m=new o.default(g.byteArrayParser,g.byteArray,{});m.warnings=g.warnings;try{p?h.parseDicomDataSetExplicit(m,g,g.byteArray.length,d):h.parseDicomDataSetImplicit(m,g,g.byteArray.length,d)}catch(e){var _={exception:e,dataSet:m};throw _}return m}return p=(0,l.default)(t,d),g=c(p),function(e,t){for(var r in e.elements)e.elements.hasOwnProperty(r)&&(t.elements[r]=e.elements[r]);return void 0!==e.warnings&&(t.warnings=e.warnings.concat(t.warnings)),t}(p,g);var p,g};var n=c(r(22)),i=c(r(38)),a=c(r(12)),o=c(r(7)),s=c(r(21)),l=c(r(37)),f=c(r(11)),u=d(r(14)),h=d(r(16));function d(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function c(e){return e&&e.__esModule?e:{default:e}}}).call(this,r(69)(e))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="1.8.4"},function(e,t){t.read=function(e,t,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,h=r?i-1:0,d=r?-1:1,c=e[t+h];for(h+=d,a=c&(1<<-u)-1,c>>=-u,u+=s;u>0;a=256*a+e[t+h],h+=d,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=d,u-=8);if(0===a)a=1-f;else{if(a===l)return o?NaN:1/0*(c?-1:1);o+=Math.pow(2,n),a-=f}return(c?-1:1)*o*Math.pow(2,a-n)},t.write=function(e,t,r,n,i,a){var o,s,l,f=8*a-i-1,u=(1<>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,c=n?0:a-1,p=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(t*l-1)*Math.pow(2,i),o+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+c]=255&s,c+=p,s/=256,i-=8);for(o=o<0;e[r+c]=255&o,c+=p,o/=256,f-=8);e[r+c-p]|=128*g}},function(e,t,r){"use strict";t.byteLength=function(e){return 3*e.length/4-f(e)},t.toByteArray=function(e){var t,r,n,o,s,l=e.length;o=f(e),s=new a(3*l/4-o),r=o>0?l-4:l;var u=0;for(t=0;t>16&255,s[u++]=n>>8&255,s[u++]=255&n;2===o?(n=i[e.charCodeAt(t)]<<2|i[e.charCodeAt(t+1)]>>4,s[u++]=255&n):1===o&&(n=i[e.charCodeAt(t)]<<10|i[e.charCodeAt(t+1)]<<4|i[e.charCodeAt(t+2)]>>2,s[u++]=n>>8&255,s[u++]=255&n);return s},t.fromByteArray=function(e){for(var t,r=e.length,i=r%3,a="",o=[],s=0,l=r-i;sl?l:s+16383));1===i?(t=e[r-1],a+=n[t>>2],a+=n[t<<4&63],a+="=="):2===i&&(t=(e[r-2]<<8)+e[r-1],a+=n[t>>10],a+=n[t>>4&63],a+=n[t<<2&63],a+="=");return o.push(a),o.join("")};for(var n=[],i=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=o.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function u(e,t,r){for(var i,a,o=[],s=t;s>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t,r){"use strict";function n(e,t){return 255===e.byteArray[t]&&217===e.byteArray[t+1]}function i(e,t,r){var i=t.fragments[r];return!(!n(e,i.position+i.length-2)&&!n(e,i.position+i.length-3))}function a(e,t,r){for(var n=r;n0&&t<=12&&e>0&&e<=function(e,t){switch(e){case 2:return t%4==0&&t%100||t%400==0?29:28;case 9:case 4:case 6:case 11:return 30;default:return 31}}(t,r)}(i,n,r))throw"invalid DA '"+e+"'";return{year:r,month:n,day:i}}if(t)throw"invalid DA '"+e+"'";return}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(e.length>=2){var r=parseInt(e.substring(0,2),10),n=e.length>=4?parseInt(e.substring(2,4),10):void 0,i=e.length>=6?parseInt(e.substring(4,6),10):void 0,a=e.length>=8?e.substring(7,13):void 0,o=a?parseInt(a,10)*Math.pow(10,6-a.length):void 0;if(t&&(isNaN(r)||void 0!==n&&isNaN(n)||void 0!==i&&isNaN(i)||void 0!==o&&isNaN(o)||r<0||r>23||n&&(n<0||n>59)||i&&(i<0||i>59)||o&&(o<0||o>999999)))throw"invalid TM '"+e+"'";return{hours:r,minutes:n,seconds:i,fractionalSeconds:o}}if(t)throw"invalid TM '"+e+"'";return}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createJPEGBasicOffsetTable=t.explicitDataSetToJS=t.explicitElementToString=t.parseDA=t.parseTM=t.parsePN=t.isPrivateTag=t.isStringVr=void 0;var n=r(26),i=f(r(77)),a=f(r(76)),o=f(r(43)),s=f(r(75)),l=f(r(74));function f(e){return e&&e.__esModule?e:{default:e}}t.isStringVr=n.isStringVr,t.isPrivateTag=n.isPrivateTag,t.parsePN=n.parsePN,t.parseTM=i.default,t.parseDA=a.default,t.explicitElementToString=o.default,t.explicitDataSetToJS=s.default,t.createJPEGBasicOffsetTable=l.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.readTag=t.readSequenceItem=t.readSequenceItemsImplicit=t.readSequenceItemsExplicit=t.readPart10Header=t.readEncapsulatedPixelDataFromFragments=t.readEncapsulatedPixelData=t.readEncapsulatedImageFrame=t.readDicomElementImplicit=t.readDicomElementExplicit=t.parseDicom=t.littleEndianByteArrayParser=t.findItemDelimitationItemAndSetElementLength=t.findEndOfEncapsulatedElement=t.findAndSetUNElementLength=t.DataSet=t.sharedCopy=t.ByteStream=t.bigEndianByteArrayParser=t.version=t.alloc=t.readFixedString=t.parseDicomDataSetImplicit=t.parseDicomDataSetExplicit=t.createJPEGBasicOffsetTable=t.explicitDataSetToJS=t.explicitElementToString=t.parseDA=t.parseTM=t.parsePN=t.isPrivateTag=t.isStringVr=void 0;var n=r(78),i=r(16),a=r(14),o=P(r(22)),s=P(r(71)),l=P(r(38)),f=P(r(12)),u=P(r(11)),h=P(r(7)),d=P(r(41)),c=P(r(42)),p=P(r(23)),g=P(r(21)),m=P(r(70)),_=P(r(15)),y=P(r(24)),b=P(r(27)),v=P(r(44)),w=P(r(17)),E=P(r(37)),x=P(r(40)),S=P(r(25)),k=P(r(13)),A=P(r(4));function P(e){return e&&e.__esModule?e:{default:e}}var T={isStringVr:n.isStringVr,isPrivateTag:n.isPrivateTag,parsePN:n.parsePN,parseTM:n.parseTM,parseDA:n.parseDA,explicitElementToString:n.explicitElementToString,explicitDataSetToJS:n.explicitDataSetToJS,createJPEGBasicOffsetTable:n.createJPEGBasicOffsetTable,parseDicomDataSetExplicit:i.parseDicomDataSetExplicit,parseDicomDataSetImplicit:i.parseDicomDataSetImplicit,readFixedString:a.readFixedString,alloc:o.default,version:s.default,bigEndianByteArrayParser:l.default,ByteStream:f.default,sharedCopy:u.default,DataSet:h.default,findAndSetUNElementLength:d.default,findEndOfEncapsulatedElement:c.default,findItemDelimitationItemAndSetElementLength:p.default,littleEndianByteArrayParser:g.default,parseDicom:m.default,readDicomElementExplicit:_.default,readDicomElementImplicit:y.default,readEncapsulatedImageFrame:b.default,readEncapsulatedPixelData:v.default,readEncapsulatedPixelDataFromFragments:w.default,readPart10Header:E.default,readSequenceItemsExplicit:x.default,readSequenceItemsImplicit:S.default,readSequenceItem:k.default,readTag:A.default};t.isStringVr=n.isStringVr,t.isPrivateTag=n.isPrivateTag,t.parsePN=n.parsePN,t.parseTM=n.parseTM,t.parseDA=n.parseDA,t.explicitElementToString=n.explicitElementToString,t.explicitDataSetToJS=n.explicitDataSetToJS,t.createJPEGBasicOffsetTable=n.createJPEGBasicOffsetTable,t.parseDicomDataSetExplicit=i.parseDicomDataSetExplicit,t.parseDicomDataSetImplicit=i.parseDicomDataSetImplicit,t.readFixedString=a.readFixedString,t.alloc=o.default,t.version=s.default,t.bigEndianByteArrayParser=l.default,t.ByteStream=f.default,t.sharedCopy=u.default,t.DataSet=h.default,t.findAndSetUNElementLength=d.default,t.findEndOfEncapsulatedElement=c.default,t.findItemDelimitationItemAndSetElementLength=p.default,t.littleEndianByteArrayParser=g.default,t.parseDicom=m.default,t.readDicomElementExplicit=_.default,t.readDicomElementImplicit=y.default,t.readEncapsulatedImageFrame=b.default,t.readEncapsulatedPixelData=v.default,t.readEncapsulatedPixelDataFromFragments=w.default,t.readPart10Header=E.default,t.readSequenceItemsExplicit=x.default,t.readSequenceItemsImplicit=S.default,t.readSequenceItem=k.default,t.readTag=A.default,t.default=T}])}); -//# sourceMappingURL=dicomParser.min.js.map \ No newline at end of file +/*! dicom-parser - 1.8.5 - 2021-10-06 | (c) 2017 Chris Hafey | https://github.com/cornerstonejs/dicomParser */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("zlib")):"function"==typeof define&&define.amd?define("dicom-parser",["zlib"],t):"object"==typeof exports?exports["dicom-parser"]=t(require("zlib")):e.dicomParser=t(e.zlib)}(this,function(r){return a=[function(e,t){e.exports=r},function(e,t,s){"use strict";s.r(t),s.d(t,"isStringVr",function(){return d}),s.d(t,"isPrivateTag",function(){return f}),s.d(t,"parsePN",function(){return a}),s.d(t,"parseTM",function(){return n}),s.d(t,"parseDA",function(){return o}),s.d(t,"explicitElementToString",function(){return l}),s.d(t,"explicitDataSetToJS",function(){return u}),s.d(t,"createJPEGBasicOffsetTable",function(){return p}),s.d(t,"parseDicomDataSetExplicit",function(){return q}),s.d(t,"parseDicomDataSetImplicit",function(){return T}),s.d(t,"readFixedString",function(){return b}),s.d(t,"alloc",function(){return k}),s.d(t,"version",function(){return L}),s.d(t,"bigEndianByteArrayParser",function(){return N}),s.d(t,"ByteStream",function(){return J}),s.d(t,"sharedCopy",function(){return j}),s.d(t,"DataSet",function(){return w}),s.d(t,"findAndSetUNElementLength",function(){return y}),s.d(t,"findEndOfEncapsulatedElement",function(){return g}),s.d(t,"findItemDelimitationItemAndSetElementLength",function(){return x}),s.d(t,"littleEndianByteArrayParser",function(){return M}),s.d(t,"parseDicom",function(){return z}),s.d(t,"readDicomElementExplicit",function(){return B}),s.d(t,"readDicomElementImplicit",function(){return A}),s.d(t,"readEncapsulatedImageFrame",function(){return V}),s.d(t,"readEncapsulatedPixelData",function(){return $}),s.d(t,"readEncapsulatedPixelDataFromFragments",function(){return _}),s.d(t,"readPart10Header",function(){return G}),s.d(t,"readSequenceItemsExplicit",function(){return I}),s.d(t,"readSequenceItemsImplicit",function(){return F}),s.d(t,"readSequenceItem",function(){return S}),s.d(t,"readTag",function(){return h});var r={AE:!0,AS:!0,AT:!1,CS:!0,DA:!0,DS:!0,DT:!0,FL:!1,FD:!1,IS:!0,LO:!0,LT:!0,OB:!1,OD:!1,OF:!1,OW:!1,PN:!0,SH:!0,SL:!1,SQ:!1,SS:!1,ST:!0,TM:!0,UI:!0,UL:!1,UN:void 0,UR:!0,US:!1,UT:!0},d=function(e){return r[e]},f=function(e){return parseInt(e[4],10)%2==1},a=function(e){if(void 0!==e){e=e.split("^");return{familyName:e[0],givenName:e[1],middleName:e[2],prefix:e[3],suffix:e[4]}}};function n(e,t){if(2<=e.length){var r=parseInt(e.substring(0,2),10),a=4<=e.length?parseInt(e.substring(2,4),10):void 0,n=6<=e.length?parseInt(e.substring(4,6),10):void 0,i=8<=e.length?e.substring(7,13):void 0,i=i?parseInt(i,10)*Math.pow(10,6-i.length):void 0;if(t&&(isNaN(r)||void 0!==a&&isNaN(a)||void 0!==n&&isNaN(n)||void 0!==i&&isNaN(i)||r<0||23e.byteArray.length-e.position&&(d=e.byteArray.length-e.position),t.fragments.push({offset:e.position-o-8,position:e.position,length:d}),e.seek(d),void(t.length=e.position-t.dataOffset);t.fragments.push({offset:e.position-o-8,position:e.position,length:d}),e.seek(d)}r&&r.push("pixel data element ".concat(t.tag," missing sequence delimiter tag xfffee0dd"))}function y(e,t){if(void 0===e)throw"dicomParser.findAndSetUNElementLength: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;)if(65534===e.readUint16()){var a=e.readUint16();if(57565===a)return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(t.tag)),void(t.length=e.position-t.dataOffset)}t.length=e.byteArray.length-t.dataOffset,e.seek(e.byteArray.length-e.position)}function b(e,t,r){if(r<0)throw"dicomParser.readFixedString - length cannot be less than 0";if(t+r>e.length)throw"dicomParser.readFixedString: attempt to read past end of buffer";for(var a,n="",i=0;it.byteArray.length)throw"dicomParser.parseDicomDataSetExplicit: invalid value for parameter 'maxP osition'";for(var n=e.elements;t.positionr)throw"dicomParser:parseDicomDataSetExplicit: buffer overrun"}function T(e,t,r){var a=3t.byteArray.length)throw"dicomParser.parseDicomDataSetImplicit: invalid value for parameter 'maxPosition'";for(var n=e.elements;t.positione.length)throw"bigEndianByteArrayParser.readUint16: attempt to read past end of buffer";return(e[t]<<8)+e[t+1]},readInt16:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readInt16: position cannot be less than 0";if(t+2>e.length)throw"bigEndianByteArrayParser.readInt16: attempt to read past end of buffer";t=(e[t]<<8)+e[t+1];return t=32768&t?t-65535-1:t},readUint32:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readUint32: position cannot be less than 0";if(t+4>e.length)throw"bigEndianByteArrayParser.readUint32: attempt to read past end of buffer";return 256*(256*(256*e[t]+e[t+1])+e[t+2])+e[t+3]},readInt32:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readInt32: position cannot be less than 0";if(t+4>e.length)throw"bigEndianByteArrayParser.readInt32: attempt to read past end of buffer";return(e[t]<<24)+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3]},readFloat:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readFloat: position cannot be less than 0";if(t+4>e.length)throw"bigEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[3]=e[t],r[2]=e[t+1],r[1]=e[t+2],r[0]=e[t+3],new Float32Array(r.buffer)[0]},readDouble:function(e,t){if(t<0)throw"bigEndianByteArrayParser.readDouble: position cannot be less than 0";if(t+8>e.length)throw"bigEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[7]=e[t],r[6]=e[t+1],r[5]=e[t+2],r[4]=e[t+3],r[3]=e[t+4],r[2]=e[t+5],r[1]=e[t+6],r[0]=e[t+7],new Float64Array(r.buffer)[0]}};function j(e,t,r){if("undefined"!=typeof Buffer&&e instanceof Buffer)return e.slice(t,t+r);if(e instanceof Uint8Array)return new Uint8Array(e.buffer,e.byteOffset+t,r);throw"dicomParser.from: unknown type for byteArray"}function C(e,t){for(var r=0;r=t.length)throw"dicomParser.ByteStream: parameter 'position' cannot be greater than or equal to 'byteArray' length";this.byteArrayParser=e,this.byteArray=t,this.position=r||0,this.warnings=[]}var e,t,r;return e=a,(t=[{key:"seek",value:function(e){if(this.position+e<0)throw"dicomParser.ByteStream.prototype.seek: cannot seek to position < 0";this.position+=e}},{key:"readByteStream",value:function(e){if(this.position+e>this.byteArray.length)throw"dicomParser.ByteStream.prototype.readByteStream: readByteStream - buffer overread";var t=j(this.byteArray,this.position,e);return this.position+=e,new a(this.byteArrayParser,t)}},{key:"readUint16",value:function(){var e=this.byteArrayParser.readUint16(this.byteArray,this.position);return this.position+=2,e}},{key:"readUint32",value:function(){var e=this.byteArrayParser.readUint32(this.byteArray,this.position);return this.position+=4,e}},{key:"readFixedString",value:function(e){var t=b(this.byteArray,this.position,e);return this.position+=e,t}}])&&C(e.prototype,t),r&&C(e,r),a}(),M={readUint16:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readUint16: position cannot be less than 0";if(t+2>e.length)throw"littleEndianByteArrayParser.readUint16: attempt to read past end of buffer";return e[t]+256*e[t+1]},readInt16:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readInt16: position cannot be less than 0";if(t+2>e.length)throw"littleEndianByteArrayParser.readInt16: attempt to read past end of buffer";t=e[t]+(e[t+1]<<8);return t=32768&t?t-65535-1:t},readUint32:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readUint32: position cannot be less than 0";if(t+4>e.length)throw"littleEndianByteArrayParser.readUint32: attempt to read past end of buffer";return e[t]+256*e[t+1]+256*e[t+2]*256+256*e[t+3]*256*256},readInt32:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readInt32: position cannot be less than 0";if(t+4>e.length)throw"littleEndianByteArrayParser.readInt32: attempt to read past end of buffer";return e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24)},readFloat:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readFloat: position cannot be less than 0";if(t+4>e.length)throw"littleEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[0]=e[t],r[1]=e[t+1],r[2]=e[t+2],r[3]=e[t+3],new Float32Array(r.buffer)[0]},readDouble:function(e,t){if(t<0)throw"littleEndianByteArrayParser.readDouble: position cannot be less than 0";if(t+8>e.length)throw"littleEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[0]=e[t],r[1]=e[t+1],r[2]=e[t+2],r[3]=e[t+3],r[4]=e[t+4],r[5]=e[t+5],r[6]=e[t+6],r[7]=e[t+7],new Float64Array(r.buffer)[0]}};function G(e,t){if(void 0===e)throw"dicomParser.readPart10Header: missing required parameter 'byteArray'";var i=new J(M,e);return function(){!function(){if(i.seek(128),"DICM"!==i.readFixedString(4))throw"dicomParser.readPart10Header: DICM prefix not found at location 132 - this is not a valid DICOM P10 file."}();for(var e=[],t={};i.position= 0";if(r>=t.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be < number of fragments";if(a<1)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'numFragments' must be > 0";if(r+a>t.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragment' + 'numFragments' < number of fragments";var i=new J(e.byteArrayParser,e.byteArray,t.dataOffset),t=S(i);if("xfffee000"!==t.tag)throw"dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000";i.seek(t.length);var o=i.position;if(1===a)return j(i.byteArray,o+n[r].offset+8,n[r].length);for(var t=R(n,r,a),s=k(i.byteArray,t),d=0,f=r;f= 0";if(r>=a.length)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be < basicOffsetTable.length";var i=a[r],i=H(n,i);if(void 0===i)throw"dicomParser.readEncapsulatedImageFrame: unable to find fragment that matches basic offset table entry";return _(e,t,i,Q(r,a,n,i),n)}var W=!1;function $(e,t,r){if(W||(W=!0,console&&console.log&&console.log("WARNING: dicomParser.readEncapsulatedPixelData() has been deprecated")),void 0===e)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'dataSet'";if(void 0===t)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'element'";if(void 0===r)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'frame'";if("x7fe00010"!==t.tag)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to non pixel data tag (expected tag = x7fe00010)";if(!0!==t.encapsulatedPixelData)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(!0!==t.hadUndefinedLength)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===t.fragments)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(r<0)throw"dicomParser.readEncapsulatedPixelData: parameter 'frame' must be >= 0";return 0!==t.basicOffsetTable.length?V(e,t,r):_(e,t,0,t.fragments.length)}t.default={isStringVr:d,isPrivateTag:f,parsePN:a,parseTM:n,parseDA:o,explicitElementToString:l,explicitDataSetToJS:u,createJPEGBasicOffsetTable:p,parseDicomDataSetExplicit:q,parseDicomDataSetImplicit:T,readFixedString:b,alloc:k,version:L,bigEndianByteArrayParser:N,ByteStream:J,sharedCopy:j,DataSet:w,findAndSetUNElementLength:y,findEndOfEncapsulatedElement:g,findItemDelimitationItemAndSetElementLength:x,littleEndianByteArrayParser:M,parseDicom:z,readDicomElementExplicit:B,readDicomElementImplicit:A,readEncapsulatedImageFrame:V,readEncapsulatedPixelData:$,readEncapsulatedPixelDataFromFragments:_,readPart10Header:G,readSequenceItemsExplicit:I,readSequenceItemsImplicit:F,readSequenceItem:S,readTag:h}}],i={},n.m=a,n.c=i,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)n.d(r,a,function(e){return t[e]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1);function n(e){if(i[e])return i[e].exports;var t=i[e]={i:e,l:!1,exports:{}};return a[e].call(t.exports,t,t.exports,n),t.l=!0,t.exports}var a,i}); +//# sourceMappingURL=dicomParser.min.js.map